/* 改変（TERASU）— SODE RECRUIT ver7。ベースの app.css / top.css の上に重ねる
   見立て：ソデの仕事は、本番を袖で動かす進行（キュー）。だからサイトは1枚の本番の進行表（キューシート）として振る舞う
   土台（世界観シート 2 の数字）：かたまりの間 PC 41／346px・SP 30／213px／本文 15px（SP 13px）／見出し最大 72px（SP 33px・FV を除く）
   ／地は粒の白と淡い空色・濃紺は文字と細い線と小さな点だけ／動き 0.5s・cubic-bezier(.645,.045,.355,1) */
@property --lit{syntax:'<percentage>';inherits:true;initial-value:0%}
:root{--c-ink:#1f1a1c;--c-accent:#a8323c;--c-accent-ink:#a8323c;--c-accent-ink2:#a8323c;--c-ink2:var(--c-ink);--navy:var(--c-ink);--sky:#9fdaf5;--amber:var(--c-accent);--ink2:var(--c-ink2);--line:color-mix(in srgb,var(--c-ink) 18%,transparent);
  --r-arch:999px;--r-arch-b:0px;--r-tab:20px;--r-btn:0px;--r-cta:26px;--r-cta-l:30px;--r-cta-b:0px;--r-img:0px;--mist:#cde2ea;--mist-l:#e9f2f5;--pad:6.25vw;--col:21.5vw;
  --font-head:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Hiragino Sans",YuGothic,"Yu Gothic",sans-serif;
  --font-body:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Hiragino Sans",YuGothic,"Yu Gothic",sans-serif;
  --font-en:Montserrat,"Hiragino Kaku Gothic ProN","Hiragino Sans",YuGothic,"Yu Gothic",sans-serif;--en:var(--font-en);
  --ease:cubic-bezier(.645,.045,.355,1);--sec:4.2vw;--sec-l:24vw}

/* ---------- 共通 ---------- */
body.sd{font-family:var(--font-body);counter-reset:sdcue}
.sd :is(.sd-h,.sd-fv__catch,.t-about__body-title,.t-culture__body-title,.sd-join__ja,.sd-day__item-title,.sd-qa__q,.sd-card__title,.sd-ivnext__title,.sd-pull__text,.t-lower-mv__subtitle,.sd-way__title,.sd-ceo__title,.sd-vision__copy,.t-index-title__ja,.t-lower-title__ja){font-family:var(--font-head)}
.sd :is(.t-header__menu,.t-sp-menu__text-en,.t-lower-title__en,.t-index-title__en,.t-lower-breadcrumb,.t-footer__copy){font-family:var(--font-en)}
.sd .t-index-body{overflow:visible;overflow-x:clip}
.sd .t-header{opacity:1;visibility:visible;align-items:center;transition:opacity .5s var(--ease),visibility .5s}
.sd.t-is-fv-wait .t-header{opacity:0;visibility:hidden}
.sd-h{font-weight:600;font-style:italic;letter-spacing:-.06em;line-height:1.3;font-size:3.125vw;color:var(--navy)}
.sd .t-fade-animation{transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:.2s}

.sd-logo{display:inline-flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none;white-space:nowrap}
.sd-logo .sd-mark{height:30px;width:auto;display:block}
.sd-logo__word{font:700 22px/1 var(--en);letter-spacing:.08em}
.sd-logo__sub{font:600 10px/1 var(--en);letter-spacing:.22em;color:var(--ink2);margin-left:2px}
.sd-logo--l .sd-mark{height:48px}.sd-logo--l .sd-logo__word{font-size:34px}.sd-logo--l .sd-logo__sub{font-size:12px}
.sd .t-header__title{line-height:1}
.sd .t-header__title-link{display:inline-flex}

/* キューの灯（小さな点）：STAND BY は輪郭だけ、GO で琥珀が点く */
.sd-lamp{display:inline-block;width:7px;height:7px;border-radius:50%;border:1px solid currentColor;flex-shrink:0;transition:background-color .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.sd-lamp.t-is-on,a:hover .sd-lamp,a:focus-visible .sd-lamp{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 22%,transparent)}

/* 照明が入る（白黒→色の置き換え）：写真は少し暗く沈んだ状態から、左上の高い所から斜めに差す光の輪が広がって明るくなる。光の先には温かい縁が走る */
.sd-litbox,.sd .t-image-mono__section{--lit:0%;--lit-shape:ellipse 150% 125% at 16% -22%;transition:--lit .5s var(--ease) .3s}
.sd-about .t-image-mono__section{transition-duration:.8s}
.sd-litbox{position:relative;overflow:hidden}
.sd-litbox::after,.sd .t-image-mono__section::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(var(--lit-shape),rgba(255,244,224,0) calc(var(--lit) - 30%),rgba(255,244,224,.34) calc(var(--lit) - 11%),rgba(20,22,44,.56) calc(var(--lit) + 3%))}
.sd-litbox.t-is-lit,.sd .t-image-mono__section.t-is-ScrollActive,.sd .t-image-mono__section.t-is-lit{--lit:180%}
.sd .t-image-mono__wrapper--mono{opacity:0;-webkit-mask-image:none;mask-image:none;transition:none}
.sd .t-image-mono__wrapper img{display:block;width:100%;height:100%;object-fit:cover}

/* 見出しの飾り：英字の前の短い線 → ページの中のキュー番号の札（CUE 01〜） */
.sd .t-index-title,.sd .t-lower-title{counter-increment:sdcue}
.sd .t-index-title__en{display:inline-flex;align-items:center;gap:12px}
/* r1（A）：札は全セクションに付けない。見立てに効く所だけ HTML の data-cue で付ける（MESSAGE・CULTURE） */
.sd .t-index-title__en,.sd .t-index-title__ja{white-space:nowrap}
.sd .t-index-title[data-cue]::before{content:attr(data-cue);display:inline-flex;align-items:center;align-self:center;height:22px;margin-right:14px;padding:0 8px;border:1px solid currentColor;font:600 12px/1 var(--en);font-style:normal;letter-spacing:.12em}
@media (max-width:767px){.sd .t-index-title[data-cue]{flex-flow:row wrap;align-items:center;column-gap:0}.sd .t-index-title[data-cue]::before{margin-right:10px}.sd .t-index-title[data-cue] .t-index-title__ja{flex-basis:100%}}

/* ---------- ヘッダー：ENTRY は進行表の「最後のキュー」の札 ---------- */
.sd .t-header__link{display:inline-flex;align-items:baseline;gap:8px}
.t-header__q{font:600 12px/1 var(--en);letter-spacing:.08em;color:var(--navy)}
.sd-entry{position:relative;display:grid;grid-template-columns:auto auto auto;align-items:center;height:52px;border:1px solid var(--navy);background:rgba(255,255,255,.92);color:var(--navy);text-decoration:none;white-space:nowrap;transition:background-color .5s var(--ease),color .5s var(--ease)}
.sd-entry>span{display:flex;align-items:center;height:100%;padding:0 16px}
.sd-entry>span+span{border-left:1px solid var(--line)}
.sd-entry__q{font:600 italic 12px/1 var(--en);letter-spacing:.02em;color:var(--navy)}
.sd-entry__text{font:600 14px/1 var(--en);letter-spacing:.24em}
.sd-entry__st{gap:8px;font:600 12px/1 var(--en);letter-spacing:.16em;min-width:110px}
.sd-entry__go{display:none}
.sd-entry:hover,.sd-entry:focus-visible{background:var(--navy);color:#fff}
.sd-entry:hover .sd-entry__q{color:rgba(255,255,255,.7)}
.sd-entry:hover>span+span{border-color:rgba(255,255,255,.25)}
.sd-entry:hover .sd-entry__sb{display:none}.sd-entry:hover .sd-entry__go{display:inline}
.sd .t-header__menu-right{display:flex;align-items:center;margin-left:40px}

/* マウス追従：落とす（理由：読む行に沿う線も試したが、使いやすさに寄与しないため） */
.sd .t-mouse{display:none}

/* SP メニューボタン：弧の入口形 → 罫の箱に2本線と灯。開くと×・灯が点く */
.sd-menu-btn.t-header__menu-button{border:1px solid var(--navy);border-radius:0;background:rgba(255,255,255,.92);width:48px;height:48px;top:16px;right:16px;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:0;cursor:pointer}
.sd-menu-btn__bar{display:block;width:18px;height:1.5px;background:var(--navy);transition:transform .5s var(--ease)}
.sd-menu-btn__lamp{position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;border:1px solid var(--navy);transition:background-color .5s var(--ease),border-color .5s var(--ease)}
.sd-menu-btn.t-is-open .sd-menu-btn__bar:first-child{transform:translateY(3.75px) rotate(45deg)}
.sd-menu-btn.t-is-open .sd-menu-btn__bar:nth-child(2){transform:translateY(-3.75px) rotate(-45deg)}
.sd-menu-btn.t-is-open .sd-menu-btn__lamp{background:var(--amber);border-color:var(--amber)}
.sd .t-sp-menu__link{display:flex;align-items:center;gap:18px;padding-left:16px}.sd .t-sp-menu__text{flex:1}
.t-sp-menu__q{display:flex;flex-direction:column;gap:5px;min-width:52px;padding-right:14px;border-right:1px solid var(--line);font:600 italic 14px/1 var(--en);letter-spacing:.02em;color:var(--navy)}
.t-sp-menu__q small{font:600 12px/1 var(--en);font-style:normal;letter-spacing:.06em;color:var(--ink2)}
.sd-entry--sp{width:100%;max-width:340px;margin:32px auto 0;grid-template-columns:auto 1fr auto}
.sd-entry--sp .sd-entry__text{justify-content:center}

/* ボタン：右端の短い線 → 小さな灯と合図（STBY → 押すと GO） */
.sd-btn{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:280px;height:64px;padding:0 24px 0 28px;border:1px solid var(--navy);color:var(--navy);font-size:15px;font-weight:400;letter-spacing:.12em;text-decoration:none;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.sd-btn::before{content:"";position:absolute;inset:0;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:-1}
.sd-btn__line{display:inline-flex;align-items:center;gap:8px;width:auto;height:auto;padding-left:16px;border-left:1px solid currentColor;background:none;font:600 12px/1 var(--en);letter-spacing:.16em}
.sd-btn__line::before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid currentColor;transition:background-color .5s var(--ease),border-color .5s var(--ease)}
.sd-btn__line::after{content:"STBY"}
.sd-btn:hover{color:#fff}.sd-btn:hover::before{transform:scaleX(1)}
.sd-btn:hover .sd-btn__line::after{content:"GO"}
.sd-btn:hover .sd-btn__line::before{background:var(--amber);border-color:var(--amber)}
.sd-btn--white{background:#fff;border-color:var(--navy);color:var(--navy)}
.sd-btn--ghost{border-color:var(--navy);color:var(--navy)}

/* リンクの頭：▶ → 短い線 → キュー番号（Q.01-1…） */
.sd-links{gap:1.1em 34px}
.sd-link{display:inline-flex;align-items:baseline;gap:12px;color:var(--navy);text-decoration:none}
.sd-link__q{position:relative;font:600 italic 12px/1 var(--en);letter-spacing:.02em;color:var(--ink2);padding-bottom:5px;transition:color .5s var(--ease)}
.sd-link__q::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--amber);transform:scaleX(.35);transform-origin:left;transition:transform .5s var(--ease)}
.sd-link:hover .sd-link__q{color:var(--navy)}.sd-link:hover .sd-link__q::after{transform:scaleX(1)}
.sd-more{display:inline-flex;align-items:center;gap:16px;white-space:nowrap;font-size:15px;font-weight:400;letter-spacing:0;color:inherit;text-decoration:none}
.sd-more i{position:relative;display:block;width:48px;height:1px;background:currentColor;transition:width .5s var(--ease)}
.sd-more i::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);transform-origin:center}
.sd-more:hover i{width:80px}

/* ---------- FV（a＝C 本番の進行表：淡い空の上に進行表と大きな時刻・キャッチは進行表の演目の行） ---------- */
.sd-fv{position:relative;height:100vh;min-height:640px;overflow:hidden;color:var(--navy);background:var(--mist-l);--fvc:min(11.6vw,24vh)}
.sd-fv__photo{position:absolute;inset:0;container-type:size;--lit-shape:ellipse 130% 150% at 4% -30%;transition:--lit 1.6s var(--ease)}
.sd-fv.t-is-lit .sd-fv__photo{--lit:190%}
.sd-fv__photo::after{background:radial-gradient(var(--lit-shape),rgba(255,244,224,0) calc(var(--lit) - 30%),rgba(255,244,224,.4) calc(var(--lit) - 11%),rgba(16,18,40,.64) calc(var(--lit) + 3%))}
.sd-fv__frame{--r:2.3337;--px:.8;--py:.5;position:absolute;width:max(100cqw,calc(100cqh * var(--r)));aspect-ratio:var(--r);
  left:calc((100cqw - max(100cqw,calc(100cqh * var(--r)))) * var(--px));top:calc((100cqh - max(100cqw,calc(100cqh * var(--r))) / var(--r)) * var(--py))}
.sd-fv__frame{transform:scale(1.06);transform-origin:var(--fo,72% 40%);transition:transform 1.5s var(--ease)}
.sd-fv.t-is-scene2 .sd-fv__frame{transform:none}
.sd-fv__frame picture,.sd-fv__img{display:block;width:100%;height:100%}
.sd-fv__img{object-fit:cover}
.sd-fv__frame--a{display:none;--px:.18}
.sd-fv__frame--a .sd-fv__img{transform:scaleX(-1)}
.sd-fv__lamp{display:none;position:absolute;left:20.3%;top:30.4%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 25%,transparent);opacity:0;transform:scale(.4);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.sd-fv.t-is-cue .sd-fv__lamp{opacity:1;transform:none}

/* 進行表（C） */
.sd-fv__cue{position:absolute;z-index:3;left:36px;top:124px;width:min(50vw,740px);opacity:0;transition:opacity .5s var(--ease)}
.sd-fv.t-is-ready .sd-fv__cue{opacity:1}
.sd-fv__cue-head{display:flex;gap:0;border-top:1px solid var(--navy);border-bottom:1px solid var(--line);font:600 12px/1 var(--en);letter-spacing:.18em}
.sd-fv__cue-head span{padding:9px 14px 9px 0}
.sd-fv__cue-head span+span{padding-left:14px;border-left:1px solid var(--line)}
.sd-fv__cue-head span:last-child{font-family:var(--font-body);letter-spacing:.08em;font-size:12px}
.sd-fv__span{display:flex;align-items:center;gap:22px;margin:14px 0 6px}
.sd-fv__span b{font:600 italic 4.2222vw/1 var(--en);letter-spacing:-.04em}
.sd-fv__span i{position:relative;flex:1;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.sd-fv.t-is-ready .sd-fv__span i{transform:none}
.sd-fv__span em{position:absolute;top:-4px;left:0;width:9px;height:9px;margin-left:-4px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(242,163,58,.25);opacity:0;transform:scale(.4);transition:opacity .5s var(--ease),transform .5s var(--ease),left 1.5s var(--ease)}
.sd-fv.t-is-cue .sd-fv__span em{opacity:1;transform:none}
.sd-fv.t-is-scene2 .sd-fv__span em{left:100%}
.sd-fv__rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.sd-fv__rows li{display:grid;grid-template-columns:72px 1fr 1fr 48px;align-items:center;height:36px;border-bottom:1px solid var(--line);font-size:14px;font-weight:400;letter-spacing:.08em}
.sd-fv__rows time{font:600 italic 14px/1 var(--en);letter-spacing:.02em}
.sd-fv__rows small{font:600 12px/1 var(--en);letter-spacing:.18em;color:var(--ink2)}
.sd-fv__rows b{justify-self:end;display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--en);letter-spacing:.16em}
.sd-fv__rows b::before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid var(--navy);transition:background-color .5s var(--ease),border-color .5s var(--ease),box-shadow 1.5s var(--ease)}
.sd-fv.t-is-cue .sd-fv__rows b::before{background:var(--amber);border-color:var(--amber)}
.sd-fv.t-is-scene2 .sd-fv__rows b::before{box-shadow:0 0 0 4px rgba(242,163,58,.25)}
.sd-fv__desk{display:none}

/* キャッチ：本文の約13倍。2行目は画面の右端で切る。人物は止まり、スクロールで文字だけが左右へ動く */
.sd-fv__copy{position:absolute;inset:0;z-index:4;pointer-events:none}
.sd-fv__copy a{pointer-events:auto}
.sd-fv__label{display:none;position:absolute;left:36px;bottom:calc(13.5vh + 2.08 * var(--fvc) + 18px);font:600 12px/1 var(--en);letter-spacing:.3em;opacity:0;transition:opacity .5s var(--ease) .7s}
.sd-fv__catch{position:absolute;left:36px;bottom:13.5vh;margin:0;font-size:var(--fvc);font-weight:600;font-style:italic;letter-spacing:-.06em;line-height:1.04;color:var(--navy);white-space:nowrap}
.sd-fv__line{display:block;overflow:hidden;padding:0 .12em .02em 0;transition:transform .5s var(--ease)}
/* 横の量は app.js が字の端を測って決める（--fvx・画面の内側 8px で止まる）。r1 2回目 文字 N7 */
.sd-fv__line{transform:translateX(var(--fvx,0px))}
.sd-fv__line:last-child{padding-left:4vw}
.sd-fv__line>span{display:block;transform:translateY(108%);transition:transform .8s var(--ease) .3s}
.sd-fv__line+.sd-fv__line>span{transition-delay:.38s}
.sd-fv.t-is-lit .sd-fv__line>span{transform:none}
.sd-fv__lead{position:absolute;left:calc(36px + 4.3 * var(--fvc) * .94);bottom:calc(13.5vh + 1.04 * var(--fvc) + 20px);font-size:15px;font-weight:400;line-height:2;letter-spacing:.08em;opacity:0;transition:opacity .5s var(--ease) .8s}
.sd-fv__lead b{font-weight:600}
.sd-fv.t-is-lit .sd-fv__label,.sd-fv.t-is-lit .sd-fv__lead,.sd-fv.t-is-lit .sd-fv__scroll{opacity:1}
.sd-fv__scroll{position:absolute;left:36px;bottom:0;z-index:4;display:flex;align-items:center;gap:12px;font:600 12px/1 var(--en);letter-spacing:.3em;writing-mode:vertical-rl;opacity:0;transition:opacity .5s var(--ease) 1s}
.sd-fv__scroll i{display:block;width:1px;height:56px;background:var(--navy);transform-origin:top;animation:sdScroll 2.2s var(--ease) infinite}
@keyframes sdScroll{0%{transform:scaleY(0)}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- MESSAGE：進行表の1枚目の頭書き（公演・会場・担当の欄）・縦罫は時間軸 ---------- */
.sd-message{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:var(--sec-l) var(--pad) var(--sec) var(--col);align-items:start;column-gap:0}
.sd-message__head{grid-column:1/3;grid-row:1;margin-bottom:28px}
.sd-message__sheet{grid-column:1/3;grid-row:2;display:grid;grid-template-columns:.6fr 1.3fr 1.9fr .8fr;margin:0;border-top:1px solid var(--navy);border-bottom:1px solid var(--line)}
.sd-message__sheet div{padding:12px 16px 12px 0}
.sd-message__sheet div+div{padding-left:16px;border-left:1px solid var(--line)}
.sd-message__sheet dt{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--ink2)}
.sd-message__sheet dd{margin:8px 0 0;font-size:14px;font-weight:400;letter-spacing:.06em;line-height:1.6}
.sd-message__big{grid-column:1/3;grid-row:3;margin-top:41px;font-size:4.2222vw;line-height:1.25}
.sd-message__body{grid-column:2;grid-row:4;position:relative;list-style:none;margin:41px 0 0;padding:0 0 0 3.2vw;font-size:15px;line-height:2.1;letter-spacing:.08em}
.sd-message__body li{position:relative}
.sd-message__body li+li{margin-top:1.4em}
.sd-message__body::before{content:"";position:absolute;left:0;top:.5em;bottom:.5em;width:1px;background:var(--navy)}
.sd-message__body li::before{content:"";position:absolute;left:calc(-3.2vw - 3px);top:.85em;width:7px;height:7px;border-radius:50%;background:#fff;border:1px solid var(--navy)}
.sd-message__body li:first-child::before{background:var(--amber);border-color:var(--amber)}
.sd-message__photo{grid-column:1;grid-row:4;position:relative;width:22vw;aspect-ratio:3/4;margin:41px 0 0}
.sd-message__photo::before{content:"PHOTO  袖から／本番中";position:absolute;left:0;top:calc(100% + 10px);font:600 12px/1 var(--en);letter-spacing:.16em;color:var(--ink2);white-space:pre}

/* ---------- ABOUT（保つ：進行表の帯・写真の散らし） ---------- */
.sd-about{position:relative}
.sd-about .t-about__inner,.sd-about .t-about__body{position:relative;z-index:2}
/* COMPANY の進行表の帯（G・相談311 YES 2026-10-16）：傾けない白い帯を濃紺の罫で上下に区切り、キューの行（番号・合図／開演・終演の時刻）が横に流れる。
   帯の中ほど（JS の PLAY）に来た行だけ照明が入る＝文字が濃紺になり、灯（琥珀の点と下の線）がつく。ほかの行は落ちた色。差し色は文字に使わない（文字 #12） */
.sd-cue{position:absolute;left:0;right:0;top:calc(27vw - 57px);z-index:1;pointer-events:none} /* 2回目（写真 N25）：帯の下端＝03 の下端（27vw）＋1px。03・04 の下端は帯の中で終わり、帯の下に写真の切れ端を出さない */
.sd-cue__band{background:#fff;color:var(--navy);overflow:hidden;white-space:nowrap;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}
.sd-cue__list{display:flex;list-style:none;margin:0;padding:0;width:max-content;will-change:transform}
.sd .sd-cue__row{position:relative;display:inline-flex;align-items:center;gap:12px;flex-shrink:0;height:56px;padding:0 36px;border-right:1px solid var(--line);font-size:15px;font-weight:600;line-height:1;letter-spacing:.1em;color:var(--navy);transition:color .45s var(--ease)}
.sd-cue__row b{font:600 italic 15px/1 var(--en);letter-spacing:.02em}
.sd-cue__row time{font:600 15px/1 var(--en);letter-spacing:.04em}
.sd-cue__lamp{display:block;width:7px;height:7px;border-radius:50%;border:1px solid currentColor;flex-shrink:0;transition:background-color .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease)}
.sd-cue__row::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--amber);transform:scaleX(0)} /* 2回目：照明が抜ける時は線をすぐ消す（縮みかけの短い線を残さない） */
.sd .sd-cue__row.t-is-lit{color:var(--navy)}
.sd-cue__row.t-is-lit .sd-cue__lamp{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 22%,transparent)}
.sd-cue__row.t-is-lit::after{transform:none;transition:transform .45s var(--ease)}
@media (min-width:768px){
  .sd-about .t-about__image-1{left:0;right:auto;top:4vw;width:36vw;height:24vw}
  .sd-about .t-about__image-2{left:auto;right:3.5vw;top:30vw;width:21vw;height:26.25vw}
  .sd-about .t-about__image-3{left:4vw;right:auto;bottom:7vw;width:33vw;height:24.75vw}
  .sd-about .t-about__inner,.sd-about .t-about__body{margin-left:42vw}
}

