html { font-size: 16px; }
@media screen and (max-width: 640px)                        { html { font-size: 4.1025641026vw; } } 
@media screen and (min-width: 641px) and (max-width: 1023px){ html { font-size: 2.1333333333vw; } } 
@media screen and (min-width: 1024px)                       { html { font-size: 1.1111111111vw; } } 
@media screen and (min-width: 1921px)                       { html { font-size: 19.2px; } }

:root {
  
  --ground:     #DEDBD4;
  --ground-2:   #D4D0C8;
  --sheet:      #FAF9F7;
  --ink:        #191715;
  --ink-2:      #5C554E;
  --ink-3:      #8C847B;
  
  --spot:       #FF6B45;   
  --spot-disp:  #DB4A18;   
  --spot-deep:  #C0400F;   
  --hinomaru:   #BC002D;
  --rule:       rgba(25, 23, 21, .16);
  --rule-soft:  rgba(25, 23, 21, .08);

  --dot-spot: linear-gradient(to right, var(--spot) 0 3px, transparent 3px 6px) left bottom / 6px 1px repeat-x;
  --dot-ink:  linear-gradient(to right, var(--ink) 0 3px, transparent 3px 6px) left bottom / 6px 1px repeat-x;

  --mincho: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Yu Mincho", YuMincho,
            "游明朝", "HG明朝E", "ＭＳ 明朝", serif;
  --gothic: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans",
            "Yu Gothic Medium", "游ゴシック Medium", YuGothic, Meiryo, sans-serif;
  --latin:  "Helvetica Neue", Helvetica, Arial, sans-serif;

  --pad-x: 1.25rem;
  --sec-y: 4rem;
  --rail: 0rem;

  --ease: cubic-bezier(.16, 1, .3, 1);
}

@media (min-width: 1024px) {
  :root {
    --pad-x: 5rem;
    --sec-y: 6rem;
    --rail: 4.5rem;
  }
}

@media (prefers-color-scheme: dark) {
  :root {
    --ground: #171614; --ground-2: #100F0E; --sheet: #211F1C;
    --ink: #EDEAE4; --ink-2: #A79E94; --ink-3: #7A7269;
    --spot: #FF6B45; --spot-disp: #FF6B45; --spot-deep: #FF8A66; --hinomaru: #E23A57; --hinomaru: #E23A57;
    --rule: rgba(237,234,228,.18); --rule-soft: rgba(237,234,228,.09);
    --dot-ink: linear-gradient(to right, var(--ink) 0 3px, transparent 3px 6px) left bottom / 6px 1px repeat-x;
  }
}
:root[data-theme="dark"] {
  --ground: #171614; --ground-2: #100F0E; --sheet: #211F1C;
  --ink: #EDEAE4; --ink-2: #A79E94; --ink-3: #7A7269;
  --spot: #FF6B45; --spot-disp: #FF6B45; --spot-deep: #FF8A66;
  --rule: rgba(237,234,228,.18); --rule-soft: rgba(237,234,228,.09);
  --dot-ink: linear-gradient(to right, var(--ink) 0 3px, transparent 3px 6px) left bottom / 6px 1px repeat-x;
}
:root[data-theme="light"] {
  --ground: #DEDBD4; --ground-2: #D4D0C8; --sheet: #FAF9F7;
  --ink: #191715; --ink-2: #5C554E; --ink-3: #8C847B;
  --spot: #FF6B45; --spot-disp: #DB4A18; --spot-deep: #C0400F; --hinomaru: #BC002D;
  --rule: rgba(25,23,21,.16); --rule-soft: rgba(25,23,21,.08);
  --dot-ink: linear-gradient(to right, var(--ink) 0 3px, transparent 3px 6px) left bottom / 6px 1px repeat-x;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--gothic);
  font-size: .875rem;
  line-height: 1.75;          
  letter-spacing: .02em;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
:focus-visible { outline: 2px solid var(--spot); outline-offset: 3px; }

.disp {
  font-family: var(--mincho);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.03em;
  color: var(--spot-disp);
  margin: 0;
}

.head {
  font-family: var(--mincho);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
  margin: 0;
  word-break: auto-phrase;
}

.latin {
  font-family: var(--latin);
  font-weight: 500;
  text-transform: uppercase;
  line-height: .9;
  letter-spacing: -.05em;
}

.tag {
  font-family: var(--latin);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.3;
  color: var(--ink-3);
  text-transform: uppercase;
}

.num { font-variant-numeric: tabular-nums; }

.shell {
  max-width: 100rem;
  margin-inline: auto;
  padding-inline: var(--pad-x);
}

section.band { position: relative; padding-block: var(--sec-y); }

:target, section[id], main[id] { scroll-margin-top: 5rem; }

.sec-head { display: flex; flex-direction: column; gap: 1.25rem; margin-bottom: 2.25rem; }
.sec-head__en {
  font-size: 2.75rem;
  width: fit-content; max-width: 100%;
  padding-bottom: .375rem;
  border-bottom: 1px solid currentColor;
}
.sec-head__ja { font-size: 1.375rem; }
.sec-lead {
  margin: 0;
  max-width: 34em;
  color: var(--ink-2);
  font-size: .8125rem;
  line-height: 1.95;
}
@media (min-width: 1024px) {
  .sec-head { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); gap: 0 3.5rem; margin-bottom: 3.5rem; }
  .sec-head__mark { grid-row: span 3; padding-top: 1.5rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
  .sec-head__en { font-size: 4.5rem; padding-bottom: .5rem; }
  .sec-head__ja { font-size: 2.25rem; margin-top: .75rem; }
  .sec-lead { margin-top: 1.5rem; font-size: .875rem; }
}

