:root{
  --bg-base:#F1EEEB;
  --bg-light:#FAF9F5;
  --bg-mid:#EBE5E1;
  --bg-dark:#1a1a1a;
  --bg-accent-warm:#696058;
  --text-body:#323232;
  --text-strong:#000000;
  --text-sub:#777777;
  --text-faint:#8f8f8f;
  --border-default:rgba(185,185,185,.5);
  --border-light:#c8c8c8;
  --white:#ffffff;
  --maxw:1000px;
  --maxw-wide:1440px;
  --font-body:游ゴシック,YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
}

*{box-sizing:border-box;}
html{overflow-x:hidden;}
body{
  margin:0;background:var(--bg-base);color:var(--text-body);
  font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.wrap-wide{max-width:var(--maxw-wide);margin:0 auto;padding:0 24px;}
section{padding:88px 0;}

/* ---------- buttons ---------- */
.btn-view-more{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  width:200px;height:60px;border-radius:30px;border:1px solid var(--border-default);
  background:transparent;font-size:13px;letter-spacing:.12em;color:var(--text-body);
  transition:all .25s ease;
}
.btn-view-more::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--text-body);}
.btn-view-more:hover{background:var(--text-strong);color:#fff;border-color:var(--text-strong);}
.btn-view-more:hover::after{background:#fff;}
.btn-view-more.on-dark{border-color:rgba(255,255,255,.4);color:#fff;}
.btn-view-more.on-dark::after{background:#fff;}
.btn-view-more.on-dark:hover{background:#fff;color:var(--text-strong);}
.btn-view-more.on-dark:hover::after{background:var(--text-strong);}
.btn-solid{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 34px;border-radius:30px;background:var(--text-strong);color:#fff;
  font-size:13px;letter-spacing:.08em;font-weight:500;transition:opacity .2s ease;
}
.btn-solid:hover{opacity:.75;}
.center{text-align:center;}

/* ---------- section label (editorial) ---------- */
.sec-label{
  font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;
  font-size:clamp(38px,5vw,54px);letter-spacing:.03em;color:var(--text-strong);line-height:1;
  margin-bottom:14px;
}
.sec-label.on-dark{color:#fff;}
.sec-sub{font-size:13px;font-weight:500;letter-spacing:.15em;color:var(--text-sub);margin-bottom:6px;}
.sec-head{margin-bottom:56px;}
.sec-head.center{text-align:center;}
h1,h2,h3{margin:0;font-weight:500;}
.h1{font-size:35px;line-height:1.5;letter-spacing:.7px;color:var(--text-body);}
.h2{font-size:24px;line-height:1.7;letter-spacing:.7px;color:var(--text-strong);}
.h3{font-size:13px;line-height:1.5;letter-spacing:.7px;color:#646464;}
.en-sub{font-size:12px;letter-spacing:.08em;color:var(--text-faint);font-style:italic;margin-top:8px;}

/* ---------- HEADER ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg-light);border-bottom:1px solid var(--border-light);}
.header-row{display:flex;align-items:center;justify-content:space-between;height:96px;max-width:var(--maxw-wide);margin:0 auto;padding:0 32px;}
.h-logo{display:flex;align-items:center;gap:12px;}
.h-logo img{height:26px;width:auto;}
.h-right{display:flex;align-items:center;gap:26px;}
.h-sns{display:flex;gap:14px;font-size:15px;color:var(--text-body);}
.nav-toggle{display:flex;flex-direction:column;gap:5px;width:32px;background:none;border:none;cursor:pointer;padding:0;}
.nav-toggle span{width:100%;height:1.5px;background:var(--text-strong);}

/* mega menu */
.mega{
  position:fixed;inset:0;background:var(--bg-light);z-index:100;
  transform:translateY(-100%);transition:transform .4s ease;overflow-y:auto;
}
.mega.is-open{transform:translateY(0);}
.mega-inner{max-width:var(--maxw);margin:0 auto;padding:120px 24px 60px;}
.mega-close{position:absolute;top:36px;right:36px;font-size:24px;background:none;border:none;cursor:pointer;}
.mega-tel{font-size:26px;font-weight:700;margin-bottom:8px;}
.mega-links{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:56px;}
.mega-links h4,.mega-links .mega-label{font-size:12px;letter-spacing:.1em;color:var(--text-sub);margin-bottom:18px;font-weight:700;}
.mega-links li{margin-bottom:12px;font-size:14px;}
.mega-links li a:hover{color:var(--text-sub);}

/* ---------- HERO ---------- */
.hero{position:relative;height:78vh;min-height:520px;overflow:hidden;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;}
.hero-slide.is-active{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;}
.hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.22);}
.hero-copy{position:absolute;left:0;bottom:64px;width:100%;color:#fff;z-index:2;}
.hero-copy .wrap-wide{}
.hero-copy .h1{color:#fff;font-size:clamp(26px,3.6vw,40px);}
.hero-copy .en-sub{color:rgba(255,255,255,.8);}
.hero-slidenum{position:absolute;right:32px;bottom:32px;color:#fff;z-index:2;font-family:Georgia,serif;font-style:italic;font-size:14px;letter-spacing:.1em;}
.hero-slidenum b{font-size:26px;font-weight:400;}

/* ---------- stat bar ---------- */
.stat-bar{background:var(--bg-mid);}
.stat-bar .wrap-wide{display:flex;justify-content:center;gap:0;flex-wrap:wrap;}
.stat-item{flex:1;min-width:180px;text-align:center;padding:44px 20px;border-right:1px solid var(--border-light);}
.stat-item:last-child{border-right:none;}
.stat-item .num{font-size:40px;font-weight:500;color:var(--text-strong);line-height:1;}
.stat-item .num small{font-size:16px;font-weight:500;margin-left:2px;}
.stat-item .label{font-size:12px;color:var(--text-sub);margin-top:10px;letter-spacing:.05em;}

/* ---------- REASON (2col alternating) ---------- */
.reason-row{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;min-height:460px;}
.reason-row:nth-child(even) .reason-photo{order:2;}
.reason-row:nth-child(even) .reason-copy{padding-left:96px;}
.reason-row:not(:nth-child(even)) .reason-copy{padding-right:96px;}
.reason-photo{position:relative;height:100%;min-height:460px;overflow:hidden;}
.reason-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.reason-row:hover .reason-photo img{transform:scale(1.045);}
.reason-copy{position:relative;padding:64px 72px;display:flex;flex-direction:column;justify-content:center;}
.reason-bignum{
  font-family:Georgia,serif;font-style:italic;font-weight:700;
  font-size:120px;line-height:1;color:rgba(50,50,50,.06);position:absolute;top:24px;
}
.reason-row:not(:nth-child(even)) .reason-bignum{left:24px;}
.reason-row:nth-child(even) .reason-bignum{right:24px;}
.reason-copy .num{
  position:relative;z-index:1;display:flex;align-items:baseline;gap:12px;margin-bottom:20px;
}
.reason-copy .num .n{font-family:Georgia,serif;font-style:italic;font-size:34px;font-weight:700;color:var(--text-strong);line-height:1;}
.reason-copy .num .label{font-size:11px;letter-spacing:.14em;color:var(--text-sub);text-transform:uppercase;}
.reason-copy .h2{margin-bottom:18px;position:relative;z-index:1;}
.reason-copy p{font-size:14px;color:var(--text-body);line-height:1.9;margin:0 0 22px;position:relative;z-index:1;max-width:440px;}
.reason-more{
  position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.08em;color:var(--text-body);border-bottom:1px solid var(--text-body);
  padding-bottom:3px;width:fit-content;transition:opacity .2s ease;
}
.reason-more:hover{opacity:.55;}

/* ---------- PLAN grid ---------- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-light);}
.plan-card{background:var(--bg-light);}
.plan-card .ph{aspect-ratio:4/3;overflow:hidden;}
.plan-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.plan-card:hover .ph img{transform:scale(1.04);}
.plan-card .body{padding:28px 26px;}
.plan-card .name{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--text-faint);letter-spacing:.1em;margin-bottom:6px;}
.plan-card .h2{font-size:20px;margin-bottom:10px;}
.plan-card p{font-size:13px;color:var(--text-sub);margin:0 0 16px;line-height:1.8;}
.plan-tags{display:flex;flex-wrap:wrap;gap:8px;}
.plan-tags span{font-size:11px;color:var(--text-sub);border:1px solid var(--border-default);border-radius:20px;padding:4px 12px;}

/* ---------- WORKS carousel-style grid ---------- */
.works-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.works-card .ph{aspect-ratio:4/3;overflow:hidden;margin-bottom:16px;}
.works-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.works-card:hover .ph img{transform:scale(1.05);}
.works-card .h3{font-size:14px;color:var(--text-body);margin-bottom:4px;}
.works-card .area{font-size:11.5px;color:var(--text-faint);}
.carousel-nav{display:flex;justify-content:center;gap:20px;margin-top:44px;}
.carousel-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-default);background:transparent;cursor:pointer;font-size:16px;color:var(--text-body);}

/* ---------- VOICE ---------- */
.voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border-light);}
.voice-card{background:var(--bg-light);padding:36px 34px;}
.voice-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.voice-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.voice-avatar img{width:100%;height:100%;object-fit:cover;}
.voice-name{font-size:13px;font-weight:700;}
.voice-time{font-size:11px;color:var(--text-faint);}
.voice-card p{font-size:13.5px;color:var(--text-body);line-height:1.9;margin:0;}

/* ---------- BLOG ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.blog-card .ph{aspect-ratio:4/3;overflow:hidden;margin-bottom:14px;}
.blog-card .ph img{width:100%;height:100%;object-fit:cover;}
.blog-card .date{font-size:11px;color:var(--text-faint);margin-bottom:6px;}
.blog-card .h3{font-size:13.5px;color:var(--text-body);line-height:1.7;}

/* ---------- 1ALLS (all-in-one message band) ---------- */
.allband{background:var(--bg-mid);}
.allband-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;}
.allband-photo{height:520px;overflow:hidden;}
.allband-photo img{width:100%;height:100%;object-fit:cover;}
.allband-copy{padding:60px 72px;}
.allband-copy p{font-size:14px;color:var(--text-body);line-height:2;margin:0 0 32px;}

/* ---------- dark band (message) ---------- */
.dark-band{background:var(--bg-dark);color:rgba(255,255,255,.88);text-align:center;}
.dark-band .sec-label{color:#fff;}
.dark-band p{font-size:14px;line-height:2.1;max-width:640px;margin:0 auto 20px;color:rgba(255,255,255,.82);}

/* ---------- footer ---------- */
.footer{background:var(--bg-accent-warm);color:rgba(255,255,255,.85);padding:72px 0 0;}
.footer-top{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:40px;max-width:var(--maxw-wide);margin:0 auto;padding:0 32px 56px;border-bottom:1px solid rgba(255,255,255,.18);}
.footer-brand{margin-bottom:14px;}
.footer-brand img{height:22px;width:auto;filter:brightness(0) invert(1);}
.footer-brand p{font-size:12.5px;line-height:1.9;color:rgba(255,255,255,.7);}
.footer-col h5,.footer-col .footer-label{font-size:12px;letter-spacing:.08em;color:rgba(255,255,255,.55);margin-bottom:16px;font-weight:700;}
.footer-col li{margin-bottom:10px;font-size:13px;}
.footer-col a:hover{opacity:.7;}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;max-width:var(--maxw-wide);margin:0 auto;padding:26px 32px;font-size:11px;color:rgba(255,255,255,.55);}

/* ---------- PLAN DETAIL PAGE ---------- */
.plan-hero{padding:56px 0 0;}
.plan-hero-inner{display:grid;grid-template-columns:.95fr 1.15fr;gap:56px;align-items:center;max-width:var(--maxw-wide);margin:0 auto;padding:0 32px;}
.plan-hero-copy .name{font-family:Georgia,serif;font-style:italic;font-size:14px;letter-spacing:.14em;color:var(--text-faint);margin-bottom:14px;}
.plan-hero-copy .h1{font-size:clamp(26px,3.2vw,36px);margin-bottom:16px;}
.plan-hero-copy .en-sub{color:var(--text-sub);}
.plan-hero-photo{border-radius:6px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.14);}
.plan-hero-photo img{width:100%;aspect-ratio:4/3.4;object-fit:cover;}
.breadcrumb{font-size:11.5px;color:var(--text-faint);padding:18px 0;}
.breadcrumb a:hover{opacity:.6;}

.intro-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.intro-split .photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.intro-split .photos img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}
.intro-split .photos img:first-child{grid-row:span 2;aspect-ratio:4/5.4;}
.intro-copy p{font-size:14px;color:var(--text-body);line-height:2;margin:0 0 20px;}
.type-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.type-tags span{font-size:12px;color:var(--text-body);border:1px solid var(--border-default);border-radius:20px;padding:7px 18px;}

.floor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-light);}
.floor-card{background:var(--bg-light);padding:40px;}
.floor-card .tag{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--text-faint);letter-spacing:.1em;margin-bottom:10px;}
.floor-card .h2{margin-bottom:6px;}
.floor-card .rooms{font-size:13px;color:var(--text-sub);margin-bottom:22px;}
.floor-card img{width:100%;border:1px solid var(--border-light);}

