:root{
  --ink:#344844;--deep:#3a8277;--green:#74b9a8;--mint:#eaf7f1;--mint2:#f6fbf8;
  --cream:#fff9ef;--yellow:#f3cc70;--coral:#ee8173;--pink:#f8ddd9;--blue:#dff0f7;
  --line:#d9e8e3;--shadow:0 18px 46px rgba(45,82,75,.10);--radius:30px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;font-size:16px;line-height:1.85;background:#fff;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.inner{width:min(1180px,calc(100% - 48px));margin:auto}.caption{font-size:12px;line-height:1.65;color:#6b7975}.section{position:relative;padding:104px 0;scroll-margin-top:146px}.section-title{max-width:950px;margin:0 auto 20px;text-align:center;font:700 clamp(30px,3.1vw,44px)/1.5 "M PLUS Rounded 1c"}.section-lead{max-width:880px;margin:0 auto;text-align:center;font-size:16px}.sec-head{text-align:center;margin-bottom:44px}.sec-head b{display:block;font:800 clamp(42px,5vw,66px)/1 "M PLUS Rounded 1c";letter-spacing:.06em;color:var(--green)}.sec-head span{display:block;margin-top:7px;font-size:15px;font-weight:700}.sec-head:after{content:"";display:block;width:52px;height:5px;border-radius:999px;margin:18px auto 0;background:linear-gradient(90deg,var(--coral),var(--yellow))}.section-ill{position:absolute;z-index:2;pointer-events:none;filter:drop-shadow(0 12px 16px rgba(43,73,68,.08))}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);box-shadow:0 4px 18px rgba(50,76,72,.06)}.site-caption{margin:0;padding:4px 20px;text-align:center;font-size:12px;background:#eef8f4}.header-row{height:72px;display:flex;align-items:center;gap:24px;padding:0 max(24px,calc((100vw - 1180px)/2))}.logo{width:188px;flex:0 0 auto}.header-contact{margin-left:auto;display:flex;height:100%;align-items:stretch}.header-contact>a{display:flex;align-items:center;justify-content:center;padding:0 18px;border-left:1px solid var(--line);font-size:14px;font-weight:700}.header-contact .tel{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.header-contact .tel strong{font-size:20px;line-height:1.1}.header-contact .tel small{font-size:11px}.header-contact .inquiry{background:var(--deep);color:#fff}.site-nav{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line)}.site-nav a{padding:10px 4px 11px;text-align:center;border-left:1px solid var(--line);transition:.2s}.site-nav a:last-child{border-right:1px solid var(--line)}.site-nav b{display:block;font:700 14px "M PLUS Rounded 1c";letter-spacing:.06em}.site-nav span{font-size:12px}.site-nav a:hover{background:var(--deep);color:#fff}.menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:50%;background:var(--mint);position:relative;cursor:pointer}.menu-toggle span{position:absolute;left:12px;width:22px;height:2px;background:var(--deep);transition:.25s}.menu-toggle .bar-top{top:15px}.menu-toggle .bar-mid{top:22px}.menu-toggle .bar-bottom{top:29px}.menu-toggle.open .bar-top{transform:translateY(7px) rotate(45deg)}.menu-toggle.open .bar-mid{opacity:0}.menu-toggle.open .bar-bottom{transform:translateY(-7px) rotate(-45deg)}
.mv-copy{position:absolute;left:max(4vw,calc((100vw - 1500px)/2));top:7%;width:min(590px,42vw);padding:28px 34px 30px;background:rgba(255,255,255,.90);border-left:6px solid var(--green);border-radius:0 34px 34px 0;box-shadow:var(--shadow)}.mv-copy>p{display:inline-block;margin:0 0 7px;padding:5px 12px;border-radius:999px;background:var(--mint);font-weight:700;color:var(--deep);font-size:14px}.mv-copy h1{margin:0;font:800 clamp(42px,4.8vw,72px)/1.1 "M PLUS Rounded 1c"}.mv-copy h1 em{font-style:normal;color:var(--deep)}.mv-sub{display:flex;gap:26px;align-items:flex-end;margin-top:18px}.mv-sub span{font-size:14px;font-weight:600}.mv-sub strong{font:800 38px/1 "M PLUS Rounded 1c";color:var(--coral)}.mv-sub b strong{font-size:28px}.mv-school{position:absolute;right:2.6vw;bottom:4%;width:min(710px,59vw);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;border-radius:22px;background:rgba(255,255,255,.9);box-shadow:var(--shadow)}.mv-school p{margin:0;padding:11px 8px;text-align:center;border-radius:15px;background:#fff;border:1px solid #e6efec}.mv-school span,.mv-school small{display:block;font-size:12px}.mv-school b{display:block;font-size:13px}.mv-school strong{font:800 24px "M PLUS Rounded 1c";color:var(--coral)}.mv-ill{position:absolute;left:1.1vw;bottom:1%;width:clamp(105px,9vw,165px)}.mv-caption{margin:0;padding:5px 14px;text-align:right;background:#fff}.news{background:linear-gradient(90deg,#fff8ea,#eef8f4)}.news .inner{display:flex;gap:28px;align-items:center;padding:17px 0}.news .inner>div b{display:block;font:800 20px "M PLUS Rounded 1c";color:var(--deep)}.news .inner>div span{font-size:12px}.news p{margin:0;font-size:14px}.news time{margin-right:18px;color:var(--deep);font-weight:700}
.concept{background:linear-gradient(180deg,#fff 0,#fffaf2 100%)}.shape-a{position:absolute;right:-7vw;top:140px;width:26vw;height:26vw;border-radius:48% 52% 68% 32%/58% 42% 58% 42%;background:#eff8f4;opacity:.8}.concept-first{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.concept-text{position:relative;z-index:3}.main-catch{margin:0;color:var(--deep);font:700 clamp(26px,3vw,40px)/1.45 "M PLUS Rounded 1c"}.concept-text h2{margin:.25em 0 .6em;font:800 clamp(30px,3.7vw,50px)/1.4 "M PLUS Rounded 1c"}.concept-text h2 em{font-style:normal;font-size:1.3em;color:var(--coral)}.concept-text>p:last-child{font-size:16px}.concept-first figure{margin:0;position:relative;z-index:2}.concept-first figure img{width:100%;border-radius:42% 24px 24px 24px;box-shadow:var(--shadow)}.concept-ill{width:160px;left:-55px;bottom:-55px}.feature-heading{text-align:center;margin:80px 0 28px;font:700 24px "M PLUS Rounded 1c"}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.feature-grid article{position:relative;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(50,80,73,.06)}.feature-grid h4{font:700 16px/1.55 "M PLUS Rounded 1c"}
.land{background:#eef8f4}.land-wrap{position:relative;display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:start}.land-img{margin:0;padding:22px;border-radius:28px;background:#fff;box-shadow:var(--shadow)}.families{margin:0;color:var(--deep);font:700 13px "M PLUS Rounded 1c";letter-spacing:.1em}.families strong{font-size:44px}.land-info h2{font:700 28px/1.55 "M PLUS Rounded 1c"}.land-info>p{font-size:15px}.pill{display:inline-block;padding:7px 15px;border-radius:999px;background:var(--deep);color:#fff;font-weight:700}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.spec-grid>div{min-height:126px;padding:16px 9px;text-align:center;border-radius:18px;background:#fff;border:1px solid var(--line)}.spec-grid span,.spec-grid small{display:block;font-size:12px}.spec-grid strong{display:block;font:800 42px/1 "M PLUS Rounded 1c";color:var(--coral)}.spec-grid b{display:block;margin-top:14px;font-size:14px}.land-ill{width:115px;right:-38px;bottom:20px}.price-title{text-align:center;margin:60px 0 22px;font:700 28px "M PLUS Rounded 1c"}.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.price-item{display:grid;grid-template-columns:58px 1fr;padding:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line)}.price-item>b{grid-row:1/3;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#dcefe8;color:var(--deep);font:800 24px "M PLUS Rounded 1c"}.price-item>b small{font-size:11px}.price-item p{margin:0;padding:7px 10px;font-size:12px;line-height:1.45}.price-item p+p{border-top:1px solid #edf2f0}.price-item span{display:block;font-size:11px;color:#73817d}.price-item strong{font-size:20px;color:var(--coral)}.condition{max-width:760px;margin:26px auto 0;padding:14px 18px;text-align:center;border:1px dashed var(--green);border-radius:16px;background:#fff;font-size:14px}.cta{display:flex;align-items:center;justify-content:center;max-width:450px;margin:42px auto 0;padding:17px 24px;border-radius:999px;background:linear-gradient(90deg,#397d73,#6bb2a5);color:#fff;font-weight:700;font-size:16px;box-shadow:0 9px 22px rgba(57,125,115,.2)}
.modern{background:linear-gradient(180deg,#fff8ef,#fff)}.modern-main{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}.modern-main figure{margin:0}.modern-main figure img{border-radius:28px;box-shadow:var(--shadow)}.standard-logo{width:250px;margin-bottom:18px}.modern-main h2{font:700 26px/1.5 "M PLUS Rounded 1c"}.modern-main p{font-size:16px}.modern-ill{width:145px;right:-35px;bottom:-35px}.modern-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:60px}.modern-cards article{display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:25px;background:#fff;box-shadow:var(--shadow)}.modern-cards img{width:100%;aspect-ratio:16/9;object-fit:cover}.modern-cards div{padding:22px}.modern-cards small{color:var(--green);font-weight:700;font-size:13px}.modern-cards h3{margin:4px 0 8px;font:700 21px "M PLUS Rounded 1c"}.modern-cards p{margin:0;font-size:15px}
.plan{background:#fff}.plan-photos{position:relative;width:min(1320px,calc(100% - 40px));margin:54px auto 0;display:grid;grid-template-columns:1.45fr .78fr .78fr;grid-template-rows:1fr 1fr;gap:10px}.plan-photos figure{margin:0}.plan-photos .main{grid-row:1/3}.plan-photos img{width:100%;height:100%;object-fit:cover;border-radius:14px}.plan-photos .main img{border-radius:30px 14px 14px 30px}.plan-photos figcaption{margin-top:4px}.plan-ill-a{width:150px;left:-25px;top:-40px}.plan-ill-b{width:118px;right:-18px;bottom:-40px}.plan-list{margin-top:88px}.plan-card{padding:64px 0;border-top:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfdfc)}.plan-card-head{width:min(1180px,calc(100% - 48px));margin:auto;display:flex;align-items:flex-end;gap:24px}.plan-card-head>div:first-child p{margin:0;font-size:14px}.plan-card-head h3{margin:0;font:700 21px "M PLUS Rounded 1c"}.plan-card-head h3 strong{font-size:44px;color:var(--deep)}.plan-card-head h3 span{font-size:18px}.plan-label{margin-left:auto;text-align:right}.plan-label small{display:block;font-size:12px}.plan-label b{font:800 30px "M PLUS Rounded 1c";color:var(--green)}.plan-note{width:min(1180px,calc(100% - 48px));margin:8px auto 0;font-size:12px}.plan-tags{width:min(1180px,calc(100% - 48px));margin:18px auto 0;display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}.plan-tags li{padding:7px 13px;border-radius:999px;background:#eaf7f3;color:var(--deep);font-size:14px;font-weight:700}.plan-copy{width:min(940px,calc(100% - 48px));margin:20px auto 24px;padding:24px 28px;border-radius:24px;background:#fff;box-shadow:0 10px 26px rgba(50,82,75,.06)}.plan-copy h4{margin:0 0 8px;font:700 22px "M PLUS Rounded 1c"}.plan-copy ul{margin:0;padding-left:1.25em;font-size:15px}.floor-layout{width:80vw;max-width:1280px;margin:34px auto 0}.floor-layout figure{position:relative;margin:0}.floor-layout img{display:block;width:100%;max-width:none;height:auto}.floor-layout span{position:absolute;left:6px;top:6px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--deep);color:#fff;font:800 12px "M PLUS Rounded 1c"}.floor2{width:var(--floor2-width);margin-left:var(--floor2-left)!important;margin-bottom:18px!important}.floor1{width:var(--floor1-width)}.plan-spec{width:min(980px,calc(100% - 48px));margin:24px auto 0;padding:22px 26px;border-radius:22px;background:#fff;border:1px solid var(--line)}.plan-spec>b{display:inline-block;padding:6px 13px;border-radius:999px;background:#fff1cf;color:#7b612d}.plan-spec p{margin:8px 0 3px;font-size:15px}.plan-spec small{font-size:12px}.plan-price{font-weight:700}.plan-card>.caption{width:min(980px,calc(100% - 48px));margin:8px auto 0}
.location{background:linear-gradient(180deg,#f9fcfb,#fff)}.location-heading{text-align:center;margin:42px 0 22px;font:700 21px/1.6 "M PLUS Rounded 1c"}.location-heading.second{margin-top:64px}.photo-grid{display:grid;gap:10px}.grid8{grid-template-columns:repeat(4,1fr)}.grid6{grid-template-columns:repeat(3,1fr)}.photo-grid figure{margin:0;padding:7px;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(50,82,75,.06);border:1px solid #edf2f0}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:11px}.photo-grid figcaption{text-align:center;font-size:12px;line-height:1.55}.loc-ill-a{width:120px;right:2vw;top:210px}.loc-ill-b{width:130px;left:1vw;top:720px}.facility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:70px}.facility-panel{overflow:hidden;border-radius:20px;border:1px solid var(--line);background:#fff}.facility-panel header{padding:14px 16px;background:#eaf7f2}.facility-panel small{font-size:12px;color:#71817d}.facility-panel h3{margin:1px 0 0;font:700 19px "M PLUS Rounded 1c"}.facility-panel ul{list-style:none;margin:0;padding:0}.facility-panel li{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-top:1px solid #edf2f0;font-size:12px}.facility-panel li span{min-width:0}.facility-panel li b{font-weight:500;white-space:nowrap}.map-area{margin-top:90px;padding:86px 0;background:#eaf7f2}.map-lead{text-align:center;font-size:15px}.map-address{display:flex;align-items:center;justify-content:center;gap:30px;max-width:820px;margin:24px auto;padding:22px;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.map-address span{font-size:14px}.map-address strong{display:block;font:800 30px "M PLUS Rounded 1c";color:var(--deep)}.map-address small{font-size:12px}.map-address p{font-size:13px;margin:4px 0 0}.map-address img{max-width:220px}.map-img{width:100%;border-radius:22px;box-shadow:var(--shadow)}.map-link{display:flex;justify-content:center;max-width:680px;margin:18px auto 0;padding:15px 20px;border-radius:999px;background:var(--deep);color:#fff;font-weight:700;font-size:15px}
.access{background:#fff8ef}.access-images{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}.access-images figure{margin:0}.access-images figure img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:22px}.access-images figcaption{text-align:center;font-size:13px}.access-images>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.access-images>div img{width:100%;height:100%;aspect-ratio:1/1.15;object-fit:cover;border-radius:14px}.access-images>div p{grid-column:1/-1;text-align:center;margin:0;font-size:13px}.access-ill-a{width:115px;left:-38px;bottom:-30px}.access-ill-b{width:105px;right:-30px;top:-35px}.route{display:grid;grid-template-columns:1.12fr .88fr;gap:40px;align-items:center;margin-top:52px}.route>img{width:100%;padding:20px;border-radius:24px;background:#fff}.times{padding:24px;border-radius:24px;background:#fff;box-shadow:var(--shadow)}.times>p{margin-top:0;font-weight:700}.times article{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.times article span{font-size:15px}.times article b{font:800 42px "M PLUS Rounded 1c";color:var(--coral)}.times article b small{font-size:14px}.times>small{display:block;font-size:12px;margin:5px 0 12px}
.equipment{background:linear-gradient(180deg,#f5fbf8,#fff)}.equipment-intro{display:grid;grid-template-columns:1fr 150px;gap:24px 34px;align-items:center;max-width:920px;margin:auto}.equipment-intro h2{margin:0;font:800 34px "M PLUS Rounded 1c"}.equipment-intro p{margin:8px 0 0;font-size:16px}.equipment-intro img{width:130px}.eq-block{position:relative;margin-top:60px;padding:34px;border-radius:28px;background:#fff;box-shadow:var(--shadow)}.eq-block header small,.eq-pair header small{color:var(--green);font-weight:700;font-size:13px;letter-spacing:.08em}.eq-block header h3,.eq-pair header h3{margin:2px 0 6px;font:700 26px "M PLUS Rounded 1c"}.eq-block header p{font-size:15px}.eq-main{width:100%;max-height:650px;object-fit:cover;border-radius:20px;margin-top:18px}.eq-parts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.eq-parts.two{grid-template-columns:repeat(2,1fr)}.eq-parts figure{margin:0;padding:12px;border-radius:17px;background:#f4faf7}.eq-parts img{width:100%;max-height:260px;object-fit:contain;background:#fff;border-radius:10px}.eq-parts figcaption{text-align:center;margin-top:8px;font-size:14px;font-weight:700}.bath-ill{width:120px;right:-28px;bottom:-28px}.eq-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.eq-pair>article{padding:28px;border-radius:26px;background:#fff;box-shadow:0 10px 28px rgba(50,82,75,.06)}.eq-pair>article>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:17px;margin:15px 0}.eq-pair figure{margin:0;padding:12px;border-radius:17px;background:#f4faf7}.eq-pair figure img{width:100%;max-height:260px;object-fit:contain;background:#fff}.eq-pair figcaption b{display:block;margin-top:8px;font-size:14px}.eq-pair figcaption p{font-size:13px}.entrance-images{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.entrance-images img{width:100%;border-radius:18px}.cazas{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center;margin-top:22px}.cazas img{max-height:230px;object-fit:contain}.water-heater{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.water-heater article{padding:25px;border-radius:24px;background:#fff}.water-heater h3{font:700 20px "M PLUS Rounded 1c"}.water-heater img{width:100%;max-height:320px;object-fit:contain}.water-heater p{font-size:14px}.warranty{margin-top:62px;padding:36px 24px;border-radius:30px;background:#fff;box-shadow:var(--shadow);text-align:center}.warranty h3{margin:0 0 24px;font:700 26px "M PLUS Rounded 1c"}.warranty h3 strong{font-size:42px;color:var(--coral)}.warranty img{width:min(1100px,100%);margin:auto}
.outline{background:#fff}.outline-title{text-align:center;margin:44px 0 14px;font:700 28px "M PLUS Rounded 1c"}.outline-sub{text-align:center}.outline-table{margin:0;border-top:1px solid #cbdcd7}.outline-table>div{display:grid;grid-template-columns:230px 1fr;border-bottom:1px solid #cbdcd7}.outline-table dt{padding:12px 16px;background:#eef6f3;font-weight:700;font-size:14px}.outline-table dd{margin:0;padding:12px 16px;font-size:14px}footer{padding:70px 0;background:#315b55;color:#fff}footer h2{text-align:center;font:700 24px "M PLUS Rounded 1c"}.footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:820px;margin:30px auto}.footer-actions a{padding:20px;border:1px solid rgba(255,255,255,.35);border-radius:18px;text-align:center}.footer-actions strong,.footer-actions span{display:block}.footer-actions strong{font-size:20px}.footer-actions span{font-size:13px}.footer-brand{display:flex;align-items:center;gap:28px;margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}.footer-brand img{width:190px;filter:brightness(0) invert(1)}.footer-brand p{font-size:12px}
@media(max-width:1080px){.header-contact,.site-nav{display:none}.menu-toggle{display:block}.header-row{height:64px;padding:0 20px}.site-nav.open{display:block;position:fixed;inset:92px 0 0;width:100%;height:calc(100vh - 92px);padding:22px;background:rgba(255,255,255,.99);overflow:auto;z-index:1002}.site-nav.open a{display:block;padding:16px;border:0;border-bottom:1px solid var(--line)}.mv-copy{left:2.5vw;width:45vw}.mv-school{right:1.5vw;width:64vw}.feature-grid{grid-template-columns:repeat(2,1fr)}.facility-grid{grid-template-columns:repeat(2,1fr)}.section{scroll-margin-top:94px}}
@media(max-width:700px){body{font-size:16px}.inner{width:min(100% - 28px,560px)}.site-caption{font-size:11px;padding:3px 8px}.header-row{height:58px;padding:0 14px}.logo{width:145px}.site-nav.open{inset:64px 0 0;height:calc(100vh - 64px)}.mv picture img{height:auto;min-height:0;width:100%;object-fit:cover}.mv-copy{left:10px;top:10px;width:61%;padding:11px 13px 13px;border-left-width:4px;border-radius:0 16px 16px 0;background:rgba(255,255,255,.89)}.mv-copy>p{font-size:11px;padding:3px 7px;margin-bottom:3px}.mv-copy h1{font-size:clamp(28px,8.8vw,43px)}.mv-sub{display:block;margin-top:7px}.mv-sub span{display:block;font-size:11px}.mv-sub strong{font-size:30px}.mv-sub b strong{font-size:22px}.mv-school{top:10px;right:8px;bottom:auto;width:35%;display:block;padding:4px;border-radius:12px}.mv-school p{padding:5px 3px;margin-bottom:3px;border-radius:8px}.mv-school p:last-child{margin-bottom:0}.mv-school span,.mv-school small{font-size:11px;line-height:1.25}.mv-school b{font-size:11px}.mv-school strong{font-size:16px}.mv-ill{display:none}.mv-caption{font-size:11px;text-align:left;padding:5px 8px}.news .inner{display:block}.news .inner>div{display:flex;gap:8px;align-items:baseline}.news p{margin-top:4px;font-size:13px}.news time{display:block}.section{padding:68px 0}.sec-head{margin-bottom:28px}.sec-head b{font-size:40px}.sec-head span{font-size:14px}.section-title{font-size:26px}.section-lead{font-size:15px}.concept-first,.land-wrap,.modern-main,.route{grid-template-columns:1fr;gap:25px}.main-catch{font-size:26px}.concept-text h2{font-size:31px}.concept-ill{width:88px;left:-10px;bottom:-38px}.feature-heading{font-size:19px;margin:50px 0 20px}.feature-grid{grid-template-columns:1fr 1fr;gap:8px}.feature-grid small{padding:10px 10px 0;font-size:11px}.feature-grid h4{min-height:52px;padding:0 10px;font-size:13px}.land-img{padding:10px}.land-info h2{font-size:23px}.spec-grid{grid-template-columns:1fr}.land-ill{width:75px;right:-8px}.price-grid{grid-template-columns:repeat(2,1fr);gap:7px}.price-item{grid-template-columns:45px 1fr}.price-item>b{font-size:20px}.price-item p{font-size:11px;padding:6px 7px}.price-item span{font-size:11px}.price-item strong{font-size:17px}.modern-main h2{font-size:22px}.modern-ill{width:80px;right:-10px}.modern-cards{grid-template-columns:1fr}.plan-photos{width:calc(100% - 20px);grid-template-columns:1fr 1fr;grid-template-rows:auto}.plan-photos .main{grid-column:1/-1;grid-row:auto}.plan-photos img{aspect-ratio:4/3}.plan-photos .main img{border-radius:22px}.plan-ill-a{width:80px;left:-5px;top:-28px}.plan-ill-b{width:72px;right:-5px;bottom:-30px}.plan-list{margin-top:55px}.plan-card{padding:46px 0}.plan-card-head{width:calc(100% - 28px)}.plan-card-head h3 strong{font-size:34px}.plan-label b{font-size:24px}.plan-note,.plan-tags,.plan-copy,.plan-spec,.plan-card>.caption{width:calc(100% - 28px)}.plan-copy{padding:18px}.plan-copy h4{font-size:18px}.plan-copy ul{font-size:14px}.floor-layout{width:94vw;max-width:none;margin-top:28px}.floor-layout span{width:28px;height:28px;font-size:11px}.plan-spec{padding:18px}.plan-spec p{font-size:14px}.grid8,.grid6{grid-template-columns:1fr 1fr;gap:7px}.photo-grid figure{padding:4px}.photo-grid figcaption{font-size:11px}.loc-ill-a{width:78px;right:-10px;top:180px}.loc-ill-b{width:85px;left:-12px;top:620px}.facility-grid{grid-template-columns:1fr}.facility-panel li{font-size:11px}.map-area{padding:64px 0}.map-address{display:block;padding:18px}.map-address img{margin:15px auto 0}.access-images{grid-template-columns:1fr}.access-images>div{grid-template-columns:repeat(3,1fr)}.access-ill-a{width:78px;left:-10px}.access-ill-b{width:75px;right:-8px}.times{padding:18px}.times article span{font-size:14px}.times article b{font-size:36px}.equipment-intro{grid-template-columns:1fr}.equipment-intro h2{font-size:28px}.equipment-intro img{width:100px}.eq-block{padding:20px;margin-top:40px}.eq-parts,.eq-parts.two,.eq-pair,.water-heater{grid-template-columns:1fr}.entrance-images{grid-template-columns:1fr 1fr}.cazas{grid-template-columns:1fr}.warranty{padding:22px 10px}.warranty h3{font-size:19px}.warranty h3 strong{font-size:32px}.outline-table>div{grid-template-columns:112px 1fr}.outline-table dt,.outline-table dd{font-size:12px;padding:9px 10px}.footer-actions{grid-template-columns:1fr}.footer-brand{display:block}.footer-brand img{margin-bottom:18px}}
/* KIDS ART DIRECTION — complete visual redesign */
:root{--k-orange:#f5824b;--k-coral:#f46f67;--k-yellow:#f8dc59;--k-aqua:#67cdd1;--k-mint:#9bd7b5;--k-ink:#343434;--k-paper:#fffefa}
body{font-size:16px;background:var(--k-paper);color:var(--k-ink)} small,.caption,figcaption{font-size:12px!important;line-height:1.65}.section{padding-top:110px;padding-bottom:110px}.sec-head b{font-family:'M PLUS Rounded 1c',sans-serif;font-weight:800;letter-spacing:.08em}.sec-head span{display:inline-block;padding:4px 14px;border-radius:999px;background:var(--k-yellow);font-size:13px;font-weight:700}.sec-head:after{content:'';display:block;width:88px;height:9px;margin:16px auto;background:repeating-linear-gradient(90deg,var(--k-aqua) 0 8px,transparent 8px 13px);transform:rotate(-2deg)}
.site-header{background:rgba(255,254,250,.97);border-bottom:1px solid #eee5db}.header-contact .inquiry{background:var(--k-orange)}.site-nav a:hover{background:var(--k-yellow);color:var(--k-ink)}
.mv-copy{background:rgba(255,255,255,.92);border-radius:4px 28px 28px 4px;box-shadow:0 15px 40px rgba(70,60,45,.12)}.mv-copy>p{display:inline-block;padding:5px 11px;border:2px solid var(--k-ink);border-radius:999px;background:#fff;font-size:13px}.mv-copy h1{font-family:'M PLUS Rounded 1c',sans-serif;font-weight:700;letter-spacing:.08em}.mv-copy h1 em{position:relative;color:var(--k-ink)}.mv-copy h1 em:after{content:'';position:absolute;left:0;right:0;bottom:2px;height:10px;background:var(--k-yellow);z-index:-1;transform:rotate(-2deg)}.mv-sub strong,.mv-school strong{color:var(--k-coral)}.mv-school p{background:rgba(255,255,255,.95);border:2px solid #fff;border-radius:20px;box-shadow:0 8px 24px rgba(70,60,45,.10)}
.news{background:var(--k-orange);color:#fff}.concept{background:#fff}.concept-first figure img{border-radius:54% 46% 18px 18px}.concept-text .main-catch,.concept-text h2,.feature-heading,.land-info h2,.section-title,.location-heading{font-family:'M PLUS Rounded 1c',sans-serif}.concept-text h2 em,.families strong{color:var(--k-orange)}.feature-grid article{border:2px solid var(--k-ink);border-radius:18px;box-shadow:6px 6px 0 var(--k-yellow)}.feature-grid article:before{content:'POINT';position:absolute;right:8px;top:8px;z-index:2;padding:3px 8px;border-radius:999px;background:var(--k-aqua);color:#fff;font-size:11px;font-weight:700}
.land{background:#fff8e8}.land-img{padding:18px;background:#fff;border:3px solid var(--k-ink);box-shadow:10px 10px 0 var(--k-aqua)}.pill{border:2px solid var(--k-ink);background:var(--k-yellow)}.spec-grid div{border:2px solid var(--k-ink);background:#fff}.spec-grid strong{color:var(--k-coral)}.price-title:before,.price-title:after{content:'✦';color:var(--k-orange);margin:0 12px}.price-item{border:2px solid var(--k-ink);background:#fff}.price-item>b{background:var(--k-aqua);color:#fff}.price-item strong{color:var(--k-coral)}.cta{background:var(--k-orange);border:2px solid var(--k-ink);box-shadow:6px 6px 0 var(--k-yellow);border-radius:999px}.modern{background:#eefafa}.modern-cards article{border:2px solid var(--k-ink);border-radius:22px}.plan{background:#fff}.plan-card{border-top:4px dotted var(--k-yellow)}.plan-card-head h3 strong{color:var(--k-orange)}.plan-label b{color:var(--k-aqua)}.plan-tags li{border:2px solid var(--k-ink);background:var(--k-yellow)}.plan-copy{background:#fff8ef;border-left:7px solid var(--k-orange)}.plan-spec{border:2px solid var(--k-ink)}.floor-layout figure>span{background:var(--k-aqua)}
.location{background:#f9fbff}.photo-grid figure{border:2px solid var(--k-ink);background:#fff}.facility-panel{border:2px solid var(--k-ink)}.facility-panel header{background:var(--k-yellow)}.facility-panel li{font-size:12px;border-top:1px dashed #ccc}.map-area{background:#fff7ed}.map-address{border:2px solid var(--k-ink)}.map-address strong{color:var(--k-orange)}.map-img{border:3px solid var(--k-ink);box-shadow:10px 10px 0 var(--k-yellow)}.map-link{background:var(--k-aqua);border:2px solid var(--k-ink)}
.access-images{align-items:start}.zoo-outing{grid-column:1/-1;position:relative;min-height:230px;margin-top:12px;background:#eefbff;border-radius:80px 24px 80px 24px;overflow:hidden}.zoo-outing img{position:absolute!important;left:4%;bottom:0;width:45%!important;height:auto!important;object-fit:contain!important}.zoo-outing p{position:absolute!important;right:6%;top:25%;width:45%;padding:16px!important;background:#fff!important;border:2px solid var(--k-ink);border-radius:50%;font:700 16px/1.6 'M PLUS Rounded 1c',sans-serif;transform:rotate(-2deg)}.route{grid-template-columns:1.2fr .8fr}.route-map-wrap{position:relative;min-height:540px;padding:28px;background:#fff;border:3px solid var(--k-ink);border-radius:26px;overflow:hidden}.route-map-wrap>img:first-child{width:100%}.access-route-stroller{position:absolute;left:2%;bottom:1%;width:30%}.access-route-commute{position:absolute;right:2%;top:1%;width:25%}.times{border:2px solid var(--k-ink);background:#fff7ed}.times b{color:var(--k-orange)}
.equipment{background:#f3fbf8}.eq-block,.eq-pair>article,.water-heater article{border:2px solid var(--k-ink);background:#fff}.warranty{border:3px solid var(--k-ink);box-shadow:10px 10px 0 var(--k-yellow)}.warranty strong{color:var(--k-orange)}
@media(max-width:700px){body{font-size:16px}.section{padding-top:72px;padding-bottom:72px}.sec-head span{font-size:12px}.mv-copy>p{font-size:11px}.mv-school span,.mv-school b,.mv-school small{font-size:9px!important}.feature-grid article:before{font-size:10px}.feature-grid small{font-size:11px!important}.feature-grid h4{font-size:12px}.price-item p,.photo-grid figcaption,.facility-panel li{font-size:11px}.route{grid-template-columns:1fr}.route-map-wrap{min-height:410px;padding:15px}.access-route-stroller{width:32%}.access-route-commute{width:28%}.zoo-outing{min-height:190px}.zoo-outing p{font-size:13px}.outline-table dt,.outline-table dd{font-size:12px}}

/* HEADER / MAIN / NEWS revision 1 */
:root{--rev-orange:#f5824b;--rev-header-desktop:132px;--rev-header-mobile:84px}
.rev-header{position:sticky;top:0;z-index:9000;background:rgba(255,255,255,1);transition:background-color .25s ease,box-shadow .25s ease}
.rev-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 5px 22px rgba(36,55,51,.10)}
.rev-site-title{margin:0;height:24px;display:flex;align-items:center;justify-content:center;padding:0 18px;background:#eef8f5;color:#4e6964;font-family:"Noto Sans JP",sans-serif;font-size:11px;font-weight:500;line-height:1}
.rev-header-main{width:min(1180px,calc(100% - 34px));height:64px;margin:auto;display:flex;align-items:center;gap:12px}
.rev-logo{width:185px;flex:0 0 auto}.rev-logo img{width:100%;height:auto}
.rev-map-btn{margin-left:auto;min-height:48px;display:flex;align-items:center;justify-content:center;padding:0 18px;border-radius:12px;background:#fff0ce;color:#8b6b2d;font-size:13px;font-weight:700;transition:.22s ease}
.rev-map-btn:hover{background:#f4d98b;transform:translateY(-1px)}
.rev-phone{min-height:48px;display:grid;grid-template-columns:auto auto auto;align-items:center;column-gap:8px;padding:0 12px;border-radius:12px;background:#f8fbfa}
.rev-phone-icon{font-size:19px;line-height:1}.rev-phone strong{font-size:19px;line-height:1;white-space:nowrap}.rev-phone-notes{padding-left:8px;border-left:1px solid #dce7e4;font-size:9px;line-height:1.45;white-space:nowrap}
.rev-contact{min-height:48px;display:flex;align-items:center;gap:7px;padding:0 18px;border-radius:12px;background:var(--rev-orange);color:#fff;font-size:13px;font-weight:700;transition:.22s ease}.rev-contact:hover{filter:brightness(.94);transform:translateY(-1px)}
.rev-nav{border-top:1px solid #e0e8e6;background:inherit}.rev-nav-grid{width:min(1180px,100%);height:44px;margin:auto;display:grid;grid-template-columns:repeat(7,1fr)}
.rev-nav-grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid #e0e8e6;transition:background-color .2s ease,color .2s ease}.rev-nav-grid a:last-child{border-right:1px solid #e0e8e6}
.rev-nav-grid b{font-family:"M PLUS Rounded 1c",sans-serif;font-size:12px;line-height:1.05;letter-spacing:.08em}.rev-nav-grid span{margin-top:4px;font-size:9px;line-height:1}.rev-nav-grid a:hover,.rev-nav-grid a:focus,.rev-nav-grid a:active{background:var(--rev-orange);color:#fff}
.rev-menu-btn,.rev-mobile-contact{display:none}
.rev-mv-caption{margin:0;padding:5px max(14px,calc((100vw - 1180px)/2));background:#fff;color:#686f6d;text-align:left;font-size:10px;line-height:1.55}
.rev-news{background:var(--rev-orange);color:#fff}.rev-news-inner{width:min(1180px,calc(100% - 34px));min-height:70px;margin:auto;display:flex;align-items:center;gap:18px;padding:12px 0}.rev-news-arrow{font-size:28px;font-weight:700;line-height:1}.rev-news-label{min-width:112px;padding:8px 12px;border:1px solid rgba(255,255,255,.95);text-align:center}.rev-news-label b,.rev-news-label span{display:block;color:#fff}.rev-news-label b{font-family:"M PLUS Rounded 1c",sans-serif;font-size:17px;line-height:1.05;letter-spacing:.08em}.rev-news-label span{margin-top:2px;font-size:10px;line-height:1.05}.rev-news p{margin:0;display:flex;align-items:baseline;gap:18px;color:#fff;font-size:12px;line-height:1.6;flex-wrap:wrap}.rev-news time{color:#fff;font-weight:700;white-space:nowrap}

/* =========================================================
   MAIN BLOCK (HEADER / MAIN VISUAL / NEWS) — consolidated 2026-08
   Replaces the previous "responsive fix 2/3" and "revision 3/4/5"
   override layers. One rule per concern, no duplicated declarations.
   Breakpoints:  PC >=1081px / Tablet 701-1080px / SP <=700px
   ========================================================= */

/* line-break helper: only breaks on smartphone */
.br-sp{display:none}

/* ---- hamburger checkbox (must stay a sibling of .rev-nav) ---- */
.rev-menu-check{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}

/* ---- main visual: always fills the full window width ---- */
.rev-mv{position:relative;display:flex;flex-direction:column;background:#f3f0ec}
.rev-mv-viewport{position:relative;display:block;width:100%}
.rev-mv-media{
  position:relative;
  width:100%;
  aspect-ratio:2400/1300;
  max-height:calc(100svh - var(--rev-header-desktop));
  overflow:hidden;
}
.rev-mv-media picture{display:block;width:100%;height:100%}
.rev-mv-photo{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 66%;
}

/* title / catch artwork */
.rev-mv-a{position:absolute;left:2.6%;top:3.4%;width:33%;z-index:3}
.rev-title-art{width:100%;height:auto}
.rev-catch-art{width:77%;height:auto;margin-top:-4%;margin-left:1%}
.rev-catch-mobile{display:none}

/* tablet / smartphone band under the caption — hidden on PC */
.rev-mv-jisedai-below{display:none}

/* grade annotation: follows the caption on PC, sits under the badges on tablet/SP */
.rev-mv-grade-note{
  margin:0;
  padding:0 max(14px,calc((100vw - 1180px)/2)) 5px;
  background:#fff;
  color:#686f6d;
  text-align:left;
  font-size:10px;
  line-height:1.55;
}

/* bottom-right overlay group: performance badges + school distance cards */
.rev-mv-br{
  position:absolute;
  right:2.2%;
  bottom:3%;
  width:53%;
  z-index:4;
}
/* PC: badges sit 10px above the cards, 65% of the card width, right aligned */
.rev-mv-jisedai-band{
  width:65%;
  margin:0 0 10px auto;
  padding:0;
  background:none;
}
.rev-mv-jisedai{
  display:block;
  width:100%;
  height:auto;
}

/* school distance cards — overlaid on PC / tablet */
.rev-school-group{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:10px;
  border-radius:18px;
  background:rgba(255,255,255,.80);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.rev-school-group article{
  min-width:0;
  min-height:70px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:7px 8px;
  border-radius:13px;
  background:rgba(255,255,255,.96);
  text-align:center;
}
.rev-school-group span,
.rev-school-group b{
  display:block;
  font-size:clamp(11px,.85vw,13px);
  line-height:1.35;
  font-weight:700;
}
.rev-school-group strong{
  font-family:"M PLUS Rounded 1c",sans-serif;
  font-size:clamp(18px,1.6vw,24px);
  color:var(--rev-orange);
}
.rev-school-group small{
  display:block;
  margin-top:1px;
  font-size:clamp(10px,.75vw,11px);
  line-height:1.25;
}

/* ---------- Tablet (701-1080px): PC composition, scaled ---------- */
@media(min-width:701px) and (max-width:1080px){
  .rev-site-title{
    height:22px;padding:0 52px 0 10px;justify-content:flex-start;
    font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .rev-header-main{width:calc(100% - 24px);height:62px}
  .rev-logo{width:155px}
  .rev-map-btn,.rev-phone,.rev-contact{display:none}
  .rev-mv-media{max-height:calc(100svh - var(--rev-header-mobile))}

  /* badges move below the caption, at 80% of the previous size */
  .rev-mv-jisedai-band{display:none}
  .rev-mv-caption{order:1}
  .rev-mv-jisedai-below{
    order:2;
    display:block;
    padding:clamp(10px,1.3vw,20px) 0 0;
    background:#fff4e2;
  }
  .rev-mv-grade-note{
    order:3;
    padding:6px max(14px,calc((100vw - 1180px)/2)) clamp(10px,1.3vw,18px);
    background:#fff4e2;
    text-align:center;
  }
  .rev-mv-jisedai-below .rev-mv-jisedai{
    width:min(645px,calc(100% - 32px));
    margin:0 auto;
  }

  /* school cards stay overlaid on the visual; names never break mid-word */
  .rev-mv-br{width:66%}
  .rev-school-group article{min-height:60px;padding:6px 4px}
  .rev-school-group span,
  .rev-school-group b{
    font-size:min(1.56vw,13px);
    white-space:nowrap;
    letter-spacing:-.02em;
  }
  .rev-school-group strong{font-size:min(2.05vw,24px)}
  .rev-school-group small{font-size:min(1.25vw,11px);white-space:nowrap;letter-spacing:-.02em}
}

/* ---------- Hamburger: tablet and smartphone ---------- */
@media(max-width:1080px){
  .rev-menu-btn{
    display:block;position:relative;margin-left:auto;
    width:44px;height:44px;border:0;border-radius:50%;
    background:#fff0ce;cursor:pointer;z-index:10005;flex:0 0 44px;
  }
  .rev-menu-line{position:absolute;left:11px;width:22px;height:2px;background:#303c39;transition:.22s ease}
  .rev-menu-line-1{top:14px}
  .rev-menu-line-2{top:21px}
  .rev-menu-line-3{top:28px}
  .rev-menu-close{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-size:31px;line-height:1;font-weight:300}

  .rev-nav{display:none}
  .rev-menu-check:checked ~ .rev-nav{
    display:block;
    position:fixed;
    top:var(--rev-header-mobile);left:0;right:0;bottom:0;
    z-index:10004;
    overflow-y:auto;
    background:#fff;
  }
  .rev-menu-check:checked ~ .rev-header-main .rev-menu-btn .rev-menu-line{display:none}
  .rev-menu-check:checked ~ .rev-header-main .rev-menu-btn .rev-menu-close{display:flex}

  .rev-nav-grid{width:100%;height:auto;display:block;padding:12px 18px 0}
  .rev-nav-grid a{min-height:52px;border:0;border-bottom:1px solid #e1e7e5;text-align:center}
  .rev-nav-grid a:last-child{border-right:0}
  .rev-nav-grid b{font-size:15px}
  .rev-nav-grid span{font-size:12px}

  .rev-mobile-contact{display:block;padding:20px 18px 34px;text-align:center}
  .rev-mobile-mail{display:flex;align-items:center;justify-content:center;gap:7px;min-height:50px;border-radius:9px;background:var(--rev-orange);color:#fff;font-size:15px;font-weight:700}
  .rev-mobile-tel{display:block;margin-top:20px;font-size:18px;line-height:1.3}
  .rev-mobile-tel strong{font-size:23px}
  .rev-mobile-contact p{margin:6px 0 0;font-size:12px;line-height:1.55}
}

/* ---------- Smartphone (<=700px) ---------- */
@media(max-width:700px){
  .rev-site-title{height:22px;padding:0 52px 0 10px;justify-content:flex-start;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rev-header-main{width:calc(100% - 24px);height:62px}
  .rev-logo{width:150px}
  .rev-map-btn,.rev-phone,.rev-contact{display:none}

  .rev-mv-media{
    aspect-ratio:1536/1700;
    max-height:none;
  }
  /* title artwork top-left, catch bottom-right — no overlap */
  .rev-mv-a{left:3%;top:2.6%;width:56%}
  .rev-catch-desktop{display:none}
  .rev-catch-mobile{
    display:block;position:absolute;right:3%;bottom:3%;
    width:46%;height:auto;z-index:5;
  }
  /* flow order: visual -> caption -> school cards -> badge band */
  .rev-mv-viewport{display:contents}
  .rev-mv-media{order:0}
  .rev-mv-caption{order:1}
  .rev-mv-br{position:static;order:2;width:auto}
  .rev-mv-jisedai-band{display:none}
  .rev-mv-jisedai-below{
    display:block;
    order:3;
    padding:10px 0 0;
    background:#fff4e2;
  }
  .rev-mv-grade-note{
    order:4;
    padding:6px 12px 12px;
    background:#fff4e2;
  }
  .rev-mv-jisedai-below .rev-mv-jisedai{width:calc(100% - 24px);margin:0 auto}

  /* school cards move out of the photo: readable row under the visual */
  .rev-school-group{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    padding:8px 10px;
    border-radius:0;
    background:#fff4e2;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .rev-school-group article{
    min-height:0;
    padding:7px 4px;
    border-radius:9px;
    background:#fff;
    box-shadow:0 2px 6px rgba(70,60,45,.08);
  }
  .rev-school-group span,
  .rev-school-group b{font-size:10px;line-height:1.35;letter-spacing:-.02em}
  .rev-school-group .br-sp{display:block;height:0;font-size:0}
  .rev-school-group strong{font-size:15px;letter-spacing:-.02em}
  .rev-school-group small{font-size:9.5px;letter-spacing:-.03em}

  .rev-mv-caption{padding:5px 10px;font-size:10px;text-align:left}
  .rev-news-inner{width:calc(100% - 24px);gap:10px;align-items:flex-start}
  .rev-news-label{min-width:88px;padding:7px 8px}
  .rev-news-label b{font-size:15px}
  .rev-news p{flex:1;display:block;padding-top:3px;font-size:12px}
  .rev-news time{display:block;margin-bottom:2px}
}


/* =========================================================
   CONCEPT / LAND PLAN / NEW MODERN correction 2026-08-26
   ========================================================= */
.concept-lead,.land-lead{font-size:clamp(15px,1.15vw,18px);line-height:2;letter-spacing:.035em}
.feature-grid{align-items:stretch}
.feature-grid article{display:flex;flex-direction:column;min-width:0}
.feature-copy{min-height:104px;display:flex;flex-direction:column;justify-content:flex-end;padding:0 10px 12px}
.feature-copy h4{margin:0 0 6px!important;padding:0!important;font-size:clamp(15px,1.15vw,18px);line-height:1.45!important}
.feature-copy small{margin:0!important;padding:0!important;font-size:clamp(12px,.88vw,14px);line-height:1.4!important}
.feature-photo{position:relative;margin-top:auto}.feature-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.feature-photo span{position:absolute;left:8px;bottom:6px;color:#fff;font-size:10px;text-shadow:0 1px 4px rgba(0,0,0,.75)}
.land-wrap{position:relative}
.land-info .families{font-size:clamp(27px,3vw,48px)!important;line-height:1.1}.land-info .families strong{font-size:1.5em}
.land-info h2{line-height:1.55}
.land-area{line-height:1.7}
.land-info .pill{font-size:clamp(24px,2.4vw,38px)!important;padding:.35em .75em!important}
.land-lead{margin-top:20px}
.grade-copy{font-size:clamp(15px,1.15vw,18px);line-height:1.7;font-weight:700}.grade-copy small{font-size:.78em;font-weight:500}
.concept-jisedai{display:block;width:min(100%,760px);margin:24px auto 0}
.land-ill{width:clamp(210px,24vw,390px)!important;max-width:none!important;z-index:1}
.price-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.price-item p{white-space:nowrap}
.condition{border:3px solid rgb(103,205,209)!important;border-radius:12px;padding:18px 24px!important;font-weight:700;text-align:center;background:#fff}
.standard-logo{width:min(100%,330px)!important;max-width:none!important}
.modern-intro h2{display:inline-block;background:#ffed75;padding:.3em .7em;border-radius:999px;box-shadow:0 5px 0 rgba(245,130,75,.24)}
.modern-design,.modern-siding,.modern-next{margin-top:64px;border-radius:28px;overflow:hidden}
.modern-design{display:grid;grid-template-columns:1.05fr .95fr;gap:0;background:#fff7ee;align-items:center}
.modern-design figure{margin:0}.modern-design figure img{display:block;width:100%;height:100%;min-height:380px;object-fit:cover}.modern-design figure .caption{padding:6px 12px}
.modern-design>div{padding:clamp(28px,4vw,58px)}
.modern-design h3,.modern-siding h3,.modern-next h3{font-size:clamp(27px,3vw,44px);line-height:1.35;margin:.2em 0 .55em}
.modern-design p,.modern-siding p,.modern-next p{font-size:clamp(15px,1.15vw,18px);line-height:1.9}
.modern-design small{display:block;margin-top:14px}
.modern-siding{display:grid;grid-template-columns:.9fr 1.1fr;background:rgb(103,205,209);color:#fff;align-items:center}
.siding-copy{padding:clamp(30px,4vw,60px)}.modern-siding figure{margin:0}.modern-siding figure img{display:block;width:100%;height:100%;min-height:360px;object-fit:cover}.modern-siding .caption{padding:6px 12px;color:#fff}
.eyebrow{font-weight:700;letter-spacing:.04em}
.modern-next{padding:clamp(32px,5vw,70px);background:#fff8e9;text-align:center}.next-copy{max-width:900px;margin:auto}.main-jisedai{display:block;width:min(100%,1080px);margin:30px auto 0}.next-note{margin:18px auto 0!important;font-size:13px!important;line-height:1.65!important}
.concept-cta{display:flex!important;width:min(520px,calc(100% - 32px));margin:50px auto 0!important;align-items:center;justify-content:center;gap:10px}

@media(max-width:1199px){
  .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .price-item p{white-space:normal}
  .land-ill{width:clamp(240px,30vw,350px)!important}
}
@media(max-width:900px){
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .feature-copy{min-height:92px;padding:0 8px 10px}
  .feature-copy h4{font-size:15px}.feature-copy small{font-size:12px}
  .modern-design,.modern-siding{grid-template-columns:1fr}
  .modern-design figure img,.modern-siding figure img{min-height:0;aspect-ratio:16/10}
  .modern-siding .siding-copy{order:1}.modern-siding figure{order:2}
  .land-ill{position:relative!important;inset:auto!important;display:block!important;width:min(46vw,330px)!important;margin:18px auto -8px!important}
}
@media(max-width:700px){
  .concept-break{display:none!important}
  .concept-text h2{white-space:nowrap!important;font-size:clamp(20px,5.5vw,25px)!important}
  .feature-grid{gap:10px!important}
  .feature-copy{min-height:94px!important;justify-content:flex-end!important;padding:0 5px 8px!important}
  .feature-copy h4{font-size:clamp(12px,3.35vw,14px)!important;line-height:1.38!important;margin:0 0 5px!important}
  .feature-copy small{font-size:clamp(10px,2.75vw,12px)!important;line-height:1.35!important;overflow-wrap:anywhere}
  .feature-photo span{font-size:8px;left:5px;bottom:4px}
  .land-info .families{font-size:clamp(28px,8vw,38px)!important}
  .land-info h2{font-size:clamp(21px,5.5vw,28px)!important}
  .land-info .pill{font-size:clamp(25px,7vw,34px)!important}
  .concept-jisedai{width:100%;margin-top:20px}
  .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .price-item{padding:12px 8px!important}.price-item p{font-size:10px!important;line-height:1.45!important}.price-item p span{display:block}.price-item p strong{font-size:20px!important}
  .condition{font-size:13px;padding:14px 12px!important}
  .standard-logo{width:min(78vw,300px)!important}
  .modern-design,.modern-siding,.modern-next{margin-top:38px;border-radius:18px}
  .modern-design>div,.siding-copy,.modern-next{padding:24px 18px}
  .pc-only{display:none}
}

/* =========================================================
   SITE-WIDE RESPONSIVE PRIORITY RULES (HEADER / MAIN excluded)
   Tablet keeps desktop composition and scales fluidly.
   Smartphone alone switches to stacked/reflow layouts.
   ========================================================= */

body{
  --fs-note:clamp(12px,.82vw,13px);
  --fs-body:clamp(15px,1.06vw,17px);
  --fs-sub:clamp(18px,1.55vw,24px);
  --fs-heading:clamp(26px,2.8vw,42px);
}

/* Font floor for non-header/main content */
main .section .caption,
main .section figcaption,
main .section small,
main .section .annotation,
.footer small{
  font-size:var(--fs-note);
}
main .section .concept-lead,
main .section .land-area,
main .section .grade-copy,
main .section .modern-design p,
main .section .modern-siding p,
main .section .modern-next p{
  font-size:var(--fs-body);
}
main .section p,
main .section li,
main .section dd,
main .section dt{
  text-wrap:pretty;
}

/* PC through tablet: same composition, fluidly scaled */
@media(min-width:701px){
  main .section .inner,
  .news .inner,
  .footer .inner{
    width:min(1180px,calc(100% - clamp(34px,4vw,60px)));
  }

  main .section{
    padding-top:clamp(72px,7.6vw,110px);
    padding-bottom:clamp(72px,7.6vw,110px);
  }

  .sec-head{margin-bottom:clamp(30px,3.3vw,48px)}
  .sec-head b{font-size:clamp(36px,4.3vw,62px)}
  .sec-head span{font-size:clamp(12px,.95vw,14px)}

  .concept-first{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    gap:clamp(28px,3.8vw,56px)!important;
  }
  .concept-text h2{font-size:clamp(30px,3.45vw,50px)}
  .concept-text .main-catch{font-size:clamp(18px,1.6vw,23px)}

  .feature-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:clamp(8px,1vw,14px)!important;
  }
  .feature-copy{
    min-height:clamp(92px,7.5vw,108px)!important;
    padding:0 clamp(8px,.8vw,12px) clamp(10px,.9vw,14px)!important;
  }
  .feature-copy h4{
    font-size:clamp(14px,1.05vw,17px)!important;
    line-height:1.42!important;
    margin:0 0 6px!important;
  }
  .feature-copy small{
    font-size:clamp(12px,.84vw,13px)!important;
    line-height:1.35!important;
    margin:0!important;
  }

  .land-wrap{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:clamp(26px,3.35vw,48px)!important;
    align-items:start!important;
  }
  .land-img{padding:clamp(12px,1.25vw,18px)}
  .land-info .families{
    font-size:clamp(30px,3.1vw,48px)!important;
  }
  .land-info h2{
    font-size:clamp(22px,1.9vw,28px)!important;
    line-height:1.5!important;
  }
  .land-info .pill{
    font-size:clamp(26px,2.5vw,38px)!important;
  }
  .land-info .concept-lead{
    font-size:var(--fs-body)!important;
    line-height:1.9!important;
    letter-spacing:.025em;
  }
  .concept-jisedai{
    width:min(100%,760px)!important;
    margin:clamp(18px,2vw,28px) auto 0!important;
  }
  .grade-copy{
    margin:clamp(14px,1.5vw,22px) 0 0!important;
    line-height:1.65!important;
  }

  /* Price table: stay 4 columns until width becomes too narrow */
  .price-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:clamp(7px,.8vw,10px)!important;
  }
  .price-item p{
    white-space:nowrap!important;
    font-size:clamp(12px,.83vw,13px)!important;
  }

  .modern-main{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
    gap:clamp(26px,3.2vw,45px)!important;
  }
  .standard-logo{
    width:min(100%,330px)!important;
  }

  /* Konda7-like two-column structure */
  .modern-design,
  .modern-siding,
  .modern-next-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    gap:0!important;
  }

  .modern-design figure,
  .modern-siding figure{
    align-self:stretch;
  }
  .modern-design figure img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    min-height:0!important;
  }

  .modern-siding figure{
    background:rgb(103,205,209)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:clamp(14px,2vw,28px)!important;
  }
  .modern-siding figure img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .modern-design>div,
  .siding-copy,
  .next-copy{
    padding:clamp(28px,4vw,58px)!important;
  }

  .modern-next{
    padding:0!important;
    overflow:hidden!important;
  }
  .modern-next-grid{
    background:#fff8e9;
  }
  .modern-next-grid .main-jisedai{
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:clamp(20px,2.5vw,38px)!important;
    object-fit:contain!important;
  }
  .modern-next .next-note{
    margin:0!important;
    padding:16px clamp(20px,3vw,42px) 20px!important;
    background:#fff8e9;
  }
}

/* Switch 4 columns -> 2 columns before area notation wraps */
@media(min-width:701px) and (max-width:1180px){
  .price-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .price-item p{
    white-space:nowrap!important;
    font-size:clamp(12px,1.15vw,14px)!important;
  }
}

/* Tablet keeps PC layout */
@media(min-width:701px) and (max-width:1080px){
  .feature-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .land-wrap{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  }
  .modern-design,
  .modern-siding,
  .modern-next-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .modern-siding .siding-copy{order:initial!important}
  .modern-siding figure{order:initial!important}
}

/* Smartphone only: reflow */
@media(max-width:700px){
  main .section .caption,
  main .section figcaption,
  main .section small,
  main .section .annotation{
    font-size:12px!important;
  }

  main .section .concept-lead,
  main .section .land-area,
  main .section .grade-copy,
  main .section .modern-design p,
  main .section .modern-siding p,
  main .section .modern-next p{
    font-size:15px!important;
  }

  .feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .land-wrap{
    grid-template-columns:1fr!important;
  }
  .land-info .concept-lead{
    font-size:15px!important;
    line-height:1.85!important;
  }

  .price-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .price-item p{
    white-space:normal!important;
    font-size:12px!important;
  }

  .modern-design,
  .modern-siding,
  .modern-next-grid{
    grid-template-columns:1fr!important;
  }
  .modern-siding figure{
    padding:18px!important;
    background:rgb(103,205,209)!important;
  }
  .modern-siding figure img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .modern-next-grid .main-jisedai{
    padding:16px!important;
  }
}

/* =========================================================
   RESPONSIVE correction 6
   - Price: PC/Tablet 4 columns, Smartphone 2 columns
   - Select title: no wrap on PC/Tablet, fluid shrink
   - Siding / Next-gen: forced 2-column on PC/Tablet
   ========================================================= */

/* Price table: PC + tablet stay 4 columns */
@media(min-width:701px){
  .price-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .price-item{
    min-width:0!important;
  }
  .price-item p{
    white-space:nowrap!important;
    font-size:clamp(11.5px,.82vw,13px)!important;
    letter-spacing:-.025em!important;
  }
}

/* Smartphone only becomes 2 columns */
@media(max-width:700px){
  .price-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .price-item p{
    white-space:normal!important;
    font-size:12px!important;
    letter-spacing:0!important;
  }
}

/* "選べるオール電化住宅・ガス併用住宅"
   Keep one line on PC/tablet and shrink smoothly with width. */
@media(min-width:701px){
  .modern-select-title{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
    font-size:clamp(15px,1.55vw,24px)!important;
    line-height:1.25!important;
    letter-spacing:-.035em!important;
    padding:.32em .72em!important;
  }
}

/* Force Konda7-style 2-column blocks on PC/tablet.
   Use stronger selectors to beat prior legacy rules. */
@media(min-width:701px){
  section.modern .modern-siding{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-auto-flow:column!important;
    align-items:stretch!important;
    gap:0!important;
  }
  section.modern .modern-siding .siding-copy{
    grid-column:1!important;
    grid-row:1!important;
    order:initial!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  section.modern .modern-siding figure{
    grid-column:2!important;
    grid-row:1!important;
    order:initial!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    margin:0!important;
    padding:clamp(14px,2vw,28px)!important;
    background:rgb(103,205,209)!important;
  }
  section.modern .modern-siding figure img{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    flex:0 0 auto!important;
  }

  section.modern .modern-next-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    gap:0!important;
  }
  section.modern .modern-next-grid .next-copy{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  section.modern .modern-next-grid .main-jisedai{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
    margin:0!important;
  }

  /* Caption must never turn vertical */
  section.modern .modern-siding .siding-caption,
  section.modern .modern-siding figcaption{
    display:block!important;
    width:100%!important;
    margin-top:6px!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    line-height:1.4!important;
    text-align:left!important;
    font-size:12px!important;
  }
}

/* Smartphone: stack as before */
@media(max-width:700px){
  .modern-select-title{
    white-space:normal!important;
    width:auto!important;
    max-width:100%!important;
  }
  section.modern .modern-siding,
  section.modern .modern-next-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  section.modern .modern-siding .siding-copy,
  section.modern .modern-siding figure,
  section.modern .modern-next-grid .next-copy,
  section.modern .modern-next-grid .main-jisedai{
    grid-column:1!important;
    grid-row:auto!important;
  }
  section.modern .modern-siding figcaption{
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
  }
}


/* =========================================================
   LOCATION correction 1 — ★ instructions
   ========================================================= */

/* LOCATION heading illustrations: same placement logic as PLAN heading */
.location-heading-stage{
  position:relative;
  width:100%;
  min-height:clamp(120px,10vw,160px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.location-heading-stage .sec-head{
  position:relative;
  z-index:2;
  margin:0!important;
  flex:0 0 auto;
}
.location-heading-ill{
  position:absolute!important;
  z-index:1!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:auto!important;
  height:auto!important;
  max-height:clamp(92px,8.5vw,135px)!important;
  object-fit:contain!important;
  pointer-events:none;
}
.location-heading-ill-left{
  right:calc(50% + clamp(120px,11vw,170px))!important;
  max-width:calc(50% - clamp(140px,13vw,190px))!important;
}
.location-heading-ill-right{
  left:calc(50% + clamp(120px,11vw,170px))!important;
  max-width:calc(50% - clamp(140px,13vw,190px))!important;
}

/* MAP code block: colored background and balanced address / code composition */
.map-address{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)!important;
  gap:clamp(22px,3vw,46px)!important;
  align-items:stretch!important;
  padding:clamp(24px,3vw,44px)!important;
  border-radius:24px!important;
  background:#fff7df!important;
  border:1px solid rgba(226,166,67,.24)!important;
  box-shadow:0 12px 34px rgba(83,67,38,.08)!important;
}
.map-address>div:first-child{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
.map-address>div:first-child>span{
  color:#3f8c83!important;
  font-weight:700!important;
}
.map-address>div:first-child>strong{
  color:#2e3937!important;
}
.mapcode-box{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:clamp(18px,2.2vw,30px)!important;
  border-radius:18px!important;
  background:#f3c96f!important;
  border:2px solid rgba(255,255,255,.8)!important;
}
.mapcode-label{
  font-size:clamp(12px,.9vw,14px)!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  font-weight:800!important;
  color:#6c5220!important;
}
.mapcode-box img{
  display:block!important;
  width:min(100%,300px)!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Google Map link: pin icon at the beginning */
.map-link-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.7em!important;
}
.map-link-icon::before{
  content:""!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  width:1.05em!important;
  height:1.32em!important;
  background:currentColor!important;
  clip-path:path("M 8 0 C 3.6 0 0 3.5 0 7.8 C 0 13.2 8 20 8 20 C 8 20 16 13.2 16 7.8 C 16 3.5 12.4 0 8 0 Z M 8 4.6 A 3.2 3.2 0 1 1 8 11 A 3.2 3.2 0 1 1 8 4.6 Z")!important;
}

/* Facility photo captions remain two lines and readable */
.location .photo-grid figcaption{
  font-size:clamp(12px,.82vw,13px)!important;
  line-height:1.55!important;
}

/* Facility lists: facility left / distance right */
.location .facility-panel li{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  gap:14px!important;
  align-items:baseline!important;
}
.location .facility-panel li span{text-align:left!important;min-width:0!important}
.location .facility-panel li b{text-align:right!important;white-space:nowrap!important}

/* Explicit photo grid rules */
@media(min-width:701px){
  .location .photo-grid.grid8{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .location .photo-grid.grid6{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  .location-heading-stage{min-height:94px}
  .location-heading-ill{max-height:72px!important}
  .location-heading-ill-left{
    right:calc(50% + 86px)!important;
    max-width:calc(50% - 96px)!important;
  }
  .location-heading-ill-right{
    left:calc(50% + 86px)!important;
    max-width:calc(50% - 96px)!important;
  }
  .location .photo-grid.grid8,
  .location .photo-grid.grid6{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .map-address{
    grid-template-columns:1fr!important;
    padding:20px!important;
    border-radius:18px!important;
  }
  .mapcode-box{padding:16px!important}
  .location .facility-panel li{
    grid-template-columns:minmax(0,1fr) max-content!important;
    gap:8px!important;
  }
}

/* =========================================================
   ACCESS rebuild 2 — isolated structure, no legacy selector dependency
   ========================================================= */
#access.access2{
  background:#fffefa;
  overflow:hidden;
}
#access .access2-inner{position:relative}
#access .access2-title{
  margin:0 auto;
  max-width:1040px;
  text-align:center;
  font:700 clamp(28px,2.75vw,42px)/1.5 "M PLUS Rounded 1c",sans-serif;
  letter-spacing:.015em;
}
#access .access2-lead{
  margin:14px auto 0;
  max-width:900px;
  text-align:center;
  font-size:clamp(15px,1.05vw,17px);
  line-height:1.8;
}

#access .access2-photo-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(18px,2.5vw,36px);
  margin-top:clamp(38px,4vw,58px);
  align-items:start;
}
#access .access2-station{margin:0}
#access .access2-station img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:24px;
}
#access .access2-station figcaption,
#access .access2-tennoji-caption{
  margin:9px 0 0;
  text-align:center;
  font-size:clamp(12px,.85vw,14px);
  line-height:1.5;
}

#access .access2-tennoji{min-width:0}
#access .access2-tennoji-photos{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(6px,.8vw,10px);
}
#access .access2-tennoji-photos img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1/1.18;
  object-fit:cover;
  border-radius:16px;
}
#access .access2-zoo{
  position:relative;
  min-height:clamp(190px,16vw,255px);
  margin-top:18px;
  background:transparent!important;
}
#access .access2-zoo-ill{
  position:absolute;
  left:2%;
  bottom:0;
  width:clamp(180px,22vw,330px);
  height:auto;
  object-fit:contain;
}
#access .access2-zoo-bubble{
  position:absolute;
  right:2%;
  top:20%;
  width:min(48%,340px);
  margin:0;
  padding:18px 22px;
  border:2px solid #ef8c62;
  border-radius:28px;
  background:#fff;
  text-align:center;
  font:700 clamp(14px,1.25vw,18px)/1.6 "M PLUS Rounded 1c",sans-serif;
  box-shadow:0 8px 20px rgba(82,61,47,.08);
}
#access .access2-zoo-bubble::before{
  content:"";
  position:absolute;
  left:-17px;
  bottom:24px;
  width:26px;
  height:26px;
  background:#fff;
  border-left:2px solid #ef8c62;
  border-bottom:2px solid #ef8c62;
  transform:rotate(45deg);
}

#access .access2-route-layout{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:clamp(24px,3vw,44px);
  margin-top:clamp(52px,6vw,82px);
  align-items:center;
}
#access .access2-route-card{
  position:relative;
  min-height:clamp(520px,44vw,700px);
  padding:clamp(20px,2vw,30px);
  border:2px solid #373737;
  border-radius:28px;
  background:#fff;
  overflow:hidden;
}
#access .access2-route-map{
  display:block;
  width:100%;
  height:auto;
  max-height:100%;
  object-fit:contain;
}
#access .access2-route-mama,
#access .access2-route-commute{
  position:absolute;
  z-index:2;
  width:clamp(170px,18vw,285px);
  height:auto;
  object-fit:contain;
  pointer-events:none;
}
#access .access2-route-mama{
  left:4%;
  bottom:2%;
}
#access .access2-route-commute{
  right:3%;
  top:2%;
}

#access .access2-times{
  border:2px solid #373737;
  border-radius:24px;
  background:#fff8ed;
  padding:clamp(24px,3vw,38px);
}
#access .access2-time-item{
  padding:18px 0;
  border-bottom:1px dashed rgba(55,55,55,.28);
}
#access .access2-time-item:first-child{padding-top:0}
#access .access2-line{
  margin:0 0 3px;
  font-size:clamp(13px,.95vw,15px);
  line-height:1.4;
  font-weight:600;
}
#access .access2-destination{
  margin:0 0 4px;
  display:flex;
  align-items:baseline;
  gap:.18em;
  flex-wrap:wrap;
  font:700 clamp(19px,1.55vw,25px)/1.2 "M PLUS Rounded 1c",sans-serif;
}
#access .access2-destination strong{
  color:#e86855;
  font-size:clamp(42px,4.2vw,64px);
  line-height:.95;
}
#access .access2-destination span{
  font-size:clamp(15px,1.15vw,18px);
}
#access .access2-time-item small{
  display:block;
  font-size:clamp(12px,.82vw,13px);
  line-height:1.55;
}
#access .access2-common-notes{
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid rgba(55,55,55,.18);
}
#access .access2-common-notes p{
  margin:3px 0;
  font-size:clamp(12px,.82vw,13px);
  line-height:1.55;
}
#access .access2-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55em!important;
}

@media(min-width:701px) and (max-width:1080px){
  #access .access2-photo-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  #access .access2-route-layout{
    grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
    gap:24px;
  }
  #access .access2-route-card{
    min-height:clamp(470px,50vw,580px);
  }
  #access .access2-route-mama,
  #access .access2-route-commute{
    width:clamp(145px,19vw,215px);
  }
  #access .access2-zoo-ill{width:clamp(150px,24vw,240px)}
  #access .access2-zoo-bubble{width:50%;padding:14px 16px}
}

@media(max-width:700px){
  #access .access2-pc-break{display:none}
  #access .access2-title{
    font-size:clamp(23px,6.6vw,30px);
  }
  #access .access2-lead{
    font-size:15px;
  }
  #access .access2-photo-layout{
    grid-template-columns:1fr;
    gap:26px;
  }
  #access .access2-tennoji-photos{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }
  #access .access2-tennoji-photos img{
    border-radius:10px;
  }
  #access .access2-zoo{
    min-height:190px;
    margin-top:10px;
  }
  #access .access2-zoo-ill{
    left:0;
    width:47%;
  }
  #access .access2-zoo-bubble{
    right:0;
    top:23%;
    width:50%;
    padding:13px 10px;
    border-radius:22px;
    font-size:12px;
  }

  #access .access2-route-layout{
    grid-template-columns:1fr;
    gap:22px;
    margin-top:48px;
  }
  #access .access2-route-card{
    min-height:420px;
    padding:14px;
    border-radius:20px;
  }
  #access .access2-route-mama,
  #access .access2-route-commute{
    width:clamp(110px,34vw,150px);
  }
  #access .access2-route-mama{left:2%;bottom:1%}
  #access .access2-route-commute{right:2%;top:1%}
  #access .access2-times{
    padding:22px 18px;
  }
  #access .access2-line{
    font-size:13px;
  }
  #access .access2-destination{
    font-size:20px;
  }
  #access .access2-destination strong{
    font-size:46px;
  }
  #access .access2-time-item small,
  #access .access2-common-notes p{
    font-size:12px;
  }
}

/* EQUIPMENT original manuscript rebuild */
#equipment.eq-original{background:#fffdfa}
#equipment .eq-original-intro{text-align:center;max-width:960px;margin:0 auto clamp(50px,6vw,86px)}
#equipment .eq-original-intro h2{font-size:clamp(25px,2.4vw,38px);margin:0 0 18px}
#equipment .eq-lixil-logo{display:block;width:min(260px,48%);height:auto;margin:0 auto 22px}
#equipment .eq-original-intro p,#equipment .eq-original-lead,#equipment .eq-original-note,#equipment .eq-original-features p,#equipment .eq-original-kazas p,#equipment .eq-original-heaters p{font-size:clamp(15px,1.05vw,17px);line-height:1.85}
#equipment .eq-original-group{margin:0 0 clamp(70px,8vw,110px)}
#equipment .eq-original-head{display:flex;align-items:baseline;gap:16px;border-bottom:3px solid #65bfc0;padding-bottom:10px;margin-bottom:18px}
#equipment .eq-original-head b{font-size:clamp(25px,2.4vw,38px);letter-spacing:.08em;color:#3f8f91}
#equipment .eq-original-head h3{font-size:clamp(17px,1.3vw,21px);margin:0}
#equipment .eq-original-main{margin:28px 0 24px}
#equipment .eq-original-main img{display:block;width:100%;max-height:650px;object-fit:cover}
#equipment figcaption{font-size:12px;line-height:1.5;margin-top:5px}
#equipment .eq-original-features{display:grid;gap:clamp(14px,1.7vw,24px);margin-top:26px}
#equipment .eq-four{grid-template-columns:repeat(4,minmax(0,1fr))}
#equipment .eq-two{grid-template-columns:repeat(2,minmax(0,1fr))}
#equipment .eq-one{grid-template-columns:minmax(0,1fr)}
#equipment .eq-original-features article{min-width:0}
#equipment .eq-original-features img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
#equipment .eq-one img{aspect-ratio:auto;object-fit:contain}
#equipment .eq-original-features h4,#equipment .eq-original-heaters h4{font-size:clamp(16px,1.25vw,20px);margin:12px 0 7px}
#equipment .eq-original-features p{margin:0}
#equipment .eq-original-entrance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}
#equipment .eq-original-entrance figure{margin:0}
#equipment .eq-original-entrance img{display:block;width:100%;height:auto;object-fit:cover}
#equipment .eq-original-kazas{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:20px;align-items:center;margin-top:30px}
#equipment .eq-original-kazas img{display:block;max-width:100%;height:auto;margin:auto}
#equipment .eq-original-kazas p{grid-column:1/-1;margin:0}
#equipment .eq-original-heaters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,42px)}
#equipment .eq-original-heaters img{display:block;width:100%;height:auto;object-fit:contain}
#equipment .eq-original-caution{font-size:12px;line-height:1.6;margin-top:22px}
#equipment .eq-original-warranty{margin:clamp(70px,8vw,110px) auto;text-align:center}
#equipment .eq-original-warranty h3{font-size:clamp(22px,2.2vw,34px);line-height:1.5;margin-bottom:24px}
#equipment .eq-original-warranty h3 span{color:#e65348;font-size:1.18em}
#equipment .eq-original-warranty img{display:block;width:min(100%,1000px);height:auto;margin:auto}
#equipment .eq-original-cta{display:flex!important;align-items:center!important;justify-content:center!important;gap:.55em!important}
@media(min-width:701px) and (max-width:1080px){
#equipment .eq-four{grid-template-columns:repeat(4,minmax(0,1fr))}
#equipment .eq-original-features h4{font-size:clamp(14px,1.5vw,17px)}
#equipment .eq-original-features p{font-size:clamp(13px,1.35vw,15px)}
}
@media(max-width:700px){
#equipment .eq-original-head{display:block}
#equipment .eq-original-head b{display:block;font-size:27px}
#equipment .eq-original-head h3{font-size:17px;margin-top:3px}
#equipment .eq-original-intro p,#equipment .eq-original-lead,#equipment .eq-original-note,#equipment .eq-original-features p,#equipment .eq-original-kazas p,#equipment .eq-original-heaters p{font-size:15px}
#equipment .eq-four,#equipment .eq-two{grid-template-columns:repeat(2,minmax(0,1fr))}
#equipment .eq-original-entrance,#equipment .eq-original-heaters{grid-template-columns:1fr}
#equipment .eq-original-kazas{grid-template-columns:1fr}
#equipment .eq-original-kazas p{grid-column:auto}
#equipment .eq-original-main img{max-height:none}
}

/* global: prevent horizontal overflow from decorative shapes */
.concept{overflow:hidden}

/* =========================================================
   CONCEPT feature cards + price table — consolidated 2026-08
   Replaces the "CONCEPT revision 1/2/3/3b" override layers.
   ========================================================= */

/* controlled line breaks: a segment never splits in the middle */
.ns{display:inline-block;white-space:nowrap}

/* --- POINT cards ------------------------------------------------------- */
.feature-grid{align-items:stretch}
.feature-grid article{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.feature-grid article::before{
  right:8px;
  top:8px;
  height:19px;
  display:flex;
  align-items:center;
  line-height:1;
}
/* copy area: reserves the badge row, then bottom-aligns heading + note */
.feature-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:clamp(96px,8vw,116px)!important;
  padding:35px clamp(9px,.85vw,13px) clamp(10px,.9vw,14px)!important;
}
.feature-copy h4{
  margin:0 0 5px!important;
  padding:0!important;
  min-height:0!important;
  font-size:clamp(13px,1.02vw,16px)!important;
  line-height:1.5!important;
}
.feature-copy small{
  margin:0!important;
  padding:0!important;
  font-size:clamp(11px,.85vw,13px)!important;
  line-height:1.5!important;
}
.feature-photo{margin-top:auto}
.feature-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}

@media(min-width:701px) and (max-width:1080px){
  .feature-copy{min-height:clamp(96px,10.5vw,116px)!important;padding-top:33px!important}
}
@media(max-width:700px){
  .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .feature-grid article::before{font-size:10px;height:18px}
  .feature-copy{min-height:92px!important;padding:31px 9px 10px!important}
  .feature-copy h4{font-size:13px!important;line-height:1.45!important;margin:0 0 4px!important}
  .feature-copy small{font-size:11px!important;line-height:1.45!important}
}

/* --- price table: wrap after ㎡ only when the line would be clipped ----- */
.price-item p{white-space:normal!important;letter-spacing:0!important}
.price-area .pa-m,
.price-area .pa-t,
.price-value .pa-p{display:inline-block;white-space:nowrap;font-weight:400}
.price-area .pa-t{margin-left:.15em}
@media(min-width:701px){
  .price-item p{font-size:clamp(11.5px,.85vw,13px)!important;line-height:1.5!important}
}
@media(max-width:700px){
  .price-item p{font-size:12px!important;line-height:1.5!important}
}

/* =========================================================
   PLAN — consolidated 2026-08
   Replaces the "PLAN correction 1 / 2" override layers.
   Heading composition follows plan_name.jpg;
   floor-plan geometry follows plan_hiritsu_narabi.jpg.
   ========================================================= */

/* shared container width so every element keeps the site's side margins */
.plan-list,
.plan-photos,
.plan-name-row,
.plan-copy,
.floor-layout,
.plan-spec,
.plan-card>.caption,
.plan-card>.plan-note{
  width:min(1180px,calc(100% - clamp(34px,4vw,60px)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.plan-list{margin-top:clamp(48px,5vw,88px)!important}
.plan-card{overflow:visible;padding:clamp(42px,5vw,64px) 0}

/* --- section heading with side illustrations ------------------------- */
.plan-heading-stage{position:relative;width:100%;min-height:clamp(120px,10vw,160px);display:flex;align-items:center;justify-content:center;overflow:visible}
.plan-heading-stage .sec-head{position:relative;z-index:2;margin:0!important;flex:0 0 auto}
.plan-heading-ill{position:absolute;z-index:1;top:50%;transform:translateY(-50%);height:auto;width:auto;max-height:clamp(92px,8.5vw,135px);object-fit:contain;pointer-events:none}
.plan-heading-ill-left{right:calc(50% + clamp(105px,10vw,155px));max-width:calc(50% - clamp(125px,12vw,175px))}
.plan-heading-ill-right{left:calc(50% + clamp(105px,10vw,155px));max-width:calc(50% - clamp(125px,12vw,175px))}

/* --- example photos --------------------------------------------------- */
.plan-photos{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:auto auto!important;gap:clamp(8px,1vw,16px)!important;align-items:start!important;margin-top:clamp(34px,4vw,54px)!important}
.plan-photo-main{grid-column:span 2;grid-row:span 2;margin:0}
.plan-photo-sub{margin:0;min-width:0}
.plan-photos figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.plan-photo-main img{aspect-ratio:auto;height:100%;border-radius:18px}
.plan-photos .caption{font-size:clamp(12px,.82vw,13px);line-height:1.45}

/* --- heading row: ribbon / title / tags ------------------------------- */
.plan-name-row{
  display:grid;
  grid-template-columns:clamp(120px,13%,178px) clamp(190px,21%,290px) minmax(0,1fr);
  gap:clamp(16px,2%,34px);
  align-items:start;
  margin-bottom:clamp(24px,3vw,42px);
}

/* ribbon badge — text positions mirror plan_gouchi.png */
.plan-gouchi-badge{position:relative;width:100%;aspect-ratio:1/1;container-type:inline-size}
.plan-gouchi-badge>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.plan-gouchi-text{position:absolute;inset:0;display:block}
.plan-gouchi-text small,
.plan-gouchi-text b,
.plan-gouchi-text span{position:absolute;margin:0;line-height:1;white-space:nowrap;text-align:center}
.plan-gouchi-text small{left:3%;right:3%;top:20.5%;color:#fff;font-size:12px;font-size:max(9.5px,7.7cqw);font-weight:500;letter-spacing:-.01em}
.plan-gouchi-text b{
  left:11%;right:11%;top:32.4%;height:25.2%;
  display:flex;align-items:center;justify-content:center;
  color:#333;font-weight:500;background:transparent;
  font-size:19px;font-size:12.4cqw;
}
.plan-gouchi-text b strong{color:#f57f48;font-weight:700;font-size:1.45em;margin-right:.04em}
.plan-gouchi-text span{left:5%;right:5%;top:63.5%;color:#fff;font-size:16px;font-size:10.4cqw;font-weight:500;letter-spacing:.02em}

/* title / free-design bar / notes */
.plan-name-center{min-width:0;container-type:inline-size}
.plan-name-title{display:flex;align-items:baseline;gap:.22em;white-space:nowrap}
.plan-name-title span{font-size:40px;font-size:16.3cqw;font-weight:700;line-height:1.15;letter-spacing:.02em}
.plan-name-title b{font-size:31px;font-size:12.5cqw;font-weight:400;line-height:1.15;letter-spacing:.06em}
.plan-jiiyu{position:relative;width:100%;margin-top:.32em}
.plan-jiiyu img{display:block;width:100%;height:auto}
.plan-jiiyu span{
  position:absolute;left:0;right:0;top:51.5%;transform:translateY(-50%);
  text-align:center;color:#333;font-weight:700;line-height:1;white-space:nowrap;
  font-size:30px;font-size:12cqw;
}
.plan-name-center .plan-note{
  width:auto!important;margin:.55em 0 0!important;
  font-size:13px;font-size:clamp(11px,5.2cqw,13px);line-height:1.6;
}

/* feature tags */
.plan-tags-top{
  display:grid;
  grid-template-columns:repeat(4,max-content);
  gap:clamp(7px,.8vw,12px);
  justify-content:end;
  align-content:start;
  margin:0;
  padding:0;
  list-style:none;
}
.plan-tags-top li{
  width:max-content;
  padding:.6em 1.05em;
  border:2px solid #3c3c3c;
  border-radius:999px;
  background:#ffdf65;
  color:#2c7c83;
  font-size:clamp(12px,1vw,16px);
  font-weight:800;
  line-height:1.3;
  white-space:nowrap;
}

/* --- floor plans: geometry taken from plan_hiritsu_narabi.jpg --------- */
.floor-layout{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:clamp(12px,1.4vw,20px);
  margin-top:clamp(34px,4vw,58px)!important;
  margin-bottom:clamp(34px,4vw,58px)!important;
}
.floor-layout figure{margin:0;padding:0;background:none;border:0}
.floor-layout .floor2{order:1;width:var(--floor2-width);margin-left:var(--floor2-left)}
.floor-layout .floor1{order:2;width:var(--floor1-width);margin-left:var(--floor1-left,0%)}
.floor-layout img{display:block;width:100%;height:auto;object-fit:contain}
.floor-layout figure>span{display:none}

/* --- tablet ----------------------------------------------------------- */
@media(min-width:701px) and (max-width:1180px){
  .plan-tags-top{grid-template-columns:repeat(2,max-content)}
}

/* --- smartphone ------------------------------------------------------- */
@media(max-width:700px){
  .plan-heading-stage{min-height:94px}
  .plan-heading-ill{max-height:72px}
  .plan-heading-ill-left{right:calc(50% + 78px);max-width:calc(50% - 88px)}
  .plan-heading-ill-right{left:calc(50% + 78px);max-width:calc(50% - 88px)}

  .plan-list,
  .plan-photos,
  .plan-name-row,
  .plan-copy,
  .floor-layout,
  .plan-spec,
  .plan-card>.caption{width:calc(100% - 28px)!important}

  .plan-photos{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important}
  .plan-photo-main{grid-column:1/-1;grid-row:auto}
  .plan-photo-main img{aspect-ratio:4/3;height:auto}
  .plan-photos .caption{font-size:12px}

  .plan-name-row{grid-template-columns:112px minmax(0,1fr);gap:13px;row-gap:16px}
  .plan-name-title span{font-size:13.6cqw}
  .plan-name-title b{font-size:10.4cqw}
  .plan-name-center{grid-column:2}
  .plan-tags-top{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:stretch;
    gap:7px;
  }
  .plan-tags-top li{width:auto;text-align:center;font-size:12px;padding:.5em .35em;white-space:normal;line-height:1.35}
  .plan-name-center .plan-note{font-size:12px}
  .floor-layout{gap:10px!important}
}

/* =========================================================
   NEW MODERN — siding / next-generation blocks
   konda7-style composition, two columns except on smartphone
   ========================================================= */
section.modern .modern-design,
section.modern .modern-siding,
section.modern .modern-next{
  margin-top:clamp(38px,4.5vw,64px)!important;
  border-radius:clamp(18px,2vw,28px)!important;
  overflow:hidden!important;
}
section.modern .modern-next{padding:0!important;background:#fff8e9!important}

section.modern .modern-design,
section.modern .modern-siding,
section.modern .modern-next-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  align-items:center!important;
  gap:0!important;
}

/* copy column */
section.modern .siding-copy,
section.modern .next-copy{
  grid-column:1!important;grid-row:1!important;
  max-width:none!important;
  padding:clamp(26px,3.4vw,52px)!important;
  text-align:left!important;
}
section.modern .modern-design>div{
  grid-column:2!important;grid-row:1!important;
  max-width:none!important;
  padding:clamp(26px,3.4vw,52px)!important;
  text-align:left!important;
}
section.modern .eyebrow{
  margin:0 0 .55em!important;
  font-size:clamp(13px,1vw,16px)!important;
  line-height:1.65!important;
  font-weight:700!important;
}
section.modern .modern-design h3,
section.modern .modern-siding h3,
section.modern .modern-next h3{
  margin:0 0 .5em!important;
  font-size:clamp(24px,2.5vw,40px)!important;
  line-height:1.35!important;
}
section.modern .modern-design p,
section.modern .modern-siding p:not(.eyebrow),
section.modern .modern-next p:not(.next-note){
  margin:0!important;
  font-size:clamp(14px,1.05vw,17px)!important;
  line-height:1.9!important;
}
section.modern .modern-design small{display:block;margin-top:1em}

/* figure column */
section.modern .modern-siding figure{
  grid-column:2!important;grid-row:1!important;
  margin:0!important;
  align-self:stretch!important;
}
/* design block keeps the photo on the left, siding mirrors it */
section.modern .modern-design figure{
  grid-column:1!important;grid-row:1!important;
  margin:0!important;
  align-self:stretch!important;
}
section.modern .modern-design figure img{
  display:block!important;width:100%!important;height:100%!important;
  min-height:0!important;object-fit:cover!important;
}
section.modern .modern-siding figure{
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  padding:clamp(18px,2.4vw,40px)!important;
  background:rgb(103,205,209)!important;
}
section.modern .modern-siding figure img{
  width:100%!important;height:auto!important;max-height:none!important;
  object-fit:contain!important;
}
section.modern .modern-siding .caption,
section.modern .modern-siding figcaption{
  width:100%!important;margin-top:10px!important;padding:0!important;
  color:#fff!important;text-align:right!important;
  white-space:nowrap!important;writing-mode:horizontal-tb!important;
}
section.modern .modern-next-grid .main-jisedai{
  grid-column:2!important;grid-row:1!important;
  display:block!important;width:100%!important;height:auto!important;
  margin:0!important;padding:clamp(16px,2.2vw,36px)!important;
  object-fit:contain!important;
}
section.modern .next-note{
  grid-column:1/-1!important;
  margin:0!important;
  padding:0 clamp(20px,3vw,44px) clamp(18px,2.2vw,28px)!important;
  font-size:clamp(11.5px,.82vw,13px)!important;
  line-height:1.65!important;
  text-align:left!important;
}

/* siding block keeps white text on the teal panel */
section.modern .modern-siding{background:rgb(103,205,209)!important;color:#fff!important}
section.modern .modern-design{background:#fff7ee!important}

@media(max-width:700px){
  section.modern .modern-design,
  section.modern .modern-siding,
  section.modern .modern-next-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  section.modern .modern-design>div,
  section.modern .siding-copy,
  section.modern .next-copy,
  section.modern .modern-design figure,
  section.modern .modern-siding figure,
  section.modern .modern-next-grid .main-jisedai{
    grid-column:1!important;grid-row:auto!important;
  }
  section.modern .modern-design figure img{aspect-ratio:16/10;height:auto!important}
  section.modern .modern-siding figure{padding:16px!important}
  section.modern .modern-siding .caption,
  section.modern .modern-siding figcaption{white-space:normal!important}
  section.modern .next-note{padding:0 18px 18px!important}
}

/* =========================================================
   NEW MODERN — siding / next-generation pair
   Layout follows konda7 (two cards side by side, dark head
   + body panel), recoloured to this site's palette.
   ========================================================= */
.mod-pair{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto 1fr;
  gap:clamp(18px,2.2vw,32px);
  margin-top:clamp(38px,4.5vw,64px);
}
/* subgrid keeps both card headers exactly the same height */
.mod-card{
  display:grid;
  grid-row:span 2;
  grid-template-rows:subgrid;
  min-width:0;
  border-radius:clamp(16px,1.6vw,22px);
  overflow:hidden;
  background:#5cbcc2;
  color:#fff;
  box-shadow:0 12px 30px rgba(45,90,92,.12);
}
.mod-card-head{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(22px,2.6vw,38px) clamp(18px,2.2vw,34px) clamp(18px,2.2vw,30px);
  background:#3f8f95;
  text-align:center;
}
.mod-eyebrow{
  margin:0 0 .7em;
  min-width:0;
  font-family:"Noto Sans JP",sans-serif;
  font-size:clamp(12px,1vw,15px);
  font-weight:600;
  line-height:1.75;
  letter-spacing:.02em;
}
.mod-card-head h3{
  margin:0;
  font-family:"M PLUS Rounded 1c",sans-serif;
  font-weight:700;
  font-size:clamp(22px,2.35vw,36px);
  line-height:1.35;
  letter-spacing:.02em;
}
.mod-card-head h3 sup{font-size:.5em;vertical-align:super}
.mod-card-body{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:clamp(20px,2.4vw,36px) clamp(18px,2.2vw,34px) clamp(22px,2.4vw,34px);
}
.mod-card-body>p{
  margin:0;
  font-size:clamp(14px,1.02vw,17px);
  line-height:2;
  letter-spacing:.02em;
}
.mod-card-figure{
  min-width:0;
  margin:clamp(18px,2.2vw,30px) 0 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:1;
}
.mod-card-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:contain;
}
.mod-card-figure figcaption{
  margin-top:12px;
  color:#fff;
  font-size:clamp(11.5px,.82vw,13px);
  line-height:1.6;
  text-align:center;
}
.mod-card-figure-badges img{max-width:100%}
.mod-card-note{
  margin:clamp(14px,1.6vw,22px) 0 0;
  font-size:clamp(11.5px,.82vw,13px);
  line-height:1.7;
  text-align:center;
}
/* extra annotation under the design block copy */
.mod-note-gap{display:block;margin-top:1.1em}

@media(max-width:700px){
  .mod-pair{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:20px;margin-top:34px}
  .mod-card{display:flex;flex-direction:column;grid-row:auto}
  .mod-card-head{padding:20px 16px 16px}
  .mod-card-body{padding:18px 16px 22px}
  .mod-card-head h3{font-size:22px}
  .mod-eyebrow{font-size:12px;line-height:1.7}
  .mod-card-body>p{font-size:15px;line-height:1.95}
  .mod-card-figure img{max-width:100%}
}

/* =========================================================
   LOCATION / ACCESS — corrections 2026-08
   ========================================================= */

/* line break that only applies to PC and tablet */
.br-pc-tb{display:none}
@media(min-width:701px){.br-pc-tb{display:inline}}

/* --- MAP CODE: simple, uncluttered (konda7 / houryuji style) --- */
.location .map-address{
  display:grid!important;
  grid-template-columns:auto auto!important;
  justify-content:center!important;
  align-items:center!important;
  gap:clamp(18px,2.4vw,36px)!important;
  width:min(760px,100%)!important;
  margin:clamp(20px,2.6vw,32px) auto clamp(24px,3vw,40px)!important;
  padding:clamp(22px,2.6vw,34px) clamp(24px,3vw,40px)!important;
  border:2px solid var(--k-ink)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:6px 6px 0 var(--k-yellow)!important;
}
.location .map-address>div:first-child{
  display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;
}
.location .map-address>div:first-child>span{
  font-size:clamp(12px,.95vw,14px)!important;font-weight:700!important;color:#3f8f95!important;letter-spacing:.04em;
}
.location .map-address>div:first-child>strong{
  display:block!important;margin:2px 0 6px!important;
  font-family:"M PLUS Rounded 1c",sans-serif!important;
  font-size:clamp(24px,2.3vw,34px)!important;line-height:1.2!important;color:var(--k-orange)!important;
}
.location .map-address>div:first-child>small{font-size:clamp(11.5px,.85vw,13px)!important;line-height:1.6!important}
.location .map-address>div:first-child>p{margin:5px 0 0!important;font-size:clamp(13px,.98vw,15px)!important;line-height:1.6!important}

.location .mapcode-box{
  min-width:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0 0 0 clamp(20px,3vw,42px)!important;
  border:0!important;border-left:1px solid #dfe6e3!important;border-radius:0!important;
  background:none!important;
}
.location .mapcode-box img{
  display:block!important;width:min(100%,330px)!important;height:auto!important;object-fit:contain!important;
}
@media(max-width:700px){
  .location .map-address{
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;padding:20px 18px!important;border-radius:16px!important;
    box-shadow:4px 4px 0 var(--k-yellow)!important;
  }
  .location .mapcode-box{
    padding:16px 0 0!important;border-left:0!important;border-top:1px dashed #cfd8d6!important;
  }
  .location .mapcode-box img{width:min(100%,300px)!important}
}

/* --- ACCESS: zoo illustration enlarged --- */
#access .access2-zoo{min-height:clamp(215px,19vw,300px)}
#access .access2-zoo-ill{
  left:0;
  width:clamp(210px,27vw,400px);
}
#access .access2-zoo-bubble{right:0;top:16%;width:min(46%,330px)}

/* --- ACCESS: both figures share one height and sit clear of the diagram --- */
#access .access2-route-mama,
#access .access2-route-commute{
  width:auto;
  height:clamp(96px,13.5vw,196px);
}
#access .access2-route-mama{left:3%;bottom:3%;top:auto;right:auto}
#access .access2-route-commute{right:28%;bottom:3%;top:auto;left:auto}

@media(min-width:701px) and (max-width:1080px){
  #access .access2-zoo-ill{width:clamp(190px,28vw,300px)}
  #access .access2-zoo-bubble{width:48%;padding:14px 16px}
  #access .access2-route-mama,
  #access .access2-route-commute{height:clamp(96px,15vw,170px)}
}
@media(max-width:700px){
  #access .access2-zoo{min-height:200px}
  #access .access2-zoo-ill{width:52%}
  #access .access2-zoo-bubble{top:20%;width:46%}
  #access .access2-route-mama,
  #access .access2-route-commute{height:clamp(80px,26vw,120px)}
  #access .access2-route-mama{left:2%;bottom:2%}
  #access .access2-route-commute{right:26%;bottom:2%}
}

/* =========================================================
   LOCATION / ACCESS / PLAN — corrections round 2 (2026-08)
   ========================================================= */

/* --- PLAN ribbon: 1440px composition, scaled proportionally ---------- */
/* the badge itself grows on narrow screens so its text stays readable  */
.plan-name-row{
  grid-template-columns:clamp(140px,13%,178px) clamp(190px,21%,290px) minmax(0,1fr)!important;
}
/* white plate inside plan_gouchi.png: x 11.38%-88.73%, y 33.09%-56.89% */
.plan-gouchi-badge .plan-gouchi-text small{
  left:11.38%!important;
  right:11.27%!important;
  top:16.55%!important;                 /* centred between art top and plate top */
  transform:translateY(-50%)!important;
  font-size:8.5cqw!important;           /* set slightly narrow, then justified */
  letter-spacing:0!important;
  line-height:1!important;
  white-space:normal!important;
  text-align:justify!important;
  text-align-last:justify!important;    /* both edges flush with the plate */
  -moz-text-align-last:justify;
}
.plan-gouchi-badge .plan-gouchi-text b{
  left:11.38%!important;
  right:11.27%!important;
  top:33.09%!important;
  height:23.8%!important;
}
.plan-gouchi-badge .plan-gouchi-text span{
  top:71%!important;
  transform:translateY(-50%)!important;
}
@media(max-width:700px){
  .plan-name-row{grid-template-columns:132px minmax(0,1fr)!important}
}

/* --- MAP CODE panel: konda7 style ------------------------------------ */
.location .map-address{
  display:block!important;
  width:min(720px,100%)!important;
  margin:clamp(20px,2.6vw,32px) auto clamp(24px,3vw,40px)!important;
  padding:clamp(18px,2.2vw,28px) clamp(18px,2.4vw,32px) clamp(16px,2vw,24px)!important;
  border:0!important;
  border-radius:18px!important;
  background:#dff0f1!important;
  box-shadow:none!important;
  text-align:center!important;
}
.location .mapcode-head{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.5em .8em!important;
  margin:0!important;
}
.location .mapcode-head span{
  font-size:clamp(13px,1.05vw,16px)!important;
  font-weight:700!important;
  color:#3f6d70!important;
  letter-spacing:.02em!important;
}
.location .mapcode-head strong{
  font-family:"M PLUS Rounded 1c",sans-serif!important;
  font-size:clamp(22px,2.1vw,30px)!important;
  line-height:1.2!important;
  letter-spacing:.06em!important;
  color:var(--k-ink)!important;
}
.location .mapcode-head em{
  display:inline-block!important;
  padding:.42em 1.05em!important;
  border-radius:999px!important;
  background:#4a5a58!important;
  color:#fff!important;
  font-style:normal!important;
  font-size:clamp(11.5px,.92vw,14px)!important;
  font-weight:700!important;
  line-height:1.35!important;
  white-space:nowrap!important;
}
.location .mapcode-addr{
  margin:.85em 0 .7em!important;
  font-size:clamp(13px,1vw,15px)!important;
  line-height:1.6!important;
  text-align:center!important;
}
.location .mapcode-box{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(10px,1.2vw,16px) clamp(12px,1.6vw,22px)!important;
  border:0!important;
  border-radius:10px!important;
  background:#fff!important;
}
.location .mapcode-box img{
  display:block!important;
  width:min(100%,520px)!important;
  height:auto!important;
  object-fit:contain!important;
}
.location .mapcode-note{
  margin:.85em 0 0!important;
  font-size:clamp(11px,.8vw,12.5px)!important;
  line-height:1.6!important;
  text-align:center!important;
  color:#5a6a68!important;
}
@media(max-width:700px){
  .location .map-address{padding:16px 14px 14px!important;border-radius:14px!important}
  .location .mapcode-head{gap:.35em .5em!important}
  .location .mapcode-head strong{font-size:21px!important}
  .location .mapcode-head em{font-size:11px!important;padding:.4em .85em!important;white-space:normal!important}
  .location .mapcode-box img{width:min(100%,320px)!important}
}

/* --- ACCESS zoo block: keeps the 768px balance at every width --------- */
#access .access2-zoo{
  container-type:inline-size;
  position:relative;
  aspect-ratio:357/215;
  min-height:0!important;
  margin-top:clamp(10px,1.6vw,18px);
}
#access .access2-zoo-ill{
  position:absolute;
  left:0;
  bottom:0;
  width:60.2cqw!important;
  height:auto;
}
#access .access2-zoo-bubble{
  position:absolute;
  left:52.1cqw!important;
  right:auto!important;
  top:15.8cqw!important;
  width:48.2cqw!important;
  margin:0;
  padding:3.92cqw 4.48cqw!important;
  border:2px solid #ef8c62;
  border-radius:7.84cqw!important;
  background:#fff;
  text-align:center;
  font:700 3.92cqw/1.6 "M PLUS Rounded 1c",sans-serif!important;
}
#access .access2-zoo-bubble::before{
  left:-4.76cqw!important;
  bottom:6.72cqw!important;
  width:7.28cqw!important;
  height:7.28cqw!important;
}

/* --- ACCESS diagram: single artwork including both illustrations ------ */
#access .access2-route-card{
  min-height:0!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
#access .access2-route-map{
  display:block;
  width:100%;
  height:auto;
  max-height:none!important;
  object-fit:contain;
}

/* =========================================================
   EQUIPMENT — konda7 structure, this site's visual language
   ========================================================= */

/* LIXIL logo flanked by the two illustrations (PLAN heading pattern) */
#equipment .eq-lixil-stage{
  position:relative;
  width:100%;
  min-height:clamp(120px,11vw,170px);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 clamp(16px,2vw,26px);
}
#equipment .eq-lixil-logo{
  position:relative;
  z-index:2;
  width:min(260px,44%)!important;
  margin:0!important;
}
#equipment .eq-lixil-ill{
  position:absolute;
  z-index:1;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:auto;
  max-height:clamp(96px,9vw,150px);
  object-fit:contain;
  pointer-events:none;
}
#equipment .eq-lixil-ill-left{
  right:calc(50% + clamp(105px,10.5vw,165px));
  max-width:calc(50% - clamp(120px,12vw,185px));
}
#equipment .eq-lixil-ill-right{
  left:calc(50% + clamp(105px,10.5vw,165px));
  max-width:calc(50% - clamp(120px,12vw,185px));
}