.vert {
  writing-mode: vertical-rl;
  font-family: var(--mincho);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: .14em;
  color: var(--spot-disp);
  white-space: nowrap;
  margin: 0;
}
.vert--lg { font-size: 1.75rem; }
.vert--md { font-size: 1.25rem; }
.vert--sm { font-size: .875rem; letter-spacing: .22em; color: var(--ink-2); }

.vert--wrap { white-space: normal; line-height: 1.8; }

.tcy { text-combine-upright: all; }

.vert em {
  font-style: normal;
  text-emphasis: filled sesame;
  -webkit-text-emphasis: filled sesame;
}

.vert--ruled { padding-inline-start: 1rem; border-inline-start: 1px solid var(--rule); }

.vert-stagger > span { display: block; }
.js-anim .vert-stagger > span {
  opacity: 0;
  transform: translateY(.7em);
  transition: opacity .8s var(--ease), transform .9s var(--ease);
}
.js-anim .vert-stagger.is-in > span { opacity: 1; transform: none; }
.js-anim .vert-stagger.is-in > span:nth-child(2) { transition-delay: .12s; }
.js-anim .vert-stagger.is-in > span:nth-child(3) { transition-delay: .24s; }
.js-anim .vert-stagger.is-in > span:nth-child(4) { transition-delay: .36s; }

.rail-vert { display: none; }
@media (min-width: 1024px) { .rail-vert { display: block; } }

:root { --logo: url("data:image/png;base64,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"); }
.brand__logo {
  display: block;
  width: 10.45rem; height: 1.125rem;   
  background-color: currentColor;
  -webkit-mask: var(--logo) no-repeat center / contain;
          mask: var(--logo) no-repeat center / contain;
}
.ftr .brand__logo { width: 13.95rem; height: 1.5rem; }

.sub-hdr {
  position: sticky; top: 0; z-index: 40;
  display: flex; align-items: center; gap: 1.5rem;
  padding: 1rem var(--pad-x);
  background: color-mix(in srgb, var(--ground) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rule);
}
.sub-hdr__back { margin-left: auto; font-family: var(--mincho); font-size: .8125rem; letter-spacing: .06em; color: var(--ink-2); }
.sub-hdr__back:hover { color: var(--spot-deep); }
.sub-hdr__cta {
  display: none; align-items: center; gap: .5rem;
  padding: .625rem 1.25rem; border-radius: 999px;
  background: var(--spot); color: #fff;
  font-family: var(--mincho); font-size: .8125rem; letter-spacing: .06em;
}
.sub-hdr__cta svg { width: .875rem; height: .875rem; }
@media (min-width: 760px) { .sub-hdr__cta { display: inline-flex; } }

.page { display: block; background: var(--sheet); }

.sub-hero { position: relative; padding: 2.5rem 0 3rem; border-bottom: 1px solid var(--rule); }
@media (min-width: 1024px) { .sub-hero { padding: 4rem 0 4.5rem; } }
.crumb { display: flex; flex-wrap: wrap; gap: .5rem; font-family: var(--latin); font-size: .6875rem; letter-spacing: -.01em; color: var(--ink-3); margin-bottom: 1.5rem; }
.crumb a:hover { color: var(--spot-deep); }
.crumb span { color: var(--ink-3); }

.sub-hero__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 2rem; }
@media (min-width: 1024px) { .sub-hero__grid { grid-template-columns: var(--rail) minmax(0,1fr); gap: 0 3.5rem; } }
.sub-hero__mark { display: none; }
@media (min-width: 1024px) { .sub-hero__mark { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; } }
.sub-hero__dept { font-family: var(--latin); font-size: .6875rem; letter-spacing: -.01em; text-transform: uppercase; color: var(--spot-deep); }
.sub-hero__t { font-family: var(--mincho); font-weight: 400; font-size: 2rem; line-height: 1.35; letter-spacing: .03em; margin: .75rem 0 0; word-break: auto-phrase; }
@media (min-width: 1024px) { .sub-hero__t { font-size: 3.25rem; } }
.sub-hero__en { display: block; font-family: var(--latin); font-size: .75rem; font-weight: 500; letter-spacing: -.01em; color: var(--ink-3); margin-top: 1rem; }
.sub-hero__lead { margin: 2rem 0 0; max-width: 38em; font-size: .8125rem; line-height: 2.0; color: var(--ink-2); }
@media (min-width: 1024px) { .sub-hero__lead { font-size: .875rem; } }
.sub-hero__aside { align-self: end; }

.blk { padding-block: 3.5rem; border-bottom: 1px solid var(--rule); }
@media (min-width: 1024px) { .blk { padding-block: 5.5rem; } }
.blk:last-of-type { border-bottom: 0; }
.blk__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 2rem; }
@media (min-width: 1024px) { .blk__grid { grid-template-columns: var(--rail) 18rem minmax(0,1fr); gap: 0 3.5rem; align-items: start; } }
.blk__no { font-family: var(--latin); font-size: .6875rem; letter-spacing: .1em; color: var(--spot-deep); }
.blk__t { font-family: var(--mincho); font-weight: 400; font-size: 1.5rem; line-height: 1.4; letter-spacing: .04em; margin: .5rem 0 0; }
@media (min-width: 1024px) { .blk__t { font-size: 1.875rem; } }
.blk__vert { display: none; }
@media (min-width: 1024px) { .blk__vert { display: flex; justify-content: center; } }

