
:root{--gold:#68511F;--gold-mid:#8C712E;--gold-pale:#F5F1E7;--ink:#292823;--muted:#716D64;--line:#DED8CC;--pink:#F9DEE5;--pink-line:#EDBDCD;--red:#B4092C;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans CJK JP","Yu Gothic",sans-serif;font-size:17px;line-height:1.85}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,p,figure{margin:0}
h2,h3{line-height:1.55}
h2{font-family:"Noto Serif CJK JP",serif;font-size:36px;font-weight:700;letter-spacing:.045em}
h3{font-size:22px}
img{max-width:100%;display:block}
.wrap{width:1320px;max-width:calc(100% - 220px);margin:auto}
.eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--gold);margin-bottom:10px}
.section-heading{text-align:center;margin-bottom:44px}
.section-heading h2{color:var(--gold)}
.section-heading p{margin-top:17px;font-size:17px;color:var(--muted);line-height:1.9}
.section-heading:after{content:"";display:block;width:48px;height:2px;background:var(--gold);margin:22px auto 0}
.icon{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.button{min-height:50px;padding:10px 22px;border:1px solid var(--gold);display:inline-flex;align-items:center;justify-content:space-between;gap:25px;color:var(--gold);font-size:16px;font-weight:700;line-height:1.6;background:transparent}
.button .text-arrow{font-size:22px;line-height:1}
.button.solid{background:var(--gold);color:#fff}
.button.light{background:#fff;color:var(--gold);border-color:#fff}
.red-outline{border-color:var(--red);color:var(--red)}
.text-link{font-size:15px;color:var(--gold);font-weight:700}
.mock-note{font-size:13px;color:#777267;margin-top:17px;line-height:1.8}
.section{padding:80px 0}
.topbar{height:34px;background:#F6F4EE;border-bottom:1px solid #EAE5DA;padding:0 24px;display:flex;align-items:center;justify-content:space-between;font-size:12px;white-space:nowrap;gap:16px;color:#59564C}
.toplinks{display:flex;gap:22px}
.header-main{height:137px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.brand{position:relative;width:420px;height:105px;flex-shrink:0}
.brand img{width:100%}
.brand>span{position:absolute;left:32%;top:8px;color:var(--gold);font-family:"Noto Serif CJK JP",serif;font-size:19px;font-weight:700;letter-spacing:.06em}
.header-phone{text-align:center;color:var(--gold);margin-left:auto}
.header-phone>span{display:block;font-size:15px;font-weight:700;letter-spacing:.04em}
.phone{font-family:"Liberation Serif",Georgia,serif;font-weight:700;color:var(--gold);font-size:59px;letter-spacing:-1px;line-height:1.25;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:10px;transform:scaleY(1.045)}
.phone .icon{width:37px;height:37px}
.header-actions{width:230px;flex-shrink:0}
.header-mail{height:51px;border:1px solid var(--gold);display:grid;grid-template-columns:57px 1fr;align-items:center;text-align:center;color:var(--gold);font-size:21px;font-weight:700}
.header-mail .mail-symbol{background:var(--gold);height:49px;display:grid;place-items:center;color:#fff}
.header-mail .icon{width:30px}
.urgent-button{display:block;background:var(--red);color:#fff;height:47px;margin-top:6px;text-align:center;line-height:1.2;padding-top:4px;font-size:19px;font-weight:700}
.urgent-button small{font-size:12px;display:block;margin-top:3px}
.main-nav{height:67px;border-top:1px solid #EEEAE0;border-bottom:1px solid #D5C9AA}
.main-nav .wrap{display:flex;align-items:stretch;height:100%;justify-content:space-between;gap:5px}
.main-nav a{font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;position:relative;white-space:nowrap}
.main-nav a.active:after{content:"";position:absolute;bottom:0;width:100%;height:3px;background:var(--gold)}
.main-nav a:hover{color:var(--gold)}
.hero{position:relative;background:#F4F1E8}
.hero img{width:100%;height:auto}
.slider-dots{height:40px;display:flex;align-items:center;justify-content:center;gap:13px;background:#FCFBF8}
.slider-dots span{width:9px;height:9px;background:#DAD5C9;border-radius:50%}
.slider-dots span.on{width:11px;height:11px;background:var(--gold)}
.quick-links{background:var(--gold);padding:27px 0}
.quick-links .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.quick-link{display:flex;align-items:center;padding:12px 23px;color:white;border-right:1px solid #FFFFFF55;gap:19px;min-height:72px}
.quick-link:first-child{border-left:1px solid #FFFFFF55}
.quick-link .icon{width:42px;height:42px}
.quick-link strong{font-size:22px;display:block}
.quick-link small{font-size:12px;color:#ECE2C8;display:block}
.quick-link>.text-arrow{margin-left:auto;font-size:25px}
.trust{padding:67px 0 72px}
.trust-grid{display:grid;grid-template-columns:270px 1fr 1fr;gap:40px;align-items:center}
.trust-crown{width:255px;justify-self:center}
.trust-copy h2{font-size:25px;color:var(--gold);line-height:1.65;margin-bottom:17px;letter-spacing:0}
.trust-copy p{font-size:16px;line-height:2.05;color:#504D45}
.trust-copy.last{border-left:1px solid var(--line);padding-left:35px}
.voice-review{background:var(--pink);position:relative;overflow:hidden;padding:67px 0 60px;border-top:1px solid var(--pink-line);border-bottom:1px solid var(--pink-line)}
.petals{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.petal{position:absolute;width:25px;height:38px;background:#EAB1C2;opacity:.32;border-radius:80% 0 80% 0;transform:rotate(30deg)}
.petal:nth-child(3n){width:36px;height:50px;background:#fff;opacity:.45}
.voice-review .wrap{position:relative;z-index:1}
.voice-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}
.voice-intro h2{font-size:34px;color:#704C52}
.voice-intro p{font-size:17px;color:#6A4F54;margin-top:8px}
.voice-intro .button{border-color:#BD7188;color:#8F4860;background:#ffffff60}
.voice-banner{max-width:1100px;margin:auto;width:100%;box-shadow:0 4px 20px #A6486210}
.google-head{display:flex;justify-content:space-between;align-items:center;margin:45px 0 26px;border-top:1px solid #DDAFBE;padding-top:32px}
.google-head img{width:310px}
.google-head .text-link{color:#8F4860}
.slider-wrapper{position:relative}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}
.review-card{background:#fff;border:1px solid #E8BEC9;padding:26px 27px;display:flex;flex-direction:column;box-shadow:0 3px 7px #B7798610}
.stars{color:#B38C22;letter-spacing:.15em;font-size:19px;margin-bottom:12px}
.review-card p{font-size:16px;line-height:1.95}
.review-author{margin-top:auto;padding-top:17px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#6F6B61}
.slider-footer{display:flex;justify-content:center;gap:13px;align-items:center;margin-top:25px}
.slider-footer span:not(.round-arrow){width:8px;height:8px;border-radius:50%;background:#CBB9BB}
.slider-footer span.on:not(.round-arrow){width:27px;border-radius:7px;background:#AF7B89}
.round-arrow{height:37px;width:37px;border:1px solid #CFA8B6;border-radius:50%;display:grid;place-items:center;font-size:18px;color:#895367;background:#fff9}
.availability-section{background:var(--gold);color:#fff;padding:62px 0 50px}
.avail-header{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}
.avail-header h2{font-size:33px}
.avail-header .eyebrow{color:#E3D3AC}
.avail-header p{font-size:15px;color:#EEE5D0;margin-top:10px}
.availability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.availability-card{display:grid;grid-template-columns:110px 1fr;min-height:151px;background:#fff;color:var(--gold);border:1px solid #C9B781}
.avail-visual{position:relative;overflow:hidden;background:#ECE8DF}
.availability-card .image-placeholder{height:100%;min-height:151px;border:0}
.image-placeholder{background:repeating-linear-gradient(135deg,#F3F1EC 0,#F3F1EC 11px,#EFEBE3 11px,#EFEBE3 12px);border:1px dashed #C7BDA9;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9F9480;min-height:190px;gap:12px;text-align:center}
.image-placeholder .icon{width:44px;height:44px;opacity:.65}
.image-placeholder span{font-size:13px;line-height:1.7}
.image-placeholder.small span{font-size:11px;padding:0 5px}
.image-placeholder.small .icon{width:30px;height:30px}
.facility-index{position:absolute;top:5px;left:8px;font-size:12px;color:#8C8066}
.avail-text{padding:12px 10px 10px 14px;display:flex;flex-direction:column}
.city{font-size:10px;color:#8B867A}
.avail-text h3{font-size:17px;line-height:1.6;margin:1px 0 4px;letter-spacing:-.03em}
.resources{font-size:11px;line-height:1.6;color:#716B5D}
.avail-text b{font-size:11px;margin-top:auto;padding-top:7px;font-weight:600}
.on-gold{color:#E4D8BD}
.plans{padding:83px 0 70px}
.plan-kicker{display:table;margin:0 auto 17px;background:var(--gold);color:#fff;padding:10px 50px;font-size:22px;font-weight:700;clip-path:polygon(0 0,100% 0,97% 100%,0 100%)}
.plans .section-heading{margin-bottom:38px}
.plan-category{max-width:1214px;margin:0 auto 21px;display:flex;align-items:baseline;gap:24px;border-bottom:1px solid #E2DDD2;padding-bottom:13px}
.plan-category h3{font-size:24px;color:var(--gold);font-family:"Noto Serif CJK JP",serif}
.plan-category p{font-size:15px;color:var(--muted)}
.plans-grid{display:grid;justify-content:center;gap:14px}
.plans-grid.basic{grid-template-columns:repeat(4,293px)}
.plans-grid.home{grid-template-columns:repeat(3,293px)}
.plan-card img{width:293px;height:auto}
.home-title{margin-top:46px;max-width:907px;flex-direction:column;gap:3px}
.contact-band{background:var(--gold-pale);border-top:1px solid #D9CDAF;border-bottom:1px solid #D9CDAF;padding:36px 0}
.contact-layout{display:grid;grid-template-columns:320px 1fr 354px;align-items:center;gap:28px}
.contact-copy .eyebrow{font-size:13px;letter-spacing:.06em}
.contact-copy h2{font-size:24px;color:var(--gold);letter-spacing:0}
.contact-copy p{font-size:15px;color:var(--muted);margin-top:12px}
.contact-call .phone{font-size:49px}
.contact-call .phone .icon{width:30px;height:30px}
.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.contact-actions .button{font-size:14px;padding:10px 14px;gap:9px;background:#fff}
.staff-set{display:grid;grid-template-columns:repeat(3,100px);gap:13px;justify-content:end;align-items:start}
.staff-set figure img{width:100px;height:120px;object-fit:cover}
.staff-set figcaption{text-align:center;font-size:14px;line-height:1.5;padding-top:6px;color:var(--gold)}
.staff-set>small{grid-column:1 / -1;text-align:center;font-size:11px;line-height:1.4;color:#8A7A5D}
.staff-placeholder{width:100px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#E8E1D1;color:#9B8A64;border:1px dashed #B8A986;gap:8px;font-size:13px;line-height:1.45;text-align:center}
.staff-placeholder .icon{width:33px;height:33px}
.venues{padding:85px 0 73px}
.local-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.local-heading h3{font-family:"Noto Serif CJK JP",serif;font-size:25px;color:var(--gold)}
.carousel-controls{display:flex;gap:12px}
.carousel-controls .round-arrow{color:var(--gold);border-color:#CCC0A3}
.venue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.venue-card{border:1px solid var(--line);background:#fff}
.venue-card>.image-placeholder{border:0;border-bottom:1px dashed #C7BDA9;height:198px}
.venue-card>div:not(.image-placeholder){padding:23px 26px 27px}
.venue-card>div>span{font-size:12px;color:#928058}
.venue-card h3{font-size:23px;margin:2px 0 6px}
.venue-card p{font-size:14px;color:var(--muted);margin-bottom:21px}
.venue-card .button{width:100%;font-size:14px}
.region-intro{text-align:center;margin:47px 0 23px}
.region-intro h3{font-size:25px;color:var(--gold);font-family:"Noto Serif CJK JP",serif}
.region-intro p{font-size:16px;margin-top:10px;color:#625D51}
.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.region-card{border:1px solid #C8B78C;display:flex;align-items:center;padding:29px 33px;background:#F8F6EF;gap:27px}
.region-card .icon{width:43px;height:43px;color:var(--gold)}
.region-card h3{font-family:"Noto Serif CJK JP",serif;color:var(--gold);font-size:27px}
.region-card p{font-size:14px;color:#6A6254}
.region-card>.text-arrow{margin-left:auto;color:var(--gold);font-size:28px}
.columns{padding:79px 0;background:#F8F7F3;border-block:1px solid #EBE6DB}
.columns .section-heading{margin-bottom:37px}
.columns-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.column-category{border:1px solid #DFD8C9;background:#fff}
.column-category summary{list-style:none;cursor:pointer;display:flex;min-height:155px;padding:18px 17px;gap:17px;align-items:center}
.column-category summary::-webkit-details-marker{display:none}
.col-image-placeholder{flex-shrink:0;width:89px;height:112px;background:#F3F0E9;border:1px dashed #C6BDA9;display:grid;place-content:center;font-size:12px;color:#9F9177;text-align:center;line-height:1.8}
.column-copy{display:flex;flex-direction:column;flex:1;min-width:0}
.column-copy>small{color:#987838;font-size:11px;letter-spacing:.07em}
.column-copy>strong{font-size:19px;color:var(--gold);line-height:1.55;margin:4px 0 6px}
.column-copy>span{font-size:12px;line-height:1.8;color:#776F61}
.plus{font-weight:400;font-size:27px;color:var(--gold);padding-left:3px}
.column-links{border-top:1px solid #EBE5D8;padding:15px 25px}
.column-links>a{display:block;font-size:14px;border-bottom:1px solid #F0EDE6;padding:10px 0}
.smiles{padding:78px 0 73px;background:#fff}
.smiles-banner{display:grid;grid-template-columns:44% 56%;border-top:1px solid #E5DBCD;border-bottom:1px solid #E5DBCD;background:#F8F5ED;margin-bottom:40px}
.smiles-picture{background:url('assets/plan-photo-07.jpg') center/cover no-repeat;min-height:276px}
.smiles-intro{padding:36px 42px}
.smiles-intro h2{font-size:29px;color:var(--gold);letter-spacing:.02em}
.smiles-intro p{font-size:15px;color:#71695B;margin-top:16px;line-height:1.9}
.voices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}
.voice-card{border:1px solid #E6D6D8;background:#FFFBFC;padding:24px 26px;display:flex;flex-direction:column}
.voice-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;font-size:11px;color:#978486}
.voice-meta>span{background:#FAE8EE;color:#A95670;border:1px solid #E7BECA;padding:3px 11px;font-size:13px}
.voice-card h3{font-size:21px;margin-bottom:13px}
.voice-card h3 small{font-size:12px;font-weight:400;display:block;color:#847B72}
.voice-card p{font-size:15px;line-height:1.95;margin-bottom:21px}
.voice-card .text-link{margin-top:auto}
.center-action{text-align:center;margin-top:29px}
.reasons{padding:75px 0 67px;background:#F7F3E8;border-block:1px solid #E6DDC8}
.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}
.reason-card{border:1px solid #DCD2BA;background:#fff}
.reason-photo{position:relative;height:180px;overflow:hidden}
.reason-photo img{width:100%;height:100%;object-fit:cover}
.reason-photo>span{position:absolute;left:14px;bottom:12px;width:42px;height:42px;background:var(--gold);color:white;display:grid;place-items:center;font-family:serif;font-size:25px;border:1px solid #DAC999}
.reason-copy{padding:23px 21px 28px}
.reason-copy h3{font-family:"Noto Serif CJK JP",serif;font-size:23px;color:var(--gold)}
.reason-copy p{font-size:13px;color:#726B5E;margin-top:12px;line-height:1.8}
.directions{padding:51px 0}
.direction-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}
.direction-card{position:relative;text-align:center;padding:18px 15px 38px;border-right:1px solid var(--line)}
.direction-card .icon{width:43px;height:43px;color:var(--gold);margin:auto auto 15px}
.direction-card h3{font-size:21px;color:var(--gold)}
.direction-card p{font-size:12px;color:#837A68;margin-top:8px}
.direction-card>.text-arrow{position:absolute;bottom:3px;left:0;right:0;color:var(--gold);font-size:21px}
.direction-card:nth-child(2) h3,.direction-card:nth-child(2) .icon{color:var(--red)}
.instagram-section{padding:72px 0 64px;background:#FBF9F5;border-block:1px solid #EBE5D8}
.instagram-section h2{font-family:Georgia,serif;font-size:39px;letter-spacing:.03em;display:flex;justify-content:center;align-items:center;gap:15px}
.instagram-section h2 .icon{width:34px;height:34px}
.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:21px}
.instagram-placeholder{height:269px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#F4ECE6,#F5EAED);border:1px dashed #CFBDB8;color:#A9948A}
.instagram-placeholder .icon{width:46px;height:46px;margin-bottom:21px;opacity:.75}
.instagram-placeholder strong{font-size:16px;font-weight:400}
.instagram-placeholder span{font-size:12px;margin-top:7px}
.news-section{padding:80px 0}
.news-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.news-block{border-top:3px solid var(--gold);padding-top:26px}
.news-block h2{font-size:28px;color:var(--gold)}
.news-block .eyebrow{font-size:11px;margin-bottom:6px}
.news-block .block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}
.post-row{display:grid;grid-template-columns:1fr 22px;column-gap:13px;padding:19px 0;border-bottom:1px solid #E8E2D6}
.post-row time{grid-column:1 / -1;color:#9A8B6A;font-size:12px;margin-bottom:6px}
.post-row>span:not(.text-arrow){font-size:16px;line-height:1.7}
.post-row>.text-arrow{font-size:19px;color:var(--gold);align-self:center}
.suggestions{padding:77px 0}
.suggestion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}
.suggestion-card{border:1px solid #DED3BB;padding:26px 25px 30px;display:flex;align-items:start;gap:18px;background:#FCFAF6}
.suggestion-num{font-family:Georgia,serif;font-size:29px;color:#C2AD7F;line-height:1.3}
.suggestion-card>div{display:flex;flex-direction:column;height:100%}
.suggestion-card .eyebrow{font-size:10px;letter-spacing:.08em}
.suggestion-card h3{font-size:18px;font-weight:600;line-height:1.85;margin-bottom:20px}
.suggestion-card .text-link{margin-top:auto;font-size:13px}
.site-footer{border-top:1px solid #CDBB91;background:#fff;padding:59px 0 24px;color:var(--gold)}
.footer-main{display:grid;grid-template-columns:370px 1fr;gap:47px}
.footer-brand .brand{width:345px;height:86px}
.footer-brand .brand>span{font-size:15px;top:7px}
.footer-brand>strong{display:block;font-size:16px;margin-top:13px}
.footer-brand address{font-size:13px;font-style:normal;line-height:1.85;margin-top:9px}
.footer-brand .phone{font-size:33px;justify-content:start;margin:12px 0}
.footer-brand>p{font-size:12px}
.footer-menus{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:14px}
.footer-menu h3{font-size:14px;margin-bottom:16px;font-weight:700}
.footer-menu a{display:block;font-size:12px;margin:7px 0;line-height:1.65;color:#8A753F}
.footer-areas{border-top:1px solid #E8E0D0;border-bottom:1px solid #E8E0D0;margin-top:34px;padding:14px 0;font-size:13px}
.footer-areas summary{cursor:pointer}
.footer-areas .area-links{display:flex;flex-wrap:wrap;gap:10px 20px;padding:15px 0}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:27px;gap:20px;font-size:11px;color:#9A875A}
.footer-bottom .legal{display:flex;gap:25px}
.fixed-rail{position:fixed;right:10px;top:230px;z-index:20;width:57px;display:flex;flex-direction:column;gap:12px}
.fixed-rail .urgent-rail{width:57px;height:333px;overflow:hidden;border-radius:25px 0 0 0;box-shadow:0 2px 6px #0002}
.fixed-rail .urgent-rail img{width:57px;height:auto}
.fixed-rail .line-rail img{width:57px;height:auto}
.backtop{position:fixed;right:16px;bottom:25px;width:72px;height:72px;background:var(--gold);border:2px solid #D1BA7B;border-radius:50%;box-shadow:0 3px 8px #0002;color:white;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:19;line-height:1.1;font-size:13px;font-weight:600}
.backtop .icon{width:28px;height:28px;margin-bottom:3px}
.availability-alt{background:#FAF9F5;padding:58px 0;color:var(--gold)}
.availability-alt .eyebrow{color:var(--gold)}
.availability-alt .avail-header h2{font-size:27px}
.alt-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:15px}
.alt-facility{background:#fff;border:1px solid #DACFAE;padding:9px;text-align:center}
.alt-facility .image-placeholder{min-height:110px;height:110px}
.alt-facility h3{font-size:17px;margin:11px 0}
.alt-facility>span{font-size:10px;border:1px solid #BFAB7D;display:block;padding:5px}
.comparison-header{padding:38px 0;background:#fff}
.comparison-header h1{font-size:30px;color:var(--gold)}
.comparison-label{font-size:18px;background:#F2EEE4;padding:17px 0;color:var(--gold)}
.comparison-note{padding:25px 0 35px;font-size:15px;color:#6C6251}
.comparison-note p+p{margin-top:10px}


.reason-card:last-child .reason-photo img{object-position:center top;}


/* 公開サイトの実画像参照。従来の枠寸法と周囲のレイアウトを維持。 */
.avail-visual>.facility-image{display:block;width:110px;height:151px;object-fit:contain;background:#ECE8DF;position:relative;border:0}

.column-image{display:block;flex:0 0 89px;width:89px;height:112px;object-fit:cover;object-position:82% center;border:0;background:#F5F1E9}

.venue-card>.venue-image{display:block;width:100%;height:198px;object-fit:cover;object-position:center;border:0;border-bottom:1px solid #E5DDCE}

.alt-facility>.alt-facility-image{display:block;width:100%;height:110px;object-fit:contain;background:#ECE8DF;border:0}

.public-source-image{font-size:11px;color:#776B52}

.public-image-error{font-size:11px;color:#776B52}




/* 2026-09-21 targeted repairs. Source artwork, copy, and section order are retained. */
:root{--gold:#68511F;--rail-space:88px}
html{scroll-padding-top:24px}
body{min-width:0}
.wrap{width:min(1320px,calc(100% - 176px));max-width:none}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #957027;outline-offset:4px}
a:hover{text-decoration-thickness:1px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:18px;top:-80px;background:var(--gold);color:white;padding:10px 18px;z-index:300}.skip-link:focus{top:12px}
.topbar{height:auto;min-height:34px;white-space:normal}.toplinks{flex-shrink:0;white-space:nowrap}
.header-main{gap:24px;height:132px}.brand{width:clamp(300px,26.25vw,420px);height:auto;aspect-ratio:4/1}.brand>span{font-size:clamp(14px,1.18vw,19px);top:7.5%}
.header-main .phone{font-size:clamp(39px,3.6vw,58px)}.header-phone>span{font-size:clamp(11px,.94vw,15px)}
.header-actions{width:218px}.header-mail{font-size:20px}
.main-nav{position:relative;z-index:60;height:64px;background:#fff}.main-nav .wrap{display:block}.nav-list,.nav-submenu ul{list-style:none;padding:0;margin:0}
.nav-list{height:100%;display:flex;align-items:stretch;justify-content:space-between;gap:5px}.nav-item{position:relative;min-width:0}.nav-heading{display:flex;align-items:stretch;height:100%}
.main-nav .nav-link{font-size:clamp(15px,1.13vw,18px);padding:0 4px;color:#25241f}.main-nav .nav-link:hover{color:#25241f}
.main-nav .nav-link::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:transparent}
.main-nav .nav-link.active::after,.nav-item:hover .nav-link::after,.nav-item:focus-within .nav-link::after,.nav-item.is-open .nav-link::after{background:var(--gold)}
.submenu-toggle{background:transparent;border:0;width:22px;min-height:44px;padding:0;color:var(--gold);font-size:16px;align-self:center}
.nav-submenu{display:none;position:absolute;left:0;top:100%;min-width:290px;width:max-content;max-width:calc(100vw - 176px);background:white;border:1px solid #d6c7a5;box-shadow:0 8px 20px #00000018;padding:9px;max-height:min(66vh,570px);overflow-y:auto;overscroll-behavior:contain}
.nav-item.is-open>.nav-submenu{display:block}.nav-item:nth-last-child(-n+4)>.nav-submenu{left:auto;right:0}
.nav-submenu a{justify-content:flex-start;font-size:16px;font-weight:500;white-space:nowrap;padding:9px 14px;min-height:44px;line-height:1.5;border-bottom:1px solid #f0eadf}
.nav-submenu a:hover,.nav-submenu a:focus-visible{color:#fff;background:var(--gold);outline-offset:-3px}
.nav-submenu-wide{width:760px;left:50%;transform:translateX(-50%)}.nav-submenu-wide ul{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.nav-submenu-wide a{font-size:15px}
.nav-submenu-areas{width:850px}.nav-submenu-areas ul{grid-template-columns:repeat(4,1fr)}
.mobile-menu-toggle{display:none}
/* Four-panel full-width hero, using local assets and editable text. */
.carousel{min-width:0}.carousel-viewport{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.carousel-viewport::-webkit-scrollbar{display:none}.carousel-track{display:flex!important;gap:24px;min-width:0;align-items:stretch}
.carousel-item{min-width:0;scroll-snap-align:start;scroll-snap-stop:always;flex-shrink:0}
.hero-track{gap:0}.hero-slide{flex:0 0 100%;height:clamp(278px,25.2632vw,480px);position:relative;overflow:hidden}
.hero-source-link{display:block;width:100%;height:100%}.hero .hero-desktop-image{width:100%;height:100%;object-fit:fill}
.hero-mobile-copy{display:none}.hero-editorial{background:linear-gradient(120deg,#f6f3e9 0%,#fffdfa 54%,#e9e0cb 54%)}
.hero-editorial-inner{width:min(1460px,calc(100% - 180px));margin:auto;height:100%;display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:40px;padding:24px 0}
.hero-copy h2{color:var(--gold);font-size:clamp(24px,2.45vw,40px);line-height:1.5;letter-spacing:.025em}.hero-copy h2 b{font-size:1.22em}.hero-copy p{font-size:clamp(13px,1.05vw,18px);margin:12px 0 18px;color:#5f5748}.hero-copy .eyebrow{font-size:clamp(11px,.9vw,15px);letter-spacing:.07em;margin-bottom:9px}.hero-copy .button{min-height:44px;font-size:15px;padding:8px 18px}
.hero-photo-layout{height:100%;max-height:370px;position:relative;overflow:hidden;background:#efe7d6;border:1px solid #cab587}.hero-photo-layout>img{width:100%;height:100%;object-fit:cover}.hero-photo-caption{position:absolute;bottom:0;left:0;right:0;background:#68511fe8;color:white;font-size:15px;text-align:center;padding:11px}
.hero-home{background:linear-gradient(120deg,#faf5ec 0%,#fffdfa 54%,#eee2d3 54%)}
.carousel-bottom{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px;min-height:44px}.hero>.carousel-bottom{margin:0;padding:6px 0;background:#fcfbf8;min-height:48px;gap:25px}
.round-arrow{font-size:25px;height:44px;width:44px;flex:0 0 44px;line-height:1;border-color:#c3af8a;color:var(--gold);background:#ffffffde;transition:background .2s,color .2s}.round-arrow:hover{background:var(--gold);color:white}
.carousel-dots{display:flex;align-items:center;justify-content:center;gap:0;min-height:36px;flex-wrap:wrap}
.carousel-dot{position:relative;width:28px;height:36px;padding:0;border:0;background:transparent}.carousel-dot:after{content:"";width:8px;height:8px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#c4b9a6}.carousel-dot[aria-current="true"]:after{width:18px;height:8px;border-radius:5px;background:var(--gold)}
.carousel-bottom[hidden]{display:none}
/* Req9: four distinct dark-gold panels, not one flat strip. */
.quick-links{padding:15px 0;background:linear-gradient(110deg,#a58e49,#80651f 58%,#a58e49)}.quick-links .wrap{gap:12px}.quick-link,.quick-link:first-child{border:1px solid #c4ad63;background:#70561ebf;padding:13px 19px;gap:15px;min-height:78px}.quick-link:hover{background:#60480e}.quick-link strong{font-size:20px;font-family:"Noto Serif CJK JP","Yu Mincho",serif}.quick-link small{font-size:11px;color:#fff5da;letter-spacing:.025em}.quick-link .icon{width:38px;height:38px}
/* Keep authentic source copy and graphics; improve image proportions. */
.trust-grid{grid-template-columns:245px 1fr 1fr;gap:34px}.trust-crown{width:232px}.trust-copy h2{font-size:24px}.trust-copy.last{padding-left:30px}
.petal{box-shadow:inset 5px 3px 12px #fff6;border-radius:78% 12% 75% 12%;filter:blur(.3px)}
.card-carousel .carousel-item{flex:0 0 calc((100% - 48px)/3)}
.carousel-reviews .review-card{min-height:340px}.review-full{margin-top:12px}.review-full summary{font-size:14px;color:var(--gold);cursor:pointer}.review-full[open] p{margin-top:14px}.review-full[open]{max-height:370px;overflow:auto;padding-right:10px}.review-full p{font-size:14px}
.carousel-venues .carousel-item,.carousel-voices .carousel-item{flex-basis:calc((100% - 48px)/2.4)}
.availability-card{grid-template-columns:minmax(98px,43%) 1fr;min-height:130px}.avail-visual>.facility-image{width:100%;height:100%;min-height:130px;object-fit:cover;object-position:center;background:#f6f2e9}.avail-text{padding:11px 10px}.avail-text h3{font-size:16px;line-height:1.5}.avail-text b{font-size:11px}.facility-index{background:#ffffffc7;padding:0 4px;top:4px;left:4px;line-height:1.5}
.plans-grid.basic{grid-template-columns:repeat(4,minmax(0,293px))}.plans-grid.home{grid-template-columns:repeat(3,minmax(0,293px))}.plan-card img{width:100%;height:auto}.plan-category{max-width:1214px}
.contact-layout{grid-template-columns:minmax(235px,.94fr) minmax(325px,1.22fr) 326px;gap:22px}.contact-copy h2{font-size:22px}.contact-call .phone{font-size:45px}.contact-call .phone .icon{width:28px}.contact-actions .button{font-size:13px;gap:7px;padding:10px}
.staff-set{grid-template-columns:repeat(3,100px);gap:13px;justify-content:end}.staff-photo-frame{width:100px;height:132px;display:flex;align-items:flex-end;background:#fff;overflow:hidden}.staff-set figure img.staff-original{width:100px;height:120px;object-fit:contain}.staff-set figure img.staff-miho{width:100px;height:132px;object-fit:cover}.staff-set figcaption{font-size:13px}
.venue-card>.venue-image{height:205px}.venue-card>div{padding:22px}.venue-card .button{font-size:14px;width:100%;gap:10px;padding:9px 14px}.venue-card h3{font-size:23px}.venue-card p{font-size:14px}
.column-image{flex:0 0 125px;width:125px;height:112px;object-fit:contain;object-position:center;background:#fff}.column-category summary{min-height:156px}.column-copy>strong{font-size:18px}.column-copy>span{font-size:12px}.column-category[open] .plus{transform:rotate(45deg)}
.smiles-intro h2{font-size:28px}.voice-card p{font-size:15px}.reason-grid{gap:19px}.reason-copy h3{font-size:22px}.direction-card h3{font-size:19px}.region-card{padding:26px;gap:20px}.region-card h3{font-size:26px}
.instagram-grid{gap:21px}.instagram-card{border:1px solid #e1d8c9;background:#fff;min-width:0}.instagram-photo-link{display:block;overflow:hidden}.instagram-card img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;transition:transform .25s}.instagram-photo-link:hover img{transform:scale(1.018)}.instagram-caption{padding:15px 17px}.instagram-date{font-size:12px;color:#756649}.instagram-caption h3{font-size:15px;color:var(--gold);margin:5px 0;line-height:1.7}.instagram-link-status{font-size:11px;color:#82745d}
.image-dialog{position:fixed;inset:0;border:1px solid #cfbfa0;background:#fffdf9;padding:24px;max-width:min(90vw,780px);max-height:94dvh;overflow:auto;color:#292823}.image-dialog::backdrop{background:#1f1b15c9}.image-dialog>img{max-height:70dvh;width:auto;max-width:100%;margin:auto}.dialog-close{position:sticky;display:block;top:0;margin:0 0 8px auto;width:44px;height:44px;border:1px solid var(--gold);background:white;color:var(--gold);font-size:28px;z-index:1}.dialog-caption{text-align:center;font-size:16px;margin:12px 0}.image-dialog .button{display:flex;max-width:450px;margin:12px auto 0;font-size:14px}
[data-preview-unavailable]{cursor:default;color:#6e685d}.news-block>p{font-size:12px;color:#7a6e57}.post-row[aria-disabled="true"]{opacity:.85}
.footer-main{grid-template-columns:330px 1fr;gap:35px}.footer-brand .brand{width:320px;height:auto}.footer-menus{gap:18px}.footer-menu a,.footer-menu>span{display:block;font-size:12px;margin:7px 0;line-height:1.65}.footer-brand .brand>span{top:7%;font-size:14px}.footer-menu a{color:var(--gold)}
/* Desktop fixed elements sit inside the reserved side gutter. */
.fixed-rail{position:fixed;right:12px;top:50%;transform:translateY(-57%);width:54px;gap:12px;z-index:80}.fixed-rail .urgent-rail{width:100%;height:auto;overflow:hidden;max-height:318px;border-radius:22px 0 0 0}.fixed-rail .urgent-rail img,.fixed-rail .line-rail img{width:100%;height:auto}.fixed-rail .line-rail{display:block}
.backtop{position:fixed;right:13px;bottom:22px;width:62px;height:62px;z-index:90;font-size:11px}.backtop .icon{width:24px;height:24px}
.mobile-contact-bar{display:none}
.alt-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.alt-facility h3{font-size:15px}.comparison-header h1{font-size:28px}.comparison-label{padding-left:0}
@media(max-width:1350px) and (min-width:1101px){.header-main{gap:18px}.brand{width:310px}.header-actions{width:196px}.header-mail{font-size:18px;grid-template-columns:49px 1fr}.header-phone>span{font-size:11px}.header-main .phone{font-size:43px}.header-main .phone .icon{width:27px}.quick-link{padding:12px;gap:10px}.quick-link strong{font-size:17px}.quick-link small{font-size:10px}.quick-link .icon{width:30px;height:30px}.contact-layout{grid-template-columns:1fr 1.25fr 292px;gap:15px}.contact-copy h2{font-size:18px}.contact-copy p{font-size:13px}.contact-call .phone{font-size:38px}.staff-set{grid-template-columns:repeat(3,90px);gap:10px}.staff-photo-frame{width:90px;height:119px}.staff-set figure img.staff-original{width:90px;height:108px}.staff-set figure img.staff-miho{width:90px;height:119px}.trust-grid{grid-template-columns:205px 1fr 1fr;gap:25px}.trust-crown{width:200px}.trust-copy h2{font-size:22px}.trust-copy p{font-size:15px}.footer-main{grid-template-columns:300px 1fr;gap:24px}.footer-brand .brand{width:280px}.footer-menus{gap:11px}.footer-menu h3{font-size:13px}.footer-menu a{font-size:11px}}
@media(max-width:1100px){
 .wrap{width:calc(100% - 48px)}body{padding-bottom:86px}.topbar{font-size:10px;padding:8px 18px;gap:12px}.toplinks{gap:12px}.header-main{height:auto;min-height:120px;flex-wrap:wrap;gap:12px 24px;padding:20px 0}.brand{width:315px}.brand>span{font-size:14px}.header-phone{margin-left:auto}.header-actions{display:none}.header-main .phone{font-size:43px}.header-main .phone .icon{width:28px}.header-phone>span{font-size:11px}
 .mobile-menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #b9a572;background:white;color:var(--gold);height:52px;width:60px;font-size:10px;line-height:1.3;padding:4px}.mobile-menu-toggle>span:first-child{font-size:23px;line-height:1.2}
 .main-nav{height:auto;z-index:100;border-top:1px solid #e8dec9}.js .main-nav{display:none}.js .main-nav.is-mobile-open{display:block}.main-nav .wrap{width:100%;max-height:66vh;overflow:auto}.nav-list{display:block;height:auto}.nav-heading{height:auto;min-height:50px;padding:0 24px;border-bottom:1px solid #e8dfd1}.main-nav .nav-link{padding:12px 0;font-size:16px;justify-content:flex-start;flex:1}.submenu-toggle{width:48px;align-self:stretch;border-left:1px solid #e9dfca;font-size:20px}.nav-submenu,.nav-submenu-wide,.nav-submenu-areas,.nav-item:nth-last-child(-n+4)>.nav-submenu{position:static;width:100%;min-width:0;max-width:none;max-height:none;transform:none;border:0;border-bottom:1px solid #d6c7a5;box-shadow:none;padding:9px 20px;background:#fbf9f4}.nav-submenu-wide ul,.nav-submenu-areas ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav-submenu a{font-size:14px;white-space:normal;padding:9px 12px}.nav-item .nav-link::after{display:none}
 .fixed-rail{display:none}.mobile-contact-bar{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:110;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border-top:1px solid #c9b588;padding:7px 75px calc(7px + env(safe-area-inset-bottom)) 9px;gap:5px;box-shadow:0 -3px 12px #0001;min-height:73px}.mobile-contact-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:55px;line-height:1.5;background:var(--gold);color:#fff;padding:4px}.mobile-contact-bar a:nth-child(2){background:var(--red)}.mobile-contact-bar a:nth-child(3){background:#087e33}.mobile-contact-bar span{font-size:10px}.mobile-contact-bar b{font-size:14px}.backtop{bottom:calc(10px + env(safe-area-inset-bottom));right:11px;width:52px;height:52px;z-index:111}
 .hero-slide{height:330px}.hero-editorial-inner{width:calc(100% - 76px);gap:25px}.hero-copy h2{font-size:27px}.hero-copy p{font-size:13px}.hero-copy .button{font-size:13px;padding:8px 14px}.hero-photo-caption{font-size:12px}.hero-copy .eyebrow{font-size:11px}.hero-desktop-image{object-fit:cover!important}.quick-links .wrap{gap:9px}.quick-link{padding:12px 9px;gap:9px}.quick-link strong{font-size:16px}.quick-link .icon{width:27px;height:27px}.quick-link small{font-size:9px}.quick-link>.text-arrow{font-size:18px}
 .trust{padding:48px 0}.trust-grid{grid-template-columns:180px 1fr 1fr;gap:24px}.trust-crown{width:180px}.trust-copy h2{font-size:20px}.trust-copy p{font-size:14px}.trust-copy.last{padding-left:22px}.voice-intro h2{font-size:29px}.voice-intro p{font-size:15px}.button{font-size:14px}.availability-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.avail-header h2{font-size:29px}.availability-card{grid-template-columns:43% 1fr}.avail-text h3{font-size:16px}.avail-header p{font-size:14px}
 .contact-layout{grid-template-columns:1fr 1.15fr;gap:24px}.staff-set{grid-column:1/-1;justify-content:center}.contact-copy h2{font-size:24px}.contact-call .phone{font-size:43px}.contact-actions .button{font-size:14px}.region-card{gap:15px;padding:23px}.region-card h3{font-size:22px}.region-card p{font-size:12px}.region-card .icon{width:35px;height:35px}.region-card>.text-arrow{font-size:22px}.columns-grid{gap:14px}.column-category summary{gap:12px;padding:15px}.column-image{width:100px;flex-basis:100px;height:100px}.column-copy>strong{font-size:17px}.column-copy>span{font-size:11px}.reason-grid{gap:15px}.reason-copy{padding:18px}.reason-copy h3{font-size:20px}.direction-card{padding:18px 9px 36px}.direction-card h3{font-size:16px}.direction-card p{font-size:11px}.instagram-grid{gap:15px}.instagram-caption{padding:11px}.instagram-caption h3{font-size:14px}.news-columns{gap:30px}.suggestion-grid{gap:16px}.suggestion-card{padding:22px 18px;gap:12px}.suggestion-card h3{font-size:16px}.footer-main{grid-template-columns:1fr;gap:25px}.footer-menus{grid-template-columns:repeat(4,1fr)}.footer-brand .brand{width:315px}.footer-brand>.phone{justify-content:flex-start}
 .alt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:767px){
 body{font-size:15px}.wrap{width:calc(100% - 36px)}.topbar{padding:7px 14px;align-items:flex-start}.topbar>span{font-size:9px;line-height:1.65;max-width:68%}.toplinks{display:block;font-size:9px;text-align:right}.toplinks a{display:block}.header-main{gap:12px 10px;min-height:130px;padding:16px 0 13px;position:relative}.header-main>a{flex:1}.brand{width:242px;max-width:100%;height:auto}.brand>span{font-size:11px;top:6px;letter-spacing:.03em}.mobile-menu-toggle{width:52px;height:51px;order:2;position:absolute;right:0;top:19px}.header-phone{order:3;flex:0 0 100%;margin:0;text-align:left}.header-phone>span{font-size:10px;margin-bottom:3px}.header-main .phone{font-size:35px;justify-content:flex-start;gap:8px}.header-main .phone .icon{width:23px;height:23px}.header-main .phone{line-height:1.16}.header-main>a .brand{max-width:calc(100% - 66px)}
 .nav-submenu-wide ul{grid-template-columns:1fr}.nav-submenu-areas ul{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav .nav-link{font-size:16px}.nav-submenu a{font-size:14px}.hero-slide{height:370px}.hero .hero-desktop-image{display:none}.hero-mobile-copy{height:100%;padding:23px 25px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#f9f6ee,#eee5d0)}.hero-mobile-copy .eyebrow{font-size:10px;letter-spacing:.055em;margin-bottom:8px}.hero-mobile-copy h2{font-size:24px;color:var(--gold);line-height:1.45;letter-spacing:.035em}.hero-mobile-copy h2 b{font-size:40px}.mobile-hero-pictures{display:flex;align-items:center;justify-content:center;gap:20px;height:126px;margin-top:15px}.hero .mobile-hero-pictures img{width:auto;height:100%;object-fit:contain}.hero .mobile-hero-pictures img:first-child{height:120px}.hero .mobile-venue-photo{width:230px;height:132px;object-fit:cover;margin-top:16px;border:1px solid #cbb57e}.hero-editorial-inner{width:100%;padding:23px 25px 16px;display:flex;flex-direction:column;gap:13px;text-align:center;justify-content:space-between}.hero-copy h2{font-size:24px;line-height:1.4}.hero-copy h2 b{font-size:29px}.hero-copy p{font-size:12px;margin:10px 0}.hero-copy .eyebrow{font-size:10px;margin-bottom:9px}.hero-copy .button{min-height:38px;padding:7px 15px;font-size:12px}.hero-photo-layout{width:100%;height:118px;min-height:102px;flex-shrink:0}.hero-photo-caption{padding:4px;font-size:10px}.hero>.carousel-bottom{min-height:50px;padding:3px}.hero .round-arrow{width:38px;height:38px;flex-basis:38px}.quick-links{padding:14px 0}.quick-links .wrap{grid-template-columns:1fr 1fr;gap:8px}.quick-link,.quick-link:first-child{padding:11px 10px;gap:9px;min-height:67px}.quick-link .icon{width:26px;height:26px}.quick-link strong{font-size:14px}.quick-link small{font-size:8px;letter-spacing:0;line-height:1.5}.quick-link>.text-arrow{font-size:17px;margin-left:auto}
 h2{font-size:27px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:26px;line-height:1.6;letter-spacing:.025em}.section-heading p{font-size:14px;margin-top:13px;line-height:1.9}.section-heading:after{margin-top:17px}.eyebrow{font-size:10px}.trust{padding:37px 0 42px}.trust-grid{grid-template-columns:1fr;gap:27px}.trust-crown{width:170px}.trust-copy h2{font-size:23px;line-height:1.6;margin-bottom:12px}.trust-copy p{font-size:14px;line-height:2}.trust-copy.last{padding-left:0;border-left:0;border-top:1px solid #ded8cc;padding-top:25px}.trust-copy h2 br{display:none}.voice-review{padding:39px 0}.voice-intro{display:block;margin-bottom:22px}.voice-intro h2{font-size:27px}.voice-intro p{font-size:14px}.voice-intro .button{margin-top:17px;font-size:13px;min-height:44px;padding:8px 15px}.google-head{align-items:flex-start;flex-direction:column;gap:15px;padding-top:22px;margin:26px 0 21px}.google-head img{width:220px}.google-head .text-link{font-size:13px}.carousel-track{gap:15px}.card-carousel .carousel-item,.carousel-venues .carousel-item,.carousel-voices .carousel-item{flex:0 0 calc(100% - 27px)}.carousel-reviews .review-card{padding:22px;min-height:340px}.review-card p{font-size:14px;line-height:1.95}.review-author{font-size:12px}.carousel-bottom{margin-top:18px;gap:13px}.carousel-dots{gap:0}.carousel-dot{width:24px}.stars{font-size:18px}
 .availability-section{padding:41px 0 35px}.avail-header{display:block;margin-bottom:22px}.avail-header h2{font-size:25px;letter-spacing:.025em}.avail-header p{font-size:13px}.avail-header .button{margin-top:18px;min-height:42px;padding:8px 15px;font-size:13px}.availability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.availability-card{display:flex;flex-direction:column;min-height:0}.avail-visual{height:95px}.avail-visual>.facility-image{width:100%;height:95px;min-height:0;object-fit:cover}.avail-text{padding:10px 10px 12px;flex:1}.avail-text h3{font-size:15px;line-height:1.5;letter-spacing:-.015em}.resources{font-size:10px}.avail-text b{font-size:10px;padding-top:8px}.city{font-size:9px}.on-gold{font-size:11px}.plans{padding:43px 0 45px}.plan-kicker{font-size:17px;padding:8px 28px;margin-bottom:20px}.plans .section-heading{margin-bottom:26px}.plan-category{display:block;padding-bottom:11px;margin-bottom:15px}.plan-category h3{font-size:22px}.plan-category p{font-size:12px;line-height:1.8;margin-top:4px}.plans-grid.basic,.plans-grid.home{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plans-grid.home .plan-card:last-child{grid-column:1/-1;justify-self:center;width:calc((100% - 10px)/2)}.home-title{margin-top:32px}
 .contact-band{padding:31px 0}.contact-layout{display:flex;flex-direction:column;gap:21px;align-items:stretch}.contact-copy{text-align:center}.contact-copy .eyebrow{font-size:11px}.contact-copy h2{font-size:24px}.contact-copy p{font-size:13px;margin-top:10px}.contact-call .phone{font-size:37px;letter-spacing:-.8px;gap:7px}.contact-call .phone .icon{width:24px;height:24px}.contact-actions{margin-top:14px;gap:9px}.contact-actions .button{font-size:12px;min-height:43px;padding:9px 10px}.staff-set{display:grid;grid-template-columns:repeat(3,minmax(0,94px));gap:13px;justify-content:center}.staff-photo-frame{width:94px;height:124px}.staff-set figure img.staff-original{width:94px;height:113px}.staff-set figure img.staff-miho{width:94px;height:124px}.staff-set figcaption{font-size:12px}
 .venues{padding:44px 0}.local-heading h3{font-size:21px}.venue-card>.venue-image{height:183px}.venue-card>div{padding:20px}.venue-card h3{font-size:22px}.venue-card p{font-size:13px}.region-intro{margin:33px 0 22px}.region-intro h3{font-size:21px;line-height:1.7}.region-intro p{font-size:13px}.region-grid{grid-template-columns:1fr;gap:12px}.region-card{padding:21px 18px;gap:16px}.region-card h3{font-size:21px}.region-card p{font-size:11px}.region-card .icon{width:32px}.region-card>.text-arrow{font-size:23px}.columns{padding:43px 0}.columns-grid{grid-template-columns:1fr;gap:12px}.column-category summary{padding:14px 12px;gap:11px;min-height:123px}.column-image{width:87px;flex-basis:87px;height:89px}.column-copy>strong{font-size:16px;line-height:1.6;margin-bottom:4px}.column-copy>span{font-size:11px;line-height:1.7}.column-copy>small{font-size:10px}.plus{font-size:22px;padding-left:0}.column-links{padding:9px 17px}.column-links>a{font-size:13px;line-height:1.8;padding:11px 0}
 .smiles{padding:44px 0}.smiles-banner{grid-template-columns:1fr;margin-bottom:25px}.smiles-picture{min-height:175px}.smiles-intro{padding:24px 22px}.smiles-intro h2{font-size:24px;line-height:1.65}.smiles-intro p{font-size:13px;line-height:1.9}.voice-card{padding:21px}.voice-card p{font-size:14px}.voice-card h3{font-size:20px}.voice-meta{font-size:10px}.voice-meta>span{font-size:12px}.center-action{margin-top:24px}.center-action .button{font-size:13px;padding:9px 18px}.reasons{padding:44px 0}.reason-grid{grid-template-columns:1fr 1fr;gap:12px}.reason-photo{height:122px}.reason-photo>span{width:31px;height:31px;font-size:20px;left:9px;bottom:9px}.reason-copy{padding:16px 13px 19px}.reason-copy h3{font-size:18px;line-height:1.6}.reason-copy p{font-size:11px;line-height:1.85;margin-top:9px}.directions{padding:27px 0}.direction-grid{grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.direction-card{border-bottom:1px solid var(--line);padding:20px 10px 35px}.direction-card h3{font-size:15px}.direction-card p{font-size:10px}.direction-card .icon{width:31px;height:31px;margin-bottom:12px}.direction-card>.text-arrow{bottom:5px}
 .instagram-section{padding:44px 0 38px}.instagram-section h2{font-size:31px}.instagram-grid{grid-template-columns:1fr 1fr;gap:13px}.instagram-caption{padding:11px}.instagram-caption h3{font-size:13px}.instagram-date{font-size:10px}.instagram-link-status{font-size:10px}.image-dialog{padding:14px;max-width:94vw}.dialog-caption{font-size:14px}.image-dialog .button{font-size:11px;padding:9px 11px}
 .news-section{padding:42px 0}.news-columns{grid-template-columns:1fr;gap:37px}.news-block{padding-top:22px}.news-block h2{font-size:25px}.news-block .block-head .text-link{font-size:13px}.post-row{padding:15px 0}.post-row>span:not(.text-arrow){font-size:14px}.post-row time{font-size:11px}.news-block>p{font-size:11px}.suggestions{padding:44px 0}.suggestion-grid{grid-template-columns:1fr;gap:13px}.suggestion-card{padding:23px 20px;gap:17px}.suggestion-card h3{font-size:16px;line-height:1.85}.suggestion-card .eyebrow{font-size:10px}
 .site-footer{padding:37px 0 24px}.footer-brand .brand{width:270px;height:auto}.footer-brand .brand>span{font-size:12px;top:6px}.footer-brand>strong{font-size:14px}.footer-brand address{font-size:12px}.footer-brand .phone{font-size:30px}.footer-brand>p{font-size:11px}.footer-main{gap:22px}.footer-menus{grid-template-columns:1fr 1fr;gap:20px 17px}.footer-menu h3{font-size:13px;margin-bottom:12px}.footer-menu a,.footer-menu>span{font-size:12px;margin:8px 0;line-height:1.7}.footer-areas{font-size:12px;line-height:1.8;margin-top:28px}.footer-areas .area-links{gap:8px 16px}.footer-bottom{display:block;font-size:9px;margin-top:22px}.footer-bottom .legal{gap:13px;flex-wrap:wrap;margin-top:12px}.footer-bottom .legal a{font-size:10px}.mobile-contact-bar{padding-right:69px;padding-left:7px;gap:4px}.mobile-contact-bar span{font-size:8px}.mobile-contact-bar b{font-size:12px}.backtop{right:9px;font-size:9px}
 .alt-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.availability-alt{padding:33px 0}.comparison-header h1{font-size:23px}.comparison-note{font-size:13px}.comparison-label{font-size:16px}
}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.brand{width:224px}.brand>span{font-size:10px}.header-main .phone{font-size:33px}.quick-link strong{font-size:12px}.quick-link .icon{width:22px;height:22px}.quick-link small{font-size:7px}.quick-link{gap:7px}.quick-link>.text-arrow{font-size:13px}.staff-set{grid-template-columns:repeat(3,87px);gap:9px}.staff-photo-frame{width:87px;height:115px}.staff-set figure img.staff-original{width:87px;height:104px}.staff-set figure img.staff-miho{width:87px;height:115px}.contact-call .phone{font-size:33px}.hero-copy h2{font-size:22px}.hero-copy h2 b{font-size:26px}.column-image{width:73px;flex-basis:73px}.column-copy>strong{font-size:14px}.avail-text h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.fixed-rail,.backtop,.mobile-contact-bar,.carousel-bottom,.mobile-menu-toggle{display:none!important}body{padding:0}.wrap{width:94%}.carousel-viewport{overflow:visible}.carousel-track{flex-wrap:wrap}.hero-slide{display:none}.hero-slide:first-child{display:block}.card-carousel .carousel-item{flex-basis:31%}}

/* The phone number is source-font outline artwork; the readable number remains in HTML. */
.phone-digits{display:flex;align-items:center;min-height:1.25em}.phone-number-art{display:block;max-width:none;flex-shrink:0}.hero .hero-track{gap:0}
/* Keep the wide plan menu inside a narrow desktop viewport. */
@media(min-width:1101px){.nav-item:nth-child(3)>.nav-submenu-wide{left:0;right:auto;transform:none;width:720px}}

/* newtop2 / 2026-09-21 revision — source assets and all other sections retained. */
/* Req06: a grouping heading is not a link to the home page. */
.nav-submenu .nav-group-heading{display:block;padding:9px 14px;min-height:44px;line-height:1.5;font-size:15px;font-weight:700;color:var(--gold);background:#f4efdf;border-bottom:1px solid #d6c7a5;white-space:nowrap}
/* Req07: panels 3/4 use the same band + white paper + angled photographs as 1/2.
   Unapproved plan-count / zero-yen headline is intentionally NOT included. */
.hero-series{--series-band:14%;background:#eee6d1;font-family:"Noto Serif CJK JP","Yu Mincho",serif}
.hero-series-band{position:relative;z-index:3;height:var(--series-band);min-height:42px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;background:#5e5716;border-top:6px solid #d6cea7;color:#fffdf3;line-height:1.2;letter-spacing:.14em}
.hero-series-band>span{font-size:clamp(10px,.8vw,15px)}
.hero-series-band>strong{font-size:clamp(17px,1.48vw,28px);font-weight:700}
.hero-series .hero-editorial-inner{position:relative;display:block;width:100%;height:calc(100% - max(42px,var(--series-band)));padding:0;overflow:hidden}
.hero-series-left{position:absolute;inset:0 auto 0 0;width:27%;overflow:hidden;clip-path:polygon(0 0,100% 0,81% 100%,0 100%)}
.hero-series-left img{width:100%;height:100%;object-fit:cover;object-position:40% center}
.hero-series-paper{position:absolute;z-index:1;inset:0 auto 0 18%;width:63%;background:radial-gradient(ellipse at 35% 15%,#ffffff 0%,#faf8f0 70%,#efe6d0 100%);clip-path:polygon(0 0,100% 0,91% 100%,8% 100%)}
.hero-series-paper:before{content:"";position:absolute;left:8%;top:-4%;bottom:-4%;width:3px;transform:rotate(-8deg);background:#a48e3b;box-shadow:6px 0 #d5c89c}
.hero-series .hero-copy{position:relative;z-index:2;margin-left:25%;width:46%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 0;text-align:center}
.hero-series .hero-copy .eyebrow{font-size:clamp(11px,.91vw,17px);letter-spacing:.07em;margin:0 0 7px;color:#6c5827}
.hero-series .hero-copy h2{font-size:clamp(23px,2.08vw,39px);line-height:1.3;letter-spacing:.045em;color:#5b481f}
.hero-series .hero-copy h2 b{font-size:clamp(34px,3.6vw,68px);line-height:1.32;color:#aa1933;font-weight:700}
.hero-series.hero-home .hero-copy h2 b{color:#1e522d;font-size:clamp(29px,3.05vw,58px)}
.hero-series .hero-copy p{font:clamp(12px,1.04vw,19px)/1.7 "Noto Sans CJK JP","Yu Gothic",sans-serif;margin:9px 0 12px;color:#51432c}
.hero-series .hero-copy .button{min-height:44px;padding:8px 20px;font-size:clamp(12px,.97vw,18px);line-height:1.45;letter-spacing:.03em;gap:15px;box-shadow:none}
.hero-series .hero-photo-layout{position:absolute;inset:0 0 0 auto;width:31%;height:100%;max-height:none;border:0;clip-path:polygon(17% 0,100% 0,100% 100%,0 100%);background:#e9e0cd}
.hero-series .hero-photo-layout>img{width:100%;height:100%;object-fit:cover;object-position:50% center}
.hero-series .hero-photo-caption{font:clamp(10px,.84vw,16px)/1.5 "Noto Sans CJK JP","Yu Gothic",sans-serif;padding:10px 15px 10px 18%;background:#68511fed}
/* Req08: the complete original banner images remain visible on short desktop screens.
   The urgent source is 109x671, LINE is 67x240: no clipping or text replacement. */
@media(min-width:1101px){
 .fixed-rail{--rail-width:clamp(44px,calc((100vh - 160px)/9.737779),54px);--rail-height:calc(var(--rail-width)*9.737779 + 12px);display:flex;flex-direction:column;width:var(--rail-width);top:max(50px,calc((100vh - 106px - var(--rail-height))/2));right:12px;transform:none;gap:12px}
 .fixed-rail .urgent-rail,.fixed-rail .line-rail{display:block;width:100%;height:auto;min-height:0;max-height:none;overflow:visible;border-radius:0;background:transparent}
 .fixed-rail .urgent-rail img,.fixed-rail .line-rail img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:0}
 .fixed-rail .urgent-rail:after,.fixed-rail .line-rail:after{content:none}
}
@media(min-width:1101px) and (max-height:570px){
 .fixed-rail{--rail-width:46px;display:grid;grid-template-columns:46px 46px;align-items:start;width:100px;gap:8px;top:50px;right:12px;transform:none}
 .wrap{margin-right:124px;margin-left:auto}
 .nav-submenu{max-height:calc(100vh - 270px)}
 .backtop{right:13px;bottom:12px;width:52px;height:52px}
}
@media(max-width:1100px){
 .nav-submenu .nav-group-heading{font-size:14px;padding:9px 12px;white-space:normal}
 .hero-series .hero-copy{margin-left:24%;width:47%}
 .hero-series .hero-copy h2{font-size:25px}
 .hero-series .hero-copy h2 b{font-size:38px}
 .hero-series.hero-home .hero-copy h2 b{font-size:31px}
 .hero-series .hero-copy .eyebrow{font-size:11px}
 .hero-series .hero-copy p{font-size:12px}
 .hero-series .hero-photo-caption{padding-left:15%;font-size:10px}
}
@media(max-width:767px){
 .hero-series{--series-band:50px}
 .hero-series-band{min-height:50px;border-top-width:4px}
 .hero-series-band>span{font-size:10px}.hero-series-band>strong{font-size:19px}
 .hero-series .hero-editorial-inner{height:calc(100% - 50px)}
 .hero-series-left{display:none}
 .hero-series-paper{inset:0;width:100%;clip-path:none}
 .hero-series-paper:before{display:none}
 .hero-series .hero-copy{margin:0;width:100%;height:218px;justify-content:center;padding:10px 20px}
 .hero-series .hero-copy .eyebrow{font-size:10px;margin-bottom:7px;letter-spacing:.015em}
 .hero-series .hero-copy h2{font-size:23px;line-height:1.35}
 .hero-series .hero-copy h2 b{font-size:33px;letter-spacing:.03em}
 .hero-series.hero-home .hero-copy h2 b{font-size:29px;letter-spacing:0}
 .hero-series .hero-copy p{font-size:12px;margin:7px 0 10px;line-height:1.6}
 .hero-series .hero-copy .button{min-height:40px;padding:8px 16px;font-size:12px}
 .hero-series .hero-photo-layout{z-index:2;inset:auto 0 0;width:100%;height:102px;min-height:0;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}
 .hero-series .hero-photo-layout>img{object-position:50% 56%}
 .hero-series .hero-photo-caption{font-size:10px;line-height:1.5;padding:4px 14px;text-align:center}
}
@media(max-width:360px){.hero-series .hero-copy{padding-left:14px;padding-right:14px}.hero-series .hero-copy h2{font-size:22px}.hero-series .hero-copy h2 b{font-size:31px}.hero-series.hero-home .hero-copy h2 b{font-size:27px}}
/* Actual short-screen check also found the large area submenu crossing the left edge
   at 1101px, and its bottom extending below 600/650px viewports. Anchor it to
   the navigation's content frame and provide a bounded internal scroll region. */
@media(min-width:1101px){
 .nav-list{position:relative}
 .nav-item:nth-child(4){position:static}
 .nav-item:nth-child(4)>.nav-submenu-areas{left:0;right:auto;transform:none;width:min(850px,100%)}
 .nav-submenu{max-height:min(570px,calc(100vh - 249px))}
}
@media(min-width:1101px) and (max-height:570px){.nav-submenu{max-height:calc(100vh - 270px)}}


/* Category images: larger, edge-to-edge photos, matching the availability cards. */
#columns .column-category summary{display:grid;grid-template-columns:38% minmax(0,1fr) 22px;gap:18px;min-height:180px;padding:0 16px 0 0;align-items:center}
#columns .column-image{width:100%;height:100%;min-height:180px;object-fit:cover;object-position:82% center;align-self:stretch}
#columns .column-copy{padding:18px 0}
#columns .plus{justify-self:center}
@media(max-width:1100px) and (min-width:761px){
 #columns .column-category summary{grid-template-columns:38% minmax(0,1fr) 18px;gap:12px;padding-right:12px}
}
@media(max-width:760px){
 #columns .column-category summary{grid-template-columns:minmax(0,1fr) 22px;gap:0 14px;min-height:0;padding:0 16px 16px}
 #columns .column-image{grid-column:1/-1;width:calc(100% + 32px);max-width:none;height:auto;min-height:0;aspect-ratio:5/2;margin:0 -16px;object-fit:contain}
 #columns .column-copy{padding:16px 0 0}
 #columns .plus{margin-top:16px}
}

/* Images, title and excerpt all belong to the linked suggestion post. */
#suggestions .suggestion-card{padding:0;display:flex;flex-direction:column;gap:0;overflow:hidden;min-width:0;background:#fcfaf6}
#suggestions .suggestion-media{display:block;position:relative;flex:0 0 auto;width:100%;aspect-ratio:16/10;background:#fff;border-bottom:1px solid #e7dfce}
#suggestions .suggestion-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
#suggestions .suggestion-image.is-fallback{padding:30px}
#suggestions .suggestion-content{width:100%;height:auto;flex:1;padding:22px 24px 24px}
#suggestions time{font-size:12px;color:#897650;margin-bottom:10px}
#suggestions h3{font-size:18px;line-height:1.75;margin:0 0 14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
#suggestions .suggestion-excerpt{font-size:13px;line-height:1.9;color:#716d64;margin-bottom:20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
#suggestions .text-link{margin-top:auto;padding-top:4px}
@media(max-width:1100px) and (min-width:761px){
 #suggestions .suggestion-content{padding:18px 16px 20px}
 #suggestions h3{font-size:16px}
}
@media(max-width:760px){
 #suggestions .suggestion-grid{grid-template-columns:1fr;gap:22px}
 #suggestions .suggestion-content{padding:20px}
 #suggestions h3{font-size:17px}
}