/* main photo of each group: the whole room stays visible (no crop) */
#equipment .eq-original-main{
  margin:clamp(20px,2.4vw,30px) auto clamp(18px,2vw,26px)!important;
  text-align:center;
}
#equipment .eq-original-main img{
  display:block!important;
  width:auto!important;
  max-width:min(100%,470px)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0 auto!important;
  border-radius:14px;
}
#equipment .eq-original-main figcaption{text-align:center!important}

/* sub items: heading above the picture, framed like the site's other cards */
#equipment .eq-original-features article{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:clamp(12px,1.3vw,18px);
  border:2px solid var(--k-ink);
  border-radius:16px;
  background:#fff;
}
#equipment .eq-original-features h4{
  order:1;
  margin:0 0 10px!important;
  font-size:clamp(14px,1.15vw,18px)!important;
  line-height:1.5!important;
}
#equipment .eq-original-features img{
  order:2;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  object-fit:contain!important;
  border-radius:10px;
  background:#f6faf9;
}
#equipment .eq-one img{aspect-ratio:auto!important}
#equipment .eq-original-features p{
  order:3;
  margin:12px 0 0!important;
}
#equipment .eq-one article{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(14px,2vw,28px);
  align-items:center;
}
#equipment .eq-one h4{grid-column:2;align-self:end;margin:0 0 8px!important}
#equipment .eq-one img{grid-column:1;grid-row:1/span 2}
#equipment .eq-one p{grid-column:2;align-self:start;margin:0!important}