.spec-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border-light);}
.spec-item{background:var(--bg-light);padding:24px 30px;display:flex;gap:24px;}
.spec-item .k{width:110px;flex-shrink:0;font-size:12px;color:var(--text-sub);letter-spacing:.06em;padding-top:2px;}
.spec-item .v{font-size:13.5px;color:var(--text-body);line-height:1.8;}

.price-note{background:var(--bg-mid);padding:48px 56px;}
.price-note .h2{margin-bottom:18px;}
.price-note p{font-size:13.5px;color:var(--text-body);line-height:2;margin:0 0 16px;}
.price-excl{font-size:12.5px;color:var(--text-sub);line-height:2.1;padding:20px 24px;background:var(--bg-light);border:1px solid var(--border-light);}

.suit-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-light);}
.suit-item{background:var(--bg-light);padding:34px 30px;text-align:center;}
.suit-item .ic{font-family:Georgia,serif;font-style:italic;font-size:26px;color:var(--text-faint);margin-bottom:14px;}
.suit-item p{font-size:13px;color:var(--text-body);line-height:1.8;margin:0;}

/* ---------- equipment showcase ---------- */
.equip-block{margin-bottom:64px;}
.equip-block:last-child{margin-bottom:0;}
.equip-block h3{font-size:16px;font-weight:700;color:var(--text-strong);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border-light);}
.equip-row{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;align-items:center;}
.equip-row.cols-3{grid-template-columns:repeat(3,1fr);}
.equip-photo{border-radius:4px;overflow:hidden;background:#fff;}
.equip-photo img{width:100%;height:auto;object-fit:contain;}
.equip-note{font-size:11.5px;color:var(--text-faint);margin-top:10px;line-height:1.8;}
.equip-sub h3,.equip-sub h4{font-size:13.5px;font-weight:700;margin:0 0 8px;}

/* ---------- price included/excluded ---------- */
.price-statement{background:var(--bg-light);border:1px solid var(--border-light);padding:32px;text-align:center;margin:32px 0 36px;}
.price-statement p{font-size:16px;font-weight:700;color:var(--text-strong);margin:0;line-height:1.9;}
.price-statement .accent{color:var(--orange-deep,#b5651d);}
.price-cols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-light);}
.price-col{background:var(--bg-light);padding:32px 34px;}
.price-col h2,.price-col h3,.price-col h4{font-size:14px;font-weight:700;margin:0 0 16px;}
.price-col p{font-size:12.5px;color:var(--text-body);line-height:2.1;margin:0;}

/* ---------- secret grid (4 cost-saving reasons) ---------- */
.secret-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-light);}
.secret-item{background:var(--bg-light);padding:36px 34px;}
.secret-item .num{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--text-faint);letter-spacing:.08em;margin-bottom:10px;}
.secret-item h3,.secret-item h4{font-size:15px;font-weight:700;color:var(--text-strong);margin:0 0 14px;line-height:1.6;}
.secret-item p{font-size:13px;color:var(--text-body);line-height:1.9;margin:0;}