/* ---------- 本番の1日（保つ：左固定の写真＋右で時刻が進む） ---------- */
.sd-day{position:relative;padding:var(--sec) 0 0}
.sd-day__head{padding:4.6vw var(--pad) 41px 4.6vw}
.sd-day__head .t-index-title{margin-bottom:28px}
.sd-day__lead{margin-top:22px;font-size:15px;line-height:2;letter-spacing:.08em}
.sd-day__grid{display:grid;grid-template-columns:56% 44%}
.sd-day__sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--mist)}
.sd-day__sticky::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,color-mix(in srgb,var(--navy) 62%,transparent) 0%,rgb(from var(--navy) r g b / 0) 38%);pointer-events:none}
.sd-day__imgs{isolation:isolate}
.sd-day__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;z-index:0}
.sd-day__img.t-is-prev{opacity:1;z-index:1}
.sd-day__img.t-is-active{opacity:1;z-index:2;animation:sdDayWipe .5s var(--ease) both,sdDayZoom 2s var(--ease) both}
@keyframes sdDayWipe{from{clip-path:polygon(0 0,0 0,0 0)}to{clip-path:polygon(0 0,200% 0,0 200%)}}
@keyframes sdDayZoom{from{transform:scale(1.04)}to{transform:none}}
.sd-day__clock{position:absolute;left:3.4vw;bottom:4.4vw;z-index:2;color:#fff;display:flex;align-items:baseline;gap:22px}
.sd-day__time{font:600 italic 5vw/1 var(--en);letter-spacing:-.04em}
.sd-day__phase{font:600 12px/1 var(--en);letter-spacing:.32em}
.sd-day__bar{position:absolute;left:3.4vw;right:3.4vw;bottom:2.6vw;height:1px;background:rgba(255,255,255,.4);z-index:2}
.sd-day__bar i{display:block;height:1px;width:0;background:var(--amber);transition:width .5s var(--ease)}
.sd-day__list{list-style:none;margin:0;padding:0}
.sd-day__item{min-height:47vh;display:flex;flex-direction:column;justify-content:center;padding:3.4vw var(--pad) 3.4vw 4.6vw;border-top:1px solid var(--line);opacity:.28;transition:opacity .5s var(--ease)}
.sd-day__item:last-child{border-bottom:1px solid var(--line)}
.sd-day__item.t-is-active{opacity:1}
.sd-day__item-time{font:600 italic 15px/1 var(--en);letter-spacing:.04em;color:var(--navy);display:flex;align-items:center;gap:12px}
.sd-day__item-time::before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid var(--navy);transition:background-color .5s var(--ease),border-color .5s var(--ease)}
.sd-day__item.t-is-active .sd-day__item-time::before{background:var(--amber);border-color:var(--amber)}
.sd-day__item-title{margin-top:22px;font-size:3.125vw;font-weight:600;font-style:italic;letter-spacing:-.04em;line-height:1.3;word-break:auto-phrase}
.sd-day__item-text{margin-top:22px;font-size:15px;line-height:2.1;letter-spacing:.08em;max-width:30em}
.sd-day__item-who{margin-top:22px;font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--ink2)}
.sd-day__item-who::before{content:"担当";margin-right:12px;padding-right:12px;border-right:1px solid var(--line)}

/* ---------- JOBS：6職種を進行表の「担当欄」に。札＝その仕事が呼ばれるキュー（淡い空色の地） ---------- */
.sd-jobs{position:relative;background:var(--mist-l)}
.sd-jobs__elevator{position:sticky;top:0;height:100vh;min-height:620px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:41px}
.sd-jobs__head{padding:0 var(--pad) 0 var(--col);display:grid;grid-template-columns:1fr 1fr auto;align-items:end;column-gap:4vw}
.sd-jobs__head .t-index-title{grid-column:1/4;margin-bottom:22px}
.sd-jobs__lead{font-size:15px;line-height:2;letter-spacing:.08em}
.sd-jobs__track{overflow:hidden}
.sd-jobs__list{display:flex;gap:2vw;list-style:none;margin:0;padding:0 var(--pad) 0 var(--col);width:max-content;will-change:transform;border-top:1px solid var(--navy)}
.sd-job{flex:0 0 min(19.5vw,33vh);padding-top:14px}
.sd-job__link{display:block;color:var(--navy);text-decoration:none}
.sd-job__cue{display:flex;align-items:center;gap:8px;height:28px;margin-bottom:12px;font-size:12px;font-weight:600;letter-spacing:.06em;border-bottom:1px solid var(--line)}
.sd-job__cue b{font:600 italic 14px/1 var(--en);letter-spacing:.02em;margin-right:4px}
.sd-job__photo{display:block;aspect-ratio:3/4;background:#d6dde6}
.sd-job__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.sd-job__link:hover .sd-job__photo img{transform:scale(1.04)}
.sd-job__en{display:block;margin-top:18px;font:600 italic 20px/1.1 var(--en);letter-spacing:-.02em}
.sd-job__ja{display:block;margin-top:8px;font-size:14px;font-weight:600;letter-spacing:.1em}
.sd-job__text{display:block;margin-top:12px;font-size:14px;line-height:1.95;letter-spacing:.06em;color:var(--ink2)}

/* ---------- CREW：エンドロール → 進行表の巻末のスタッフ表（持ち場・名前・入社・無線） ---------- */
.sd-crew{position:relative;padding:var(--sec) var(--pad) var(--sec) var(--col)}
.sd-crew__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:4vw}
.sd-crew__head .t-index-title{grid-column:1/3;margin-bottom:28px}
.sd-crew__lead{font-size:15px;line-height:2;letter-spacing:.08em}
.sd-crew__body{display:grid;grid-template-columns:minmax(0,1fr) 20vw;gap:4vw;margin-top:41px;align-items:start}
.sd-crew__cols,.sd-crew__link{display:grid;grid-template-columns:minmax(0,1fr) 132px 78px 78px 32px;align-items:center;column-gap:20px}
.sd-crew__cols{margin:0;padding:0 0 10px;border-bottom:1px solid var(--navy);font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--ink2)}
.sd-crew__list{list-style:none;margin:0;padding:0}
.sd-crew__row{border-bottom:1px solid var(--line)}
.sd-crew__link{position:relative;padding:1.5vw 0;color:var(--navy);text-decoration:none}
.sd-crew__link::before{content:"";position:absolute;left:-1.6vw;top:0;bottom:0;width:1px;background:var(--amber);transform:scaleY(0);transition:transform .5s var(--ease)}
.sd-crew__thumb{display:none}
.sd-crew__role{white-space:nowrap;font:600 italic 20px/1 var(--en);letter-spacing:-.04em;opacity:.3;transition:opacity .5s var(--ease)}
.sd-crew__name{font:600 15px/1 var(--en);letter-spacing:.1em}
.sd-crew__name small,.sd-crew__year small{display:block;margin-top:8px;font-family:var(--font-body);font-size:12px;font-weight:400;letter-spacing:.06em;color:var(--ink2)}
.sd-crew__year{font:600 15px/1 var(--en);letter-spacing:.06em}
.sd-crew__ch{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--en);letter-spacing:.1em}
.sd-crew__go{position:relative;justify-self:end;display:block;width:24px;height:1px;background:var(--navy);transition:width .5s var(--ease)}
.sd-crew__go::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid var(--navy);border-right:1px solid var(--navy);transform:rotate(45deg)}
.sd-crew__row.t-is-active .sd-crew__role{opacity:1}
.sd-crew__row.t-is-active .sd-crew__link::before{transform:none}
.sd-crew__row.t-is-active .sd-lamp{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 22%,transparent)}
.sd-crew__row.t-is-active .sd-crew__go{width:40px}
.sd-crew__photo{position:sticky;top:14vh;aspect-ratio:3/4;background:#d6dde6}
.sd-crew__img{display:block;width:100%;height:100%;object-fit:cover}
.sd-crew__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;margin:0;padding:10px 12px;background:rgba(255,255,255,.92);font:600 12px/1 var(--en);letter-spacing:.18em;color:var(--navy)}
.sd-crew__more{margin-top:41px}

/* ---------- CULTURE：行き先を進行表の「次の場面」の行（キュー番号・時刻・行き先）に ---------- */
.sd-culture{position:relative}
@media (min-width:768px){
  .sd-culture .t-culture__image-1{left:auto;right:0}
  .sd-culture .t-culture__image-2{left:auto;right:24vw}
  .sd-culture .t-culture__inner{justify-content:flex-start}
  .sd-culture .t-culture__image-3-wrapper{text-align:left}
  .sd-culture .t-culture__image-3{margin-left:0;width:34.375vw;height:25.78vw}
}
.sd-culture .t-culture__inner{position:relative;z-index:2}
.sd-scenes{margin-top:34px;max-width:520px}
.sd-scenes__head{display:flex;gap:14px;margin:0;padding-bottom:10px;border-bottom:1px solid var(--navy);font:600 12px/1 var(--en);letter-spacing:.18em;color:var(--ink2)}
.sd-scenes__head span+span{font-family:var(--font-body);letter-spacing:.1em}
.sd-scenes__list{list-style:none;margin:0;padding:0}
.sd-scenes__list li{border-bottom:1px solid var(--line)}
.sd-scene{display:grid;grid-template-columns:5.2em 4.2em minmax(0,1fr) 40px;align-items:center;height:52px;color:var(--navy);text-decoration:none}
.sd-scene__q{font:600 italic 12px/1 var(--en);letter-spacing:.02em;color:var(--ink2)}
.sd-scene__t{font:600 14px/1 var(--en);letter-spacing:.04em}
.sd-scene__name{font-size:15px;font-weight:400;letter-spacing:.08em;white-space:nowrap}
.sd-scene i{position:relative;justify-self:end;display:block;width:20px;height:1px;background:var(--navy);transition:width .5s var(--ease)}
.sd-scene i::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid var(--navy);border-right:1px solid var(--navy);transform:rotate(45deg)}
.sd-scene:hover i{width:36px}
.sd-scene:hover .sd-scene__q{color:var(--c-accent-ink)}

/* ---------- NEXT：進行表の最後の行「NEXT CUE」（次のキュー番号と次のページ・押すと STAND BY → GO） ---------- */
.sd-next{padding:var(--sec) var(--pad) var(--sec) var(--col);border-top:1px solid var(--line)}
.sd-next__link{display:grid;grid-template-columns:12vw minmax(0,1fr) auto;align-items:center;column-gap:3vw;color:var(--navy);text-decoration:none}
.sd-next__cue{display:flex;flex-direction:column;gap:10px;padding-right:3vw;border-right:1px solid var(--line)}
.sd-next__en{white-space:nowrap;font:600 12px/1 var(--en);letter-spacing:.22em;color:var(--ink2)}
.sd-next__q{font:600 italic 3.125vw/1 var(--en);letter-spacing:-.04em}
.sd-next__time{font:600 14px/1 var(--en);letter-spacing:.06em}
.sd-next__main{display:block}
.sd-next__title,.sd-next__text{display:block}
.sd-next__title.sd-h,.sd-crew__title.sd-h{font-weight:700}
.sd-next__text{margin-top:16px;font-size:15px;line-height:2;letter-spacing:.08em}
.sd-next__go{display:flex;align-items:center;gap:12px;height:56px;padding:0 22px;border:1px solid var(--navy);font:600 12px/1 var(--en);letter-spacing:.2em;transition:background-color .5s var(--ease),color .5s var(--ease)}
.sd-next__st{min-width:6.6em}
.sd-next__gw{display:none}
.sd-next__page{padding-left:12px;border-left:1px solid currentColor}
.sd-next__link:hover .sd-next__go{background:var(--navy);color:#fff}
.sd-next__link:hover .sd-next__sb{display:none}.sd-next__link:hover .sd-next__gw{display:inline}

/* ---------- JOIN：進行表の最終キュー「Q.LAST」。濃紺の面と弧の窓 → 淡い空色の地・合図の並び（STAND BY → GO） ---------- */
.sd-join{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36vw;align-items:center;column-gap:4vw;padding:var(--sec) 0 var(--sec) var(--col);background:var(--mist-l);overflow:hidden}
.sd-join__cue{display:flex;align-items:baseline;gap:16px;margin:0;font:600 12px/1 var(--en);letter-spacing:.24em;color:var(--ink2)}
.sd-join__cue b{font:600 italic 20px/1 var(--en);letter-spacing:-.02em;color:var(--navy)}
.sd-join__cue span:last-child{font-family:var(--font-body);letter-spacing:.1em}
.sd-join__title{margin:24px 0 0}
.sd-join__ja{display:block;white-space:nowrap;font-size:5vw;font-weight:700;font-style:italic;letter-spacing:-.06em;line-height:1.15;color:var(--navy)}
.sd-join__text{margin-top:28px;font-size:15px;line-height:2.1;letter-spacing:.08em}
.sd-join__cues{list-style:none;display:grid;grid-template-columns:1fr 1fr;max-width:620px;margin:41px 0 0;padding:0;border-top:1px solid var(--navy)}
.sd-cuebtn{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:10px;column-gap:16px;padding:18px 22px 20px 0;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--navy);transition:background-color .5s var(--ease),color .5s var(--ease),padding .5s var(--ease)}
.sd-join__cues li+li .sd-cuebtn{padding-left:22px;border-left:1px solid var(--line)}
.sd-cuebtn__st{grid-column:1/3;display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--en);letter-spacing:.2em;color:var(--ink2)}
.sd-cuebtn__label{white-space:nowrap;font-size:18px;font-weight:600;letter-spacing:.08em}
.sd-cuebtn__go{white-space:nowrap;justify-self:end;align-self:center;font:600 italic 12px/1 var(--en);letter-spacing:.06em}
.sd-cuebtn:hover{background:var(--navy);color:#fff;padding-left:22px}
.sd-cuebtn:hover .sd-cuebtn__st{color:rgba(255,255,255,.75)}
.sd-cuebtn--go .sd-cuebtn__st .sd-lamp{background:var(--amber);border-color:var(--amber)}
.sd-join__photo{position:relative;margin:0;aspect-ratio:4/3;background:#d6dde6}
.sd-join__img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- フッター：進行表の欄外（CUE LIST・版・配布先・サンプルの断り） ---------- */
.sd-footer{padding:var(--sec) var(--pad) 32px;border-top:1px solid var(--navy)}
.sd-footer__inner{display:grid;grid-template-columns:1.1fr 1.2fr .9fr;gap:4vw;align-items:start}
.sd-footer__catch{margin-top:22px;font-size:15px;font-weight:600;font-style:italic;letter-spacing:-.02em}
.sd-footer__head{display:flex;gap:12px;align-items:baseline;font:600 12px/1 var(--en);letter-spacing:.24em;color:var(--ink2);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--navy)}
.sd-footer__head span{font-family:var(--font-body);font-size:12px;letter-spacing:.1em;font-weight:400}
.sd-footer__link{display:grid;grid-template-columns:4.4em 3.6em 6.4em 1fr;align-items:center;font-size:15px;font-weight:400;letter-spacing:.08em;color:var(--navy);text-decoration:none;padding:9px 0;border-bottom:1px solid var(--line);transition:color .5s var(--ease)}
.sd-footer__link b{font:600 italic 12px/1 var(--en);letter-spacing:.02em;color:var(--ink2)}
.sd-footer__link time{font:600 12px/1 var(--en);letter-spacing:.04em}
.sd-footer__link span{font:600 12px/1 var(--en);letter-spacing:.16em}
.sd-footer__link:hover b{color:var(--c-accent-ink)}
.sd-footer__dl{display:grid;grid-template-columns:auto 1fr;gap:12px 20px;margin:0;font-size:12px;line-height:1.8;letter-spacing:.06em}
.sd-footer__dl dt{font-weight:600}.sd-footer__dl dd{margin:0}
.sd-footer__margin{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:41px;padding-top:14px;border-top:1px dashed var(--line);font-size:12px;letter-spacing:.06em;color:var(--ink2)}
.sd-footer__note{display:flex;flex-wrap:wrap;gap:6px 0;margin:0;line-height:1.7}
.sd-footer__note span{padding-right:14px;margin-right:14px;border-right:1px solid var(--line)}
.sd-footer__note span:first-child{font:600 12px/1.7 var(--en);letter-spacing:.14em;color:var(--navy)}
.sd-footer__note span:last-child{border:0;margin:0;padding:0}
.sd-footer__copy.t-footer__copy{margin:0;padding:0;line-height:1.6;text-align:right;white-space:nowrap}

/* ---------- スマホ（トップ） ---------- */
@media (max-width:767px){
  :root{--pad:5.3vw;--col:5.3vw;--sec:9vw;--sec-l:30vw}
  .sd-menu-btn.t-header__menu-button{display:flex}
  .sd .t-header{height:80px;padding:0 15px;align-items:center}
  .sd-logo .sd-mark{height:26px}.sd-logo__word{font-size:19px}.sd-logo__sub{font-size:10px}
  .sd-h{font-size:8.5333vw;line-height:1.06}
  .sd .t-sp-menu__link{gap:14px}

  /* FV（SP）：上に写真・下は紙。キャッチは紙の上で、1行目を画面の右端で切る */
  .sd-fv{height:100svh;min-height:600px}
  .sd-fv__photo{bottom:auto;height:56%}
  .sd-fv__frame--main{--r:.75;--px:.5;--py:.38}
  .sd-fv__frame--a{--px:.1;--py:.5}
  .sd-fv__photo{--lit-shape:ellipse 150% 120% at 10% -25%}
  .sd-fv__cue{left:var(--pad);right:var(--pad);top:auto;bottom:calc(44% + 14px);width:auto}
  .sd-fv__cue-head{display:none}
  .sd-fv__rows{display:none}
  .sd-fv__span{margin:0;gap:12px;padding:8px 10px;background:rgba(255,255,255,.88)}
  .sd-fv__span b{font-size:7vw}
  .sd-fv{--fvc:11.4vw}
  .sd-fv__label{display:block;left:var(--pad);bottom:calc(9vw + 2.04 * var(--fvc) + 13px * 4 + 28px);font-size:10px;letter-spacing:.2em}
  .sd-fv__lead{left:var(--pad);right:var(--pad);bottom:calc(9vw + 2.04 * var(--fvc) + 12px);font-size:13px;line-height:1.9}
  .sd-fv__catch{left:var(--pad);bottom:9vw;font-size:var(--fvc);line-height:1.02}
  .sd-fv__line:last-child{padding-left:0}
  .sd-fv__scroll{display:none}

  .sd-message{display:block;padding:var(--sec-l) var(--pad) var(--sec)}
  .sd-message__sheet{grid-template-columns:1fr 1fr;margin-top:30px}
  .sd-message__sheet div:nth-child(4){order:1;border-left:1px solid var(--line);padding-left:16px}
  .sd-message__sheet div:nth-child(2),.sd-message__sheet div:nth-child(3){order:2;grid-column:1/3;border-left:0;padding-left:0;border-top:1px solid var(--line)}
  .sd-message__big{margin-top:30px;font-size:8.5333vw;line-height:1.06}
  .sd-message__body{margin-top:30px;padding-left:6vw;font-size:13px}
  .sd-message__body li::before{left:calc(-6vw - 3px)}
  .sd-message__photo{width:58vw;margin:30px 0 0 auto}
  .sd-cue{top:calc(41.3vw - 45px)} /* 2回目：帯の下端＝SP の 03 の下端（41.3vw）＋1px */
  .sd .sd-cue__row{height:44px;padding:0 20px;gap:8px;font-size:12px;letter-spacing:.08em}
  .sd-cue__row b,.sd-cue__row time{font-size:13px}
  .sd-cue__lamp{width:6px;height:6px}
  .sd-about{padding-top:62vw}
  .sd-about .t-about__image-1{position:absolute;top:0;right:0;left:auto;width:62vw;height:41.3vw}
  .sd-about .t-about__image-2{position:relative;top:auto;right:auto;bottom:auto;left:auto;display:block;width:52vw;height:65vw;margin:12vw 0 0 auto}

  .sd-day{padding-top:var(--sec)}
  .sd-day__head{display:block;padding:0 var(--pad) 30px}
  .sd-day__head .t-index-title{margin-bottom:0}
  .sd-day__title{margin-top:24px}
  .sd-day__lead{margin-top:20px;font-size:13px}
  .sd-day__grid{display:flex;flex-direction:column}
  .sd-day__col{display:contents}
  .sd-day__head{order:-1}
  .sd-day__sticky{top:0;height:44vh;z-index:3}
  .sd-day__time{font-size:15vw}
  .sd-day__clock{left:var(--pad);bottom:7vw}
  .sd-day__bar{left:var(--pad);right:var(--pad);bottom:4.6vw}
  .sd-day__item{min-height:34vh;padding:7vw var(--pad)}
  .sd-day__item-title{font-size:6.4vw}
  .sd-day__item-text{font-size:13px}

  .sd-jobs__elevator{position:relative;height:auto;min-height:0;padding:var(--sec) 0;gap:30px}
  .sd-jobs__head{display:block;padding:0 var(--pad)}
  .sd-jobs__title{margin-top:24px}
  .sd-jobs__lead{margin-top:20px;font-size:13px}
  .sd-jobs__head .sd-more{margin-top:20px}
  .sd-jobs__track{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-padding-left:var(--pad)}
  .sd-jobs__track::-webkit-scrollbar{display:none}
  .sd-jobs__list{gap:4vw;padding:0 var(--pad)}
  .sd-job{flex-basis:66vw;scroll-snap-align:start}
  .sd-job__en{font-size:5.4vw}

  .sd-crew{padding:var(--sec) var(--pad)}
  .sd-crew__head{display:block}
  .sd-crew__title{margin-top:24px}
  .sd-crew__lead{margin-top:20px;font-size:13px}
  .sd-crew__body{display:block;margin-top:30px}
  .sd-crew__cols{display:none}
  .sd-crew__list{border-top:1px solid var(--navy)}
  .sd-crew__link{grid-template-columns:64px minmax(0,1fr) auto 20px;grid-template-rows:auto auto auto;column-gap:14px;row-gap:6px;padding:14px 0}
  .sd-crew__link::before{display:none}
  .sd-crew__thumb{display:block;width:64px;aspect-ratio:3/4;background:#d6dde6;grid-row:1/4}
  .sd-crew__thumb img{display:block;width:100%;height:100%;object-fit:cover}
  .sd-crew__role{grid-column:2/4;font-size:5.6vw;opacity:1}
  .sd-crew__name{grid-column:2;grid-row:2;font-size:13px}
  .sd-crew__name small{display:inline;margin:0 0 0 8px}
  .sd-crew__year{grid-column:2;grid-row:3;font-size:12px}
  .sd-crew__year small{display:inline;margin:0 0 0 6px}
  .sd-crew__ch{grid-column:3;grid-row:2/4;font-size:12px}
  .sd-crew__go{grid-column:4;grid-row:1/4;width:16px}
  .sd-crew__row.t-is-active .sd-crew__go{width:20px}
  .sd-crew__more{margin-top:30px}
  .sd-crew__more .sd-btn{width:100%}

  .sd-scenes{margin-top:24px}
  .sd-scene{grid-template-columns:4.6em 3.6em minmax(0,1fr) 24px;height:48px}
  .sd-scene__name{font-size:13px}

  .sd-next{padding:var(--sec) var(--pad)}
  .sd-next__link{grid-template-columns:auto minmax(0,1fr);row-gap:20px}
  .sd-next__cue{padding-right:5vw}
  .sd-next__q{font-size:11vw}
  .sd-next__text{font-size:13px}
  .sd-next__go{grid-column:1/3;justify-content:space-between}

  .sd-join{display:block;padding:var(--sec) var(--pad)}
  .sd-join__ja{font-size:8.5333vw;line-height:1.06;white-space:normal}
  .sd-join__text{font-size:13px}
  .sd-join__cues{grid-template-columns:1fr;margin-top:30px}
  .sd-join__cues li+li .sd-cuebtn{padding-left:0;border-left:0}
  .sd-cuebtn:hover{padding-left:14px}
  .sd-join__photo{margin-top:30px}

  .sd-footer{padding:var(--sec) var(--pad) 28px}
  .sd-footer__inner{grid-template-columns:1fr;gap:30px}
  .sd-footer__link{grid-template-columns:4.2em 3.4em 6em 1fr}
  .sd-footer__margin{flex-direction:column;align-items:flex-start;margin-top:30px}
  .sd-footer__copy.t-footer__copy{text-align:left}
}

/* ======================================================================
   下層（共通）
   ====================================================================== */
.sd-lower .t-lower{padding-top:120px}
.sd .t-lower-breadcrumb__item+.t-lower-breadcrumb__item:before{width:14px;height:1px;border-radius:0;background:var(--amber)}
.sd-lmv .t-lower-mv__subtitle{filter:drop-shadow(0 0 15px var(--sky))}
.sd-reveal{position:relative;overflow:hidden;clip-path:inset(0 50% 0 50%);transition:clip-path 1.7s cubic-bezier(.77,0,.18,1) .2s;background:var(--navy)}
.sd-reveal.t-is-open{clip-path:inset(0 0 0 0)}
.sd-reveal__img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.12);transition:transform 2.8s cubic-bezier(.19,1,.22,1) .2s,filter 1.4s ease 1.3s}
.sd-reveal.t-is-open .sd-reveal__img{filter:grayscale(0);transform:scale(1)}
.sd-lmv__window{width:100%;aspect-ratio:21/9;max-height:78vh;margin-top:6vw}
.sd-lower .t-lower-title{display:flex;align-items:center}
.sd-lower section:not(.t-lower-mv) .t-lower-title{width:auto;max-width:100%;margin-left:0;margin-right:0}
.sd-lower .t-lower-title__en{display:inline-flex;align-items:center;gap:10px}
.sd-lower .t-lower-title__en::before{content:"";width:1px;height:1.4em;background:var(--amber);box-shadow:0 0 6px var(--amber)}