/* entrance door */
#equipment .eq-original-entrance img{border-radius:14px}
#equipment .eq-original-kazas{
  align-items:center!important;
  padding:clamp(16px,2vw,26px)!important;
  border:2px solid var(--k-ink);
  border-radius:16px;
  background:#fff;
}
#equipment .eq-original-kazas img{max-height:190px;object-fit:contain}

/* eco water heaters */
#equipment .eq-original-heaters article{
  padding:clamp(16px,2vw,26px);
  border:2px solid var(--k-ink);
  border-radius:16px;
  background:#fff;
}
#equipment .eq-original-heaters img{border-radius:10px;margin:10px 0}

/* warranty */
#equipment .eq-original-warranty{
  padding:clamp(24px,3vw,40px) clamp(18px,2.4vw,32px)!important;
  border:2px solid var(--k-ink);
  border-radius:22px;
  background:#fff;
  box-shadow:8px 8px 0 var(--k-yellow);
}

/* mail icon on every CTA */
.cta span[aria-hidden]{
  font-size:1.7em;
  line-height:1;
  margin-right:.15em;
  transform:translateY(.04em);
}

@media(max-width:700px){
  #equipment .eq-lixil-stage{min-height:96px}
  #equipment .eq-lixil-ill{max-height:74px}
  #equipment .eq-lixil-ill-left{right:calc(50% + 80px);max-width:calc(50% - 90px)}
  #equipment .eq-lixil-ill-right{left:calc(50% + 80px);max-width:calc(50% - 90px)}
  #equipment .eq-lixil-logo{width:min(190px,48%)!important}
  #equipment .eq-original-main img{max-width:min(100%,300px)!important}
  #equipment .eq-one article{grid-template-columns:minmax(0,1fr);gap:12px}
  #equipment .eq-one h4,
  #equipment .eq-one img,
  #equipment .eq-one p{grid-column:1;grid-row:auto}
  #equipment .eq-one h4{order:1}
  #equipment .eq-one img{order:2}
  #equipment .eq-one p{order:3}
  #equipment .eq-original-warranty{box-shadow:5px 5px 0 var(--k-yellow);border-radius:16px}
}
#equipment .eq-original-warranty img{
  width:min(100%,620px)!important;
  height:auto!important;
  margin:0 auto!important;
}

