/*
Theme Name: RENACER Pilates
Description: RENACER専用・1ページ完結のピラティススタジオテーマ。外観 → カスタマイズ → RENACER ホームページ編集から編集できます。
Version: 1.0.0
Requires PHP: 7.4
Text Domain: renacer-pilates
*/
:root{--orange:#ffa103;--cream:#fff7e5;--ink:#342b25;--muted:#68564a;--line:rgba(52,43,37,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Noto Sans JP","Yu Gothic","YuGothic","游ゴシック体","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #075c5c;outline-offset:6px}::selection{background:var(--ink);color:var(--cream)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.5;letter-spacing:.025em}p{overflow-wrap:anywhere}.wrap{width:min(1200px,calc(100% - 100px));margin:auto}.section{padding:110px 0}.section-index{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:13px;font-weight:700;letter-spacing:.09em}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:700}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:10px}.skip:focus{top:10px}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;padding:28px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{width:170px;flex-shrink:0}.brand img{width:100%;height:auto}.desktop-nav{display:flex;gap:26px;margin-left:auto;font-size:13px;font-weight:700}.desktop-nav a{padding:10px 0}.desktop-nav a:hover{border-bottom:1px solid}.header-actions{display:flex;align-items:center;gap:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:62px;padding:14px 23px;border-radius:100px;background:var(--ink);color:var(--cream);font-size:14px;font-weight:700;line-height:1.5;border:1px solid var(--ink);transition:transform .2s,background .2s}.button>span:last-child{font-size:23px;font-weight:400}.button:hover{transform:translateY(-3px);background:#514238}.button.compact{font-size:12px;min-height:48px;padding:11px 18px;gap:18px}.menu-toggle{display:none;border:1px solid var(--ink);background:var(--ink);color:var(--cream);border-radius:50%;width:48px;height:48px;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}.menu-toggle span{width:19px;height:1px;background:currentColor}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:absolute;top:100%;right:25px;left:25px;padding:25px;background:var(--cream);border:1px solid var(--ink);border-radius:20px;box-shadow:0 12px 40px #342b251a}.mobile-menu a{display:block;padding:13px;border-bottom:1px solid var(--line)}[hidden]{display:none!important}.hero{position:relative;overflow:hidden;background:var(--orange);padding-top:200px;min-height:900px}.hero-watermark{position:absolute;top:74px;left:1.4%;font-family:Arial,sans-serif;font-size:clamp(90px,17.7vw,280px);font-weight:900;letter-spacing:-.07em;line-height:1;color:#fff1ce;white-space:nowrap;opacity:.66;pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.03fr 1fr;align-items:center;gap:35px}.hero-copy{padding:100px 0 70px;z-index:2}.hero-copy .eyebrow{margin-bottom:24px}.hero h1{font-size:clamp(34px,3.65vw,56px);font-weight:800;letter-spacing:-.02em;line-height:1.55;margin-bottom:27px}.hero-description{font-size:15px;max-width:435px;line-height:2.15;margin-bottom:35px}.text-link{display:block;width:max-content;margin-top:23px;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:4px}.text-link span{margin-left:35px}.hero-visual{align-self:stretch;min-height:570px;position:relative;margin-top:32px;margin-bottom:20px;border-radius:260px 260px 18px 18px;background:#ffd17e;border:1px solid #fff1ce;overflow:visible}.hero-photo{width:100%;height:100%;max-height:660px;object-fit:cover;border-radius:inherit}.arch-art{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:linear-gradient(140deg,#fff3cf,#ffc254)}.arch-art i{position:absolute;border:1px solid #c28225;width:78%;height:88%;border-radius:250px 250px 0 0;bottom:-4%;left:11%;transform:rotate(-13deg);opacity:.6}.arch-art i:nth-child(2){width:62%;height:78%;left:20%;transform:rotate(9deg)}.arch-art i:nth-child(3){width:42%;height:64%;left:32%;transform:rotate(24deg)}.arch-art>span{position:absolute;left:17%;top:26%;font-size:32px;writing-mode:vertical-rl;letter-spacing:.16em;line-height:1.9;font-weight:600}.photo-note{position:absolute;bottom:20px;left:22px;font-size:12px;border:1px solid #b07932;padding:3px 12px;border-radius:25px;background:#ffe2a6;color:#604620}.session-seal{position:absolute;right:-25px;bottom:70px;width:170px;height:170px;border-radius:50%;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);box-shadow:0 0 0 8px #fff7e555;color:var(--ink)}.session-seal>span{font-size:11px;letter-spacing:.05em;font-weight:600}.session-seal strong{font-family:Arial,sans-serif;font-size:66px;line-height:1.2;letter-spacing:-.06em}.session-seal small{font-size:16px;letter-spacing:0;margin-left:5px}.hero-bottom{position:relative;display:flex;justify-content:space-between;margin-top:20px;padding:26px 0 85px;font:11px Arial,sans-serif;letter-spacing:.1em}.hero-bottom a span{font-size:22px;margin-left:18px}.concept{position:relative;background:var(--cream);border-radius:50% 50% 0 0 / 90px 90px 0 0;margin-top:-55px;padding-top:100px}.concept-intro{position:relative;text-align:center;max-width:780px;margin:75px auto 80px}.small-pill{display:inline-block;padding:5px 18px;border:1px solid var(--ink);border-radius:30px;font-size:12px;font-weight:600;letter-spacing:.1em}.concept h2{font-size:clamp(30px,3.5vw,46px);margin:27px 0 30px}.concept-intro p{max-width:590px;margin:auto;line-height:2.3;font-size:15px}.sun-mark{position:absolute;right:-95px;top:100px;font-size:110px;font-weight:300;color:#cb6d00;transform:rotate(15deg)}.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature{padding:36px 30px 40px}.feature+.feature{border-left:1px solid var(--line)}.feature-top{display:flex;justify-content:space-between;align-items:center;font-family:Arial,sans-serif}.feature-top>span:first-child{font-size:14px}.feature-top>span:last-child{font-size:37px;line-height:1;color:#a45500}.feature h3{font-size:25px;margin:24px 0 20px}.feature p{font-size:14px;line-height:2;color:var(--muted)}.session{background:var(--orange);border-radius:0 0 50% 50% / 0 0 70px 70px;padding-bottom:130px}.session-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:65px}.session h2{font-size:34px}.big-sixty{font:230px/.95 Arial,sans-serif;font-weight:700;letter-spacing:-.08em;color:var(--cream);margin-top:60px}.big-sixty span{font-size:34px;letter-spacing:-.04em;margin-left:10px}.session-caption{font-size:15px;line-height:2;margin-top:25px}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:44px 1fr;gap:23px;border-bottom:1px solid #342b2538;padding:28px 0}.steps li:first-child{padding-top:0}.step-number{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid var(--ink);border-radius:50%;font:14px Arial,sans-serif}.steps h3{font-size:24px;margin:6px 0 10px}.steps p{font-size:14px;line-height:2}.steps .eyebrow{font-size:10px}.team-title{display:flex;justify-content:space-between;align-items:flex-end;margin:60px 0}.team-title h2{font-size:42px}.team-title p{font-size:14px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.person:nth-child(2){padding-top:115px}.portrait{position:relative;aspect-ratio:1.15;overflow:hidden;border-radius:160px 160px 12px 12px;background:#e6d6ba;display:flex;justify-content:center;align-items:center}.person:nth-child(2) .portrait{background:#eadbc8;border-radius:12px 160px 12px 12px}.portrait:before{content:"";position:absolute;inset:25px;border:1px solid #342b2529;border-radius:inherit;pointer-events:none}.portrait img{width:100%;height:100%;object-fit:cover}.portrait-initial{font:150px Arial,sans-serif;letter-spacing:-.07em;color:#80694d80}.portrait-note{position:absolute;bottom:30px;font-size:12px;color:#66513a}.person-index{position:absolute;top:24px;left:25px;font:12px Arial,sans-serif}.role{margin:27px 0 7px;color:#956000;letter-spacing:.13em}.person h3{font:54px Arial,sans-serif;font-weight:500;margin-bottom:20px;letter-spacing:-.04em}.person>p:last-child{font-size:15px;line-height:2.1}.trial{position:relative;overflow:hidden;text-align:center;background:var(--orange);padding-bottom:165px;border-radius:50% 50% 0 0 / 65px 65px 0 0}.trial-inner{position:relative;z-index:1;max-width:700px}.trial h2{font-size:43px;margin:25px 0}.trial p{font-size:15px;max-width:580px;margin:0 auto 32px;line-height:2.1}.button.large{min-width:325px;padding:17px 28px}.unavailable{cursor:default}.unavailable:hover{transform:none;background:var(--ink)}.unavailable small{font-size:12px;font-weight:400;border:1px solid #fff7e55c;border-radius:20px;padding:3px 10px}.trial .booking-note{font-size:12px;margin:15px 0 0}.trial-word{position:absolute;bottom:-32px;left:0;width:100%;font:bold clamp(70px,13vw,200px)/1 Arial,sans-serif;letter-spacing:-.055em;color:#fff1ce;opacity:.65;white-space:nowrap}.trial .trial-price{font-size:28px;font-weight:700}.price-details{white-space:normal;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px;margin:25px auto;max-width:500px}.access h2{margin:40px 0 25px;font-size:30px}.access .button{margin-top:20px}.footer{background:var(--ink);color:var(--cream);padding:75px 0 28px}.footer-top{display:flex;justify-content:space-between;gap:60px;padding-bottom:60px}.footer-top img{width:330px;height:auto}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:16px 50px;font-size:13px}.footer a:hover{opacity:.7}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #fff7e533;padding-top:25px;font-size:12px;align-items:center}.footer-bottom small{font-size:10px}.mobile-booking{display:none}.generic-page{padding-top:170px;padding-bottom:100px;min-height:65vh}body:not(.home){background:var(--cream)}body:not(.home) .site-header{background:var(--orange)}
@media(min-width:1600px){.hero{min-height:1000px}.hero-grid{gap:70px}.hero-copy{padding-top:150px}}
@media(max-width:1150px){.desktop-nav{gap:15px;font-size:12px}.site-header{padding:25px}.brand{width:150px}.wrap{width:calc(100% - 70px)}.sun-mark{right:-10px;top:-15px;font-size:65px}.session-grid{gap:45px}.feature{padding:28px 20px}.team-grid{gap:55px}.hero{min-height:840px}.hero-visual{min-height:530px}.session-seal{right:-10px;width:140px;height:140px}.session-seal strong{font-size:53px}.hero-copy{padding-top:65px}.hero h1{font-size:38px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:flex}.site-header{padding:22px 30px}.hero{padding-top:170px}.hero-watermark{top:95px}.hero-grid{gap:22px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:32px}.hero-copy{padding:55px 0}.hero-description{font-size:14px}.hero-visual{min-height:470px}.arch-art>span{font-size:26px}.session-seal{bottom:60px;width:120px;height:120px}.session-seal strong{font-size:45px}.session-seal>span{font-size:9px}.feature h3{font-size:21px}.team-title h2{font-size:35px}.session h2{font-size:27px}.big-sixty{font-size:170px}.footer-top img{width:260px}.footer nav{gap:12px 25px}.section{padding:85px 0}.concept{padding-top:90px}.hero-bottom{padding-bottom:90px}.trial{padding-bottom:135px}}
@media(max-width:640px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 42px)}.site-header{padding:20px 21px;gap:12px}.brand{width:137px}.header-actions>.button{display:none}.menu-toggle{width:43px;height:43px}.hero{padding-top:123px;min-height:0}.hero-watermark{top:96px;font-size:17.8vw;left:1.5%;opacity:.6}.hero-grid{display:flex;flex-direction:column;gap:0;align-items:stretch}.hero-copy{padding:50px 0 35px}.hero-copy .eyebrow{font-size:10px;margin-bottom:18px;letter-spacing:.055em}.hero h1{font-size:clamp(28px,7.7vw,40px);line-height:1.5;margin-bottom:22px}.hero-description{font-size:14px;line-height:2.05;max-width:100%;margin-bottom:25px}.hero .button{min-height:56px;font-size:13px}.text-link{font-size:12px;margin-top:17px}.hero-visual{height:340px;min-height:340px;margin:0 13px 15px 25px;border-radius:170px 170px 12px 12px}.arch-art>span{font-size:26px;top:17%;left:17%}.photo-note{font-size:10px;left:15px;bottom:14px}.session-seal{right:-15px;bottom:40px;width:118px;height:118px}.hero-bottom{margin-top:0;padding:12px 0 65px;font-size:9px;letter-spacing:.04em}.hero-bottom a{font-size:8px}.hero-bottom a span{margin-left:5px;font-size:16px}.concept{margin-top:-30px;border-radius:50% 50% 0 0 / 35px 35px 0 0;padding-top:58px}.section{padding-bottom:65px}.section-index{font-size:10px;padding-top:15px;letter-spacing:.05em}.concept-intro{margin:45px auto 40px}.small-pill{font-size:10px;padding:5px 13px}.concept h2{font-size:clamp(23px,6.2vw,31px);margin:20px 0 23px}.concept-intro p{font-size:14px;line-height:2.15;text-align:left}.sun-mark{display:none}.features{display:block}.feature{padding:25px 5px 28px}.feature+.feature{border-left:0;border-top:1px solid var(--line)}.feature-top{float:right;width:85px;gap:18px}.feature-top>span:last-child{font-size:29px}.feature h3{margin:0 100px 15px 0;font-size:22px}.feature p{font-size:14px}.session{padding-top:50px;padding-bottom:70px;border-radius:0 0 50% 50% / 0 0 30px 30px}.session-grid{display:block;margin-top:38px}.session h2{font-size:27px}.big-sixty{font-size:140px;margin-top:25px}.big-sixty span{font-size:26px}.session-caption{margin:15px 0 35px;font-size:13px}.steps li{gap:18px;padding:24px 0}.steps h3{font-size:22px}.steps p{font-size:14px}.instructors{padding-top:60px}.team-title{display:block;margin:35px 0}.team-title h2{font-size:32px}.team-title p{margin-top:18px;font-size:13px}.team-grid{display:block}.person:nth-child(2){padding-top:45px}.portrait{aspect-ratio:1.1;border-radius:130px 130px 10px 10px}.person:nth-child(2) .portrait{border-radius:10px 130px 10px 10px}.person h3{font-size:44px;margin-bottom:15px}.person>p:last-child{font-size:14px}.role{font-size:10px;margin-top:22px}.trial{padding-top:65px;padding-bottom:95px;border-radius:50% 50% 0 0 / 30px 30px 0 0}.trial h2{font-size:28px;margin:24px 0}.trial p{font-size:14px;text-align:left;margin-bottom:25px}.button.large{min-width:0;width:100%;gap:15px;padding:15px 20px}.trial .booking-note{text-align:center;font-size:11px}.trial-word{font-size:15vw;bottom:-10px}.footer{padding:50px 0 105px}.footer-top{display:block;padding-bottom:35px}.footer-top img{width:240px}.footer nav{margin-top:35px;font-size:12px;gap:12px 20px}.footer-bottom{display:flex;flex-wrap:wrap;gap:17px;font-size:11px}.footer-bottom small{order:3;width:100%;font-size:9px}.footer-bottom>a{margin-left:auto}.mobile-booking{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff7e5f5;padding:9px 16px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--line);backdrop-filter:blur(12px)}.mobile-booking .button{width:100%;min-height:49px;padding:9px 20px;font-size:13px}.access h2{font-size:23px}.generic-page{padding-top:140px}.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:901px){.admin-bar .site-header{top:32px}.hero{padding-top:170px}.hero-copy{padding-top:65px}.hero-visual{min-height:550px}}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
/* Film, photography and neutral palette */
:root{--cream:#fff;--soft-gray:#f1f2f2;--ink:#292c2d;--muted:#606566;--line:rgba(41,44,45,.18)}
.hero.hero-film{min-height:820px;height:min(960px,100svh);padding:0;background:#555b5e;color:#fff;position:relative;display:flex;flex-direction:column;justify-content:flex-end}.hero-backdrop{position:absolute;inset:0;overflow:hidden}.hero-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,23,26,.8),rgba(18,23,26,.32) 65%,rgba(18,23,26,.15)),linear-gradient(0deg,#12171a55,transparent 40%);pointer-events:none}.film-poster,.hero-backdrop video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-backdrop video{opacity:0;transition:opacity .5s}.hero-backdrop video.is-playing{opacity:1}.film-placeholder{position:absolute;inset:0;background:linear-gradient(110deg,#91989a,#c6cbcc 60%,#828c90);overflow:hidden}.film-placeholder>span{position:absolute;top:15%;left:7%;font:bold 18vw/1 Arial,sans-serif;letter-spacing:-.07em;color:#ffffff20}.film-placeholder i{position:absolute;height:130%;width:30%;right:8%;top:5%;border:1px solid #ffffff50;transform:rotate(28deg);border-radius:48% 48% 0 0}.film-placeholder i:last-child{right:0;width:52%;top:18%;transform:rotate(-18deg)}.film-content{position:relative;z-index:1;padding:185px 0 65px}.hero-film h1{font-size:clamp(35px,4.7vw,68px);line-height:1.45;letter-spacing:.015em;margin:24px 0 26px}.hero-film .hero-description{max-width:510px;font-size:15px;line-height:2.1;margin-bottom:30px}.hero-film .button{background:var(--orange);border-color:var(--orange);color:#292c2d}.hero-film .button:hover{background:#ffb834}.hero-film .text-link{border-color:#ffffff90;color:#fff}.film-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;z-index:1;padding-bottom:40px;font:11px Arial,sans-serif;letter-spacing:.09em}.film-bottom>div{display:flex;align-items:center;gap:20px}.film-bottom a{font-size:26px}.film-pending{font:12px/1.6 sans-serif;letter-spacing:.03em;color:#fff}.film-control{border:1px solid #ffffff80;border-radius:30px;color:#fff;background:#181d2070;padding:9px 17px;min-height:44px;cursor:pointer;font-size:12px}.video-status{font-size:12px;max-width:260px;line-height:1.6}.site-header{color:#fff}.site-header .button{background:#fff;color:var(--ink);border-color:#fff}.site-header .button:hover{background:#eee}.site-header .menu-toggle{background:#ffffff1f;border-color:#ffffff9c;color:#fff}.mobile-menu{color:var(--ink)}.desktop-nav{gap:19px;font-size:12px}.brand{width:150px}.site-header{padding-left:32px;padding-right:32px}.header-actions .button.compact{gap:14px}.concept{border-radius:0;margin-top:0;background:#fff;padding-top:85px}.small-pill{border-color:#b0b5b6}.sun-mark{color:var(--orange)}.features{background:#fff}.feature h3{font-size:23px}.feature-top>span:last-child{color:#9a6100}.studio-gallery{background:var(--soft-gray);padding-top:80px}.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;margin:55px 0 45px}.gallery-heading h2{font-size:42px}.gallery-tag{font-size:11px;letter-spacing:.12em;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:26px}.editorial-photo{margin:0;position:relative;overflow:hidden;min-width:0;background:#d8dddd;aspect-ratio:1.6;border-radius:8px}.editorial-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.editorial-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px 20px 15px;color:#fff;font-size:12px;background:linear-gradient(transparent,#10181caa)}.editorial-photo.is-placeholder figcaption{color:#51595b;background:transparent;padding-top:15px}.photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0e4e5,#c9cfd1);color:#879195}.photo-placeholder>span{font:bold clamp(25px,4vw,58px)/1 Arial,sans-serif;letter-spacing:-.04em;color:#96a0a3}.photo-placeholder i{position:absolute;inset:20px;border:1px solid #ffffff85;border-radius:3px}.gallery-photo-1{grid-column:1/-1;aspect-ratio:2.3}.gallery-photo-2{aspect-ratio:1.4}.gallery-photo-3{aspect-ratio:1.04}.session{background:#fff;border-radius:0;padding-bottom:100px}.session-photo-wrap{position:relative;margin-top:35px}.session-photo-wrap .editorial-photo{aspect-ratio:1.35}.photo-sixty{position:absolute;top:-15px;right:15px;background:var(--orange);width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:50px/1 Arial,sans-serif;letter-spacing:-.055em}.photo-sixty small{font-size:13px;letter-spacing:0;margin-left:3px}.steps li{border-color:var(--line)}.step-number{background:var(--soft-gray);border:0}.session-caption{color:var(--muted)}.instructors{background:var(--soft-gray)}.portrait,.person:nth-child(2) .portrait{background:#dce0e1;border-radius:8px}.portrait-initial{color:#99a2a5}.portrait-note{color:#5b6568}.role{color:#6b7477}.journey{background:#fff}.journey-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin:50px 0 45px}.journey h2{font-size:40px}.draft-note{font-size:12px;color:#63696b;max-width:300px;border-left:3px solid var(--orange);padding-left:15px}.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;list-style:none;margin:0;padding:0}.journey-steps li{position:relative;border-top:1px solid var(--line);padding-top:28px}.journey-steps li:not(:last-child):after{content:"→";position:absolute;top:32px;right:0;color:#777;font-size:22px}.journey-num{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--orange);font:16px Arial,sans-serif}.journey h3{font-size:22px;margin:22px 0 15px}.journey-steps p{font-size:14px;line-height:2}.journey-steps .pending-copy{font-size:12px;color:#777}.journey>.wrap>.text-link{margin-top:45px}.trial{border-radius:0;background:var(--orange)}.trial-word{color:#ffffff70}.footer{background:#292c2d}.mobile-booking{background:#fffffff5}.mobile-booking .button{background:var(--orange);color:var(--ink);border-color:var(--orange)}body:not(.home) .site-header{background:#555b5e}
@media(max-width:1150px){.desktop-nav{display:none}.menu-toggle{display:flex}.film-content{padding-top:175px}.hero.hero-film{min-height:780px}}
@media(max-width:900px){.gallery-heading h2,.journey h2{font-size:34px}.journey-steps{gap:18px}.journey h3{font-size:19px}.journey-heading{align-items:flex-start;flex-direction:column;gap:20px}.hero.hero-film{min-height:780px}}
@media(max-width:640px){.site-header{padding:20px 21px}.brand{width:137px}.hero.hero-film{height:auto;min-height:760px}.film-content{padding:180px 0 45px}.hero-film h1{font-size:clamp(27px,7.7vw,37px);margin:24px 0}.film-content>.eyebrow{font-size:10px;letter-spacing:.025em}.hero-film .hero-description{font-size:14px;line-height:2.1;margin-bottom:26px}.film-bottom{padding-bottom:45px;align-items:flex-start;gap:18px}.film-bottom>span{font-size:9px;max-width:130px;line-height:1.6}.film-bottom>div{gap:14px;flex-wrap:wrap;justify-content:flex-end}.film-pending{font-size:10px;max-width:145px}.video-status{font-size:10px;max-width:160px}.film-control{font-size:11px;padding:8px 12px}.film-placeholder>span{top:21%;font-size:21vw;left:2%}.film-placeholder i{right:-10%;width:90%;top:20%;height:100%}.concept{padding-top:55px}.studio-gallery{padding-top:55px}.gallery-heading{display:block;margin:35px 0 30px}.gallery-heading h2{font-size:30px}.gallery-tag{display:block;margin-top:18px;font-size:10px}.gallery-grid{gap:15px;grid-template-columns:1fr 1fr}.gallery-photo-1{aspect-ratio:1.4}.gallery-photo-2,.gallery-photo-3{aspect-ratio:.8}.photo-placeholder>span{font-size:22px}.gallery-photo-1 .photo-placeholder>span{font-size:40px}.editorial-photo figcaption{font-size:10px;padding:24px 12px 12px}.photo-placeholder i{inset:12px}.session{padding-bottom:65px}.session-photo-wrap{margin:30px 0 20px}.session-photo-wrap .editorial-photo{aspect-ratio:1.35}.photo-sixty{width:80px;height:80px;font-size:39px}.photo-sixty small{font-size:11px}.portrait,.person:nth-child(2) .portrait{border-radius:8px}.journey{padding-top:55px}.journey-heading{margin:35px 0}.journey h2{font-size:29px}.journey-steps{display:block}.journey-steps li{padding:25px 0 25px 68px;min-height:125px}.journey-num{position:absolute;top:25px;left:0;width:46px;height:46px}.journey h3{margin:0 0 10px;font-size:22px}.journey-steps li:not(:last-child):after{content:"↓";top:auto;bottom:-16px;left:18px;right:auto;z-index:1;background:#fff;padding:0 3px}.journey>.wrap>.text-link{margin-top:20px}.trial{padding-bottom:95px}}
/* Orange-led photography edition */
:root{--cream:#fff8e9;--ink:#332c26;--muted:#65584d}
body{background:var(--cream)}.hero.hero-film{background:var(--orange)}.film-placeholder{background:linear-gradient(120deg,#ffa103,#ffb839)}.film-placeholder i{display:none}.film-placeholder>span{color:#fff5db25}.hero-backdrop:after{background:linear-gradient(90deg,#4528008c,#45280020 80%),linear-gradient(0deg,#51300738,transparent 50%)}.hero-film .button{background:var(--cream);border-color:var(--cream);color:var(--ink)}.hero-film .button:hover{background:#fff}.film-bottom .film-scroll{font-size:11px;letter-spacing:.1em}.brand-meaning{font-size:13px;letter-spacing:.08em;margin-bottom:25px!important;color:#7b4b00}.concept{background:var(--cream)}.concept-intro{margin-bottom:65px}.features{background:transparent;border:0;gap:28px}.feature{padding:0 0 20px}.feature+.feature{border-left:0}.feature .feature-photo{aspect-ratio:1.4;margin-bottom:25px;border-radius:12px}.feature .feature-top{float:none;font-size:13px}.feature h3{margin:15px 0 18px}.feature .editorial-photo figcaption{font-size:11px}.editorial-photo.is-placeholder figcaption{color:#5f5b54}.photo-placeholder{background:#e5e0d5}.photo-placeholder:after{content:"";position:absolute;inset:16px;border:1px solid #ffffff80;border-radius:3px}.studio-gallery{background:var(--orange)}.studio-gallery .section-index{border-color:#332c2640}.gallery-tag{color:#624413}.gallery-grid{gap:25px}.gallery-photo-1{border-radius:18px}.gallery-photo-2,.gallery-photo-3{border-radius:12px}.session{background:var(--cream)}.instructors{background:var(--orange)}.portrait,.person:nth-child(2) .portrait{background:#e8dfcf;border-radius:12px}.person>p:last-of-type{font-size:15px;line-height:2.1}.role{color:#5a3f20}.instagram-profile{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #332c2640;padding-top:18px;margin-top:25px;font-size:12px}.instagram-profile span{font-size:14px;font-weight:600}.instagram-profile small{font-size:10px;margin-left:auto}.instagram-profile:hover span{text-decoration:underline}.recommended{background:var(--orange)}.recommend-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.recommend-copy h2{font-size:36px;margin:20px 0 35px}.recommend-list{list-style:none;margin:0;padding:0;border-top:1px solid #332c2640}.recommend-list li{font-size:17px;padding:24px 0;border-bottom:1px solid #332c2640;line-height:1.9}.recommend-photo{aspect-ratio:.9;border-radius:150px 150px 12px 12px}.recommended+.studio-gallery{padding-top:30px}.journey{background:var(--cream)}.journey-steps li:after{display:none!important}.instagram-section{background:#fff}.instagram-heading h2{font-size:36px;margin:16px 0 40px}.instagram-accounts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.instagram-accounts a{border-top:3px solid var(--orange);padding:25px 0;display:flex;flex-direction:column;gap:12px}.instagram-accounts a>span{font-size:14px}.instagram-accounts strong{font:500 24px/1.5 Arial,sans-serif;overflow-wrap:anywhere}.instagram-accounts small{font-size:11px;color:var(--muted)}.instagram-accounts a:hover strong{text-decoration:underline}.trial{background:var(--orange)}.button{justify-content:center}.unavailable{gap:25px}.button>span:last-child{font-size:inherit}.footer{background:#332c26}.mobile-booking .button{background:var(--orange);color:var(--ink)}
@media(max-width:900px){.recommend-grid{gap:35px}.recommend-copy h2{font-size:29px}.recommend-list li{font-size:15px}.instagram-accounts strong{font-size:20px}.features{gap:20px}}
@media(max-width:640px){.brand-meaning{font-size:11px;letter-spacing:.035em}.features{display:block}.feature{padding:0 0 32px}.feature+.feature{padding-top:25px;border-top:1px solid var(--line)}.feature .feature-photo{margin-bottom:20px}.feature h3{margin:12px 0 16px;font-size:24px}.feature .feature-top{width:auto;float:none}.recommend-grid{display:flex;flex-direction:column;gap:35px}.recommend-copy{width:100%}.recommend-copy h2{font-size:27px;margin:20px 0 25px}.recommend-list li{font-size:15px;padding:20px 0}.recommend-photo{width:100%;aspect-ratio:1.15;border-radius:100px 100px 10px 10px}.recommended{padding-top:55px}.instagram-profile{gap:10px}.instagram-profile small{font-size:9px}.person>p:last-of-type{font-size:14px}.instagram-heading h2{font-size:28px;margin-bottom:30px}.instagram-accounts{display:block}.instagram-accounts a{padding:22px 0;gap:8px}.instagram-accounts strong{font-size:25px}.instagram-accounts a+a{margin-top:10px}.instagram-section{padding-top:55px}.film-content{padding-top:180px}.film-bottom .film-scroll{font-size:9px}}
.hero-film:has(.film-placeholder):not(:has(video)){color:var(--ink)}
.hero-film:has(.film-placeholder):not(:has(video)) .hero-backdrop:after{background:none}
.hero-film:has(.film-placeholder):not(:has(video)) .text-link{color:var(--ink);border-color:var(--ink)}
.hero-film:has(.film-placeholder):not(:has(video)) .film-pending{color:var(--ink)}

/* Hero anchored low, and a dedicated LINE first-session invitation. */
.hero.hero-film{height:100svh;min-height:680px}
.hero-film .film-content{flex:none;margin: auto auto 0;padding:150px 0 25px}
.hero-film .hero-description{margin-bottom:0}
.hero-film .film-bottom{flex:none;margin:0 auto;padding-bottom:32px}
.instagram-heading{margin-bottom:35px}
.trial h2.trial-headline{font:500 clamp(52px,8vw,112px)/1.05 Arial,sans-serif;letter-spacing:-.055em;margin:30px 0}
.trial .line-button{background:#fff8e9;color:#332c26;border:1px solid #fff8e9;gap:18px;font-size:15px;min-width:340px}
.trial .line-button:hover{background:#fff;color:#332c26}
.trial .line-button.is-pending{cursor:default;box-shadow:none;transform:none}
.line-button small{font-size:10px;border:1px solid #332c2633;border-radius:20px;padding:3px 10px;white-space:nowrap}
.trial-line-embed{margin:30px auto 0;max-width:100%;overflow-wrap:anywhere}.trial-line-embed img{max-width:100%;height:auto;margin:auto}
@media(max-width:640px){
 .hero.hero-film{height:100svh;min-height:740px}
 .hero-film .film-content{margin:auto auto 0;padding:145px 0 22px}
 .hero-film .film-bottom{margin:0 auto;padding-bottom:32px}
 .hero-film .hero-description{margin-bottom:0}
 .trial .line-button{width:100%;min-width:0;font-size:13px;padding:16px 13px;gap:10px}
 .trial h2.trial-headline{font-size:clamp(45px,12vw,76px)}
}

/* Final typography for the video hero and first-session heading. */
.trial h2.trial-headline{font-weight:700}
.hero-film .film-content h1,.hero-film .film-content .hero-description{color:#fff}

/* Japanese type: Yu Gothic, matching the reference's family.
   The reference's Morisawa webfont requires a site-specific delivery setup. */
body{font-weight:500}
h1,h2,h3{font-weight:700}

/* Free Japanese webfont preview: Black headings with readable body copy. */
body{font-weight:400}
.hero-film h1,.section h2:not(.trial-headline),.feature h3,.steps h3,.journey h3,.access h2{font-weight:900}
/* Pricing — editorial cards in the studio palette. */
.pricing{background:var(--cream)}.pricing-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:50px 0}.pricing .pricing-heading h2{font:900 clamp(48px,6.5vw,88px)/.98 Arial,sans-serif;letter-spacing:-.055em}.pricing-heading h2 span{color:#b76b00}.pricing-heading>p{font-size:17px;line-height:1.9;margin-bottom:5px;font-weight:700}
.pricing-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}.price-card{border:1px solid #332c2620;border-radius:26px;background:#fff;padding:36px 38px;min-width:0}.price-card header{margin-bottom:30px}.price-kicker{font-size:11px;letter-spacing:.08em}.price-card h3{font:800 clamp(29px,3.5vw,45px)/1.1 Arial,sans-serif;letter-spacing:-.045em;margin-top:14px}.price-monthly{background:#ffdc9f}.price-trial{background:var(--orange)}.price-list{margin:0}.price-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;border-top:1px solid #332c2626}.price-list dt{font-size:14px}.price-list dt strong{font:700 25px/1 Arial,sans-serif}.price-list dt span{display:block;margin-top:8px;font-size:11px;color:var(--muted)}.price-list dd{margin:0;font:700 clamp(28px,3vw,40px)/1.2 Arial,sans-serif;letter-spacing:-.03em;white-space:nowrap}.price-list dd small,.price-single-row strong small{font-size:.5em;margin-right:6px;font-weight:500}.price-single-row{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-top:1px solid #332c2626;padding-top:24px}.price-single-row>span{font:700 30px/1.2 Arial,sans-serif}.price-single-row>span small{font:500 14px sans-serif}.price-single-row>strong{font:700 clamp(42px,5vw,64px)/1 Arial,sans-serif;letter-spacing:-.04em}.price-caption{font-size:12px;line-height:1.9;margin-top:24px}.price-line-link{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 22px;border-radius:50px;background:var(--cream);margin-top:28px;font-size:13px;font-weight:700;transition:background .2s,transform .2s}.price-line-link:hover{background:white;transform:translateY(-3px)}.price-line-link span{font-size:22px}.pricing-notes{display:grid;grid-template-columns:1fr 2fr;gap:25px;border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.pricing-notes h3{font:700 18px/1.4 Arial,sans-serif;letter-spacing:.04em}.pricing-notes h3 span{display:block;font:400 11px/1.5 "Noto Sans JP",sans-serif;margin-top:8px}.pricing-notes p{font-size:12px;line-height:2}
@media(max-width:640px){.pricing-heading{display:block;margin:35px 0 30px}.pricing .pricing-heading h2{font-size:clamp(39px,11.5vw,65px)}.pricing-heading>p{font-size:14px;margin-top:25px}.pricing-grid{grid-template-columns:1fr;gap:18px}.price-card{padding:28px 25px;border-radius:20px}.price-card h3{font-size:36px}.price-list dd{font-size:34px}.price-single-row>strong{font-size:54px}.pricing-notes{grid-template-columns:1fr;gap:18px}.pricing-notes p{font-size:11px}}

/* Payment brand images retain their original artwork and proportions. */
.payment-logos{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.payment-logos figure{margin:0;flex:0 1 240px;max-width:100%;background:#fff;border:1px solid #332c2614;border-radius:12px;overflow:hidden}
.payment-logos img{display:block;width:100%;height:auto}
@media(max-width:640px){.payment-logos{gap:10px}.payment-logos figure{flex-basis:calc(50% - 5px)}}