/* ---------- about：代表メッセージ（写真右・文章左に入れ替え） ---------- */
.sd-ceo{position:relative;display:grid;grid-template-columns:var(--pad) minmax(0,1fr) 40vw;margin-top:10vw;align-items:start}
.sd-ceo__photo{grid-column:3;grid-row:1;aspect-ratio:3/4;position:relative}
.sd-ceo__card{grid-column:2;grid-row:1;position:relative;z-index:2;margin:9vw -6vw 0 0;padding:5vw 5.6vw 4.6vw;background:#fff}
.sd-ceo__title{margin-top:3vw}
.sd-ceo__text{margin-top:2.6vw;font-size:14px;line-height:2.2;letter-spacing:.06em}
.sd-ceo__text p+p{margin-top:1.4em}
.sd-ceo__sign{margin-top:3vw;display:flex;align-items:baseline;justify-content:flex-end;gap:18px;font-size:12px;font-weight:600;letter-spacing:.1em}
.sd-ceo__sign b{font-size:24px;font-style:italic;letter-spacing:.02em}

/* ---------- about：目指す姿 ---------- */
.sd-vision{position:relative;display:grid;grid-template-columns:52vw minmax(0,1fr);margin-top:12vw;align-items:center}
.sd-vision__img{aspect-ratio:4/3;position:relative}
.sd-vision__body{padding:0 var(--pad) 0 5.4vw}
.sd-vision__copy{margin-top:2.6vw;font-size:3.6vw;filter:drop-shadow(0 0 15px var(--sky))}
.sd-vision__lead{margin-top:2.6vw;font-size:15px;font-weight:600;line-height:2;letter-spacing:.08em}
.sd-vision__text{margin-top:1.6vw;font-size:14px;line-height:2.2;letter-spacing:.06em}

/* ---------- about：5つの合図（進行表の行） ---------- */
.sd-values{padding:12vw var(--pad) 0 var(--col)}
.sd-values__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:4vw}
.sd-values__head .t-lower-title{grid-column:1/3;margin-bottom:28px}
.sd-values__lead{font-size:14px;line-height:2.1;letter-spacing:.08em}
.sd-values__list{list-style:none;margin:5vw 0 0;padding:0;border-top:1px solid var(--line)}
.sd-value{position:relative;display:grid;grid-template-columns:24vw 8vw 1fr;align-items:baseline;gap:2vw;padding:2.6vw 0;border-bottom:1px solid var(--line)}
.sd-value::before{content:"";position:absolute;left:-2.2vw;top:50%;width:1px;height:0;background:var(--amber);box-shadow:0 0 8px var(--amber);transform:translateY(-50%);transition:height .6s cubic-bezier(.77,0,.18,1)}
.sd-value:hover::before{height:60%}
.sd-value__cue{font:600 italic 2.9vw/1 var(--en);letter-spacing:-.04em;color:var(--navy);transform:translateX(-14px);opacity:0;transition:transform .9s cubic-bezier(.19,1,.22,1),opacity .9s ease,filter .4s}
.sd-value.t-is-ScrollActive .sd-value__cue{transform:none;opacity:1}
.sd-value:hover .sd-value__cue{filter:drop-shadow(0 0 12px var(--sky))}
.sd-value__ja{font-size:15px;font-weight:600;letter-spacing:.14em}
.sd-value__text{font-size:13.5px;line-height:2.1;letter-spacing:.06em}

/* ---------- about：働く場所（スライダー） ---------- */
.sd-gallery{padding:12vw 0 0}
.sd-gallery__head{display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad) 0 var(--col)}
.sd-gallery__nav{display:flex;align-items:center;gap:26px;flex-shrink:0;white-space:nowrap}
.sd-gallery__count{display:flex;align-items:baseline;gap:8px;font:600 13px/1 var(--en);letter-spacing:.1em}
.sd-gallery__count b{font-size:22px;font-style:italic}
.sd-gallery__btn{border:0;background:none;padding:6px 0;font:600 11px/1 var(--en);letter-spacing:.24em;color:var(--navy);cursor:pointer;border-bottom:1px solid transparent;transition:border-color .3s}
.sd-gallery__btn:hover{border-color:var(--navy)}
.sd-gallery__slider{margin-top:3.4vw;padding-left:var(--col);overflow:hidden}
.sd-gallery__item{width:40vw;margin:0}
.sd-gallery__item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.sd-gallery__item figcaption{margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.12em;display:flex;align-items:center;gap:10px}
.sd-gallery__item figcaption::before{content:"";width:14px;height:1px;background:var(--amber)}
.sd-gallery__bar{margin:2.6vw var(--pad) 0 var(--col);height:1px;background:var(--line)}
.sd-gallery__bar i{display:block;height:1px;width:16.6%;background:var(--navy);transition:width .6s cubic-bezier(.77,0,.18,1)}

/* ---------- about：事業（左右非対称の並び） ---------- */
.sd-service{padding:12vw var(--pad) 10vw var(--col)}
.sd-service__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:4vw}
.sd-service__head .t-lower-title{grid-column:1/3;margin-bottom:28px}
.sd-service__lead{font-size:14px;line-height:2.1;letter-spacing:.08em}
.sd-service__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:2vw;row-gap:6vw;margin-top:6vw}
.sd-svc__photo{position:relative;aspect-ratio:3/2}
.sd-svc--a{grid-column:1/8}
.sd-svc--b{grid-column:9/13;margin-top:12vw}
.sd-svc--c{grid-column:3/9}
.sd-svc__en{margin-top:20px;font:600 italic 1.7vw/1 var(--en);letter-spacing:-.03em;filter:drop-shadow(0 0 10px var(--sky))}
.sd-svc__ja{margin-top:10px;font-size:14px;font-weight:600;letter-spacing:.12em}
.sd-svc__text{margin-top:14px;font-size:13px;line-height:2.05;letter-spacing:.06em;max-width:34em}

@media (max-width:767px){
  .sd-lower .t-lower{padding-top:90px}
  .sd-lmv__window{aspect-ratio:4/3;margin-top:12vw}
  .sd-ceo{display:block;margin-top:16vw}
  .sd-ceo__photo{width:78vw;margin-left:auto}
  .sd-ceo__card{margin:-16vw var(--pad) 0;padding:9vw 6vw}
  .sd-ceo__title{margin-top:6vw}
  .sd-ceo__text{margin-top:6vw;font-size:13px}
  .sd-ceo__sign{margin-top:7vw}
  .sd-vision{display:block;margin-top:18vw}
  .sd-vision__img{width:88vw}
  .sd-vision__body{padding:10vw var(--pad) 0}
  .sd-vision__copy{margin-top:7vw;font-size:8.5vw}
  .sd-vision__lead{margin-top:7vw;font-size:14px}
  .sd-vision__text{margin-top:4vw;font-size:13px}
  .sd-values{padding:18vw var(--pad) 0}
  .sd-values__head{display:block}
  .sd-values__title{margin-top:7vw}
  .sd-values__lead{margin-top:6vw;font-size:13px}
  .sd-values__list{margin-top:10vw}
  .sd-value{grid-template-columns:1fr auto;gap:10px 16px;padding:7vw 0}
  .sd-value__cue{font-size:8vw}
  .sd-value__text{grid-column:1/3;font-size:13px}
  .sd-gallery{padding-top:18vw}
  .sd-gallery__head{display:block;padding:0 var(--pad)}
  .sd-gallery__nav{margin-top:7vw}
  .sd-gallery__slider{padding-left:var(--pad);margin-top:7vw}
  .sd-gallery__item{width:76vw}
  .sd-gallery__bar{margin:6vw var(--pad) 0}
  .sd-service{padding:18vw var(--pad) 16vw}
  .sd-service__head{display:block}
  .sd-service__title{margin-top:7vw}
  .sd-service__lead{margin-top:6vw;font-size:13px}
  .sd-service__grid{display:block;margin-top:10vw}
  .sd-svc+.sd-svc{margin-top:12vw}
  .sd-svc--b{margin-left:14vw}
  .sd-svc__en{font-size:6vw}
}

/* ---------- culture：社風（中央の光の線を挟んで左右交互） ---------- */
.sd-ways{position:relative;padding:12vw var(--pad) 4vw var(--col)}
.sd-ways__list{position:relative;list-style:none;margin:5vw 0 0;padding:0;counter-reset:way}
.sd-ways__list::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--sky);box-shadow:0 0 12px 1px var(--sky)}
.sd-way{position:relative;width:calc(50% - 4vw);padding:2vw 0 3vw;counter-increment:way}
.sd-way:nth-child(even){margin-left:calc(50% + 4vw)}
.sd-way:nth-child(n+2){margin-top:-5vw}
.sd-way__title::before{content:"0" counter(way);display:block;margin-bottom:1.2vw;font:600 italic 1.1vw/1 var(--en);letter-spacing:.04em;color:var(--sky);filter:drop-shadow(0 0 6px var(--sky))}
.sd-way::after{content:"";position:absolute;top:2.5vw;width:4vw;height:1px;background:var(--sky)}
.sd-way:nth-child(odd)::after{right:-4vw}.sd-way:nth-child(even)::after{left:-4vw}
.sd-way__title{font-size:2.8vw}
.sd-way__text{margin-top:1.8vw;font-size:14px;line-height:2.2;letter-spacing:.06em}

/* ---------- culture：育成の4段階（1本の線でつながる） ---------- */
.sd-growth{padding:10vw var(--pad) 0 var(--col)}
.sd-growth__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:4vw}
.sd-growth__head .t-lower-title{grid-column:1/3;margin-bottom:28px}
.sd-growth__lead{font-size:14px;line-height:2.1;letter-spacing:.08em}
.sd-growth__list{position:relative;list-style:none;margin:5.4vw 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:2vw}
.sd-step{position:relative}
.sd-step:nth-child(2){margin-top:4vw}.sd-step:nth-child(3){margin-top:8vw}.sd-step:nth-child(4){margin-top:12vw}
.sd-step__photo{position:relative;aspect-ratio:4/3}
.sd-step__when{position:relative;margin-top:22px;padding-top:16px;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--ink2)}
.sd-step__when::before{content:"";position:absolute;left:0;right:-2vw;top:0;height:1px;background:var(--line)}
.sd-step__when::after{content:"";position:absolute;left:0;top:-6px;width:1px;height:13px;background:var(--amber);box-shadow:0 0 6px var(--amber)}
.sd-step:last-child .sd-step__when::before{right:0}
.sd-step__name{margin-top:12px;display:flex;align-items:baseline;gap:12px;font-size:15px;font-weight:600;letter-spacing:.12em}
.sd-step__en{font:600 italic 1.9vw/1 var(--en);letter-spacing:-.03em;filter:drop-shadow(0 0 10px var(--sky))}
.sd-step__text{margin-top:12px;font-size:13px;line-height:2.05;letter-spacing:.06em}

/* ---------- culture：福利厚生（3つの分類の一覧） ---------- */
.sd-benefit{padding:12vw var(--pad) 10vw var(--col)}
.sd-benefit__head .t-lower-title{margin-bottom:28px}
.sd-benefit__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:3.4vw;margin-top:5vw}
.sd-benefit__group{border-top:1px solid var(--navy);padding-top:22px}
.sd-benefit__en{font:600 italic 1.9vw/1 var(--en);letter-spacing:-.03em}
.sd-benefit__ja{margin-top:8px;font-size:13px;font-weight:600;letter-spacing:.14em}
.sd-benefit__dl{margin:22px 0 0}
.sd-benefit__dl dt{padding-top:16px;border-top:1px solid var(--line);font-size:14px;font-weight:600;letter-spacing:.08em;display:flex;align-items:center;gap:10px}
.sd-benefit__dl dt::before{content:"";width:14px;height:1px;background:var(--amber)}
.sd-benefit__dl dd{margin:8px 0 18px;font-size:12.5px;line-height:2;letter-spacing:.05em}

/* ---------- culture：数字で見る（濃紺の面） ---------- */
.sd-data{background:var(--navy);color:#fff;padding:9vw var(--pad) 9vw var(--col)}
.sd-data .t-lower-title{color:#fff}
.sd-data__head{display:flex;justify-content:space-between;align-items:end;gap:4vw}
.sd-data__note{font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.7)}
.sd-data__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;margin-top:4vw;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.sd-panel{grid-column:span 4;background:var(--navy);padding:2.6vw 2.4vw;display:flex;flex-direction:column}
.sd-panel--month{grid-column:span 8}
.sd-panel--half{grid-column:span 6}
.sd-panel__label{font-size:13px;font-weight:600;letter-spacing:.12em;display:flex;align-items:center;gap:10px}
.sd-panel__label::before{content:"";width:1px;height:14px;background:var(--amber);box-shadow:0 0 6px var(--amber)}
.sd-panel__foot{margin-top:auto;padding-top:18px;font-size:12px;line-height:1.9;letter-spacing:.05em;color:rgba(255,255,255,.72)}
.sd-num{margin-top:2vw;display:flex;align-items:baseline;gap:8px}
.sd-num b{font:600 italic 6.2vw/1 var(--en);letter-spacing:-.04em;filter:drop-shadow(0 0 14px var(--sky))}
.sd-num small{font-size:16px;font-weight:600}
.sd-month{margin-top:2vw}
.sd-month__bars{display:grid;grid-template-columns:repeat(12,1fr);align-items:end;gap:.8vw;height:15vw;border-bottom:1px solid rgba(255,255,255,.4)}
.sd-month__bars span{position:relative;height:calc(var(--v) / 58 * 100%);background:rgba(159,218,245,.55);transform:scaleY(0);transform-origin:bottom;transition:transform 1s cubic-bezier(.19,1,.22,1)}
.sd-month__bars span.t-is-peak{background:var(--sky);box-shadow:0 0 14px rgba(159,218,245,.8)}
.sd-month__bars b{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);font:600 11px/1 var(--en);opacity:0;transition:opacity .4s ease 1s}
.sd-month__axis{display:grid;grid-template-columns:repeat(12,1fr);gap:.8vw;margin-top:10px;font-size:11px;text-align:center;color:rgba(255,255,255,.75)}
.sd-data.t-is-ScrollActive .sd-month__bars span{transform:scaleY(1)}
.sd-data.t-is-ScrollActive .sd-month__bars b{opacity:1}
.sd-month__bars span:nth-child(1){transition-delay:0.00s}.sd-month__bars span:nth-child(2){transition-delay:0.05s}.sd-month__bars span:nth-child(3){transition-delay:0.10s}.sd-month__bars span:nth-child(4){transition-delay:0.15s}.sd-month__bars span:nth-child(5){transition-delay:0.20s}.sd-month__bars span:nth-child(6){transition-delay:0.25s}.sd-month__bars span:nth-child(7){transition-delay:0.30s}.sd-month__bars span:nth-child(8){transition-delay:0.35s}.sd-month__bars span:nth-child(9){transition-delay:0.40s}.sd-month__bars span:nth-child(10){transition-delay:0.45s}.sd-month__bars span:nth-child(11){transition-delay:0.50s}.sd-month__bars span:nth-child(12){transition-delay:0.55s}
.sd-split{display:flex;margin-top:2.4vw;height:46px;font-size:12px;font-weight:600;letter-spacing:.06em}
.sd-split span{display:flex;align-items:center;padding:0 12px;white-space:nowrap;width:calc(var(--w) * 1%)}
.sd-split span:first-child{background:var(--sky);color:var(--navy)}
.sd-split span:last-child{background:rgba(255,255,255,.14)}
.sd-hbars{list-style:none;margin:2vw 0 0;padding:0}
.sd-hbars li{display:grid;grid-template-columns:9.5em 1fr 4em;align-items:center;gap:14px;padding:9px 0;font-size:12.5px;letter-spacing:.05em}
.sd-hbars--pct li{grid-template-columns:12em 1fr 3.4em}
.sd-hbars i{display:block;height:8px;background:rgba(255,255,255,.12);position:relative}
.sd-hbars i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--w) * 1%);background:var(--sky);transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.19,1,.22,1) .2s}
.sd-data.t-is-ScrollActive .sd-hbars i::after{transform:scaleX(1)}
.sd-hbars b{font:600 13px/1 var(--en);text-align:right}

