:root{--bg:#1c1820;--panel:#26212c;--text:#f2edf1;--muted:#c0b4c1;--line:#514553;--accent:#d7bc91;--purple:#cfa9df;--ink:#2d2232;--paper:#f4f0eb}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.95 "Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.35em}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.65}h1,h2{font-family:"Noto Serif CJK JP","Yu Mincho",serif}h2{font-size:34px;letter-spacing:.06em}p+p{margin-top:18px}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.note,.micro{font-size:12px;line-height:1.95;color:var(--muted)}.micro{margin-top:18px;font-size:11px}.eyebrow{font-size:12px;letter-spacing:.13em;color:var(--accent);margin-bottom:22px}.eyebrow>span{display:inline-block;width:20px;height:1px;background:currentColor;vertical-align:middle;margin-right:10px}.draft-banner{background:#453c46;color:#eee6ec;text-align:center;padding:7px 15px;font-size:11px;letter-spacing:.06em}.draft-banner span{margin-left:25px;color:#d3c7d2}.skip{position:absolute;top:-90px;left:20px;padding:12px 20px;background:var(--paper);color:var(--ink);z-index:99}.skip:focus{top:8px}.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;gap:35px}.wordmark{font-family:Georgia,"Times New Roman",serif;font-size:44px;font-style:italic;letter-spacing:.025em;line-height:1;position:relative;display:inline-block}.wordmark>span:first-child{display:block;font:10px/1.5 "Noto Sans CJK JP",sans-serif;font-style:normal;letter-spacing:.3em;margin-bottom:2px}.wordmark .wordmark-note{font:8px/1 sans-serif;font-style:normal;position:absolute;right:-34px;bottom:5px;color:var(--muted);white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px}.nav-button{border:1px solid #917b92;display:flex;align-items:center;gap:26px;padding:10px 18px}.arrow{display:inline-block;width:24px;height:1px;background:currentColor;position:relative;flex-shrink:0}.arrow:after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-right:1px solid;border-top:1px solid;transform:rotate(45deg)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--accent);color:var(--ink);padding:17px 27px;font-size:14px;min-height:54px}.button:hover{background:#ead0a8}.button.secondary{border:1px solid #9b859d;background:transparent;color:var(--text)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px 70px;align-items:center;padding:35px 0 35px}.hero h1{font-size:44px;letter-spacing:.07em}.hero h1 em{font:italic 74px/1.3 Georgia,serif;color:var(--accent);letter-spacing:0;margin-right:10px}.hero-lead{font-size:15px;line-height:2.1;margin-top:22px;color:#d8ccd7}.hero .button{margin-top:32px}.hero-frame{min-height:500px;border:1px solid #816b82;padding:32px;position:relative;background:radial-gradient(ellipse at 70% 40%,#49324d 0,transparent 65%),linear-gradient(135deg,#2e2533,#211c27);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-frame:after{content:"";position:absolute;inset:14px;border:1px solid #5f4960;pointer-events:none}.frame-overline{font:italic 18px Georgia,serif;letter-spacing:.1em;color:#d4bfd3}.hero-letter{font:italic 280px/.9 Georgia,serif;align-self:center;color:#ac829c;opacity:.55;transform:translateX(-12px);user-select:none}.frame-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:1}.frame-caption>span{font-size:11px;letter-spacing:.08em;border-top:1px solid #937694;padding-top:10px}.frame-caption p{font-size:11px;color:#d6c8d4}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em;border-bottom:1px solid var(--line);padding:0 0 25px;color:var(--muted)}.section{padding-block:85px}.about,.work-section{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about-copy{font-size:15px}.about-copy .note{margin-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:40px}.section-heading .note{max-width:450px}.gallery-section{background:#242029}.photo-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:25px}.photo-placeholder{position:relative;min-height:290px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#302936;border:1px solid #615064;padding:30px;color:#d8c7dc}.photo-index{position:absolute;left:22px;top:16px;font:16px Georgia,serif;color:#c9adcd}.photo-placeholder figcaption{font-size:14px;margin-top:20px;text-align:center}.photo-placeholder small{display:block;font-size:11px;margin-top:8px;color:var(--muted)}.image-icon{width:35px;height:29px;border:1px solid;position:relative}.image-icon:after{content:"";position:absolute;width:13px;height:13px;border-left:1px solid;border-top:1px solid;transform:rotate(45deg);bottom:1px;left:10px}.video-section{display:grid;grid-template-columns:1fr 350px;gap:85px;align-items:center;padding-inline:60px}.video-copy h2{margin-bottom:25px}.video-copy>p{font-size:14px}.video-copy>p.note{font-size:12px}.account-label{display:inline-block;border-bottom:1px solid #725a75;margin-top:25px;padding-bottom:6px;font-size:11px;color:#d9c5dd}.video-placeholder{aspect-ratio:9/16;max-height:490px;width:100%;background:linear-gradient(155deg,#372c3d,#28202e);border:1px solid #756079;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;text-align:center;padding:25px;color:#e6d8e9}.video-tag{position:absolute;top:20px;left:20px;font-size:10px;letter-spacing:.1em;color:#d0b4d8}.film-icon{width:39px;height:29px;border:1px solid;background:repeating-linear-gradient(90deg,transparent 0 6px,#bd9cc7 6px 9px,transparent 9px 16px);background-size:100% 3px;background-repeat:repeat-x;margin-bottom:20px}.video-placeholder p{font-size:13px}.video-placeholder small{font-size:10px;color:#cbbbd0;margin-top:10px}.reservation-band{background:#e3d3c2;color:#312735;padding:75px 0}.reservation-band .eyebrow{color:#745431}.reservation-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.reservation-grid h2{font-size:32px;margin-bottom:20px}.reservation-grid p{font-size:14px}.pending-contact{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 25px;border:1px solid #847383;background:#d5c7b9;color:#3c303d;margin-block:27px 15px;min-height:58px;font-size:17px;letter-spacing:.04em;cursor:default}.phone-icon{width:13px;height:23px;border:1px solid;border-radius:2px;position:relative}.phone-icon:after{content:"";position:absolute;bottom:3px;left:4px;width:3px;height:1px;background:currentColor}.reservation-grid .note{font-size:11px;color:#60535e}.info-list{margin:0}.info-list>div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid #b6a6ae;padding:18px 0;font-size:13px}.info-list dt{color:#64545d}.info-list dd{margin:0}.recruit-teaser{display:flex;justify-content:space-between;align-items:center;gap:45px}.recruit-teaser h2{font-size:28px}.recruit-teaser p:not(.eyebrow){font-size:13px;margin-top:18px;color:var(--muted)}.site-footer{padding:50px 0 25px;border-top:1px solid var(--line);background:#18151c;color:#eee6ee}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:45px}.footer-top .wordmark{font-size:44px}.footer-top p{font-size:10px;color:#c0b3c2;margin-top:20px}.footer-top nav{display:flex;gap:35px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #493c4c;margin-top:40px;padding-top:22px;font-size:10px;color:#baadbc}.subpage{min-height:50vh;padding-block:60px 95px;max-width:980px}.subpage h1{font-size:36px;text-wrap:balance;margin-bottom:25px}.subpage .lead{font-size:20px}.subpage h2{font-size:25px;margin-block:35px 20px}.subpage li{margin-block:12px;font-size:14px}.subpage p{margin-block:16px}.return-links{display:flex;align-items:center;flex-wrap:wrap;gap:30px;margin-top:30px}.text-link{text-decoration:underline;text-underline-offset:.3em}.entry-content>*{max-width:100%}
.recruit-context{--bg:#f5f1ee;--text:#302635;--muted:#64556a;--accent:#75517e;--line:#cfc3d1;background:var(--bg);color:var(--text)}.recruit-context .draft-banner{background:#e0d3e1;color:#352638}.recruit-context .draft-banner span{color:#64516b}.recruit-context .button{background:#66426f;color:#fff}.recruit-context .button:hover{background:#52325a}.recruit-context .nav-button{background:#66426f;color:white;border-color:#66426f}.recruit-context .site-header{border-bottom:1px solid var(--line)}.recruit-context .hero-lead{color:#65556b}.recruit-hero{padding-block:26px 65px}.breadcrumb{display:flex;gap:12px;font-size:11px;color:#705f75;margin-bottom:35px}.recruit-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.recruit-hero h1{font-size:40px;letter-spacing:.05em}.recruit-hero .button{margin-top:28px}.recruit-poster{min-height:380px;background:#e5dbe8;border:1px solid #c3afc9;padding:35px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.poster-number{position:absolute;right:20px;top:-5px;font:italic 280px/1 Georgia,serif;color:#c6b0cd}.recruit-poster>div{position:relative;background:#e5dbe8e8;padding:15px 0 0;width:100%}.recruit-poster .eyebrow{font-size:11px}.recruit-poster p{font-size:21px;line-height:1.7;margin-top:15px;font-family:"Noto Serif CJK JP",serif}.poster-note{font-size:10px;color:#6d5577;margin-top:20px;display:block}.work-section{padding-top:35px}.work-section>div>p:not(.eyebrow){font-size:14px}.work-section .note{font-size:12px!important}.recruit-media{background:#eae3eb}.recruit-media-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;max-width:920px;margin:auto}.recruit-photo{min-height:350px;background:#d9cbdc;border-color:#b9a4bf;color:#604969}.recruit-context .photo-placeholder small{color:#5c4863}.recruit-context .video-placeholder{max-width:300px;background:#d4c4d9;color:#493650;border-color:#ac93b6;justify-self:center}.recruit-context .video-tag,.recruit-context .video-placeholder small{color:#5e4569}.recruit-context .film-icon{background-image:repeating-linear-gradient(90deg,transparent 0 6px,#70547c 6px 9px,transparent 9px 16px)}.status-note{font-size:12px;border:1px solid #a68caf;padding:5px 12px;color:#62456b}.conditions-intro{font-size:14px;margin-bottom:30px}.conditions-list{margin:0}.conditions-list>div{display:grid;grid-template-columns:1fr 1.4fr;gap:35px;padding:19px 24px;border-bottom:1px solid #c8bacb;font-size:14px}.conditions-list>div:first-child{border-top:1px solid #c8bacb}.conditions-list>div:nth-child(odd){background:#ece4ee}.conditions-list dd{margin:0;color:#6b5675}.recruit-faq{padding-top:0}.recruit-faq h2{margin-bottom:25px}.recruit-faq details{border-bottom:1px solid var(--line)}.recruit-faq summary{position:relative;list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-size:15px}.recruit-faq summary::-webkit-details-marker{display:none}.recruit-faq summary:after{content:"＋";position:absolute;right:10px}.recruit-faq details[open] summary:after{content:"−"}.recruit-faq details p{padding:0 35px 25px 0;font-size:14px;color:#6a576f}.application-band{padding-block:65px;background:#34253e;color:#f5edf7;text-align:center}.application-band .eyebrow{color:#dec2e8}.application-band h2{font-size:31px}.application-band .note{color:#d7c6df}.application-band .pending-contact{background:#493650;border-color:#9e81ad;color:#ebdcef}.back-to-visit{display:inline-flex;align-items:center;gap:24px;font-size:12px;margin-top:30px;text-decoration:underline;text-underline-offset:.35em}.recruit-context .site-footer{border-top:0}
@media(max-width:1050px){.hero{gap:35px}.hero h1{font-size:36px}.hero h1 em{font-size:63px}.hero-frame{min-height:460px}.frame-caption{display:block}.frame-caption p{margin-top:12px}.video-section{padding-inline:0;gap:45px;grid-template-columns:1fr 300px}.reservation-grid{gap:35px}.info-list>div{grid-template-columns:130px 1fr}.footer-top nav{flex-direction:column;gap:12px}.recruit-hero-grid{gap:30px}.recruit-hero h1{font-size:32px}.recruit-poster{padding:25px}.recruit-teaser{align-items:flex-start}.recruit-teaser .button{gap:20px;flex-shrink:0}.about,.work-section{gap:35px}}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}.draft-banner{font-size:10px;padding:6px 10px}.draft-banner span{display:block;margin:0;font-size:9px}.site-header{height:auto;padding-block:24px;display:block}.wordmark{font-size:40px}.site-header nav{margin-top:24px;justify-content:space-between;gap:10px;font-size:11px}.nav-button{padding:9px 11px;gap:12px}.nav-button .arrow{width:17px}.hero{grid-template-columns:1fr;gap:32px;padding-top:25px}.hero h1{font-size:clamp(29px,8.5vw,44px);letter-spacing:.04em}.hero h1 em{font-size:clamp(53px,15vw,70px);margin-right:6px}.hero-lead{font-size:14px;margin-top:18px}.hero .button{margin-top:26px}.button{font-size:13px;padding:16px 22px;gap:30px}.hero-frame{min-height:385px;padding:27px}.hero-letter{font-size:230px}.frame-caption{display:flex;gap:18px}.frame-caption>span{font-size:10px}.frame-caption p{font-size:10px;margin:0}.frame-overline{font-size:16px}.hero-bottom{font-size:9px;letter-spacing:0;gap:20px;padding-bottom:18px}.section{padding-block:55px}h2{font-size:28px}.eyebrow{font-size:11px;margin-bottom:17px}.about,.work-section{grid-template-columns:1fr;gap:24px}.about-copy{font-size:14px}.note{font-size:11px}.section-heading{display:block;margin-bottom:28px}.section-heading .note{margin-top:20px}.photo-gallery{grid-template-columns:1fr;gap:20px}.photo-placeholder{min-height:240px}.photo-placeholder.narrow{min-height:220px}.photo-placeholder figcaption{font-size:13px}.photo-placeholder small{font-size:10px}.video-section{grid-template-columns:1fr;gap:28px;padding-inline:0}.video-placeholder{max-width:280px;max-height:450px;justify-self:center}.video-copy>p{font-size:13px}.video-copy>p.note{font-size:11px}.video-copy h2{margin-bottom:20px}.reservation-band{padding-block:55px}.reservation-grid{grid-template-columns:1fr;gap:30px}.reservation-grid h2{font-size:28px}.reservation-grid p{font-size:13px}.pending-contact{font-size:16px;padding:14px 22px}.info-list>div{grid-template-columns:130px 1fr;font-size:12px;padding-block:16px}.recruit-teaser{display:block}.recruit-teaser h2{font-size:25px}.recruit-teaser .button{margin-top:28px}.footer-top{display:block}.footer-top nav{margin-top:30px;font-size:11px}.footer-bottom{display:block;font-size:9px}.footer-bottom span{display:block;margin-top:14px}.site-footer{padding-top:40px}.subpage{padding-block:35px 60px}.subpage h1{font-size:28px}.subpage .lead{font-size:17px}.subpage p,.subpage li{font-size:14px}.subpage h2{font-size:23px}.return-links{gap:20px}.text-link{font-size:13px}.recruit-hero{padding-top:22px;padding-bottom:50px}.breadcrumb{font-size:10px;margin-bottom:28px}.recruit-hero-grid{grid-template-columns:1fr;gap:32px}.recruit-hero h1{font-size:clamp(27px,7.8vw,39px);letter-spacing:.02em}.recruit-poster{min-height:330px;padding:25px}.poster-number{font-size:250px}.recruit-poster p{font-size:22px}.work-section{padding-top:15px}.recruit-media-grid{grid-template-columns:1fr;gap:30px}.recruit-photo{min-height:250px}.conditions .status-note{display:inline-block;margin-top:22px}.conditions-intro{font-size:13px}.conditions-list>div{grid-template-columns:1.5fr .7fr;gap:20px;padding:16px 13px;font-size:12px}.conditions-list dt{line-height:1.9}.recruit-faq{padding-top:0}.recruit-faq summary{font-size:14px;padding-block:19px}.recruit-faq details p{font-size:13px}.application-band{padding-block:50px}.application-band h2{font-size:26px}.application-band .note{font-size:11px}.back-to-visit{font-size:11px;gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