.prose { display: flex; flex-direction: column; gap: 1.25rem; margin: 0; }
.prose p { margin: 0; font-size: .8125rem; line-height: 2.0; color: var(--ink-2); }
@media (min-width: 1024px) { .prose p { font-size: .875rem; } }

.dots { list-style: none; margin: 0; padding: 0; }
.dots li { position: relative; padding: .875rem 0 .875rem 1.375rem; border-bottom: 1px solid var(--rule-soft); font-size: .8125rem; line-height: 1.9; color: var(--ink-2); }
@media (min-width: 1024px) { .dots li { font-size: .875rem; } }
.dots li::before { content: ""; position: absolute; left: .25rem; top: 1.5em; width: .375rem; height: .375rem; border-radius: 50%; border: 1px solid var(--spot); }
.dots li strong { display: block; font-family: var(--mincho); font-weight: 600; font-size: 1rem; letter-spacing: .04em; color: var(--ink); margin-bottom: .25rem; }

.steps { list-style: none; margin: 0; padding: 0; counter-reset: st; }
.steps > li { position: relative; counter-increment: st; padding: 1.25rem 0 1.25rem 3rem; border-bottom: 1px solid var(--rule-soft); }
.steps > li::before {
  content: counter(st, decimal-leading-zero);
  position: absolute; left: 0; top: 1.45rem;
  font-family: var(--latin); font-size: .75rem; font-weight: 500; letter-spacing: -.02em; color: var(--spot-deep);
}
.steps .dots li { border-bottom: 0; padding-block: .25rem; }
.steps h3 { font-family: var(--mincho); font-weight: 600; font-size: 1.0625rem; letter-spacing: .04em; margin: 0 0 .375rem; }
.steps p { margin: 0; font-size: .8125rem; line-height: 1.95; color: var(--ink-2); }

.note { margin-top: 2rem; padding: 1.25rem 1.5rem; border-left: 2px solid var(--spot); background: var(--ground); }
.note p { margin: 0; font-size: .75rem; line-height: 1.95; color: var(--ink-2); }
.note p + p { margin-top: .5rem; }
.note b { font-family: var(--mincho); font-weight: 600; color: var(--ink); }

.related { display: grid; grid-template-columns: minmax(0,1fr); gap: 1px; background: var(--rule); border-block: 1px solid var(--rule); }
@media (min-width: 760px)  { .related { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .related { grid-template-columns: repeat(4, 1fr); } }
.related a { display: flex; flex-direction: column; gap: .5rem; padding: 1.5rem; background: var(--sheet); transition: background .35s ease; }
.related a:hover { background: var(--ground); }
.related .k { font-family: var(--latin); font-size: .625rem; letter-spacing: -.01em; text-transform: uppercase; color: var(--ink-3); }
.related .v { font-family: var(--mincho); font-size: 1rem; letter-spacing: .04em; }

.sub-cta {
  position: relative; overflow: hidden;
  background: #100F0E; color: #F2EFE9;
  padding-block: 4rem;
  border-top: 1px solid rgba(242,239,233,.14);
}
.sub-cta::after {
  content: ""; position: absolute; bottom: -40vh; left: -10vw;
  width: 60vw; height: 60vw; pointer-events: none;
  background: radial-gradient(circle, rgba(255,107,69,.28), transparent 62%);
}
.sub-cta > .shell { position: relative; z-index: 1; }
@media (min-width: 1024px) { .sub-cta { padding-block: 6rem; } }
.sub-cta__t { font-family: var(--mincho); font-weight: 400; font-size: 1.75rem; line-height: 1.5; letter-spacing: .04em; margin: 0; }
@media (min-width: 1024px) { .sub-cta__t { font-size: 2.75rem; } }
.sub-cta__d { margin: 1.5rem 0 2.5rem; max-width: 34em; font-size: .875rem; line-height: 1.95; color: rgba(250,249,247,.82); }
.btn-spot {
  display: inline-flex; align-items: center; gap: .625rem;
  padding: 1rem 2.25rem; border-radius: 999px;
  background: var(--spot); color: #fff;
  font-family: var(--mincho); font-size: .9375rem; letter-spacing: .08em;
  transition: transform .35s var(--ease);
}
.btn-spot:hover { transform: translateY(-2px); }
.btn-spot svg { width: .9375rem; height: .9375rem; }


.wk { padding-block: 3.5rem; border-bottom: 1px solid var(--rule); }
@media (min-width: 1024px) { .wk { padding-block: 5.5rem; } }
.wk__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.75rem; }
@media (min-width: 1024px) { .wk__grid { grid-template-columns: var(--rail) 20rem minmax(0,1fr); gap: 0 3.5rem; align-items: start; } }
.wk__cat { font-family: var(--latin); font-size: .6875rem; letter-spacing: -.01em; text-transform: uppercase; color: var(--spot-deep); }
.wk__t { font-family: var(--mincho); font-weight: 400; font-size: 1.625rem; line-height: 1.4; letter-spacing: .04em; margin: .625rem 0 0; word-break: auto-phrase; }
@media (min-width: 1024px) { .wk__t { font-size: 2.25rem; } }
.wk__fig { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; margin-top: 2rem; }