@media (max-width:767px){
  .sd-ways{padding:18vw var(--pad) 6vw}
  .sd-ways__list{margin-top:10vw}
  .sd-ways__list::before{left:0}
  .sd-way,.sd-way:nth-child(even){width:auto;margin-left:0;padding:4vw 0 10vw 8vw}
  .sd-way:nth-child(n+2){margin-top:0}
  .sd-way__title::before{font-size:3.6vw;margin-bottom:3vw}
  .sd-way::after,.sd-way:nth-child(odd)::after,.sd-way:nth-child(even)::after{left:0;right:auto;width:5vw;top:5.4vw}
  .sd-way__title{font-size:7.4vw}
  .sd-way__text{margin-top:5vw;font-size:13px}
  .sd-growth{padding:16vw var(--pad) 0}
  .sd-growth__head{display:block}
  .sd-growth__title{margin-top:7vw}
  .sd-growth__lead{margin-top:6vw;font-size:13px}
  .sd-growth__list{display:block;margin-top:10vw}
  .sd-step,.sd-step:nth-child(n){margin-top:0;padding-bottom:10vw}
  .sd-step:nth-child(even){margin-left:12vw}
  .sd-step__en{font-size:6.4vw}
  .sd-benefit{padding:18vw var(--pad) 16vw}
  .sd-benefit__groups{display:block;margin-top:9vw}
  .sd-benefit__group+.sd-benefit__group{margin-top:10vw}
  .sd-benefit__en{font-size:7vw}
  .sd-data{padding:16vw var(--pad)}
  .sd-data__head{display:block}
  .sd-data__note{margin-top:6vw}
  .sd-data__grid{grid-template-columns:1fr 1fr;margin-top:8vw}
  .sd-panel,.sd-panel--half,.sd-panel--month{grid-column:span 2;padding:7vw 5vw}
  .sd-panel:nth-child(3),.sd-panel:nth-child(4){grid-column:span 1}
  .sd-num b{font-size:14vw}
  .sd-month__bars{height:42vw;gap:1.4vw}
  .sd-month__axis{gap:1.4vw;font-size:9px}
  .sd-month__bars b{font-size:9px}
  .sd-hbars li,.sd-hbars--pct li{grid-template-columns:8.5em 1fr 3.4em;gap:10px;font-size:11.5px}
}
@media (max-width:767px){
  .sd-lower .t-lower-mv__subtitle{font-size:6.4vw}
  .sd-growth__title,.sd-benefit__title{font-size:6.8vw}
  .sd-month__bars b{white-space:nowrap;letter-spacing:-.02em}
  .sd-month__axis span{white-space:nowrap;letter-spacing:-.06em}
  .sd-hbars--pct li{grid-template-columns:1fr 3.4em;row-gap:6px}
  .sd-hbars--pct li span{grid-column:1/-1}
}

/* ---------- interview 一覧：数字の帯・職種タブ・上が弧の縦長カード ---------- */
.sd-crewmv{position:relative}
.sd-crewmv__band{list-style:none;margin:5vw 0 0 var(--col);padding:22px 0;display:flex;gap:5vw;border-top:1px solid var(--navy);border-bottom:1px solid var(--line);max-width:calc(100% - var(--col) - var(--pad))}
.sd-crewmv__band li{display:flex;align-items:baseline;gap:12px}
.sd-crewmv__band b{font:600 italic 2.6vw/1 var(--en);letter-spacing:-.04em;color:var(--navy)}
.sd-crewmv__band span{font:600 11px/1 var(--en);letter-spacing:.2em;color:var(--ink2)}
.sd-crewmv__band li+li{position:relative;padding-left:5vw}
.sd-crewmv__band li+li::before{content:"";position:absolute;left:0;top:50%;width:1px;height:26px;transform:translateY(-50%);background:var(--amber);box-shadow:0 0 6px var(--amber)}

.sd-crewlist{padding:6vw var(--pad) 10vw var(--col)}
.sd-tabs{display:flex;align-items:center;gap:3vw}
.sd-tabs__label{flex-shrink:0;font:600 11px/1 var(--en);letter-spacing:.22em;color:var(--ink2)}
.sd-tabs__list{display:flex;flex-wrap:wrap;gap:8px}
.sd-tabs__btn{appearance:none;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px;border:1px solid var(--line);border-radius:var(--r-tab) var(--r-tab) 0 0;background:#fff;color:var(--navy);font:600 13px/1 inherit;font-family:inherit;letter-spacing:.08em;cursor:pointer;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.sd-tabs__btn small{font:600 10px/1 var(--en);letter-spacing:.06em;color:var(--ink2);transition:color .3s}
.sd-tabs__btn:hover{border-color:var(--navy)}
.sd-tabs__btn.t-is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.sd-tabs__btn.t-is-active small{color:var(--sky)}

.sd-crewlist__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4vw;row-gap:7vw;margin-top:5vw;padding-bottom:10vw;align-items:start}
.sd-card.t-is-hidden{display:none}
.sd-card:not(.t-is-margin-top){transform:translateY(10vw)}
.sd-card__link{display:grid;grid-template-columns:40% minmax(0,1fr);column-gap:2.4vw;align-items:end;color:var(--navy);text-decoration:none}
.sd-card__photo{position:relative;aspect-ratio:3/4;border-radius:var(--r-arch) var(--r-arch) var(--r-arch-b) var(--r-arch-b);overflow:hidden}
.sd-card__photo img{transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
.sd-card__link:hover .sd-card__photo img{transform:scale(1.05)}
.sd-card__photo::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--amber);box-shadow:0 0 10px 2px color-mix(in srgb,var(--amber) 70%,transparent);opacity:0;transform:scaleY(0);transform-origin:top;transition:transform .8s cubic-bezier(.77,0,.18,1),opacity .3s}
.sd-card__link:hover .sd-card__photo::after{opacity:1;transform:scaleY(1)}
.sd-card__no{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);padding:6px 10px;background:#fff;font:600 italic 13px/1 var(--en);letter-spacing:-.02em;color:var(--navy);white-space:nowrap}
.sd-card__no small{margin-left:2px;font-size:10px;color:var(--ink2)}
.sd-card__body{position:relative;padding-bottom:4px}
.sd-card__role{font:600 11px/1 var(--en);letter-spacing:.2em;color:var(--ink2);display:flex;align-items:center;gap:10px}
.sd-card__role::before{content:"";width:1px;height:14px;background:var(--amber);box-shadow:0 0 6px var(--amber)}
.sd-card__title{margin-top:1.4vw;font-weight:600;font-style:italic;font-size:1.45vw;line-height:1.5;letter-spacing:-.04em}
.sd-card__meta{margin-top:1.6vw;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;letter-spacing:.06em;color:var(--ink2)}
.sd-card__meta b{font:600 13px/1.5 var(--en);color:var(--navy);letter-spacing:.06em}
.sd-card__go{display:block;position:relative;margin-top:1.6vw;width:3.2vw;height:1px;background:var(--navy);transition:width .6s cubic-bezier(.77,0,.18,1)}
.sd-card__go::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid var(--navy);border-right:1px solid var(--navy);transform:rotate(45deg)}
.sd-card__link:hover .sd-card__go{width:6vw}

@media (max-width:767px){
  .sd-crewmv__band{margin:10vw var(--pad) 0;max-width:none;gap:0;justify-content:space-between;padding:16px 0}
  .sd-crewmv__band li{flex-direction:column;gap:8px}
  .sd-crewmv__band li+li{padding-left:5vw}
  .sd-crewmv__band b{font-size:8vw}
  .sd-crewmv__band span{font-size:9px;letter-spacing:.14em}
  .sd-crewlist{padding:12vw 0 16vw}
  .sd-tabs{display:block}
  .sd-tabs__label{padding:0 var(--pad)}
  .sd-tabs__list{flex-wrap:nowrap;overflow-x:auto;margin-top:14px;padding:0 var(--pad) 4px;scrollbar-width:none}
  .sd-tabs__list::-webkit-scrollbar{display:none}
  .sd-tabs__btn{height:38px;padding:0 15px;font-size:12px;flex-shrink:0}
  .sd-crewlist__grid{display:block;margin-top:10vw;padding:0 var(--pad)}
  .sd-card,.sd-card:not(.t-is-margin-top){transform:none}
  .sd-card+.sd-card{margin-top:14vw}
  .sd-card__link{grid-template-columns:42% minmax(0,1fr);column-gap:5vw}
  .sd-card:nth-child(even) .sd-card__link{grid-template-columns:minmax(0,1fr) 42%}
  .sd-card:nth-child(even) .sd-card__photo{order:2}
  .sd-card__title{margin-top:3.4vw;font-size:4.1vw}
  .sd-card__meta{margin-top:4vw;padding-top:10px;font-size:10.5px;gap:2px 10px}
  .sd-card__go{margin-top:4vw;width:10vw}
}

/* ---------- interview 詳細：弧の窓のMV・名札・ある土曜日・引用の帯・次の人 ---------- */
.sd-ivmv{display:grid;grid-template-columns:minmax(0,1fr) 36vw;column-gap:5vw;align-items:end;padding:5vw var(--pad) 0 var(--col)}
.sd-ivmv__role{font:600 12px/1 var(--en);letter-spacing:.2em;color:var(--ink2);display:flex;align-items:center;gap:12px}
.sd-ivmv__role::before{content:"";width:1px;height:16px;background:var(--amber);box-shadow:0 0 6px var(--amber)}
.sd-ivmv__title{margin-top:2.2vw;font-size:2.95vw}
.sd-ivmv__lead{margin-top:2.4vw;max-width:30em;font-size:14px;line-height:2.15;letter-spacing:.06em}
.sd-ivmv__photo{position:relative;aspect-ratio:3/4;overflow:hidden;clip-path:inset(0 46% 0 46% round 50vw 50vw 0 0);transition:clip-path 1.8s cubic-bezier(.77,0,.18,1);background:var(--navy)}
.sd-ivmv__photo.t-is-open{clip-path:inset(0 0 0 0 round 18vw 18vw 0 0)}
.sd-ivmv__photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transform:scale(1.1);transition:transform 2.6s cubic-bezier(.19,1,.22,1),filter 1.4s ease 1.2s}
.sd-ivmv__photo.t-is-open img{filter:grayscale(0);transform:scale(1)}
.sd-tag{position:relative;margin:3.6vw 0 0;display:grid;grid-template-columns:auto 1fr;column-gap:2.4vw;align-items:center;padding:2vw 2.4vw;background:var(--navy);color:#fff;max-width:36vw}
.sd-tag::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--amber);box-shadow:0 0 12px var(--amber)}
.sd-tag__name{font:600 italic 3.6vw/1 var(--en);letter-spacing:-.04em;filter:drop-shadow(0 0 12px var(--sky))}
.sd-tag__job{font-size:14px;font-weight:600;letter-spacing:.1em}
.sd-tag__job span{display:block;margin-top:8px;font-size:12px;font-weight:400;color:rgba(255,255,255,.75)}
.sd-tag__stats{grid-column:1/-1;display:flex;gap:2.4vw;margin:1.6vw 0 0;padding-top:1.2vw;border-top:1px solid rgba(255,255,255,.2)}
.sd-tag__stats div{display:flex;align-items:baseline;gap:12px}
.sd-tag__stats dt{font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.75)}
.sd-tag__stats dd{margin:0;font-size:12px}
.sd-tag__stats b{font:600 italic 22px/1 var(--en);margin-right:2px;color:var(--sky)}

.sd-qa{display:grid;column-gap:6vw;padding:9vw var(--pad) 0 var(--col)}
.sd-qa--top{grid-template-columns:26vw minmax(0,1fr)}
.sd-qa--bottom{grid-template-columns:minmax(0,1fr) 26vw;padding-bottom:4vw}
.sd-qa__side{align-self:start;position:sticky;top:120px}
.sd-qa__photo{position:relative;aspect-ratio:3/4;overflow:hidden}
.sd .sd-qa__item.t-single__qa{width:auto}
.sd-qa__item+.sd-qa__item{margin-top:6vw}
.sd-qa__num{font:600 12px/1 var(--en);letter-spacing:.22em;color:var(--navy);display:flex;align-items:center;gap:14px}
.sd-qa__num::after{content:"";width:4vw;height:1px;background:var(--amber);box-shadow:0 0 6px var(--amber)}
.sd-qa__q{margin-top:1.6vw;font-weight:600;font-style:italic;font-size:2.3vw;line-height:1.4;letter-spacing:-.05em;color:var(--navy)}
.sd-qa__a{margin-top:2.2vw}
.sd-qa__a p{font-size:14.5px;line-height:2.25;letter-spacing:.06em}
.sd-qa__a p+p{margin-top:1.4em}
.sd-sched{margin-top:2.4vw;padding:1.8vw 1.8vw 1.4vw;border:1px solid var(--line)}
.sd-sched__label{font-size:12px;font-weight:600;letter-spacing:.12em}
.sd-sched__list{list-style:none;margin:1.2vw 0 0;padding:0;position:relative}
.sd-sched__list::before{content:"";position:absolute;left:4.1em;top:10px;bottom:10px;width:1px;background:var(--line)}
.sd-sched__list li{position:relative;display:flex;gap:1.6em;padding:6px 0;font-size:12px;letter-spacing:.05em}
.sd-sched__list time{flex-shrink:0;width:3.6em;white-space:nowrap;font:600 12px/1.6 var(--en);color:var(--ink2)}
.sd-sched__list li::before{content:"";position:absolute;left:calc(4.1em - 3px);top:12px;width:7px;height:7px;border-radius:50%;background:#fff;border:1px solid var(--ink2)}
.sd-sched__list li.t-is-show{font-weight:600;color:var(--navy)}
.sd-sched__list li.t-is-show time{color:var(--navy)}
.sd-sched__list li.t-is-show::before{background:var(--amber);border-color:var(--amber);box-shadow:0 0 8px var(--amber)}

.sd-pull{position:relative;margin-top:9vw;padding:8vw var(--pad) 8vw var(--col);background:var(--navy);overflow:hidden}
.sd-pull::before{content:"";position:absolute;left:calc(var(--col) - 3vw);top:0;bottom:0;width:1px;background:var(--amber);box-shadow:0 0 14px 2px color-mix(in srgb,var(--amber) 70%,transparent);transform:scaleY(0);transform-origin:top;transition:transform 1.4s cubic-bezier(.77,0,.18,1)}
.sd-pull.t-is-ScrollActive::before{transform:scaleY(1)}
.sd-pull__mark{position:absolute;right:var(--pad);bottom:-1.6vw;font:600 italic 13vw/1 var(--en);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(159,218,245,.22)}
.sd-pull__text{position:relative;font-weight:600;font-style:italic;font-size:3.1vw;line-height:1.5;letter-spacing:-.05em;color:#fff;filter:drop-shadow(0 0 18px rgba(159,218,245,.45))}

.sd-qa__photos{position:relative}
.sd-qa__photo--2{width:72%;margin:-8vw 0 0 auto;transform:translateX(3vw);border:8px solid #fff}
.sd-ivback{padding:6vw var(--pad) 0 var(--col)}
.sd-ivback__link{display:inline-flex;align-items:center;gap:16px;font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--navy);text-decoration:none}
.sd-ivback__link i{position:relative;display:block;width:3vw;height:1px;background:currentColor;transition:width .5s cubic-bezier(.77,0,.18,1)}
.sd-ivback__link i::before{content:"";position:absolute;left:0;top:-4px;width:8px;height:8px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.sd-ivback__link:hover i{width:5vw}
.sd-ivnext{padding:5vw var(--pad) 8vw var(--col)}
.sd-ivnext__link{display:grid;grid-template-columns:13vw minmax(0,1fr) auto;column-gap:3.4vw;align-items:center;padding:2.4vw 0;border-top:1px solid var(--navy);border-bottom:1px solid var(--line);color:var(--navy);text-decoration:none}
.sd-ivnext__photo{display:block;aspect-ratio:3/4;border-radius:var(--r-arch) var(--r-arch) var(--r-arch-b) var(--r-arch-b);overflow:hidden}
.sd-ivnext__photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .8s,transform 1.2s cubic-bezier(.19,1,.22,1)}
.sd-ivnext__link:hover .sd-ivnext__photo img{filter:grayscale(0);transform:scale(1.05)}
.sd-ivnext__en{display:block;font:600 11px/1 var(--en);letter-spacing:.2em;color:var(--ink2)}
.sd-ivnext__title{display:block;margin-top:1.4vw;font-weight:600;font-style:italic;font-size:2.4vw;line-height:1.4;letter-spacing:-.05em}
.sd-ivnext__meta{display:flex;align-items:baseline;gap:14px;margin-top:1.4vw;font-size:12.5px;letter-spacing:.06em;color:var(--ink2)}
.sd-ivnext__meta b{font:600 14px/1 var(--en);color:var(--navy)}
.sd-ivnext__go{position:relative;display:block;width:6vw;height:1px;background:var(--navy);transition:width .6s cubic-bezier(.77,0,.18,1)}
.sd-ivnext__go::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid var(--navy);border-right:1px solid var(--navy);transform:rotate(45deg)}
.sd-ivnext__link:hover .sd-ivnext__go{width:9vw}

@media (max-width:767px){
  .sd-ivmv{display:flex;flex-direction:column-reverse;align-items:stretch;padding:8vw var(--pad) 0}
  .sd-ivmv__photo{width:82%;margin:0 auto}
  .sd-ivmv__photo.t-is-open{clip-path:inset(0 0 0 0 round 41vw 41vw 0 0)}
  .sd-ivmv__text{margin-top:9vw}
  .sd-ivmv__role{font-size:10px}
  .sd-ivmv__title{margin-top:5vw;font-size:7.4vw}
  .sd-ivmv__lead{margin-top:6vw;font-size:13px}
  .sd-tag{max-width:none;margin-top:8vw;padding:6vw 6vw 5vw;column-gap:5vw}
  .sd-tag__name{font-size:12vw}
  .sd-tag__job{font-size:13px}
  .sd-tag__stats{gap:6vw;margin-top:5vw;padding-top:4vw}
  .sd-qa,.sd-qa--top,.sd-qa--bottom{display:block;padding:16vw var(--pad) 0}
  .sd-qa__side{position:static}
  .sd-qa__side .sd-qa__photo{width:78%}
  .sd-sched{margin-top:7vw;padding:6vw 5vw 4vw}
  .sd-sched__list{margin-top:4vw}
  .sd-qa__main{margin-top:12vw}
  .sd-qa--bottom .sd-qa__main{margin-top:0}
  .sd-qa__item+.sd-qa__item{margin-top:14vw}
  .sd-qa__num::after{width:12vw}
  .sd-qa__q{margin-top:4vw;font-size:6.2vw}
  .sd-qa__a{margin-top:6vw}
  .sd-qa__a p{font-size:13.5px;line-height:2.1}
  .sd-pull{margin-top:16vw;padding:16vw var(--pad) 18vw 11vw}
  .sd-pull::before{left:5vw}
  .sd-pull__mark{font-size:26vw;bottom:-3vw}
  .sd-pull__text{font-size:5.9vw}
  .sd-qa__photos{margin-top:12vw}
  .sd-qa__photo--1{width:78%}
  .sd-qa__photo--2{width:58%;margin-top:-18vw;transform:none;border-width:6px}
  .sd-ivback{padding:14vw var(--pad) 0}
  .sd-ivback__link i{width:10vw}
  .sd-ivnext{padding:8vw var(--pad) 16vw}
  .sd-ivnext__link{grid-template-columns:24vw minmax(0,1fr);column-gap:5vw;padding:6vw 0}
  .sd-ivnext__go{display:none}
  .sd-ivnext__en{font-size:9px;letter-spacing:.14em}
  .sd-ivnext__title{margin-top:3vw;font-size:4.6vw}
  .sd-ivnext__meta{margin-top:3vw;font-size:11px;gap:8px;flex-wrap:wrap}
}

/* ---------- requirements：進行表の選考フロー・職種の要項・共通条件・質問・応募フォーム ---------- */
.sd-flow{padding:10vw var(--pad) 0 var(--col)}
.sd-flow__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;column-gap:4vw}
.sd-flow__lead{font-size:14px;line-height:2.1;letter-spacing:.06em}
.sd-flow__rows{margin-top:4.4vw;border-top:1px solid var(--navy)}
.sd-flow__row{display:grid;grid-template-columns:9vw minmax(0,1fr);padding:2.6vw 0;border-bottom:1px solid var(--line)}
.sd-flow__type{font-size:18px;font-weight:600;letter-spacing:.12em;color:var(--navy)}
.sd-flow__type small{display:block;margin-top:10px;font:600 10px/1 var(--en);letter-spacing:.2em;color:var(--ink2)}
.sd-flow__list{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:10px}
.sd-flow__step{position:relative;padding-top:28px}
.sd-flow__step::before{content:"";position:absolute;left:0;right:-10px;top:8px;height:1px;background:var(--line)}
.sd-flow__step:last-child::before{right:0}
.sd-flow__step::after{content:"";position:absolute;left:0;top:4px;width:9px;height:9px;border-radius:50%;background:#fff;border:1px solid var(--navy)}
.sd-flow__row.t-is-ScrollActive .sd-flow__step::before{background:linear-gradient(90deg,var(--navy),var(--line))}
.sd-flow__cue{display:block;font:600 10px/1 var(--en);letter-spacing:.16em;color:var(--ink2)}
.sd-flow__name{display:block;margin-top:10px;font-size:14px;font-weight:600;letter-spacing:.06em;color:var(--navy);white-space:nowrap}
.sd-flow__time{display:block;margin-top:8px;font-size:11px;letter-spacing:.04em;color:var(--ink2)}
.sd-flow__note{display:block;margin-top:8px;font-size:11.5px;line-height:1.8;letter-spacing:.03em}
.sd-flow__step.t-is-show::after{background:var(--amber);border-color:var(--amber);box-shadow:0 0 10px var(--amber)}
.sd-flow__step.t-is-show .sd-flow__cue{color:var(--c-accent-ink2)}
.sd-flow__step.t-is-show .sd-flow__name::after{content:"袖に入る";display:table;margin-top:6px;padding:3px 7px;font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--navy);background:color-mix(in srgb,var(--amber) 22%,transparent);vertical-align:2px}