/* =========================================================
   EQUIPMENT — kitchen / bath / powder / toilet / warranty
   konda7 composition with the supplied pre-cropped images.
   Colours and type follow this site (aqua + M PLUS Rounded 1c).
   ========================================================= */
.eqk-block{margin:0 0 clamp(60px,7vw,100px)}
.eqk-head{
  display:flex;
  align-items:baseline;
  gap:16px;
  margin:0 0 clamp(18px,2.2vw,28px);
  padding-bottom:10px;
  border-bottom:3px solid #65bfc0;
}
.eqk-head b{
  font-family:"M PLUS Rounded 1c",sans-serif;
  font-size:clamp(24px,2.4vw,38px);
  font-weight:800;
  letter-spacing:.08em;
  color:#3f8f91;
  line-height:1.1;
}
.eqk-head h3{
  margin:0;
  font-family:"M PLUS Rounded 1c",sans-serif;
  font-size:clamp(16px,1.3vw,21px);
  font-weight:700;
  line-height:1.4;
}

.eqk-body{
  display:grid;
  grid-template-columns:minmax(0,42fr) minmax(0,58fr);
  gap:clamp(20px,2.8vw,44px);
  align-items:start;
}
.eqk-main{margin:0;min-width:0}
.eqk-main img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:900/975;
  object-fit:cover;
  border-radius:14px;
}
.eqk-main figcaption{
  margin-top:7px;
  font-size:clamp(11.5px,.82vw,13px);
  line-height:1.5;
  color:#6b7975;
}
.eqk-side{min-width:0;display:flex;flex-direction:column}
.eqk-lead{
  margin:0 0 clamp(16px,2vw,24px);
  font-size:clamp(14px,1.05vw,17px);
  line-height:1.95;
}
.eqk-subs{display:grid;gap:clamp(14px,1.7vw,24px)}
.eqk-subs-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.eqk-subs-1{grid-template-columns:minmax(0,1fr)}
.eqk-subs article{min-width:0;display:flex;flex-direction:column}
.eqk-subs figure{margin:0}
.eqk-subs img{
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
}
.eqk-subs h4{
  margin:10px 0 0;
  font-family:"M PLUS Rounded 1c",sans-serif;
  font-size:clamp(14px,1.1vw,18px);
  font-weight:700;
  line-height:1.5;
}
.eqk-subs p{
  margin:6px 0 0;
  font-size:clamp(13px,.95vw,15px);
  line-height:1.8;
}
.eqk-note{
  margin:clamp(16px,2vw,24px) 0 0;
  font-size:clamp(13px,.95vw,15px);
  line-height:1.9;
}