.contact { background: var(--sheet); padding-block: var(--sec-y); }
.contact__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 3.5rem; }
@media (min-width: 1024px) { .contact__grid { grid-template-columns: 1fr 1fr; gap: 5rem; } }

.panel__head { margin-bottom: 2rem; }
.panel__t {
  margin: 0 0 .5rem;
  font-family: var(--mincho); font-weight: 400;
  font-size: 1.5rem; letter-spacing: .04em;
}
@media (min-width: 1024px) { .panel__t { font-size: 1.875rem; } }
.panel__d { margin: 0; font-size: .8125rem; line-height: 1.95; color: var(--ink-2); }

.cform { display: flex; flex-direction: column; gap: 1.5rem; }
.field { display: flex; flex-direction: column; gap: .5rem; }
.field__label {
  display: flex; align-items: baseline; gap: .5rem;
  font-family: var(--mincho); font-size: .875rem; letter-spacing: .06em;
}
.field__req { font-family: var(--latin); font-size: .625rem; letter-spacing: .06em; color: var(--spot-deep); }
.field__opt { font-family: var(--latin); font-size: .625rem; letter-spacing: .06em; color: var(--ink-3); }

.field__help { font-size: .75rem; line-height: 1.7; color: var(--ink-3); }

.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field textarea {
  width: 100%;
  font: inherit; font-size: 1rem; color: var(--ink);
  font-family: var(--mincho); letter-spacing: .04em;
  background: transparent;
  border: 0; border-bottom: 1px solid var(--rule);
  border-radius: 0;
  padding: .625rem 0;
  transition: border-color .3s var(--ease);
}
.field textarea {
  min-height: 7rem; resize: vertical; line-height: 2.0;
  
  border-bottom: 0;
  background-image: repeating-linear-gradient(to bottom,
    transparent 0, transparent calc(2em - 1px), var(--rule-soft) calc(2em - 1px), var(--rule-soft) 2em);
  background-attachment: local;
}
.field input::placeholder, .field textarea::placeholder { color: var(--ink-3); font-family: var(--gothic); font-size: .8125rem; }
.field input:focus, .field textarea:focus { outline: none; border-bottom-color: var(--spot); }
.field textarea:focus { box-shadow: inset 0 -1px 0 var(--spot); }

.choices { display: flex; flex-direction: column; }
.choice { position: relative; border-bottom: 1px solid var(--rule-soft); }
.choice:first-child { border-top: 1px solid var(--rule-soft); }
.choice input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.choice span {
  display: flex; align-items: center; gap: .75rem;
  font-family: var(--mincho); font-size: .9375rem; letter-spacing: .06em;
  padding: .75rem .125rem;
  transition: color .3s var(--ease);
}

.choice span::before {
  content: ""; flex: none;
  width: .5rem; height: .5rem; border-radius: 50%;
  border: 1px solid var(--ink-3);
  transition: background .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.choice input:checked + span { color: var(--spot-deep); }
.choice input:checked + span::before {
  border-color: var(--spot); background: var(--spot);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--spot) 18%, transparent);
}
.choice input:focus-visible + span::before { outline: 2px solid var(--spot); outline-offset: 2px; }

.consent { display: flex; align-items: flex-start; gap: .625rem; font-size: .8125rem; line-height: 1.8; }
.consent input { margin-top: .3em; accent-color: var(--spot); flex: none; }
.consent a { text-decoration: underline; text-underline-offset: .2em; }

.cform__foot { display: flex; flex-direction: column; gap: .875rem; align-items: flex-start; }
.cform__submit {
  display: inline-flex; align-items: center; gap: 1rem;
  background: var(--spot); color: #fff; border: 0; cursor: pointer;
  padding: 1rem 2rem; border-radius: 999px;
  font-family: var(--mincho); font-size: 1rem; font-weight: 600; letter-spacing: .08em;
  transition: transform .4s var(--ease), filter .4s var(--ease);
}
.cform__submit:hover { transform: translateY(-2px); filter: brightness(1.08); }
.cform__submit svg { width: 1.125rem; height: 1.125rem; }

.cform__note { font-size: .75rem; line-height: 1.8; color: var(--ink-3); }

.cform__done { display: none; flex-direction: column; gap: 1rem; padding-block: 2rem; }
.cform.is-sent .cform__body { display: none; }
.cform.is-sent .cform__done { display: flex; }
.cform__done .panel__t { color: var(--spot-deep); }