/* ---------- warranty list ---------- */
.warranty-list{display:flex;flex-direction:column;gap:1px;background:var(--border-light);}
.warranty-item{background:var(--bg-light);padding:34px 40px;display:grid;grid-template-columns:120px 1fr;gap:32px;align-items:start;}
.warranty-item .badge{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--text-faint);letter-spacing:.06em;line-height:1.6;}
.warranty-item .badge b{display:block;font-size:26px;color:var(--text-strong);font-style:normal;font-weight:700;margin-top:4px;}
.warranty-item h2,.warranty-item h3,.warranty-item h4{font-size:15.5px;font-weight:700;margin:0 0 10px;}
.warranty-item p{font-size:13px;color:var(--text-body);line-height:1.9;margin:0;}

/* ---------- checklist ---------- */
.wish-list{display:flex;flex-direction:column;gap:10px;margin:20px 0;}
.wish-list li{font-size:13.5px;color:var(--text-body);padding-left:20px;position:relative;line-height:1.7;}
.wish-list li::before{content:"—";position:absolute;left:0;color:var(--text-faint);}

/* ---------- voice list ---------- */
.voice-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-light);}
.voice-list-card{background:var(--bg-light);}
.voice-list-card .thumb{aspect-ratio:4/3;overflow:hidden;}
.voice-list-card .thumb img{width:100%;height:100%;object-fit:cover;}
.voice-list-card .body{padding:22px 24px;}
.voice-list-card h2,.voice-list-card h4{font-size:14.5px;font-weight:700;margin:0 0 14px;line-height:1.6;}
.voice-meta{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.voice-meta div{display:flex;gap:10px;font-size:11.5px;color:var(--text-sub);}
.voice-meta div span:first-child{width:60px;flex-shrink:0;color:var(--text-faint);}
.voice-list-card .more{font-size:11.5px;color:var(--link,var(--text-body));border-bottom:1px solid var(--border-default);padding-bottom:2px;}

/* ---------- contact form ---------- */
.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-light);margin-bottom:56px;}
.contact-info-card{background:var(--bg-light);padding:36px 34px;}
.contact-info-card h2,.contact-info-card h4{font-size:14px;font-weight:700;margin:0 0 14px;}
.contact-info-card .tel{font-family:Georgia,serif;font-size:26px;font-weight:700;color:var(--text-strong);}
.contact-info-card p{font-size:12.5px;color:var(--text-sub);line-height:1.9;margin:8px 0 0;}
.form-group{margin-bottom:26px;}
.form-group label{display:block;font-size:13px;font-weight:700;color:var(--text-body);margin-bottom:8px;}
.form-group label .req{color:#b5651d;font-size:11px;margin-left:6px;}
.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group select,.form-group textarea{
  width:100%;border:1px solid var(--border-light);background:var(--bg-light);
  padding:13px 16px;font-size:13.5px;font-family:var(--font-body);border-radius:2px;
}
.form-group textarea{min-height:150px;resize:vertical;}
.form-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
.form-note{font-size:11.5px;color:var(--text-faint);margin-top:6px;}
.form-submit{text-align:center;margin-top:44px;}
.form-submit button{
  border:none;cursor:pointer;padding:18px 60px;border-radius:30px;background:var(--text-strong);color:#fff;
  font-size:14px;letter-spacing:.08em;font-family:var(--font-body);font-weight:500;
}
.form-submit button:hover{opacity:.8;}
@media (max-width:900px){
  .header-row{padding:0 20px;height:76px;}
  .h-logo img{height:20px;}
  .h-sns{display:none;}
  .hero{height:64vh;min-height:420px;}
  .hero-copy{bottom:44px;}
  .hero-slidenum{right:20px;bottom:20px;}
  .stat-bar .wrap-wide{flex-direction:column;padding:0;}
  .stat-item{border-right:none;border-bottom:1px solid var(--border-light);padding:28px 20px;}
  .reason-row,.reason-row:nth-child(even) .reason-photo{grid-template-columns:1fr;order:0;}
  .reason-row{grid-template-columns:1fr;min-height:auto;}
  .reason-photo{min-height:280px;}
  .reason-row:nth-child(even) .reason-copy,.reason-row:not(:nth-child(even)) .reason-copy{padding:40px 24px;}
  .reason-bignum{font-size:70px;top:12px;}
  .reason-copy .num .n{font-size:26px;}
  .reason-copy p{max-width:100%;}
  .plan-grid,.works-scroll{grid-template-columns:1fr 1fr;}
  .voice-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr 1fr;}
  .allband-row{grid-template-columns:1fr;}
  .allband-photo{height:280px;}
  .allband-copy{padding:40px 24px;}
  .mega-inner{padding:100px 24px 60px;}
  .mega-links{grid-template-columns:1fr 1fr;gap:28px;row-gap:36px;}
  .footer-top{grid-template-columns:1fr 1fr;}
  section{padding:64px 0;}
  .intro-split{grid-template-columns:1fr;gap:32px;}
  .floor-grid,.spec-list,.suit-list{grid-template-columns:1fr;}
  .floor-card,.spec-item,.suit-item{padding:28px 24px;}
  .price-note{padding:36px 28px;}
  .plan-hero-inner{grid-template-columns:1fr;gap:28px;padding:0 20px;}
  .equip-row,.equip-row.cols-3{grid-template-columns:1fr;}
  .price-cols{grid-template-columns:1fr;}
  .price-statement{padding:24px 20px;}
  .price-statement p{font-size:14px;}
  .secret-grid{grid-template-columns:1fr;}
  .secret-item{padding:28px 24px;}
  .warranty-item{grid-template-columns:1fr;gap:12px;padding:28px 24px;}
  .voice-list-grid{grid-template-columns:1fr 1fr;}
  .contact-info-grid{grid-template-columns:1fr;}
  .form-row3{grid-template-columns:1fr;}
}

