:root{
  --green-900:#1b4d2e;
  --green-800:#20613a;
  --green-700:#2a7a49;
  --green-600:#358f57;
  --green-100:#e7f3ea;
  --green-50:#f3f9f4;
  --gold-600:#e0a526;
  --gold-700:#c48c14;
  --ink:#243027;
  --ink-soft:#5a6a5f;
  --white:#ffffff;
  --line:#dfe9e1;
  --radius:14px;
  --shadow:0 8px 24px rgba(27,77,46,0.10);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Meiryo",sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.7;
  padding-bottom:72px;
}
@media(min-width:768px){body{padding-bottom:0;}}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px;}
section{padding:64px 0;}
h2.section-title{
  text-align:center;
  font-size:clamp(22px,4vw,32px);
  color:var(--green-900);
  margin-bottom:8px;
  font-weight:800;
}
.section-sub{
  text-align:center;
  color:var(--ink-soft);
  margin-bottom:40px;
  font-size:15px;
}
.badge{
  display:inline-block;
  background:var(--gold-600);
  color:#fff;
  font-weight:700;
  font-size:12px;
  padding:4px 12px;
  border-radius:999px;
  letter-spacing:.05em;
}

/* Stats bar */
.stats-bar{
  background:#fff;border-bottom:1px solid var(--line);
  padding:20px 0;
}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;
}
@media(max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr);}}
.stat-item .stat-num{
  font-size:clamp(22px,4vw,32px);font-weight:900;color:var(--green-800);line-height:1.2;
}
.stat-item .stat-num small{font-size:14px;font-weight:700;}
.stat-item .stat-label{font-size:12px;color:var(--ink-soft);margin-top:4px;font-weight:600;}

/* Price hero */
.price-hero{
  background:linear-gradient(135deg,#fff8e8 0%,#fff 50%,var(--green-50) 100%);
  border-top:3px solid var(--gold-600);border-bottom:3px solid var(--gold-600);
  padding:40px 0;
}
.price-hero-inner{text-align:center;}
.price-hero .price-lead{font-size:14px;color:var(--gold-700);font-weight:800;margin-bottom:8px;}
.price-hero .price-main{
  font-size:clamp(42px,8vw,64px);font-weight:900;color:var(--green-900);line-height:1.1;
}
.price-hero .price-main span{font-size:0.45em;font-weight:700;}
.price-hero .price-sub{font-size:15px;color:var(--ink-soft);margin:12px 0 20px;}
.price-hero .price-compare{
  display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:center;
  font-size:13px;color:var(--ink-soft);
}
.price-hero .price-compare del{color:#999;}
.price-hero .price-compare strong{color:var(--green-800);}
.price-hero .price-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px;}
.price-hero .price-tags span{
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:6px 14px;font-size:12px;font-weight:700;color:var(--green-800);
}

/* Google reviews */
.google-review-section{background:#fff;}
.google-review-header{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px;
  background:var(--green-50);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;margin-bottom:28px;text-align:center;
}
.google-score .g-stars{color:var(--gold-600);font-size:28px;letter-spacing:2px;}
.google-score .g-num{font-size:36px;font-weight:900;color:var(--green-900);}
.google-score .g-label{font-size:13px;color:var(--ink-soft);}
.google-cta-btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.btn-google{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:12px 20px;font-weight:700;font-size:13px;color:var(--ink);
  box-shadow:var(--shadow);
}
.btn-google:hover{border-color:var(--green-600);color:var(--green-800);}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:800px){.case-grid{grid-template-columns:1fr;}}
.case-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;box-shadow:var(--shadow);
}
.case-card .case-meta{font-size:11px;color:var(--green-700);font-weight:700;margin-bottom:8px;}
.case-card .case-title{font-size:15px;font-weight:800;color:var(--green-900);margin-bottom:8px;}
.case-card .case-price{
  display:inline-block;background:var(--gold-600);color:#fff;
  font-size:12px;font-weight:800;padding:4px 10px;border-radius:6px;margin-bottom:10px;
}
.case-card p{font-size:13px;color:var(--ink-soft);}