.sched { display: flex; flex-direction: column; gap: 1.5rem; }
.sched__bar {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding-top: .75rem;
}
.sched__brand { font-family: var(--latin); font-size: .6875rem; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); }
.sched__meta { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.sched__meta span {
  font-family: var(--mincho); font-size: .8125rem; letter-spacing: .06em; color: var(--ink-2);
}
.sched__meta b { font-weight: 600; color: var(--ink); }

.sched__body { display: flex; flex-direction: column; gap: 1.25rem; }
.sched__month { display: flex; align-items: baseline; justify-content: space-between; }
.sched__mlabel { font-family: var(--mincho); font-size: .9375rem; letter-spacing: .08em; }
.sched__mlabel .num { font-family: var(--latin); font-size: 1.5rem; letter-spacing: -.03em; }
.sched__nav { display: flex; gap: 1rem; }
.sched__nav button {
  cursor: pointer; padding: .25rem;
  background: none; border: 0; color: var(--ink-3);
  font: inherit; font-size: .875rem; line-height: 1;
  transition: color .3s var(--ease);
}
.sched__nav button:hover:not(:disabled) { color: var(--spot-deep); }
.sched__nav button:disabled { opacity: .25; cursor: default; }

.cal { display: grid; grid-template-columns: repeat(7, 1fr); }
.cal__dow {
  text-align: center; padding-bottom: .625rem; margin-bottom: .25rem;
  border-bottom: 1px solid var(--rule);
  font-family: var(--latin); font-size: .625rem; letter-spacing: .02em; color: var(--ink-3);
}
.cal__dow--sat { color: #5B7FA6; }
.cal__dow--sun { color: var(--spot-deep); }

.cal__day {
  position: relative; aspect-ratio: 1;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--latin); font-variant-numeric: tabular-nums;
  font-size: .875rem; letter-spacing: -.01em;
  background: none; border: 0; cursor: pointer; color: var(--ink);
  transition: color .25s var(--ease);
}
.cal__day:not(:disabled)::after {
  content: ""; position: absolute; left: 50%; bottom: 18%;
  width: .875rem; height: 1px; margin-left: -.4375rem;
  background: var(--rule);
  transition: background .25s var(--ease), width .25s var(--ease);
}
.cal__day:hover:not(:disabled) { color: var(--spot-deep); }
.cal__day:hover:not(:disabled)::after { background: var(--spot); }
.cal__day:disabled { color: var(--ink-3); opacity: .4; cursor: default; }

.cal__day.is-picked {
  color: #fff;
  background-image: linear-gradient(var(--spot), var(--spot));
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.125rem 2.125rem;
}
.cal__day.is-picked::after { background: transparent; }
.cal__day.is-empty { cursor: default; }
.cal__day.is-empty::after { display: none; }

.slots { display: flex; flex-direction: column; gap: .875rem; padding-top: 1.25rem; }
.slots__label { font-family: var(--mincho); font-size: .8125rem; letter-spacing: .06em; color: var(--ink-2); }
.slots__list { display: flex; flex-wrap: wrap; gap: 0 1.75rem; }

.slot {
  position: relative;
  font-family: var(--latin); font-variant-numeric: tabular-nums;
  font-size: 1rem; letter-spacing: -.01em;
  padding: .5rem 0; cursor: pointer;
  background: none; border: 0; color: var(--ink);
  border-bottom: 1px solid var(--rule);
  transition: color .25s var(--ease), border-color .25s var(--ease);
}
.slot:hover { color: var(--spot-deep); border-bottom-color: var(--spot); }
.slot.is-picked { color: var(--spot-deep); border-bottom-color: var(--spot); border-bottom-width: 2px; }
.slot.is-picked::before {
  content: "＊"; position: absolute; left: -1rem; top: .35rem;
  font-size: .75rem; color: var(--spot);
}
.slots__empty { font-family: var(--mincho); font-size: .8125rem; line-height: 1.9; color: var(--ink-3); }

.sched__foot { padding-top: 1.25rem; display: flex; flex-direction: column; gap: 1rem; }
.sched__picked { font-family: var(--mincho); font-size: 1.0625rem; letter-spacing: .05em; }
.sched__picked em { font-style: normal; color: var(--spot-deep); }
.sched__confirm {
  align-self: flex-start;
  display: inline-flex; align-items: center; gap: .625rem;
  font-family: var(--mincho); font-size: .9375rem; letter-spacing: .06em;
  padding: .5rem 0; cursor: pointer;
  background: none; border: 0; border-bottom: 1px solid var(--ink); color: var(--ink);
  transition: color .3s var(--ease), border-color .3s var(--ease), opacity .3s var(--ease), gap .3s var(--ease);
}
.sched__confirm:hover:not(:disabled) { color: var(--spot-deep); border-bottom-color: var(--spot); gap: 1rem; }
.sched__confirm:disabled { opacity: .3; cursor: default; border-bottom-color: var(--rule); }
.sched__note { font-size: .75rem; line-height: 1.8; color: var(--ink-3); }

.org { display: flex; flex-direction: column; align-items: center; }

.org__drop { width: 1px; height: 2rem; background: var(--rule); flex: none; }

.org__node {
  display: flex; align-items: center; justify-content: center; gap: .625rem;
  padding: .875rem 1.75rem;
  border: 1px solid var(--ink);
  background: var(--ground);
  font-family: var(--mincho); letter-spacing: .08em;
  text-align: center;
}

.org__node > span {
  display: inline-flex; flex-direction: column; align-items: center;
  line-height: 1.35;
}

.org__top { font-size: 1.375rem; font-weight: 600; background: var(--ink); color: var(--ground); border-color: var(--ink); }
.org__top svg { color: var(--spot); }
@media (min-width: 1024px) { .org__top { font-size: 1.75rem; padding: 1.125rem 3rem; } }

.org__note {
  margin: 0; text-align: center;
  font-family: var(--mincho); font-size: .875rem; letter-spacing: .1em; color: var(--ink-2);
}

.org__roles {
  position: relative; width: 100%;
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .75rem;
}
@media (min-width: 560px)  { .org__roles { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; } }
@media (min-width: 1100px) { .org__roles { grid-template-columns: repeat(7, minmax(0,1fr)); gap: .75rem; } }
.org__role { position: relative; display: flex; }
.org__roles .org__node {
  width: 100%; flex-direction: column; gap: .1875rem;
  padding: .75rem .5rem; font-size: 1rem; font-weight: 600; letter-spacing: .03em;
}
@media (min-width: 1100px) { .org__roles .org__node { font-size: 1.0625rem; } }

@media (min-width: 1100px) {
  .org__role::before { content: ""; position: absolute; top: -1rem; left: 50%; width: 1px; height: 1rem; background: var(--rule); }
  .org__role::after {
    content: ""; position: absolute; top: -1rem;
    left: -.375rem; right: -.375rem;      
    height: 1px; background: var(--rule);
  }
  .org__role:first-child::after { left: 50%; }
  .org__role:last-child::after  { right: 50%; }
}

.dept__list li.has-page::before { background: var(--spot); }
.dept__list a {
  display: inline; color: var(--ink);
  border-bottom: 1px solid var(--rule);
  transition: color .3s ease, border-color .3s ease;
}
.dept__list a:hover { color: var(--spot-deep); border-color: var(--spot-deep); }
.dept__list a svg { width: .625rem; height: .625rem; margin-left: .125rem; vertical-align: baseline; transition: transform .3s ease; }
.dept__list a:hover svg { transform: translateX(.1875rem); }

.org__note a {
  display: inline-flex; align-items: center; gap: .375rem;
  color: inherit; border-bottom: 1px solid var(--rule);
  transition: color .3s ease, border-color .3s ease;
}
.org__note a:hover { color: var(--spot-deep); border-color: var(--spot-deep); }
.org__note a svg { width: .75rem; height: .75rem; flex: none; transition: transform .3s ease; }
.org__note a:hover svg { transform: translateX(.1875rem); }
.org__note a .org__name { margin-top: 0; }

.org__gloss {
  font-family: var(--mincho); font-size: .6875rem; font-weight: 400;
  letter-spacing: .04em; color: var(--ink-2); white-space: nowrap;
}

.org__name { display: block; font-family: var(--latin); font-size: .625rem; letter-spacing: .12em; color: var(--spot-deep); margin-top: .25rem; }

.org__pmo { font-size: 1.0625rem; font-weight: 600; }

.org__depts {
  position: relative; width: 100%;
  display: grid; grid-template-columns: minmax(0,1fr); gap: 1.5rem;
}
@media (min-width: 640px)  { .org__depts { grid-template-columns: repeat(2, 1fr); gap: 2rem 1.5rem; } }
@media (min-width: 1100px) { .org__depts { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; } }
.dept { position: relative; display: flex; flex-direction: column; }

@media (min-width: 1100px) {
  .dept::before { content: ""; position: absolute; top: -1rem; left: 50%; width: 1px; height: 1rem; background: var(--rule); }
  .dept::after {
    content: ""; position: absolute; top: -1rem;
    left: -.75rem; right: -.75rem;        
    height: 1px; background: var(--rule);
  }
  .dept:first-child::after { left: 50%; }
  .dept:last-child::after  { right: 50%; }
}
.dept__head {
  display: flex; align-items: center; justify-content: center;
  padding: 1.0625rem .75rem; line-height: 1.35;
  border: 1px solid var(--ink);
  background: var(--ground);
  font-family: var(--mincho); font-size: .9375rem; font-weight: 600; letter-spacing: .06em;
  text-align: center;
}

.dept__list { list-style: none; margin: 0; padding: .75rem 0 0; display: flex; flex-direction: column; }
.dept__list li {
  position: relative;
  padding: .5rem 0 .5rem 1.125rem;
  font-size: .8125rem; letter-spacing: .04em; color: var(--ink-2);
  border-bottom: 1px solid var(--rule-soft);
}
.dept__list li::before {
  content: ""; position: absolute; left: .25rem; top: 1.0625em;
  width: .3125rem; height: .3125rem; border-radius: 50%;
  border: 1px solid var(--spot);
}

.svc-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1px; background: var(--rule); border-block: 1px solid var(--rule); }
@media (min-width: 640px)  { .svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .svc-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1100px) { .svc-grid--3 { grid-template-columns: repeat(3, 1fr); } }
.svc-card { display: flex; flex-direction: column; gap: .625rem; padding: 1.75rem 1.5rem; background: var(--sheet); transition: background .35s ease; }
.svc-card:hover { background: var(--ground); }
.svc-card__k { font-family: var(--latin); font-size: .625rem; letter-spacing: -.01em; text-transform: uppercase; color: var(--spot-deep); }
.svc-card__t { font-family: var(--mincho); font-weight: 600; font-size: 1.0625rem; letter-spacing: .04em; margin: 0; }
.svc-card__d { margin: 0; font-size: .75rem; line-height: 1.9; color: var(--ink-2); }
.svc-card__go { margin-top: auto; padding-top: 1rem; font-family: var(--latin); font-size: .6875rem; letter-spacing: .02em; color: var(--ink-3); }
.svc-card:hover .svc-card__go { color: var(--spot-deep); }

