@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--ink:#243c33;--paper:#f6f4ee;--gold:#e7c589;--muted:#5b655f;--line:#d3d8cd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:2}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #ac662b;outline-offset:6px}.skip{position:absolute;top:-100px;z-index:10;background:white}.skip:focus{top:10px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper)}.brand{display:flex;align-items:center;gap:13px;font:500 23px 'Noto Serif JP',serif;letter-spacing:.08em}.brand small{display:block;font:10px 'Noto Sans JP',sans-serif;letter-spacing:.18em;margin-top:7px}.sun{width:30px;height:22px;display:block;border-top:2px solid;border-radius:50% 50% 0 0;border-bottom:2px solid;position:relative}.sun:after{content:'';position:absolute;left:3px;right:3px;bottom:4px;border-top:1px solid}nav{display:flex;align-items:center;gap:35px;font-size:13px}.nav-cta{padding:13px 23px;border:1px solid var(--ink)}.nav-cta span{margin-left:24px}.hero{height:min(780px,calc(100svh - 98px));min-height:610px;position:relative;color:white;isolation:isolate}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 57%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,27,21,.76),rgba(11,27,21,.23) 65%,rgba(11,27,21,.05));z-index:-2}.hero-copy{padding:75px 8%}.eyebrow,.section-label{font-size:11px;letter-spacing:.18em;font-weight:500}.eyebrow{color:#e7d3a8;margin:0 0 28px}h1,h2,h3{font-family:'Noto Serif JP',serif;font-weight:400}h1{font-size:clamp(44px,5.3vw,76px);line-height:1.65;letter-spacing:.12em;margin:0 0 22px}.hero-lead{font-size:17px;line-height:2.1;letter-spacing:.08em;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:18px 26px;background:var(--gold);color:#243c33;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#f0d5a6;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.hero-detail{font-size:12px;margin-top:16px;letter-spacing:.03em}.hero-bottom{position:absolute;bottom:23px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em}.hero-bottom a{padding:0 12px}.section{padding:115px max(8%,calc((100vw - 1150px)/2));display:grid;grid-template-columns:1fr 2fr;gap:60px}.section-label{padding-top:15px}.section h2{font-size:clamp(29px,3vw,43px);line-height:1.8;letter-spacing:.06em;margin:0 0 32px}.section p{margin:0 0 25px;line-height:2.3}.strong{font-weight:500}.guide{background:#e9ede4}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 8%;font-family:'Noto Serif JP',serif}footer small{font:10px 'Noto Sans JP',sans-serif;letter-spacing:.12em}@media(max-width:700px){header{height:80px;padding:0 6%}.brand{font-size:18px;gap:10px}.brand small{font-size:8px}.sun{width:24px;height:19px}nav>a:first-child{display:none}.nav-cta{font-size:11px;padding:10px 12px}.nav-cta span{margin-left:10px}.hero{min-height:650px;height:calc(100svh - 80px);max-height:850px}.hero>img{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(11,27,21,.75),rgba(11,27,21,.25))}.hero-copy{padding:62px 7%}.eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:31px}h1{font-size:43px;letter-spacing:.08em}.hero-lead{font-size:15px;margin-bottom:30px}.hero-detail{font-size:11px}.hero-bottom{left:7%;right:7%;font-size:9px}.hero-bottom>a{display:none}.section{padding:72px 7%;grid-template-columns:1fr;gap:25px}.section h2{font-size:29px}.section p{font-size:14px}.section-label{padding:0;font-size:10px}footer{padding:30px 7%;gap:12px}footer small{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Charcoal and soft vermilion: athletic clarity, editorial calm. */
:root{--ink:#252a29;--paper:#fafaf7;--gold:#c65544;--muted:#626766;--line:#d7d9d5}header{background:#fff}.nav-cta{background:var(--ink);color:#fff;border:0}.brand{font-weight:600}.sun{color:#ba4738}.hero-shade{background:linear-gradient(90deg,rgba(19,24,23,.8),rgba(19,24,23,.28) 66%,rgba(19,24,23,.05))}.eyebrow{color:#f0b2a3}.button{background:#bc4939;color:#fff}.button:hover{background:#a23d30}.hero h1{font-weight:500}.section-label{color:#8e3d30}.label-jp{display:inline-block;color:var(--muted);font-size:12px;letter-spacing:.02em;margin-top:13px}.intro{padding-bottom:80px}.facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0 8%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;gap:30px}.facts>div{border-right:1px solid var(--line);padding-right:18px}.facts>div:last-child{border:0}.facts span,.facts small,.facts strong{display:block}.facts span{font-size:10px;color:#8e3d30;letter-spacing:.13em}.facts strong{font-size:17px;font-weight:500;margin:4px 0}.facts b{font-size:24px;font-weight:500}.facts small{font-size:11px;color:var(--muted)}.value-row{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:25px 0;border-top:1px solid var(--line)}.value-row>span{font:italic 20px Georgia,serif;color:#a54737;margin-top:8px}.value-row h3{font-size:23px;margin:0 0 12px;font-weight:500}.value-row p{font-size:14px;margin:0;line-height:2.2}.promise{display:grid;grid-template-columns:1.5fr 1fr;background:#232928;color:#f7f7f1;padding:90px 8%;gap:60px;overflow:hidden}.promise h2{font-size:clamp(32px,3.4vw,47px);line-height:1.7;margin:24px 0 28px;letter-spacing:.07em}.promise p{font-size:14px;line-height:2.3;margin-bottom:24px}.policy{border-top:1px solid #67716d;padding-top:24px;max-width:520px;margin-top:32px}.policy>span{font-size:11px;color:#e5aea0}.policy strong{display:block;font-size:17px;font-weight:500;margin:7px 0 12px}.policy p{font-size:12px;color:#d1d6d3;line-height:2;margin:0}.promise-side{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #53615a;padding-left:55px}.promise-side>span{font:500 clamp(40px,5.2vw,72px)/1.17 Arial,sans-serif;letter-spacing:-.025em;color:#aeb7a7}.promise-side i{font:14px monospace;margin-top:35px;color:#e9afa0}.people-note{border-left:2px solid #bd5340;padding-left:20px;font-size:12px!important;color:var(--muted)}.morning-flow{background:#e8ece6;padding:85px 8%;display:grid;grid-template-columns:1fr 1fr;gap:80px}.flow-heading h2{font-size:38px;line-height:1.8;margin:25px 0}.flow-heading p{font-size:14px}.morning-flow ol{list-style:none;counter-reset:morning;margin:0;padding:0}.morning-flow li{counter-increment:morning;padding:0 0 24px 48px;margin-bottom:22px;position:relative;border-bottom:1px solid #c4cbc2}.morning-flow li:before{content:'0' counter(morning);position:absolute;left:0;top:0;font:20px Georgia,serif;color:#8e3d30}.morning-flow li>span{font-size:10px;letter-spacing:.15em;color:#8e3d30}.morning-flow h3{font-size:21px;margin:8px 0;font-weight:500}.morning-flow li p{font-size:13px;line-height:2;margin:0}.guide{background:var(--paper)}.fee{display:flex;align-items:center;gap:22px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:20px 0}.fee>span{font-size:12px}.fee strong{font:58px/1.4 Georgia,serif;letter-spacing:-.03em}.fee strong small{font:15px 'Noto Sans JP',sans-serif;margin-left:8px}.fee>span:last-child{margin-left:auto}dl{margin:0}dl>div{display:grid;grid-template-columns:115px 1fr;border-bottom:1px solid var(--line);padding:20px 0;font-size:14px}dt{color:var(--muted);font-size:12px;padding-top:3px}dd{margin:0}dd small{display:block;font-size:12px;color:var(--muted);margin-top:5px;line-height:1.9}.text-link{display:inline-block;border-bottom:1px solid;font-size:12px;padding:7px 0}.recruit-status{padding:28px;background:#edf0ea;margin-top:34px;border-top:3px solid #b94c3b}.status-label{font-size:10px;letter-spacing:.15em;color:#8e3d30}.recruit-status h3{font-size:20px;font-weight:500;margin:8px 0 13px}.recruit-status p{font-size:13px;margin:0;line-height:2}.faq{border-top:1px solid var(--line);padding-top:80px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:14px;padding:23px 35px 23px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:21px;font:24px Arial;color:#974131}details[open] summary:after{content:'−'}details p{font-size:13px!important;color:var(--muted);padding:0 25px 0 0;line-height:2!important}.closing{background:#232928;text-align:center;padding:95px 7%;color:#fff}.closing h2{font-size:clamp(35px,4vw,53px);line-height:1.8;letter-spacing:.07em;margin:24px 0}.closing>p:not(.eyebrow){font-size:14px;line-height:2.2;margin-bottom:28px}.closing>small{display:block;font-size:11px;color:#d3d7d3;margin-top:17px}footer>span{font-size:20px}footer>span small{display:block;margin-top:8px}footer>div{text-align:right;font-family:'Noto Sans JP',sans-serif}footer p{font-size:11px;margin:0 0 5px}footer>div small{font-size:10px;letter-spacing:0;color:#666}footer>a{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);font:22px Arial}
@media(max-width:700px){.hero{min-height:655px}.hero-shade{background:linear-gradient(90deg,rgba(19,24,23,.79),rgba(19,24,23,.23))}.hero-copy{padding-top:65px}.facts{margin:0 7%;grid-template-columns:1fr;padding:8px 0;gap:0}.facts>div{border-right:0;border-bottom:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:65px 1fr;align-items:center}.facts strong{font-size:15px;margin:0}.facts small{grid-column:2;font-size:10px}.facts b{font-size:21px}.value-row h3{font-size:21px}.promise{grid-template-columns:1fr;padding:65px 7%;gap:35px}.promise h2{font-size:32px}.promise p{font-size:13px}.promise-side{border-left:0;border-top:1px solid #53615a;padding:25px 0 0;flex-direction:row;align-items:flex-end;justify-content:space-between}.promise-side>span{font-size:30px;line-height:1.05}.promise-side>span br{display:none}.promise-side i{font-size:11px;margin:0 0 5px 30px;white-space:nowrap}.morning-flow{padding:65px 7%;grid-template-columns:1fr;gap:30px}.flow-heading h2{font-size:31px}.morning-flow h3{font-size:20px}.morning-flow li{padding-left:40px}.fee{gap:15px}.fee strong{font-size:51px}dl>div{grid-template-columns:90px 1fr;font-size:13px}.recruit-status{padding:23px}.recruit-status h3{font-size:18px}.closing{padding:72px 7%}.closing h2{font-size:34px}.closing>small{font-size:10px}footer{flex-wrap:wrap}footer>div{order:3;text-align:left;width:100%;margin-top:12px}footer>a{margin-left:auto}footer>span small{font-size:8px}.hero-bottom>span:first-child{max-width:55%}}@media(max-width:360px){h1{font-size:38px}.brand{font-size:16px}.brand small{font-size:7px}.nav-cta{font-size:10px}.hero-copy{padding-top:50px}.button{gap:25px;font-size:12px;padding:18px 20px}.hero-detail{font-size:10px}.section h2{font-size:26px}.promise h2{font-size:29px}.fee{gap:12px}.fee>span{font-size:11px}}
/* A personal letter before the closing invitation. */
.founder{background:#f0f1ec;border-top:1px solid var(--line)}
.founder .label-jp{display:block;margin-top:12px}
.founder-letter{max-width:680px;min-width:0}
.founder-letter p{font-size:1rem;line-height:2.25;margin-bottom:26px;overflow-wrap:anywhere}
.founder-letter .founder-key{font-family:'Noto Serif JP',serif;font-size:1.2rem;font-weight:500;line-height:2;padding:17px 0 17px 22px;border-left:2px solid #bc4939;margin:35px 0}
.founder-letter .founder-invitation{font-weight:500;margin-top:34px}
.founder-letter .founder-signature{text-align:right;font-size:.875rem;margin:38px 0 0;padding-top:22px;border-top:1px solid var(--line)}
@media(max-width:700px){.founder-letter p{font-size:1rem;line-height:2.1}.founder-letter .founder-key{font-size:1.1rem;padding-left:16px}.founder-letter .founder-invitation br{display:none}}

/* Photo bands between sections, and the Instagram link. */
.band{margin:0;overflow:hidden;background:#232928}
.band img{display:block;width:100%;height:clamp(170px,23vw,290px);object-fit:cover}
.band-a img{object-position:20% 62%}
.band-b img{object-position:86% 40%}
/* Instagram はアイコンだけを置き、押すとプロフィールへ飛ぶ。
   指で押しやすいよう、当たり判定は44px角を確保している。 */
.ig{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;color:inherit;transition:opacity .2s}
.ig:hover{opacity:.6}
.ig svg{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:1.7}
.ig svg .dot{fill:currentColor;stroke:none}
.founder-signature .ig{display:flex;margin:8px 0 0 auto}
footer .ig{margin:2px 0}

/* 改行の制御。
   日本語は既定だとどの文字の間でも改行されるため、単語の途中で割れる。
   keep-all で文字間の改行を止め、文節の切れ目に置いた <wbr> だけで改行させる。
   どうしても収まらない場合だけ break-word が働いて、はみ出しを防ぐ。 */
/* iOS Safari は、幅の広い文章ブロックの文字サイズを勝手に拡大することがあり、
   それが原因で文字が画面からはみ出す。拡大を止める。 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* 万一どこかがはみ出しても、ページ全体が横スクロールしないようにする保険 */
html,body{max-width:100%;overflow-x:hidden}
body{word-break:normal;overflow-wrap:break-word;line-break:strict}
.founder-letter p{overflow-wrap:break-word}
/* 文節ごとに inline-block で包み、その境目（<wbr>）だけで改行させる。
   文節が1行に入らないときは、その中で普通に折り返すので、はみ出すことはない。
   word-break:keep-all はブラウザによって折り返し先を失いはみ出すため使わない。 */
.ph{display:inline-block}
.recruit-status .button{margin-top:20px}
/* 矢印を外したぶん、ボタンの文字を中央に置き直して幅を保つ */
.button{justify-content:center;gap:0;padding:19px 38px;min-width:236px}
.nav-cta{min-width:0;padding:13px 22px}
@media(max-width:700px){.button{padding:18px 26px;min-width:200px}.nav-cta{padding:9px 12px}}

/* PC でも、2カラムになる幅では見出しの入る幅が狭い。
   固定サイズだと語の途中で折り返すので、こちらも幅に追従させる。 */
.promise h2{font-size:clamp(26px,3.4vw,47px)}

/* ウィンドウの高さが低いとき、見出しが下の注記に重なっていた。
   高さを固定せず、中身が入りきらないときは伸びるようにする。 */
.hero{height:auto;min-height:max(610px,min(780px,calc(100svh - 98px)))}

/* 文字サイズを画面幅に追従させる。
   スマホでも、PCで拡大しても、1行に入る文字数が大きく変わらないようにする。 */
@media(max-width:700px){
.brand{font-size:clamp(12px,4vw,16px);gap:8px}
.brand small{font-size:clamp(6px,1.9vw,8px);letter-spacing:.12em;margin-top:5px}
.nav-cta{font-size:clamp(9px,2.7vw,11px);padding:9px 10px}
.nav-cta span{margin-left:7px}
h1{font-size:clamp(26px,9vw,44px);letter-spacing:.04em}
.hero-copy{padding:62px 6%}
.hero-lead{font-size:clamp(13px,4vw,16px)}
.hero{height:auto;max-height:none;min-height:max(650px,min(850px,calc(100svh - 80px)))}
.section h2{font-size:clamp(20px,7.1vw,29px)}
.promise h2{font-size:clamp(22px,7vw,32px)}
.closing h2{font-size:clamp(24px,9vw,34px)}
.flow-heading h2{font-size:clamp(22px,8.2vw,31px)}
.value-row h3{font-size:clamp(17px,5.6vw,21px)}
.morning-flow h3{font-size:clamp(16px,5.3vw,20px)}
.recruit-status h3{font-size:clamp(15px,4.8vw,18px)}
.fee strong{font-size:clamp(38px,13.6vw,51px)}
.band img{height:clamp(140px,45vw,170px)}

}
@media(max-width:360px){
.facts>div,dl>div{grid-template-columns:78px 1fr}
/* 画面が狭いと申込みボタンの文字が2行に割れるので、枠と余白を詰める */
.recruit-status{padding:20px 16px}
.button{padding:16px;min-width:0}
}

/* 事前決済セクションの本文が、背景の英字に押されて右端で切れていたのを直す */
.promise-inner,.promise-side{min-width:0}

/* 数字と単位、時刻など、途中で切りたくない語のまとまり */
.nw{white-space:nowrap}
.nav-cta,.hero-detail,.fee>span,.status-label{white-space:nowrap}