/* Scam alert */
.scam-alert{
  background:#fff;border:1px solid #f0d999;border-radius:var(--radius);
  padding:24px;margin-top:24px;
}
.scam-alert h3{font-size:16px;color:var(--gold-700);margin-bottom:10px;font-weight:800;}
.scam-alert ul{font-size:13px;color:var(--ink-soft);padding-left:18px;}
.scam-alert li{margin-bottom:6px;}
.scam-alert .safe-note{
  margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
  font-size:13px;color:var(--green-800);font-weight:700;
}

/* Trust bar */
.trust-bar{
  background:var(--green-900);
  color:#dcebe1;
  font-size:12px;
  text-align:center;
  padding:8px 16px;
}
.trust-bar span{margin:0 10px;white-space:nowrap;}
.trust-bar strong{color:#fff;}

/* Header */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  max-width:1080px;margin:0 auto;padding:10px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:18px;color:var(--green-900);}
.logo-mark{
  width:36px;height:36px;border-radius:10px;
  background:linear-gradient(135deg,var(--green-700),var(--green-900));
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;
}
.header-cta{display:flex;align-items:center;gap:10px;}
.tel-block{text-align:right;}
.tel-block .tel-num{font-size:clamp(16px,3vw,22px);font-weight:800;color:var(--green-900);}
.tel-block .tel-note{font-size:11px;color:var(--ink-soft);}
.btn-mail,.btn-line,.btn-gold,.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  font-weight:700;font-size:13px;white-space:nowrap;border-radius:999px;
  transition:transform .15s, box-shadow .15s;
}
.btn-mail:hover,.btn-line:hover,.btn-gold:hover{transform:translateY(-1px);}
.btn-mail{
  display:none;background:var(--green-800);color:#fff;padding:10px 16px;
}
.btn-line{background:#06C755;color:#fff;padding:10px 16px;}
.btn-line.btn-line-lg{padding:13px 26px;font-size:14px;}
@media(min-width:720px){.btn-mail{display:inline-flex;}}
.main-nav{background:var(--green-900);}
.main-nav ul{
  display:flex;gap:2px;max-width:1080px;margin:0 auto;padding:0 20px;
  overflow-x:auto;
}
.main-nav a{
  display:block;color:#dcebe1;font-size:13px;font-weight:700;
  padding:11px 14px;white-space:nowrap;transition:color .15s,background .15s;
}
.main-nav a:hover,.main-nav a.active{color:#fff;background:rgba(255,255,255,.08);}
.main-nav a.nav-highlight{color:var(--gold-600);}

/* CTA strip */
.cta-strip{
  background:linear-gradient(135deg,var(--green-900),var(--green-700));
  color:#fff;padding:28px 0;text-align:center;
}
.cta-strip .badge{margin-bottom:10px;}
.cta-strip h3{font-size:clamp(18px,3.2vw,24px);font-weight:800;margin-bottom:14px;}
.cta-strip .tel-big{
  font-size:clamp(26px,6vw,40px);font-weight:900;color:#fff;
}
.cta-strip .tel-sub{font-size:13px;opacity:.9;margin:8px 0 18px;}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-gold{
  background:var(--gold-600);color:#fff;padding:14px 30px;font-size:15px;
  box-shadow:0 6px 16px rgba(224,165,38,.4);border:none;cursor:pointer;
}
.btn-outline{
  background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;
  padding:13px 26px;font-size:14px;
}

/* Hero */
.hero{
  position:relative;
  background:
    linear-gradient(105deg, rgba(10,26,17,.82) 0%, rgba(10,26,17,.55) 50%, rgba(27,77,46,.35) 100%),
    url("../images/hero.jpg") center/cover no-repeat;
  min-height:min(78vh,720px);
  display:flex;align-items:center;color:#fff;
}
.hero-inner{max-width:1080px;margin:0 auto;padding:64px 20px;width:100%;}
.hero-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;
}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;}}
.hero-copy .badge{margin-bottom:14px;}
.hero-copy h1{
  font-size:clamp(28px,5vw,46px);font-weight:900;line-height:1.3;
  margin-bottom:14px;text-shadow:0 2px 12px rgba(0,0,0,.25);
}
.hero-copy h1 span{color:var(--gold-600);}
.hero-copy p{color:#e7f0ea;font-size:15px;margin-bottom:20px;max-width:540px;}
.hero-points{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.hero-points li{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);
  font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;
}
.hero-card{
  background:rgba(255,255,255,.97);border-radius:var(--radius);
  padding:24px;box-shadow:var(--shadow);color:var(--ink);
}
.hero-card h3{font-size:16px;color:var(--green-900);margin-bottom:12px;font-weight:800;}
.hero-card .tel-num{font-size:clamp(24px,4vw,30px);font-weight:900;color:var(--green-900);}
.hero-card .tel-note{font-size:12px;color:var(--ink-soft);margin:4px 0 14px;}
.hero-card .mini-btns{display:flex;flex-direction:column;gap:8px;}
.hero-card .mini-btns a{width:100%;text-align:center;padding:12px;}

/* Service hub */
.service-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:800px){.service-hub{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.service-hub{grid-template-columns:1fr;}}
.service-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 20px;box-shadow:var(--shadow);
  transition:transform .15s, border-color .15s;
}
.service-card:hover{transform:translateY(-3px);border-color:var(--green-600);}
.service-card .s-icon{
  width:48px;height:48px;border-radius:12px;margin-bottom:14px;
  background:var(--green-100);color:var(--green-700);
  display:flex;align-items:center;justify-content:center;font-size:22px;
}
.service-card h3{font-size:17px;color:var(--green-900);margin-bottom:8px;font-weight:800;}
.service-card p{font-size:13px;color:var(--ink-soft);margin-bottom:14px;}
.service-card .link{color:var(--green-700);font-weight:700;font-size:13px;}