.spec { border-top: 1px solid var(--rule); }
.spec__row { display: grid; grid-template-columns: minmax(0,1fr); gap: .25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--rule-soft); }
@media (min-width: 760px) { .spec__row { grid-template-columns: 11rem minmax(0,1fr); gap: 0 2rem; align-items: baseline; } }
.spec__k { font-family: var(--mincho); font-weight: 600; font-size: .875rem; letter-spacing: .06em; }
.spec__v { font-size: .8125rem; line-height: 1.95; color: var(--ink-2); }
.spec__v ol { list-style: none; margin: 0; padding: 0; counter-reset: b; }
.spec__v ol li { counter-increment: b; display: grid; grid-template-columns: 2rem minmax(0,1fr); padding-block: .25rem; }
.spec__v ol li::before { content: counter(b, decimal-leading-zero); font-family: var(--latin); font-size: .6875rem; letter-spacing: -.02em; color: var(--spot-deep); }

.st { padding-block: 3rem; border-bottom: 1px solid var(--rule); }
@media (min-width: 1024px) { .st { padding-block: 4.5rem; } }
.st__grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
@media (min-width: 1024px) { .st__grid { grid-template-columns: var(--rail) 20rem minmax(0,1fr); gap: 0 3.5rem; align-items: start; } }
.st__no { font-family: var(--latin); font-size: .6875rem; letter-spacing: .1em; color: var(--spot-deep); }
.st__t { font-family: var(--mincho); font-weight: 400; font-size: 1.625rem; line-height: 1.4; letter-spacing: .04em; margin: .5rem 0 0; word-break: auto-phrase; }
@media (min-width: 1024px) { .st__t { font-size: 2rem; } }