/* single-image sub item: picture left, copy right */
.eqk-subs-1 article{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(14px,1.8vw,26px);
  align-items:center;
}
.eqk-subs-1 figure{grid-column:1;grid-row:1/span 2}
.eqk-subs-1 h4{grid-column:2;align-self:end;margin:0}
.eqk-subs-1 p{grid-column:2;align-self:start;margin:8px 0 0}

/* warranty: two panels side by side */
.eqk-warranty{
  margin:clamp(60px,7vw,100px) 0 0;
  text-align:center;
}
.eqk-warranty h3{
  margin:0 0 clamp(18px,2.2vw,28px);
  font-family:"M PLUS Rounded 1c",sans-serif;
  font-size:clamp(20px,2.1vw,32px);
  font-weight:700;
  line-height:1.5;
}
.eqk-warranty h3 span{color:var(--k-orange);font-size:1.2em}
.eqk-warranty-imgs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,1.8vw,26px);
  align-items:stretch;
}
.eqk-warranty-imgs img{
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
}

@media(min-width:701px) and (max-width:1080px){
  .eqk-body{grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:22px}
  .eqk-subs{gap:14px}
}
@media(max-width:700px){
  .eqk-block{margin-bottom:52px}
  .eqk-head{display:block;padding-bottom:8px}
  .eqk-head b{display:block;font-size:26px}
  .eqk-head h3{margin-top:3px;font-size:17px}
  .eqk-body{grid-template-columns:minmax(0,1fr);gap:18px}
  .eqk-lead{font-size:15px;line-height:1.9;margin-bottom:18px}
  .eqk-subs{gap:16px}
  .eqk-subs h4{font-size:15px}
  .eqk-subs p{font-size:14px}
  .eqk-subs-1 article{grid-template-columns:minmax(0,1fr);gap:10px}
  .eqk-subs-1 figure,
  .eqk-subs-1 h4,
  .eqk-subs-1 p{grid-column:1;grid-row:auto}
  .eqk-note{font-size:14px}
  .eqk-warranty{margin-top:54px}
  .eqk-warranty h3{font-size:20px}
  .eqk-warranty-imgs{grid-template-columns:minmax(0,1fr);gap:14px}
}

