@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@300;400;500;600;700;900&family=Noto+Serif+JP:wght@500;600;700&display=swap";:root{--navy:#07182a;--navy2:#10263b;--red:#c9232b;--ivory:#f2eee4;--paper:#faf8f2;--ink:#0d1b28;--line:#0d1b282e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);letter-spacing:.035em;margin:0;font-family:Noto Sans JP,sans-serif}a{color:inherit;text-decoration:none}img{width:100%;display:block}h1,h2,h3,p{margin-top:0}.section-pad{padding:140px 7vw}.section-index{letter-spacing:.22em;color:#68737c;font:600 12px/1 Barlow Condensed,sans-serif}.section-index.light{color:#aeb8c2}.site-header{z-index:20;color:#fff;border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;width:100%;height:92px;padding:0 4vw;display:flex;position:absolute;top:0;left:0}.brand{letter-spacing:.1em;font-family:Barlow Condensed;line-height:.9;display:grid}.brand b{font-size:21px}.brand span{font-size:14px}.site-header nav{letter-spacing:.14em;gap:32px;font:600 12px/1 Barlow Condensed;display:flex}.site-header nav a{position:relative}.site-header nav a:after{content:"";background:var(--red);width:0;height:1px;transition:all .25s;position:absolute;bottom:-9px;left:0}.site-header nav a:hover:after{width:100%}.mobile-menu{display:none}.hero{color:#fff;background:var(--navy);height:100svh;min-height:680px;position:relative;overflow:hidden}.hero-image,.page-hero>img,.manifesto>img{object-fit:cover;height:100%}.hero-image{object-position:center 48%;filter:saturate(.82)contrast(1.05)}.hero-shade{background:linear-gradient(90deg,#030d18d1 0%,#030d1857 52%,#030d182e),linear-gradient(#0000 46%,#030d188c);position:absolute;inset:0}.hero-copy{position:absolute;bottom:11vh;left:7vw}.eyebrow{letter-spacing:.28em;margin-bottom:26px;font:600 12px/1 Barlow Condensed}.hero h1{letter-spacing:-.08em;margin:0;font:700 clamp(66px,8vw,132px)/.96 Noto Serif JP}.hero h1 span{color:#fff}.hero h1 span:after{content:"";background:var(--red);vertical-align:.25em;width:clamp(50px,7vw,120px);height:6px;margin-left:24px;display:inline-block}.hero-sub{margin:28px 0 0 5px;font:500 clamp(15px,1.35vw,21px)/1.9 Noto Serif JP}.hero-role{text-align:right;letter-spacing:.18em;font:500 11px/1.7 Barlow Condensed;position:absolute;bottom:5vh;right:4vw}.scroll-mark{transform-origin:100%;align-items:center;gap:14px;display:flex;position:absolute;top:47%;right:4vw;transform:rotate(90deg)}.scroll-mark span{letter-spacing:.22em;font:600 10px Barlow Condensed}.scroll-mark i{background:#fff;width:55px;height:1px;display:block}.intro{background:var(--ivory);grid-template-columns:1fr 3fr 1.25fr;align-items:start;gap:5vw;display:grid}.intro-main>p{color:var(--red);margin-bottom:28px;font:500 13px Noto Serif JP}.intro-main h2{letter-spacing:-.04em;font:600 clamp(30px,3.3vw,54px)/1.55 Noto Serif JP}.text-link{border-bottom:1px solid var(--ink);letter-spacing:.17em;align-items:center;gap:50px;padding-bottom:9px;font:600 13px Barlow Condensed;display:inline-flex}.text-link span{color:var(--red);font-size:18px}.text-link.light{color:#fff;border-color:#fff}.intro-profile{border-top:3px solid var(--ink);padding-top:22px}.intro-profile span{font:700 20px Noto Serif JP}.intro-profile p{color:#4c5861;margin-top:20px;font-size:12px;line-height:2}.world{background:var(--paper)}.world-heading{grid-template-columns:1fr 4fr;margin-bottom:75px;display:grid}.world-heading h2{letter-spacing:-.05em;font:600 clamp(42px,5vw,74px)/1.3 Noto Serif JP}.tile-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:145px;gap:12px;display:grid}.world-tile{color:#fff;background-position:50%;background-size:cover;transition:transform .3s;position:relative;overflow:hidden}.world-tile:hover{transform:translateY(-5px)}.tile-race{grid-area:span 3/span 7}.tile-quote{background:var(--red);grid-area:span 2/span 5}.tile-teacher{background-position:50% 38%;grid-area:span 3/span 5}.tile-practice{grid-area:span 2/span 4}.tile-quote-dark{background:var(--navy);grid-column:span 3}.tile-journal{grid-area:span 2/span 5}.tile-movie{grid-area:span 3/span 7}.tile-life{grid-area:span 3/span 5}.tile-overlay{background:linear-gradient(#0000 30%,#040e18cc);position:absolute;inset:0}.tile-quote .tile-overlay{display:none}.tile-copy{flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:24px}.tile-copy small{letter-spacing:.15em;font:500 11px Barlow Condensed;position:absolute;top:0;left:0}.tile-copy h3{letter-spacing:.05em;white-space:pre-line;margin:0;font:600 clamp(25px,3vw,46px)/1.08 Barlow Condensed,Noto Sans JP}.tile-copy h3 span{display:block}.tile-quote .tile-copy h3{letter-spacing:-.04em;font-family:Noto Serif JP;line-height:1.45}.tile-copy p{letter-spacing:.12em;margin:8px 0 0;font-size:11px}.tile-arrow{font-size:20px;position:absolute;top:16px;right:22px}.number-section{background:var(--navy);color:#fff;grid-template-columns:1.1fr .9fr;min-height:760px;display:grid}.number-photo img{object-fit:cover;filter:grayscale()contrast(1.08);height:100%}.number-copy{flex-direction:column;justify-content:center;padding:90px 6vw;display:flex}.big-number{letter-spacing:-.06em;color:#fff;margin:50px 0 0;font:700 clamp(120px,15vw,230px)/.85 Barlow Condensed}.big-number span{color:var(--red)}.number-unit{letter-spacing:.21em;border-bottom:1px solid #5c6c79;padding-bottom:25px;font:600 12px Barlow Condensed}.number-copy blockquote{color:#e1e5e8;margin:42px 0;font:500 clamp(18px,2vw,27px)/1.9 Noto Serif JP}.latest-head{justify-content:space-between;align-items:end;margin-bottom:60px;display:flex}.latest-head h2{margin:20px 0 0;font:600 clamp(42px,5vw,70px) Noto Serif JP}.latest-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.latest-card{border-top:1px solid var(--ink);padding-top:14px}.latest-thumb{aspect-ratio:16/10;position:relative;overflow:hidden}.latest-thumb img{object-fit:cover;height:100%;transition:all .5s}.latest-card:hover img{transform:scale(1.04)}.latest-thumb span,.feed-image span{background:var(--red);color:#fff;letter-spacing:.15em;padding:8px 12px;font:600 10px Barlow Condensed;position:absolute;top:0;left:0}.latest-meta{padding:18px 32px 0 0;position:relative}.latest-meta small,.feed-card>small{letter-spacing:.15em;color:#6c747b;font:500 10px Barlow Condensed}.latest-meta h3{margin-top:8px;font:600 15px/1.7 Noto Serif JP}.latest-meta b{color:var(--red);position:absolute;top:18px;right:0}.manifesto{color:#fff;height:95vh;min-height:690px;position:relative}.manifesto>img{object-position:center 38%}.manifesto-shade{background:linear-gradient(90deg,#05101bd1,#05101b0d 72%);position:absolute;inset:0}.manifesto-copy{position:absolute;top:50%;left:8vw;transform:translateY(-50%)}.manifesto-copy small{letter-spacing:.25em;font:600 11px Barlow Condensed}.manifesto-copy h2{letter-spacing:-.06em;margin:35px 0;font:600 clamp(42px,5vw,76px)/1.35 Noto Serif JP}.manifesto-copy p{margin-bottom:45px;font:500 18px Noto Serif JP}footer{color:#fff;background:#040e18;grid-template-columns:2fr 1fr;padding:90px 7vw 30px;display:grid}.footer-name small{letter-spacing:.23em;font:600 12px Barlow Condensed}.footer-name h2{margin-top:22px;font:600 clamp(36px,5vw,68px) Noto Serif JP}.footer-links{grid-template-columns:1fr 1fr;gap:40px;display:grid}.footer-links div{flex-direction:column;gap:14px;display:flex}.footer-links small{letter-spacing:.2em;color:#81909c;margin-bottom:8px;font:600 10px Barlow Condensed}.footer-links a{letter-spacing:.12em;font:500 12px Barlow Condensed}.copyright{letter-spacing:.14em;color:#71808c;border-top:1px solid #283744;grid-column:1/-1;margin:70px 0 0;padding-top:24px;font:500 9px Barlow Condensed}.page-hero{color:#fff;background:var(--navy);height:82vh;min-height:620px;position:relative}.page-hero>img{filter:saturate(.75);object-position:center}.page-hero-copy{position:absolute;bottom:10vh;left:7vw}.page-hero-copy p{letter-spacing:.25em;font:600 11px Barlow Condensed}.page-hero-copy h1{letter-spacing:-.02em;margin:15px 0;font:700 clamp(72px,10vw,150px)/.85 Barlow Condensed}.page-hero-copy span{font:500 18px Noto Serif JP}.story-lead{text-align:center;background:var(--ivory)}.story-lead>p{color:var(--red);font:600 16px Noto Serif JP}.story-lead h2{letter-spacing:-.05em;margin:36px 0;font:600 clamp(36px,5vw,72px)/1.45 Noto Serif JP}.story-lead span{font:400 14px/2 Noto Serif JP}.chapters{padding-top:40px}.chapter{grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw;margin-bottom:150px;display:grid}.chapter.reverse{grid-template-columns:.9fr 1.1fr}.chapter.reverse .chapter-image{order:2}.chapter-image{height:580px}.chapter-image img{object-fit:cover;filter:saturate(.8);height:100%}.chapter-copy small{letter-spacing:.22em;color:var(--red);font:600 11px Barlow Condensed}.chapter-copy h2{margin:26px 0;font:600 clamp(30px,3.2vw,50px)/1.4 Noto Serif JP}.chapter-copy p{color:#43505b;max-width:560px;font:400 14px/2.25 Noto Serif JP}.closing-quote{background:var(--red);color:#fff;text-align:center;padding:150px 7vw}.closing-quote p{font:500 16px/2 Noto Serif JP}.closing-quote h2{margin-top:40px;font:600 clamp(48px,7vw,100px)/1.35 Noto Serif JP}.race-intro,.journal-head{grid-template-columns:1fr 1fr;align-items:end;gap:12vw;display:grid}.race-intro small,.journal-head small,.teacher-statement small{letter-spacing:.22em;color:var(--red);font:600 11px Barlow Condensed}.race-intro h2,.journal-head h2{margin:28px 0 0;font:600 clamp(42px,5vw,72px)/1.35 Noto Serif JP}.race-intro>p,.journal-head>p{font:400 14px/2.2 Noto Serif JP}.result-list{padding:0 7vw 140px}.result-list article{border-top:1px solid var(--line);grid-template-columns:70px 1.2fr 1fr;align-items:center;padding:30px 0;display:grid}.result-list article:last-child{border-bottom:1px solid var(--line)}.result-list small{font:600 11px Barlow Condensed}.result-list strong{letter-spacing:-.04em;font:700 clamp(80px,11vw,160px)/1 Barlow Condensed}.result-list h3{letter-spacing:.08em;margin:0;font:600 22px Barlow Condensed}.result-list p{color:#68737c;margin:10px 0 0;font-size:11px}.race-photo-band{color:#fff;height:80vh;position:relative}.race-photo-band img{object-fit:cover;height:100%}.race-photo-band:after{content:"";background:linear-gradient(90deg,#050f19c7,#0000 65%);position:absolute;inset:0}.race-photo-band blockquote{z-index:1;font:500 clamp(24px,3vw,44px)/1.7 Noto Serif JP;position:absolute;top:50%;left:8vw;transform:translateY(-50%)}.race-photo-band b{color:#fff;border-bottom:4px solid var(--red)}.practice-notes>h2{margin:32px 0 70px;font:600 clamp(45px,6vw,82px) Noto Serif JP}.note-grid{grid-template-columns:repeat(3,1fr);gap:50px;display:grid}.note-grid article{border-top:4px solid var(--navy);padding-top:24px}.note-grid span{color:var(--red);font:700 44px Barlow Condensed}.note-grid h3{margin-top:35px;font:600 22px Noto Serif JP}.note-grid p{color:#52606a;font:400 13px/2 Noto Serif JP}.teacher-statement{max-width:1200px}.teacher-statement h2{letter-spacing:-.05em;margin:32px 0;font:600 clamp(42px,5vw,72px)/1.45 Noto Serif JP}.teacher-statement p{max-width:720px;margin-left:auto;font:400 15px/2.3 Noto Serif JP}.teacher-views{padding-top:20px}.teacher-views article{border-top:1px solid var(--line);grid-template-columns:120px 1fr;padding:70px 0;display:grid}.teacher-views article>span{color:var(--red);font:700 60px Barlow Condensed}.teacher-views small{letter-spacing:.2em;font:600 11px Barlow Condensed}.teacher-views h2{margin:22px 0;font:600 clamp(28px,3vw,46px) Noto Serif JP}.teacher-views p{max-width:680px;font:400 14px/2.1 Noto Serif JP}.teacher-image-quote{color:#fff;height:75vh;min-height:620px;position:relative}.teacher-image-quote img{object-fit:cover;height:100%}.teacher-image-quote:after{content:"";background:#040e199e;position:absolute;inset:0}.teacher-image-quote>div{z-index:1;position:absolute;top:50%;left:8vw;transform:translateY(-50%)}.teacher-image-quote small{letter-spacing:.22em;font:600 11px Barlow Condensed}.teacher-image-quote h2{margin:28px 0;font:600 clamp(32px,4.5vw,64px)/1.55 Noto Serif JP}.teacher-image-quote p{font:500 16px Noto Serif JP}.feed-grid{grid-template-columns:repeat(12,1fr);gap:30px;padding-top:20px;display:grid}.feed-card{border-top:1px solid var(--ink);grid-column:span 4;padding-top:14px}.feed-image{aspect-ratio:16/10;margin-bottom:20px;position:relative;overflow:hidden}.feed-image img{object-fit:cover;height:100%;transition:all .4s}.feed-card:hover img{transform:scale(1.04)}.feed-card h2{margin:12px 0 25px;font:600 17px/1.7 Noto Serif JP}.feed-card>b{letter-spacing:.15em;color:var(--red);font:600 10px Barlow Condensed}.channels{grid-template-columns:1fr 1fr;display:grid}.channels a{background:var(--navy);color:#fff;padding:90px 7vw}.channels a+a{background:var(--red)}.channels small{letter-spacing:.2em;font:600 10px Barlow Condensed}.channels h2{margin:18px 0;font:700 clamp(60px,8vw,110px) Barlow Condensed}.channels span{font-size:12px}@media (width<=900px){.site-header{height:72px;padding:0 20px}.site-header nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{letter-spacing:.15em;font:600 11px Barlow Condensed;list-style:none}.mobile-menu>div{background:var(--navy);flex-direction:column;gap:20px;width:230px;padding:25px;display:flex;position:absolute;top:28px;right:0}.section-pad{padding:95px 24px}.hero{min-height:650px}.hero-copy{bottom:13vh;left:24px}.hero h1{font-size:clamp(55px,17vw,84px)}.hero-sub{font-size:13px}.hero-role,.scroll-mark{display:none}.intro{grid-template-columns:1fr}.intro .section-index{margin-bottom:25px}.intro-profile{margin-top:45px}.world-heading{grid-template-columns:1fr;gap:28px}.tile-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.world-tile{grid-row:span 2;grid-column:span 1!important}.tile-race,.tile-movie{grid-column:1/-1!important}.tile-quote{grid-row:span 1}.tile-copy{inset:18px}.tile-copy h3{font-size:26px}.number-section{grid-template-columns:1fr;min-height:0}.number-photo{height:55vh}.number-copy{padding:75px 24px}.big-number{font-size:38vw}.latest-head{align-items:start}.latest-head>.text-link{display:none}.latest-grid{grid-template-columns:1fr;gap:50px}.manifesto{height:80vh}.manifesto-copy{left:24px}.manifesto-shade{background:#05101b9e}footer{grid-template-columns:1fr;padding:70px 24px 25px}.footer-links{margin-top:60px}.page-hero{height:72vh;min-height:560px}.page-hero-copy{bottom:9vh;left:24px}.page-hero-copy h1{font-size:19vw}.chapter,.chapter.reverse{grid-template-columns:1fr;gap:40px;margin-bottom:100px}.chapter.reverse .chapter-image{order:0}.chapter-image{height:60vh}.closing-quote{padding:100px 24px}.race-intro,.journal-head{grid-template-columns:1fr;gap:50px}.result-list{padding:0 24px 95px}.result-list article{grid-template-columns:35px 1fr}.result-list article div{grid-column:2}.result-list strong{font-size:28vw}.race-photo-band{height:70vh}.race-photo-band blockquote{left:24px}.note-grid{grid-template-columns:1fr}.teacher-statement p{margin:0}.teacher-views article{grid-template-columns:70px 1fr}.teacher-views article>span{font-size:42px}.teacher-image-quote>div{left:24px;right:24px}.feed-grid{grid-template-columns:1fr}.feed-card{grid-column:auto}.channels{grid-template-columns:1fr}.channels a{padding:70px 24px}}@media (width<=520px){.tile-grid{display:block}.world-tile{height:280px;margin-bottom:10px;display:block}.tile-quote{height:150px}.latest{padding-left:18px;padding-right:18px}.page-hero-copy span{font-size:14px}.story-lead h2{font-size:31px}.chapter-image{height:48vh}.footer-links{grid-template-columns:1fr;gap:45px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* ---- 2026-09 改修（本人インタビュー 9/23 に合わせた追加分） ---- */
.hero-copy{right:7vw}
.hero-sub{max-width:40em}
.intro-main .intro-lead{color:#43505b;max-width:560px;margin:30px 0 42px;font:400 15px/2.15 Noto Serif JP}
.intro-profile ul{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line)}
.intro-profile li{color:#4c5861;border-bottom:1px solid var(--line);padding:11px 0;font-size:12px;line-height:1.8}
.intro-profile li b{color:var(--red);letter-spacing:.15em;display:block;font:600 11px Barlow Condensed}
.number-ja{color:#e1e5e8;letter-spacing:.08em;margin:20px 0 0;font:500 14px/1.8 Noto Sans JP}
.number-copy blockquote b{color:#fff;font-weight:600;border-bottom:2px solid var(--red)}
.goals{background:var(--paper)}
.goals>h2{letter-spacing:-.04em;margin:30px 0 64px;font:600 clamp(36px,4.5vw,64px)/1.4 Noto Serif JP}
.goal-list{grid-template-columns:1fr 1fr;gap:56px;display:grid}
.goal-list article{border-top:4px solid var(--navy);padding-top:24px}
.goal-list article>span{color:var(--red);font:700 44px Barlow Condensed}
.goal-list small{letter-spacing:.2em;color:#68737c;margin-top:18px;display:block;font:600 11px Barlow Condensed}
.goal-list h3{margin:14px 0 18px;font:600 clamp(22px,2.3vw,32px)/1.5 Noto Serif JP}
.goal-list p{color:#52606a;margin:0;font:400 14px/2.1 Noto Serif JP}
.manifesto-copy{right:8vw}
.manifesto-copy p.manifesto-body{max-width:400px;font:400 15px/2.1 Noto Serif JP}
.coaching{background:var(--ivory);grid-template-columns:1fr 1fr;gap:8vw;display:grid}
.coaching h2{letter-spacing:-.04em;margin:30px 0 0;font:600 clamp(36px,4.5vw,64px)/1.4 Noto Serif JP}
.coach-list{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid var(--line)}
.coach-list li{border-bottom:1px solid var(--line);align-items:baseline;gap:22px;padding:20px 0;display:flex;font:600 19px/1.6 Noto Serif JP}
.coach-list li small{color:var(--red);letter-spacing:.15em;min-width:2em;font:600 12px Barlow Condensed}
.coaching-note{color:#43505b;margin:0 0 34px;font:400 14px/2.1 Noto Serif JP}
.button{background:var(--red);color:#fff;letter-spacing:.1em;align-items:center;gap:18px;padding:18px 34px;font:600 14px Noto Sans JP;display:inline-flex;transition:background .2s}
.button:hover{background:#a51c23}
.result-list .race-memo{color:var(--red);margin-top:12px;font:500 12px/1.8 Noto Serif JP}
.contact-wrap{grid-template-columns:1fr 2fr;gap:6vw;display:grid}
.contact-wrap>div>small{letter-spacing:.22em;color:var(--red);font:600 11px Barlow Condensed}
.contact-wrap h2{letter-spacing:-.04em;margin:26px 0 24px;font:600 clamp(32px,3.6vw,52px)/1.4 Noto Serif JP}
.contact-wrap>div>p{color:#43505b;font:400 14px/2.1 Noto Serif JP}
.contact-form{max-width:760px}
.contact-form fieldset{border:0;margin:0 0 30px;padding:0}
.contact-form legend,.contact-form label>span{margin-bottom:12px;display:block;font:600 14px Noto Sans JP}
.contact-form .req{color:var(--red);margin-left:8px;font-size:11px}
.purpose-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}
.purpose-list label{border:1px solid var(--line);background:#fff;cursor:pointer;align-items:center;gap:12px;padding:15px 16px;display:flex;font-size:15px}
.purpose-list input{accent-color:var(--red);width:18px;height:18px;margin:0}
.purpose-list label:has(input:checked){border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.contact-form label.field{margin-bottom:26px;display:block}
.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{border:1px solid #0d1b2859;background:#fff;color:var(--ink);border-radius:0;width:100%;padding:14px 15px;font:400 16px/1.7 Noto Sans JP}
.contact-form textarea{resize:vertical;min-height:200px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--navy);outline-offset:1px}
.contact-form [aria-invalid=true]{border-color:var(--red)!important}
.field-error{color:var(--red);min-height:1em;margin:8px 0 0;font-size:13px}
.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}
.form-note{color:#68737c;margin:0 0 26px;font-size:12px;line-height:1.9}
.contact-form button{border:0;cursor:pointer}
.contact-form button:disabled{opacity:.45;cursor:default}
.form-status{margin-top:24px;padding:0;font-size:14px;line-height:1.9}
.form-status.is-ok{background:#e9f4ee;border-left:4px solid #2f7d4f;padding:16px 18px}
.form-status.is-error{background:#fbeceb;border-left:4px solid var(--red);padding:16px 18px}
@media (width<=900px){
  .hero-copy{right:24px}
  .goal-list,.coaching,.contact-wrap{grid-template-columns:1fr;gap:44px}
  .manifesto-copy{right:24px}
  .coach-list li{font-size:17px}
}
@media (width<=520px){
  .purpose-list{grid-template-columns:1fr}
  .hero h1{font-size:15.5vw}
}
.nw{display:inline-block}
.number-copy blockquote b{border-bottom:0;background:linear-gradient(transparent calc(100% - 2px),var(--red) 0)}
.story-lead h2 .nw{font:inherit}