.facts--sub { border-bottom: 0; padding-bottom: 0; }

.sub-nav {
  display: flex; align-items: center; gap: 1.25rem;
  margin-left: auto; min-width: 0;
  overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none;
}
.sub-nav::-webkit-scrollbar { display: none; }
@media (min-width: 900px) { .sub-nav { gap: 2rem; } }
.sub-nav a {
  font-family: var(--mincho); font-size: .8125rem; letter-spacing: .06em;
  color: var(--ink-2); white-space: nowrap; padding-block: .25rem;
  border-bottom: 1px solid transparent;
  transition: color .3s var(--ease), border-color .3s var(--ease);
}
.sub-nav a:hover { color: var(--spot-deep); }
.sub-nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--spot); }
.sub-hdr__cta { margin-left: 1.25rem; flex: none; }
@media (max-width: 899px) {
  .sub-hdr { gap: .875rem; padding: .75rem var(--pad-x); }
  .sub-hdr .brand__logo { width: 7rem; height: .75rem; }
  .sub-nav { gap: .9375rem; }
  .sub-nav a { font-size: .75rem; letter-spacing: .02em; }
}

.viz { margin: 0 0 1.75rem; }
.viz svg { display: block; width: 100%; height: auto; }
.viz-label { font-family: var(--mincho); font-size: 9px; letter-spacing: .04em; fill: var(--ink-2); }
.viz-label--on { fill: var(--spot-deep); }
.viz-label--w  { fill: var(--sheet); }
.viz-line { stroke: var(--rule); stroke-width: 1; fill: none; }
.viz-line--on { stroke: var(--spot); stroke-width: 1.4; fill: none; }
.viz-line--dash { stroke: var(--rule); stroke-width: 1; fill: none; stroke-dasharray: 3 3; }
.viz-fill { fill: var(--ground-2); }
.viz-fill--on { fill: var(--spot); }
.viz-fill--ink { fill: var(--ink); }
.viz-cap { font-family: var(--latin); font-size: 7.5px; letter-spacing: .1em; fill: var(--ink-3); }
.viz-cap--on { fill: var(--spot-deep); }

.st__viz { margin-bottom: 1.5rem; }
@media (min-width: 1024px) { .st__viz { margin-bottom: 2rem; } }

.hist { list-style: none; margin: 0; padding: 0; }
.hist li { position: relative; padding: 0 0 2.25rem 3rem; }
.hist li::before {
  content: ""; position: absolute; left: .5rem; top: .75rem; bottom: -.25rem;
  width: 1px; background: var(--rule);
}
.hist li:last-child { padding-bottom: 0; }
.hist li:last-child::before { display: none; }
.hist li::after {
  content: ""; position: absolute; left: 1px; top: .25rem;
  width: 1rem; height: 1rem; border-radius: 50%;
  border: 1px solid var(--spot); background: var(--sheet);
}
.hist__k { font-family: var(--latin); font-size: .6875rem; font-weight: 500; letter-spacing: .08em; color: var(--spot-deep); }
.hist__t { font-family: var(--mincho); font-weight: 600; font-size: 1.125rem; letter-spacing: .04em; margin: .25rem 0 .625rem; }
.hist__d { margin: 0; font-size: .8125rem; line-height: 1.95; color: var(--ink-2); }
@media (min-width: 1024px) { .hist__d { font-size: .875rem; } }

.wk__viz { max-width: 26rem; margin-bottom: 1.75rem; }

.sched__steps { list-style: none; margin: 1.75rem 0 2rem; padding: 0; display: flex; flex-direction: column; }
.sched__steps li {
  display: flex; align-items: baseline; gap: .875rem;
  padding: .75rem 0; border-bottom: 1px solid var(--rule-soft);
  font-size: .8125rem; color: var(--ink-2);
}
.sched__steps li span {
  font-family: var(--latin); font-variant-numeric: tabular-nums;
  font-size: .6875rem; font-weight: 500; letter-spacing: -.02em; color: var(--spot-deep);
}

