:root{--ink:#272329;--muted:#716b70;--gold:#b19360;--pink:#f4e8ed;--line:#e4dfe2;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h2{font:500 clamp(27px,2.7vw,39px)/1.65 var(--serif);letter-spacing:.08em}h3{font-weight:500}.header{height:100px;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.brand{font:500 29px/1.15 Georgia,serif;letter-spacing:-1px;white-space:nowrap}.brand span{display:block;font:10px/1.8 sans-serif;letter-spacing:3px;margin-top:6px}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{transition:color .2s}.header nav a:hover{color:var(--gold)}.header-cta{padding:11px 23px;border:1px solid var(--ink);font-size:14px}.hero{max-width:1500px;margin:auto;display:grid;grid-template-columns:1fr 1.03fr;min-height:680px;padding:0 5.4%;gap:5%}.hero-copy{padding:63px 0 28px}.eyebrow{font:12px/1.7 sans-serif;color:var(--gold);letter-spacing:2.8px;margin-bottom:22px}.hero h1{font:500 clamp(44px,4.5vw,67px)/1.5 var(--serif);letter-spacing:.12em}.hero h1 span{color:#967850}.hero-description{margin:22px 0 27px;color:var(--muted);font-size:15px;line-height:2}.button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:15px 31px;font-size:14px;letter-spacing:.05em;transition:background .2s,transform .2s}.dark{background:var(--ink);color:#fff}.dark:hover{background:#5b4350;transform:translateY(-2px)}.hero-foot{font:10px/1.8 sans-serif;letter-spacing:1.8px;margin-top:37px;color:var(--muted)}.hero-foot span{margin-left:24px}.hero-visual{position:relative;margin-top:26px;background:#e3e4e5;overflow:hidden}.hero-visual img{height:100%;object-position:50% 28%;max-height:710px}.image-caption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:end;justify-content:space-between;padding:37px 27px 27px;color:white;background:linear-gradient(transparent,rgba(24,22,24,.6))}.image-caption span:first-child{font:12px/1.7 sans-serif;letter-spacing:2px}.image-caption span:last-child{font:italic 29px Georgia}.vertical-label{position:absolute;right:12px;top:23px;writing-mode:vertical-rl;font:10px sans-serif;letter-spacing:2px;color:#4a4345}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:30px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:24px;margin-top:35px;font:italic clamp(19px,2vw,27px) Georgia;color:#8e7856;overflow:hidden;white-space:nowrap}.ribbon span:nth-child(2),.ribbon span:nth-child(4){font-size:19px}.section{padding:96px 7.8%;max-width:1500px;margin:auto}.intro{display:grid;grid-template-columns:1fr 2.1fr .7fr;align-items:start;position:relative}.intro h2{font-size:32px}.intro p:not(.eyebrow){margin-top:25px;color:var(--muted);line-height:2.2;font-size:15px}.intro-mark{font:italic 120px/1 Georgia;color:#f0e7ec;position:relative;padding-top:35px}.intro-mark span{margin-left:-35px;position:relative;top:32px}.cast-section{background:#fbf9fa}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{font-size:14px;color:var(--muted);line-height:2}.cast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.portrait{padding:0;border:0;background:#e9e5e6;position:relative;width:100%;cursor:pointer;display:block;overflow:hidden;aspect-ratio:3/4}.portrait img{height:100%;transition:transform .7s}.portrait:hover img{transform:scale(1.035)}.portrait-number{position:absolute;top:18px;left:20px;font:italic 28px Georgia;color:white;text-shadow:0 1px 8px #444}.portrait-link{position:absolute;bottom:0;left:0;right:0;padding:45px 18px 18px;color:#fff;text-align:right;font-size:13px;background:linear-gradient(transparent,rgba(0,0,0,.45))}.cast-info{padding-top:23px;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.cast-info h3{font:500 25px var(--serif)}.cast-info h3 span{font:11px sans-serif;letter-spacing:2px;margin-left:9px;color:var(--muted)}.cast-info p{font-size:13px;color:var(--muted);margin-top:12px}.tag{align-self:start;font-size:12px;white-space:nowrap;color:#785d70;border:1px solid #d4c4ce;padding:3px 8px}.small-note{font-size:12px;color:var(--muted);margin-top:28px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.plan-grid article{padding:38px 29px 38px 0}.plan-grid article+article{border-left:1px solid var(--line);padding-left:29px}.plan-index{font:11px sans-serif;letter-spacing:2px;color:var(--gold)}.plan-grid h3{font:500 24px var(--serif);margin:24px 0 18px}.plan-grid p{font-size:14px;color:var(--muted);line-height:2}.plan-place{display:block;font-size:11px;letter-spacing:1px;margin-top:28px;color:#827580}.price-section{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1.25fr;gap:12%}.price-section>div>p:not(.eyebrow){font-size:14px;color:#cbc5ca;margin-top:24px}.price-panel{padding-top:9px}.price-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #514950;padding:20px 0;gap:20px}.price-row>span{font-size:14px;color:#d8d0d6}.price-row strong{font:500 26px var(--serif)}.price-panel>p{font-size:13px!important;line-height:2}.price-status{margin-top:27px;font-size:12px;color:#d9c39d}.price-status span{font-size:10px;letter-spacing:1px;display:block;margin-bottom:5px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:45px}.steps article{border-top:1px solid var(--line);padding-top:26px}.steps article>span{font:italic 40px Georgia;color:#b99b70}.steps h3{font:500 22px var(--serif);margin:18px 0 13px}.steps p{font-size:14px;color:var(--muted)}.faq-section{padding-top:20px;display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 0;font-size:15px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:20px;color:var(--gold);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{font-size:14px;color:var(--muted);padding:0 24px 22px 0}.reservation{background:var(--pink);text-align:center;position:relative}.reservation h2{font-size:clamp(35px,3.8vw,54px)}.reservation>p:not(.eyebrow){margin-top:20px;font-size:14px;color:#6f5866}.coming-soon{border:1px solid #927283;display:inline-flex;justify-content:center;padding:16px 70px;letter-spacing:.15em;margin-top:32px;background:#ffffff55;font-size:16px}.reservation .reservation-note{font-size:12px!important;margin-top:15px!important}.text-link{display:inline-block;border-bottom:1px solid #977888;font-size:13px;margin-top:25px}.text-link:hover{color:#977888}footer{padding:45px 5.4%;display:flex;align-items:center;justify-content:space-between;gap:24px}footer p{font-size:14px;color:var(--muted)}footer>span{font:11px sans-serif;color:var(--muted)}dialog{max-width:850px;width:calc(100% - 36px);border:0;padding:0;color:var(--ink);max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #0004}dialog::backdrop{background:#211a22aa;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:10px;width:44px;height:44px;z-index:1;border:0;background:#fff;color:var(--ink);font-size:28px;cursor:pointer}.profile-layout{display:grid;grid-template-columns:1fr 1fr}.profile-layout>img{height:100%;min-height:500px;object-position:center top}.profile-text{padding:60px 35px 35px}.profile-text h2{font-size:36px}.profile-text>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:18px}.profile-text h3{font-size:15px;margin-top:28px}.profile-text .button{margin-top:28px;width:100%}.profile-text .profile-tagline{color:#9a7c58!important;font-family:var(--serif);font-size:19px!important}.profile-text .small-note{font-size:12px!important}
@media(min-width:1500px){.cast-section,.price-section,.reservation{max-width:none;padding-left:calc((100vw - 1266px)/2);padding-right:calc((100vw - 1266px)/2)}}
@media(max-width:1000px){.header nav{gap:18px}.header nav a:nth-last-child(1){display:none}.hero{gap:5%;min-height:640px}.hero h1{font-size:49px}.hero-copy{padding-top:45px}.section{padding:75px 6%}.intro{grid-template-columns:1fr 2fr}.intro-mark{display:none}.cast-grid{gap:20px}.cast-info h3{font-size:22px}.cast-info .tag{margin-top:6px}.faq-section{padding-top:20px}.price-section{gap:7%}.section-heading>p{max-width:240px}}
@media(max-width:650px){html{scroll-padding-top:24px}.header{height:78px;padding:0 6%;gap:15px}.brand{font-size:26px}.brand span{font-size:9px;letter-spacing:2px}.header nav{display:none}.header-cta{padding:9px 12px;font-size:12px}.hero{padding:0;min-height:0;display:flex;flex-direction:column;gap:0;position:relative}.hero-copy{padding:43px 7% 32px;position:relative;z-index:1}.hero h1{font-size:42px;line-height:1.5;letter-spacing:.1em}.hero h1 br:last-of-type{display:none}.hero .eyebrow{font-size:11px;margin-bottom:20px}.hero-description{margin-top:22px;font-size:14px}.hero .button{padding:15px 24px;min-height:52px;font-size:13px}.hero-foot{margin-top:28px;font-size:9px;letter-spacing:1.1px}.hero-visual{margin:0 6%;height:430px}.hero-visual img{object-position:50% 27%}.image-caption{padding:30px 20px 20px}.image-caption span:last-child{font-size:26px}.ribbon{margin-top:25px;padding:20px;gap:26px;justify-content:flex-start;font-size:22px}.ribbon span:nth-child(n+4){display:none}.section{padding:62px 7%}.eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:15px}h2{font-size:28px}.intro{display:block}.intro h2{font-size:28px}.intro p:not(.eyebrow){font-size:14px}.desktop{display:none}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:18px;max-width:none;font-size:13px}.cast-grid{grid-template-columns:1fr;gap:35px}.portrait{aspect-ratio:4/4.5}.portrait img{object-position:center 25%}.cast-info{align-items:center}.cast-info h3{font-size:26px}.cast-info .tag{margin:0}.cast-info p{font-size:13px}.cast-info h3 span{font-size:11px}.plan-grid{grid-template-columns:1fr}.plan-grid article{padding:29px 0}.plan-grid article+article{border-left:0;border-top:1px solid var(--line);padding:29px 0}.plan-grid h3{margin-top:15px;font-size:24px}.plan-place{margin-top:20px}.price-section{grid-template-columns:1fr;gap:25px}.price-section h2 br{display:none}.price-row strong{font-size:24px}.steps{grid-template-columns:1fr;gap:28px;margin-top:30px}.steps article{display:grid;grid-template-columns:55px 1fr;column-gap:18px;padding-top:23px}.steps article>span{grid-row:1/3;font-size:35px;padding-top:3px}.steps h3{margin:0 0 10px;font-size:21px}.steps p{grid-column:2;font-size:14px}.faq-section{display:block;padding-top:0}.faq-list{margin-top:23px}.faq-list summary{font-size:14px}.reservation h2{font-size:39px}.reservation>p:not(.eyebrow){font-size:13px}.coming-soon{padding:14px 40px}.reservation .reservation-note{font-size:12px!important}footer{flex-wrap:wrap;padding:35px 7%}footer .brand{width:100%}footer>span{font-size:10px}.profile-layout{grid-template-columns:1fr}.profile-layout>img{height:300px;min-height:0;object-position:center 20%}.profile-text{padding:30px}.profile-text h2{font-size:32px}.profile-text .eyebrow{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.brand{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:600;letter-spacing:.12em}.image-caption span:last-child{font-style:normal;font-family:var(--serif)}.intro-mark{font-style:normal}.price-row strong{font-size:clamp(20px,2.1vw,28px)}.payment-note{margin-top:28px;border:1px solid #665766;padding:20px}.payment-note h3{font-size:16px;color:#dfc79d}.payment-note p{font-size:14px;margin-top:10px;color:#e0d8df}.price-panel .text-link{color:#dfc79d}.policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:35px}.policy-grid h3{font:500 23px var(--serif);margin-bottom:18px}.policy-grid p{font-size:14px;color:var(--muted);margin-top:18px}.policy-grid table{width:100%;border-collapse:collapse;font-size:15px}.policy-grid caption{text-align:left;font-size:12px;color:var(--muted);margin-bottom:10px}.policy-grid th,.policy-grid td{padding:14px 5px;border-bottom:1px solid var(--line);text-align:left}.policy-grid td{text-align:right}.terms-section{background:#faf8fa}.terms-intro{font-size:14px;color:var(--muted);line-height:2.1;max-width:860px;margin:25px 0 35px}.terms-list details{border-top:1px solid var(--line)}.terms-list details:last-child{border-bottom:1px solid var(--line)}.terms-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:21px 0;font-size:16px;gap:16px}.terms-list summary::-webkit-details-marker{display:none}.terms-list summary span{color:var(--gold);font-size:22px}.terms-list details[open] summary span{transform:rotate(45deg)}.term-content{max-width:950px;padding:0 0 30px;font-size:14px;color:#61575e;line-height:2}.term-content p+p{margin-top:12px}.term-content h3{font-size:16px;color:var(--ink);font-weight:600;margin:25px 0 12px}.term-content ul{padding-left:1.5em}.term-content li{padding:4px 0}.terms-contact{margin-top:30px;font-size:14px;color:var(--muted)}.terms-contact h3{color:var(--ink);margin-bottom:8px}@media(max-width:650px){.policy-grid{grid-template-columns:1fr;gap:35px}.terms-list summary{font-size:15px}.brand{font-size:25px}.price-section h2 br{display:block}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.rank-note{font-size:14px;color:#dfc79d;margin-top:20px}.news-section{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;padding-top:35px}.news-section h2{font-size:28px}.news-item{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.news-label{font-size:12px;color:#8d6c80;background:#f4e8ed;padding:5px 12px}.news-item h3{font:500 25px/1.7 var(--serif);margin:20px 0 12px}.news-item p{font-size:14px;color:var(--muted)}.company-section{border-top:1px solid var(--line)}.company-details{margin:0;display:grid;grid-template-columns:1fr 1fr;column-gap:55px}.company-details>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);font-size:14px}.company-details dt{color:var(--muted)}.company-details dd{margin:0;overflow-wrap:anywhere}.company-details a,.privacy-contact a,.terms-contact a,.term-content a{border-bottom:1px solid #c5afb9}.company-details a:hover,.privacy-contact a:hover,.terms-contact a:hover,.term-content a:hover{color:#96768a}.recruit-section{background:#f4eef2;display:flex;align-items:center;justify-content:space-between;gap:45px}.recruit-section p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:22px}.recruit-section .button{flex-shrink:0}.contact-button{display:flex;width:fit-content;margin:20px auto 0;min-width:270px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;max-width:620px;justify-content:center}footer{flex-wrap:wrap}.footer-links a:hover{color:var(--gold)}.privacy-document{max-width:920px;padding:75px 45px 90px;margin:auto}.privacy-document h1{font:500 clamp(27px,3vw,40px)/1.5 var(--serif);letter-spacing:.06em}.privacy-subtitle{color:var(--muted);font-size:15px;margin-top:10px}.policy-date{font-size:13px!important;color:var(--muted);margin:20px 0 35px!important}.privacy-document>p{line-height:2.1;font-size:15px}.privacy-document section{border-top:1px solid var(--line);padding:30px 0;margin-top:30px}.privacy-document section h2{font:500 21px/1.7 var(--serif);margin-bottom:20px;letter-spacing:0}.privacy-document section p,.privacy-document li{font-size:15px;line-height:2}.privacy-document section p+p{margin-top:15px}.privacy-document ol{padding-left:1.8em}.privacy-document li{padding:3px 0}.privacy-contact>div{display:grid;grid-template-columns:140px 1fr;font-size:14px;margin-top:18px;gap:15px}.privacy-contact dt{color:var(--muted)}.privacy-contact dd{margin:0;overflow-wrap:anywhere}.legal-page footer{border-top:1px solid var(--line)}@media(max-width:1000px){.company-details{grid-template-columns:1fr}.recruit-section{align-items:start;flex-direction:column}.news-section{gap:30px}}@media(max-width:650px){.news-section{grid-template-columns:1fr;padding-top:10px}.news-item h3{font-size:23px}.company-details>div{grid-template-columns:85px 1fr;gap:15px;font-size:14px}.footer-links{justify-content:flex-start;gap:14px 18px}.privacy-document{padding:50px 7% 65px}.privacy-document h1{font-size:27px;overflow-wrap:anywhere}.privacy-document section h2{font-size:20px}.privacy-contact>div{grid-template-columns:1fr;gap:5px}.recruit-section{gap:25px}.contact-button{min-width:0;width:100%;max-width:320px}}

.line-button{background:#086b43;color:#fff;border-color:#086b43}.line-button:hover{background:#075437}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.reservation>.line-button{margin-top:30px}.review-notice{padding:20px;border-left:3px solid var(--gold);background:#f4eef2;font-size:14px;margin-top:24px}.mobile-line{display:none}.price-row strong{overflow-wrap:anywhere;text-align:right}.profile-layout>img{object-fit:cover}.portrait img[src$="pending.svg"]{object-fit:contain}.hero-visual img[src="yuuta-20261021.jpg"]{object-position:50% 35%}.profile-layout>img[src$="pending.svg"]{object-fit:contain;background:var(--pink)}@media(max-width:650px){body{padding-bottom:82px}.header .line-button{font-size:11px;padding:10px;white-space:nowrap}.hero-actions .button{width:100%}.mobile-line{display:flex;position:fixed;z-index:5;bottom:0;left:0;right:0;min-height:64px;align-items:center;justify-content:center;font-size:15px;font-weight:600;padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.price-row strong{font-size:20px;max-width:65%}.profile-text{padding-bottom:90px}.profile-layout>img[src$="pending.svg"]{object-position:center}}

.hero-visual img[src="yuuta-20261021.jpg"]{object-position:50% 30%}.portrait img[src="tsubasa-20261021.jpg"]{object-position:center 35%}.portrait img[src="yuito-20261021.jpg"]{object-position:center 35%}
