@charset "UTF-8";
:root{--ink:#362a28;--muted:#625653;--paper:#fffdfa;--cream:#faf3ef;--line:#e7dcd7;--sand:#e9d3ca;--accent:#a4515d;--dark:#503b37;--green:#476453;--serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.9;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:.3em}
button{font:inherit}
.container{width:min(100% - 64px,1180px);margin-inline:auto}
.section-pad{padding:116px 0}
.skip-link{position:absolute;z-index:50;left:12px;top:-90px;background:#fff;padding:10px 16px}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #b76542;outline-offset:4px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,253,250,.97);border-bottom:1px solid rgba(80,59,55,.11);backdrop-filter:blur(14px)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.brand-mark{display:grid;place-items:center;width:41px;height:41px;border:1px solid var(--accent);border-radius:50%;color:var(--accent);font:22px var(--serif)}
.brand-type{display:flex;flex-direction:column;line-height:1.35}
.brand-type strong{font:600 23px var(--serif);letter-spacing:.15em}
.brand-type small{font:18px var(--sans);letter-spacing:.08em;color:var(--muted);margin-top:4px}
.site-nav{display:flex;align-items:center;gap:26px;font-size:18px;font-weight:700;white-space:nowrap}
.site-nav>a{text-decoration:none;transition:color .2s}
.site-nav>a:hover{color:var(--accent)}
.site-nav .nav-reserve{display:flex;align-items:center;gap:16px;padding:11px 17px;color:#fff;background:var(--dark)}
.site-nav .nav-reserve:hover{color:#fff;background:var(--accent)}
.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:46% 54%;min-height:640px;overflow:hidden}
.hero-copy{display:flex;align-items:center;background:#fffaf7;padding:65px 7vw 65px max(32px,calc((100vw - 1180px)/2));position:relative}
.hero-copy:before{content:"";position:absolute;width:310px;height:310px;left:-150px;bottom:-150px;border:1px solid rgba(186,111,117,.2);border-radius:50%}
.hero-copy-inner{position:relative;z-index:1;max-width:580px}
.eyebrow{font-size:18px;letter-spacing:.19em;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:15px;margin:0 0 38px}
.eyebrow-line{height:1px;width:36px;background:var(--accent)}
.hero h1{font:500 clamp(47px,5.25vw,76px)/1.45 var(--serif);letter-spacing:.07em;margin:0 0 29px;white-space:nowrap}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-lead{font-size:18px;line-height:2.3;margin:0;color:#534d47}
.hero-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap;margin-top:45px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;padding:17px 23px;min-height:56px;text-decoration:none;font-size:18px;font-weight:700;letter-spacing:.05em;transition:transform .2s,background .2s,color .2s,border-color .2s;border:1px solid transparent}
.button:hover{transform:translateY(-3px)}
.button-dark{color:#fff;background:var(--dark)}
.button-dark:hover{background:var(--accent)}
.text-link{font-size:18px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}
.text-link span,.inline-link span{margin-left:9px}
.hero-facts{display:flex;gap:22px;margin-top:75px;color:#756f68;font-size:18px;letter-spacing:.1em}
.hero-facts span+span:before{content:"◆";font-size:18px;color:var(--accent);margin-right:22px;vertical-align:middle}
.hero-visual{position:relative;background:#433e39}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:54% center;filter:saturate(.9) sepia(.08)}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,19,18,.14),transparent 30%)}
.photo-credit{position:absolute;left:20px;bottom:15px;z-index:1;margin:0;color:#fff;font-size:18px;letter-spacing:.1em;text-shadow:0 1px 8px #000}
.visual-nav{padding:18px 0 22px;background:#fff}
.visual-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.visual-nav a{position:relative;display:grid;place-items:center;height:110px;color:#fff;text-decoration:none;overflow:hidden;background:#5c4841}
.visual-nav a:after{content:"";position:absolute;inset:0;background:rgba(42,29,27,.4);transition:background .25s}
.visual-nav a:hover:after,.visual-nav a:focus-visible:after{background:rgba(42,29,27,.2)}
.visual-nav img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s;filter:saturate(.78)}
.visual-nav a:hover img{transform:scale(1.04)}
.visual-nav span{position:relative;z-index:1;text-align:center;font:500 18px var(--serif);letter-spacing:.08em;text-shadow:0 1px 7px #211}
.visual-nav small{display:block;font:700 18px var(--sans);letter-spacing:.2em;margin-top:6px}
.kicker{font:700 18px var(--sans);letter-spacing:.22em;color:var(--accent);margin:0 0 27px}
.kicker span{margin-left:20px;font-family:var(--serif);letter-spacing:0;color:#a9a098}
.section-heading h2,.movie-grid h2,.lesson-grid h2,.profile-copy h2,.access-grid h2,.contact-inner h2{font:500 clamp(30px,3vw,46px)/1.65 var(--serif);letter-spacing:.055em;margin:0 0 25px}
.section-heading p:not(.kicker),.intro-body p,.movie-grid>div>p:not(.kicker),.lesson-grid>div>p:not(.kicker),.profile-copy>p:not(.kicker),.access-grid p,.contact-inner>p:not(.kicker){font-size:18px;line-height:2.1;color:var(--muted)}
.intro{background:#fff}
.intro-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:88px;align-items:center;max-width:1100px}
.intro-copy .kicker{font:400 clamp(31px,3.5vw,49px)/1.1 Georgia,serif;letter-spacing:.02em;color:#bb6872;margin:0 0 6px}
.intro-copy .kicker span{font:500 18px var(--serif);color:#ba6f75;margin-left:12px}
.intro-copy h2{font-size:30px;line-height:1.7;margin:20px 0 6px}
.intro-subtitle{font:500 18px var(--serif)!important;color:var(--accent)!important;letter-spacing:.12em;margin:0 0 36px}
.intro-body{padding-top:0}
.intro-photos{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.intro-photos figure{margin:0;position:relative;overflow:hidden;background:#eee2dc}
.intro-photos img{width:100%;height:248px;object-fit:cover;filter:saturate(.78)}
.intro-photos figure:first-child img{object-position:center 52%}
.intro-photos figure:last-child img{object-position:center 47%}
.intro-photos figcaption{position:absolute;bottom:0;right:0;background:rgba(255,253,250,.94);padding:6px 13px;font-size:18px;letter-spacing:.03em;color:var(--ink)}
.intro-body p:first-child{font-family:var(--serif);font-size:19px;color:var(--ink);line-height:2}
.intro-body p{margin:0 0 22px}
.inline-link{display:inline-block;text-decoration:none;border-bottom:1px solid var(--accent);font-weight:700;color:var(--ink);font-size:18px;padding:4px 0 8px;margin-top:15px}
.inline-link:hover{color:var(--accent)}
.experience-gallery{display:grid;grid-template-columns:1.55fr .85fr;align-items:end;gap:30px;margin-top:72px}
.experience-gallery figure{margin:0}
.experience-gallery img{width:100%;object-fit:cover}
.gallery-main img{aspect-ratio:1.53}
.gallery-sub img{height:320px;object-position:center 61%}
.experience-gallery figcaption{font-size:18px;letter-spacing:.06em;color:var(--muted);margin-top:12px}
.flow{background:#fbf4f1}
.centered{text-align:center}
.centered .kicker{display:block}
.centered>p:last-child{margin:0}
.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:62px}
.flow-grid article{border-top:1px solid #bdb4a8;padding:22px 20px 0 0}
.flow-number{font:500 30px var(--serif);color:var(--accent)}
.flow-grid h3{font:500 22px var(--serif);margin:16px 0}
.flow-grid p{font-size:18px;color:var(--muted);margin:0;line-height:2}
.flow-note{display:flex;justify-content:center;align-items:center;gap:13px;margin-top:56px;font-size:18px}
.flow-note span{color:var(--accent)}
.flow-note p{margin:0}
.flow-note a{text-decoration:none;border-bottom:1px solid currentColor;font-weight:700}
.course-section{background:#fff}
.course-heading,.other-heading{display:flex;justify-content:space-between;gap:80px;align-items:end}
.course-heading>p,.other-heading>p{width:min(32%,350px);margin:0 0 30px}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px}
.course-card{border:1px solid var(--line);padding:37px 39px;background:#fff;position:relative;overflow:hidden}
.course-card.featured{background:#fdf3f0;border-color:#e4c9c2}
.course-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.course-label{font-size:18px;letter-spacing:.18em;color:var(--accent);font-weight:700;margin:0}
.course-top>span{font-size:18px;padding:2px 9px;border:1px solid var(--accent);color:var(--accent)}
.course-card h3{font:500 26px var(--serif);margin:30px 0 12px}
.course-card h3 strong{font:500 42px var(--serif);margin-left:10px}
.course-card>p{font-size:18px;color:var(--muted);margin:0 0 29px;min-height:52px}
.price-row{display:flex;gap:48px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price-row>div{display:flex;flex-direction:column;gap:2px}
.price-row small{font-size:18px;color:var(--muted)}
.price-row strong{font:500 30px var(--serif);white-space:nowrap}
.price-row strong small{font:500 18px var(--serif);color:var(--ink);margin-left:2px}
.course-link{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-size:18px;font-weight:700;padding-top:22px}
.course-link:hover{color:var(--accent)}
.course-footnote{font-size:18px;color:var(--muted);margin:17px 0 0}
.movie-section{background:#f7efeb;color:var(--ink)}
.movie-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center}
.movie-grid .kicker,.lesson-grid .kicker{color:var(--accent)}
.movie-grid .kicker span,.lesson-grid .kicker span{color:#a69791}
.movie-grid>div>p:not(.kicker){color:var(--muted)}
.movie-grid .inline-link{color:var(--ink);border-color:var(--accent)}
.movie-frame{aspect-ratio:16/9;background:#3d2f2e;box-shadow:18px 18px 0 #e8d8d2}
.movie-frame iframe{width:100%;height:100%;border:0}
.other-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:52px}
.other-card{min-height:420px;background:#f8f1ed;position:relative;overflow:hidden}
.other-card.with-photo{display:grid;grid-template-columns:40% 60%;background:#f3e9e4}
.other-photo{min-height:100%;overflow:hidden}
.other-photo img{width:100%;height:100%;object-fit:cover}
.other-content{position:relative;z-index:1;padding:33px 28px;display:flex;flex-direction:column;height:100%}
.other-category{font-size:18px;font-weight:700;letter-spacing:.18em;color:var(--accent);margin:0 0 32px}
.other-card h3{font:500 25px/1.5 var(--serif);margin:0 0 20px}
.other-card p:not(.other-category):not(.other-price){font-size:18px;line-height:1.9;color:var(--muted);margin:0}
.other-price{font-size:18px;margin:auto 0 0;padding-top:25px}
.other-price strong{font:500 20px var(--serif);margin-left:6px}
.text-card{background:#f9f1ec}
.text-card.pale{background:#f5eee9}
.card-ornament{position:absolute;right:-18px;bottom:-66px;color:rgba(164,108,85,.12);font:210px var(--serif)}
.other-more{font-size:18px;color:var(--muted);margin:28px 0 0}
.other-more a{font-weight:700;color:var(--ink);margin-left:10px}
.lesson-section{background:#f8f1ed;color:var(--ink)}
.lesson-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}
.lesson-grid>div>p:not(.kicker){color:var(--muted);max-width:550px}
.button-light{background:var(--dark);color:#fff;margin-top:22px}
.button-light:hover{background:var(--accent)}
.lesson-secondary{display:inline-block;font-size:18px;margin-left:23px;color:var(--ink);text-underline-offset:.4em}
.lesson-note{border:1px solid #e1c8c1;background:#fffaf7;padding:54px;min-height:348px;display:flex;flex-direction:column;justify-content:center}
.lesson-monogram{font:60px var(--serif);color:#d2a19e}
.lesson-note p{font:500 30px/1.6 var(--serif);margin:15px 0}
.lesson-note small{font-size:18px;color:var(--muted);line-height:1.8}
.profile-section{background:#fff}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.profile-visual img{width:100%;height:450px;object-fit:cover}
.profile-name{font:500 28px var(--serif)!important;color:var(--ink)!important;margin:22px 0}
.profile-name small{font:18px var(--sans);margin-left:10px;color:var(--muted)}
.profile-copy>p:not(.kicker){max-width:500px}
.access-section{background:#fbf5f1}
.access-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}
.access-grid address{font:500 20px/1.8 var(--serif);font-style:normal;margin:25px 0 10px}
.hours-card{padding:45px;background:#fff}
.hours-card h3{font:500 24px var(--serif);margin:0 0 22px}
.hours-card dl{margin:0}
.hours-card dl>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;font-size:18px}
.hours-card dl>div:last-child{border-bottom:1px solid var(--line)}
.hours-card dt{color:var(--muted)}
.hours-card dd{margin:0;font-weight:700}
.hours-card p{font-size:18px;margin:20px 0 0}
.contact-section{background:#59413e;color:#fff;text-align:center}
.contact-inner{max-width:900px}
.contact-inner .kicker{color:#f0bfbe}
.contact-inner .kicker span{color:#a8aba8}
.contact-inner>p:not(.kicker){color:#dde0dc}
.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left;margin:42px 0 35px}
.contact-actions>div{display:flex;flex-direction:column}
.contact-actions .button{width:100%;font-size:18px}
.button-line{background:#a4515d;color:#fff}
.button-line:hover{background:#8e414d}
.button-mail{background:#eee9df;color:var(--ink)}
.button-mail:hover{background:#fff}
.contact-actions small{font-size:18px;color:#e3e4e1;margin-top:12px;overflow-wrap:anywhere}
.contact-note{font-size:18px!important;line-height:2!important}
.contact-note a{color:#fff}
.site-footer{background:#3b2c2a;color:#e8dfdc;padding:62px 0 20px}
.footer-main{display:flex;justify-content:space-between;gap:50px}
.footer-brand{font:500 29px var(--serif);text-decoration:none;color:#fff}
.footer-brand small{font:18px var(--sans);margin-left:12px}
.footer-main p{font-size:18px;margin-top:6px}
.footer-links{display:grid;grid-template-columns:repeat(3,auto);gap:12px 34px;font-size:18px}
.footer-links a{text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #4a4f4b;padding-top:17px;margin-top:65px;font-size:18px}
.footer-bottom a{text-decoration:none}
@media(max-width:1100px){.site-nav{gap:14px;font-size:18px}.hero-copy{padding-left:38px;padding-right:35px}.hero h1{font-size:58px}.other-grid{grid-template-columns:repeat(3,1fr)}.other-card.with-photo{display:block}.other-photo{height:180px}.other-card.with-photo .other-content{height:240px}.other-card{min-height:420px}}
@media(max-width:800px){.container{width:min(100% - 40px,620px)}.section-pad{padding:78px 0}.header-inner{min-height:67px}.brand-type strong{font-size:21px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;border:0;background:none;cursor:pointer}.menu-toggle span{width:25px;height:2px;background:var(--ink);display:block;margin:auto}.site-nav{display:none;position:absolute;top:67px;left:0;right:0;padding:16px 20px 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(0,0,0,.08);flex-direction:column;align-items:stretch;gap:0;font-size:18px}.site-nav.is-open{display:flex}.site-nav>a{padding:12px 8px;border-bottom:1px solid var(--line)}.site-nav .nav-reserve{margin-top:13px;justify-content:space-between;padding:13px 18px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{order:2;padding:55px 20px 65px}.hero-copy-inner{width:min(100%,620px);margin:auto}.hero-visual{order:1;height:min(75vw,490px)}.hero-visual img{object-position:center 37%}.hero-stamp{width:105px;height:105px;font-size:18px}.hero h1{font-size:clamp(42px,8vw,67px)}.hero-facts{margin-top:45px}.intro-grid,.movie-grid,.lesson-grid,.profile-grid,.access-grid{grid-template-columns:1fr;gap:34px}.intro-body{padding-top:0}.experience-gallery{gap:16px;margin-top:43px}.gallery-sub img{height:220px}.course-heading,.other-heading{display:block}.course-heading>p,.other-heading>p{width:auto;margin:0}.course-grid{gap:15px}.course-card{padding:26px 22px}.price-row{gap:20px}.price-row strong{font-size:24px}.movie-grid{gap:45px}.other-grid{grid-template-columns:1fr 1fr}.other-card.with-photo{grid-column:1/-1;display:grid;grid-template-columns:40% 60%;min-height:320px}.other-photo{height:auto}.other-card.with-photo .other-content{height:auto}.other-card{min-height:360px}.lesson-grid{gap:45px}.lesson-note{min-height:230px}.profile-visual img{height:340px}.contact-actions{gap:13px}}
@media(max-width:560px){body{font-size:18px}.container{width:min(100% - 32px,500px)}.section-pad{padding:66px 0}.brand-type small{font-size:18px}.hero-visual{height:250px}.hero-copy{padding:38px 16px 50px}.hero h1{font-size:43px;line-height:1.5;margin-bottom:18px}.hero-lead{font-size:18px}.hero-lead br{display:none}.hero-actions{gap:21px;margin-top:23px}.hero-facts{font-size:18px;gap:12px;flex-wrap:wrap;margin-top:36px}.hero-facts span+span:before{margin-right:12px}.hero-stamp{right:3%;bottom:7%;width:85px;height:85px;font-size:18px}.section-heading h2,.movie-grid h2,.lesson-grid h2,.profile-copy h2,.access-grid h2,.contact-inner h2{font-size:31px}.intro-body p:first-child{font-size:18px}.experience-gallery{grid-template-columns:1fr}.gallery-sub img{height:240px}.flow-grid{grid-template-columns:1fr;margin-top:40px;gap:30px}.flow-grid article{padding-top:12px}.flow-note{display:block;text-align:center;line-height:1.8}.flow-note p{display:inline}.flow-note a{display:block;width:max-content;margin:4px auto 0}.course-grid{grid-template-columns:1fr;margin-top:35px}.course-card>p{min-height:0}.course-card h3 strong{font-size:39px}.price-row{gap:38px}.other-grid{grid-template-columns:1fr}.other-card.with-photo{grid-column:auto;display:grid;grid-template-columns:42% 58%;min-height:300px}.other-card{min-height:305px}.other-card.with-photo .other-content,.other-content{padding:24px 20px}.other-card h3{font-size:23px}.other-category{margin-bottom:23px}.other-more a{display:block;margin:8px 0 0}.lesson-secondary{display:block;margin:18px 0 0}.lesson-note{padding:30px}.profile-visual img{height:260px}.access-grid{gap:30px}.hours-card{padding:30px}.contact-actions{grid-template-columns:1fr}.footer-main{display:block}.footer-links{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:35px}.footer-bottom{margin-top:45px}}
@media(max-width:800px){.visual-nav-grid{grid-template-columns:repeat(2,1fr)}.visual-nav a{height:100px}.intro-grid{gap:42px}.intro-photos{grid-template-columns:1fr 1fr;grid-template-rows:auto}.intro-photos img{height:225px}.intro-copy .kicker{font-size:42px}}
@media(max-width:560px){.visual-nav{padding:10px 0 16px}.visual-nav-grid{gap:7px}.visual-nav a{height:82px}.visual-nav span{font-size:18px}.visual-nav small{font-size:18px;margin-top:3px}.intro-copy .kicker{font-size:37px}.intro-copy h2{font-size:28px}.intro-subtitle{margin-bottom:22px}.intro-photos{grid-template-columns:1fr;gap:10px}.intro-photos img{height:210px}.intro-photos figcaption{font-size:18px}.movie-frame{box-shadow:10px 10px 0 #e8d8d2}}
@media(max-width:360px){.hero h1{font-size:36px}.eyebrow{font-size:18px;letter-spacing:.07em;gap:8px;white-space:nowrap}.eyebrow-line{width:18px;flex:0 0 18px}.intro-copy h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* 神圧極上ポイントほぐし：本人指定の施術写真 */
.body-care-card{display:flex;flex-direction:column;align-self:start}
.body-care-photo{display:block;width:100%;height:auto;aspect-ratio:3/4}
.body-care-card .other-content{height:auto;flex:1}

/* トップの本人指定動画：全体を表示し、再生操作を妨げない */
.hero-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#181412}
.hero-has-video:after{display:none}
.hero-has-video .photo-credit{top:15px;bottom:auto;pointer-events:none}

/* イヤーエステ紹介：本人指定の写真1枚を全体表示 */
.intro-photos.intro-single-photo{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-self:start}
.intro-photos.intro-single-photo img{display:block;width:100%;height:auto;filter:none}

/* 本人指定の施術動画111.mp4 */
.movie-frame video{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#181412}

/* 本人指定のプロフィール施術写真を全体表示 */
.profile-visual.profile-selected-photo img{display:block;width:100%;height:auto;filter:none}

/* 冒頭の岡山発を強調 */
.eyebrow.hero-origin{flex-wrap:wrap;gap:10px 14px;white-space:normal;letter-spacing:.08em}
.origin-badge{display:inline-block;flex-shrink:0;background:var(--accent);color:#fff;padding:8px 13px;font-size:21px;line-height:1.3;letter-spacing:.12em;font-weight:700}
.origin-description{font-size:18px;line-height:1.8}
@media(max-width:560px){.origin-badge{font-size:19px;padding:7px 11px}.origin-description{font-size:18px}.eyebrow.hero-origin{gap:10px}}

/* 冒頭の紹介文全体を主見出しの半分の文字サイズへ */
.eyebrow.hero-origin{font-size:clamp(23.5px,2.625vw,38px);line-height:1.5}
.hero-origin .origin-badge,.hero-origin .origin-description{font-size:inherit}
@media(max-width:1100px){.eyebrow.hero-origin{font-size:29px}}
@media(max-width:800px){.eyebrow.hero-origin{font-size:clamp(21px,4vw,33.5px)}}
@media(max-width:560px){.eyebrow.hero-origin{font-size:21.5px}}
@media(max-width:360px){.eyebrow.hero-origin{font-size:18px}}

/* 読みやすさ：本文20px、補足・操作ラベル18px以上 */
body{font-size:20px;line-height:1.9}
.hero-lead,.section-heading p:not(.kicker),.intro-body p,.intro-body p:first-child,
.movie-grid>div>p:not(.kicker),.lesson-grid>div>p:not(.kicker),
.profile-copy>p:not(.kicker),.access-grid p,.contact-inner>p:not(.kicker),
.flow-grid p,.course-card>p,.other-card p:not(.other-category):not(.other-price),
.other-more,.hours-card dl>div{font-size:20px;line-height:1.9}
.intro-subtitle,.contact-note{font-size:18px!important;line-height:1.9!important}
small{font-size:18px}
.button,.inline-link,.text-link,.course-link,.lesson-secondary{font-size:18px;line-height:1.6;min-height:44px}
.hero-facts{flex-wrap:wrap;color:var(--muted);letter-spacing:.03em}
.hero-facts span+span:before{content:none}
.hero-copy{padding-right:32px}
.hero-copy-inner{min-width:0;width:100%}
.hero h1{white-space:normal;overflow-wrap:anywhere}
.hero-lead br{display:none}
.hero-origin .origin-description{overflow-wrap:anywhere}
.header-inner{flex-wrap:wrap;gap:12px 24px;padding-block:12px}
.brand{min-width:0;max-width:100%;flex-shrink:1}
.brand-mark{flex-shrink:0}
.brand-type{min-width:0}
.brand-type small{line-height:1.5;letter-spacing:0;overflow-wrap:anywhere}
.site-nav{font-size:18px;flex-wrap:wrap;gap:10px 22px;white-space:normal}
.site-nav>a{display:inline-flex;align-items:center;min-height:44px}
.visual-nav a{height:auto;min-height:128px;padding:18px 12px}
.visual-nav span{font-size:20px;line-height:1.6;letter-spacing:.02em}
.visual-nav small{font-size:18px;letter-spacing:.06em}
.photo-credit{background:rgba(0,0,0,.65);padding:4px 8px;max-width:calc(100% - 40px);letter-spacing:0}
.intro-grid,.movie-grid,.profile-grid,.access-grid,.lesson-grid{gap:44px}
.intro-grid>*,.movie-grid>*,.profile-grid>*,.access-grid>*,.lesson-grid>*,.other-grid>*,.course-grid>*{min-width:0}
.intro-copy .kicker{overflow-wrap:anywhere}
.course-heading,.other-heading{gap:32px}
.course-heading>p,.other-heading>p{width:min(42%,440px)}
.course-top,.price-row,.flow-note{flex-wrap:wrap}
.price-row{gap:16px 28px}
.other-category,.course-label,.kicker{letter-spacing:.08em;line-height:1.6}
.hours-card dl>div{gap:10px;flex-wrap:wrap}
.contact-actions .button{font-size:18px}
.contact-actions small{line-height:1.7}
.footer-main,.footer-bottom{flex-wrap:wrap;gap:20px}
.footer-brand small{display:inline-block;margin-left:0}
.footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.footer-links a,.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.kicker span{color:var(--muted)}
.contact-inner .kicker span{color:#e8dfdc}
@media(max-width:1100px) and (min-width:801px){.site-nav{width:100%}.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:48px}.eyebrow.hero-origin{font-size:24px}.hero-copy{padding-inline:28px}}
@media(max-width:800px){.header-inner{flex-wrap:nowrap;gap:10px}.brand-type small{max-width:280px}.menu-toggle{flex-shrink:0}.site-nav{top:100%;font-size:18px}.hero-copy{padding-inline:20px}.course-grid,.other-grid{grid-template-columns:1fr}.course-heading>p,.other-heading>p{width:auto}.course-card>p{min-height:0}.flow-grid{grid-template-columns:1fr}.flow-note{line-height:1.8}}
@media(max-width:560px){.brand-type small{max-width:210px}.brand{gap:8px}.brand-mark{width:36px;height:36px}.visual-nav-grid{grid-template-columns:1fr}.hero-copy{padding-inline:16px}.button{max-width:100%;gap:12px;padding:16px 18px}.hero-actions{align-items:stretch}.hero-actions .button{width:100%}.course-card,.other-content{padding:26px 22px}.hours-card{padding:26px 22px}.footer-links{grid-template-columns:1fr}.intro-copy .kicker{font-size:32px}.lesson-note{padding:26px}.lesson-secondary{margin-left:0}}
/* 指定見出しの途中改行を防ぎ、各テキスト欄の幅に合わせる */
.hero-copy-inner{container-type:inline-size;max-width:680px}
.hero .hero-copy h1{font-size:min(76px,11cqi);white-space:normal;overflow-wrap:normal}
.heading-line{display:block;white-space:nowrap;overflow-wrap:normal}
.eyebrow.hero-origin{font-size:min(38px,5.4cqi);align-items:flex-start;flex-direction:column;letter-spacing:.02em}
.hero-origin .origin-description{white-space:nowrap;overflow-wrap:normal;font-size:inherit;letter-spacing:.02em}
.hero-origin .origin-badge{font-size:inherit}
.movie-grid>div:first-child{container-type:inline-size}
.movie-grid #movie-title{font-size:min(46px,9.5cqi);letter-spacing:.04em}
@media(min-width:801px){.hero{grid-template-columns:58% 42%}.hero-copy{padding-right:32px}.movie-grid{grid-template-columns:1fr 1.15fr}}
/* アクセス見出しを指定の2行に収める */
.access-grid>div:first-child{container-type:inline-size}
.access-grid #access-title{font-size:min(46px,8.5cqi);letter-spacing:.03em}

/* 講座案内の学マークを本人指定写真に差替 */
.lesson-photo{display:block;width:100%;height:auto;margin-bottom:12px}

/* 講座の短い説明を1行に表示 */
.lesson-note{container-type:inline-size}
.lesson-note .lesson-summary{white-space:nowrap;font-size:min(24px,6.5cqi);letter-spacing:0;line-height:1.8}

/* お客様の声：原文引用と区別したGoogle口コミの要約 */
.customer-voices{background:var(--cream)}.customer-voices .section-heading{max-width:780px;margin-bottom:38px}.customer-voices h2{font:500 clamp(30px,4vw,44px)/1.6 var(--serif);margin:14px 0 20px}.voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.voice-card{background:var(--paper);border-top:2px solid var(--sand);padding:30px 26px;display:flex;flex-direction:column}.voice-label{font-size:14px;letter-spacing:.04em;color:var(--muted);margin:0 0 18px}.voice-card h3{font:500 23px/1.7 var(--serif);margin:0 0 18px}.voice-card>p:not(.voice-label):not(.voice-author){margin:0 0 25px;line-height:2}.voice-card .voice-author{margin:auto 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:16px}.voice-disclosure{font-size:15px;color:var(--muted);max-width:900px;line-height:1.9;margin:28px 0 18px}.voice-date{font-size:14px;color:var(--muted);margin:12px 0 0}@media(max-width:800px){.voice-grid{grid-template-columns:1fr}.voice-card{padding:25px 22px}.voice-card h3{font-size:23px}}

.voice-avatar{margin:0 0 20px;text-align:center;align-self:center}.voice-avatar img{width:88px;height:88px;border-radius:50%}.voice-avatar figcaption{font-size:12px;color:var(--muted);margin-top:6px;letter-spacing:0}