.sched__embed { margin-top: 1.75rem; background: #FAF9F7; }
.sched__embed:not(:has(iframe)) { min-height: 26rem; background: var(--ground); }
.sched__embed .meetings-iframe-container { width: 100%; }
.sched__embed iframe { width: 100% !important; border: 0; display: block; }
.sched__ext { margin: 1rem 0 0; font-size: .6875rem; letter-spacing: .02em; color: var(--ink-3); text-align: center; }

.hs-form-frame { margin-top: 1.75rem; background: #FAF9F7; }
.hs-form-frame:empty { display: block; min-height: 30rem; background: var(--ground); }
.hs-form-frame iframe { width: 100% !important; border: 0; display: block; }

.metrics {
  display: grid; grid-template-columns: minmax(0,1fr);
  gap: 1px; background: var(--rule);
  border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
  margin-top: 2.5rem;
}
@media (min-width: 620px)  { .metrics { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .metrics--3 { grid-template-columns: repeat(3, 1fr); } }

.metric {
  background: var(--sheet);
  padding: 1.75rem 1.5rem 1.625rem;
  display: flex; flex-direction: column; gap: .625rem;
}
.metric__k {
  font-family: var(--latin); font-size: .625rem; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; color: var(--spot-deep);
}
.metric__v {
  display: flex; align-items: baseline; gap: .0625rem;
  font-family: var(--latin); font-variant-numeric: tabular-nums;
  font-weight: 500; font-size: 3.25rem; line-height: .88; letter-spacing: -.055em;
  color: var(--ink);
  margin: .125rem 0 0;
}
@media (min-width: 1024px) { .metric__v { font-size: 4.5rem; } }

.metric__v .pre {
  font-family: var(--mincho); font-size: .26em; font-weight: 400;
  letter-spacing: .04em; color: var(--ink-2); align-self: center; margin-right: .15em;
}
.metric__v .u {
  font-family: var(--mincho); font-size: .26em; font-weight: 400;
  letter-spacing: .04em; color: var(--ink-2); margin-left: .1em;
}
.metric__d {
  font-family: var(--mincho); font-size: .9375rem; letter-spacing: .04em;
  line-height: 1.6; color: var(--ink); margin: 0;
}
.metric__n { font-size: .6875rem; letter-spacing: .02em; color: var(--ink-3); margin: 0; }

.metric__cmp {
  display: grid; grid-template-columns: 1.75rem minmax(0,1fr);
  align-items: center; gap: .375rem .5rem; margin-top: .25rem;
}
.metric__cmp span { font-size: .625rem; letter-spacing: .04em; color: var(--ink-3); }
.metric__bar { display: block; height: 3px; background: var(--rule-soft); }
.metric__bar i { display: block; height: 100%; background: var(--ink-3); }
.metric__bar--on i { background: var(--spot); }

.case__fig { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.case__fig .metric { background: none; padding: 0; gap: .3125rem; }
.case__fig .metric__v { font-size: 2rem; margin-top: .125rem; }
.case__fig .metric__v .pre,
.case__fig .metric__v .u { font-size: .3em; }
@media (min-width: 1200px) { .case__fig .metric__v { font-size: 2.375rem; } }
.case__fig .metric__d { font-size: .75rem; line-height: 1.5; }

/* ============================================================================
   フッター — 全ページ共通
   ========================================================================= */
.ftr { background: var(--ground-2); padding-block: 3.5rem 1.75rem; border-top: 1px solid var(--rule); }
.ftr__top { display: grid; grid-template-columns: minmax(0,1fr); gap: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--rule); }
@media (min-width: 900px) {
.ftr__top { grid-template-columns: 1fr 1.5fr; gap: 4rem; }
}

.ftr__brand { display: flex; flex-direction: column; gap: 1rem; }
.ftr__tag { margin: 0; font-family: var(--mincho); font-size: .8125rem; line-height: 2; letter-spacing: .04em; color: var(--ink-2); }
.offices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: 1.5rem; }
.office { display: flex; flex-direction: column; gap: .25rem; }
.office__n { font-family: var(--mincho); font-weight: 600; font-size: .8125rem; letter-spacing: .06em; }
.office__n::before { content: "●"; color: var(--spot); font-size: .5rem; vertical-align: middle; margin-right: .375rem; }
.office__a { font-size: .6875rem; line-height: 1.9; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.ftr__bottom { padding-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .75rem 2rem; align-items: center; justify-content: space-between; }
.ftr__nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; list-style: none; margin: 0; padding: 0; }
.ftr__nav a { font-size: .75rem; color: var(--ink-2); transition: color .3s var(--ease); }
.ftr__nav a:hover { color: var(--spot-deep); }
.ftr__badge { display: flex; align-items: center; gap: 1rem; margin-top: 2rem; }
.ftr__badge img { width: 3.75rem; height: auto; flex: none; }
.ftr__badge-t { margin: 0; font-size: .6875rem; line-height: 1.8; color: var(--ink-2); max-width: 20em; }
@media (prefers-color-scheme: dark) {
.ftr__badge img { filter: invert(1) brightness(1.6); }
}

:root[data-theme="dark"] .ftr__badge img { filter: invert(1) brightness(1.6); }
:root[data-theme="light"] .ftr__badge img { filter: none; }

.ftr__copy { font-size: .6875rem; color: var(--ink-2); letter-spacing: .02em; }

/* 採用ページ：条件のカード。値を主役にして補足を小さく添える */
.svc-card__v { font-family: var(--mincho); font-weight: 600; font-size: 1.375rem; letter-spacing: .04em; margin: 0; }