/* =========================================================
   EQUIPMENT — lead copy / powder & toilet / CAZAS+  (round 2)
   ========================================================= */

/* lead copy: same size as the Japanese block title, in the panel aqua */
.eqk-lead,
#equipment .eq-original-lead{
  margin:0 0 clamp(18px,2.2vw,28px)!important;
  font-family:"M PLUS Rounded 1c",sans-serif!important;
  font-size:clamp(16px,1.3vw,21px)!important;
  font-weight:700!important;
  line-height:1.75!important;
  color:#5cbcc2!important;
}
#equipment .eq-original-note{margin-top:-.9em!important;margin-bottom:clamp(18px,2.2vw,26px)!important}

/* powder room / toilet: sub item stacks image -> heading -> text (konda7 order) */
.eqk-subs-1 article{
  display:flex!important;
  flex-direction:column!important;
}
.eqk-subs-1 figure,
.eqk-subs-1 h4,
.eqk-subs-1 p{grid-column:auto!important;grid-row:auto!important}
.eqk-subs-1 h4{margin:10px 0 0!important;align-self:auto!important}
.eqk-subs-1 p{margin:6px 0 0!important;align-self:auto!important}

/* CAZAS+ : logo -> body -> usage image, stacked and centred */
.eqk-cazas{
  margin-top:clamp(22px,2.6vw,34px);
  padding:clamp(20px,2.6vw,36px);
  border:2px solid var(--k-ink);
  border-radius:18px;
  background:#fff;
  text-align:center;
}
.eqk-cazas-logo{
  display:block;
  width:min(100%,300px);
  height:auto;
  margin:0 auto clamp(14px,1.8vw,22px);
}
.eqk-cazas p{
  max-width:880px;
  margin:0 auto;
  font-size:clamp(14px,1.05vw,17px);
  line-height:1.9;
  text-align:left;
}
.eqk-cazas-use{
  display:block;
  width:min(100%,620px);
  height:auto;
  margin:clamp(18px,2.2vw,28px) auto 0;
  border-radius:12px;
}
@media(max-width:700px){
  .eqk-lead,
  #equipment .eq-original-lead{font-size:17px!important;margin-bottom:18px!important}
  .eqk-cazas{padding:16px;border-radius:14px}
  .eqk-cazas-logo{width:min(100%,220px)}
  .eqk-cazas p{font-size:15px}
}