/* Compare */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:700px){.compare-grid{grid-template-columns:1fr;}}
.compare-card{
  border-radius:var(--radius);padding:24px;border:1px solid var(--line);
}
.compare-card.us{background:var(--green-50);border-color:var(--green-600);box-shadow:var(--shadow);}
.compare-card.them{background:#fafafa;}
.compare-card h3{font-size:16px;margin-bottom:14px;font-weight:800;}
.compare-card.us h3{color:var(--green-900);}
.compare-card.them h3{color:var(--ink-soft);}
.compare-card li{
  font-size:13px;padding:8px 0 8px 24px;position:relative;
  border-bottom:1px solid rgba(0,0,0,.05);
}
.compare-card li::before{position:absolute;left:0;font-weight:800;}
.compare-card.us li::before{content:"✓";color:var(--green-700);}
.compare-card.them li::before{content:"−";color:#999;}

/* Price */
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:900px){.price-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.price-grid{grid-template-columns:1fr;}}
.price-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;text-align:center;position:relative;
}
.price-card.featured{
  border-color:var(--gold-600);box-shadow:0 0 0 3px rgba(224,165,38,.3);
  transform:scale(1.03);z-index:1;
}
@media(max-width:900px){.price-card.featured{transform:none;}}
.price-card.price-lowest{border-color:var(--green-600);background:linear-gradient(180deg,#fff,var(--green-50));}
.price-card.price-lowest .p-value{color:var(--green-900);font-size:clamp(28px,5vw,36px);}
.featured-tag{
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  background:var(--gold-600);color:#fff;font-size:11px;font-weight:700;
  padding:3px 12px;border-radius:999px;
}
.price-card .p-name{font-weight:800;color:var(--green-900);font-size:15px;margin-bottom:4px;}
.price-card .p-desc{font-size:12px;color:var(--ink-soft);margin-bottom:10px;}
.price-card .p-value{font-size:clamp(22px,4vw,28px);font-weight:900;color:var(--green-800);}
.price-card .p-value span{font-size:13px;font-weight:600;}
.price-card .p-note{font-size:11px;color:var(--ink-soft);margin-top:8px;}

/* Area */
.area-box{
  background:var(--green-50);border:1px solid var(--line);
  border-radius:var(--radius);padding:28px;text-align:center;
}
.area-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px;}
.area-tags span{
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:6px 14px;font-size:13px;font-weight:600;color:var(--green-800);
}

/* Flow */
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:800px){.flow-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.flow-grid{grid-template-columns:1fr;}}
.flow-card{
  background:var(--green-50);border-radius:var(--radius);padding:22px;text-align:center;
}
.flow-card .step-num{font-weight:900;color:var(--green-700);font-size:26px;margin-bottom:8px;}
.flow-card h3{font-size:14px;color:var(--green-900);font-weight:800;margin-bottom:6px;}
.flow-card p{font-size:12px;color:var(--ink-soft);}

