:root{--navy:#14294a;--ink:#243149;--ivory:#fbf8f3;--sand:#eee7db;--gold:#a47e51}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.9;font-size:16px}a{color:inherit}a:focus-visible{outline:3px solid #b78a4d;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.5}h2{font-size:clamp(1.8rem,3vw,2.7rem)}.skip{position:absolute;top:-80px;left:10px;background:white;padding:8px;z-index:9}.skip:focus{top:10px}.header{height:90px;display:flex;align-items:center;gap:32px;padding:0 max(5vw,24px);background:var(--ivory)}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;white-space:nowrap;font-family:Georgia,serif;font-size:1.18rem;color:var(--navy);letter-spacing:.04em}.brand img{width:54px;height:54px;object-fit:contain;border-radius:50%}.header nav{display:flex;gap:26px;margin-left:auto;font-size:.88rem}.header nav a,.footer-links a{text-decoration:none}.header nav a:hover,.footer-links a:hover{text-decoration:underline}.small-cta{padding:9px 22px;border:1px solid var(--navy);text-decoration:none;font-size:.88rem;white-space:nowrap}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:var(--sand)}.hero-copy{padding:clamp(55px,9vw,130px) 8vw 55px max(7vw,24px);align-self:center}.eyebrow{font:600 .78rem Georgia,serif;letter-spacing:.2em;color:var(--gold);margin-bottom:22px}.hero h1{font-size:clamp(2.5rem,4.7vw,4.5rem);letter-spacing:.08em;color:var(--navy);margin-bottom:30px}.lead{font-size:1.1rem;line-height:2.1;margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:35px;background:var(--navy);color:white;padding:14px 27px;text-decoration:none;min-height:55px;font-weight:600}.button:hover{background:#26456b}.hero-note{font-size:.83rem;margin:18px 0 0}.hero-image{overflow:hidden}.hero-image img{display:block;width:100%;height:100%;object-fit:cover}.section{max-width:1200px;margin:auto;padding:110px 5vw}.section-head{max-width:680px}.about{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about-text{padding-top:40px}.about-text p{margin-bottom:25px}.service{max-width:none;background:#f1ece4;padding-left:max(5vw,calc((100vw - 1080px)/2));padding-right:max(5vw,calc((100vw - 1080px)/2))}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:50px}.steps article{border-top:1px solid #b6ab99;padding-top:25px}.steps span,.flow li>span{font-family:Georgia,serif;color:var(--gold);font-size:1rem}.steps h3{font-size:1.8rem;color:var(--navy);margin:12px 0}.profile{display:grid;grid-template-columns:.8fr 1fr;gap:10%;align-items:center}.portrait{max-height:550px;overflow:hidden;background:var(--sand)}.portrait img{width:100%;height:100%;max-height:550px;object-fit:cover;display:block}.role{color:var(--gold)}.price-card{background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:38px 45px;margin-top:42px;border:1px solid #d8cbbb}.badge{background:var(--navy);color:white;display:inline-block;padding:2px 13px;font-size:.82rem}.price-card h3{font-size:2rem;color:var(--navy);margin:12px 0 3px}.price-card h3 span{font-size:1rem}.price-card p:last-child{margin-bottom:0}.price-card strong{font:400 clamp(2.7rem,5vw,4.4rem) Georgia,serif;color:var(--navy);white-space:nowrap}.price-card small{font:400 1rem sans-serif}.price-note{margin:15px 0 0}.flow{border-top:1px solid #d8cbbb}.flow ol{list-style:none;padding:0;margin:40px 0 0}.flow li{display:flex;gap:35px;padding:24px 0;border-top:1px solid #d8cbbb}.flow li:last-child{border-bottom:1px solid #d8cbbb}.flow h3{font-size:1.3rem;margin-bottom:7px}.flow p{margin:0}.reservation{text-align:center;background:var(--navy);color:white;padding:100px 24px}.reservation h2{margin-bottom:20px}.reservation>p:not(.eyebrow){max-width:650px;margin:0 auto 25px}.button.light{background:#f5eee4;color:var(--navy)}.button.light:hover{background:white}.reservation .reserve-note{font-size:.85rem;margin-top:20px!important}footer{background:#10203a;color:#f7f3ec;padding:50px max(5vw,24px) 25px}.footer-top{display:flex;justify-content:space-between;gap:35px;max-width:1100px;margin:auto}.footer-top strong{font:1.5rem Georgia,serif}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:8px 30px;font-size:.9rem}footer small{display:block;max-width:1100px;margin:60px auto 0;color:#b6c0ce}.legal{max-width:900px}.legal h1{font-size:2.4rem}.legal dl{margin:45px 0}.legal dl>div{display:grid;grid-template-columns:200px 1fr;padding:18px 0;border-top:1px solid #d8cbbb}.legal dl>div:last-child{border-bottom:1px solid #d8cbbb}.legal dt{font-weight:700}.legal dd{margin:0}@media(max-width:800px){.header{height:72px;padding:0 20px}.header nav{display:none}.brand{font-size:1rem}.brand img{width:45px;height:45px}.small-cta{margin-left:auto;padding:7px 11px}.hero{display:flex;flex-direction:column}.hero-copy{padding:68px 7vw 40px}.hero h1{font-size:clamp(2.4rem,8vw,3.5rem)}.hero-image{height:280px}.section{padding:75px 7vw}.about,.profile{grid-template-columns:1fr;gap:20px}.about-text{padding-top:0}.steps{grid-template-columns:1fr;gap:15px}.steps article{padding-top:18px}.portrait{max-width:430px}.price-card{padding:26px;align-items:flex-start}.footer-top{flex-direction:column}.footer-links{grid-template-columns:1fr 1fr}.legal dl>div{grid-template-columns:1fr;gap:4px}}@media(max-width:500px){.brand span{font-size:.94rem}.hero-image{height:225px}.lead{font-size:1rem}.price-card{flex-direction:column;gap:8px}.footer-links{grid-template-columns:1fr}.reservation{padding:75px 7vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 横長のブランド画像を切らずに表示 */
.hero{display:flex;flex-direction:column;min-height:0}.hero-image{order:-1;overflow:visible}.hero-image img{width:100%;height:auto;object-fit:contain}.hero-copy{padding:62px 24px 72px;text-align:center;align-self:stretch}.hero h1{font-size:clamp(2.5rem,4vw,3.8rem)}@media(max-width:800px){.hero-image{height:auto}.hero-copy{padding:48px 7vw 62px}}@media(max-width:500px){.hero-image{height:auto}}

.brand-three{display:inline-block;font-family:Arial,Helvetica,sans-serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;transform:none;vertical-align:baseline}

.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:36px}.social-card{text-align:center;border:1px solid #d8cbbb;background:#fff;padding:32px 24px}.social-card h3{font-size:1.8rem;margin-bottom:10px}.social-card img{display:block;width:180px;height:180px;object-fit:contain;margin:20px auto 28px;image-rendering:pixelated}.social-card .button{justify-content:center;gap:18px;max-width:100%}@media(max-width:600px){.social-grid{grid-template-columns:1fr;gap:24px}}

.language-switch{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:.82rem;line-height:1.2}.language-switch a{text-decoration:none;padding:7px 4px}.language-switch a[aria-current="page"]{font-weight:700;border-bottom:1px solid currentColor}.language-switch span{opacity:.45}.header .language-switch{margin-left:0}.legal .language-switch{margin-left:auto}@media(max-width:800px){.header{gap:12px}.header .language-switch{margin-left:auto}.header .small-cta{margin-left:0}.brand{gap:6px}.brand img{width:38px;height:38px}}@media(max-width:420px){.header{padding:0 12px;gap:7px}.brand img{width:31px;height:31px}.brand span{font-size:.82rem}.language-switch{font-size:.73rem;gap:2px}.language-switch a{padding:6px 2px}.small-cta{font-size:.75rem;padding:6px 7px}}html[lang="en"] body{font-family:Georgia,"Times New Roman",serif;line-height:1.7}html[lang="en"] .hero h1,html[lang="en"] h2,html[lang="en"] h3{letter-spacing:0}html[lang="en"] .hero h1{font-size:clamp(2.3rem,4vw,3.6rem)}html[lang="en"] .lead{line-height:1.8}html[lang="en"] .header nav,html[lang="en"] .small-cta,html[lang="en"] .button,html[lang="en"] .language-switch{font-family:Arial,sans-serif}