.sd-jobinfo{padding:10vw var(--pad) 0 var(--col)}
.sd-jobinfo__list{margin-top:4vw;border-top:1px solid var(--navy)}
.sd-job{border-bottom:1px solid var(--line)}
.sd-job__head{list-style:none;display:grid;grid-template-columns:4vw 21vw minmax(0,1fr) 40px;align-items:center;padding:1.8vw 0;cursor:pointer;color:var(--navy)}
.sd-job__head::-webkit-details-marker{display:none}
.sd-job__no{font:600 italic 13px/1 var(--en);color:var(--ink2)}
.sd-job__en{font:600 italic 1.7vw/1 var(--en);letter-spacing:-.04em;transition:color .3s,filter .3s}
.sd-job__ja{font-size:14px;font-weight:600;letter-spacing:.1em}
.sd-job__toggle{position:relative;width:40px;height:40px;border:1px solid var(--line);border-radius:var(--r-tab) var(--r-tab) 0 0;transition:background .3s,border-color .3s}
.sd-job__toggle::before,.sd-job__toggle::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--navy);transform:translate(-50%,-50%);transition:transform .4s,background .3s}
.sd-job__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.sd-job__head:hover .sd-job__en{filter:drop-shadow(0 0 8px var(--sky))}
.sd-job__head:hover .sd-job__toggle{border-color:var(--navy)}
.sd-job[open] .sd-job__toggle{background:var(--navy);border-color:var(--navy)}
.sd-job[open] .sd-job__toggle::before{background:#fff}
.sd-job[open] .sd-job__toggle::after{background:#fff;transform:translate(-50%,-50%) rotate(0)}
.sd-job__body{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:4vw;align-items:end;padding:0 0 2.6vw 25vw}
.sd-job__dl{margin:0}
.sd-job__dl div{display:grid;grid-template-columns:7em minmax(0,1fr);padding:12px 0;border-top:1px dashed var(--line)}
.sd-job__dl dt{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--ink2)}
.sd-job__dl dd{margin:0;font-size:13.5px;line-height:1.95;letter-spacing:.04em}
.sd-job__apply{display:inline-flex;align-items:center;gap:16px;height:52px;padding:0 24px;background:var(--navy);color:#fff;font-size:13px;font-weight:600;letter-spacing:.08em;text-decoration:none;white-space:nowrap;border-radius:var(--r-cta) var(--r-cta) var(--r-cta-b) var(--r-cta-b)}
.sd-job__apply i{position:relative;display:block;width:22px;height:1px;background:var(--amber);transition:width .4s}
.sd-job__apply:hover i{width:34px}

.sd-terms{margin-top:4vw;padding:2.6vw 3vw;background:#f4f5f8}
.sd-terms__label{font-size:13px;font-weight:600;letter-spacing:.12em;display:flex;align-items:center;gap:10px}
.sd-terms__label::before{content:"";width:1px;height:14px;background:var(--amber);box-shadow:0 0 6px var(--amber)}
.sd-terms__dl{margin:1.6vw 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:4vw}
.sd-terms__dl div{display:grid;grid-template-columns:6.5em minmax(0,1fr);padding:12px 0;border-top:1px solid var(--line)}
.sd-terms__dl dt{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--ink2)}
.sd-terms__dl dd{margin:0;font-size:13px;line-height:1.9;letter-spacing:.04em}

.sd-faq{padding:10vw var(--pad) 0 var(--col)}
.sd-faq__list{margin:4vw 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 4vw}
.sd-faq__item{padding:2vw 0 2.2vw;border-top:1px solid var(--navy)}
.sd-faq__item dt{position:relative;padding-left:2.6em;font-size:16px;font-weight:600;line-height:1.6;letter-spacing:.06em;color:var(--navy)}
.sd-faq__item dt::before{content:"Q";position:absolute;left:0;top:-.1em;font:600 italic 22px/1 var(--en);color:var(--navy);filter:drop-shadow(0 0 6px var(--sky))}
.sd-faq__item dd{margin:14px 0 0;padding-left:2.6em;font-size:13.5px;line-height:2;letter-spacing:.04em}

.sd-entryform{margin-top:10vw;padding:9vw var(--pad) 9vw var(--col);background:var(--navy);color:#fff}
.sd-entryform__inner{display:grid;grid-template-columns:22vw minmax(0,1fr);column-gap:5vw}
.sd-entryform .t-lower-title{color:#fff}
.sd-entryform__lead{margin-top:2vw;font-size:13px;line-height:2;letter-spacing:.06em;color:rgba(255,255,255,.8)}
.sd-form{display:block}
.sd-form__row{display:grid;grid-template-columns:12em minmax(0,1fr);align-items:center;column-gap:2vw;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18);margin:0;border-left:0;border-right:0;border-top:0;min-width:0}
.sd-form__row:first-child{border-top:1px solid rgba(255,255,255,.18)}
.sd-form__row>label,.sd-form__row legend{font-size:13px;font-weight:600;letter-spacing:.08em;display:flex;align-items:center;gap:10px;float:left;padding:0}
.sd-form__row label span,.sd-form__row legend span{font-size:10px;padding:3px 6px;background:var(--amber);color:#fff;letter-spacing:.06em}
.sd-form input[type=text],.sd-form input[type=email],.sd-form select,.sd-form textarea{width:100%;padding:13px 16px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:14px;letter-spacing:.04em;border-radius:0;appearance:none;transition:border-color .3s,background .3s}
.sd-form select{background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 17px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.sd-form select option{color:var(--navy)}
.sd-form input::placeholder,.sd-form textarea::placeholder{color:rgba(255,255,255,.4)}
.sd-form input:focus,.sd-form select:focus,.sd-form textarea:focus{outline:none;border-color:var(--sky);background:rgba(159,218,245,.08)}
.sd-form__radios{display:grid}
.sd-form__radios legend{grid-column:1}
.sd-form__radios>label{display:inline-flex;align-items:center;gap:10px;font-size:14px;margin-right:28px}
.sd-form__radios{grid-template-columns:12em auto auto 1fr}
.sd-form__radios input{appearance:none;width:18px;height:18px;margin:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center}
.sd-form__radios input:checked{border-color:var(--sky)}
.sd-form__radios input:checked::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--sky)}
.sd-form__submit{margin-top:3vw;display:inline-flex;align-items:center;gap:22px;height:60px;padding:0 34px;background:#fff;color:var(--navy);border:0;border-radius:var(--r-cta-l) var(--r-cta-l) var(--r-cta-b) var(--r-cta-b);font:inherit;font-size:14px;font-weight:600;letter-spacing:.12em;cursor:not-allowed;opacity:.85}
.sd-form__submit i{display:block;width:30px;height:1px;background:var(--amber)}
.sd-form__note{margin-top:14px;font-size:11.5px;color:rgba(255,255,255,.6);letter-spacing:.04em}

@media (max-width:767px){
  .sd-flow{padding:16vw var(--pad) 0}
  .sd-flow__head{display:block}
  .sd-flow__lead{margin-top:6vw;font-size:13px}
  .sd-flow__rows{margin-top:9vw}
  .sd-flow__row{display:block;padding:8vw 0}
  .sd-flow__type{font-size:16px}
  .sd-flow__list{display:block;margin-top:6vw}
  .sd-flow__step{display:grid;grid-template-columns:5.4em minmax(0,1fr);column-gap:4vw;padding:0 0 18px 26px}
  .sd-flow__step::before{left:4px;right:auto;top:10px;bottom:-4px;width:1px;height:auto}
  .sd-flow__step:last-child::before{display:none}
  .sd-flow__step::after{top:6px}
  .sd-flow__row.t-is-ScrollActive .sd-flow__step::before{background:var(--line)}
  .sd-flow__cue{grid-row:1/3;padding-top:4px}
  .sd-flow__name{margin-top:0;white-space:normal}
  .sd-flow__time,.sd-flow__note{grid-column:2;margin-top:4px}
  .sd-jobinfo{padding:16vw var(--pad) 0}
  .sd-jobinfo__list{margin-top:8vw}
  .sd-job__head{grid-template-columns:8vw minmax(0,1fr) 36px;row-gap:6px;padding:5vw 0}
  .sd-job__en{grid-column:2;font-size:5vw}
  .sd-job__ja{grid-column:2;grid-row:2;font-size:12px}
  .sd-job__toggle{grid-column:3;grid-row:1/3;width:36px;height:36px}
  .sd-job__body{display:block;padding:0 0 7vw}
  .sd-job__dl div{grid-template-columns:5.5em minmax(0,1fr);padding:10px 0}
  .sd-job__dl dd{font-size:12.5px}
  .sd-job__apply{margin-top:5vw;width:100%;justify-content:space-between}
  .sd-terms{margin-top:9vw;padding:7vw 5vw}
  .sd-terms__dl{display:block;margin-top:5vw}
  .sd-terms__dl div{grid-template-columns:5.5em minmax(0,1fr)}
  .sd-terms__dl dd{font-size:12px}
  .sd-faq{padding:16vw var(--pad) 0}
  .sd-faq__list{display:block;margin-top:8vw}
  .sd-faq__item{padding:6vw 0}
  .sd-faq__item dt{font-size:14.5px}
  .sd-faq__item dd{font-size:12.5px}
  .sd-entryform{margin-top:16vw;padding:16vw var(--pad)}
  .sd-entryform__inner{display:block}
  .sd-entryform__lead{margin-top:5vw;margin-bottom:8vw}
  .sd-form__row,.sd-form__radios{display:block;padding:14px 0}
  .sd-form__row>label,.sd-form__row legend{float:none;margin-bottom:10px}
  .sd-form__radios>label{margin-top:4px}
  .sd-form__submit{margin-top:8vw;width:100%;justify-content:space-between}
}

/* ---------- 404 ---------- */
.sd-nf{padding:12vw var(--pad) 12vw var(--col)}
.sd-nf__en{font:600 12px/1 var(--en);letter-spacing:.22em;color:var(--ink2);display:flex;align-items:center;gap:12px}
.sd-nf__en::before{content:"";width:1px;height:16px;background:var(--amber);box-shadow:0 0 6px var(--amber)}
.sd-nf__title{margin-top:2.4vw}
.sd-nf__text{margin-top:2vw;font-size:14px;line-height:2;letter-spacing:.06em}
.sd-nf__go{display:inline-flex;margin-top:4vw;color:var(--navy);text-decoration:none}
@media (max-width:767px){.sd-nf{padding:24vw var(--pad)}.sd-nf__title{margin-top:6vw;font-size:7.4vw}.sd-nf__text{margin-top:6vw;font-size:13px}.sd-nf__go{margin-top:10vw}}

/* ---------- 文章の行末：最後の行に1〜2文字だけ残さない ---------- */
.sd p,.sd dd,.sd dt,.sd li,.sd .sd-job__text,.sd .sd-card__title,.sd .sd-ivnext__title{text-wrap:pretty}
/* 日本語の文節で折る（単語の途中で折らない） */
.sd p,.sd dd,.sd li,.sd .sd-job__text,.sd .sd-ivnext__title,.sd .sd-ivnext__title span,.sd .sd-next__text{word-break:auto-phrase}
.t-nw{white-space:nowrap}

/* ---------- ヘッダー：濃紺の面では白抜き・下へ読む間は隠す・戻ると背景つき ---------- */
.sd .t-header{transition:opacity .8s ease,visibility .8s,transform .5s cubic-bezier(.77,0,.18,1),background-color .4s}
.sd .t-header.t-is-hidden{transform:translateY(-100%)}
.sd .t-header.t-is-scrolled{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.sd .t-header.t-is-dark.t-is-scrolled{background:color-mix(in srgb,var(--navy) 70%,transparent)}
.sd .t-header .t-header__link{transition:color .3s}
.sd .t-header.t-is-dark .sd-logo,.sd .t-header.t-is-dark .t-header__link{color:#fff}
.sd .t-header.t-is-dark .sd-logo__sub{color:rgba(255,255,255,.75)}
.sd .t-header.t-is-dark .sd-mark path:first-child{fill:#fff}
.sd .t-header.t-is-dark .sd-entry{background:#fff;color:var(--navy)}
.sd .t-header.t-is-dark .sd-menu-btn.t-header__menu-button{background:#fff}
.sd .t-header.t-is-dark .sd-menu-btn__bar{background:var(--navy)}
.sd .t-header .t-header__menu-block__inner{min-height:0;background:#fff;padding:0 20px;border-top:0 solid var(--amber);box-shadow:none;transition:padding .2s ease-out,box-shadow .2s}
.sd .t-header .t-header__menu-block__sub.t-is-show .t-header__menu-block__inner{padding:14px 20px 12px;border-top-width:2px;box-shadow:0 10px 30px color-mix(in srgb,var(--navy) 12%,transparent)}
.sd .t-header .t-header__menu-block__inner .t-header__sub-link{color:var(--navy)}

/* ---------- SP：見出しのラベルは英字の下に左揃え／ページの大見出し＞節の見出し ---------- */
@media (max-width:767px){
  .sd .t-lower-title,.sd .t-index-title{flex-direction:column;align-items:flex-start;gap:8px}
  .sd .t-lower-title .t-lower-title__ja,.sd .t-index-title .t-index-title__ja{margin-left:0}
  .sd-lower .t-lower-mv__subtitle{font-size:7.2vw;margin-left:20px;margin-right:20px;width:auto}
  .sd .sd-h{font-size:8.5333vw;line-height:1.06}
  .sd-growth__title,.sd-benefit__title{font-size:6.4vw}
}
.sd-culture .t-culture__body-title{white-space:nowrap}
@media (max-width:767px){
  .sd-jobs__track{scroll-padding-left:var(--pad)}
}
@media (max-width:767px){
  .sd-day__sticky{height:calc(44vh + 56px);background:none;overflow:visible}
  .sd-day__imgs{position:absolute;left:0;right:0;top:0;height:44vh;overflow:hidden;background:var(--navy)}
  .sd-day__sticky::after{bottom:56px}
  .sd-day__sticky::before{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.85) 45%,rgba(255,255,255,0) 100%);pointer-events:none;z-index:1}
  .sd-day__clock{bottom:calc(56px + 6vw)}
  .sd-day__bar{bottom:calc(56px + 3.4vw)}
}

/* ---------- culture：DATAを4つの数字の段に／福利厚生のアイコン ---------- */
.sd-panel--q{grid-column:span 3}
.sd-panel--half{grid-column:span 4}
.sd-panel--half .sd-hbars li{grid-template-columns:minmax(0,1fr) 3.6em;row-gap:6px;padding:7px 0}
.sd-panel--half .sd-hbars li span{grid-column:1/-1}
.sd-panel--q .sd-num b{font-size:4.6vw}
.sd-benefit__dl dt::before{display:none}
.sd-benefit__dl dt{gap:12px}
@media (max-width:767px){
  .sd-panel--q,.sd-panel:nth-child(3),.sd-panel:nth-child(4){grid-column:span 1}
  .sd-panel--half{grid-column:span 2}
  .sd-panel--q .sd-num b{font-size:12vw}
  .sd-month{padding-top:24px}
}


/* ---------- 最終監修1：斜めの帯は折らない・ENTRYの光は文字の左・SPの数字は単位を下の段へ ---------- */
.sd-cue__list{width:max-content}
.sd-cue__list li{flex-shrink:0;white-space:nowrap}
.sd-num{white-space:nowrap}
@media (max-width:767px){
  .sd-panel--q .sd-num{flex-direction:column;align-items:flex-start;gap:6px}
  .sd-panel--q .sd-num b{font-size:11vw}
  .sd-panel--q .sd-num small{font-size:12px}
}

/* ---------- インタビュー一覧：写真を大きく（PC） ---------- */
@media (min-width:768px){
  .sd-card__link{grid-template-columns:48% minmax(0,1fr)}
  .sd-card__title{font-size:1.3vw}
}

/* ---------- 最終監修1：発光は濃紺の面（FV・JOBS・JOIN・DATA・引用の帯）だけ。白地の文字には掛けない ---------- */
.sd-message__big,.sd-day__time,.sd-lmv .t-lower-mv__subtitle,.sd-vision__copy,.sd-svc__en,.sd-way__title::before,.sd-step__en,.sd-tag__name,.sd-faq__item dt::before,
.sd-crew__row.t-is-active .sd-crew__role,.sd-value:hover .sd-value__cue,.sd-job__head:hover .sd-job__en,.sd-num b{filter:none}
.sd-way__title::before{color:var(--amber)}
@media (max-width:767px){.sd .t-index-title__en{margin-left:0}}

/* 福利厚生：アイコンをやめ、制度の数字を右に大きく */
.sd-benefit__dl dt{justify-content:space-between;align-items:baseline;gap:12px}
.sd-benefit__val{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ink2);white-space:nowrap}
.sd-benefit__val b{margin:0 2px;font:600 italic 26px/1 var(--en);letter-spacing:-.03em;color:var(--navy)}

@media (max-width:767px){
  .sd-tabs__list{padding-right:calc(var(--pad) + 36px);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 48px),transparent)}
}

/* ---------- 最終監修2：発光は FV のキャッチ1か所だけ。ほかはにじみのないベタ ---------- */
.sd-jobs__title,.sd-job__en,.sd-join__ja,.sd-pull__text{filter:none}
.sd-cue__band{box-shadow:none}
/* DATA 新卒と中途：数字を大きく・帯を太く */
.sd-split__nums{display:flex;justify-content:space-between;margin-top:2.2vw}
.sd-split__nums p{display:flex;align-items:baseline;gap:6px;font-size:14px;font-weight:600}
.sd-split__nums small{font-size:12px;letter-spacing:.08em;color:rgba(255,255,255,.75);margin-right:4px}
.sd-split__nums b{font:600 italic 3.6vw/1 var(--en);letter-spacing:-.04em}
.sd-split__nums p:first-child b{color:var(--sky)}
.sd-split{height:40px;margin-top:1.2vw}
.sd-split span{padding:0}
@media (max-width:767px){.sd-split__nums{margin-top:5vw}.sd-split__nums b{font-size:11vw}.sd-split{margin-top:3vw}}
/* 最終監修2：小さすぎる文字（日本語は12px以上・SPの英字ラベルは10px以上） */
.sd-crew__name small,.sd-tag__stats dt,.sd-flow__time,.sd-benefit__val{font-size:12px}
.sd-month__axis{font-size:12px}
.sd-flow__step.t-is-show .sd-flow__name::after{font-size:11px}
.sd-form__row label span,.sd-form__row legend span{font-size:11px}
@media (max-width:767px){
  .sd-month__axis{font-size:11px;gap:1vw}
  .sd-month__bars b{font-size:11px}
  .sd-card__meta{font-size:12px}
  .sd-ivnext__meta{font-size:12px}
  .sd-crewmv__band span,.sd-ivnext__en{font-size:10px}
}
/* SPメニュー：社員6人への入口（下半分の空きを埋める・最終監修2） */
.sd-spcrew{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.sd-spcrew__label{display:flex;align-items:baseline;gap:12px;font:600 11px/1 var(--en);letter-spacing:.24em;color:var(--navy)}
.sd-spcrew__label span{font-size:12px;letter-spacing:.06em;color:var(--ink2);font-family:inherit;font-weight:400}
.sd-spcrew__list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 10px;list-style:none;margin:14px 0 0;padding:0}
.sd-spcrew__list a{display:block;color:var(--navy);text-decoration:none}
.sd-spcrew__ph{display:block;aspect-ratio:3/4;border-radius:var(--r-arch) var(--r-arch) var(--r-arch-b) var(--r-arch-b);overflow:hidden;background:#d6dde6}
.sd-spcrew__ph img{display:block;width:100%;height:100%;object-fit:cover}
.sd-spcrew__nm{display:block;margin-top:8px;font:600 13px/1 var(--en);letter-spacing:.06em}
.sd-spcrew__nm small{display:block;margin-top:5px;font-size:11px;font-weight:400;letter-spacing:.04em;color:var(--ink2)}
.sd-tag__stats dt,.sd-tag__stats dd{white-space:nowrap}
@media (max-width:767px){.t-sp-menu .sd-spcrew{margin-top:32px;padding-bottom:40px}}

/* ======================================================================
   ver7 共通の土台（下層にも効かせる）：濃紺の面 → 白と淡い空色・余白と本文と動きをベースの数字へ
   下層のセクションの作りはそのまま（次の周で作り直す）
   ====================================================================== */
:root{--sky-d:#7fb2c4}
.sd-shafts{display:none}
.sd .t-header{transition:opacity .5s var(--ease),visibility .5s,transform .5s var(--ease),background-color .5s var(--ease)}
.sd .t-header .t-header__link{transition:color .5s var(--ease)}
.sd .t-header .t-header__menu-block__inner{transition:padding .5s var(--ease),box-shadow .5s var(--ease)}

/* 写真：白黒 → 照明が入る（暗く沈んだ写真に、斜め上からの光が広がる） */
.sd-reveal{background:var(--mist);transition:clip-path 1.2s var(--ease) .2s}
.sd-reveal__img{filter:brightness(.55) saturate(.8);transform:scale(1.06);transition:transform 1.6s var(--ease) .2s,filter 1s var(--ease) 1s}
.sd-reveal.t-is-open .sd-reveal__img{filter:none}
.sd-ivmv__photo{background:var(--mist);transition:clip-path 1.2s var(--ease)}
.sd-ivmv__photo img{filter:brightness(.55) saturate(.8);transform:scale(1.06);transition:transform 1.6s var(--ease),filter 1s var(--ease) 1s}
.sd-ivmv__photo.t-is-open img{filter:none}
.sd-ivnext__photo img{filter:brightness(.7) saturate(.85);transition:filter .5s var(--ease),transform .5s var(--ease)}
.sd-ivnext__link:hover .sd-ivnext__photo img{filter:none}

/* culture DATA：濃紺の面 → 淡い空色の地に白い札 */
.sd-data{background:var(--mist-l);color:var(--navy)}
.sd-data .t-lower-title{color:var(--navy)}
.sd-data__note,.sd-panel__foot,.sd-month__axis,.sd-split__nums small{color:var(--ink2)}
.sd-data__grid{background:var(--line);border-color:var(--line)}
.sd-panel{background:#fff}
.sd-num b,.sd-tag__name,.sd-pull__text{filter:none}
.sd-month__bars{border-bottom-color:var(--navy)}
.sd-month__bars span{background:#b9d6e1;transition:transform .5s var(--ease)}
.sd-month__bars span.t-is-peak{background:var(--sky-d);box-shadow:none}
.sd-month__bars b{transition:opacity .5s var(--ease) .6s}
.sd-split span:first-child{background:var(--sky-d);color:var(--navy)}
.sd-split span:last-child{background:var(--mist)}
.sd-split__nums p:first-child b{color:var(--navy)}
.sd-hbars i{background:color-mix(in srgb,var(--navy) 8%,transparent)}
.sd-hbars i::after{background:var(--sky-d);transition:transform .5s var(--ease) .2s}

/* interview：名札・引用の帯 → 白と淡い空色 */
.sd-tag{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.sd-tag::before{box-shadow:none}
.sd-tag__job span,.sd-tag__stats dt{color:var(--ink2)}
.sd-tag__stats{border-top-color:var(--line)}
.sd-tag__stats b{color:var(--navy)}
.sd-pull{background:var(--mist-l)}
.sd-pull::before{box-shadow:none;transition:transform 1s var(--ease)}
.sd-pull__mark{-webkit-text-stroke:1px color-mix(in srgb,var(--navy) 12%,transparent)}
.sd-pull__text{color:var(--navy)}
.sd-tabs__btn{transition:background-color .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease)}
.sd-tabs__btn.t-is-active{background:var(--mist);border-color:var(--navy);color:var(--navy)}
.sd-tabs__btn.t-is-active small{color:var(--navy)}

/* requirements：応募の面・応募ボタン → 淡い空色の地・罫のボタン */
.sd-entryform{background:var(--mist-l);color:var(--navy)}
.sd-entryform .t-lower-title{color:var(--navy)}
.sd-entryform__lead,.sd-form__note{color:var(--ink2)}
.sd-form__row,.sd-form__row:first-child{border-color:var(--line)}
.sd-form input[type=text],.sd-form input[type=email],.sd-form select,.sd-form textarea{border-color:color-mix(in srgb,var(--navy) 28%,transparent);background-color:#fff;color:var(--navy);transition:border-color .5s var(--ease),background-color .5s var(--ease)}
.sd-form select{background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%)}
.sd-form input::placeholder,.sd-form textarea::placeholder{color:color-mix(in srgb,var(--navy) 40%,transparent)}
.sd-form input:focus,.sd-form select:focus,.sd-form textarea:focus{border-color:var(--navy);background-color:#fff}
.sd-form__radios input{border-color:var(--navy)}
.sd-form__radios input:checked{border-color:var(--navy)}
.sd-form__radios input:checked::after{background:var(--amber)}
.sd-form__submit{background:#fff;border:1px solid var(--navy)}
.sd-job__apply{background:#fff;color:var(--navy);border:1px solid var(--navy);transition:background-color .5s var(--ease),color .5s var(--ease)}
.sd-job__apply:hover{background:var(--navy);color:#fff}
.sd-job__apply i{transition:width .5s var(--ease)}
.sd-job__toggle{transition:background-color .5s var(--ease),border-color .5s var(--ease)}
.sd-job__toggle::before,.sd-job__toggle::after{transition:transform .5s var(--ease),background-color .5s var(--ease)}
.sd-job__en{transition:color .5s var(--ease)}
.sd-terms{background:var(--mist-l)}
@media (max-width:767px){.sd-day__imgs{background:var(--mist)}}

/* 動き：0.5s・cubic-bezier(.645,.045,.355,1) にそろえる */
.sd-gallery__btn{transition:border-color .5s var(--ease)}
.sd-gallery__bar i{transition:width .5s var(--ease)}
.sd-value::before{transition:height .5s var(--ease)}
.sd-value__cue{transition:transform .5s var(--ease),opacity .5s var(--ease)}
.sd-card__photo img{transition:transform .5s var(--ease)}
.sd-card__photo::after{transition:transform .5s var(--ease),opacity .5s var(--ease)}
.sd-card__go,.sd-ivnext__go{transition:width .5s var(--ease)}
.sd-ivback__link i{transition:width .5s var(--ease)}
.sd-tabs__btn small{transition:color .5s var(--ease)}

/* 本文：15px（スマホ 13px） */
.sd-ceo__text,.sd-values__lead,.sd-value__text,.sd-svc__text,.sd-vision__text,.sd-service__lead,.sd-way__text,.sd-growth__lead,.sd-step__text,.sd-benefit__dl dd,.sd-ivmv__lead,.sd-qa__a p,.sd-flow__lead,.sd-job__dl dd,.sd-terms__dl dd,.sd-faq__item dd,.sd-entryform__lead,.sd-nf__text{font-size:15px}
@media (max-width:767px){
  .sd-ceo__text,.sd-values__lead,.sd-value__text,.sd-svc__text,.sd-vision__text,.sd-service__lead,.sd-way__text,.sd-growth__lead,.sd-step__text,.sd-benefit__dl dd,.sd-ivmv__lead,.sd-qa__a p,.sd-flow__lead,.sd-job__dl dd,.sd-terms__dl dd,.sd-faq__item dd,.sd-entryform__lead,.sd-nf__text{font-size:13px}
}
.sd .t-mouse__circle,.sd-cursor{display:none!important}

/* かたまりの間隔をベース（中央値 41px・広い所 346px）へ：見出し・リード→一覧／写真は 41px、場面の切り替わりだけ 24vw */
.sd-footer__list{list-style:none;margin:0;padding:0}
@media (min-width:768px){
  .sd-footer{padding-top:41px}
  .sd-footer__margin{margin-top:27px}
  .sd-message__head{margin-bottom:28px}
  .sd-lmv__window{margin-top:41px}
  .sd-values__list,.sd-service__grid,.sd-gallery__slider,.sd-ways__list,.sd-growth__list,.sd-data__grid,.sd-crewlist__grid,.sd-faq__list{margin-top:41px}
  .sd-service__grid{row-gap:41px}
  .sd-benefit__groups{margin-top:19px}
  .sd-panel{padding:20px 2.4vw}
  .sd-flow__rows{margin-top:21px}
  .sd-flow__row{padding:20px 0}
  .sd-data{padding-top:12.8vw}
  .sd-entryform{margin-top:15vw}
  .sd-ivnext{padding-top:10.2vw}
  .sd-vision{margin-top:19.4vw}
  .sd-data__grid{margin-top:21px}
  .sd-crew__body{margin-top:20px}
}
/* SP：かたまりの間隔はベース（中央値 30px・広い所 213px）。セクションの切り替わり（キューの変わり目）と、最後のキュー（JOIN）からフッターへを広い所にする */
@media (max-width:767px){
  .sd section[id]+section[id]{margin-top:var(--sec-l)}
  .sd-join{padding-bottom:20vw}
  .sd-footer{padding-top:78px}
}

/* ---------- ページ全体の案の土台（ver7＋：ロゴ・色・写真の色味・形。a の見た目は変えない） ---------- */
/* ロゴ：案ごとのロゴを全部置き、今の案だけ見せる（a＝目印なし＝本番もこれ。切り替えは variants/v-logo.css） */
.t-logo[data-logo]:not([data-logo="a"]){display:none}
.sd-logo__set{display:inline-flex;align-items:center;gap:10px}
.sd-mark .t-m-ink{fill:var(--navy)}.sd-mark .t-m-acc,.sd-bami .t-m-acc{fill:var(--amber)}.sd-bami .t-m-ink{fill:var(--navy)}
.sd-logo__set--bami{position:relative;padding:7px 11px}
.sd-bami__c{position:absolute;width:9px;height:9px;display:block}
.sd-bami__c--tl{top:0;left:0}.sd-bami__c--tr{top:0;right:0;transform:rotate(90deg)}.sd-bami__c--br{bottom:0;right:0;transform:rotate(180deg)}.sd-bami__c--bl{bottom:0;left:0;transform:rotate(270deg)}
.sd-logo--l .sd-logo__set--bami{padding:10px 16px}.sd-logo--l .sd-bami__c{width:13px;height:13px}
.sd .t-header.t-is-dark :is(.sd-mark,.sd-bami) .t-m-ink{fill:#fff}
/* 色：core の濃紺の直書きを変数で受ける（a は同じ色） */
body.sd{color:var(--navy)}
.sd :is(.t-link,.t-header__link,.t-header__sub-link)::after{background-color:var(--navy)}
.sd .t-sp-menu__list{border-top-color:var(--navy)}.sd .t-sp-menu__item{border-bottom-color:var(--navy)}
.sd .t-lower-breadcrumb__link{color:color-mix(in srgb,var(--navy) 50%,transparent)}.sd .t-lower-breadcrumb__link:hover{color:var(--navy)}
/* 形：ボタンと写真の角（a は 0） */
.sd-btn,.sd-entry{border-radius:var(--r-btn)}.sd-btn::before{border-radius:inherit}
.sd :is(.t-image-mono__section,.sd-litbox,.sd-reveal,.sd-ivmv__photo,.sd-gallery__item,.sd-day__imgs):not(.sd-card__photo){border-radius:var(--r-img)}

/* ---------- 動き：FV の2回目の訪問（is-quick）・動きを減らす設定（is-still／prefers-reduced-motion）（担当B 2026-10-15） ---------- */
.sd-fv.t-is-quick :is(.sd-fv__cue,.sd-fv__span i,.sd-fv__line>span,.sd-fv__label,.sd-fv__lead,.sd-fv__scroll,.sd-fv__lamp,.sd-fv__desk,.sd-fv__dl i){transition:none!important;animation:none!important}
.sd-fv.t-is-quick .sd-fv__span em{transition:left 1.5s var(--ease)!important}
.sd-fv.t-is-quick .sd-fv__rows b::before,.sd-fv.t-is-quick .sd-fv__desk-rows li.t-is-go::before{transition:none!important}
.sd-fv.t-is-quick .sd-fv__photo{transition:--lit 1s var(--ease)!important}
/* 初回の幕開け中はヘッダーを遷移なしで隠す（script より先に描画されて一度見えてから消える、のを防ぐ）。2回目（is-quick）は待たせない */
.sd:has(.sd-fv:not(.t-is-ready):not(.t-is-quick):not(.t-is-still)) .t-header,.sd.t-is-fv-wait .t-header{opacity:0;visibility:hidden;transition:none}
.sd-fv.t-is-still *,.sd-fv.t-is-still *::before,.sd-fv.t-is-still *::after,.sd-fv.t-is-still .sd-fv__photo{transition:none!important;animation:none!important}
@media (prefers-reduced-motion:reduce){
  .sd-fv__frame{transform:none!important}
  .sd-fv__scroll i{animation:none;transform:none}
  .sd-day__img.t-is-active{animation:none}
  .sd-litbox,.sd .t-image-mono__section{transition:none}
  .sd .t-circle{animation:none}
  /* r1 2回目 動き #11：本文の浮き上がりとヘッダーの動きも止める（最後の状態で置く） */
  .sd .t-fade-animation,.sd .t-fade-animation__wrapper .t-fade-animation{transition:none!important;transform:none!important;opacity:1!important}
  .sd .t-header,.sd .t-header *,.sd .t-header__menu-button{transition:none!important}
  /* r1 3回目 動き #13：見出しの塗りは塗り終わった位置で置く（animation を止めるだけでは字が透明のまま）・ONE DAY の進み具合の線は伸ばさず今の長さで置く */
  .sd .t-title-animation{animation:none!important;background-position:0 0!important}
  .sd .t-js-day-bar{transition:none!important}
}

/* ---------- r1 監修の直し（担当A・文字と並び 2026-10-15） ---------- */
/* JOBS：見出しはカードの帯の左端に重ねた固定の列（カードはその下をくぐって流れる）＝「左に見出し・右にリード」の2段組みを続けない */
@media (min-width:768px){
  .sd-jobs__elevator{gap:0}
  .sd-jobs__head{position:absolute;z-index:2;left:0;top:0;bottom:0;width:32vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 3vw 0 var(--pad);background:var(--mist-l);border-right:1px solid var(--line)}
  .sd-jobs__head .t-index-title{margin-bottom:28px}
  .sd-jobs__lead{margin-top:22px}
  .sd-jobs__head .sd-more{margin-top:28px}
  .sd-jobs__list{padding-left:calc(32vw + 3vw)}
  /* CREW：見出しは中央に積む（表の上に1本の軸） */
  .sd-crew__head{display:block;text-align:center}
  .sd-crew__head .t-index-title{justify-content:center}
  .sd-crew__head .t-index-title__en{margin-right:0}
  .sd-crew__head .t-index-title__ja{margin-left:40px}
  .sd-crew__lead{margin-top:22px}
}
/* FV b（空と人）は進行表の表紙が無いので、左下に表紙の欄と同じ文字の仕様で「SAMPLE」の札を置く（a・c は表紙の欄に出ている） */
.sd-fv__sample{display:none;position:absolute;z-index:4;left:36px;bottom:36px;margin:0;padding:9px 14px;border-top:1px solid var(--navy);border-bottom:1px solid var(--line);background:rgba(255,255,255,.88);font:600 12px/1 var(--en);letter-spacing:.18em;color:var(--navy)}
[data-t-var-key="fv"][data-t-v="b"] .sd-fv__sample{display:block}
@media (max-width:767px){[data-t-var-key="fv"][data-t-v="b"] .sd-fv__sample{left:var(--pad);bottom:auto;top:calc(56% - 44px)}}
/* SP：下へ読む間はヘッダーと一緒にメニューボタンも隠す（下地の無い所で本文に重ならない）。戻ると一緒に出る */
@media (max-width:767px){
  .sd .sd-menu-btn.t-header__menu-button{transition:transform .5s var(--ease)}
  .sd .t-header.t-is-hidden+.sd-menu-btn:not(.t-is-open){transform:translateY(-120px)}
}
/* トップの職種カードの英字（下層の募集要項の .sd-job__en の 1.7vw に負けないよう、トップの帯の中だけで決める） */
.sd-jobs .sd-job__en{font-size:20px;line-height:1.1;letter-spacing:-.02em}
@media (max-width:767px){.sd-jobs .sd-job__en{font-size:5.4vw}}
/* スマホの段：見出し 33.3px（NEXT だけベースどおり 25px）・FV 以外の大きな数字は 41.6px まで・本文の値は 13px */
@media (max-width:767px){
  .sd .sd-next__title.sd-h{font-size:6.4vw}
  .sd-next__q{font-size:8.5333vw}
  .sd-day__time{font-size:10.6667vw}
  .sd-message__sheet dd{font-size:13px}
  .sd-cuebtn__label{font-size:15px}
}
/* CULTURE：ベースの「縦長の大写真＋中写真＋正方形」を左右反転しただけの骨組みをやめる＝横長の写真2枚（右上に大・右下に小）と、左の文と「次の場面」の行を主役に */
@media (min-width:768px){
  .sd-culture .t-culture__image-1{top:0;width:40vw;height:26.7vw}
  .sd-culture .t-culture__image-2{display:none}
  .sd-culture .t-culture__image-3-wrapper{margin-top:-14vw;text-align:right}
  .sd-culture .t-culture__image-3{margin-left:auto;width:30vw;height:20vw}
  /* NEXT：上の1本線を時刻の目盛り（24目盛り）に、合図のボタンを帯の高さいっぱいの札に（ベースの「線＋見出し＋丸ボタン」の骨組みから外す） */
  .sd-next{position:relative;border-top:0}
  .sd-next::before{content:"";position:absolute;left:var(--col);right:var(--pad);top:0;height:9px;background:linear-gradient(var(--navy),var(--navy)) 0 0/100% 1px no-repeat,repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100% / 24))}
  .sd-next__link{align-items:stretch}
  .sd-next__cue,.sd-next__main{align-self:center}
  .sd-next__go{height:auto;min-height:112px;padding:0 32px}
}
/* タブレット（768〜1023）：PC の組みのまま、狭い所だけ組み替える */
@media (min-width:768px) and (max-width:1023px){
  :root{--col:12vw;--pad:5vw}
  .sd .t-header{padding-left:24px;padding-right:24px}
  .sd .t-header__q,.sd .sd-entry>.sd-entry__q,.sd .sd-entry>.sd-entry__st,.sd .t-header .sd-logo__sub{display:none}
  .sd .t-header__menu-right{margin-left:20px}
  .sd .t-header__link{font-size:12px;white-space:nowrap}
  .sd-entry>span{padding:0 14px}
  .sd-message__sheet{grid-template-columns:1fr 1fr}
  .sd-message__sheet div:nth-child(3){border-left:0;padding-left:0}
  .sd-message__sheet div:nth-child(n+3){border-top:1px solid var(--line)}
  .sd-crew__body{grid-template-columns:minmax(0,1fr)}
  .sd-crew__photo{display:none}
  .sd-crew__cols,.sd-crew__link{grid-template-columns:minmax(0,1fr) 116px 64px 64px 24px;column-gap:14px}
  .sd-scene{grid-template-columns:4.8em 3.8em minmax(0,1fr) 24px}
  .sd-join{grid-template-columns:minmax(0,1fr) 34vw}
  .sd-join__cues{grid-template-columns:1fr}
  .sd-join__cues li+li .sd-cuebtn{padding-left:0;border-left:0}
  .sd-footer__inner{grid-template-columns:1fr 1fr}
  .sd-footer__brand{grid-column:1/3}
  .sd-footer__dl dt{white-space:nowrap}
  .sd-jobs__head{width:36vw;padding-right:2.4vw}
  .sd-next__link{grid-template-columns:auto minmax(0,1fr) auto}
  .sd-jobs__list{padding-left:calc(36vw + 3vw)}
}

/* ---------- r1 監修の直し 2回目（担当A・文字と並び 2026-10-16） ---------- */
/* ヘッダー（文字 N1）：メニュー名と時刻は折らない。1024〜1279 は項目の間を詰め、ENTRY の STAND BY の欄を隠す */
@media (min-width:768px){.sd .t-header__link,.sd .t-header__q{white-space:nowrap}}
@media (min-width:1024px) and (max-width:1279px){
  .sd .t-header__menu-left{gap:30px}
  .sd .t-header__menu-right{margin-left:28px}
  .sd .t-header__link{gap:6px}
  .sd .sd-entry>.sd-entry__st{display:none}
}
/* COMPANY（余白 #1・新2）：英字＋和名の札（h2）を外し、大見出し「企画書から、撤収まで。」を h2 にして入る（大きさはベースの 3.125vw・行間 1.3＝4回目で上書きを外した）。写真は文の上（左上の横長・右上の縦長）と下（右下の横長）に散らす＝文と写真を左右に並べない */
@media (min-width:768px){
  .sd-about.t-about{padding:30vw 0 33vw}
  .sd-about .t-about__inner{margin:0;width:auto}
  .sd-about .t-about__body{width:auto;max-width:48vw;margin:0 0 0 var(--col);padding:0}
  .sd-about .t-about__body-text-wrapper,.sd-about .t-about__links{width:auto;max-width:31.64vw;margin-left:0}
  .sd-about .t-about__body-text-wrapper{margin-top:41px}
  .sd-about .t-about__links{margin-top:41px}
  .sd-about .t-about__image-1{left:0;right:auto;top:3vw;width:36vw;height:24vw}
  .sd-about .t-about__image-2{left:auto;right:var(--pad);top:0;width:21vw;height:26.25vw}
  .sd-about .t-about__image-3{left:auto;right:14vw;top:auto;bottom:4vw;width:33vw;height:24.75vw}
}
@media (min-width:768px) and (max-width:1023px){
  .sd-about .t-about__body{max-width:none;margin-right:var(--pad)}
  .sd-about .t-about__body-text-wrapper,.sd-about .t-about__links{max-width:36em;margin-left:0}
}
/* WINGS（文章 新7・3回目で T1 に合わせて直し）：和名「文化と制度」の大きさはほかのセクションの和名のラベルと同じ（ベースの PC 15px・SP 12px）。PC は英字の直下に積んで隠れない並びで出す */
@media (min-width:768px){
  .sd .t-culture-title{flex-direction:column;align-items:flex-start;row-gap:10px}
  .sd .t-culture-title .t-culture-title__en{margin-right:0}
}
/* CREW のボタン（文字 N3）：文字は1行。SP は内側の余白と字間を詰める */
.sd-btn__text{white-space:nowrap}
@media (max-width:767px){.sd-crew__more .sd-btn{gap:12px;padding:0 16px 0 18px;letter-spacing:.06em}.sd-crew__more .sd-btn__line{padding-left:12px}}
/* WINGS「次の場面」の英字の札（文字 N4）：1行。SP の札の列を広げる */
.sd-scene__q{white-space:nowrap}
@media (max-width:767px){.sd-scene{grid-template-columns:5.6em 3.4em minmax(0,1fr) 20px}}
/* FV a の表紙の欄（文字 N5）：各項目は1行。768〜1023 は「SAMPLE」を2段目に送る（進行表は広げない＝人物の顔にかけない） */
.sd-fv__cue-head span{white-space:nowrap}
@media (min-width:768px) and (max-width:1023px){
  .sd-fv__cue-head{flex-wrap:wrap}
  .sd-fv__cue-head span:last-child{flex-basis:100%;padding-left:0;border-left:0;border-top:1px solid var(--line)}
}
/* JOBS の職種の英字（文字 N9）：768〜1023 はカードの幅に1行で入る大きさ（6枚とも同じ） */
.sd-jobs .sd-job__en{white-space:nowrap}
@media (min-width:768px) and (max-width:1023px){.sd-jobs .sd-job__en{font-size:16px}}
/* CREW の英字（文字 N10）：SP は職種カードの英字と同じ 5.4vw */
@media (max-width:767px){.sd-crew__role{font-size:5.4vw}}
/* JOIN の合図のボタン（文字 N12）：ベースのボタンの文字と同じ 15px/400・字間 .12em */
.sd-cuebtn__label{font-size:15px;font-weight:400;letter-spacing:.12em}
/* SP の FV（写真と素材 #12）：写真の下端 18% を淡い帯の色へ溶かす（硬い横線を出さない） */
@media (max-width:767px){.sd-fv__photo{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}}
/* フッター（余白 新1）：360 で中身が枠から出ない＝列の最小幅を外す */
.sd-footer__inner>*{min-width:0}
@media (max-width:767px){
  .sd-footer__link{grid-template-columns:4em 3.2em 5.6em minmax(0,1fr)}
  .sd-footer__dl{grid-template-columns:auto minmax(0,1fr)}
}
/* ONE DAY の札（まとめ役の追加）：札は縮めず1行 */
.sd .t-index-title[data-cue]::before{white-space:nowrap;flex-shrink:0}
/* ONE DAY の札は長い（05:30 — 23:30｜ALL DAY）ので、PC は札だけ1段目に置き、英字と和名を2段目に（右の列の幅で和名を押し出さない） */
@media (min-width:768px){
  .sd-day__head .t-index-title[data-cue]{flex-wrap:wrap;row-gap:14px}
  .sd-day__head .t-index-title[data-cue]::before{margin-right:100%}
}
/* SP の WINGS の大見出し（33.3px）は1行に収まらないので折る（nowrap のままだと右端で切れる） */
@media (max-width:767px){.sd-culture .t-culture__body-title{white-space:normal}}
/* SP の WINGS の大見出しは手で入れた改行をやめ、文節で折る（「日も、」だけの短い行を作らない） */
@media (max-width:767px){.sd-culture .t-culture__body-title br{display:none}}
/* JOBS（J-040・まとめ役の判断）：COMPANY と同じく英字＋和名の札（h2）を外し、大見出し「6つの仕事で、ひとつの本番。」を h2 にして入る */
@media (max-width:767px){.sd-jobs__title{margin-top:0}}

/* ---------- r1 監修の直し 3回目（担当A・文字と並び 2026-10-16） ---------- */
/* JOBS の地（余白 新4③）：淡い空色の帯をやめ、ページの地（白と粒）に戻す。左の見出しの列はカードがくぐるので同じ白と粒で塗る。色の案 b・c でも白のまま */
.sd-jobs{background:transparent}
@media (min-width:768px){.sd-jobs__head{background:#fff url(texture.png) repeat 0 0/100px}}
/* SP の文字の段（文字 T2・T4・T5・T6）：ベースの SP の段（10・12・13・15・21.8・25・33.3px）にそろえる */
@media (max-width:767px){
  .sd-day__time{font-size:8.5333vw}
  .sd-scene__t,.sd-job__cue b,.sd-jobs .sd-job__text,.sd-next__time{font-size:13px}
  .sd-fv__span b{font-size:25px}
  .sd-jobs .sd-job__en,.sd-crew__role,.sd-join__cue b{font-size:21.8px}
}
/* SP の FV a（文章 新8）：表紙の欄（SAMPLE を含む）と GO の行も出す＝写真の下端に白い紙1枚の進行表（表紙→時刻→GO の行）。上へ伸びる分は写真の下の方（胴）までで、顔にはかけない */
@media (max-width:767px){
  .sd-fv__cue{bottom:calc(44% - 30px);padding:8px 10px 0;background:rgba(255,255,255,.9)}
  .sd-fv__cue-head{display:flex;border-top:0;font-size:12px;letter-spacing:.02em}
  .sd-fv__cue-head span{padding:0 8px 8px 0}
  .sd-fv__cue-head span+span{padding-left:8px}
  .sd-fv__cue-head span:last-child{letter-spacing:.02em;margin-left:auto}
  .sd-fv__span{padding:8px 0;background:none}
  .sd-fv__rows{display:block}
  .sd-fv__rows li{grid-template-columns:48px minmax(0,1fr) auto auto;column-gap:10px;height:34px;font-size:13px;letter-spacing:.04em;white-space:nowrap}
  .sd-fv__rows li:last-child{border-bottom:0}
  .sd-fv__rows time{font-size:13px}
  .sd-fv__rows small{font-size:12px;letter-spacing:.04em}
}
/* 写真と素材 N3（FV a・768〜1023）：縦長のタブレットでは写真を右へ送り、人物の顔を進行表の外に出す */
@media (min-width:768px) and (max-width:1023px){.sd-fv__frame--main{--px:.75}}
/* 写真と素材 N6（WINGS の 12・PC）：右の人の頭頂が枠の上端に触れないよう、絵を下げて頭の上に余白を */
@media (min-width:768px){.sd-culture .t-culture__image-1 .t-image-mono{object-position:50% 30%}}
/* 写真と素材 N7（FV b・SP）：溶かす帯が人物の腕と服にかからないよう、溶かし始めを 82%→92% に */
@media (max-width:767px){[data-t-var-key="fv"][data-t-v="b"] .sd-fv__photo{-webkit-mask-image:linear-gradient(180deg,#000 92%,transparent);mask-image:linear-gradient(180deg,#000 92%,transparent)}}

/* ---------- r1 100万円ライン（担当E 2026-10-16）：SP の FV・確認事項・JOBS の担当欄 ---------- */
/* FV の写真：案 b＝fv_b（反転しない）・案 c＝fv_c。a では出さない（loading=lazy なので読み込まれない） */
.sd-fv__frame--c{display:none}
.sd-fv__frame--a .sd-fv__img{transform:none}
/* SP の FV（3案共通）：キャッチを画面幅いっぱい（左右16px・2行同じ大きさ・句読点まで画面の中）にし、写真の下端の溶かしの上に重ねる。
   写真の箱を下まで伸ばし（写真の下の淡い空きをなくす）、下から リード → キャッチ → 英字の札 の順に積む */
@media (max-width:767px){
  .sd-fv{--fvc:calc((100vw - 32px) / 7.5);--fv-cb:calc(26px + 13px * 1.9 * 2 + 16px);--fv-ct:calc(var(--fv-cb) + 2.04 * var(--fvc));--fv-up:calc(var(--fv-ct) + 12px + 10px + 22px)}
  .sd-fv__photo{height:88%;-webkit-mask-image:linear-gradient(180deg,#000 58%,transparent 97%);mask-image:linear-gradient(180deg,#000 58%,transparent 97%)}
  .sd-fv__catch{left:16px;right:auto;bottom:var(--fv-cb)}
  .sd-fv__lead{left:16px;right:16px;bottom:26px}
  .sd-fv__label{left:16px;bottom:calc(var(--fv-ct) + 12px)}
  .sd-fv__cue{left:16px;right:16px;bottom:var(--fv-up)}
}

/* 確認事項（WINGS〜JOBS の後・NEXT の前）：進行表の「確認事項」の行。見出しは罫の表の頭に置く（前の JOBS の大見出し・後の NEXT の時刻の箱と違う入り方） */
.sd-check{padding:calc(var(--sec) * 1.4) var(--pad) calc(var(--sec) * 1.4) var(--col)}
.sd-check__sheet{border-top:1px solid var(--navy)}
.sd-check__head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.sd-check__title{display:flex;align-items:center;gap:14px;margin:0;font:600 20px/1.3 var(--font-head);letter-spacing:.04em;color:var(--navy)}
.sd-check__title::before{content:"";width:18px;height:18px;border:1px solid var(--navy);background:linear-gradient(var(--amber),var(--amber)) center/8px 8px no-repeat}
.sd-check__cols{display:grid;grid-template-columns:9em minmax(0,1fr) minmax(0,1.4fr);column-gap:3vw;margin:0;font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--ink2)}
.sd-check__head .sd-check__cols{display:none}
.sd-check__list{list-style:none;margin:0;padding:0}
.sd-check__row{display:grid;grid-template-columns:9em minmax(0,1fr) minmax(0,1.4fr);column-gap:3vw;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.sd-check__k{display:flex;align-items:center;gap:12px;padding-top:4px;font-size:15px;font-weight:600;letter-spacing:.12em}
.sd-check__box{flex:0 0 auto;width:16px;height:16px;border:1px solid var(--navy);border-radius:var(--r-btn)}
.sd-check__q{margin:0;font:600 20px/1.6 var(--font-head);letter-spacing:.02em}
.sd-check__a p{margin:0;font-size:15px;line-height:2;letter-spacing:.06em}
.sd-check__a .sd-check__fact{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:12px;color:var(--ink2)}
.sd-check__days{margin:0}
.sd-check__days div{display:grid;grid-template-columns:6.5em minmax(0,1fr);align-items:center;min-height:40px}
.sd-check__days div+div{border-top:1px dashed var(--line)}
.sd-check__days dt{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--ink2)}
.sd-check__days dd{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;letter-spacing:.06em}
.sd-check__days time{font:600 italic 18px/1 var(--en);letter-spacing:.02em}
.sd-check__days dd i{flex:0 1 48px;height:1px;background:var(--navy)}
.sd-check__memo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-bottom:1px solid var(--line)}
.sd-check__memo div{padding:18px 16px 18px 0}
.sd-check__memo div+div{padding-left:16px;border-left:1px solid var(--line)}
/* 768〜1023 は 2列×2段。段の最初の欄には左の罫と内側の余白を付けない（2回目 余白④） */
@media (min-width:768px) and (max-width:1023px){
  .sd-check__memo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-check__memo div:nth-child(2n+1){padding-left:0;border-left:0}
  .sd-check__memo div:nth-child(n+3){border-top:1px solid var(--line)}
}
/* 夜間の時刻の行（768〜1279）：欄の名前（本番の日・ふだんの日）を上に置き、時刻の行を欄の幅に収める（2回目 余白⑤） */
@media (min-width:768px) and (max-width:1279px){
  .sd-check__days div{grid-template-columns:minmax(0,1fr);row-gap:6px;padding:10px 0}
  .sd-check__days dd{flex-wrap:wrap}
}
.sd-check__days dd i{min-width:24px}
.sd-check__memo dt{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--ink2)}
.sd-check__memo dd{margin:8px 0 0;font-size:20px;font-weight:600;letter-spacing:.04em;line-height:1.3}
.sd-check__memo small{display:block;margin-top:4px;font-size:12px;font-weight:400;letter-spacing:.06em;color:var(--ink2)}
.sd-check__more{margin-top:41px}
@media (min-width:768px){
  .sd-check__head{display:grid;grid-template-columns:9em minmax(0,1fr) minmax(0,1.4fr);column-gap:3vw}
  .sd-check__title{grid-column:1/4}
  .sd-check__head .sd-check__cols{display:contents}
  .sd-check__head .sd-check__cols span{grid-row:2;margin-top:26px}
}
@media (max-width:767px){
  .sd-check{padding:var(--sec) var(--pad)}
  .sd-check__title{font-size:21.8px}
  .sd-check__row{grid-template-columns:minmax(0,1fr);row-gap:10px;padding:24px 0}
  .sd-check__k{padding-top:0;font-size:13px}
  .sd-check__q{font-size:15px}
  .sd-check__a p{font-size:13px;line-height:1.9}
  .sd-check__a .sd-check__fact{font-size:12px}
  .sd-check__days dd{font-size:13px}
  .sd-check__days time{font-size:15px}
  .sd-check__memo{grid-template-columns:minmax(0,1fr)}
  .sd-check__memo div,.sd-check__memo div+div{display:grid;grid-template-columns:6.5em minmax(0,1fr);align-items:baseline;padding:12px 0;border-left:0}
  .sd-check__memo div+div{border-top:1px dashed var(--line)}
  .sd-check__memo dd{margin:0;font-size:15px}
  .sd-check__more{margin-top:30px}
}

/* JOBS（担当欄）：カードを進行表の担当欄に＝写真の上に「キュー」「担当」の2行の欄・カードの間を縦の罫で区切る。地は白のまま */
.sd-jobs .sd-jobs__list{gap:0}
.sd-jobs .sd-job{flex-basis:calc(min(19.5vw,33vh) + 2.8vw);padding:0 1.4vw 0;border-left:1px solid var(--line)}
.sd-jobs .sd-job:last-child{border-right:1px solid var(--line)}
.sd-job__sheet{display:block;margin-bottom:14px}
.sd-job__row{display:grid;grid-template-columns:3.6em minmax(0,1fr);align-items:center;column-gap:10px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--line)}
.sd-job__row--cue{min-height:76px;border-bottom-color:var(--navy)}
.sd-job__k{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--ink2)}
.sd-jobs .sd-job__cue{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:7px;height:auto;margin:0;border:0;font-size:12px;letter-spacing:.06em}
.sd-jobs .sd-job__cue b{font:600 italic 20px/1 var(--en);letter-spacing:-.02em;margin:0;white-space:nowrap}
.sd-job__who{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:4px}
.sd-jobs .sd-job__ja{margin:0;font-size:15px}
.sd-jobs .sd-job__en,.sd-jobs .sd-job__who .sd-job__en{margin:0;font:600 12px/1 var(--en);letter-spacing:.14em;font-style:normal;color:var(--ink2)}
.sd-jobs .sd-job__cue>span{flex-basis:100%;white-space:nowrap}
.sd-jobs .sd-job__text{margin-top:12px}
@media (max-width:767px){
  .sd-jobs .sd-job{flex-basis:calc(66vw + 6vw);padding:0 3vw}
  .sd-jobs .sd-jobs__list{padding-right:var(--pad)}
  .sd-jobs .sd-job__cue b{font-size:25px}
  .sd-job__row{min-height:56px}
  .sd-job__row--cue{min-height:84px}
  .sd-jobs .sd-job__en,.sd-jobs .sd-job__who .sd-job__en{font-size:12px}
}
/* 768〜1023：カードが細いので、欄の名前（キュー・担当）を中身の上に置く（Q.04・Q.05 がカードの幅に収まるように） */
@media (min-width:768px) and (max-width:1023px){
  .sd-job__row{grid-template-columns:minmax(0,1fr);row-gap:6px}
  .sd-job__row--cue{min-height:96px}
  .sd-job__who{flex-direction:column;align-items:flex-start}
}
/* 1024〜1439：持ち場の欄が2行になるカードがあるので高さを固定（写真の上端をそろえる・2回目 余白⑦） */
@media (min-width:1024px) and (max-width:1439px){.sd-job__row{min-height:64px}}
/* SP の背の低い画面（案 a）：進行表の紙を顔から外す＝ヘッダーの下（空の上）へ（2回目 余白⑥） */
@media (max-width:767px) and (max-height:700px){.sd-fv__cue{top:88px;bottom:auto}}
/* 書体 c（M PLUS 1p）は字幅が広いので、SP の FV のキャッチを同じ左右16pxに収まる大きさに */
@media (max-width:767px){html[data-t-var-key="font"][data-t-v="c"] .sd-fv{--fvc:calc((100vw - 32px) / 7.7)}}
/* ---------- r1 100万円ライン 中（担当F 2026-10-16）：ONE DAY は時刻が進むと照明の色が変わる ----------
   写真の上（文字の下）に2枚の色の層＝::before＝光の色（soft-light）・::after＝光の当たらない所の落ち（multiply）。
   場面は app.js が .js-day の data-light（今の時刻）で切り替える。スクロールのたびには何もしない。
   色は写真の時刻の光なので、案（iro）の差し色には連動させない固定の値 */
@property --day-x{syntax:'<percentage>';inherits:true;initial-value:0%}
@property --day-y{syntax:'<percentage>';inherits:true;initial-value:80%}
@property --day-tint{syntax:'<color>';inherits:true;initial-value:rgba(60,110,220,.5)}
@property --day-core{syntax:'<color>';inherits:true;initial-value:#f2f5fc}
@property --day-edge{syntax:'<color>';inherits:true;initial-value:#b9c6e2}
.sd-day__imgs{--day-x:0%;--day-y:80%;--day-tint:rgba(60,110,220,.5);--day-core:#f2f5fc;--day-edge:#b9c6e2;
  transition:--day-x 1s var(--ease),--day-y 1s var(--ease),--day-tint 1s var(--ease),--day-core 1s var(--ease),--day-edge 1s var(--ease)}
.sd-day__imgs::before,.sd-day__imgs::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none}
.sd-day__imgs::before{mix-blend-mode:soft-light;background:radial-gradient(ellipse 120% 110% at var(--day-x) var(--day-y),var(--day-tint) 0%,color-mix(in srgb,var(--day-tint) 55%,transparent) 100%)}
.sd-day__imgs::after{z-index:4;mix-blend-mode:multiply;background:radial-gradient(ellipse 110% 100% at var(--day-x) var(--day-y),var(--day-core) 25%,var(--day-edge) 100%)}
/* 05:30 夜明け＝低い左からの青み */
.sd-day[data-light="05:30"] .sd-day__imgs{--day-x:0%;--day-y:80%;--day-tint:rgba(60,110,220,.5);--day-core:#f2f5fc;--day-edge:#b9c6e2}
/* 10:00 午前＝高くなった光の、澄んだ白 */
.sd-day[data-light="10:00"] .sd-day__imgs{--day-x:25%;--day-y:-10%;--day-tint:rgba(205,225,255,.4);--day-core:#ffffff;--day-edge:#e6ebf3}
/* 15:00 昼＝真上からの白 */
.sd-day[data-light="15:00"] .sd-day__imgs{--day-x:50%;--day-y:-20%;--day-tint:rgba(255,252,244,.45);--day-core:#ffffff;--day-edge:#efefef}
/* 18:30 開場＝右の低い夕日の琥珀 */
.sd-day[data-light="18:30"] .sd-day__imgs{--day-x:100%;--day-y:55%;--day-tint:rgba(255,150,50,.55);--day-core:#fff6ea;--day-edge:#d9b494}
/* 19:00 本番＝舞台の照明の琥珀。光の外は少しだけ落とす（2回目 N17：写真の部分の明るさ 0.3・黒 0.12 以上を保つ） */
.sd-day[data-light="19:00"] .sd-day__imgs{--day-x:55%;--day-y:-15%;--day-tint:rgba(255,175,75,.36);--day-core:#fff5e4;--day-edge:#fbf0e4}
/* 23:30 撤収＝照明が落ちた後の青い暗さ。作業灯だけ（2回目 N17：1日でいちばん暗いまま、写真の部分の明るさ 0.3・黒 0.12 以上） */
.sd-day[data-light="23:30"] .sd-day__imgs{--day-x:85%;--day-y:5%;--day-tint:rgba(80,100,170,.35);--day-core:#ffffff;--day-edge:#c2c6d8}
@media (prefers-reduced-motion:reduce){.sd-day__imgs{transition:none}}
/* r1 100万円ライン 動きの確かめ 高（担当F 2026-10-16）：FV の照明の層（112行の背景）に content が無く描かれていなかった（ver7 から）。
   .sd-litbox::after と同じ指定で描く＝読み込み時は濃紺 .64 の暗転、is-lit で --lit が 0→190% に上がり、斜め上から照明が入る */
.sd-fv__photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}

/* COMPANY の帯 2回目（G）：768〜1023 で帯と見出しの間を空ける（後ろの COMPANY の padding より後に置く） */
@media (min-width:768px) and (max-width:1023px){.sd-about.t-about{padding-top:calc(30vw + 16px)}}
/* r1 写真の確かめ6 N22（担当F 2026-10-16）：トップは body の読み込みのフェード（core の opacity 0→1・.8秒）を使わない。
   フェードの間は白い地に暗転の層が透けて、写真が乳白色に一度薄く出てから紺に沈んでいた。FV が最初から暗転の状態で出る（動きを減らす設定は今のまま） */
@media (prefers-reduced-motion:no-preference){body.sd:has(.t-js-fv){opacity:1;transition:none}}

/* スマホの JOBS は横送りをやめ、カードを縦に並べて画面幅いっぱいに（大串 2026-10-16「横にスクロールできるのなくして・画面いっぱいになってない」） */
@media (max-width:767px){
  .sd-jobs .sd-jobs__track{overflow:visible;scroll-snap-type:none}
  .sd-jobs .sd-jobs__list{display:block;width:auto;padding:0 var(--pad);transform:none}
  .sd-jobs .sd-job{flex:none;width:auto;padding:24px 0 28px;border-left:0;border-bottom:1px solid var(--line)}
  .sd-jobs .sd-job__photo{aspect-ratio:4/3}
}

/* ===== FV＝D 白い靄から色が差す（付箋【案の決定】2026-10-22 大串）＋ベースの「色が切り替わる」段取り（大串「元のベースみたいに色が切り替わる仕様が欲しい・それが完成度高く見える理由」）
   ベース：白黒の顔に唇の金だけ色 → 白い英字の帯7本が斜め -24° で順に流れ込む → 写真が 0.4秒で一気にカラー＋見出しの墨が左から塗られる → スクロールで寄りから引き・帯が消える。
   ソデ：白黒＋白い靄の写真に、インカムの赤い灯（本番の灯）だけ点く（is-cue）→ STAND BY などの帯が流れ込む → 靄が晴れ（is-lit）→ 写真がカラーに切り替わりキャッチが塗られる（is-color）→ スクロール（is-scene2）で引き・帯が消える ===== */
.sd-fv{background:#fff}
.sd-fv__frame{transform:scale(1.16);transform-origin:var(--fo,74% 32%);transition:transform 1.5s cubic-bezier(.645,.045,.355,1)}
.sd-fv .sd-fv__img{filter:grayscale(1) contrast(.94)}
.sd-fv.t-is-color .sd-fv__img{filter:none;transition:filter .5s cubic-bezier(.25,.46,.45,.94)}
.sd-fv .sd-fv__photo::after{background:radial-gradient(circle at 72% 34%,rgba(255,255,255,0) calc(var(--lit) - 70%),rgba(255,255,255,.5) calc(var(--lit) - 5%))}
/* インカムの赤い灯：白黒の中で唯一の色。2回瞬いて点いたまま、写真に色が入ると消える（色は写真そのものに移る） */
.sd-fv__tally{position:absolute;left:74.3%;top:37.4%;z-index:1;width:.5%;aspect-ratio:1;min-width:8px;transform:translate(-50%,-50%) scale(.4);border-radius:50%;background:#e2382f;box-shadow:0 0 0 .35vw rgba(226,56,47,.28),0 0 2.4vw rgba(226,56,47,.55);opacity:0;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.sd-fv.t-is-cue .sd-fv__tally{opacity:1;transform:translate(-50%,-50%);animation:sdTally .6s var(--ease) .5s 2 both}
.sd-fv.t-is-color .sd-fv__tally{opacity:0;animation:none;transition-duration:.4s}
@keyframes sdTally{0%,40%{opacity:1}60%{opacity:.3}100%{opacity:1}}
/* 英字の帯：-24° の面に7本。右の外から順に（0.24秒おき・2.2〜2.6秒）流れ込む。太い白と細い白抜きを交互に */
.sd-fv__bands{position:absolute;left:-30%;right:-30%;top:50%;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.6vw;transform:translateY(-50%) rotate(-24deg);pointer-events:none;transition:opacity .6s var(--ease)}
.sd-fv__band{margin:0;white-space:nowrap;font:600 9.6vw/1 var(--en);letter-spacing:-.01em;color:rgba(255,255,255,.86);text-shadow:0 0 3vw rgba(31,26,28,.12);transform:translateX(110vw);transition:transform 2.6s cubic-bezier(.215,.61,.355,1)}
.sd-fv__band:nth-child(even){font-size:4.2vw;font-weight:700;letter-spacing:.08em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8);text-shadow:none}
.sd-fv__band:nth-child(1){margin-left:8vw}.sd-fv__band:nth-child(3){margin-left:30vw}.sd-fv__band:nth-child(5){margin-left:14vw}.sd-fv__band:nth-child(7){margin-left:40vw}
.sd-fv__band:nth-child(2){transition-delay:.24s}.sd-fv__band:nth-child(3){transition-delay:.48s;transition-duration:2.4s}.sd-fv__band:nth-child(4){transition-delay:.72s;transition-duration:2.4s}
.sd-fv__band:nth-child(5){transition-delay:.96s;transition-duration:2.2s}.sd-fv__band:nth-child(6){transition-delay:1.2s;transition-duration:2.2s}.sd-fv__band:nth-child(7){transition-delay:1.44s;transition-duration:2.2s}
.sd-fv.t-is-cue .sd-fv__band{transform:none}
.sd-fv .sd-fv__band{white-space:nowrap;text-wrap:nowrap}
.sd-fv.t-is-color .sd-fv__bands{opacity:.38}
.sd-fv.t-is-scene2 .sd-fv__bands{opacity:0}
/* キャッチ：下から出すのをやめ、ベースと同じく墨が左から塗られる（is-color と同時・0.6秒） */
.sd-fv .sd-fv__line>span{display:inline-block;padding:0 .14em .04em 0;transform:none;color:transparent;background:linear-gradient(90deg,var(--navy) 50%,rgba(0,0,0,0) 0) 100% 0/200% 100% no-repeat;-webkit-background-clip:text;background-clip:text;transition:background-position .6s cubic-bezier(.25,.46,.45,.94)}
.sd-fv .sd-fv__line+.sd-fv__line>span{transition-delay:.12s}
.sd-fv.t-is-color .sd-fv__line>span{background-position:0 0}
/* PC だけ：キャッチを空の上に（スマホは本体の配置のまま） */
@media (min-width:768px){.sd-fv .sd-fv__catch{top:150px;bottom:auto}.sd-fv .sd-fv__lead{bottom:auto;top:calc(150px + 2.08 * var(--fvc) + 28px)}.sd-fv .sd-fv__label{display:block;bottom:auto;top:118px}}
@media (max-width:767px){
  .sd-fv__frame{--fo:73% 52%}
  .sd-fv__tally{left:73.3%;top:60.7%;box-shadow:0 0 0 1.2vw rgba(226,56,47,.28),0 0 6vw rgba(226,56,47,.55)}
  .sd-fv__bands{top:34%;gap:1.4vw}
  .sd-fv__band{font-size:17vw}.sd-fv__band:nth-child(even){font-size:7.4vw}
}
@media (prefers-reduced-motion:reduce){.sd-fv__band,.sd-fv__frame,.sd-fv .sd-fv__line>span{transition:none}.sd-fv__tally{animation:none}}

/* ロゴ＝G 袖幕の線（付箋【案の決定】2026-10-22 大串）：今のロゴAの幕のアーチを細い線で描き、線に沿って虹色が回る＋右下の点＝立ち位置。SODE は中太・字間広め、RECRUIT は太く（ベースの強弱） */
.sd-logo__set--duo{gap:10px;align-items:center}
.sd-logo .sd-mark--ring{display:block;width:28px;height:28px;flex:none;background:conic-gradient(from 0deg,#e8173a 0deg,#ee4a1c 60deg,#2a63d4 150deg,#0aa6e2 190deg,#25ad4a 235deg,#f2d814 280deg,#f59a12 320deg,#e8173a 360deg);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.sd-mark--g{--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%23000' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 34V16A11 11 0 0 1 19 5H21A11 11 0 0 1 32 16V24'/%3E%3Cpath d='M20 5.5V22'/%3E%3Ccircle cx='31.5' cy='32.5' r='3.4' fill='%23000' stroke='none'/%3E%3C/svg%3E")}
.sd-logo__word--duo{display:inline-flex;align-items:baseline;gap:.62em;font-size:17px;letter-spacing:0;white-space:nowrap}
.sd-logo__word--duo .sd-w1{font-weight:500;letter-spacing:.22em}
.sd-logo__word--duo .sd-w2{font-weight:700;letter-spacing:.05em}
.sd-logo--l .sd-logo .sd-mark--ring,.sd-logo--l .sd-mark--ring{width:44px;height:44px}
.sd-logo--l .sd-logo__word--duo{font-size:27px}
@media (max-width:767px){.sd-logo .sd-mark--ring{width:24px;height:24px}.sd-logo__word--duo{font-size:14px}}

/* FV：英字の帯を人物の後ろに通す（付箋 2026-10-22 大串『背景の英語は人の裏に文字の方がいい』）。
   人物だけを切り抜いた同じ写真（assets/mask＝macOS の Vision で作った人物の形）を帯の上に重ね、同じズームで動かす。赤い灯はさらに上 */
.sd-fv__photo--fg,.sd-fv__photo--top{z-index:3;pointer-events:none}
.sd-fv__photo--fg::after,.sd-fv__photo--top::after{display:none}
.sd-fv__frame--fg{-webkit-mask:url(/demos/sode/assets/mask/01.png) 0 0/100% 100% no-repeat;mask:url(/demos/sode/assets/mask/01.png) 0 0/100% 100% no-repeat}
.sd-fv__photo--top .sd-fv__frame{background:none}
@media (max-width:767px){.sd-fv__frame--fg{-webkit-mask-image:url(/demos/sode/assets/mask/02.png);mask-image:url(/demos/sode/assets/mask/02.png)}}
@media (max-width:767px){.sd-fv__frame--fg,.sd-fv__photo--top .sd-fv__frame{--r:.75;--px:.5;--py:.38}}
/* #message（付箋 2026-10-22『余白ありすぎ』『文字と写真の終わる位置がちがう』『ここも動きがある方が』）＝案A：上の余白を半分／本文を写真の上下いっぱいに広げて行間をとる／縦線が上から引かれ、点が順に灯る */
.sd .sd-message{padding-top:calc(var(--sec-l) * .5)}
.sd-message__photo .t-image-mono{object-fit:cover}
@media (min-width:768px){
  .sd-message__body{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:2.2em;padding-top:.2em;padding-bottom:.2em;line-height:2.25}
  .sd-message__body li+li{margin-top:0}
}
.sd-message__body::before{transform:scaleY(0);transform-origin:50% 0;transition:transform 1.8s var(--ease) .2s}
.sd-message__body li::before{transform:scale(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.sd-message__body.t-is-ScrollActive::before{transform:none}
.sd-message__body.t-is-ScrollActive li::before{transform:none}
.sd-message__body.t-is-ScrollActive li:nth-child(1)::before{transition-delay:.3s}
.sd-message__body.t-is-ScrollActive li:nth-child(2)::before{transition-delay:1s}
.sd-message__body.t-is-ScrollActive li:nth-child(3)::before{transition-delay:1.7s}
@media (prefers-reduced-motion:reduce){.sd-message__body::before,.sd-message__body li::before{transform:none;transition:none}}
/* JOBS（付箋 2026-10-22『ここ左の余白ありすぎ？』）＝案A：左の見出しを上下中央でなく、カードの上端にそろえ、リンクをカードの下端へ（--jt は app.js が測る） */
@media (min-width:768px){
  .sd-jobs__head{justify-content:flex-start;padding-top:calc(var(--jt,18vh) + 14px);padding-bottom:var(--jt,18vh)}
  .sd-jobs__head .sd-more{margin-top:auto}
}
/* COMPANY の最後の写真（付箋 2026-10-22『文字と写真のバランスちょっと違和感』）＝案A：写真を本文の右に寄せ、写真の下端をリンクの下端にそろえる（下の空きを詰める） */
@media (min-width:1024px){
  .sd-about.t-about{padding-bottom:6vw}
  .sd-about .t-about__image-3{right:var(--pad);bottom:6vw}
}
/* JOIN（付箋 2026-10-22『ここ微妙』）＝案A：最後のキューは写真を全面に敷き、左から紺の暗転をかけて白い文字で締める（水色の面に小さな写真が浮く形をやめる） */
.sd .sd-join{grid-template-columns:minmax(0,1fr) 30vw;padding-top:9vw;padding-bottom:9vw;background:var(--navy);color:#fff}
.sd .sd-join__photo{position:absolute;inset:0;aspect-ratio:auto;z-index:0;background:var(--navy)}
.sd .sd-join__img{object-position:72% 50%}
.sd .sd-join::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--navy) 90%,transparent) 0%,color-mix(in srgb,var(--navy) 72%,transparent) 42%,color-mix(in srgb,var(--navy) 8%,transparent) 78%)}
.sd .sd-join__inner{position:relative;z-index:3}
.sd .sd-join__ja,.sd .sd-join__cue b{color:#fff}
.sd .sd-join__cue{color:rgba(255,255,255,.72)}
.sd .sd-join__text{color:rgba(255,255,255,.92)}
.sd .sd-join__cues{border-top-color:rgba(255,255,255,.85)}
.sd .sd-join .sd-cuebtn{color:#fff;border-bottom-color:rgba(255,255,255,.85)}
.sd .sd-join__cues li+li .sd-cuebtn{border-left-color:rgba(255,255,255,.3)}
.sd .sd-join .sd-cuebtn__st{color:rgba(255,255,255,.72)}
.sd .sd-join .sd-cuebtn:hover{background:#fff;color:var(--navy)}
.sd .sd-join .sd-cuebtn:hover .sd-cuebtn__st{color:var(--ink2)}
@media (max-width:767px){
  .sd .sd-join{padding-top:56vw;padding-bottom:16vw}
  .sd .sd-join__img{object-position:78% 30%}
  .sd .sd-join::after{background:linear-gradient(180deg,color-mix(in srgb,var(--navy) 5%,transparent) 0%,color-mix(in srgb,var(--navy) 70%,transparent) 38%,color-mix(in srgb,var(--navy) 94%,transparent) 62%)}
  .sd .sd-join__photo{margin-top:0}
}
/* フッター（付箋 2026-10-22『フッターもっとよくできそう』）＝案A：最後に左右いっぱいの「SODE RECRUIT」で終演の幕を下ろす＋「搬入へ戻る」（先頭へ） */
.sd-footer{overflow:hidden}
.sd-footer__margin{align-items:center}
.sd-footer__top{display:inline-flex;align-items:center;gap:10px;margin-left:auto;font-size:12px;letter-spacing:.1em;color:var(--navy);text-decoration:none;white-space:nowrap}
.sd-footer__top b{font:600 italic 12px/1 var(--en);color:var(--ink2)}
.sd-footer__top i{position:relative;display:block;width:30px;height:30px;border:1px solid var(--navy);border-radius:50%;transition:background-color .3s var(--ease)}
.sd-footer__top i::before{content:"";position:absolute;left:50%;top:55%;width:7px;height:7px;border-left:1px solid var(--navy);border-top:1px solid var(--navy);transform:translate(-50%,-50%) rotate(45deg)}
.sd-footer__top:hover i{background:var(--navy)}
.sd-footer__top:hover i::before{border-color:#fff}
.sd-footer__big{display:flex;justify-content:space-between;align-items:baseline;margin:5vw calc(var(--pad) * -.15) -2.6vw;font-family:var(--en);font-size:11.2vw;line-height:.82;letter-spacing:-.01em;color:var(--navy);white-space:nowrap;user-select:none}
.sd-footer__big .sd-w1{font-weight:500;letter-spacing:.08em}
.sd-footer__big .sd-w2{font-weight:700;letter-spacing:-.01em}
@media (max-width:767px){
  .sd-footer__top{margin-left:0}
  .sd-footer__big{font-size:10.6vw;margin-top:10vw;margin-bottom:-2.4vw}
}
.sd .sd-join .t-title-animation{background-image:linear-gradient(90deg,#fff 50%,hsla(0,0%,100%,0) 0)}
/* ver17 案の決定：はじめに＝C（真ん中にそろえる＋読んでいる段落が灯る） */
.sd .sd-message{padding-top:calc(var(--sec-l) * .667)}
@media (min-width:768px){
  .sd-message__body{align-self:center;justify-content:center;gap:2.6em;margin-top:41px}
}
@keyframes sdCuePulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--amber) 55%,transparent)}100%{box-shadow:0 0 0 12px transparent}}
.sd-message__body li{opacity:.38;transition:opacity .6s var(--ease)}
.sd-message__body li.t-is-on{opacity:1}
.sd-message__body li.t-is-on::before{background:var(--amber);border-color:var(--amber);animation:sdCuePulse 1.6s ease-out infinite}
/* ver17 案の決定：最後のキュー＝C（紺の幕が上がって写真が現れ、ゆっくり寄る） */
.sd .sd-join::before{content:"";position:absolute;inset:0;z-index:2;background:var(--navy);transform-origin:50% 0;transition:transform 1.5s cubic-bezier(.76,0,.24,1) .2s}
.sd .sd-join.t-is-ScrollActive::before{transform:scaleY(0)}
.sd .sd-join__img{transform:scale(1.12);transition:transform 9s cubic-bezier(.22,.61,.36,1) 1.2s}
.sd .sd-join.t-is-ScrollActive .sd-join__img{transform:scale(1)}
@media (prefers-reduced-motion:reduce){.sd .sd-join::before{display:none}}
/* ver17 案の決定：フッター＝C（大きな社名が1文字ずつ灯る・進行表は触れた行にキューの線） */
.sd-footer__big .sd-ch{display:inline-block;color:color-mix(in srgb,var(--navy) 12%,transparent);transition:color .5s var(--ease)}
.sd-footer__big.t-is-on .sd-ch{color:var(--navy)}
.sd-footer__link{position:relative}
.sd-footer__link::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:0 50%;transition:transform .45s var(--ease)}
.sd-footer__link:hover::after{transform:none}
/* ver17 案の決定：COMPANY＝B（写真を本文の下に横長で） */
@media (min-width:1024px){
  .sd .sd-about.t-about{padding-bottom:calc(6vw + 24vw + 5vw)}
  .sd .sd-about .t-about__image-3{left:var(--col);right:var(--pad);bottom:6vw;width:auto;height:24vw}
}
/* ver20 FV【案の決定】B：カラーになった後も英字の帯が1段ごとに逆向きにゆっくり流れ続ける・帯を少し濃く（2026-10-22 大串） */
@keyframes sdDriftL{from{translate:0 0}to{translate:-14vw 0}}
@keyframes sdDriftR{from{translate:-14vw 0}to{translate:0 0}}
#fv.t-is-color .sd-fv__bands{opacity:.6}
#fv.t-is-color .sd-fv__band{animation:sdDriftL 38s linear 1.2s infinite alternate}
#fv.t-is-color .sd-fv__band:nth-child(even){animation-name:sdDriftR;animation-duration:46s}
#fv.t-is-scene2 .sd-fv__bands{opacity:0}
@media (prefers-reduced-motion:reduce){#fv .sd-fv__band{animation:none!important}}