/* Reviews */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:800px){.review-grid{grid-template-columns:1fr;}}
.review-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow);
}
.review-card .stars{color:var(--gold-600);margin-bottom:8px;font-size:14px;}
.review-card h4{font-size:14px;color:var(--green-900);margin-bottom:8px;font-weight:800;}
.review-card p{font-size:13px;color:var(--ink-soft);}
.review-card .meta{font-size:11px;color:var(--ink-soft);margin-top:10px;}

/* FAQ */
.faq-item{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;cursor:pointer;font-weight:700;color:var(--green-900);
  background:var(--green-50);font-size:14px;
}
.faq-q .qmark{color:var(--gold-600);font-weight:900;margin-right:10px;}
.faq-q .arrow{transition:transform .2s;color:var(--green-700);}
.faq-item.open .arrow{transform:rotate(180deg);}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .25s ease;
  padding:0 20px;font-size:13px;color:var(--ink-soft);
}
.faq-item.open .faq-a{max-height:240px;padding:14px 20px 18px;}

/* Contact form */
.contact-section{background:var(--green-50);}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:32px;align-items:start;}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;}}
.contact-aside h3{font-size:20px;color:var(--green-900);margin-bottom:12px;font-weight:800;}
.contact-aside p{font-size:14px;color:var(--ink-soft);margin-bottom:16px;}
.contact-methods{display:flex;flex-direction:column;gap:10px;}
.contact-method{
  display:flex;align-items:center;gap:12px;background:#fff;
  border:1px solid var(--line);border-radius:12px;padding:14px 16px;
}
.contact-method .cm-icon{font-size:22px;}
.contact-method strong{display:block;font-size:14px;color:var(--green-900);}
.contact-method span{font-size:12px;color:var(--ink-soft);}
.contact-form{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;box-shadow:var(--shadow);
}
.contact-form h3{font-size:18px;color:var(--green-900);margin-bottom:6px;font-weight:800;}
.contact-form .form-note{font-size:12px;color:var(--ink-soft);margin-bottom:20px;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:13px;font-weight:700;margin-bottom:6px;color:var(--ink);}
.form-group label .req{color:#c0392b;font-size:11px;margin-left:4px;}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:12px 14px;border:1px solid var(--line);
  border-radius:10px;font-size:14px;font-family:inherit;
  transition:border-color .15s, box-shadow .15s;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  outline:none;border-color:var(--green-600);box-shadow:0 0 0 3px rgba(53,143,87,.15);
}
.form-group textarea{min-height:100px;resize:vertical;}
.checkbox-group{display:flex;flex-wrap:wrap;gap:12px;}
.checkbox-group label{
  display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px;
  cursor:pointer;background:var(--green-50);padding:8px 14px;border-radius:999px;
  border:1px solid var(--line);
}
.checkbox-group input{width:auto;accent-color:var(--green-700);}
.form-submit{
  width:100%;padding:16px;background:var(--gold-600);color:#fff;
  border:none;border-radius:999px;font-size:16px;font-weight:800;cursor:pointer;
  margin-top:8px;transition:background .15s;
}
.form-submit:hover{background:var(--gold-700);}
.form-privacy{font-size:11px;color:var(--ink-soft);margin-top:12px;text-align:center;}
.form-success{
  display:none;text-align:center;padding:40px 20px;
}
.form-success.show{display:block;}
.form-success .check{font-size:48px;margin-bottom:12px;}

/* Reason cards */
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:800px){.reason-grid{grid-template-columns:1fr;}}
.reason-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;box-shadow:var(--shadow);
}
.reason-card .num{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--green-800);color:#fff;font-weight:800;font-size:14px;margin-bottom:12px;
}
.reason-card h3{font-size:16px;color:var(--green-900);margin-bottom:8px;font-weight:800;}
.reason-card p{font-size:13px;color:var(--ink-soft);}

/* Visual placeholder */
.visual-block{
  border-radius:var(--radius);overflow:hidden;
  background:linear-gradient(135deg,var(--green-100),var(--green-50));
  aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
  color:var(--green-700);font-size:48px;box-shadow:var(--shadow);
}

