*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffcf8;color:#2c211d;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;font-size:16px;line-height:1.85;letter-spacing:.04em;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button,summary,input,textarea{outline-offset:3px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b34a54}h1,h2,h3,.brand,.desktop-nav{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}h1,h2,h3,p{margin-top:0}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:84px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(255,252,248,.96),rgba(255,252,248,.78) 70%,rgba(255,252,248,0))}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:600;white-space:nowrap}.brand svg{width:27px;height:32px}.desktop-nav{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:600}.desktop-nav a{min-height:44px;padding:11px 15px;white-space:nowrap}.desktop-nav a:not(.nav-contact):hover,.desktop-nav a[aria-current=page]:not(.nav-contact){color:#861f2a}.nav-contact{margin-left:8px;padding-inline:22px!important;background:#861f2a;color:#fff}.nav-contact:hover{background:#6b1720}.mobile-nav{display:none}.hero{position:relative;min-height:610px;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 52%}.hero-assist{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,252,248,.96) 0%,rgba(255,252,248,.84) 48%,rgba(255,252,248,0) 76%)}.hero-content{position:relative;z-index:2;width:min(1340px,100%);margin:auto;padding:148px 48px 72px}.kicker,.eyebrow{margin-bottom:12px;color:#6b5140;font-size:13px;font-weight:600;letter-spacing:.16em}.kicker:before{content:"✣";margin-right:9px}.hero h1{max-width:650px;margin-bottom:20px;font-size:clamp(44px,4.1vw,64px);line-height:1.28;letter-spacing:.08em;font-weight:600}.hero-emphasis{color:#861f2a}.hero-lead{max-width:540px;margin-bottom:22px;font-size:17px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:11px 28px;border:1px solid #861f2a;background:#861f2a;color:#fff;font-size:15px;font-weight:600;letter-spacing:.05em;cursor:pointer}.button:hover{background:#6b1720}.text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;border-bottom:1px solid #b79a89;font-weight:600}.text-link span{color:#861f2a}.section{width:min(1340px,calc(100% - 96px));margin:0 auto;padding:72px 0}.section-heading{text-align:center;margin-bottom:28px}.section-heading h2,.final-cta h2,.page-title h1{margin-bottom:0;font-size:30px;line-height:1.45;font-weight:600;letter-spacing:.07em}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.story{display:flex;flex-direction:column}.story h3,.faq-preview h3,.info-panel h3{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:12px;font-size:20px}.story h3 svg,.faq-preview h3 svg,.info-panel h3 svg{width:34px;height:34px}.story img{width:100%;aspect-ratio:16/7;object-fit:cover}.story p{margin:12px 4px 4px;color:#574a44;line-height:1.7}.story .text-link{align-self:flex-end}.visit{padding:58px max(48px,calc((100% - 1340px)/2));background:#f7f1ea}.visit>.section-heading{margin-bottom:26px}.visit-grid{display:grid;grid-template-columns:7fr 5fr;gap:28px}.faq-preview,.info-panel{background:#fff;padding:28px}.faq-preview details{border-top:1px solid #e6d8ca}.faq-preview details:last-of-type{border-bottom:1px solid #e6d8ca}.faq-preview summary,.faq-list summary{position:relative;min-height:58px;padding:16px 38px 14px 0;font-weight:600;cursor:pointer;list-style:none}.faq-preview summary:after,.faq-list summary:after{content:"＋";position:absolute;right:6px;color:#861f2a}.faq-preview details[open] summary:after,.faq-list details[open] summary:after{content:"−"}.faq-preview details p{padding:0 20px 15px;margin:0;color:#665953}.faq-preview>.text-link{float:right;margin-top:12px}.info-panel{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.info-panel h3{justify-content:flex-start}.info-panel img{width:100%;height:100%;min-height:270px;object-fit:cover}.info-panel dl,.access-data dl{display:grid;grid-template-columns:86px 1fr;margin:0}.info-panel dt,.info-panel dd,.access-data dt,.access-data dd{padding:8px 0;margin:0;border-bottom:1px solid #eee1d5}.info-panel dt,.access-data dt{font-weight:600}.info-panel .text-link{margin-top:18px}.final-cta{width:min(1340px,calc(100% - 96px));margin:72px auto;min-height:230px;padding:44px 52px;border:1px solid #e6d8ca;display:flex;justify-content:space-between;align-items:center;gap:40px;background:#fff}.final-cta p:last-child{margin-bottom:0}.cta-side{display:flex;min-width:330px;flex-direction:column;align-items:center;gap:8px}.phone,.large-phone{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px;letter-spacing:.08em}.footer{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:52px max(48px,calc((100% - 1340px)/2));background:#2c211d;color:#f7f1ea}.footer strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:21px}.footer p{margin:12px 0 0}.footer nav{display:grid;grid-template-columns:repeat(2,1fr);align-content:start;gap:4px 28px}.footer nav a{min-height:44px;padding:7px 0}.inner-page .site-header{position:relative;background:#fffcf8;border-bottom:1px solid #e6d8ca}.page-title{padding:72px 48px 60px;text-align:center;background:#f7f1ea}.page-title h1{font-size:42px}.page-title p:last-child{max-width:660px;margin:16px auto 0}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:58px 64px;align-items:center}.editorial img{width:100%;height:400px;object-fit:cover}.editorial h2,.gallery-copy h2,.concept-block h2,.access-grid h2,.contact-grid h2{font-size:28px;line-height:1.5}.gallery-feature{display:grid;grid-template-columns:7fr 5fr;gap:68px;align-items:center}.gallery-feature figure{margin:0}.gallery-feature img{width:100%;height:570px;object-fit:cover}.gallery-feature figcaption{padding:12px 0;color:#665953}.gallery-copy svg{width:64px;height:64px;color:#5c4536}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #e6d8ca}.concept-block{min-height:410px;padding:48px 40px}.concept-block+.concept-block{border-left:1px solid #e6d8ca}.concept-block.warm{background:#f7f1ea}.concept-block svg{width:54px;height:54px;margin-bottom:30px;color:#5c4536}.access-grid,.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:70px}.access-data{padding:38px;background:#fff;border:1px solid #e6d8ca}.access-data dl{grid-template-columns:100px 1fr}.map-placeholder{padding:50px;background:#f7f1ea}.map-placeholder svg{width:58px;height:58px;color:#861f2a}.map-placeholder address{font-style:normal;font-size:19px;font-weight:600;margin-bottom:18px}.faq-list{max-width:900px}.faq-list h2{margin:46px 0 10px;font-size:22px;color:#861f2a}.faq-list h2:first-child{margin-top:0}.faq-list details{border-top:1px solid #e6d8ca}.faq-list details:last-of-type{border-bottom:1px solid #e6d8ca}.faq-list summary{font-size:17px}.faq-list details p{margin:0;padding:0 34px 22px;color:#665953}.faq-cta{margin-top:56px;padding:34px;text-align:center;background:#f7f1ea}.contact-grid aside{padding:35px;background:#f7f1ea}.contact-grid aside h2:not(:first-child){margin-top:42px}.large-phone{display:block;color:#861f2a;font-size:30px}.contact-form{display:grid;gap:24px}.contact-form label{display:block;margin-bottom:7px;font-weight:600}.contact-form label span{color:#861f2a;font-size:13px}.contact-form input,.contact-form textarea{width:100%;padding:12px;border:1px solid #bca99d;background:#fff;color:#2c211d;border-radius:0}.contact-form input{min-height:50px}.contact-form .button{justify-self:start}
@media(max-width:1100px){.site-header{padding-inline:22px}.desktop-nav a{padding-inline:8px;font-size:13px}.brand{font-size:18px}.hero-content{padding-inline:32px}.story-grid{grid-template-columns:1fr 1fr}.story:first-child{grid-column:1/-1}.story:first-child img{aspect-ratio:16/6}.visit-grid{grid-template-columns:1fr}.editorial{gap:40px}.concept-block{padding:38px 28px}}
@media(max-width:767px){body{font-size:16px}.site-header{height:68px;padding:0 20px;background:linear-gradient(180deg,rgba(255,252,248,.97),rgba(255,252,248,.82) 80%,rgba(255,252,248,0))}.brand{max-width:260px;font-size:16px}.brand svg{width:23px}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{display:flex;align-items:center;justify-content:center;min-width:62px;min-height:44px;color:#861f2a;font-weight:600;cursor:pointer;list-style:none}.mobile-nav nav{position:absolute;top:48px;right:0;width:min(310px,calc(100vw - 40px));padding:10px 18px;background:#fffcf8;border:1px solid #e6d8ca;box-shadow:0 10px 25px rgba(44,33,29,.14)}.mobile-nav nav a{display:block;min-height:46px;padding:9px 4px;border-bottom:1px solid #eee1d5}.hero{min-height:680px}.hero>img{object-position:61% 50%}.hero-assist{background:linear-gradient(90deg,rgba(255,252,248,.95) 0%,rgba(255,252,248,.76) 68%,rgba(255,252,248,.08) 100%)}.hero-content{padding:138px 20px 48px}.hero h1{font-size:38px;line-height:1.3;letter-spacing:.045em}.hero-lead{max-width:330px;font-size:15px;line-height:1.9}.hero-lead br{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.button{min-height:52px}.section{width:calc(100% - 40px);padding:48px 0}.section-heading h2,.final-cta h2{font-size:25px}.story-grid{display:block}.story{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid #e6d8ca}.story:last-child{margin-bottom:0}.story img,.story:first-child img{aspect-ratio:16/8}.visit{padding:46px 20px}.faq-preview,.info-panel{padding:24px}.info-panel{grid-template-columns:1fr}.info-panel img{min-height:0;aspect-ratio:4/5}.final-cta{width:calc(100% - 40px);margin:48px auto;padding:34px 24px;display:block;text-align:center}.cta-side{min-width:0;margin-top:28px}.cta-side .button{width:100%}.footer{grid-template-columns:1fr;padding:42px 20px;gap:28px}.footer nav{grid-template-columns:1fr 1fr;gap:0 14px}.page-title{padding:54px 20px 46px}.page-title h1{font-size:34px}.inner-page .site-header{height:68px}.editorial{grid-template-columns:1fr;gap:28px}.editorial img{height:auto;aspect-ratio:4/3}.editorial>div{padding-bottom:24px}.gallery-feature{grid-template-columns:1fr;gap:30px}.gallery-feature img{height:auto;aspect-ratio:4/5}.gallery-copy h2,.editorial h2,.concept-block h2,.access-grid h2,.contact-grid h2{font-size:25px}.concept-grid{grid-template-columns:1fr}.concept-block{min-height:0;padding:38px 26px}.concept-block+.concept-block{border-left:0;border-top:1px solid #e6d8ca}.access-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.access-data,.map-placeholder,.contact-grid aside{padding:28px 24px}.access-data dl{grid-template-columns:82px 1fr}.faq-list summary{padding-right:34px}.faq-cta{padding:28px 20px}.contact-form .button{width:100%}.large-phone{font-size:27px}}
@media(max-width:390px){.brand span{font-size:15px}.hero h1{font-size:35px}.hero-content{padding-top:132px}.page-title h1{font-size:32px}.info-panel dl{grid-template-columns:76px 1fr}.footer nav{grid-template-columns:1fr}}
.map-frame.access-map-primary{width:100%;min-width:0;margin:0;overflow:hidden}.map-frame.access-map-primary iframe{display:block;width:100%;min-height:420px;border:0}.location-panel.access-map-panel{padding:0;overflow:hidden}.location-panel.access-map-panel .map-frame{height:100%}.location-panel.access-map-panel iframe{height:100%;min-height:420px}@media(max-width:768px){.map-frame.access-map-primary iframe,.location-panel.access-map-panel iframe{min-height:360px}}

/* generated-support-layout-guard-v2 */.generated-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),360px));justify-content:center;gap:18px;margin:24px 0 32px}.generated-support-media{width:100%;max-width:360px;margin:0;aspect-ratio:4/3;overflow:hidden}.generated-support-media img{display:block;width:100%;height:100%;object-fit:cover}@media(max-width:768px){.generated-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 24px}}@media(max-width:520px){.generated-support-grid{grid-template-columns:1fr}.generated-support-media{max-width:none}}
