/* 社長プロジェクト LP — FV（NEO ACADEMIA型） */
:root{
  --bg:#FFFFFF;
  --ink:#111111;
  --ink-2:#4A4A4A;
  --ink-3:#6E6E6E;
  --rule:#D9D9D9;
  --red:#D7261E;      /* 差し色1：のれん・提灯の赤 */
  --yel:#F2B705;      /* 差し色2：看板の黄 */
  --ph:#E9E7E2;       /* 未入手写真の箱 */
  --line:#06C755;     /* LINEアイコンの正方形だけ */
  --ja:"Zen Kaku Gothic New",system-ui,sans-serif;
  --en:"Big Shoulders Display","Zen Kaku Gothic New",sans-serif;
  --u: calc(100vw / 375); /* NEO方式：375px台紙の1px */
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html{overflow-x:clip}body{overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--ja);font-size:15.5px;line-height:2;letter-spacing:.04em}
a{color:inherit}

/* ---------- header ---------- */
.hd{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:var(--ink);color:#fff}
.hd__logo{font-family:var(--en);font-weight:900;font-size:26px;letter-spacing:.06em;text-decoration:none;line-height:1}
.hd__line{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid #fff;line-height:1.6;letter-spacing:.06em}

/* ---------- FV ---------- */
.fv{position:relative;height:calc(var(--u) * 680);max-height:860px;overflow:hidden;background:var(--bg)}
.fv__stage{position:absolute;inset:0}

/* 斜めのストライプ（NEOの色帯。2色＋黒に絞る） */
.st{position:absolute;display:block;height:calc(var(--u)*9);transform-origin:left center;transform:rotate(-45deg)}
.st--red{background:var(--red)}
.st--yel{background:var(--yel)}
.st--blk{background:var(--ink)}
.st--1{width:calc(var(--u)*300);left:calc(var(--u)*-30);top:calc(var(--u)*420)}
.st--2{width:calc(var(--u)*260);left:calc(var(--u)*170);top:calc(var(--u)*640)}
.st--3{width:calc(var(--u)*160);left:calc(var(--u)*170);top:calc(var(--u)*230);height:calc(var(--u)*5)}
.st--4{width:calc(var(--u)*120);left:calc(var(--u)*270);top:calc(var(--u)*330)}

/* 写真タイル：45度で切った形 */
.tile{position:absolute;overflow:hidden}
.tile--a{left:calc(var(--u)*-4);top:0;width:calc(var(--u)*190);height:calc(var(--u)*180);
  clip-path:polygon(0 0,100% 0,100% 60%,60% 100%,0 100%)}
.tile--b{right:calc(var(--u)*-4);top:0;width:calc(var(--u)*190);height:calc(var(--u)*250);
  clip-path:polygon(32% 0,100% 0,100% 100%,0 100%,0 32%)}
.tile--c{left:calc(var(--u)*-4);top:calc(var(--u)*196);width:calc(var(--u)*165);height:calc(var(--u)*150);
  clip-path:polygon(0 0,72% 0,100% 30%,100% 100%,0 100%)}
.tile--d{left:calc(var(--u)*-4);top:calc(var(--u)*362);width:calc(var(--u)*175);height:calc(var(--u)*200);
  clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}
.tile--e{display:none}
.tile--f{right:calc(var(--u)*-4);top:calc(var(--u)*560);width:calc(var(--u)*150);height:calc(var(--u)*110);
  clip-path:polygon(36% 0,100% 0,100% 100%,0 100%,0 40%)}

/* 集合写真から1人ずつ切り出す（奥の案内表示は入れない） */
.photo{background:url(../img/team.jpg) no-repeat;filter:saturate(.8) contrast(1.06)}
.photo--l{background-size:400% auto;background-position:23% 22%}
.photo--c{background-size:600% auto;background-position:51% 36%}
.photo--r{background-size:440% auto;background-position:80% 24%}

/* 未入手の写真：用途を書いた箱（架空の写真は入れない） */
.ph{background:var(--ph);display:flex;align-items:center;justify-content:center;padding:20px}
.ph span{font-size:11px;line-height:1.6;color:var(--ink-3);letter-spacing:.06em;text-align:left}
.ph--dark{background:#2B2B2B}
.tile--c.ph{align-items:flex-end;justify-content:flex-start;padding:14px}
.ph--dark span{color:#A8A8A8}

/* 英字の札（NEOの BE PLAYFUL に相当） */
.fv__en{position:absolute;z-index:2;left:calc(var(--u)*16);top:calc(var(--u)*192);background:var(--bg);
  font-family:var(--en);font-weight:900;font-size:calc(var(--u)*26);line-height:.92;letter-spacing:.01em;padding:calc(var(--u)*6) calc(var(--u)*8) calc(var(--u)*4)}

/* 縦組みコピー：黒い帯に白抜き（右から読む） */
.fv__copy{position:absolute;z-index:3;right:calc(var(--u)*18);top:calc(var(--u)*262);
  writing-mode:vertical-rl;display:flex;flex-direction:column;gap:calc(var(--u)*10);
  font-weight:900;font-size:calc(var(--u)*31);line-height:1;letter-spacing:.08em}
.fv__copy span{display:inline-block;background:var(--ink);color:#fff;padding:calc(var(--u)*12) calc(var(--u)*7)}
.fv__copy span:nth-child(2){margin-block-start:calc(var(--u)*30)}
.fv__copy span:nth-child(3){margin-block-start:calc(var(--u)*80)}
.fv__copy sup{font-size:.4em;vertical-align:top}
.fv__copy sup a{color:#fff;text-decoration:none}

/* 下端の名札 */
.fv__name{position:absolute;z-index:3;left:calc(var(--u)*16);bottom:calc(var(--u)*18);background:var(--bg);padding:calc(var(--u)*8) calc(var(--u)*10) calc(var(--u)*6)}
.fv__name-en{display:block;font-family:var(--en);font-weight:900;font-size:calc(var(--u)*40);line-height:.9;letter-spacing:.02em}
.fv__name-ja{display:block;margin-top:6px;font-size:11.5px;font-weight:700;line-height:1.6;letter-spacing:.06em}

/* ---------- lead ---------- */
.lead{padding:40px 24px 64px;border-top:1px solid var(--ink)}
.lead__notice{font-size:13px;line-height:1.8;font-weight:700;padding:10px 0 12px;border-bottom:1px solid var(--rule);margin-bottom:24px}
.lead__ans{list-style:none;display:grid;gap:20px;margin-bottom:32px}
.lead__ans li{font-size:17px;font-weight:700;line-height:1.75;letter-spacing:.02em;padding-left:44px;position:relative}
.lead__ans .no{position:absolute;left:0;top:-2px;font-family:var(--en);font-weight:900;font-size:26px;line-height:1.2;color:var(--red);letter-spacing:.02em}
.lead__terms{border-top:1px solid var(--ink);margin-bottom:32px}
.lead__terms div{display:grid;grid-template-columns:6.5em 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:14px;line-height:1.7}
.lead__terms dt{font-weight:700;color:var(--ink-2)}
.lead__terms dd{font-weight:700}

.btn-line{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:0 20px;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:17px;letter-spacing:.06em;border-radius:0}
.btn-line:active{background:#333}
.btn-line__icon{width:24px;height:24px;background:var(--line);flex:none}
.btn-line__arrow{margin-left:auto;font-family:var(--en);font-weight:900;font-size:22px}
.cta__note{margin-top:10px;font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.note{margin-top:32px;font-size:11.5px;line-height:1.7;color:var(--ink-3)}

/* 未確定事項の可視化（公開前に全て消える） */
.todo{color:var(--red);font-weight:700;font-size:.85em;border:1px dashed var(--red);padding:0 4px;margin:0 2px;white-space:normal;-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.9}


/* ================= 本文セクション（章ごとに見せ方を変える） ================= */
.sec{position:relative;padding:88px 24px;overflow:hidden}
.sec--gray{background:#F2F1EE}
.sec--ink{background:var(--ink);color:#fff}
.sec p+p{margin-top:1em}
.sec b{font-weight:700}
.lede{font-size:17px;font-weight:700;line-height:1.9;letter-spacing:.02em}
.cap{font-size:13px;line-height:1.7;color:var(--ink-3);margin-top:12px}

/* 章見出し：番号＋英字＋和文（NEO型） */
.ttl{position:relative;margin-bottom:40px}
.ttl::before{content:"";position:absolute;right:-60px;top:-34px;width:150px;height:8px;background:var(--red);transform:rotate(-45deg)}
.ttl__no{font-family:var(--en);font-weight:900;font-size:22px;line-height:1;letter-spacing:.06em;color:var(--red)}
.sec .ttl p+p{margin-top:6px}
.ttl__en{font-family:var(--en);font-weight:900;font-size:calc(var(--u)*76);line-height:.82;letter-spacing:.01em;word-break:keep-all}
.ttl__ja{display:inline-block;margin-top:14px;background:var(--ink);color:#fff;font-size:21px;font-weight:900;line-height:1.3;letter-spacing:.06em;padding:6px 12px}
.ttl--inv .ttl__ja{background:#fff;color:var(--ink)}
.ttl--inv .ttl__no{color:var(--yel)}
.ttl--inv::before{background:var(--yel)}
.ttl--red .ttl__no{color:#fff}
.ttl--red::before{background:var(--yel)}

/* 01 WORK：番号カード */
.jobcards{list-style:none;display:grid;gap:14px;margin-top:28px}
.jobcards li{position:relative;padding:56px 18px 18px;border:2px solid var(--ink);border-radius:24px 0 0 0}
.jobcards li:nth-child(odd){background:var(--ink);color:#fff}
.jobcards__no{position:absolute;left:16px;top:6px;font-family:var(--en);font-weight:900;font-size:52px;line-height:1;color:var(--red)}
.jobcards li:nth-child(odd) .jobcards__no{color:var(--yel)}
.jobcards__name{font-size:16px;font-weight:900;line-height:1.65}
.sec .jobcards__price{display:inline-block;margin-top:12px;font-size:13px;font-weight:700;background:var(--red);color:#fff;padding:2px 10px}
.jobcards__price .todo{color:#fff;border-color:#fff}

/* 裁ち落としの写真 */
.bleed{position:relative;margin:0}
.bleed__img{aspect-ratio:4/3;width:100%;clip-path:polygon(0 8%,100% 0,100% 92%,0 100%)}
.bleed__cap{padding:10px 24px 0;font-size:12px;color:var(--ink-3);line-height:1.7}

/* 学ぶ／仕事 の左右比較 */
.s-split{padding-top:56px}
.split__title{font-size:20px;font-weight:900;line-height:1.6;margin-bottom:20px}
.split{display:grid;gap:12px}
.split__col{padding:22px 20px;font-size:14.5px;line-height:1.85}
.split__col--learn{background:#F2F1EE}
.split__col--work{border:3px solid var(--red)}
.split__tag{display:inline-block;font-size:12px;font-weight:700;padding:1px 8px;background:var(--ink);color:#fff}
.split__col--work .split__tag{background:var(--red)}
.sec .split__head{margin-top:8px;font-size:22px;font-weight:900;line-height:1.4}

/* 02 TIME：黄色地＋大きな数字 */
.s-time{background:var(--yel)}
.s-time .ttl::before{background:var(--ink)}
.s-time .ttl__no{color:var(--ink)}
.big-num{border-top:3px solid var(--ink);padding-top:16px}
.big-num__label{font-size:14px;font-weight:900}
.big-num__val{display:flex;align-items:baseline;gap:6px;font-family:var(--en);font-weight:900;line-height:1}
.big-num__unit{font-family:var(--ja);font-size:24px;font-weight:900}
.todo--big{font-family:var(--en);font-weight:900;font-size:96px;line-height:1;padding:0 8px;border-width:2px;background:rgba(255,255,255,.45)}
.stats{list-style:none;margin-top:32px;display:grid;gap:0}
.stats li{padding:18px 0;border-top:2px solid var(--ink)}
.stats__label{font-size:12.5px;font-weight:900}
.sec .stats__val{margin-top:2px;font-size:28px;font-weight:900;line-height:1.3}
.sec .stats__note{margin-top:6px;font-size:13.5px;line-height:1.7}

/* 03 MONEY：2枚のカード */
.money{display:grid;gap:16px}
.money__card{padding:24px 20px}
.money__card--pay{border:2px solid var(--ink)}
.money__card--get{background:var(--ink);color:#fff}
.money__head{font-size:13px;font-weight:900;letter-spacing:.1em;padding-bottom:10px;border-bottom:1px solid currentColor;margin-bottom:12px}
.money__zero{list-style:none}
.money__zero li{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;font-weight:700}
.money__zero b{font-family:var(--en);font-weight:900;font-size:40px;line-height:1;color:var(--red)}
.money__zero b::after{content:""}
.sec .money__sub{margin-top:20px;font-size:12.5px;font-weight:900;color:var(--ink-2)}
.money__maybe{list-style:none;margin-top:6px}
.money__maybe li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px dashed var(--rule);font-size:13.5px}
.money__lead{font-size:22px;font-weight:900;line-height:1.5}
.money__card--get .todo{color:#FF8A80;border-color:#FF8A80}
.money__warn{padding:12px 14px;background:#fff;color:var(--ink);font-weight:900;font-size:14.5px;line-height:1.8}
.money__why{margin-top:16px;padding:16px 20px;background:#F2F1EE;font-size:14px}
.money__why-head{font-weight:900;font-size:13px}

/* CTA帯 */
.band{position:relative;overflow:hidden;background:var(--red);color:#fff;padding:56px 24px}
.band__st{position:absolute;height:14px;width:320px;transform:rotate(-45deg);background:var(--yel)}
.band__st--1{right:-150px;bottom:30px}
.band__st--2{right:-110px;bottom:10px;background:var(--ink)}
.band__text{position:relative;font-size:24px;font-weight:900;line-height:1.5;margin-bottom:24px}
.btn-line--inv{background:#fff;color:var(--ink);position:relative}

/* 04 CONTRACT：A/B/C の要点 */
.points{list-style:none;display:grid;gap:12px}
.points li{position:relative;background:#fff;padding:20px 20px 20px 72px;font-size:14px;line-height:1.8}
.points__no{position:absolute;left:18px;top:14px;font-family:var(--en);font-weight:900;font-size:44px;line-height:1;color:var(--red)}
.sec .points__head{font-size:17px;font-weight:900;line-height:1.5;margin-bottom:4px}
.sec .points li p+p{margin-top:0}
.quit{margin-top:28px;border-top:2px solid var(--ink)}
.quit__head{font-weight:900;font-size:15px;padding:12px 0 4px}
.quit dl div{display:grid;grid-template-columns:5.5em 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule);font-size:14px}
.quit dt{font-weight:700;color:var(--ink-2)}

/* 05 FLOW：黒地のタイムライン */
.timeline{list-style:none}
.timeline li{position:relative;display:grid;grid-template-columns:72px 1fr;gap:12px;padding-bottom:36px}
.timeline li::before{content:"";position:absolute;left:30px;top:64px;bottom:8px;width:2px;background:repeating-linear-gradient(to bottom,#fff 0 6px,transparent 6px 12px)}
.timeline li:last-child::before{display:none}
.timeline__no{font-family:var(--en);font-weight:900;font-size:60px;line-height:1;color:var(--yel)}
.timeline h3{font-size:18px;font-weight:900;line-height:1.5;margin:6px 0}
.timeline p{font-size:14.5px;line-height:1.85;color:#DADADA}
.sec--ink .todo{color:#FF8A80;border-color:#FF8A80}
.after{margin-top:8px;padding:22px 20px;border:2px solid var(--yel)}
.after__head{font-family:var(--en);font-weight:900;font-size:13px;letter-spacing:.2em;color:var(--yel)}
.sec .after__head+p{margin-top:6px}
.after b{color:var(--yel)}
.sec .after__small{font-size:12.5px;color:#BDBDBD}

/* 06 NOT YET：言い切りの大きな文字 */
.notyet__big{font-size:calc(var(--u)*46);font-weight:900;line-height:1.3;letter-spacing:.02em}
.notyet__list{list-style:none;margin-top:28px}
.notyet__list li{position:relative;padding:14px 0 14px 34px;border-top:1px solid var(--ink);font-size:16px;font-weight:700;line-height:1.7}
.notyet__list li:last-child{border-bottom:1px solid var(--ink)}
.notyet__list li::before{content:"";position:absolute;left:0;top:30px;width:22px;height:4px;background:var(--red);transform:rotate(-45deg)}
.notyet__list b{background:linear-gradient(transparent 60%,rgba(242,183,5,.6) 60%)}
.unfit{margin-top:40px;background:var(--ink);color:#fff;padding:24px 20px;border-radius:24px 0 0 0}
.unfit__head{font-weight:900;font-size:17px;margin-bottom:8px}
.unfit ul{list-style:none}
.unfit li{position:relative;padding:10px 0 10px 28px;border-top:1px solid rgba(255,255,255,.2);font-size:14.5px;line-height:1.75}
.unfit li::before{content:"×";position:absolute;left:0;top:8px;font-family:var(--en);font-weight:900;font-size:20px;color:var(--yel)}
.unfit .todo{color:#FF8A80;border-color:#FF8A80}

/* 巨大英字の区切り（NEOの divider） */
.divider{font-family:var(--en);font-weight:900;font-size:calc(var(--u)*120);line-height:.8;color:#EDEDED;white-space:nowrap;overflow:hidden;margin:0;padding-top:16px;letter-spacing:-.01em}

/* 07 TEAM：顔写真のグリッド */
.members{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:28px 14px;margin-top:28px}
.members li:first-child{grid-column:1 / -1}
.members__photo{aspect-ratio:1/1;width:100%;clip-path:polygon(0 0,100% 0,100% 82%,82% 100%,0 100%)}
.members li:first-child .members__photo{aspect-ratio:4/3}
.members .photo--l{background-size:420% auto;background-position:23% 24%}
.members li:first-child .photo--l{background-size:400% auto;background-position:23% 22%}
.members .photo--c{background-size:600% auto;background-position:53% 40%}
.members .photo--r{background-size:560% auto;background-position:80% 22%}
.sec .members__role{margin-top:10px;font-size:11.5px;font-weight:700;color:var(--red)}
.sec .members__name{margin-top:2px;font-size:18px;font-weight:900;line-height:1.4}
.members__name span{font-size:11px;font-weight:500;color:var(--ink-3);margin-left:6px}
.sec .members__job{margin-top:4px;font-size:12.5px;line-height:1.6;color:var(--ink-2)}
.rep{margin-top:32px;padding:20px;border-left:8px solid var(--ink);background:#F2F1EE}
.rep__role{font-size:12px;font-weight:700;color:var(--ink-3)}
.sec .rep__name{margin-top:2px;font-size:20px;font-weight:900}
.rep__name span{font-size:11px;font-weight:500;color:var(--ink-3);margin-left:6px}
.sec .rep__bio{margin-top:8px;font-size:14px;line-height:1.85}

/* 08 GUIDELINES：表＋シェブロン */
.guide{background:#fff;padding:20px 20px 4px;border-radius:24px 0 0 0}
.guide__date{font-size:12.5px;color:var(--ink-3);margin-bottom:8px}
.terms{border-top:1px solid var(--ink)}
.terms div{display:grid;grid-template-columns:6em 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--rule);font-size:14.5px;line-height:1.75}
.terms div:last-child{border-bottom:0}
.terms dt{font-weight:700;color:var(--ink-2)}
.terms--big dd{font-weight:700}
.chev__title{margin-top:36px;font-weight:900;font-size:16px}
.chev{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:12px;counter-reset:c}
.chev li{counter-increment:c;position:relative;background:var(--ink);color:#fff;font-weight:700;font-size:14.5px;padding:12px 16px 12px 52px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
.chev li::before{content:counter(c,decimal-leading-zero);position:absolute;left:14px;top:9px;font-family:var(--en);font-weight:900;font-size:22px;line-height:1.2;color:var(--yel)}
.chev li:last-child{background:var(--red)}
.chev li:last-child::before{color:#fff}

/* 09 Q&A：質問を黒帯で */
.faq div{margin-bottom:20px}
.faq dt{position:relative;background:var(--ink);color:#fff;font-weight:900;font-size:15.5px;line-height:1.7;padding:12px 16px 12px 52px}
.faq dd{position:relative;padding:14px 4px 0 52px;font-size:14.5px;line-height:1.85}
.faq dt::before,.faq dd::before{position:absolute;left:14px;font-family:var(--en);font-weight:900;font-size:26px;line-height:1}
.faq dt::before{content:"Q";top:11px;color:var(--yel)}
.faq dd::before{content:"A";top:12px;color:var(--red)}

/* MESSAGE：黒地の引用 */
.s-msg{padding-top:72px}
.msg__en{font-family:var(--en);font-weight:900;font-size:calc(var(--u)*76);line-height:.82;color:#2A2A2A}
.sec .msg__ja{margin-top:12px;position:relative;font-size:22px;font-weight:900}
.msg__body{position:relative;margin:28px 0 0;padding:24px 0 0 0;border-top:1px solid #444;font-size:15.5px;line-height:2.1}
.msg__body::before{content:"“";position:absolute;right:0;top:-12px;font-family:var(--en);font-size:120px;line-height:1;color:var(--red)}
.msg__sign{margin-top:24px;font-size:13px;font-weight:700;color:#BDBDBD}

/* CONTACT：赤地 */
.s-contact{background:var(--red);color:#fff}
.s-contact .ttl__ja{background:#fff;color:var(--red)}
.s-contact .todo{color:#fff;border-color:#fff}
.contact__big{font-size:26px;font-weight:900;line-height:1.5;margin-bottom:16px}
.contact__grid{display:grid;gap:40px}
.s-contact .cta{margin-top:28px}
.s-contact .cta__note{color:#FFE3E0}
.phone{max-width:240px}
.ph--phone{aspect-ratio:9/19;width:100%;border:6px solid var(--ink);border-radius:20px}
.s-contact figcaption{color:#FFE3E0}
figcaption{margin-top:8px;font-size:12px;line-height:1.7;color:var(--ink-3)}

/* フッター */
.ft{background:var(--ink);color:#fff;padding:56px 24px 40px}
.ft__logo{font-family:var(--en);font-weight:900;font-size:44px;line-height:1;margin-bottom:24px}
.ft__info div{display:grid;grid-template-columns:6.5em 1fr;gap:8px;font-size:13px;line-height:1.9}
.ft__info dt{color:#A8A8A8}
.ft .todo{color:#FF8A80;border-color:#FF8A80}
.ft__links{margin-top:24px;font-size:13px}
.ft__copy{margin-top:24px;font-size:11px;color:#8A8A8A;font-family:var(--en);letter-spacing:.08em}

/* プライバシーポリシー */
.doc{max-width:760px;margin:0 auto;padding:64px 24px 96px}
.doc h1{font-size:24px;font-weight:900;margin-bottom:32px}
.doc h2{font-size:17px;font-weight:900;margin:32px 0 8px;padding-left:10px;border-left:6px solid var(--red)}
.doc p,.doc li{font-size:14.5px;line-height:1.9}
.doc ul{padding-left:1.2em}


/* FVのグラフィックタイル（写真の代わり） */
.gfx{display:flex;flex-direction:column;justify-content:flex-end;padding:14px}
.gfx--chart{background:#1E1E1E}
.gfx__label{font-family:var(--en);font-weight:900;font-size:13px;letter-spacing:.14em;color:var(--yel)}
.bars{display:flex;align-items:flex-end;gap:6px;height:55%;margin-top:8px}
.bars i{flex:1;background:#fff}
.bars i:last-child{background:var(--red)}
.gfx--red{background:var(--red);color:#fff}
.gfx--yel{background:var(--yel);color:var(--ink);align-items:flex-end}
.gfx__big{font-family:var(--en);font-weight:900;font-size:calc(var(--u)*34);line-height:.9}
.gfx__stars{margin-top:6px;font-size:14px;letter-spacing:.2em;color:var(--yel)}

/* 作業画面のイメージ（表） */
.sheet{background:#2A2A2A;display:flex;align-items:center;justify-content:center;padding:12% 16px}
.sheet__in{width:100%;max-width:680px;background:#fff;color:var(--ink);padding:16px;box-shadow:0 0 0 1px #000}
.sheet__ttl{font-size:12px;font-weight:700;margin-bottom:8px}
.mask{display:inline-block;width:5em;height:.9em;background:var(--ink);vertical-align:-1px}
.sheet table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.sheet th{background:#F2F1EE;font-weight:700;text-align:right;padding:6px 6px;border:1px solid #D9D9D9}
.sheet th:first-child,.sheet td:first-child{text-align:left}
.sheet td{text-align:right;padding:6px 6px;border:1px solid #D9D9D9}
.sheet .up{color:#0A7D3B;font-weight:700}
.sheet .dn{color:var(--red);font-weight:700}
.sheet__memo{margin-top:8px;font-size:11px;color:var(--ink-2);background:#FFF6D6;padding:4px 8px}

/* LINEの1通目のイメージ */
.chat{background:#8CABD9;padding:0;overflow:hidden;display:block}
.chat__bar{background:#283246;color:#fff;font-size:11px;font-weight:700;padding:10px 12px}
.chat__bubble{margin:14px 12px;background:#fff;color:var(--ink);border-radius:14px;padding:10px 12px;font-size:10.5px;line-height:1.6}
.big-num__n{font-family:var(--en);font-weight:900;font-size:120px;line-height:.9;color:var(--red)}

/* ---------- PC ---------- */
@media (min-width:900px){
  :root{--u: calc(100vw / 1366)}
  body{font-size:17px}
  .hd{height:72px;padding:0 40px}
  .hd__logo{font-size:32px}
  .hd__line{font-size:14px}
  .fv{height:calc(var(--u)*770);max-height:none}
  .st{height:calc(var(--u)*16)}
  .st--1{width:calc(var(--u)*620);left:calc(var(--u)*380);top:calc(var(--u)*760)}
  .st--2{width:calc(var(--u)*520);left:calc(var(--u)*860);top:calc(var(--u)*470)}
  .st--3{width:calc(var(--u)*360);left:calc(var(--u)*430);top:calc(var(--u)*300);height:calc(var(--u)*8)}
  .st--4{width:calc(var(--u)*300);left:calc(var(--u)*-40);top:calc(var(--u)*520)}
  .tile--a{left:calc(var(--u)*-10);top:0;width:calc(var(--u)*420);height:calc(var(--u)*310)}
  .tile--b{right:calc(var(--u)*-10);top:0;width:calc(var(--u)*470);height:calc(var(--u)*460)}
  .tile--c{left:auto;right:calc(var(--u)*230);top:calc(var(--u)*480);width:calc(var(--u)*270);height:calc(var(--u)*290)}
  .tile--d{left:calc(var(--u)*300);top:calc(var(--u)*330);width:calc(var(--u)*250);height:calc(var(--u)*440)}
  .tile--e{display:block;left:calc(var(--u)*-10);top:calc(var(--u)*480);width:calc(var(--u)*300);height:calc(var(--u)*290);
    clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,0 100%)}
  .tile--f{right:calc(var(--u)*-10);top:calc(var(--u)*480);width:calc(var(--u)*220);height:calc(var(--u)*290)}
  .ph span{font-size:12px}
  .fv__en{left:calc(var(--u)*40);top:calc(var(--u)*340);font-size:calc(var(--u)*56)}
  .fv__copy{right:auto;left:calc(var(--u)*590);top:calc(var(--u)*70);font-size:calc(var(--u)*60);gap:calc(var(--u)*18)}
  .fv__copy span{padding:calc(var(--u)*18) calc(var(--u)*12)}
  .fv__copy span:nth-child(2){margin-block-start:calc(var(--u)*50)}
  .fv__copy span:nth-child(3){margin-block-start:calc(var(--u)*140)}
  .fv__name{left:calc(var(--u)*40);bottom:calc(var(--u)*36);padding:calc(var(--u)*10) calc(var(--u)*14) calc(var(--u)*8)}
  .fv__name-en{font-size:calc(var(--u)*72)}
  .fv__name-ja{font-size:14px}

  .lead{display:grid;grid-template-columns:1fr 1fr;column-gap:64px;max-width:1120px;margin:0 auto;padding:64px 40px 96px;border-top:0}
  .lead__notice{grid-column:1 / -1;font-size:14px}
  .lead__ans{grid-column:1;grid-row:2 / span 2;margin:0}
  .lead__ans li{font-size:19px}
  .lead__terms{grid-column:2;margin-bottom:28px}
  .cta{grid-column:2}
  .note{grid-column:1 / -1}

  .sec{padding:120px 40px}
  .sec>*{max-width:1040px;margin-left:auto;margin-right:auto}
  .ttl{margin-bottom:56px}
  .ttl::before{right:-20px;top:0;width:260px;height:12px}
  .ttl__no{font-size:28px}
  .ttl__en{font-size:calc(var(--u)*120)}
  .ttl__ja{font-size:28px;padding:8px 16px}
  .lede{font-size:20px}
  .jobcards{grid-template-columns:1fr 1fr;gap:20px}
  .jobcards li{padding:76px 28px 28px}
  .jobcards__no{font-size:72px}
  .jobcards__name{font-size:19px}
  .bleed__img{aspect-ratio:21/8}
  .bleed__cap{max-width:1040px;margin:0 auto;padding:12px 0 0}
  .split__title{font-size:26px}
  .split{grid-template-columns:1fr 1fr;gap:20px}
  .split__col{padding:32px;font-size:16px}
  .big-num{display:flex;align-items:flex-end;justify-content:space-between}
  .todo--big{font-size:160px}
  .big-num__n{font-size:200px}
  .gfx__big{font-size:calc(var(--u)*64)}
  .sheet table{font-size:14px}
  .sheet{padding:4% 16px}
  .big-num__unit{font-size:36px}
  .stats{grid-template-columns:repeat(3,1fr);gap:32px}
  .sec .stats__val{font-size:34px}
  .money{grid-template-columns:1fr 1fr;gap:24px}
  .money__card{padding:36px 32px}
  .money__zero b{font-size:52px}
  .band{padding:72px 40px;display:flex;align-items:center;justify-content:space-between;gap:40px}
  .band>*:not(.band__st){position:relative}
  .band__st--1{right:-120px;bottom:60px}
  .band__st--2{right:-60px;bottom:30px}
  .band__text{font-size:34px;margin:0;flex:1}
  .band .btn-line{width:420px;flex:none}
  .band__st{width:600px;height:20px}
  .points{grid-template-columns:repeat(3,1fr);gap:20px}
  .points li{padding:80px 28px 28px}
  .points__no{top:20px;left:28px;font-size:56px}
  .quit{max-width:640px}
  .timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
  .timeline li{grid-template-columns:1fr;gap:4px;padding:0}
  .timeline li::before{left:76px;right:-24px;top:34px;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(to right,#fff 0 6px,transparent 6px 12px)}
  .timeline__no{font-size:80px}
  .after{margin-top:56px;padding:32px}
  .notyet__big{font-size:calc(var(--u)*96)}
  .s-notyet .notyet-wrap{display:grid}
  .notyet__list li{font-size:20px;padding:20px 0 20px 44px}
  .notyet__list li::before{top:40px;width:28px}
  .unfit{padding:36px 40px;display:grid;grid-template-columns:240px 1fr;gap:32px}
  .unfit li{font-size:16px}
  .members{grid-template-columns:repeat(3,1fr);gap:32px}
  .members li:first-child{grid-column:auto}
  .members li:first-child .members__photo{aspect-ratio:1/1}
  .members li:first-child .photo--l{background-size:420% auto;background-position:23% 24%}
  .rep{display:grid;grid-template-columns:200px 1fr;column-gap:32px;padding:28px 32px}
  .rep__bio{grid-column:2;grid-row:1 / span 2}
  .guide{padding:28px 40px 8px}
  .terms div{grid-template-columns:10em 1fr;padding:18px 0;font-size:16px}
  .chev{flex-direction:row;gap:4px}
  .chev li{flex:1;padding:16px 20px 16px 56px;font-size:15px}
  .faq{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px}
  .faq dt{font-size:16.5px}
  .faq dd{font-size:15.5px}
  .s-msg>*{max-width:820px}
  .msg__en{font-size:calc(var(--u)*160)}
  .divider{font-size:calc(var(--u)*260)}
  .sec .msg__ja{margin-top:16px;font-size:30px}
  .msg__body{font-size:17px}
  .contact__big{font-size:40px}
  .contact__grid{grid-template-columns:1fr 260px;gap:80px;align-items:start}
  .ft{padding:80px 40px 48px}
  .ft>*{max-width:1040px;margin-left:auto;margin-right:auto}
}
.gfx--red{justify-content:flex-start;padding-top:28px}
.gfx--chart .gfx__label{order:2;margin-top:6px}
.gfx--chart .bars{margin-top:0}

/* 写真（グループ店舗） */
.pic{background-size:cover;background-position:center;background-repeat:no-repeat;filter:saturate(.9) contrast(1.04)}
.stores{margin-top:32px;display:grid;gap:28px}
.stores__head{font-size:13px;font-weight:900;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.stores__pics{display:grid;grid-template-columns:3fr 2fr;gap:6px;height:180px}
.stores__pics .pic:first-child{clip-path:polygon(0 0,100% 0,100% 100%,14% 100%,0 86%)}
.stores__en{margin-top:12px;font-family:var(--en);font-weight:900;font-size:13px;letter-spacing:.16em;color:var(--red)}
.sec .stores__name{margin-top:0;font-size:24px;font-weight:900;line-height:1.3}
.sec .stores__desc{margin-top:4px;font-size:14px;line-height:1.8;color:var(--ink-2)}
.strip{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;height:220px;background:var(--ink)}
.strip .pic:nth-child(1){clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.strip .pic:nth-child(2){clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);margin-left:-12%;width:124%}
.strip .pic:nth-child(3){clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.strip__cap{position:absolute;right:12px;bottom:10px;background:var(--ink);color:#fff;font-size:11px;padding:2px 8px}
.s-msg{background:linear-gradient(rgba(17,17,17,.62),rgba(17,17,17,.86)),var(--msg-bg) center/cover no-repeat}
.s-msg .msg__en{color:rgba(255,255,255,.12)}
@media (min-width:900px){
  .stores{grid-template-columns:1fr 1fr;gap:32px}
  .stores__head{grid-column:1 / -1}
  .stores__pics{height:260px}
  .strip{height:420px}
}
/* 講座画面のイメージ */
.course__free{display:inline-block;margin-left:6px;background:var(--red);color:#fff;padding:0 6px;font-size:11px}
.course__list{list-style:none;border-top:1px solid #D9D9D9}
.course__list li{display:grid;grid-template-columns:3.6em 1fr auto;gap:8px;padding:8px 4px;border-bottom:1px solid #D9D9D9;font-size:12px;line-height:1.5}
.course__list b{color:var(--red);font-weight:900}
.course__list span{color:var(--ink-3)}
.s-work .split__title{margin-top:48px}
.s-work .jobcards__price{background:var(--ink)}
.s-work .jobcards li:nth-child(odd) .jobcards__price{background:var(--yel);color:var(--ink)}
@media (min-width:900px){.course__list li{font-size:14px;padding:10px 6px}}
/* 0円を一つだけ大きく */
.money__card--zero{display:flex;flex-direction:column}
.sec .zero__big{font-family:var(--en);font-weight:900;font-size:150px;line-height:.85;color:var(--red);margin-top:8px}
.zero__big span{font-family:var(--ja);font-size:40px;font-weight:900;margin-left:4px;color:var(--ink)}
.sec .zero__text{margin-top:16px;font-size:19px;font-weight:900;line-height:1.7}
@media (min-width:900px){.sec .zero__big{font-size:220px}.sec .zero__text{font-size:22px}}

/* ===== SECOND VIEW：悩み → 解決 ===== */
.worry{position:relative;overflow:hidden;background:#F2F1EE;padding:72px 24px 64px;border-top:1px solid var(--ink)}
.worry__en{font-family:var(--en);font-weight:900;font-size:calc(var(--u)*96);line-height:.8;color:#E2E0DA;position:absolute;right:-8px;top:24px}
.worry__ttl{position:relative;font-size:28px;font-weight:900;line-height:1.45;letter-spacing:.02em}
.worry__ttl span{display:inline-block;margin-top:6px;background:var(--ink);color:#fff;padding:0 10px}
.worry__list{list-style:none;margin-top:32px;display:grid;gap:10px}
.worry__list li{position:relative;background:#fff;padding:18px 18px 18px 64px;font-size:17px;font-weight:900;line-height:1.6;border-left:6px solid var(--ink)}
.worry__no{position:absolute;left:16px;top:16px;font-family:var(--en);font-weight:900;font-size:26px;line-height:1;color:#BDBDBD}

.solve{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:80px 24px 72px}
.solve::before{content:"";position:absolute;right:-110px;top:-10px;width:260px;height:14px;background:var(--red);transform:rotate(-45deg)}
.solve::after{content:"";position:absolute;right:-90px;top:26px;width:200px;height:14px;background:var(--yel);transform:rotate(-45deg)}
.solve__en{font-family:var(--en);font-weight:900;font-size:16px;letter-spacing:.2em;color:var(--yel)}
.solve__ttl{margin-top:10px;font-size:26px;font-weight:900;line-height:1.5}
.solve__list{list-style:none;margin-top:36px;display:grid;gap:14px}
.solve__list li{background:#fff;color:var(--ink);padding:20px 20px 22px;border-radius:24px 0 0 0}
.solve__q{position:relative;display:inline-block;font-size:13px;font-weight:700;color:var(--ink-3)}
.solve__q::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:2px;background:var(--red);transform:rotate(-2deg)}
.solve__q span{font-family:var(--en);font-weight:900;color:var(--red);margin-right:8px}
.solve__a{margin-top:8px;font-size:22px;font-weight:900;line-height:1.45;letter-spacing:.01em}
.solve__d{margin-top:8px;font-size:14px;line-height:1.85;color:var(--ink-2)}
.solve__note{margin-top:24px;font-size:12px;line-height:1.7;color:#BDBDBD}
.lead__head{font-size:13px;font-weight:900;letter-spacing:.1em;margin-bottom:12px}
@media (min-width:900px){
  .worry,.solve{padding:120px 40px}
  .worry>*,.solve>*{max-width:1040px;margin-left:auto;margin-right:auto}
  .worry__en{font-size:calc(var(--u)*220);right:-10px;top:40px;max-width:none}
  .worry__ttl{font-size:44px}
  .worry__list{grid-template-columns:1fr 1fr;gap:16px}
  .worry__list li{font-size:20px;padding:26px 26px 26px 80px}
  .worry__no{font-size:34px;top:24px;left:22px}
  .solve::before{width:520px;height:20px;right:-60px;top:60px}
  .solve::after{width:420px;height:20px;right:-40px;top:110px}
  .solve__ttl{font-size:40px}
  .solve__list{grid-template-columns:1fr 1fr;gap:20px}
  .solve__list li{padding:32px 32px 34px}
  .solve__a{font-size:28px}
  .solve__d{font-size:15.5px}
  .lead{grid-template-rows:auto auto}
  .lead__head{grid-column:1 / -1}
  .lead__terms{grid-column:1}
  .lead .cta{grid-column:2;align-self:start}
}
.fv__copy{align-items:flex-start}
.solve__ttl{font-size:22px}
.worry__ttl span{font-size:20px;line-height:1.5;padding:2px 10px}
@media (min-width:900px){.solve__ttl{font-size:40px}.worry__ttl span{font-size:32px}}

/* ===== 配色の見直し（2026-10-10）：原色の赤・黄をやめ、店の写真（木・暖色の照明）に寄せた落ち着いた色に ===== */
:root{
  --bg:#FAF8F4;        /* 生成りがかった白 */
  --ink:#1A1714;       /* 墨（少し茶） */
  --ink-2:#4B4540;
  --ink-3:#7A726A;
  --rule:#DDD6CB;
  --red:#A23B2C;       /* 朱（漆の赤に近い、彩度を落とす） */
  --yel:#B8955A;       /* 真鍮（黄の代わり。面には使わず線と数字だけ） */
  --sand:#ECE5D9;      /* 区画の面 */
  --brown:#241D18;     /* 濃い焦げ茶（黒地の代わり） */
}
body{background:var(--bg)}
.sec--gray,.worry,.split__col--learn,.money__why,.rep{background:var(--sand)}
.sec--ink,.solve,.unfit,.s-msg{background-color:var(--brown)}
.ttl__ja{background:var(--ink)}

/* 02 TIME：黄色の面をやめて砂色に */
.s-time{background:var(--sand)}
.s-time .ttl::before{background:var(--red)}
.s-time .ttl__no{color:var(--red)}
.big-num,.stats li{border-color:var(--ink)}

/* 01 カード：黄の塗りタグ → 細い線のタグ */
.jobcards li:nth-child(odd){background:var(--brown)}
.jobcards li:nth-child(odd) .jobcards__no{color:var(--yel)}
.sec .jobcards__price,.s-work .jobcards__price,.s-work .jobcards li:nth-child(odd) .jobcards__price{background:transparent;color:inherit;border:1px solid currentColor;font-weight:700}
.s-work .jobcards li:nth-child(odd) .jobcards__price{color:var(--yel)}
.jobcards li{border-width:1px}

/* 斜めの帯：太さを落として朱と真鍮に */
.st{opacity:.9}
.ttl::before{height:4px}
.solve::before,.solve::after{height:6px}
.solve::after{background:var(--yel)}

/* CTA帯：赤い面 → 焦げ茶の面に朱の細帯 */
.band{background:var(--brown)}
.band__st{height:6px}
.band__st--1{background:var(--red)}
.band__st--2{background:var(--yel)}
.btn-line--inv{background:var(--bg)}

/* 問い合わせ：赤い面 → 朱をくすませた面 */
.s-contact{background:#7E2E22}
.s-contact .ttl__ja{color:#7E2E22}

/* 黒地の上の黄文字 → 真鍮 */
.timeline__no,.after__head,.after b,.unfit li::before,.solve__en,.ttl--inv .ttl__no,.gfx__label{color:var(--yel)}
.after{border-color:var(--yel)}
.notyet__list b{background:linear-gradient(transparent 62%,rgba(184,149,90,.35) 62%)}
.chev li{background:var(--brown)}
.chev li::before{color:var(--yel)}
.chev li:last-child{background:var(--red)}
.faq dt{background:var(--brown)}
.faq dt::before{color:var(--yel)}
.money__card--get{background:var(--brown)}
.money__warn{background:var(--bg)}
.hd,.ft{background:var(--brown)}
.btn-line{background:var(--ink)}
.solve__q::after{background:var(--red)}
.worry__list li{border-left-color:var(--red);background:var(--bg)}
.worry__ttl span{background:var(--ink)}
.band .btn-line--inv{background:var(--bg);color:var(--ink)}
.chat{background:#B9C3CF}.chat__bar{background:#2B2F36}
.ways{margin-top:36px}
.ways .split__title{margin-top:0}
.s-ojt{padding-top:56px}
.ojt__label{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.08em;border:1px solid var(--ink);padding:2px 10px;margin-bottom:4px}
.s-ojt .stores{margin-top:16px}
.stores__head .ojt__label{margin:0 10px 0 0;padding:0 8px;vertical-align:1px}

/* FV縦書き：3行目の段差を小さく */
.fv__copy span:nth-child(2){margin-block-start:calc(var(--u)*18)}
.fv__copy span:nth-child(3){margin-block-start:calc(var(--u)*36)}
/* ヘッダーのLINEボタン（LINEの緑） */
.hd__line{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;background:#06C755;color:#fff;border:0;border-radius:4px;font-size:13px;font-weight:700;line-height:1;text-decoration:none}
.hd__line:hover{background:#05B34C}
@media (min-width:900px){
  .fv__copy span:nth-child(2){margin-block-start:calc(var(--u)*28)}
  .fv__copy span:nth-child(3){margin-block-start:calc(var(--u)*56)}
  .hd__line{height:42px;padding:0 20px;font-size:14px}
}
/* 縦書きでは block方向＝横。列の間隔は gap だけで均等にし、段差は上下（inline方向）で小さくつける */
.fv__copy span:nth-child(2){margin-block-start:0;margin-inline-start:calc(var(--u)*20)}
.fv__copy span:nth-child(3){margin-block-start:0;margin-inline-start:calc(var(--u)*40)}
@media (min-width:900px){
  .fv__copy span:nth-child(2){margin-block-start:0;margin-inline-start:calc(var(--u)*36)}
  .fv__copy span:nth-child(3){margin-block-start:0;margin-inline-start:calc(var(--u)*72)}
}

/* ===== 配色 v3（2026-10-10）：茶色は食欲の減退色 → 黒はニュートラルな炭色、差し色は食欲を感じる朱とアンバー ===== */
:root{
  --bg:#FBF9F5;
  --ink:#161616;
  --ink-2:#464646;
  --ink-3:#767676;
  --rule:#E0DBD2;
  --red:#C8372A;     /* 朱：唐辛子・漆の赤。原色より少し深く */
  --yel:#E29A2E;     /* アンバー：焼き色・出汁の色 */
  --sand:#F4EEE4;    /* クリーム */
  --brown:#141414;   /* 黒地は炭色（茶を抜く） */
}
.s-contact{background:var(--red)}
.s-contact .ttl__ja{color:var(--red)}
.s-time .big-num__n{color:var(--red)}

/* ===== LINEボタン（緑）・最初の画面のCTA・追従ボタン ===== */
.lineic{width:22px;height:22px;flex:none}
.btn-green{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:0 20px;background:#06C755;color:#fff;text-decoration:none;font-weight:900;font-size:17px;letter-spacing:.06em;border-radius:6px;box-shadow:0 3px 0 #04A043}
.btn-green small{font-size:11px;font-weight:700;padding:2px 6px;border:1px solid rgba(255,255,255,.8);border-radius:3px;letter-spacing:.04em}
.btn-green:active{transform:translateY(2px);box-shadow:0 1px 0 #04A043}
.fv{height:calc(var(--u) * 640)}
.fvcta{padding:14px 16px 18px;background:var(--bg);border-top:1px solid var(--ink)}
.fvcta__note{margin-top:8px;font-size:11.5px;line-height:1.6;color:var(--ink-2);text-align:center}
.worry{border-top:0}
.sticky-line{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;background:#06C755;color:#fff;text-decoration:none;font-weight:900;font-size:16px;letter-spacing:.06em;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:0;transform:translateY(120%);transition:opacity .2s,transform .2s;pointer-events:none}
.sticky-line small{font-size:11px;font-weight:700;padding:1px 6px;border:1px solid rgba(255,255,255,.8);border-radius:3px}
.sticky-line.is-show{opacity:1;transform:none;pointer-events:auto}
.ft{padding-bottom:110px}
@media (prefers-reduced-motion:reduce){.sticky-line{transition:none}}
@media (min-width:900px){
  .fv{height:calc(var(--u)*770)}
  .fvcta{display:flex;align-items:center;justify-content:center;gap:24px;padding:20px 40px}
  .fvcta .btn-green{width:420px}
  .fvcta__note{margin:0;font-size:13px}
  .sticky-line{left:auto;right:28px;bottom:28px;width:300px}
  .ft{padding-bottom:48px}
}

/* ===================== アニメーション・ホバー（2026-10-10） ===================== */
:root{--ease:cubic-bezier(.2,.7,.2,1)}

/* --- FV入場：写真はクリップで開く、縦書きは帯が伸びて文字が出る、斜め線は引かれる --- */
.motion .fv .tile{opacity:0;translate:-24px 0;transition:opacity .8s ease,translate .9s var(--ease)}
.motion .fv .tile--b,.motion .fv .tile--e,.motion .fv .tile--f{translate:24px 0}
.motion.fv-in .fv .tile{opacity:1;translate:0 0}
.motion .fv .tile--a{transition-delay:.05s}.motion .fv .tile--b{transition-delay:.15s}
.motion .fv .tile--c{transition-delay:.3s}.motion .fv .tile--d{transition-delay:.4s}
.motion .fv .tile--e{transition-delay:.5s}.motion .fv .tile--f{transition-delay:.6s}
.motion .fv .st{transform:rotate(-45deg) scaleX(0);transition:transform .8s var(--ease) .5s}
.motion.fv-in .fv .st{transform:rotate(-45deg) scaleX(1)}
.motion .fv__copy span{clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease)}
.motion.fv-in .fv__copy span{clip-path:inset(0 0 0 0)}
.motion .fv__copy span:nth-child(1){transition-delay:.7s}
.motion .fv__copy span:nth-child(2){transition-delay:.9s}
.motion .fv__copy span:nth-child(3){transition-delay:1.1s}
.motion .fv__en,.motion .fv__name{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s var(--ease)}
.motion.fv-in .fv__en{opacity:1;transform:none;transition-delay:.9s}
.motion.fv-in .fv__name{opacity:1;transform:none;transition-delay:1.3s}
.motion .fvcta{opacity:0;transform:translateY(10px);transition:opacity .5s ease 1.5s,transform .5s var(--ease) 1.5s}
.motion.fv-in .fvcta{opacity:1;transform:none}
/* 写真はゆっくり寄る */
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.06)}}

/* --- スクロールで出てくる --- */
.motion .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s var(--ease)}
.motion .rv.is-in{opacity:1;transform:none}
.motion .ttl.rv{transform:none;opacity:1}
.motion .ttl.rv .ttl__en{clip-path:inset(0 100% 0 0);transition:clip-path .9s var(--ease)}
.motion .ttl.rv.is-in .ttl__en{clip-path:inset(0 -5% 0 0)}
.motion .ttl.rv .ttl__ja,.motion .ttl.rv .ttl__no{opacity:0;transform:translateY(10px);transition:opacity .5s ease .35s,transform .5s var(--ease) .35s}
.motion .ttl.rv.is-in .ttl__ja,.motion .ttl.rv.is-in .ttl__no{opacity:1;transform:none}
.motion .ttl.rv::before{transform:rotate(-45deg) scaleX(0);transform-origin:left center;transition:transform .8s var(--ease) .2s}
.motion .ttl.rv.is-in::before{transform:rotate(-45deg) scaleX(1)}
/* 悩みの打ち消し線は、出てきてから引かれる */
.motion .solve__list li .solve__q::after{transform:rotate(-2deg) scaleX(0);transform-origin:left;transition:transform .5s var(--ease) .45s}
.motion .solve__list li.is-in .solve__q::after{transform:rotate(-2deg) scaleX(1)}
/* 大きな数字はポンと出る */
.motion .big-num.rv .big-num__n,.motion .money__card.rv .zero__big{display:inline-block;transform:scale(.6);opacity:0;transition:transform .7s cubic-bezier(.3,1.5,.5,1) .2s,opacity .4s ease .2s}
.motion .big-num.rv.is-in .big-num__n,.motion .money__card.rv.is-in .zero__big{transform:none;opacity:1}
/* 写真帯は斜めに開く */
.motion .strip.rv{opacity:1;transform:none}
.motion .strip.rv .pic{clip-path:polygon(0 0,0 0,0 100%,0 100%);transition:clip-path 1s var(--ease)}
.motion .strip.rv .pic:nth-child(2){transition-delay:.15s}.motion .strip.rv .pic:nth-child(3){transition-delay:.3s}
.motion .strip.rv.is-in .pic:nth-child(1){clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.motion .strip.rv.is-in .pic:nth-child(2){clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}
.motion .strip.rv.is-in .pic:nth-child(3){clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
/* タイムラインの点線は上から伸びる */
.motion .timeline li.rv::before{transform:scaleY(0);transform-origin:top;transition:transform .8s var(--ease) .4s}
.motion .timeline li.rv.is-in::before{transform:none}
/* 追従ボタン：出ている間、ときどき軽く揺れて気づかせる */
.sticky-line.is-show{animation:nudge 6s ease-in-out 2s infinite}
@keyframes nudge{0%,90%,100%{transform:none}93%{transform:translateY(-4px)}96%{transform:none}}

/* --- ホバー（マウスのある端末だけ） --- */
a,button{-webkit-tap-highlight-color:transparent}
.btn-green,.btn-line,.hd__line,.sticky-line{position:relative;overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s ease,background-color .2s ease}
.btn-green::after,.btn-line::after,.hd__line::after,.sticky-line::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.btn-line__arrow{transition:transform .25s var(--ease)}
@media (hover:hover){
  .btn-green:hover{transform:translateY(-2px);box-shadow:0 5px 0 #04A043,0 10px 24px rgba(6,199,85,.3)}
  .btn-green:hover::after,.btn-line:hover::after,.hd__line:hover::after,.sticky-line:hover::after{left:120%}
  .btn-line:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
  .btn-line:hover .btn-line__arrow{transform:translateX(6px)}
  .hd__line:hover{transform:translateY(-1px)}
  .sticky-line.is-show:hover{animation:none;transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.3)}
  /* カード：持ち上がる */
  .jobcards li,.solve__list li,.split__col,.points li,.money__card,.worry__list li{transition:transform .3s var(--ease),box-shadow .3s ease,opacity .7s ease}
  .jobcards li:hover,.solve__list li:hover,.split__col:hover,.points li:hover,.worry__list li:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.12)}
  .jobcards li:hover .jobcards__no{transform:translateX(4px)}
  .jobcards__no{transition:transform .3s var(--ease)}
  /* 写真：寄る */
  .stores__pics,.strip{overflow:hidden}
  .stores__pics .pic,.strip .pic{transition:transform .8s var(--ease),filter .4s ease,clip-path 1s var(--ease)}
  .stores__item:hover .pic{transform:scale(1.05);filter:saturate(1.05) contrast(1.06)}
  .strip .pic:hover{transform:scale(1.04)}
  /* Q&A・流れ */
  .faq div{transition:transform .25s var(--ease)}
  .faq div:hover{transform:translateX(4px)}
  .faq div:hover dt{background:var(--ink-2)}
  .faq dt{transition:background .25s ease}
  .chev li{transition:transform .25s var(--ease),filter .25s ease}
  .chev li:hover{transform:translateX(6px);filter:brightness(1.15)}
  /* 文字リンク */
  .ft a,.cap a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:background-size .3s var(--ease)}
  .ft a:hover,.cap a:hover{background-size:0 1px;background-position:100% 100%}
}
.no-motion .sticky-line.is-show{animation:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* なめらかスクロール */
html{scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 02 TIME 改修：大きな数字をやめ、ひと言＋3枚のカードで */
.time__lead{font-size:24px;font-weight:900;line-height:1.55;letter-spacing:.02em;margin-bottom:28px}
.tcards{list-style:none;display:grid;gap:12px}
.tcard{background:var(--bg);border-top:4px solid var(--ink);padding:20px 20px 22px}
.tcard--opt{border-top-color:var(--red);background:transparent;outline:1px dashed var(--ink-3);outline-offset:-1px}
.tcard__tag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.06em;padding:2px 8px;background:var(--ink);color:#fff}
.tcard--opt .tcard__tag{background:var(--red)}
.sec .tcard__label{margin-top:12px;font-size:13px;font-weight:700;color:var(--ink-2)}
.sec .tcard__val{margin-top:2px;font-size:26px;font-weight:900;line-height:1.35}
.sec .tcard__note{margin-top:8px;font-size:13.5px;line-height:1.8;color:var(--ink-2)}
@media (min-width:900px){
  .time__lead{font-size:36px;margin-bottom:40px}
  .tcards{grid-template-columns:repeat(2,1fr);gap:20px}
  .tcard{padding:28px 28px 30px}
  .sec .tcard__val{font-size:30px}
  .sec .tcard__note{font-size:14.5px}
}
@media (hover:hover){.tcard{transition:transform .3s var(--ease),box-shadow .3s ease,opacity .7s ease}.tcard:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.1)}}

/* LINEアイコン（LINEのロゴ形状。色はボタンに合わせる） */
:root{--line-logo:url(https://cdn.jsdelivr.net/npm/simple-icons@13/icons/line.svg)}
.lineic,.btn-line__icon{display:inline-block;flex:none;background:currentColor;-webkit-mask:var(--line-logo) center/contain no-repeat;mask:var(--line-logo) center/contain no-repeat}
.lineic{width:26px;height:26px}
.hd__line .lineic{width:20px;height:20px}
.btn-line__icon{width:28px;height:28px;background:#06C755;border-radius:0}
.btn-line--inv .btn-line__icon{background:#06C755}

/* ヘッダーを画面上部に固定 */
.hd{position:fixed;top:0;left:0;right:0;z-index:60;box-shadow:0 1px 0 rgba(255,255,255,.06)}
body{padding-top:56px}
html{scroll-padding-top:72px}
@media (min-width:900px){body{padding-top:72px}html{scroll-padding-top:88px}}

/* 06 VOICE：グループで社長になった先輩 */
.voice__head{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;margin-top:28px;padding:16px;background:var(--sand)}
.voice__photo{width:112px;height:128px;background-position:50% 20%;clip-path:polygon(0 0,100% 0,100% 80%,80% 100%,0 100%)}
.sec .voice__name{font-size:22px;font-weight:900;line-height:1.3}
.voice__name span{font-size:13px;font-weight:700;color:var(--ink-3);margin-left:8px}
.sec .voice__role{margin-top:2px;font-size:13px;font-weight:700;color:var(--red)}
.sec .voice__biz{margin-top:6px;font-size:13.5px;line-height:1.7}
.voice__video{margin-top:20px}
.voice__video video{display:block;width:100%;aspect-ratio:16/9;background:#000}
.voice__qa{list-style:none;margin-top:32px;display:grid;gap:14px}
.voice__qa li{border-top:2px solid var(--ink);padding-top:16px}
.sec .voice__q{font-size:13px;font-weight:700;color:var(--ink-3)}
.voice__q::before{content:"Q　";font-family:var(--en);font-weight:900;color:var(--red)}
.sec .voice__a{margin-top:8px;font-size:21px;font-weight:900;line-height:1.5}
.sec .voice__d{margin-top:8px;font-size:14.5px;line-height:1.9;color:var(--ink-2)}
.sec .voice__note{margin-top:24px;font-size:12px;line-height:1.7;color:var(--ink-3)}
.inl{display:inline-block;margin-top:6px;font-weight:700;color:var(--red);text-decoration:underline}
.fit{margin-bottom:20px;padding:22px 20px;border:2px solid var(--ink);border-radius:24px 0 0 0}
.fit__head{font-weight:900;font-size:17px}
.sec .fit__quote{margin-top:10px;font-size:17px;font-weight:900;line-height:1.75}
.sec .fit__by{margin-top:8px;font-size:12.5px;color:var(--ink-3)}
@media (min-width:900px){
  .voice__head{grid-template-columns:180px 1fr;gap:28px;padding:24px;max-width:720px;margin-left:0}
  .voice__photo{width:180px;height:200px}
  .sec .voice__name{font-size:28px}
  .voice__video{max-width:820px;margin-left:0}
  .voice__qa{grid-template-columns:1fr 1fr;gap:28px 40px}
  .sec .voice__a{font-size:24px}
  .fit{padding:32px 40px}
  .sec .fit__quote{font-size:22px}
}
.fv__tag{position:absolute;left:0;bottom:calc(var(--u)*34);background:var(--ink);color:#fff;font-size:11px;font-weight:900;line-height:1.3;padding:5px 8px 5px 10px;letter-spacing:.04em}
.fv__tag small{display:block;font-size:9px;font-weight:700;color:#ddd}
@media (min-width:900px){.fv__tag{font-size:14px;bottom:calc(var(--u)*70)}.fv__tag small{font-size:11px}}
.voice__tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}
.voice__tabs a{display:block;background:var(--ink);color:#fff;text-decoration:none;font-weight:900;font-size:14px;padding:10px 12px;border-radius:14px 0 0 0}
.voice__tabs a span{display:block;font-size:11px;font-weight:700;color:var(--yel)}
.voice__person{scroll-margin-top:80px}
.voice__person+.voice__person{margin-top:56px;padding-top:40px;border-top:6px solid var(--ink)}
.fit__quote+.fit__by+.fit__quote{margin-top:18px}
.fv__tag--r{left:auto;right:0;bottom:calc(var(--u)*20);text-align:right;padding:5px 10px 5px 8px}
@media (min-width:900px){.voice__tabs{max-width:560px}.fv__tag--r{bottom:calc(var(--u)*40)}}
.voice__tabs{grid-template-columns:1fr 1fr 1fr}
.voice__tabs a{font-size:13px;padding:9px 10px}
.fv__tag--a{bottom:calc(var(--u)*52)}
@media (min-width:900px){.voice__tabs{max-width:760px}.fv__tag--a{bottom:calc(var(--u)*100)}}
.fv__tag--a{top:calc(var(--u)*8);bottom:auto}@media (min-width:900px){.fv__tag--a{top:calc(var(--u)*16);bottom:auto}}

/* ===== デザインチェック対応（2026-10-16） ===== */
/* 追従ボタンを確実に固定（ホバー用の position:relative 上書きを打ち消す） */
.sticky-line{position:fixed!important;left:12px;right:12px;width:auto;max-width:none}
@media (min-width:900px){.sticky-line{left:auto;right:28px;width:300px}}
/* LINEボタンを緑に統一 */
.btn-line,.btn-line--inv,.band .btn-line--inv{background:#06C755;color:#fff;border-radius:6px;box-shadow:0 3px 0 #04A043}
.btn-line .btn-line__icon,.btn-line--inv .btn-line__icon{background:#fff}
.btn-line:active{background:#05B34C;transform:translateY(2px);box-shadow:0 1px 0 #04A043}
@media (hover:hover){.btn-line:hover{box-shadow:0 5px 0 #04A043,0 10px 24px rgba(6,199,85,.3)}}
.cta--faq{margin-top:28px}
/* 改行の整え */
.worry__list li,.solve__a,.band__text,.points__head,.voice__a,.money__lead,.ttl__ja,.split__title,.sub{word-break:keep-all;overflow-wrap:anywhere}
p,li,dd,dt{text-wrap:pretty}
/* FV：名札とバッジ */
.fv__name-en{font-family:var(--ja);font-weight:900;font-size:calc(var(--u)*30);letter-spacing:.02em;line-height:1.1}
.fv__name-ja{font-size:13px}
.fv__badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.fv__badges i{font-style:normal;font-size:11.5px;font-weight:900;background:var(--ink);color:#fff;padding:3px 7px;line-height:1.4}
.fv__badges i:first-child{background:var(--red)}
@media (min-width:900px){
  .fv__name-en{font-size:calc(var(--u)*56)}
  .fv__name-ja{font-size:15px}
  .fv__badges i{font-size:13px;padding:4px 10px}
  .fv{height:calc(100svh - 72px - 96px);min-height:600px;max-height:820px}
  .tile--d .fv__tag{bottom:auto;top:calc(var(--u)*16)}
  .voice__tabs{margin-left:0}
}
/* 悩み・解決の番号を外したぶん */
.worry__list li{padding-left:18px}
/* OJT見出しの余白 */
.s-ojt .split__title{margin-top:56px}
/* jobcards をスマホでも2×2に */
.jobcards{grid-template-columns:1fr 1fr;gap:10px}
.jobcards li{padding:44px 14px 14px}
.jobcards__no{font-size:36px}
.jobcards__name{font-size:14px}
@media (min-width:900px){.jobcards li{padding:76px 28px 28px}.jobcards__no{font-size:72px}.jobcards__name{font-size:19px}}
/* 表の項目名 */
.lead__terms div{grid-template-columns:6em 1fr}
/* 文中リンク */
.inl{display:inline;margin:0;padding:6px 0}
/* VOICE：タブ切り替え・折りたたみ */
.voice__tabs a[aria-selected="true"]{background:var(--red)}
.voice__tabs a[aria-selected="true"] span{color:#FFE0B8}
.voice__person+.voice__person{margin-top:28px;padding-top:0;border-top:0}
.voice__more{margin-top:12px;border-top:2px solid var(--ink)}
.voice__more summary{cursor:pointer;list-style:none;padding:14px 0;font-weight:900;font-size:14px;color:var(--red)}
.voice__more summary::-webkit-details-marker{display:none}
.voice__more summary::after{content:"＋";float:right}
.voice__more[open] summary::after{content:"－"}
.voice__more .voice__qa{margin-top:0}
/* 動画の再生ボタン・尺 */
.vwrap{position:relative}
.vplay{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border:0;border-radius:50%;background:rgba(0,0,0,.55);cursor:pointer}
.vplay::before{content:"";position:absolute;left:29px;top:22px;border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent}
.vdur{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.7);color:#fff;font-size:12px;font-weight:700;padding:3px 8px;border-radius:3px}
.vwrap.is-play .vplay,.vwrap.is-play .vdur{display:none}
/* PCの講座イメージを大きく */
@media (min-width:900px){.bleed__img{aspect-ratio:auto;padding:72px 16px}.sheet__in{max-width:820px}.sheet__ttl{font-size:15px}.course__list li{font-size:16px}}
/* LINE画面モックを短く */
.ph--phone{aspect-ratio:9/14}
/* タップ領域 */
.hd__line{height:40px}
.ft__links a,.cap a{display:inline-block;padding:10px 0}
/* 余白を詰める */
.sec{padding:72px 24px}
.lead{padding-bottom:40px}
@media (min-width:900px){.sec{padding:104px 40px}}
/* FV：名札ブロックが大きくなったぶん、縦書きと野平さんの名札を上へ */
@media (max-width:899px){
  .fv__copy{top:calc(var(--u)*226);font-size:calc(var(--u)*28)}
  .fv__copy span{padding:calc(var(--u)*10) calc(var(--u)*6)}
  .tile--d .fv__tag{bottom:auto;top:calc(var(--u)*10)}
  .fv__en{top:calc(var(--u)*186)}
}
@media (min-width:900px){
  .fv__name-en{font-size:calc(var(--u)*44)}
  .tile--d{left:calc(var(--u)*430);top:calc(var(--u)*330);width:calc(var(--u)*200);height:calc(var(--u)*440)}
  .fv__copy{left:calc(var(--u)*650)}
  .tile--d .fv__tag{top:calc(var(--u)*12)}
}