/* Footer */
footer{background:var(--green-900);color:#fff;padding:48px 0 24px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:32px;}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;}}
.footer-logo{font-size:20px;font-weight:800;margin-bottom:10px;}
.footer-grid p,.footer-grid li{font-size:13px;color:#cfe0d5;}
.footer-grid h4{font-size:13px;margin-bottom:12px;color:#fff;}
.footer-grid li{padding:4px 0;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15);padding-top:18px;
  text-align:center;font-size:12px;color:#9ab6a3;
}

/* Mobile sticky CTA */
.mobile-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:60;
  display:flex;background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -4px 20px rgba(0,0,0,.08);
}
@media(min-width:768px){.mobile-bar{display:none;}}
.mobile-bar a{
  flex:1;text-align:center;padding:12px 6px;font-size:11px;font-weight:700;
  color:var(--ink);border-right:1px solid var(--line);
}
.mobile-bar a:last-child{border-right:none;}
.mobile-bar a.tel{color:var(--green-900);background:var(--green-50);}
.mobile-bar a.line{color:#fff;background:#06C755;}
.mobile-bar a.form{color:#fff;background:var(--gold-600);}
.mobile-bar .mb-icon{display:block;font-size:18px;margin-bottom:2px;}

/* Item grid (shared) */
.item-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media(min-width:640px){.item-grid.cols-3{grid-template-columns:repeat(3,1fr);}}
@media(min-width:900px){.item-grid.cols-4{grid-template-columns:repeat(4,1fr);}}
.item-row{
  display:flex;align-items:center;gap:12px;background:#fff;
  border:1px solid var(--line);border-radius:14px;padding:12px 14px;
  font-weight:700;font-size:14px;
}
.item-icon{
  width:40px;height:40px;flex-shrink:0;border-radius:10px;
  background:var(--green-100);color:var(--green-700);
  display:flex;align-items:center;justify-content:center;font-size:18px;
}
.item-arrow{color:var(--green-600);margin-left:auto;}

/* Page hero variant */
.page-hero{
  background:
    linear-gradient(105deg, rgba(10,26,17,.85) 0%, rgba(27,77,46,.5) 100%),
    linear-gradient(135deg, #1b4d2e, #358f57);
  padding:56px 20px;color:#fff;text-align:center;
}
.page-hero h1{font-size:clamp(26px,4.5vw,40px);font-weight:900;margin-bottom:10px;}
.page-hero p{font-size:15px;color:#e7f0ea;max-width:600px;margin:0 auto;}

/* Buyback page extras */
.hero-buyback{
  background:
    linear-gradient(105deg, rgba(10,26,17,.88) 0%, rgba(27,77,46,.55) 100%),
    linear-gradient(135deg, #1b4d2e, #358f57);
  min-height:min(70vh,640px);display:flex;align-items:center;color:#fff;
}
.hero-buyback .hero-inner{max-width:640px;padding:64px 20px;}
.hero-buyback h1{font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.35;margin-bottom:14px;}
.hero-buyback h1 span{color:var(--gold-600);}
.hero-buyback p{color:#e7f0ea;font-size:15px;margin-bottom:20px;}
.hero-tel-box{
  background:rgba(255,255,255,.96);border-radius:var(--radius);
  padding:18px 22px;display:inline-block;box-shadow:var(--shadow);
}
.hero-tel-box .tel-num{font-size:clamp(24px,4vw,30px);font-weight:900;color:var(--green-900);}
.hero-tel-box .tel-note{font-size:12px;color:var(--ink-soft);margin-top:4px;}
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:800px){.promise-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.promise-grid{grid-template-columns:1fr;}}
.promise-card{
  background:var(--green-50);border-radius:var(--radius);padding:22px;border:1px solid var(--line);
}
.promise-card .p-icon{font-size:28px;margin-bottom:12px;}
.promise-card h3{font-size:15px;color:var(--green-900);margin-bottom:8px;font-weight:800;}
.promise-card p{font-size:13px;color:var(--ink-soft);}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:800px){.method-grid{grid-template-columns:1fr;}}
.method-card{
  text-align:center;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:28px 20px;box-shadow:var(--shadow);
}
.method-card .m-icon{font-size:36px;margin-bottom:12px;}
.method-card .m-tag{font-size:12px;color:var(--gold-700);font-weight:700;margin-bottom:6px;}
.method-card h3{color:var(--green-900);font-size:18px;font-weight:800;}
.recommend-box{
  background:linear-gradient(135deg,#fff8e8,#fff);border:1px solid #f0d999;
  border-radius:var(--radius);padding:32px;text-align:center;box-shadow:var(--shadow);
}
.recommend-box .flag{color:var(--gold-700);font-weight:800;font-size:18px;margin-bottom:10px;}
.recommend-box p{color:var(--ink-soft);font-size:15px;max-width:640px;margin:0 auto 16px;}
.t-item{position:relative;padding:0 0 26px 26px;border-left:3px solid var(--green-100);margin-left:12px;}
.t-item:last-child{border-left-color:transparent;padding-bottom:0;}
.t-item::before{
  content:"";position:absolute;left:-9px;top:2px;width:15px;height:15px;
  border-radius:50%;background:var(--green-700);border:3px solid #fff;
}
.t-time{font-weight:800;color:var(--green-900);font-size:14px;}
.t-title{font-weight:700;font-size:15px;margin:2px 0 4px;}
.t-desc{font-size:13px;color:var(--ink-soft);}

/* Junk removal / kaitai extras */
.hero-service{
  background:
    linear-gradient(105deg, rgba(10,26,17,.85) 0%, rgba(27,77,46,.5) 100%),
    url("../images/junk-removal-hero.png") center/cover no-repeat;
  min-height:min(60vh,520px);display:flex;align-items:center;color:#fff;
}
.hero-service.hero-buyback-page{
  background-image:
    linear-gradient(105deg, rgba(10,26,17,.85) 0%, rgba(27,77,46,.5) 100%),
    url("../images/hero-banner.png");
}
.hero-service.hero-kaitai-page{
  background-image:
    linear-gradient(105deg, rgba(10,26,17,.85) 0%, rgba(27,77,46,.5) 100%),
    url("../images/kaitai-hero.png");
}
.hero-service .hero-inner{max-width:640px;padding:56px 20px;}
.hero-service h1{font-size:clamp(28px,4.5vw,40px);font-weight:900;margin-bottom:12px;}
.hero-service h1 span{color:var(--gold-600);}
.hero-service p{color:#e7f0ea;font-size:15px;margin-bottom:18px;}
.price-grid.junk-pricing .price-card .p-value{font-size:clamp(20px,3.5vw,26px);}

/* Photos */
.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px;}
@media(max-width:700px){.photo-grid{grid-template-columns:1fr;}}
.photo-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#fff;}
.photo-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
.photo-card figcaption{padding:14px 16px;font-size:13px;color:var(--ink-soft);}
.logo-img{height:36px;width:auto;}
.logo-text{
  font-size:18px;font-weight:900;color:var(--green-900);margin-left:8px;
}
@media(max-width:520px){.logo-text{font-size:15px;}}
.hero-brand{
  font-size:13px;font-weight:800;color:#d4e8da;margin-bottom:10px;letter-spacing:.04em;
}
.hero h1 .brand-em{color:#fff;text-decoration:underline;text-decoration-color:var(--gold-600);text-underline-offset:4px;}
.about-box{max-width:800px;margin:0 auto;}
.about-content p{font-size:15px;color:var(--ink-soft);margin-bottom:14px;line-height:1.85;}
.about-facts{
  margin-top:20px;padding:20px;background:var(--green-50);border-radius:var(--radius);
  border:1px solid var(--line);font-size:14px;color:var(--ink);
}
.about-facts li{padding:6px 0;border-bottom:1px solid var(--line);}
.about-facts li:last-child{border-bottom:none;}
.about-facts a{color:var(--green-800);font-weight:700;}

/* Blog */
.blog-hero .badge{margin-bottom:12px;}
.blog-section{padding:48px 0 64px;}
.blog-filter{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px;
}
.blog-filter-btn{
  background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:8px 18px;font-size:13px;font-weight:700;color:var(--ink-soft);cursor:pointer;
  font-family:inherit;
}
.blog-filter-btn:hover,.blog-filter-btn.active{
  background:var(--green-800);border-color:var(--green-800);color:#fff;
}
.blog-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr;}}
.blog-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;
}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(27,77,46,.14);}
.blog-card-link{display:block;color:inherit;}
.blog-card-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--green-50);}
.blog-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.blog-cat{
  position:absolute;top:12px;left:12px;font-size:11px;font-weight:800;
  padding:4px 10px;border-radius:6px;color:#fff;
}
.cat-buyback{background:#c48c14;}
.cat-junk{background:var(--green-700);}
.cat-ihin{background:#6b4c9a;}
.cat-kaitai{background:#4a6fa5;}
.cat-default{background:var(--ink-soft);}
.blog-card-body{padding:18px 20px 22px;}
.blog-date{font-size:12px;color:var(--ink-soft);font-weight:600;}
.blog-card-title{
  font-size:17px;font-weight:800;color:var(--green-900);
  margin:8px 0 6px;line-height:1.4;
}
.blog-location{font-size:12px;color:var(--green-700);font-weight:600;margin-bottom:8px;}
.blog-excerpt{font-size:13px;color:var(--ink-soft);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.blog-read-more{display:inline-block;margin-top:12px;font-size:13px;font-weight:800;color:var(--green-700);}
.blog-empty{text-align:center;color:var(--ink-soft);padding:48px 20px;}
.blog-preview-header{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:28px;
}
.blog-preview-header .section-title{margin-bottom:0;text-align:left;}
.blog-preview-more{
  font-size:14px;font-weight:800;color:var(--green-700);white-space:nowrap;
}
.blog-post-section{padding:32px 0 64px;}
.blog-post-wrap{max-width:760px;}
.blog-breadcrumb{
  font-size:13px;color:var(--ink-soft);margin-bottom:24px;
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.blog-breadcrumb a{color:var(--green-700);font-weight:600;}
.blog-post-header{margin-bottom:28px;}
.blog-post-meta{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px;
  font-size:13px;color:var(--ink-soft);
}
.blog-post-meta .blog-cat{position:static;display:inline-block;}
.blog-post-header h1{
  font-size:clamp(24px,4.5vw,32px);font-weight:900;color:var(--green-900);
  line-height:1.35;margin-bottom:12px;
}
.blog-post-lead{font-size:16px;color:var(--ink-soft);line-height:1.7;}
.blog-post-gallery{display:grid;gap:16px;margin-bottom:28px;}
.blog-post-figure{
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#fff;
}
.blog-post-figure img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover;}
.blog-post-figure figcaption{
  padding:10px 14px;font-size:12px;color:var(--ink-soft);background:#fff;
}
.blog-post-content p{
  font-size:15px;color:var(--ink);line-height:1.85;margin-bottom:16px;
}
.blog-post-cta{
  margin-top:36px;padding:24px;background:var(--green-50);
  border-radius:var(--radius);border:1px solid var(--line);text-align:center;
}
.blog-post-cta p{font-size:14px;color:var(--ink-soft);margin-bottom:16px;}
.blog-post-cta-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.blog-post-cta-btns .btn-gold,.blog-post-cta-btns .btn-mail{
  padding:12px 24px;border-radius:999px;font-weight:800;font-size:14px;
}
.blog-post-nav{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);}
.blog-back-link{font-size:14px;font-weight:700;color:var(--green-700);}
.blog-not-found{text-align:center;padding:48px 20px;}
.blog-not-found h2{color:var(--green-900);margin-bottom:8px;}

/* SEO tips blog */
.tips-schedule{
  margin-top:14px;font-size:13px;color:#d4e8da;font-weight:700;
}
.tips-list{display:grid;gap:16px;max-width:800px;margin:0 auto;}
.tips-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;
}
.tips-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(27,77,46,.12);}
.tips-card-link{display:block;padding:20px 22px;color:inherit;}
.tips-card-meta{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  font-size:12px;color:var(--ink-soft);margin-bottom:10px;
}
.tips-card-meta .blog-cat{position:static;}
.tips-card-title{
  font-size:18px;font-weight:800;color:var(--green-900);line-height:1.45;margin-bottom:8px;
}
.tips-excerpt{font-size:14px;color:var(--ink-soft);line-height:1.7;}
.tips-content p{font-size:15.5px;line-height:1.9;margin-bottom:1.1em;}
.tips-chars{font-size:12px;color:var(--ink-soft);}
.tips-preview-grid{display:grid;gap:16px;}
@media(min-width:800px){
  .tips-preview-grid{grid-template-columns:repeat(3,1fr);}
  .tips-preview-grid .tips-card-title{font-size:16px;}
}

/* Map */
.map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);margin-top:20px;}
.map-wrap iframe{display:block;width:100%;height:360px;border:0;}
.area-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start;}
@media(max-width:800px){.area-layout{grid-template-columns:1fr;}}

/* Form loading */
.form-submit:disabled{opacity:.7;cursor:wait;}
.form-privacy a{color:var(--green-700);text-decoration:underline;}