/* ---------- responsive: phone ---------- */
@media (max-width:560px){
  .wrap,.wrap-wide{padding:0 20px;}
  section{padding:52px 0;}
  .header-row{height:64px;padding:0 16px;}
  .h-logo img{height:16px;}
  .nav-toggle{width:26px;}
  .mega-close{top:22px;right:22px;font-size:20px;}
  .mega-inner{padding:80px 20px 48px;}
  .mega-tel{font-size:21px;}
  .mega-links{grid-template-columns:1fr;gap:30px;margin-top:40px;}
  .hero{height:58vh;min-height:380px;}
  .hero-copy .h1{font-size:24px;}
  .hero-copy{bottom:32px;}
  .hero-slidenum{font-size:11px;}
  .hero-slidenum b{font-size:18px;}
  .sec-label{font-size:32px;}
  .sec-head{margin-bottom:36px;}
  .h2{font-size:19px;}
  .stat-bar .wrap-wide{padding:0 20px;}
  .stat-bar .wrap-wide{display:grid;grid-template-columns:1fr 1fr;gap:0;}
  .stat-item{min-width:0;padding:18px 4px;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);}
  .stat-item:nth-child(2n){border-right:none;}
  .stat-item:nth-child(3),.stat-item:nth-child(4){border-bottom:none;}
  .stat-item .num{font-size:26px;}
  .stat-item .num small{font-size:12px;}
  .stat-item .label{font-size:10px;margin-top:6px;}
  .reason-copy{padding:32px 20px !important;}
  .reason-bignum{font-size:50px;}
  .reason-copy .num{margin-bottom:14px;}
  .reason-copy .num .n{font-size:22px;}
  .reason-copy p{font-size:13px;}
  .plan-grid,.works-scroll,.blog-grid{grid-template-columns:1fr;}
  .plan-card .ph,.works-card .ph{aspect-ratio:16/10;}
  .voice-card{padding:26px 22px;}
  .allband-photo{height:220px;}
  .allband-copy{padding:32px 20px;}
  .allband-copy p{font-size:13.5px;}
  .btn-view-more{width:100%;max-width:260px;}
  .footer{padding:52px 0 0;}
  .footer-top{grid-template-columns:1fr;gap:32px;padding:0 20px 40px;}
  .footer-bottom{padding:20px;flex-direction:column;align-items:flex-start;}
  .dark-band p{font-size:13.5px;}
}