/* =========================================================
   EQUIPMENT — konda7 detail pass (round 3)
   ========================================================= */

/* lead copy sits at the top of the right column */
.eqk-side>.eqk-lead{margin-top:0!important}

/* main photo: "※当社施工例" overlaid bottom-right, as on konda7 */
.eqk-main{position:relative}
.eqk-main figcaption{
  position:absolute!important;
  right:0;
  bottom:0;
  margin:0!important;
  padding:.45em 1em!important;
  background:rgba(60,60,60,.72)!important;
  color:#fff!important;
  font-size:clamp(11px,.82vw,13px)!important;
  line-height:1.4!important;
  border-radius:0 0 14px 0;
}

/* sub-item heading: diamond bullet + dotted rule */
.eqk-subs h4{
  display:flex;
  align-items:flex-start;
  gap:.5em;
  padding-bottom:10px;
  border-bottom:1px dotted #c9d4d2;
}
.eqk-subs h4::before{
  content:"◆";
  flex:0 0 auto;
  color:#5cbcc2;
  font-size:.85em;
  line-height:1.7;
}
.eqk-subs p{margin-top:12px!important}

/* CAZAS+ : copy left, usage picture right */
.eqk-cazas{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(22px,3vw,50px);
  align-items:center;
  text-align:left;
  padding:clamp(24px,3.2vw,48px);
  border-radius:clamp(18px,2vw,26px);
}
.eqk-cazas-copy{min-width:0}
.eqk-cazas-logo{
  width:min(100%,280px);
  margin:0 0 clamp(16px,2vw,26px)!important;
}
.eqk-cazas p{max-width:none;margin:0}
.eqk-cazas-use{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

@media(max-width:700px){
  .eqk-main figcaption{padding:.4em .8em!important;font-size:11px!important}
  .eqk-cazas{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px}
  .eqk-cazas-logo{width:min(100%,220px)}
}
.eqk-subs-1 article{align-items:stretch!important}
.eqk-subs-1 figure,
.eqk-subs-1 h4,
.eqk-subs-1 p{width:100%!important}

/* =========================================================
   EQUIPMENT — spacing corrections (round 4)
   ========================================================= */

/* LIXIL logo: illustrations keep clear of it at every width */
#equipment .eq-lixil-ill-left{
  right:calc(50% + min(130px,22%) + 18px)!important;
  max-width:calc(50% - min(130px,22%) - 28px)!important;
}
#equipment .eq-lixil-ill-right{
  left:calc(50% + min(130px,22%) + 18px)!important;
  max-width:calc(50% - min(130px,22%) - 28px)!important;
}
@media(max-width:700px){
  #equipment .eq-lixil-ill-left{
    right:calc(50% + min(95px,24%) + 12px)!important;
    max-width:calc(50% - min(95px,24%) - 20px)!important;
  }
  #equipment .eq-lixil-ill-right{
    left:calc(50% + min(95px,24%) + 12px)!important;
    max-width:calc(50% - min(95px,24%) - 20px)!important;
  }
}

/* powder room / toilet: sub picture scaled so the right column
   finishes level with the main photo (same ratio on smartphone) */
.eqk-powder .eqk-subs img{width:72%!important}
.eqk-toilet .eqk-subs img{width:45%!important}

/* warranty: both panels at 70% of the previous size */
.eqk-warranty-imgs{
  width:70%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* =========================================================
   FOOTER — konda7 content order, this site's colour and type
   ========================================================= */
.site-footer{
  padding:clamp(48px,6vw,80px) 0 clamp(28px,3.5vw,44px)!important;
  background:#5cbcc2!important;
  color:#fff!important;
}
.site-footer .inner{width:min(1000px,calc(100% - clamp(34px,4vw,60px)))}

/* contact block */
.site-footer .footer-contact{text-align:center}
.site-footer h2{
  margin:0 0 clamp(20px,2.6vw,32px)!important;
  font-family:"M PLUS Rounded 1c",sans-serif!important;
  font-size:clamp(18px,1.9vw,28px)!important;
  font-weight:700!important;
  line-height:1.6!important;
  color:#fff!important;
  text-align:center!important;
}
.site-footer .footer-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(12px,1.6vw,22px)!important;
  max-width:820px!important;
  margin:0 auto!important;
}
.site-footer .footer-actions a{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:clamp(16px,2vw,24px) clamp(12px,1.6vw,20px)!important;
  border:0!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#2f7f84!important;
  text-align:center!important;
  transition:.2s ease;
}
.site-footer .footer-actions a:hover{transform:translateY(-2px)}
.site-footer .footer-actions span[aria-hidden]{font-size:1.5em;line-height:1}
.site-footer .footer-actions strong{
  display:block!important;
  font-family:"M PLUS Rounded 1c",sans-serif!important;
  font-size:clamp(19px,1.7vw,26px)!important;
  line-height:1.25!important;
}
.site-footer .footer-actions small{
  display:block!important;
  font-size:clamp(11.5px,.85vw,13px)!important;
  line-height:1.6!important;
  color:#4c6c6e!important;
}

/* brand */
.site-footer .footer-brand{
  display:block!important;
  margin:clamp(34px,4vw,54px) auto 0!important;
  padding-top:clamp(26px,3vw,38px)!important;
  border-top:1px solid rgba(255,255,255,.45)!important;
  text-align:center!important;
}
.site-footer .footer-logo{
  width:min(230px,62%)!important;
  height:auto!important;
  margin:0 auto clamp(14px,1.8vw,22px)!important;
  filter:brightness(0) invert(1);
}
.site-footer .footer-license{
  margin:0!important;
  font-size:clamp(11.5px,.85vw,13px)!important;
  line-height:1.9!important;
  color:#fff!important;
}

/* site links */
.site-footer .footer-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:.5em clamp(14px,1.6vw,24px);
  margin:clamp(22px,2.6vw,32px) auto 0;
  font-size:clamp(12px,.92vw,14px);
  line-height:1.7;
}
.site-footer .footer-nav a{
  color:#fff;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.5);
  padding-bottom:1px;
}
.site-footer .footer-nav a:hover{border-bottom-color:#fff}

.site-footer .footer-copy{
  margin:clamp(22px,2.6vw,32px) 0 0!important;
  text-align:center!important;
  font-size:clamp(10.5px,.78vw,12px)!important;
  letter-spacing:.04em!important;
  color:rgba(255,255,255,.9)!important;
}

@media(max-width:700px){
  .site-footer h2{font-size:18px!important}
  .site-footer .br-sp{display:block;height:0;font-size:0}
  .site-footer .footer-actions{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  .site-footer .footer-nav{gap:.4em 14px;font-size:12px}
  .site-footer .footer-logo{width:min(200px,64%)!important}
}

/* =========================================================
   FOOTER — logo and licence lines (round 2)
   ========================================================= */
/* the supplied logo is full colour: placed directly on the footer */
.site-footer .footer-logo{
  filter:none!important;
  width:min(300px,74%)!important;
  padding:0!important;
  border-radius:0!important;
  background:none!important;
}
/* licence lines: reflow 4 -> 1 line with width, never splitting an item */
.site-footer .footer-license{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:baseline!important;
  gap:.25em clamp(12px,1.4vw,26px)!important;
  max-width:100%!important;
}
.site-footer .footer-license .ns{white-space:nowrap}

/* =========================================================
   OUTLINE — two columns on PC / tablet (konda7), one on SP
   ========================================================= */
.outline-table{border-top:1px solid #cbdcd7}
.outline-table>div{border-bottom:1px solid #cbdcd7;border-top:0}
@media(min-width:701px){
  /* two columns filled top-to-bottom: left column first, then right */
  .outline-table{
    display:block!important;
    column-count:2!important;
    column-gap:clamp(24px,3vw,48px)!important;
    column-fill:balance!important;
  }
  .outline-table>div{
    display:grid!important;
    grid-template-columns:minmax(0,36%) minmax(0,1fr)!important;
    align-items:stretch!important;
    break-inside:avoid!important;
    -webkit-column-break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .outline-table dt{
    display:flex!important;
    align-items:center!important;
    padding:11px clamp(10px,1vw,16px)!important;
    font-size:clamp(12.5px,.92vw,14px)!important;
    line-height:1.55!important;
  }
  .outline-table dd{
    display:flex!important;
    align-items:center!important;
    padding:11px clamp(10px,1vw,16px)!important;
    font-size:clamp(12.5px,.92vw,14px)!important;
    line-height:1.6!important;
  }
}
@media(max-width:700px){
  .outline-table{display:block!important}
  .outline-table>div{grid-template-columns:112px minmax(0,1fr)!important}
}

/* =========================================================
   Mail icon: 150% of the previous size everywhere it appears
   ========================================================= */
.cta span[aria-hidden]{font-size:2.55em!important}
.rev-contact span[aria-hidden]{font-size:1.5em;line-height:1}
.rev-mobile-mail span[aria-hidden]{font-size:1.5em;line-height:1}
.site-footer .footer-form span[aria-hidden]{font-size:2.25em!important}

/* mail icon and its label share the same vertical centre */
.cta,
.rev-contact,
.rev-mobile-mail{align-items:center!important}
.cta span[aria-hidden],
.rev-contact span[aria-hidden],
.rev-mobile-mail span[aria-hidden],
.site-footer .footer-form span[aria-hidden]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  transform:none!important;
}

/* =========================================================
   Final pass — smallest text kept at an SEO-safe size
   ========================================================= */
.rev-nav-grid span{font-size:11px!important;line-height:1.2!important}
.feature-photo span{font-size:10px!important}
@media(max-width:700px){
  .feature-photo span{font-size:10px!important;left:6px;bottom:5px}
}

/* =========================================================
   Hover: link buttons outside the header fade on hover
   ========================================================= */
.cta,
.map-link,
.site-footer .footer-actions a,
.site-footer .footer-nav a{
  transition:opacity .22s ease!important;
}
.cta:hover,
.map-link:hover,
.site-footer .footer-actions a:hover,
.site-footer .footer-nav a:hover{
  opacity:.7!important;
  transform:none!important;
}

/* =========================================================
   Mail icon as an SVG mask — identical metrics on every OS
   (the ✉ character was rendered by a different font on
    macOS / Windows / Android, so its optical centre moved)
   ========================================================= */
.icon-mail{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:1.6em;
  height:1.6em;
  margin-right:.3em;
  background-color:currentColor;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z'/></svg>");
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
  transform:none!important;
}
/* per-place sizes (the mask box height is exact, so flex centring is pixel-true) */
.cta .icon-mail{width:1.75em;height:1.75em}
.rev-contact .icon-mail{width:1.5em;height:1.5em}
.rev-mobile-mail .icon-mail{width:1.5em;height:1.5em}
.site-footer .footer-form .icon-mail{width:2.1em;height:2.1em;margin:0 0 2px}

/* =========================================================
   Horizontal-scroll lockdown
   The page must never scroll or drift sideways.
   1) overflow-x:clip on html AND body — unlike `hidden` it does not
      create a scroll container, so the sticky header and the fixed
      mobile menu keep working.
   2) every horizontal size/offset that used 100vw is switched to 100%.
      100vw INCLUDES the vertical scrollbar, so on a machine set to
      always show scrollbars each of these was ~15px wider than the
      visible area — which let the content slide left and right.
   ========================================================= */
html{overflow-x:clip}
body{overflow-x:clip!important}

.rev-mv-caption{padding:5px max(14px,calc((100% - 1180px)/2))!important}
.rev-mv-grade-note{padding:0 max(14px,calc((100% - 1180px)/2)) 5px!important}
.shape-a{right:-7%!important;width:26%!important}

@media(max-width:700px){
  .rev-mv-grade-note{padding:6px max(14px,calc((100% - 1180px)/2)) clamp(10px,1.3vw,18px)!important}
}

/* =========================================================
   PLAN heading must never collide with the tag pills
   `.plan-name-title` is white-space:nowrap inside a column that is
   capped at clamp(190px,21%,290px). The cqw-based type was sized so
   that 「間取り図」+「PLAN」 needed up to 105% of that column, so the
   tail of PLAN spilled into the tag column and the first pill sat on
   top of it. The type is scaled down so the pair always fits, with a
   safety margin.
   ========================================================= */
.plan-name-title{max-width:100%}
.plan-name-title span{font-size:15cqw!important}
.plan-name-title b{font-size:11.5cqw!important}
@media(max-width:900px){
  .plan-name-title span{font-size:12.5cqw!important}
  .plan-name-title b{font-size:9.6cqw!important}
}

/* =========================================================
   PLAN tag pills must never spill left onto the heading
   `.plan-tags-top` was a fixed 4-column (or 2-column) grid with
   justify-content:end. When the pills needed more room than the
   column had, the grid overflowed towards the LEFT and sat on top of
   「間取り図PLAN」 / 「自由設計対応」. Switching to a wrapping flex row
   makes overflow impossible, and the type is capped so the pills stay
   on one line at normal desktop widths.
   ========================================================= */
@media(min-width:701px){
  .plan-tags-top{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    align-content:start!important;
    gap:clamp(7px,.72vw,11px)!important;
  }
  .plan-tags-top li{font-size:clamp(11px,.9vw,14px)!important}
}
@media(min-width:701px) and (max-width:1180px){
  .plan-tags-top li{font-size:clamp(11px,1.5vw,13.5px)!important}
}
