/* PEACE ランディング系ページ（html/ プロトタイプ由来・自動結合） */

/* ----- source: peace-koujijigyo.html ----- */
:root{
  --navy:#0d1f3c;--navy2:#1a3358;
  --green:#1a7a4a;--green2:#2aab66;--green-pale:#e8f5ee;
  --gold:#c87800;--gold2:#f0a500;--gold-pale:#fef3e0;
  --white:#fff;--gray-light:#f4f5f7;--gray-mid:#8a9ab0;--gray-dark:#3d4f65;
  --text:#1a1a2e;--header-h:64px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}
a{text-decoration:none;}

/* ===== HEADER ===== */
header{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--header-h);background:rgba(13,31,60,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 20px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{width:36px;height:36px;background:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;color:#fff;flex-shrink:0;}
.logo-name{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;}
.logo-sub{font-size:9px;color:var(--gray-mid);display:block;margin-top:1px;}
nav{display:none;}
@media(min-width:900px){nav{display:flex;align-items:center;gap:20px;}nav a{font-size:13px;color:rgba(255,255,255,.7);transition:color .2s;}nav a:hover{color:var(--gold2);}.nav-cta{background:var(--green);color:#fff!important;padding:8px 18px;border-radius:6px;font-weight:500!important;}}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;}
.hamburger span{display:block;height:2px;background:rgba(255,255,255,.85);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:900px){.hamburger{display:none;}}
.sp-menu{position:fixed;top:var(--header-h);left:0;right:0;background:rgba(10,20,40,.98);backdrop-filter:blur(16px);z-index:199;transform:translateY(-110%);transition:transform .35s cubic-bezier(.4,0,.2,1);padding:20px 24px 32px;}
.sp-menu.open{transform:translateY(0);}
.sp-menu a{display:block;padding:14px 0;font-size:16px;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.08);}
.sp-menu-tel{margin-top:20px;text-align:center;padding:16px;background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.35);border-radius:12px;}
.sp-menu-tel a{font-family:'Oswald',sans-serif;font-size:26px;color:#fff;border:none;padding:0;}
.sp-cta{display:block;margin-top:14px;padding:16px;text-align:center;background:var(--green);color:#fff;border-radius:10px;font-size:15px;font-weight:500;}

/* ===== BREADCRUMB ===== */
.breadcrumb{background:var(--navy);padding:calc(var(--header-h)+12px) 24px 16px;font-size:12px;color:rgba(255,255,255,.4);}
.breadcrumb a{color:rgba(255,255,255,.4);}
.breadcrumb span{margin:0 8px;}
@media(min-width:900px){.breadcrumb{padding:calc(var(--header-h)+12px) 60px 16px;}}

/* ===== HERO ===== */
.hero{background:linear-gradient(135deg,#040c1e 0%,#0a1f3c 40%,#0d2a1e 70%,#061810 100%);padding:36px 24px 64px;position:relative;overflow:hidden;}
@media(min-width:900px){.hero{padding:52px 60px 88px;}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(200,120,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(200,120,0,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.hero-glow{position:absolute;top:-100px;right:-80px;width:600px;height:600px;background:radial-gradient(circle,rgba(26,122,74,.18) 0%,transparent 70%);pointer-events:none;}
.hero-glow2{position:absolute;bottom:-80px;left:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(200,120,0,.1) 0%,transparent 70%);pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;}
.hero-layout{display:grid;grid-template-columns:1fr;gap:40px;}
@media(min-width:900px){.hero-layout{grid-template-columns:1fr 1fr;gap:64px;align-items:center;}}
.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(200,120,0,.2);border:1px solid rgba(200,120,0,.4);border-radius:100px;padding:5px 14px;margin-bottom:16px;}
.badge-dot{width:6px;height:6px;background:var(--gold2);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
.eyebrow-text{font-size:11px;color:var(--gold2);letter-spacing:1px;font-weight:500;}
.hero-label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--gold2);margin-bottom:10px;}
.hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(28px,6vw,52px);font-weight:600;color:#fff;line-height:1.15;margin-bottom:14px;}
.hero-title em{font-style:normal;color:var(--gold2);}
.hero-catchcopy{font-family:'Noto Serif JP',serif;font-size:clamp(14px,2.5vw,18px);color:rgba(255,255,255,.75);margin-bottom:20px;line-height:1.7;border-left:3px solid var(--gold);padding-left:16px;}
.hero-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.9;margin-bottom:28px;}
.hero-btns{display:flex;flex-direction:column;gap:10px;}
@media(min-width:480px){.hero-btns{flex-direction:row;}}
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:500;transition:all .25s;}
.btn-p:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,122,74,.4);}
.btn-s{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;border:1px solid rgba(255,255,255,.25);transition:all .25s;}
.btn-s:hover{border-color:rgba(255,255,255,.6);}

/* ヒーロー右：資格バッジ */
.hero-creds{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px 24px;}
.hc-title{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:1px;margin-bottom:16px;font-family:'Oswald',sans-serif;text-align:center;}
.hc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.hc-item{background:rgba(200,120,0,.12);border:1px solid rgba(200,120,0,.25);border-radius:10px;padding:14px 12px;text-align:center;}
.hc-item.police{background:rgba(14,116,144,.15);border-color:rgba(14,116,144,.3);}
.hc-icon{font-size:22px;margin-bottom:6px;}
.hc-name{font-size:12px;font-weight:700;color:#fff;line-height:1.3;}
.hc-sub{font-size:10px;color:rgba(255,255,255,.4);margin-top:3px;line-height:1.4;}
.hc-free{background:var(--green);border-radius:10px;padding:14px;text-align:center;margin-top:0;}
.hc-free-val{font-family:'Oswald',sans-serif;font-size:20px;font-weight:600;color:#fff;}
.hc-free-lbl{font-size:10px;color:rgba(255,255,255,.7);margin-top:3px;}

/* ===== SECTION COMMON ===== */
.sec{padding:64px 24px;max-width:1200px;margin:0 auto;}
@media(min-width:900px){.sec{padding:80px 60px;}}
.sec-wrap{padding:64px 0;}
@media(min-width:900px){.sec-wrap{padding:80px 0;}}
.sec-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:900px){.sec-inner{padding:0 60px;}}
.sec-lbl{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--gold);margin-bottom:10px;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4vw,34px);font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:12px;}
.sec-desc{font-size:14px;color:var(--gray-dark);line-height:1.9;max-width:640px;}
.bg-navy{background:var(--navy);}
.bg-gray{background:var(--gray-light);}

/* ===== 「入口から出口まで」フローセクション ===== */
.flow-wrap{background:var(--navy);padding:72px 0;position:relative;overflow:hidden;}
@media(min-width:900px){.flow-wrap{padding:88px 0;}}
.flow-glow{position:absolute;top:-80px;right:-60px;width:500px;height:500px;background:radial-gradient(circle,rgba(200,120,0,.1) 0%,transparent 70%);pointer-events:none;}
.flow-wrap .sec-lbl{color:var(--gold2);}
.flow-wrap .sec-title{color:#fff;}
.flow-wrap .sec-desc{color:rgba(255,255,255,.5);}

/* フローステップ */
.flow-steps{display:grid;grid-template-columns:1fr;gap:0;margin-top:48px;position:relative;}
@media(min-width:900px){.flow-steps{grid-template-columns:repeat(6,1fr);gap:0;}}

.flow-step{display:flex;flex-direction:row;align-items:flex-start;gap:0;position:relative;}
@media(min-width:900px){.flow-step{flex-direction:column;align-items:center;}}

/* スマホ：縦の線 */
.flow-step::before{
  content:'';position:absolute;left:27px;top:56px;bottom:-1px;width:2px;
  background:rgba(200,120,0,.3);
}
.flow-step:last-child::before{display:none;}
@media(min-width:900px){
  .flow-step::before{display:none;}
  .flow-step:not(:last-child)::after{
    content:'';position:absolute;top:27px;left:calc(50% + 28px);width:calc(100% - 56px);height:2px;
    background:linear-gradient(90deg,rgba(200,120,0,.5),rgba(200,120,0,.2));
  }
}

.step-circle{width:56px;height:56px;border-radius:50%;background:rgba(200,120,0,.2);border:2px solid rgba(200,120,0,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;margin-right:16px;}
@media(min-width:900px){.step-circle{margin-right:0;margin-bottom:16px;}}
.step-num{font-family:'Oswald',sans-serif;font-size:11px;color:var(--gold2);font-weight:600;letter-spacing:1px;line-height:1;}
.step-icon{font-size:18px;line-height:1;}

.step-body{padding:0 0 36px;}
@media(min-width:900px){.step-body{padding:0 8px 0;text-align:center;}}
.step-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:6px;}
.step-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.7;}
.step-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;}
@media(min-width:900px){.step-tags{justify-content:center;}}
.step-tag{font-size:10px;background:rgba(200,120,0,.15);border:1px solid rgba(200,120,0,.3);color:rgba(255,255,255,.7);padding:2px 8px;border-radius:100px;}

/* ===== 工事種別セクション ===== */
.works-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:36px;}
@media(min-width:600px){.works-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.works-grid{grid-template-columns:repeat(4,1fr);}}
.work-card{border-radius:14px;overflow:hidden;background:var(--white);border:1px solid #e2e8f0;transition:all .3s;display:flex;flex-direction:column;}
.work-card:hover{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 12px 36px rgba(200,120,0,.1);}
.wc-top{height:110px;position:relative;display:flex;align-items:flex-end;padding:16px;}
.wc-t1{background:linear-gradient(135deg,#0a1f3c,#1a3a6a);}
.wc-t2{background:linear-gradient(135deg,#1a0a2a,#3a1a5a);}
.wc-t3{background:linear-gradient(135deg,#0a2a1a,#1a5a3a);}
.wc-t4{background:linear-gradient(135deg,#2a1a0a,#5a3a1a);}
.wc-t5{background:linear-gradient(135deg,#0a1a2a,#1a3a5a);}
.wc-t6{background:linear-gradient(135deg,#1a2a0a,#3a5a1a);}
.wc-t7{background:linear-gradient(135deg,#2a0a0a,#5a1a1a);}
.wc-t8{background:linear-gradient(135deg,#0a2a2a,#1a5a5a);}
.wc-bg-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:48px;opacity:.15;}
.wc-lbl{font-family:'Oswald',sans-serif;font-size:9px;letter-spacing:2px;color:rgba(255,255,255,.5);margin-bottom:3px;}
.wc-name{font-size:14px;font-weight:700;color:#fff;line-height:1.2;}
.wc-body{padding:16px;flex:1;}
.wc-desc{font-size:12px;color:var(--gray-dark);line-height:1.75;margin-bottom:10px;}
.wc-items{list-style:none;}
.wc-items li{font-size:11px;color:var(--gray-dark);padding:3px 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:6px;}
.wc-items li:last-child{border-bottom:none;}
.wc-items li::before{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;}
.wc-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;margin-top:8px;}
.badge-special{background:rgba(200,120,0,.1);color:var(--gold);border:1px solid rgba(200,120,0,.3);}
.badge-eco{background:rgba(26,122,74,.1);color:var(--green);border:1px solid rgba(26,122,74,.3);}

/* ===== 「電気の隣にあるもの全部」ビジュアル ===== */
.neighbor-wrap{background:var(--gray-light);padding:72px 0;}
@media(min-width:900px){.neighbor-wrap{padding:88px 0;}}
.neighbor-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-top:40px;align-items:center;}
@media(min-width:900px){.neighbor-grid{grid-template-columns:1fr 1fr;gap:64px;}}
.neighbor-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;}
/* 中心：PEACE */
.nv-center{width:120px;height:120px;border-radius:50%;background:var(--navy);border:3px solid var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:2;flex-shrink:0;}
.nv-c-name{font-family:'Oswald',sans-serif;font-size:20px;font-weight:600;color:#fff;letter-spacing:2px;}
.nv-c-sub{font-size:9px;color:rgba(255,255,255,.5);margin-top:2px;}
/* 周辺サービス */
.nv-items{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.nv-item{display:flex;align-items:center;gap:8px;background:var(--white);border:1px solid #e2e8f0;border-radius:10px;padding:10px 14px;transition:all .25s;}
.nv-item:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(200,120,0,.1);}
.nv-icon{font-size:20px;flex-shrink:0;}
.nv-name{font-size:13px;font-weight:700;color:var(--navy);}
.nv-sub{font-size:11px;color:var(--gray-mid);}
/* コンセプトテキスト右側 */
.neighbor-content{}
.nc-quote{font-family:'Noto Serif JP',serif;font-size:clamp(18px,3vw,26px);font-weight:600;color:var(--navy);line-height:1.55;margin-bottom:20px;border-left:4px solid var(--gold);padding-left:18px;}
.nc-desc{font-size:13px;color:var(--gray-dark);line-height:1.95;margin-bottom:20px;}
.nc-points{display:flex;flex-direction:column;gap:10px;}
.ncp{display:flex;align-items:flex-start;gap:12px;background:var(--white);border-radius:10px;padding:14px;border:1px solid #e2e8f0;}
.ncp-icon{font-size:20px;flex-shrink:0;}
.ncp-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:3px;}
.ncp-desc{font-size:12px;color:var(--gray-dark);line-height:1.65;}

/* ===== ESCO・太陽光 特集 ===== */
.esco-wrap{background:var(--navy);padding:72px 0;position:relative;overflow:hidden;}
@media(min-width:900px){.esco-wrap{padding:88px 0;}}
.esco-glow{position:absolute;top:-60px;left:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(26,122,74,.15) 0%,transparent 70%);pointer-events:none;}
.esco-wrap .sec-lbl{color:var(--gold2);}
.esco-wrap .sec-title{color:#fff;}
.esco-wrap .sec-desc{color:rgba(255,255,255,.5);}
.esco-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:36px;}
@media(min-width:700px){.esco-grid{grid-template-columns:1fr 1fr;}}
.esco-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;}
.esco-card.featured{border-color:rgba(200,120,0,.4);background:rgba(200,120,0,.08);}
.ec-icon{font-size:32px;margin-bottom:12px;}
.ec-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:8px;}
.ec-desc{font-size:13px;color:rgba(255,255,255,.55);line-height:1.8;margin-bottom:12px;}
.ec-list{list-style:none;}
.ec-list li{font-size:12px;color:rgba(255,255,255,.65);padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:7px;}
.ec-list li:last-child{border-bottom:none;}
.ec-list li::before{content:'✓';color:var(--gold2);font-weight:700;flex-shrink:0;}
.model-room-badge{display:inline-flex;align-items:center;gap:5px;background:var(--gold);color:#fff;font-size:11px;font-weight:700;padding:4px 12px;border-radius:100px;margin-top:10px;}

/* ===== 資格一覧 ===== */
.license-wrap{background:var(--gray-light);padding:64px 0;}
@media(min-width:900px){.license-wrap{padding:80px 0;}}
.license-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:32px;}
@media(min-width:600px){.license-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.license-grid{grid-template-columns:repeat(3,1fr);}}
.lic-card{background:var(--white);border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:14px;transition:all .25s;}
.lic-card:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(200,120,0,.08);}
.lic-icon{width:44px;height:44px;border-radius:50%;background:var(--gold-pale);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.lic-name{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:2px;}
.lic-detail{font-size:11px;color:var(--gray-mid);line-height:1.5;}
.lic-count{display:inline-block;font-family:'Oswald',sans-serif;font-size:11px;background:var(--gold);color:#fff;padding:2px 8px;border-radius:100px;margin-top:4px;}

/* ===== 施工実績 ===== */
.cases-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:32px;}
@media(min-width:600px){.cases-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.cases-grid{grid-template-columns:repeat(3,1fr);}}
.case-card{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;transition:all .25s;background:var(--white);}
.case-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.case-img{height:140px;display:flex;align-items:center;justify-content:center;font-size:44px;position:relative;}
.ci-1{background:linear-gradient(135deg,#1a2a4a,#2a4a7a);}
.ci-2{background:linear-gradient(135deg,#1a3a2a,#2a6a4a);}
.ci-3{background:linear-gradient(135deg,#2a2a2a,#4a4a4a);}
.ci-4{background:linear-gradient(135deg,#3a2a1a,#6a4a2a);}
.ci-5{background:linear-gradient(135deg,#1a1a3a,#2a2a6a);}
.ci-6{background:linear-gradient(135deg,#1a3a1a,#2a6a2a);}
.case-cat{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff;font-size:10px;padding:3px 10px;border-radius:4px;letter-spacing:1px;}
.case-body{padding:16px;}
.case-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:4px;line-height:1.4;}
.case-meta{font-size:11px;color:var(--gray-mid);margin-bottom:7px;}
.case-voice{font-size:12px;color:var(--gray-dark);border-left:3px solid var(--gold);padding-left:8px;line-height:1.6;}

/* ===== FAQ ===== */
.faq-list{margin-top:28px;}
.faq-item{background:var(--white);border-bottom:1px solid #e2e8f0;}
.faq-item:first-child{border-radius:12px 12px 0 0;}
.faq-item:last-child{border-radius:0 0 12px 12px;border-bottom:none;}
.faq-q{padding:16px 20px;display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;font-weight:500;color:var(--navy);transition:background .2s;}
.faq-q:hover{background:var(--gray-light);}
.fq-badge{flex-shrink:0;width:24px;height:24px;background:var(--gold);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px;}
.fq-text{flex:1;}
.fq-toggle{font-size:18px;color:var(--gold);transition:transform .3s;flex-shrink:0;margin-top:2px;}
.faq-item.open .fq-toggle{transform:rotate(45deg);}
.faq-a{padding:0 20px 16px 56px;font-size:13px;color:var(--gray-dark);line-height:1.85;display:none;}
.faq-item.open .faq-a{display:block;}

/* ===== CTA ===== */
.cta-sec{background:var(--navy);padding:72px 24px;text-align:center;position:relative;overflow:hidden;}
@media(min-width:900px){.cta-sec{padding:88px 60px;}}
.cta-inner{max-width:680px;margin:0 auto;position:relative;z-index:2;}
.cta-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4vw,32px);color:#fff;font-weight:600;margin-bottom:14px;line-height:1.4;}
.cta-desc{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:28px;line-height:1.9;}
.cta-free{display:inline-flex;align-items:center;gap:6px;background:rgba(200,120,0,.15);border:1px solid rgba(200,120,0,.35);border-radius:100px;padding:6px 18px;font-size:12px;font-weight:700;color:var(--gold2);margin-bottom:20px;}
.cta-btns{display:flex;flex-direction:column;gap:10px;align-items:center;}
@media(min-width:480px){.cta-btns{flex-direction:row;justify-content:center;}}
.btn-tel{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:18px!important;padding:16px 32px!important;}

/* FOOTER */
footer{background:#070d1a;padding:40px 24px;}
@media(min-width:900px){footer{padding:48px 60px;}}
.foot-inner{max-width:1200px;margin:0 auto;}
.foot-top{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:20px;}
@media(min-width:600px){.foot-top{grid-template-columns:2fr 1fr 1fr;}}
.foot-brand .fn{font-family:'Oswald',sans-serif;font-size:18px;color:#fff;letter-spacing:3px;display:block;}
.foot-brand p{font-size:12px;color:rgba(255,255,255,.3);line-height:2;margin-top:6px;}
.foot-col h4{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:1px;margin-bottom:12px;}
.foot-col a{display:block;font-size:12px;color:rgba(255,255,255,.3);margin-bottom:8px;transition:color .2s;}
.foot-col a:hover{color:rgba(255,255,255,.7);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:16px;display:flex;flex-direction:column;gap:8px;}
@media(min-width:600px){.foot-bottom{flex-direction:row;justify-content:space-between;align-items:center;}}
.foot-copy{font-size:11px;color:rgba(255,255,255,.25);}
.foot-links{display:flex;gap:16px;}
.foot-links a{font-size:11px;color:rgba(255,255,255,.25);transition:color .2s;}
.foot-links a:hover{color:rgba(255,255,255,.6);}

/* フローティング */
.float-tel{position:fixed;bottom:20px;right:16px;z-index:150;display:flex;flex-direction:column;gap:5px;align-items:flex-end;}
@media(min-width:900px){.float-tel{display:none;}}
.float-tel a{display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:700;box-shadow:0 4px 20px rgba(26,122,74,.5);font-family:'Oswald',sans-serif;letter-spacing:1px;}
.float-tel-note{font-size:9px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.6);padding:2px 10px;border-radius:100px;}

/* ANIMATION */
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .6s,transform .6s;}
.fade-up.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.15s;}.d3{transition-delay:.2s;}.d4{transition-delay:.25s;}.d5{transition-delay:.3s;}.d6{transition-delay:.35s;}

/* ----- source: peace-vss.html ----- */
:root{
  --navy:#0d1f3c;--navy2:#1a3358;
  --green:#1a7a4a;--green2:#2aab66;--green-pale:#e8f5ee;
  --teal:#0e7490;--teal-pale:#e0f7fa;
  --white:#fff;--gray-light:#f4f5f7;--gray-mid:#8a9ab0;--gray-dark:#3d4f65;
  --text:#1a1a2e;--header-h:64px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}
a{text-decoration:none;}
img{max-width:100%;height:auto;display:block;}

/* ===== HEADER ===== */
header{
  position:fixed;top:0;left:0;right:0;z-index:200;
  height:var(--header-h);
  background:rgba(13,31,60,0.97);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 20px;
}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{width:36px;height:36px;background:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;color:#fff;flex-shrink:0;}
.logo-name{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;}
.logo-sub{font-size:9px;color:var(--gray-mid);display:block;margin-top:1px;}
nav{display:none;}
@media(min-width:900px){
  nav{display:flex;align-items:center;gap:24px;}
  nav a{font-size:13px;color:rgba(255,255,255,.7);transition:color .2s;}
  nav a:hover{color:var(--green2);}
  .nav-cta{background:var(--green);color:#fff!important;padding:8px 18px;border-radius:6px;font-weight:500!important;}
}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;}
.hamburger span{display:block;height:2px;background:rgba(255,255,255,.85);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:900px){.hamburger{display:none;}}
.sp-menu{position:fixed;top:var(--header-h);left:0;right:0;background:rgba(10,20,40,0.98);backdrop-filter:blur(16px);z-index:199;transform:translateY(-110%);transition:transform .35s cubic-bezier(.4,0,.2,1);padding:20px 24px 32px;}
.sp-menu.open{transform:translateY(0);}
.sp-menu a{display:block;padding:14px 0;font-size:16px;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.08);transition:color .2s;}
.sp-menu-tel{margin-top:20px;text-align:center;padding:16px;background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.35);border-radius:12px;}
.sp-menu-tel a{font-family:'Oswald',sans-serif;font-size:26px;color:#fff;border:none;padding:0;letter-spacing:1px;}
.sp-cta{display:block;margin-top:14px;padding:16px;text-align:center;background:var(--green);color:#fff;border-radius:10px;font-size:15px;font-weight:500;}

/* ===== BREADCRUMB ===== */
.breadcrumb{background:var(--navy);padding:calc(var(--header-h) + 12px) 24px 16px;font-size:12px;color:rgba(255,255,255,.4);}
.breadcrumb a{color:rgba(255,255,255,.4);}
.breadcrumb a:hover{color:var(--green2);}
.breadcrumb span{margin:0 8px;}
@media(min-width:900px){.breadcrumb{padding:calc(var(--header-h) + 12px) 60px 16px;}}

/* ===== PAGE HERO ===== */
.page-hero{
  background:linear-gradient(135deg,#040e1f 0%,#061a10 40%,#0a2a18 70%,#0d1f3c 100%);
  padding:28px 24px 60px;position:relative;overflow:hidden;
}
@media(min-width:900px){.page-hero{padding:40px 60px 80px;}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(26,122,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(26,122,74,.07) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.hero-glow-r{position:absolute;top:-80px;right:-60px;width:480px;height:480px;background:radial-gradient(circle,rgba(26,122,74,.22) 0%,transparent 70%);pointer-events:none;}
.hero-glow-l{position:absolute;bottom:-100px;left:-60px;width:360px;height:360px;background:radial-gradient(circle,rgba(14,116,144,.15) 0%,transparent 70%);pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;}

/* ヒーロー上段：カメラアイコン＋キャッチ */
.hero-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.eyebrow-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(26,122,74,.25);border:1px solid rgba(26,122,74,.5);border-radius:100px;padding:5px 14px;}
.badge-dot{width:6px;height:6px;background:var(--green2);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
.eyebrow-badge span{font-size:11px;color:var(--green2);letter-spacing:1px;font-weight:500;}

.hero-layout{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:900px){.hero-layout{grid-template-columns:1fr 1fr;gap:64px;align-items:center;}}

.hero-copy{}
.hero-label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--green2);margin-bottom:10px;}
.hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(28px,7vw,52px);font-weight:600;color:#fff;line-height:1.2;margin-bottom:12px;}
.hero-title em{font-style:normal;color:var(--green2);}
.hero-title .sub{display:block;font-family:'Oswald',sans-serif;font-size:clamp(14px,3.5vw,20px);font-weight:400;color:rgba(255,255,255,.6);letter-spacing:2px;margin-bottom:8px;}
.hero-desc{font-size:14px;color:rgba(255,255,255,.55);line-height:1.9;margin-bottom:28px;}

/* ¥0 バッジ 3連 */
.zero-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;}
.zero-badge{display:flex;flex-direction:column;align-items:center;background:rgba(26,122,74,.18);border:1px solid rgba(26,122,74,.4);border-radius:10px;padding:12px 16px;flex:1;min-width:90px;}
.zero-val{font-family:'Oswald',sans-serif;font-size:24px;font-weight:600;color:var(--green2);line-height:1;}
.zero-lbl{font-size:10px;color:rgba(255,255,255,.5);margin-top:4px;text-align:center;}

.hero-btns{display:flex;flex-direction:column;gap:10px;}
@media(min-width:480px){.hero-btns{flex-direction:row;}}
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .25s;}
.btn-p:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,122,74,.4);}
.btn-s{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;border:1px solid rgba(255,255,255,.25);transition:all .25s;}
.btn-s:hover{border-color:rgba(255,255,255,.6);}

/* ヒーロー右：フロービジュアル */
.hero-vis{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px 24px;}
.vis-title{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:1px;text-align:center;margin-bottom:16px;font-family:'Oswald',sans-serif;}
.vf-box{background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.35);border-radius:10px;padding:12px 16px;text-align:center;margin-bottom:0;}
.vf-lbl{font-size:10px;color:var(--green2);letter-spacing:1px;margin-bottom:3px;}
.vf-val{font-size:13px;color:#fff;font-weight:500;}
.vf-arr{text-align:center;color:rgba(26,122,74,.6);font-size:16px;margin:7px 0;}
.vf-plus{text-align:center;font-family:'Oswald',sans-serif;font-size:22px;color:var(--green2);font-weight:600;margin:10px 0;}
.vf-result{background:var(--green);border-radius:10px;padding:16px;text-align:center;margin-top:0;}
.vf-r-lbl{font-size:10px;color:rgba(255,255,255,.7);letter-spacing:1px;margin-bottom:3px;}
.vf-r-val{font-size:14px;color:#fff;font-weight:700;}

/* ===== SECTION COMMON ===== */
.sec{padding:60px 24px;max-width:1200px;margin:0 auto;}
@media(min-width:900px){.sec{padding:80px 60px;}}
.sec-full{padding:60px 0;}
@media(min-width:900px){.sec-full{padding:80px 0;}}
.sec-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:900px){.sec-inner{padding:0 60px;}}
.sec-lbl{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--green);margin-bottom:10px;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4.5vw,36px);font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:12px;}
.sec-desc{font-size:14px;color:var(--gray-dark);line-height:1.9;max-width:640px;}
.sec-center{text-align:center;}
.sec-center .sec-desc{margin:0 auto;}

/* ===== 3ターゲット ===== */
.targets-bg{background:var(--navy);padding:60px 0;}
@media(min-width:900px){.targets-bg{padding:80px 0;}}
.targets-bg .sec-lbl{color:var(--green2);}
.targets-bg .sec-title{color:#fff;}
.targets-bg .sec-desc{color:rgba(255,255,255,.5);}
.targets-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:40px;}
@media(min-width:600px){.targets-grid{grid-template-columns:repeat(3,1fr);}}

.target-card{border-radius:16px;overflow:hidden;transition:transform .3s;cursor:default;}
.target-card:hover{transform:translateY(-5px);}

/* カード上部：カラー帯 */
.tc-top{padding:28px 24px 20px;position:relative;}
.tc-top.community{background:linear-gradient(135deg,#0a3320 0%,#1a7a4a 100%);}
.tc-top.csr{background:linear-gradient(135deg,#1a2a4a 0%,#0e4a8a 100%);}
.tc-top.track{background:linear-gradient(135deg,#2a1a0a 0%,#7a5a1a 100%);}
.tc-badge{display:inline-block;font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.8);padding:3px 10px;border-radius:100px;margin-bottom:12px;}
.tc-icon{font-size:36px;margin-bottom:10px;}
.tc-title{font-size:18px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:8px;}
.tc-sub{font-size:12px;color:rgba(255,255,255,.6);line-height:1.7;}

/* カード下部：ポイントリスト */
.tc-body{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-top:none;padding:20px 24px;}
.tc-points{list-style:none;}
.tc-points li{font-size:13px;color:rgba(255,255,255,.75);padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:flex-start;gap:8px;line-height:1.5;}
.tc-points li:last-child{border-bottom:none;}
.tc-points li::before{content:'✓';color:var(--green2);font-weight:700;flex-shrink:0;margin-top:1px;}

/* ===== 仕組みセクション ===== */
.mechanism-sec{background:var(--gray-light);}
.mechanism-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-top:44px;align-items:center;}
@media(min-width:900px){.mechanism-grid{grid-template-columns:1fr 1fr;gap:64px;}}

/* ステップフロー */
.mech-flow{display:flex;flex-direction:column;gap:0;}
.mech-step{display:flex;align-items:stretch;gap:0;}
.mech-step-left{display:flex;flex-direction:column;align-items:center;width:48px;flex-shrink:0;}
.mech-num{width:40px;height:40px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;color:#fff;flex-shrink:0;}
.mech-line{width:2px;background:rgba(26,122,74,.25);flex:1;margin:4px auto;}
.mech-step:last-child .mech-line{display:none;}
.mech-content{padding:0 0 28px 16px;flex:1;}
.mech-title{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.mech-desc{font-size:13px;color:var(--gray-dark);line-height:1.7;}
.mech-tag{display:inline-block;font-size:10px;background:var(--green-pale);color:var(--green);padding:2px 8px;border-radius:100px;margin-top:6px;}

/* ビジュアルサイド */
.mech-vis{background:var(--navy);border-radius:20px;padding:32px 28px;position:relative;overflow:hidden;}
.mech-vis-glow{position:absolute;top:-60px;right:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(26,122,74,.2) 0%,transparent 70%);pointer-events:none;}
.mech-vis-title{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:1px;text-align:center;margin-bottom:20px;font-family:'Oswald',sans-serif;}
.mech-actors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;}
.actor-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 12px;text-align:center;}
.actor-icon{font-size:24px;margin-bottom:6px;}
.actor-name{font-size:11px;font-weight:700;color:#fff;}
.actor-role{font-size:10px;color:rgba(255,255,255,.4);margin-top:2px;line-height:1.4;}
.mech-arrows{display:flex;justify-content:center;gap:16px;align-items:center;margin:8px 0;}
.mech-arrow-box{text-align:center;}
.mech-arrow-lbl{font-size:10px;color:var(--green2);margin-bottom:2px;}
.mech-arrow-sym{font-size:18px;color:rgba(26,122,74,.6);}
.result-box{background:var(--green);border-radius:12px;padding:16px;text-align:center;}
.result-lbl{font-size:10px;color:rgba(255,255,255,.7);letter-spacing:1px;margin-bottom:4px;}
.result-val{font-size:15px;font-weight:700;color:#fff;}
.result-note{font-size:11px;color:rgba(255,255,255,.6);margin-top:4px;}

/* ===== 実績・施工写真グリッド ===== */
.cases-sec{background:var(--white);}
.cases-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:32px 0 40px;}
@media(min-width:600px){.cases-stats{grid-template-columns:repeat(4,1fr);}}
.stat-box{background:var(--green-pale);border-radius:12px;padding:20px 16px;text-align:center;}
.stat-num{font-family:'Oswald',sans-serif;font-size:28px;font-weight:600;color:var(--green);line-height:1;}
.stat-sup{font-size:16px;}
.stat-lbl{font-size:11px;color:var(--gray-dark);margin-top:6px;line-height:1.4;}

/* 施工写真グリッド */
.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media(min-width:600px){.photo-grid{grid-template-columns:repeat(3,1fr);gap:16px;}}
@media(min-width:900px){.photo-grid{grid-template-columns:repeat(3,1fr);}}
.photo-card{border-radius:12px;overflow:hidden;position:relative;aspect-ratio:4/3;cursor:pointer;transition:transform .3s;}
.photo-card:hover{transform:scale(1.02);}
.photo-card.featured{grid-column:span 2;}
@media(min-width:600px){.photo-card.featured{grid-column:span 1;}}
.photo-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;position:relative;}
.photo-bg.park{background:linear-gradient(135deg,#1a3a2a 0%,#2a6a4a 100%);}
.photo-bg.mansion{background:linear-gradient(135deg,#1a2a4a 0%,#2a4a7a 100%);}
.photo-bg.parking{background:linear-gradient(135deg,#2a2a2a 0%,#4a4a4a 100%);}
.photo-bg.school{background:linear-gradient(135deg,#1a3a1a 0%,#4a7a2a 100%);}
.photo-bg.factory{background:linear-gradient(135deg,#2a1a0a 0%,#6a4a1a 100%);}
.photo-bg.stadium{background:linear-gradient(135deg,#0a1a2a 0%,#1a4a7a 100%);}
.photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));padding:16px 14px 12px;}
.photo-tag{font-size:10px;background:rgba(26,122,74,.8);color:#fff;padding:2px 8px;border-radius:4px;display:inline-block;margin-bottom:4px;letter-spacing:1px;}
.photo-title{font-size:13px;font-weight:700;color:#fff;line-height:1.3;}
.photo-meta{font-size:11px;color:rgba(255,255,255,.65);margin-top:2px;}

/* 実績バナー */
.track-banner{background:var(--navy);border-radius:16px;padding:24px 28px;margin:40px 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.track-icon{font-size:28px;flex-shrink:0;}
.track-text{font-size:13px;color:rgba(255,255,255,.65);line-height:1.8;flex:1;}
.track-text strong{color:var(--green2);font-size:15px;}

/* ===== サービス3種 ===== */
.services-sec{background:var(--gray-light);}
.services-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:40px;}
@media(min-width:600px){.services-grid{grid-template-columns:repeat(3,1fr);}}
.sv-card{background:var(--white);border-radius:16px;overflow:hidden;border:1px solid #e2e8f0;transition:all .3s;}
.sv-card:hover{border-color:var(--green);transform:translateY(-4px);box-shadow:0 10px 32px rgba(26,122,74,.1);}
.sv-top{height:140px;position:relative;display:flex;align-items:flex-end;padding:18px;}
.sv-top.cam{background:linear-gradient(135deg,#0d2a1a 0%,#1a7a4a 100%);}
.sv-top.rent{background:linear-gradient(135deg,#0a1a3a 0%,#1a4a8a 100%);}
.sv-top.spec{background:linear-gradient(135deg,#1a0a2a 0%,#4a1a7a 100%);}
.sv-bg-num{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:'Oswald',sans-serif;font-size:72px;font-weight:600;color:rgba(255,255,255,.1);}
.sv-label{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.55);margin-bottom:4px;}
.sv-name{font-size:17px;font-weight:700;color:#fff;}
.sv-body{padding:20px;}
.sv-desc{font-size:13px;color:var(--gray-dark);line-height:1.8;margin-bottom:14px;}
.sv-features{list-style:none;}
.sv-features li{font-size:12px;color:var(--gray-dark);padding:4px 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:6px;}
.sv-features li:last-child{border-bottom:none;}
.sv-features li::before{content:'';width:5px;height:5px;background:var(--green2);border-radius:50%;flex-shrink:0;}
.sv-price{margin-top:16px;padding:12px;background:var(--green-pale);border-radius:8px;text-align:center;}
.sv-price-val{font-family:'Oswald',sans-serif;font-size:22px;color:var(--green);font-weight:600;}
.sv-price-lbl{font-size:10px;color:var(--gray-dark);margin-top:2px;}

/* ===== 比較テーブル ===== */
.compare-sec{background:var(--white);}
.compare-wrap{overflow-x:auto;margin-top:36px;border-radius:16px;border:1px solid #e2e8f0;}
table{width:100%;border-collapse:collapse;min-width:560px;}
thead tr{background:var(--navy);}
th{padding:14px 20px;font-size:13px;font-weight:500;color:#fff;text-align:left;}
th:first-child{border-radius:16px 0 0 0;}
th.highlight{background:var(--green);color:#fff;}
th:last-child{border-radius:0 16px 0 0;}
td{padding:13px 20px;font-size:13px;border-bottom:1px solid #e8ecf0;color:var(--gray-dark);}
tr:last-child td{border-bottom:none;}
tr:last-child td:first-child{border-radius:0 0 0 16px;}
tr:last-child td:last-child{border-radius:0 0 16px 0;}
tr:nth-child(even) td{background:var(--gray-light);}
.t-green{color:var(--green);font-weight:700;}
.t-red{color:#cc4444;}

/* ===== FAQ ===== */
.faq-sec{background:var(--gray-light);}
.faq-list{margin-top:36px;}
.faq-item{border-bottom:1px solid #e2e8f0;background:var(--white);border-radius:0;}
.faq-item:first-child{border-radius:12px 12px 0 0;}
.faq-item:last-child{border-radius:0 0 12px 12px;border-bottom:none;}
.faq-q{padding:18px 20px;display:flex;align-items:flex-start;gap:14px;cursor:pointer;font-size:15px;font-weight:500;color:var(--navy);transition:background .2s;}
.faq-q:hover{background:var(--gray-light);}
.faq-q-badge{flex-shrink:0;width:24px;height:24px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px;}
.faq-q-text{flex:1;}
.faq-toggle{font-size:18px;color:var(--green);transition:transform .3s;flex-shrink:0;margin-top:2px;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}
.faq-a{padding:0 20px 18px 58px;font-size:14px;color:var(--gray-dark);line-height:1.85;display:none;}
.faq-item.open .faq-a{display:block;}

/* ===== VOICE ===== */
.voice-sec{background:var(--white);}
.voice-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:36px;}
@media(min-width:600px){.voice-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.voice-grid{grid-template-columns:repeat(3,1fr);}}
.voice-card{border:1px solid #e2e8f0;border-radius:12px;padding:22px;position:relative;background:var(--white);}
.voice-card::before{content:'"';font-family:'Noto Serif JP',serif;font-size:48px;color:var(--green-pale);position:absolute;top:8px;left:16px;line-height:1;}
.voice-tag{font-size:10px;background:var(--green-pale);color:var(--green);padding:3px 10px;border-radius:100px;display:inline-block;margin-bottom:14px;font-weight:500;}
.voice-text{font-size:13px;color:var(--gray-dark);line-height:1.85;margin-bottom:14px;}
.voice-from{font-size:11px;color:var(--gray-mid);}

/* ===== CTA ===== */
.cta-sec{background:var(--navy);padding:72px 24px;text-align:center;}
@media(min-width:900px){.cta-sec{padding:88px 60px;}}
.cta-inner{max-width:720px;margin:0 auto;}
.cta-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4.5vw,34px);color:#fff;font-weight:600;margin-bottom:14px;line-height:1.4;}
.cta-desc{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:36px;line-height:1.9;}
.cta-targets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px;}
.cta-target{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 10px;text-align:center;}
.cta-target-icon{font-size:22px;margin-bottom:6px;}
.cta-target-name{font-size:12px;font-weight:700;color:#fff;}
.cta-btns{display:flex;flex-direction:column;gap:12px;align-items:center;}
@media(min-width:480px){.cta-btns{flex-direction:row;justify-content:center;}}
.btn-tel{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:18px!important;padding:16px 32px!important;}

/* ===== FOOTER ===== */
footer{background:#070d1a;padding:40px 24px;}
@media(min-width:900px){footer{padding:48px 60px;}}
.foot-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px;}
@media(min-width:600px){.foot-inner{flex-direction:row;justify-content:space-between;align-items:center;}}
.foot-brand .fn{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;display:block;}
.foot-brand p{font-size:12px;color:rgba(255,255,255,.3);line-height:1.9;margin-top:6px;}
.foot-links{display:flex;gap:16px;flex-wrap:wrap;}
.foot-links a{font-size:12px;color:rgba(255,255,255,.3);transition:color .2s;}
.foot-links a:hover{color:rgba(255,255,255,.7);}
.foot-copy{font-size:11px;color:rgba(255,255,255,.2);}

/* スマホフローティング電話ボタン */
.float-tel{position:fixed;bottom:20px;right:20px;z-index:150;display:flex;flex-direction:column;align-items:center;gap:5px;}
@media(min-width:900px){.float-tel{display:none;}}
.float-tel a{display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:700;box-shadow:0 4px 20px rgba(26,122,74,.5);transition:all .25s;font-family:'Oswald',sans-serif;letter-spacing:1px;}
.float-tel-note{font-size:9px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.6);padding:2px 10px;border-radius:100px;}

/* ===== 導入パターン ===== */
.pattern-wrap{margin-top:48px;}
.pattern-title-row{margin-bottom:28px;}
.pattern-heading{font-family:'Noto Serif JP',serif;font-size:clamp(20px,3.5vw,28px);font-weight:600;color:var(--navy);margin:8px 0 10px;}
.pattern-lead{font-size:14px;color:var(--gray-dark);line-height:1.85;max-width:680px;}
.pattern-grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:700px){.pattern-grid{grid-template-columns:1fr 1fr;}}
.pattern-card{border-radius:16px;overflow:hidden;border:2px solid transparent;}
.pattern-card.p1{border-color:rgba(26,122,74,.4);}
.pattern-card.p2{border-color:rgba(14,116,144,.4);}
.pattern-card-head{padding:24px 24px 18px;}
.p1 .pattern-card-head{background:linear-gradient(135deg,#0a3320 0%,#1a7a4a 100%);}
.p2 .pattern-card-head{background:linear-gradient(135deg,#0a1a3a 0%,#0e4a8a 100%);}
.pattern-num{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:3px;color:rgba(255,255,255,.5);margin-bottom:8px;}
.pattern-icon{font-size:32px;margin-bottom:8px;}
.pattern-name{font-size:18px;font-weight:700;color:#fff;margin-bottom:4px;}
.pattern-sub{font-size:12px;color:rgba(255,255,255,.6);}
.pattern-card-body{padding:20px 24px 22px;background:var(--white);}
/* パターンフロー */
.pattern-flow{display:flex;flex-direction:column;gap:0;margin-bottom:18px;}
.pf-step{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--gray-light);border-radius:8px;}
.pf-num{width:22px;height:22px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;}
.p2 .pf-num{background:var(--teal);}
.pf-text{font-size:13px;color:var(--navy);font-weight:500;}
.pf-highlight{background:var(--green-pale);border:1px solid rgba(26,122,74,.3);}
.pf-highlight2{background:var(--teal-pale);border:1px solid rgba(14,116,144,.3);}
.pf-arr{text-align:center;font-size:14px;color:var(--gray-mid);margin:3px 0;}
.pf-result{background:var(--green);border-radius:8px;padding:10px 14px;text-align:center;font-size:13px;font-weight:700;color:#fff;}
.pf-result2{background:var(--teal);border-radius:8px;padding:10px 14px;text-align:center;font-size:13px;font-weight:700;color:#fff;}
/* メリットリスト */
.pattern-merit-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.pattern-merit{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--gray-dark);line-height:1.5;}
.pm-check{color:var(--green);font-weight:700;flex-shrink:0;}
.pm-check2{color:var(--teal);font-weight:700;flex-shrink:0;}
/* バッジ */
.pattern-badge{display:inline-block;font-size:11px;padding:4px 12px;border-radius:100px;font-weight:500;}
.p1-badge{background:var(--green-pale);color:var(--green);}
.p2-badge{background:var(--teal-pale);color:var(--teal);}
/* 注記 */
.pattern-note{margin-top:20px;padding:14px 18px;background:var(--gray-light);border-radius:10px;font-size:13px;color:var(--gray-dark);display:flex;align-items:flex-start;gap:4px;line-height:1.75;}
/* ギャラリー */
.cases-photo-title{font-family:'Noto Serif JP',serif;font-size:20px;font-weight:600;color:var(--navy);margin:44px 0 6px;}
.cases-photo-desc{font-size:13px;color:var(--gray-mid);margin-bottom:0;}
/* 写真タグ色分け */
.p1-tag{background:rgba(26,122,74,.85);}
.p2-tag{background:rgba(14,116,144,.85);}
/* 凡例 */
.photo-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;}
.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-dark);}
.legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0;}
.p1-dot{background:var(--green);}
.p2-dot{background:var(--teal);}
/* ===== 導入パターン ===== */
.fade-up{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}

/* ----- source: 不動産　売却・仲介.html ----- */
:root{
  --navy:#0d1f3c;--navy2:#1a3358;
  --green:#1a7a4a;--green2:#2aab66;--green-pale:#e8f5ee;
  --gold:#c87800;--gold2:#f0a500;--gold-pale:#fef3e0;
  --white:#fff;--gray-light:#f4f5f7;--gray-mid:#8a9ab0;--gray-dark:#3d4f65;
  --text:#1a1a2e;--header-h:64px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}
a{text-decoration:none;}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--header-h);background:rgba(13,31,60,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 20px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{width:36px;height:36px;background:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;color:#fff;flex-shrink:0;}
.logo-name{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;}
.logo-sub{font-size:9px;color:var(--gray-mid);display:block;margin-top:1px;}
.nav-desk{display:none;}
@media(min-width:900px){.nav-desk{display:flex;align-items:center;gap:20px;}.nav-desk a{font-size:13px;color:rgba(255,255,255,.7);transition:color .2s;}.nav-desk a:hover{color:var(--gold2);}.nav-cta{background:var(--green);color:#fff!important;padding:8px 18px;border-radius:6px;font-weight:500!important;}}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;}
.hamburger span{display:block;height:2px;background:rgba(255,255,255,.85);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:900px){.hamburger{display:none;}}
.sp-menu{position:fixed;top:var(--header-h);left:0;right:0;background:rgba(10,20,40,.98);backdrop-filter:blur(16px);z-index:199;transform:translateY(-110%);transition:transform .35s cubic-bezier(.4,0,.2,1);padding:20px 24px 32px;}
.sp-menu.open{transform:translateY(0);}
.sp-menu a{display:block;padding:14px 0;font-size:16px;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.08);}
.sp-menu-tel{margin-top:20px;text-align:center;padding:16px;background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.35);border-radius:12px;}
.sp-menu-tel a{font-family:'Oswald',sans-serif;font-size:26px;color:#fff;border:none;padding:0;}
.sp-menu-tel p{font-size:11px;color:var(--gray-mid);margin-top:4px;}
.sp-cta{display:block;margin-top:14px;padding:16px;text-align:center;background:var(--green);color:#fff;border-radius:10px;font-size:15px;font-weight:500;}

/* BREADCRUMB */
.breadcrumb{background:var(--navy);padding:calc(var(--header-h) + 12px) 24px 16px;font-size:12px;color:rgba(255,255,255,.4);}
.breadcrumb a{color:rgba(255,255,255,.4);}
.breadcrumb a:hover{color:var(--gold2);}
.breadcrumb span{margin:0 8px;}
@media(min-width:900px){.breadcrumb{padding:calc(var(--header-h) + 12px) 60px 16px;}}

/* PAGE HERO */
.page-hero{background:linear-gradient(135deg,#0d1f3c 0%,#1a1200 50%,#0d1f3c 100%);padding:28px 24px 56px;position:relative;overflow:hidden;}
@media(min-width:900px){.page-hero{padding:40px 60px 72px;}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(240,165,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(240,165,0,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.hero-glow{position:absolute;top:-80px;right:-60px;width:460px;height:460px;background:radial-gradient(circle,rgba(240,165,0,.15) 0%,transparent 70%);pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(240,165,0,.12);border:1px solid rgba(240,165,0,.4);border-radius:100px;padding:5px 14px;margin-bottom:18px;}
.badge-dot{width:6px;height:6px;background:var(--gold2);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
.hero-badge span{font-size:11px;color:var(--gold2);letter-spacing:.5px;font-weight:500;}
.hero-layout{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:900px){.hero-layout{grid-template-columns:1fr 1fr;gap:60px;align-items:start;}}
.hero-label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--gold2);margin-bottom:10px;}
.hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(26px,6vw,46px);font-weight:600;color:#fff;line-height:1.25;margin-bottom:12px;}
.hero-title em{font-style:normal;color:var(--gold2);}
.hero-desc{font-size:14px;color:rgba(255,255,255,.55);line-height:1.9;margin-bottom:24px;}
.hero-btns{display:flex;flex-direction:column;gap:10px;}
@media(min-width:480px){.hero-btns{flex-direction:row;flex-wrap:wrap;}}
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .25s;}
.btn-p:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,122,74,.4);}
.btn-p.gold{background:var(--gold);color:#fff;}
.btn-p.gold:hover{background:var(--gold2);}
.btn-s{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;border:1px solid rgba(255,255,255,.25);transition:all .25s;}
.btn-s:hover{border-color:rgba(255,255,255,.6);}

/* ヒーロー右：4コース */
.course-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:24px;}
.course-box-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:6px;}
.course-box-desc{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:18px;line-height:1.7;}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.course-card{border-radius:10px;padding:16px 12px;text-align:center;transition:all .25s;cursor:pointer;border:1px solid transparent;}
.course-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.2);}
.cc-a{background:linear-gradient(135deg,#1a3a0a 0%,#2a6a1a 100%);border-color:rgba(26,122,74,.4);}
.cc-b{background:linear-gradient(135deg,#1a1a3a 0%,#2a2a6a 100%);border-color:rgba(60,60,180,.4);}
.cc-c{background:linear-gradient(135deg,#2a1a0a 0%,#6a4a1a 100%);border-color:rgba(240,165,0,.4);}
.cc-k{background:linear-gradient(135deg,#3a0a0a 0%,#8a2a2a 100%);border-color:rgba(180,60,60,.4);}
.cc-label{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;margin-bottom:4px;}
.cc-name{font-size:11px;color:rgba(255,255,255,.65);margin-bottom:8px;}
.cc-desc{font-size:10px;color:rgba(255,255,255,.45);line-height:1.55;}

/* SECTION COMMON */
.sec{padding:60px 24px;max-width:1200px;margin:0 auto;}
@media(min-width:900px){.sec{padding:80px 60px;}}
.sec-wrap{padding:60px 0;}
@media(min-width:900px){.sec-wrap{padding:80px 0;}}
.sec-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:900px){.sec-inner{padding:0 60px;}}
.bg-gray{background:var(--gray-light);}
.bg-navy{background:var(--navy);}
.bg-gold{background:linear-gradient(135deg,#1a1200 0%,#2a1e00 100%);}
.sec-lbl{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--gold);margin-bottom:10px;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4vw,34px);font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:12px;}
.sec-title.wh{color:#fff;}
.sec-desc{font-size:14px;color:var(--gray-dark);line-height:1.9;max-width:640px;}
.sec-desc.wh{color:rgba(255,255,255,.55);}

/* 売却の流れ（10ステップ） */
.flow-steps{display:flex;flex-direction:column;gap:0;margin-top:36px;}
.flow-step{display:flex;align-items:stretch;gap:0;}
.fs-left{display:flex;flex-direction:column;align-items:center;width:52px;flex-shrink:0;}
.fs-num{width:44px;height:44px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;color:#fff;flex-shrink:0;}
.fs-line{width:2px;background:rgba(240,165,0,.2);flex:1;margin:4px auto;}
.flow-step:last-child .fs-line{display:none;}
.fs-body{padding:0 0 28px 16px;flex:1;}
.fs-title{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:5px;}
.fs-desc{font-size:13px;color:var(--gray-dark);line-height:1.75;}
.fs-note{display:inline-block;font-size:11px;background:var(--gold-pale);color:var(--gold);padding:3px 10px;border-radius:100px;margin-top:6px;border:1px solid rgba(200,120,0,.25);}

/* 仲介 vs 買取 比較 */
.compare-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:36px;}
@media(min-width:700px){.compare-grid{grid-template-columns:1fr 1fr;}}
.cmp-card{border-radius:16px;overflow:hidden;border:2px solid transparent;}
.cmp-card.mediation{border-color:rgba(26,122,74,.4);}
.cmp-card.kaitori{border-color:rgba(240,165,0,.4);}
.cmp-head{padding:22px 24px 16px;}
.cmp-head.m{background:linear-gradient(135deg,#0a3320 0%,#1a7a4a 100%);}
.cmp-head.k{background:linear-gradient(135deg,#1a1200 0%,#3a2800 100%);}
.cmp-head-label{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.55);margin-bottom:6px;}
.cmp-head-title{font-size:20px;font-weight:700;color:#fff;margin-bottom:4px;}
.cmp-head-desc{font-size:12px;color:rgba(255,255,255,.6);line-height:1.65;}
.cmp-body{background:#fff;padding:20px 24px;}
.merit-row,.demerit-row{margin-bottom:16px;}
.merit-row:last-child,.demerit-row:last-child{margin-bottom:0;}
.mr-label{font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:6px;}
.mr-label.plus{color:var(--green);}
.mr-label.minus{color:#cc4444;}
.mr-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.mr-desc{font-size:12px;color:var(--gray-dark);line-height:1.7;}

/* 4コースCTA */
.course-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;}
@media(min-width:600px){.course-cta-grid{grid-template-columns:repeat(4,1fr);}}
.cta-course-btn{display:block;border-radius:12px;padding:20px 12px;text-align:center;transition:all .25s;border:1px solid rgba(255,255,255,.1);}
.cta-course-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.2);}
.ccb-a{background:linear-gradient(135deg,#0a2a06 0%,#1a5a12 100%);}
.ccb-b{background:linear-gradient(135deg,#06102a 0%,#122a5a 100%);}
.ccb-c{background:linear-gradient(135deg,#1a0e00 0%,#3a2400 100%);}
.ccb-k{background:linear-gradient(135deg,#1a0600 0%,#3a1200 100%);}
.ccb-label{font-family:'Oswald',sans-serif;font-size:22px;font-weight:600;color:#fff;margin-bottom:4px;}
.ccb-name{font-size:12px;color:rgba(255,255,255,.6);font-weight:700;margin-bottom:8px;}
.ccb-desc{font-size:11px;color:rgba(255,255,255,.45);line-height:1.6;}
.course-note{font-size:12px;color:rgba(255,255,255,.4);text-align:center;margin-top:16px;line-height:1.8;}

/* 媒介契約テーブル */
.mediation-table{overflow-x:auto;margin-top:28px;border-radius:12px;border:1px solid #e2e8f0;}
table{width:100%;border-collapse:collapse;min-width:560px;}
thead tr{background:var(--navy);}
th{padding:12px 16px;font-size:12px;font-weight:500;color:#fff;text-align:left;}
th.rec{background:var(--gold);color:#fff;}
td{padding:11px 16px;font-size:12px;border-bottom:1px solid #e8ecf0;color:var(--gray-dark);line-height:1.6;}
tr:last-child td{border-bottom:none;}
tr:nth-child(even) td{background:var(--gray-light);}
.td-good{color:var(--green);font-weight:700;}
.td-bad{color:#cc4444;}
.recommend-box{background:var(--gold-pale);border:1px solid rgba(200,120,0,.3);border-radius:12px;padding:18px 20px;margin-top:20px;display:flex;align-items:flex-start;gap:12px;}
.rb-icon{font-size:22px;flex-shrink:0;}
.rb-title{font-size:14px;font-weight:700;color:var(--gold);margin-bottom:4px;}
.rb-desc{font-size:13px;color:var(--gray-dark);line-height:1.75;}

/* 諸費用 */
.cost-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px;}
@media(min-width:600px){.cost-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.cost-grid{grid-template-columns:repeat(3,1fr);}}
.cost-card{border:1px solid #e2e8f0;border-radius:12px;padding:20px;background:#fff;}
.cost-card.required{border-left:3px solid var(--gold);}
.cost-card.optional{border-left:3px solid var(--gray-mid);}
.cost-type{font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:8px;}
.cost-type.req{color:var(--gold);}
.cost-type.opt{color:var(--gray-mid);}
.cost-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:5px;}
.cost-desc{font-size:12px;color:var(--gray-dark);line-height:1.7;}
.cost-amount{font-family:'Oswald',sans-serif;font-size:13px;color:var(--gold);margin-top:8px;font-weight:500;}

/* リースバック */
.leaseback-box{display:grid;grid-template-columns:1fr;gap:28px;margin-top:28px;align-items:center;}
@media(min-width:700px){.leaseback-box{grid-template-columns:1fr 1fr;}}
.lb-content{}
.lb-title{font-family:'Noto Serif JP',serif;font-size:clamp(18px,3vw,24px);font-weight:600;color:var(--navy);margin-bottom:12px;line-height:1.35;}
.lb-desc{font-size:13px;color:var(--gray-dark);line-height:1.9;margin-bottom:20px;}
.lb-points{display:flex;flex-direction:column;gap:10px;}
.lb-point{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--gray-dark);line-height:1.5;}
.lb-check{color:var(--green);font-weight:700;flex-shrink:0;}
.lb-vis{background:var(--navy);border-radius:16px;padding:28px 24px;}
.lbv-title{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:1px;text-align:center;margin-bottom:16px;}
.lbv-step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 16px;margin-bottom:10px;}
.lbv-step:last-child{margin-bottom:0;}
.lbv-num{font-family:'Oswald',sans-serif;font-size:11px;color:var(--gold2);letter-spacing:1px;margin-bottom:3px;}
.lbv-text{font-size:13px;color:#fff;font-weight:500;}
.lbv-sub{font-size:11px;color:rgba(255,255,255,.45);margin-top:2px;}

/* 相続・空き家バナー */
.service-banners{display:grid;grid-template-columns:1fr;gap:14px;margin-top:32px;}
@media(min-width:600px){.service-banners{grid-template-columns:repeat(3,1fr);}}
.sv-banner{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;transition:all .25s;background:#fff;display:block;}
.sv-banner:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 6px 20px rgba(200,120,0,.1);}
.svb-top{height:80px;display:flex;align-items:center;justify-content:center;font-size:32px;}
.svb-t1{background:linear-gradient(135deg,#1a1200 0%,#3a2800 100%);}
.svb-t2{background:linear-gradient(135deg,#0a2a1a 0%,#1a5a3a 100%);}
.svb-t3{background:linear-gradient(135deg,#1a1a3a 0%,#3a3a7a 100%);}
.svb-body{padding:14px 16px;}
.svb-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.svb-desc{font-size:12px;color:var(--gray-dark);line-height:1.65;}
.svb-link{font-size:12px;color:var(--gold);font-weight:500;margin-top:8px;display:block;}

/* お客様の声 */
.voice-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px;}
@media(min-width:600px){.voice-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.voice-grid{grid-template-columns:repeat(3,1fr);}}
.voice-card{border:1px solid #e2e8f0;border-radius:12px;padding:22px;background:#fff;position:relative;}
.voice-card::before{content:'"';font-family:'Noto Serif JP',serif;font-size:48px;color:var(--gold-pale);position:absolute;top:8px;left:14px;line-height:1;}
.vc-tag{font-size:10px;background:var(--gold-pale);color:var(--gold);padding:3px 10px;border-radius:100px;display:inline-block;margin-bottom:14px;font-weight:500;}
.vc-text{font-size:13px;color:var(--gray-dark);line-height:1.85;margin-bottom:10px;}
.vc-from{font-size:11px;color:var(--gray-mid);}

/* FAQ */
.faq-list{margin-top:28px;}
.faq-item{background:#fff;border-bottom:1px solid #e2e8f0;}
.faq-item:first-child{border-radius:12px 12px 0 0;}
.faq-item:last-child{border-radius:0 0 12px 12px;border-bottom:none;}
.faq-q{padding:18px 20px;display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;font-weight:500;color:var(--navy);transition:background .2s;}
.faq-q:hover{background:var(--gray-light);}
.fq-badge{flex-shrink:0;width:24px;height:24px;background:var(--gold);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px;}
.fq-text{flex:1;}
.fq-toggle{font-size:18px;color:var(--gold);transition:transform .3s;flex-shrink:0;margin-top:2px;}
.faq-item.open .fq-toggle{transform:rotate(45deg);}
.faq-a{padding:0 20px 18px 56px;font-size:13px;color:var(--gray-dark);line-height:1.85;display:none;}
.faq-item.open .faq-a{display:block;}

/* CTA */
.cta-sec{background:var(--navy);padding:72px 24px;text-align:center;}
@media(min-width:900px){.cta-sec{padding:88px 60px;}}
.cta-inner{max-width:680px;margin:0 auto;}
.cta-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4vw,32px);color:#fff;font-weight:600;margin-bottom:14px;line-height:1.45;}
.cta-desc{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:32px;line-height:1.9;}
.cta-btns{display:flex;flex-direction:column;gap:12px;align-items:center;}
@media(min-width:480px){.cta-btns{flex-direction:row;justify-content:center;}}
.btn-tel{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:18px!important;padding:16px 32px!important;}

/* FOOTER */
footer{background:#070d1a;padding:40px 24px;}
@media(min-width:900px){footer{padding:48px 60px;}}
.foot-inner{max-width:1200px;margin:0 auto;}
.foot-top{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:24px;}
@media(min-width:600px){.foot-top{grid-template-columns:2fr 1fr 1fr;}}
.foot-brand .fn{font-family:'Oswald',sans-serif;font-size:18px;color:#fff;letter-spacing:3px;display:block;margin-bottom:2px;}
.foot-brand p{font-size:12px;color:rgba(255,255,255,.3);line-height:2;margin-top:6px;}
.foot-col h4{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:1px;margin-bottom:12px;}
.foot-col a{display:block;font-size:12px;color:rgba(255,255,255,.3);margin-bottom:8px;transition:color .2s;}
.foot-col a:hover{color:rgba(255,255,255,.7);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:16px;display:flex;flex-direction:column;gap:10px;}
@media(min-width:600px){.foot-bottom{flex-direction:row;justify-content:space-between;align-items:center;}}
.foot-copy{font-size:11px;color:rgba(255,255,255,.25);}
.foot-links{display:flex;gap:16px;flex-wrap:wrap;}
.foot-links a{font-size:11px;color:rgba(255,255,255,.25);transition:color .2s;}
.foot-links a:hover{color:rgba(255,255,255,.6);}

/* フローティング電話 */
.float-tel{position:fixed;bottom:20px;right:20px;z-index:150;display:flex;flex-direction:column;align-items:center;gap:5px;}
@media(min-width:900px){.float-tel{display:none;}}
.float-tel a{display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:700;box-shadow:0 4px 20px rgba(26,122,74,.5);font-family:'Oswald',sans-serif;letter-spacing:1px;transition:all .25s;}
.float-tel-note{font-size:9px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.6);padding:2px 10px;border-radius:100px;}

.fade-up{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}

/* ----- source: 不動産　買取.html ----- */
:root{
  --navy:#0d1f3c;--navy2:#1a3358;
  --green:#1a7a4a;--green2:#2aab66;--green-pale:#e8f5ee;
  --gold:#c87800;--gold2:#f0a500;--gold-pale:#fef3e0;
  --red:#c0392b;--red-pale:#fef0ee;
  --white:#fff;--gray-light:#f4f5f7;--gray-mid:#8a9ab0;--gray-dark:#3d4f65;
  --text:#1a1a2e;--header-h:64px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}
a{text-decoration:none;}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--header-h);background:rgba(13,31,60,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 20px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{width:36px;height:36px;background:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;color:#fff;flex-shrink:0;}
.logo-name{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;}
.logo-sub{font-size:9px;color:var(--gray-mid);display:block;margin-top:1px;}
.nav-desk{display:none;}
@media(min-width:900px){.nav-desk{display:flex;align-items:center;gap:20px;}.nav-desk a{font-size:13px;color:rgba(255,255,255,.7);transition:color .2s;}.nav-desk a:hover{color:var(--gold2);}.nav-cta{background:var(--green);color:#fff!important;padding:8px 18px;border-radius:6px;font-weight:500!important;}}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;}
.hamburger span{display:block;height:2px;background:rgba(255,255,255,.85);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:900px){.hamburger{display:none;}}
.sp-menu{position:fixed;top:var(--header-h);left:0;right:0;background:rgba(10,20,40,.98);backdrop-filter:blur(16px);z-index:199;transform:translateY(-110%);transition:transform .35s cubic-bezier(.4,0,.2,1);padding:20px 24px 32px;}
.sp-menu.open{transform:translateY(0);}
.sp-menu a{display:block;padding:14px 0;font-size:16px;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.08);}
.sp-menu-tel{margin-top:20px;text-align:center;padding:16px;background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.35);border-radius:12px;}
.sp-menu-tel a{font-family:'Oswald',sans-serif;font-size:26px;color:#fff;border:none;padding:0;}
.sp-menu-tel p{font-size:11px;color:var(--gray-mid);margin-top:4px;}
.sp-cta{display:block;margin-top:14px;padding:16px;text-align:center;background:var(--green);color:#fff;border-radius:10px;font-size:15px;font-weight:500;}

/* BREADCRUMB */
.breadcrumb{background:var(--navy);padding:calc(var(--header-h)+12px) 24px 16px;font-size:12px;color:rgba(255,255,255,.4);}
.breadcrumb a{color:rgba(255,255,255,.4);}
.breadcrumb a:hover{color:var(--gold2);}
.breadcrumb span{margin:0 8px;}
@media(min-width:900px){.breadcrumb{padding:calc(var(--header-h)+12px) 60px 16px;}}

/* PAGE HERO */
.page-hero{background:linear-gradient(135deg,#1a0600 0%,#0d1f3c 50%,#3a0800 100%);padding:28px 24px 56px;position:relative;overflow:hidden;}
@media(min-width:900px){.page-hero{padding:40px 60px 72px;}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(240,165,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(240,165,0,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.hero-glow{position:absolute;top:-80px;right:-60px;width:460px;height:460px;background:radial-gradient(circle,rgba(240,100,0,.15) 0%,transparent 70%);pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;}
.hero-layout{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:900px){.hero-layout{grid-template-columns:1fr 1fr;gap:60px;align-items:center;}}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(240,165,0,.12);border:1px solid rgba(240,165,0,.4);border-radius:100px;padding:5px 14px;margin-bottom:18px;}
.badge-dot{width:6px;height:6px;background:var(--gold2);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
.hero-badge span{font-size:11px;color:var(--gold2);letter-spacing:.5px;font-weight:500;}
.hero-label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--gold2);margin-bottom:10px;}
.hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(26px,6vw,46px);font-weight:600;color:#fff;line-height:1.25;margin-bottom:12px;}
.hero-title em{font-style:normal;color:var(--gold2);}
.hero-desc{font-size:14px;color:rgba(255,255,255,.55);line-height:1.9;margin-bottom:24px;}
.hero-btns{display:flex;flex-direction:column;gap:10px;}
@media(min-width:480px){.hero-btns{flex-direction:row;flex-wrap:wrap;}}
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .25s;}
.btn-p:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,122,74,.4);}
.btn-p.gold{background:var(--gold);color:#fff;}
.btn-p.gold:hover{background:var(--gold2);}
.btn-s{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;border:1px solid rgba(255,255,255,.25);transition:all .25s;}
.btn-s:hover{border-color:rgba(255,255,255,.6);}

/* ¥0 バッジ */
.zero-boxes{display:flex;flex-direction:column;gap:12px;}
.zero-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:20px 20px;display:flex;align-items:center;gap:16px;}
.zb-val{font-family:'Oswald',sans-serif;font-size:36px;font-weight:600;color:var(--gold2);line-height:1;flex-shrink:0;}
.zb-info{}
.zb-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:3px;}
.zb-desc{font-size:12px;color:rgba(255,255,255,.45);line-height:1.55;}
.zb-hot{background:rgba(240,165,0,.2);border:1px solid rgba(240,165,0,.4);}
.zb-hot .zb-val{font-size:44px;}

/* SECTION */
.sec{padding:60px 24px;max-width:1200px;margin:0 auto;}
@media(min-width:900px){.sec{padding:80px 60px;}}
.sec-wrap{padding:60px 0;}
@media(min-width:900px){.sec-wrap{padding:80px 0;}}
.sec-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:900px){.sec-inner{padding:0 60px;}}
.bg-gray{background:var(--gray-light);}
.bg-navy{background:var(--navy);}
.bg-gold-dark{background:linear-gradient(135deg,#1a0e00 0%,#2a1800 100%);}
.sec-lbl{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--gold);margin-bottom:10px;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4vw,34px);font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:12px;}
.sec-title.wh{color:#fff;}
.sec-desc{font-size:14px;color:var(--gray-dark);line-height:1.9;max-width:640px;}
.sec-desc.wh{color:rgba(255,255,255,.55);}

/* 仲介 vs 買取 */
.method-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:36px;}
@media(min-width:700px){.method-grid{grid-template-columns:1fr 1fr;}}
.method-card{border-radius:16px;overflow:hidden;}
.method-card.med{border:2px solid rgba(26,122,74,.4);}
.method-card.kai{border:2px solid rgba(240,165,0,.5);}
.mc-head{padding:22px 24px 16px;}
.mc-head.mh{background:linear-gradient(135deg,#0a3320,#1a7a4a);}
.mc-head.kh{background:linear-gradient(135deg,#1a0e00,#3a2000);}
.mc-head-lbl{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.5);margin-bottom:5px;}
.mc-head-title{font-size:20px;font-weight:700;color:#fff;margin-bottom:4px;}
.mc-head-desc{font-size:12px;color:rgba(255,255,255,.6);line-height:1.65;}
.mc-body{background:#fff;padding:20px 24px;}
.mr-block{margin-bottom:14px;}
.mr-block:last-child{margin-bottom:0;}
.mr-lbl{font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:5px;}
.plus{color:var(--green);}
.minus{color:#cc4444;}
.mr-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.mr-desc{font-size:12px;color:var(--gray-dark);line-height:1.7;}
.mc-recommend{margin-top:16px;padding:12px 14px;border-radius:8px;font-size:12px;line-height:1.7;}
.mc-recommend.m-rec{background:var(--green-pale);color:var(--gray-dark);}
.mc-recommend strong{color:var(--green);}
.mc-recommend.k-rec{background:var(--gold-pale);color:var(--gray-dark);}
.mc-recommend.k-rec strong{color:var(--gold);}

/* 買取の流れ（仲介との比較フロー） */
.flow-compare{display:grid;grid-template-columns:1fr;gap:20px;margin-top:36px;}
@media(min-width:700px){.flow-compare{grid-template-columns:1fr 1fr;}}
.flow-col{}
.fc-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:16px;padding:10px 16px;border-radius:8px;}
.fc-title.med-title{background:var(--green-pale);color:var(--green);}
.fc-title.kai-title{background:var(--gold-pale);color:var(--gold);}
.fc-steps{display:flex;flex-direction:column;gap:0;}
.fc-step{display:flex;align-items:stretch;gap:0;}
.fcs-left{display:flex;flex-direction:column;align-items:center;width:40px;flex-shrink:0;}
.fcs-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:13px;font-weight:600;color:#fff;flex-shrink:0;}
.fcs-dot.m{background:var(--green);}
.fcs-dot.k{background:var(--gold);}
.fcs-line{width:2px;flex:1;margin:3px auto;}
.fcs-line.m{background:rgba(26,122,74,.2);}
.fcs-line.k{background:rgba(240,165,0,.2);}
.fc-step:last-child .fcs-line{display:none;}
.fcs-body{padding:0 0 18px 12px;flex:1;}
.fcs-title{font-size:13px;font-weight:700;color:var(--navy);}
.fcs-desc{font-size:11px;color:var(--gray-mid);margin-top:2px;line-height:1.55;}
.fcs-fast{font-size:10px;background:var(--gold-pale);color:var(--gold);padding:2px 8px;border-radius:100px;display:inline-block;margin-top:4px;font-weight:500;}

/* 対象物件 */
.target-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;}
@media(min-width:600px){.target-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:900px){.target-grid{grid-template-columns:repeat(4,1fr);}}
.tg-card{border:1px solid #e2e8f0;border-radius:12px;padding:20px 16px;background:#fff;transition:all .25s;}
.tg-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 6px 20px rgba(200,120,0,.1);}
.tg-icon{font-size:28px;margin-bottom:10px;}
.tg-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:4px;}
.tg-desc{font-size:11px;color:var(--gray-dark);line-height:1.65;}

/* 提案例 */
.proposal-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px;}
@media(min-width:700px){.proposal-grid{grid-template-columns:1fr 1fr;}}
.proposal-card{border-radius:12px;padding:24px;border:1px solid transparent;}
.proposal-card.med{background:var(--green-pale);border-color:rgba(26,122,74,.25);}
.proposal-card.kai{background:var(--gold-pale);border-color:rgba(200,120,0,.25);}
.prop-head{font-size:14px;font-weight:700;margin-bottom:14px;}
.prop-head.m{color:var(--green);}
.prop-head.k{color:var(--gold);}
.prop-cases{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.prop-case{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--gray-dark);line-height:1.5;}
.prop-check{font-weight:700;flex-shrink:0;}
.prop-check.m{color:var(--green);}
.prop-check.k{color:var(--gold);}
.prop-note{font-size:12px;color:var(--gray-dark);line-height:1.7;border-top:1px solid rgba(0,0,0,.06);padding-top:12px;}

/* 4コース */
.course-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;}
@media(min-width:600px){.course-cta-grid{grid-template-columns:repeat(4,1fr);}}
.cta-course-btn{display:block;border-radius:12px;padding:20px 12px;text-align:center;transition:all .25s;border:1px solid rgba(255,255,255,.1);}
.cta-course-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.2);}
.ccb-a{background:linear-gradient(135deg,#0a2a06,#1a5a12);}
.ccb-b{background:linear-gradient(135deg,#06102a,#122a5a);}
.ccb-c{background:linear-gradient(135deg,#1a0e00,#3a2400);}
.ccb-k{background:linear-gradient(135deg,#1a0600,#3a1200);}
.ccb-label{font-family:'Oswald',sans-serif;font-size:22px;font-weight:600;color:#fff;margin-bottom:4px;}
.ccb-name{font-size:12px;color:rgba(255,255,255,.6);font-weight:700;margin-bottom:8px;}
.ccb-desc{font-size:11px;color:rgba(255,255,255,.45);line-height:1.6;}
.course-note{font-size:12px;color:rgba(255,255,255,.4);text-align:center;margin-top:16px;line-height:1.8;}

/* FAQ */
.faq-list{margin-top:28px;}
.faq-item{background:#fff;border-bottom:1px solid #e2e8f0;}
.faq-item:first-child{border-radius:12px 12px 0 0;}
.faq-item:last-child{border-radius:0 0 12px 12px;border-bottom:none;}
.faq-q{padding:18px 20px;display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;font-weight:500;color:var(--navy);transition:background .2s;}
.faq-q:hover{background:var(--gray-light);}
.fq-badge{flex-shrink:0;width:24px;height:24px;background:var(--gold);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px;}
.fq-text{flex:1;}
.fq-toggle{font-size:18px;color:var(--gold);transition:transform .3s;flex-shrink:0;margin-top:2px;}
.faq-item.open .fq-toggle{transform:rotate(45deg);}
.faq-a{padding:0 20px 18px 56px;font-size:13px;color:var(--gray-dark);line-height:1.85;display:none;}
.faq-item.open .faq-a{display:block;}

/* お客様の声 */
.voice-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px;}
@media(min-width:600px){.voice-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.voice-grid{grid-template-columns:repeat(3,1fr);}}
.voice-card{border:1px solid #e2e8f0;border-radius:12px;padding:22px;background:#fff;position:relative;}
.voice-card::before{content:'"';font-family:'Noto Serif JP',serif;font-size:48px;color:var(--gold-pale);position:absolute;top:8px;left:14px;line-height:1;}
.vc-tag{font-size:10px;background:var(--gold-pale);color:var(--gold);padding:3px 10px;border-radius:100px;display:inline-block;margin-bottom:14px;font-weight:500;}
.vc-text{font-size:13px;color:var(--gray-dark);line-height:1.85;margin-bottom:10px;}
.vc-from{font-size:11px;color:var(--gray-mid);}

/* CTA */
.cta-sec{background:var(--navy);padding:72px 24px;text-align:center;}
@media(min-width:900px){.cta-sec{padding:88px 60px;}}
.cta-inner{max-width:680px;margin:0 auto;}
.cta-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4vw,32px);color:#fff;font-weight:600;margin-bottom:14px;line-height:1.45;}
.cta-desc{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:32px;line-height:1.9;}
.cta-btns{display:flex;flex-direction:column;gap:12px;align-items:center;}
@media(min-width:480px){.cta-btns{flex-direction:row;justify-content:center;}}
.btn-tel{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:18px!important;padding:16px 32px!important;}

/* FOOTER */
footer{background:#070d1a;padding:40px 24px;}
@media(min-width:900px){footer{padding:48px 60px;}}
.foot-inner{max-width:1200px;margin:0 auto;}
.foot-top{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:24px;}
@media(min-width:600px){.foot-top{grid-template-columns:2fr 1fr 1fr;}}
.foot-brand .fn{font-family:'Oswald',sans-serif;font-size:18px;color:#fff;letter-spacing:3px;display:block;margin-bottom:2px;}
.foot-brand p{font-size:12px;color:rgba(255,255,255,.3);line-height:2;margin-top:6px;}
.foot-col h4{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:1px;margin-bottom:12px;}
.foot-col a{display:block;font-size:12px;color:rgba(255,255,255,.3);margin-bottom:8px;transition:color .2s;}
.foot-col a:hover{color:rgba(255,255,255,.7);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:16px;display:flex;flex-direction:column;gap:10px;}
@media(min-width:600px){.foot-bottom{flex-direction:row;justify-content:space-between;align-items:center;}}
.foot-copy{font-size:11px;color:rgba(255,255,255,.25);}
.foot-links{display:flex;gap:16px;flex-wrap:wrap;}
.foot-links a{font-size:11px;color:rgba(255,255,255,.25);}

/* フローティング */
.float-tel{position:fixed;bottom:20px;right:20px;z-index:150;display:flex;flex-direction:column;align-items:center;gap:5px;}
@media(min-width:900px){.float-tel{display:none;}}
.float-tel a{display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:700;box-shadow:0 4px 20px rgba(26,122,74,.5);font-family:'Oswald',sans-serif;letter-spacing:1px;transition:all .25s;}
.float-tel-note{font-size:9px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.6);padding:2px 10px;border-radius:100px;}

.fade-up{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}

/* ----- source: 不動産　電気屋リノベ.html ----- */
:root{
  --navy:#0d1f3c;--navy2:#1a3358;
  --green:#1a7a4a;--green2:#2aab66;--green-pale:#e8f5ee;
  --purple:#1a3a0d;--gold2:#f0a500;--gold-pale:#fef3e0;
  --white:#fff;--gray-light:#f4f5f7;--gray-mid:#8a9ab0;--gray-dark:#3d4f65;
  --text:#1a1a2e;--header-h:64px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}
a{text-decoration:none;}
img{max-width:100%;height:auto;display:block;}

/* ===== HEADER ===== */
header{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--header-h);background:rgba(13,31,60,0.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:space-between;padding:0 20px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{width:36px;height:36px;background:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;color:#fff;flex-shrink:0;}
.logo-name{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;}
.logo-sub{font-size:9px;color:var(--gray-mid);display:block;margin-top:1px;}
.nav-desk{display:none;}
@media(min-width:900px){
  .nav-desk{display:flex;align-items:center;gap:24px;}
  .nav-desk a{font-size:13px;color:rgba(255,255,255,.7);transition:color .2s;}
  .nav-desk a:hover{color:var(--green2);}
  .nav-cta{background:var(--green);color:#fff!important;padding:8px 18px;border-radius:6px;font-weight:500!important;}
}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;}
.hamburger span{display:block;height:2px;background:rgba(255,255,255,.85);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:900px){.hamburger{display:none;}}
.sp-menu{position:fixed;top:var(--header-h);left:0;right:0;background:rgba(10,20,40,0.98);backdrop-filter:blur(16px);z-index:199;transform:translateY(-110%);transition:transform .35s cubic-bezier(.4,0,.2,1);padding:20px 24px 32px;}
.sp-menu.open{transform:translateY(0);}
.sp-menu a{display:block;padding:14px 0;font-size:16px;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.08);transition:color .2s;}
.sp-menu-tel{margin-top:20px;text-align:center;padding:16px;background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.35);border-radius:12px;}
.sp-menu-tel a{font-family:'Oswald',sans-serif;font-size:26px;color:#fff;border:none;padding:0;letter-spacing:1px;}
.sp-menu-tel p{font-size:11px;color:var(--gray-mid);margin-top:4px;}
.sp-cta{display:block;margin-top:14px;padding:16px;text-align:center;background:var(--green);color:#fff;border-radius:10px;font-size:15px;font-weight:500;}

/* ===== BREADCRUMB ===== */
.breadcrumb{background:var(--navy);padding:calc(var(--header-h) + 12px) 24px 16px;font-size:12px;color:rgba(255,255,255,.4);}
.breadcrumb a{color:rgba(255,255,255,.4);}
.breadcrumb a:hover{color:var(--green2);}
.breadcrumb span{margin:0 8px;}
@media(min-width:900px){.breadcrumb{padding:calc(var(--header-h) + 12px) 60px 16px;}}

/* ===== PAGE HERO ===== */
.page-hero{background:linear-gradient(135deg,#0d1f3c 0%,#1a1200 50%,#0d1f3c 100%);padding:28px 24px 60px;position:relative;overflow:hidden;}
@media(min-width:900px){.page-hero{padding:40px 60px 80px;}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(240,165,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(240,165,0,.05) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.hero-glow{position:absolute;top:-100px;right:-60px;width:500px;height:500px;background:radial-gradient(circle,rgba(240,165,0,.2) 0%,transparent 70%);pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;}
.hero-layout{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:900px){.hero-layout{grid-template-columns:1fr 1fr;gap:64px;align-items:center;}}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(240,165,0,.2);border:1px solid rgba(240,165,0,.4);border-radius:100px;padding:5px 14px;margin-bottom:18px;}
.badge-dot{width:6px;height:6px;background:#f0a500;border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
.hero-badge span{font-size:11px;color:#f0a500;letter-spacing:.5px;font-weight:500;}
.hero-label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:#f0a500;margin-bottom:10px;}
.hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(26px,6vw,48px);font-weight:600;color:#fff;line-height:1.25;margin-bottom:12px;}
.hero-title em{font-style:normal;color:#f0a500;}
.hero-desc{font-size:14px;color:rgba(255,255,255,.55);line-height:1.9;margin-bottom:28px;}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.hero-tag{font-size:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.75);padding:5px 14px;border-radius:100px;}
.hero-btns{display:flex;flex-direction:column;gap:10px;}
@media(min-width:480px){.hero-btns{flex-direction:row;flex-wrap:wrap;}}
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .25s;}
.btn-p:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,122,74,.4);}
.btn-p.gold{background:var(--gold2);}
.btn-p.purple:hover{background:#8a4abf;}
.btn-s{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;border:1px solid rgba(255,255,255,.25);transition:all .25s;}
.btn-s:hover{border-color:rgba(255,255,255,.6);}

/* ヒーロー右：サービスカードリスト */
.hero-sv-list{display:flex;flex-direction:column;gap:10px;}
.hero-sv-item{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 18px;transition:all .25s;}
.hero-sv-item:hover{background:rgba(240,165,0,.15);border-color:rgba(240,165,0,.4);}
.hsi-icon{font-size:24px;flex-shrink:0;}
.hsi-content{}
.hsi-name{font-size:14px;font-weight:700;color:#fff;margin-bottom:2px;}
.hsi-desc{font-size:11px;color:rgba(255,255,255,.45);}
.hsi-badge{margin-left:auto;font-size:10px;background:rgba(42,171,102,.2);color:var(--green2);padding:3px 8px;border-radius:100px;white-space:nowrap;flex-shrink:0;}

/* ===== SECTION COMMON ===== */
.sec{padding:60px 24px;max-width:1200px;margin:0 auto;}
@media(min-width:900px){.sec{padding:80px 60px;}}
.sec-full{padding:60px 0;}
@media(min-width:900px){.sec-full{padding:80px 0;}}
.sec-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:900px){.sec-inner{padding:0 60px;}}
.sec-lbl{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--green);margin-bottom:10px;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4vw,34px);font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:12px;}
.sec-desc{font-size:14px;color:var(--gray-dark);line-height:1.9;max-width:640px;}
.bg-gray{background:var(--gray-light);}
.bg-navy{background:var(--navy);}
.bg-purple-pale{background:var(--gold-pale);}

/* ===== RENO 強みセクション（紫テーマ） ===== */
.reno-wrap{background:linear-gradient(135deg,#1a1a0a 0%,#2a1800 100%);padding:64px 0;}
@media(min-width:900px){.reno-wrap{padding:80px 0;}}
.reno-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:900px){.reno-inner{padding:0 60px;}}
.reno-wrap .sec-lbl{color:#f0a500;}
.reno-wrap .sec-title{color:#fff;}
.reno-wrap .sec-desc{color:rgba(255,255,255,.5);}
.reno-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-top:44px;align-items:start;}
@media(min-width:900px){.reno-grid{grid-template-columns:1fr 1fr;gap:60px;}}
.reno-points{display:flex;flex-direction:column;gap:14px;}
.reno-point{display:flex;align-items:flex-start;gap:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:18px 16px;transition:all .3s;}
.reno-point:hover{background:rgba(240,165,0,.15);border-color:rgba(240,165,0,.4);}
.rp-icon{font-size:24px;flex-shrink:0;margin-top:2px;}
.rp-title{font-size:14px;font-weight:700;color:#fff;margin-bottom:5px;}
.rp-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.7;}
/* 比較ブロック */
.reno-compare{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;}
.reno-compare-title{font-size:12px;color:rgba(255,255,255,.4);letter-spacing:2px;text-align:center;margin-bottom:18px;font-family:'Oswald',sans-serif;}
.compare-row{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-bottom:10px;}
.compare-row:last-child{margin-bottom:0;}
.cmp-label{font-size:11px;color:rgba(255,255,255,.35);text-align:center;margin-bottom:6px;}
.cmp-other{background:rgba(255,255,255,.06);border-radius:8px;padding:10px 12px;text-align:center;}
.cmp-other-val{font-size:12px;color:rgba(255,255,255,.5);}
.cmp-vs{font-family:'Oswald',sans-serif;font-size:14px;color:rgba(255,255,255,.3);text-align:center;}
.cmp-peace{background:rgba(240,165,0,.25);border:1px solid rgba(240,165,0,.4);border-radius:8px;padding:10px 12px;text-align:center;}
.cmp-peace-val{font-size:12px;color:#f0a500;font-weight:500;}
.reno-badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.reno-badge{display:inline-block;font-size:11px;background:rgba(240,165,0,.3);border:1px solid rgba(240,165,0,.5);color:#f0a500;padding:4px 12px;border-radius:100px;}

/* ===== SERVICE BLOCKS ===== */
.sv-block{padding:64px 0;border-bottom:1px solid #e8ecf0;}
@media(min-width:900px){.sv-block{padding:80px 0;}}
.sv-block:last-child{border-bottom:none;}
.sv-block-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:900px){.sv-block-inner{padding:0 60px;}}
.sv-header{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:36px;}
@media(min-width:900px){.sv-header{grid-template-columns:260px 1fr;gap:52px;align-items:start;}}
.sv-icon-wrap{width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:16px;}
.sv-icon-wrap.green{background:var(--green-pale);}
.sv-icon-wrap.purple{background:var(--gold-pale);}
.sv-icon-wrap.navy{background:rgba(13,31,60,.08);}
.sv-lbl{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--green);margin-bottom:8px;}
.sv-title{font-family:'Noto Serif JP',serif;font-size:clamp(20px,3vw,28px);font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:0;}
.sv-lead{font-size:14px;color:var(--gray-dark);line-height:1.95;margin-bottom:20px;}
.sv-targets{display:flex;flex-wrap:wrap;gap:8px;}
.sv-target{font-size:12px;background:var(--navy);color:#fff;padding:4px 14px;border-radius:100px;}

/* メニューカード3列 */
.menu-grid{display:grid;grid-template-columns:1fr;gap:14px;}
@media(min-width:600px){.menu-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.menu-grid{grid-template-columns:repeat(3,1fr);}}
.menu-grid.col2{grid-template-columns:1fr;}
@media(min-width:600px){.menu-grid.col2{grid-template-columns:repeat(2,1fr);}}
.menu-card{border:1px solid #e2e8f0;border-radius:12px;padding:22px 18px;transition:all .25s;background:var(--white);}
.menu-card:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 6px 20px rgba(26,122,74,.1);}
.mc-label{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;color:var(--green);margin-bottom:8px;}
.mc-title{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:8px;}
.mc-desc{font-size:13px;color:var(--gray-dark);line-height:1.75;margin-bottom:10px;}
.mc-items{list-style:none;}
.mc-items li{font-size:12px;color:var(--gray-dark);padding:4px 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:6px;}
.mc-items li:last-child{border-bottom:none;}
.mc-items li::before{content:'';width:5px;height:5px;background:var(--green2);border-radius:50%;flex-shrink:0;}

/* 施工事例カード2列 */
.case-row{display:grid;grid-template-columns:1fr;gap:16px;margin-top:32px;}
@media(min-width:600px){.case-row{grid-template-columns:repeat(2,1fr);}}
.case-card{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;transition:all .25s;}
.case-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.case-img{height:150px;display:flex;align-items:center;justify-content:center;font-size:44px;position:relative;}
.case-img.c1{background:linear-gradient(135deg,#1a2a4a 0%,#2a4a7a 100%);}
.case-img.c2{background:linear-gradient(135deg,#1a3a2a 0%,#2a6a4a 100%);}
.case-img.c3{background:linear-gradient(135deg,#2a1a0a 0%,#6a4a1a 100%);}
.case-img.c4{background:linear-gradient(135deg,#1e0a3c 0%,#4a1a7a 100%);}
.case-img.c5{background:linear-gradient(135deg,#0a1a3a 0%,#1a4a8a 100%);}
.case-img.c6{background:linear-gradient(135deg,#2a2a1a 0%,#5a5a2a 100%);}
.case-cat{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff;font-size:10px;padding:3px 10px;border-radius:4px;letter-spacing:1px;}
.case-body{padding:18px;}
.case-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:5px;}
.case-meta{font-size:11px;color:var(--gray-mid);margin-bottom:8px;}
.case-voice{font-size:12px;color:var(--gray-dark);border-left:3px solid var(--green);padding-left:9px;line-height:1.65;}

/* 資格バー */
.cred-bar{background:var(--green-pale);border-radius:12px;padding:18px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;}
.cred-bar-lbl{font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap;}
.cred-pills{display:flex;flex-wrap:wrap;gap:7px;}
.cred-pill{background:#fff;border:1px solid rgba(26,122,74,.3);border-radius:100px;padding:4px 13px;font-size:11px;color:var(--green);font-weight:500;}

/* 買取スピードバー */
.speed-bar{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px;}
@media(min-width:600px){.speed-bar{grid-template-columns:repeat(3,1fr);}}
.speed-item{text-align:center;background:var(--white);border:1px solid #e2e8f0;border-radius:12px;padding:20px 12px;}
.speed-num{font-family:'Oswald',sans-serif;font-size:32px;color:var(--green);font-weight:600;line-height:1;}
.speed-unit{font-size:14px;}
.speed-lbl{font-size:12px;color:var(--gray-dark);margin-top:6px;}

/* 売却フロー */
.sell-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px;}
@media(min-width:600px){.sell-flow{grid-template-columns:repeat(5,1fr);}}
.sf-step{background:var(--white);border:1px solid #e2e8f0;border-radius:12px;padding:18px 12px;text-align:center;position:relative;}
.sf-step::after{content:'›';position:absolute;right:-8px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--gray-mid);z-index:1;display:none;}
@media(min-width:600px){.sf-step::after{display:block;}}
.sf-step:nth-child(even)::after{display:none;}
@media(min-width:600px){.sf-step:nth-child(even)::after{display:block;}.sf-step:last-child::after{display:none;}}
.sf-num{font-family:'Oswald',sans-serif;font-size:24px;color:#e2e8f0;font-weight:300;margin-bottom:6px;}
.sf-icon{font-size:22px;margin-bottom:6px;}
.sf-title{font-size:12px;font-weight:700;color:var(--navy);margin-bottom:3px;}
.sf-desc{font-size:10px;color:var(--gray-mid);line-height:1.5;}

/* 物件検索リンク */
.property-link{background:var(--navy);border-radius:16px;padding:28px 24px;display:grid;grid-template-columns:1fr;gap:18px;align-items:center;margin-top:28px;}
@media(min-width:600px){.property-link{grid-template-columns:1fr auto;}}
.pl-label{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.4);margin-bottom:6px;}
.pl-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:6px;}
.pl-desc{font-size:12px;color:rgba(255,255,255,.45);line-height:1.7;}
.pl-btn{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:14px 24px;border-radius:8px;font-size:13px;font-weight:500;white-space:nowrap;transition:all .25s;}
.pl-btn:hover{background:var(--green2);}

/* 防水工事 */
.bousui-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px;}
@media(min-width:600px){.bousui-grid{grid-template-columns:repeat(3,1fr);}}
.bousui-card{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;transition:all .25s;background:var(--white);}
.bousui-card:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 6px 20px rgba(26,122,74,.1);}
.bousui-top{height:80px;display:flex;align-items:center;justify-content:center;font-size:32px;}
.bousui-top.bt1{background:linear-gradient(135deg,#0a1a3a 0%,#1a4a7a 100%);}
.bousui-top.bt2{background:linear-gradient(135deg,#1a1a3a 0%,#3a3a7a 100%);}
.bousui-top.bt3{background:linear-gradient(135deg,#0a2a1a 0%,#1a5a3a 100%);}
.bousui-body{padding:16px;}
.bousui-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:5px;}
.bousui-desc{font-size:12px;color:var(--gray-dark);line-height:1.7;}

/* ===== FAQ ===== */
.faq-list{margin-top:32px;}
.faq-item{background:var(--white);border-bottom:1px solid #e2e8f0;}
.faq-item:first-child{border-radius:12px 12px 0 0;}
.faq-item:last-child{border-radius:0 0 12px 12px;border-bottom:none;}
.faq-q{padding:18px 20px;display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;font-weight:500;color:var(--navy);transition:background .2s;}
.faq-q:hover{background:var(--gray-light);}
.fq-badge{flex-shrink:0;width:24px;height:24px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px;}
.fq-text{flex:1;}
.fq-toggle{font-size:18px;color:var(--green);transition:transform .3s;flex-shrink:0;margin-top:2px;}
.faq-item.open .fq-toggle{transform:rotate(45deg);}
.faq-a{padding:0 20px 18px 56px;font-size:13px;color:var(--gray-dark);line-height:1.85;display:none;}
.faq-item.open .faq-a{display:block;}

/* ===== お客様の声 ===== */
.voice-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:32px;}
@media(min-width:600px){.voice-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.voice-grid{grid-template-columns:repeat(3,1fr);}}
.voice-card{border:1px solid #e2e8f0;border-radius:12px;padding:22px;position:relative;background:var(--white);}
.voice-card::before{content:'"';font-family:'Noto Serif JP',serif;font-size:48px;color:var(--green-pale);position:absolute;top:8px;left:14px;line-height:1;}
.vc-tag{font-size:10px;background:var(--green-pale);color:var(--green);padding:3px 10px;border-radius:100px;display:inline-block;margin-bottom:14px;font-weight:500;}
.vc-text{font-size:13px;color:var(--gray-dark);line-height:1.85;margin-bottom:12px;}
.vc-from{font-size:11px;color:var(--gray-mid);}

/* ===== CTA ===== */
.cta-sec{background:var(--navy);padding:72px 24px;text-align:center;}
@media(min-width:900px){.cta-sec{padding:88px 60px;}}
.cta-inner{max-width:720px;margin:0 auto;}
.cta-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4vw,32px);color:#fff;font-weight:600;margin-bottom:14px;line-height:1.45;}
.cta-desc{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:32px;line-height:1.9;}
.cta-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:28px;}
@media(min-width:600px){.cta-opts{grid-template-columns:repeat(4,1fr);}}
.cta-opt{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 10px;text-align:center;}
.cta-opt-icon{font-size:22px;margin-bottom:6px;}
.cta-opt-name{font-size:12px;font-weight:700;color:#fff;margin-bottom:2px;}
.cta-opt-desc{font-size:10px;color:rgba(255,255,255,.4);}
.cta-btns{display:flex;flex-direction:column;gap:12px;align-items:center;}
@media(min-width:480px){.cta-btns{flex-direction:row;justify-content:center;}}
.btn-tel{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:18px!important;padding:16px 32px!important;}

/* ===== FOOTER ===== */
footer{background:#070d1a;padding:40px 24px;}
@media(min-width:900px){footer{padding:48px 60px;}}
.foot-top{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:28px;}
@media(min-width:600px){.foot-top{grid-template-columns:1fr 1fr;}}
@media(min-width:900px){.foot-top{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}}
.foot-brand .fn{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;display:block;margin-bottom:2px;}
.foot-brand .fs{font-size:11px;color:var(--gray-mid);display:block;margin-bottom:12px;}
.foot-brand p{font-size:12px;color:rgba(255,255,255,.3);line-height:2;}
.foot-col h4{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:1px;margin-bottom:12px;font-weight:500;}
.foot-col a{display:block;font-size:12px;color:rgba(255,255,255,.3);margin-bottom:8px;transition:color .2s;}
.foot-col a:hover{color:rgba(255,255,255,.7);}
.foot-bottom{max-width:1200px;margin:0 auto;border-top:1px solid rgba(255,255,255,.06);padding-top:18px;display:flex;flex-direction:column;gap:10px;}
@media(min-width:600px){.foot-bottom{flex-direction:row;justify-content:space-between;align-items:center;}}
.foot-copy{font-size:11px;color:rgba(255,255,255,.25);}
.foot-links{display:flex;gap:16px;flex-wrap:wrap;}
.foot-links a{font-size:11px;color:rgba(255,255,255,.25);transition:color .2s;}
.foot-links a:hover{color:rgba(255,255,255,.6);}

/* フローティング電話 */
.float-tel{position:fixed;bottom:20px;right:20px;z-index:150;display:flex;flex-direction:column;align-items:center;gap:5px;}
@media(min-width:900px){.float-tel{display:none;}}
.float-tel a{display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:700;box-shadow:0 4px 20px rgba(26,122,74,.5);font-family:'Oswald',sans-serif;letter-spacing:1px;transition:all .25s;}
.float-tel a:hover{background:var(--green2);}
.float-tel-note{font-size:9px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.6);padding:2px 10px;border-radius:100px;}

/* ===== 施工事例 準備中バナー ===== */
.preparing-banner{
  padding:52px 24px;text-align:center;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
}
.pb-icon{font-size:40px;margin-bottom:16px;opacity:.4;}
.pb-title{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:600;color:rgba(255,255,255,.5);margin-bottom:10px;}
.pb-desc{font-size:13px;color:rgba(255,255,255,.35);line-height:1.85;margin-bottom:24px;}
.pb-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--green);color:#fff;
  padding:12px 24px;border-radius:8px;font-size:13px;font-weight:500;
  transition:all .25s;
}
.pb-btn:hover{background:var(--green2);transform:translateY(-2px);}
/* ===== 施工事例 準備中バナー ===== */
/* ===== 施工ギャラリー ===== */
.gallery-wrap{margin-top:44px;}
.gallery-tabs{display:flex;gap:8px;margin-bottom:0;flex-wrap:wrap;}
.g-tab{padding:11px 20px;font-size:13px;font-weight:500;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-bottom:none;border-radius:10px 10px 0 0;color:rgba(255,255,255,.5);cursor:pointer;transition:all .25s;font-family:'Noto Sans JP',sans-serif;}
.g-tab:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);}
.g-tab.active{background:rgba(255,255,255,.1);border-color:rgba(240,165,0,.5);color:#fff;font-weight:700;}
.gallery-panel{display:none;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:0 12px 12px 12px;padding:28px 20px;}
.gallery-panel.active{display:block;}
@media(min-width:900px){.gallery-panel{padding:36px 32px;}}
.gallery-case{margin-bottom:44px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08);}
.gallery-case:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.gc-header{margin-bottom:20px;}
.gc-num{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:#f0a500;margin-bottom:6px;}
.gc-title{font-family:'Noto Serif JP',serif;font-size:clamp(16px,2.5vw,20px);font-weight:600;color:#fff;margin-bottom:5px;}
.gc-meta{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:10px;}
.gc-tags{display:flex;flex-wrap:wrap;gap:6px;}
.gc-tag{font-size:10px;background:rgba(240,165,0,.25);border:1px solid rgba(240,165,0,.4);color:#f0a500;padding:3px 10px;border-radius:100px;}
.gc-main-photos{margin-bottom:20px;}
.gc-ba-wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;}
.gc-photo-slot{position:relative;border-radius:10px;overflow:hidden;}
.gc-arrow{font-size:20px;color:rgba(255,255,255,.3);text-align:center;flex-shrink:0;}
.ba-label{position:absolute;top:8px;left:8px;font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;padding:3px 10px;border-radius:4px;font-weight:600;}
.ba-label.before{background:rgba(0,0,0,.6);color:rgba(255,255,255,.7);}
.ba-label.after{background:rgba(26,122,74,.8);color:#fff;}
.photo-placeholder{background:rgba(255,255,255,.04);border:2px dashed rgba(255,255,255,.15);border-radius:10px;aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .25s;padding:12px;}
.photo-placeholder:hover{border-color:rgba(240,165,0,.5);background:rgba(240,165,0,.1);}
.pp-after{border-color:rgba(26,122,74,.35)!important;}
.pp-after:hover{border-color:rgba(26,122,74,.7)!important;background:rgba(26,122,74,.1)!important;}
.pp-icon{font-size:28px;}
.pp-label{font-family:'Oswald',sans-serif;font-size:12px;letter-spacing:2px;color:rgba(255,255,255,.4);}
.pp-hint{font-size:10px;color:rgba(255,255,255,.3);text-align:center;line-height:1.6;}
.pp-hint code{font-size:9px;background:rgba(255,255,255,.08);padding:1px 5px;border-radius:3px;color:rgba(255,255,255,.4);}
.gc-detail-label{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:1px;margin-bottom:10px;font-family:'Oswald',sans-serif;}
.gc-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
@media(min-width:600px){.gc-detail-grid{grid-template-columns:repeat(4,1fr);}}
@media(min-width:900px){.gc-detail-grid{grid-template-columns:repeat(6,1fr);}}
.pp-detail{aspect-ratio:1/1;border-radius:8px;}
.pp-detail .pp-icon{font-size:20px;}
.pp-detail .pp-hint{font-size:9px;}
.gc-detail-cap{font-size:10px;color:rgba(255,255,255,.4);text-align:center;margin-top:5px;line-height:1.4;}
.gc-detail-slot--add .photo-placeholder{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.02);}
.pp-add{font-size:18px;color:rgba(255,255,255,.2);}
.gc-voice{font-size:13px;color:rgba(255,255,255,.6);border-left:3px solid #f0a500;padding-left:14px;line-height:1.85;font-style:normal;}
.gc-voice cite{display:block;font-size:11px;color:rgba(255,255,255,.35);margin-top:6px;font-style:normal;}
.gc-add-case{border:2px dashed rgba(255,255,255,.12);border-radius:12px;padding:28px;text-align:center;}
.gc-add-icon{font-size:28px;color:rgba(255,255,255,.2);margin-bottom:8px;}
.gc-add-text{font-size:14px;font-weight:700;color:rgba(255,255,255,.3);margin-bottom:4px;}
.gc-add-hint{font-size:11px;color:rgba(255,255,255,.2);}
.gc-photo-slot img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px;}
.gc-detail-slot img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;display:block;}
/* ===== 換気・空調ブロック ===== */
.kanki-block{margin-top:52px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:32px 28px;}
@media(min-width:900px){.kanki-block{padding:40px 40px;}}
.kanki-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.kanki-icon{font-size:36px;flex-shrink:0;}
.kanki-label{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:3px;color:#f0a500;margin-bottom:5px;}
.kanki-title{font-size:clamp(16px,2.5vw,20px);font-weight:700;color:#fff;line-height:1.3;}
.kanki-lead{font-size:13px;color:rgba(255,255,255,.55);line-height:1.85;margin-bottom:24px;}
.kanki-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;}
@media(min-width:700px){.kanki-grid{grid-template-columns:repeat(4,1fr);}}
.kanki-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:18px 14px;transition:all .3s;}
.kanki-card:hover{background:rgba(240,165,0,.2);border-color:rgba(240,165,0,.4);}
.kc-icon{font-size:28px;margin-bottom:10px;}
.kc-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:8px;line-height:1.35;}
.kc-desc{font-size:11px;color:rgba(255,255,255,.45);line-height:1.7;}
.kanki-note{background:rgba(255,255,255,.06);border-left:3px solid #f0a500;border-radius:0 8px 8px 0;padding:12px 16px;font-size:13px;color:rgba(255,255,255,.6);line-height:1.7;display:flex;align-items:flex-start;gap:4px;}
/* ===== 資格 × リノベ ===== */
.shikaku-block{margin-top:52px;}
.shikaku-header{margin-bottom:28px;}
.shikaku-title{font-family:'Noto Serif JP',serif;font-size:clamp(18px,2.8vw,24px);font-weight:600;color:#fff;margin:8px 0 10px;line-height:1.35;}
.shikaku-lead{font-size:13px;color:rgba(255,255,255,.5);line-height:1.85;max-width:680px;}
.shikaku-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(min-width:700px){.shikaku-grid{grid-template-columns:repeat(4,1fr);}}
.shikaku-card{border-radius:16px;overflow:hidden;transition:transform .3s;}
.shikaku-card:hover{transform:translateY(-5px);}
.sk1{background:linear-gradient(180deg,#1a0a2a 0%,#0a1a2a 100%);border:1px solid rgba(240,165,0,.35);}
.sk2{background:linear-gradient(180deg,#0a2a1a 0%,#0a1a2a 100%);border:1px solid rgba(26,122,74,.35);}
.sk3{background:linear-gradient(180deg,#1a1a0a 0%,#0a1a2a 100%);border:1px solid rgba(240,165,0,.25);}
.sk4{background:linear-gradient(180deg,#0a1a2a 0%,#1a0a2a 100%);border:1px solid rgba(14,116,144,.35);}
.sk-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:18px 16px 12px;}
.sk-badge{font-size:10px;font-weight:700;padding:4px 10px;border-radius:100px;white-space:nowrap;}
.sk1 .sk-badge{background:rgba(240,165,0,.35);color:#f0a500;}
.sk2 .sk-badge{background:rgba(26,122,74,.35);color:var(--green2);}
.sk3 .sk-badge{background:rgba(240,165,0,.25);color:#f0c040;}
.sk4 .sk-badge{background:rgba(14,116,144,.35);color:#5ac8d8;}
.sk-reno{background:rgba(255,255,255,.12)!important;color:rgba(255,255,255,.7)!important;}
.sk-e{background:rgba(26,122,74,.35);color:var(--green2);}
.sk-s{background:rgba(240,165,0,.25);color:#f0c040;}
.sk-r{background:rgba(14,116,144,.35);color:#5ac8d8;}
.sk-cross{font-family:'Oswald',sans-serif;font-size:16px;color:rgba(255,255,255,.3);font-weight:600;}
.sk-result{font-size:13px;font-weight:700;color:#fff;padding:10px 16px;background:rgba(255,255,255,.06);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);}
.sk-points{padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px;}
.sk-point{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:rgba(255,255,255,.6);line-height:1.5;}
.sk-check{flex-shrink:0;font-weight:700;}
.sk1 .sk-check{color:#f0a500;}
.sk2 .sk-check{color:var(--green2);}
.sk3 .sk-check{color:#f0c040;}
.sk4 .sk-check{color:#5ac8d8;}
/* ===== 換気・空調ブロック ===== */
/* ANIMATION */
.fade-up{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}

/* ----- source: 防犯　全体.html ----- */
/* ===== VSSページと完全共通のCSS変数・ベース ===== */
:root{
  --navy:#0d1f3c;--navy2:#1a3358;
  --green:#1a7a4a;--green2:#2aab66;--green-pale:#e8f5ee;
  --teal:#0e7490;--teal-pale:#e0f7fa;
  --white:#fff;--gray-light:#f4f5f7;--gray-mid:#8a9ab0;--gray-dark:#3d4f65;
  --text:#1a1a2e;--header-h:64px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;}
a{text-decoration:none;}

/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--header-h);background:rgba(13,31,60,0.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:space-between;padding:0 20px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{width:36px;height:36px;background:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:17px;font-weight:600;color:#fff;flex-shrink:0;}
.logo-name{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;}
.logo-sub{font-size:9px;color:var(--gray-mid);display:block;margin-top:1px;}
nav{display:none;}
@media(min-width:900px){nav{display:flex;align-items:center;gap:24px;}nav a{font-size:13px;color:rgba(255,255,255,.7);transition:color .2s;}nav a:hover{color:var(--green2);}.nav-cta{background:var(--green);color:#fff!important;padding:8px 18px;border-radius:6px;font-weight:500!important;}}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;}
.hamburger span{display:block;height:2px;background:rgba(255,255,255,.85);border-radius:2px;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(min-width:900px){.hamburger{display:none;}}
.sp-menu{position:fixed;top:var(--header-h);left:0;right:0;background:rgba(10,20,40,0.98);backdrop-filter:blur(16px);z-index:199;transform:translateY(-110%);transition:transform .35s cubic-bezier(.4,0,.2,1);padding:20px 24px 32px;}
.sp-menu.open{transform:translateY(0);}
.sp-menu a{display:block;padding:14px 0;font-size:16px;color:rgba(255,255,255,.85);border-bottom:1px solid rgba(255,255,255,.08);transition:color .2s;}
.sp-menu-tel{margin-top:20px;text-align:center;padding:16px;background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.35);border-radius:12px;}
.sp-menu-tel a{font-family:'Oswald',sans-serif;font-size:26px;color:#fff;border:none;padding:0;letter-spacing:1px;}
.sp-menu-tel p{font-size:11px;color:var(--gray-mid);margin-top:4px;}
.sp-cta{display:block;margin-top:14px;padding:16px;text-align:center;background:var(--green);color:#fff;border-radius:10px;font-size:15px;font-weight:500;}

/* BREADCRUMB */
.breadcrumb{background:var(--navy);padding:calc(var(--header-h)+12px) 24px 16px;font-size:12px;color:rgba(255,255,255,.4);}
.breadcrumb a{color:rgba(255,255,255,.4);}
.breadcrumb a:hover{color:var(--green2);}
.breadcrumb span{margin:0 8px;}
@media(min-width:900px){.breadcrumb{padding:calc(var(--header-h)+12px) 60px 16px;}}

/* ===== PAGE HERO ===== */
.page-hero{background:linear-gradient(135deg,#040e1f 0%,#061a10 40%,#0a2a18 70%,#0d1f3c 100%);padding:28px 24px 60px;position:relative;overflow:hidden;}
@media(min-width:900px){.page-hero{padding:40px 60px 80px;}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(26,122,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(26,122,74,.07) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;}
.hero-glow-r{position:absolute;top:-80px;right:-60px;width:500px;height:500px;background:radial-gradient(circle,rgba(26,122,74,.22) 0%,transparent 70%);pointer-events:none;}
.hero-glow-l{position:absolute;bottom:-80px;left:-60px;width:360px;height:360px;background:radial-gradient(circle,rgba(14,116,144,.15) 0%,transparent 70%);pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;}
.eyebrow-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(26,122,74,.25);border:1px solid rgba(26,122,74,.5);border-radius:100px;padding:5px 14px;margin-bottom:20px;}
.badge-dot{width:6px;height:6px;background:var(--green2);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
.eyebrow-badge span{font-size:11px;color:var(--green2);letter-spacing:1px;font-weight:500;}
.hero-layout{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:900px){.hero-layout{grid-template-columns:1fr 1fr;gap:64px;align-items:center;}}
.hero-label{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--green2);margin-bottom:10px;}
.hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(28px,7vw,52px);font-weight:600;color:#fff;line-height:1.2;margin-bottom:12px;}
.hero-title em{font-style:normal;color:var(--green2);}
.hero-desc{font-size:14px;color:rgba(255,255,255,.55);line-height:1.9;margin-bottom:28px;}

/* 資格バッジ（ヒーロー） */
.hero-cred-badges{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.hcb-item{display:flex;align-items:center;gap:12px;background:rgba(26,122,74,.15);border:1px solid rgba(26,122,74,.35);border-radius:10px;padding:12px 16px;}
.hcb-icon{font-size:22px;flex-shrink:0;}
.hcb-text{font-size:13px;color:#fff;font-weight:500;line-height:1.4;}
.hcb-text span{display:block;font-size:11px;color:rgba(255,255,255,.45);font-weight:400;margin-top:2px;}
.hcb-item.police{background:rgba(14,116,144,.2);border-color:rgba(14,116,144,.4);}

.hero-btns{display:flex;flex-direction:column;gap:10px;}
@media(min-width:480px){.hero-btns{flex-direction:row;}}
.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .25s;}
.btn-p:hover{background:var(--green2);transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,122,74,.4);}
.btn-s{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#fff;padding:14px 28px;border-radius:8px;font-size:14px;border:1px solid rgba(255,255,255,.25);transition:all .25s;}
.btn-s:hover{border-color:rgba(255,255,255,.6);}

/* ヒーロー右：実績数値 */
.hero-stats-box{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px 24px;}
.hsb-title{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:1px;text-align:center;margin-bottom:20px;font-family:'Oswald',sans-serif;}
.hsb-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hsb-item{background:rgba(26,122,74,.12);border:1px solid rgba(26,122,74,.25);border-radius:10px;padding:16px 12px;text-align:center;}
.hsb-num{font-family:'Oswald',sans-serif;font-size:28px;font-weight:600;color:var(--green2);line-height:1;}
.hsb-lbl{font-size:10px;color:rgba(255,255,255,.45);margin-top:4px;line-height:1.4;}
.hsb-badge{background:rgba(14,116,144,.2);border-color:rgba(14,116,144,.35)!important;}
.hsb-badge .hsb-num{font-size:16px;color:#5ac8d8;}

/* SECTION COMMON */
.sec{padding:60px 24px;max-width:1200px;margin:0 auto;}
@media(min-width:900px){.sec{padding:80px 60px;}}
.sec-inner{max-width:1200px;margin:0 auto;padding:0 24px;}
@media(min-width:900px){.sec-inner{padding:0 60px;}}
.sec-lbl{font-family:'Oswald',sans-serif;font-size:11px;letter-spacing:3px;color:var(--green);margin-bottom:10px;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4.5vw,36px);font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:12px;}
.sec-desc{font-size:14px;color:var(--gray-dark);line-height:1.9;max-width:640px;}
.bg-navy{background:var(--navy);}
.bg-gray{background:var(--gray-light);}

/* ===== 防犯カメラの役割・効果セクション ===== */
.effect-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:36px;}
@media(min-width:600px){.effect-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.effect-grid{grid-template-columns:repeat(3,1fr);}}
.effect-card{border-radius:14px;overflow:hidden;border:1px solid #e2e8f0;background:var(--white);transition:all .3s;}
.effect-card:hover{border-color:var(--green);transform:translateY(-4px);box-shadow:0 8px 28px rgba(26,122,74,.1);}
.ec-top{padding:24px 20px 16px;background:linear-gradient(135deg,#0a3320 0%,#1a7a4a 100%);}
.ec-icon{font-size:32px;margin-bottom:10px;}
.ec-title{font-size:16px;font-weight:700;color:#fff;line-height:1.3;}
.ec-body{padding:16px 20px;}
.ec-desc{font-size:13px;color:var(--gray-dark);line-height:1.8;margin-bottom:12px;}
.ec-points{list-style:none;}
.ec-points li{font-size:12px;color:var(--gray-dark);padding:4px 0;border-bottom:1px solid #f0f0f0;display:flex;align-items:flex-start;gap:6px;line-height:1.55;}
.ec-points li:last-child{border-bottom:none;}
.ec-points li::before{content:'✓';color:var(--green2);font-weight:700;flex-shrink:0;margin-top:1px;}

/* 犯罪抑止データ */
.data-banner{background:var(--navy);border-radius:16px;padding:28px 28px;margin-top:36px;display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:700px){.data-banner{grid-template-columns:1fr 1fr 1fr;}}
.db-item{text-align:center;padding:16px 12px;background:rgba(255,255,255,.05);border-radius:12px;border:1px solid rgba(255,255,255,.08);}
.db-num{font-family:'Oswald',sans-serif;font-size:36px;font-weight:600;color:var(--green2);line-height:1;}
.db-unit{font-size:16px;}
.db-label{font-size:11px;color:rgba(255,255,255,.5);margin-top:6px;line-height:1.5;}
.db-source{font-size:10px;color:rgba(255,255,255,.25);margin-top:4px;}

/* ===== 防犯設備士 × 愛知県警委嘱セクション ===== */
.shikaku-wrap{background:var(--navy);padding:64px 0;position:relative;overflow:hidden;}
@media(min-width:900px){.shikaku-wrap{padding:80px 0;}}
.shikaku-glow{position:absolute;top:-80px;right:-80px;width:500px;height:500px;background:radial-gradient(circle,rgba(14,116,144,.2) 0%,transparent 70%);pointer-events:none;}
.shikaku-wrap .sec-lbl{color:var(--green2);}
.shikaku-wrap .sec-title{color:#fff;}
.shikaku-wrap .sec-desc{color:rgba(255,255,255,.5);}
.shikaku-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:40px;}
@media(min-width:700px){.shikaku-grid{grid-template-columns:1fr 1fr;}}

/* 資格カード */
.cred-card{border-radius:16px;overflow:hidden;}
.cred-card.bouhan{border:2px solid rgba(26,122,74,.5);}
.cred-card.police{border:2px solid rgba(14,116,144,.5);}
.cc-head{padding:28px 24px 20px;}
.cc-head.bh{background:linear-gradient(135deg,#0a3320 0%,#1a7a4a 100%);}
.cc-head.pl{background:linear-gradient(135deg,#0a1a3a 0%,#0e4a8a 100%);}
.cc-badge{display:inline-block;font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:2px;background:rgba(255,255,255,.15);color:rgba(255,255,255,.85);padding:3px 10px;border-radius:100px;margin-bottom:12px;}
.cc-icon{font-size:40px;margin-bottom:10px;}
.cc-title{font-size:20px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:6px;}
.cc-sub{font-size:12px;color:rgba(255,255,255,.6);line-height:1.7;}
.cc-body{background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.08);padding:22px 24px;}
.cc-what-title{font-size:12px;font-weight:700;color:rgba(255,255,255,.6);letter-spacing:1px;margin-bottom:10px;}
.cc-desc{font-size:13px;color:rgba(255,255,255,.7);line-height:1.8;margin-bottom:14px;}
.cc-points{list-style:none;}
.cc-points li{font-size:12px;color:rgba(255,255,255,.65);padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:flex-start;gap:8px;line-height:1.5;}
.cc-points li:last-child{border-bottom:none;}
.cc-points li::before{content:'✓';font-weight:700;flex-shrink:0;margin-top:1px;}
.cred-card.bouhan .cc-points li::before{color:var(--green2);}
.cred-card.police .cc-points li::before{color:#5ac8d8;}

/* 委嘱の意味を強調するバナー */
.police-emphasis{background:rgba(14,116,144,.12);border:1px solid rgba(14,116,144,.35);border-radius:14px;padding:24px 28px;margin-top:24px;display:flex;align-items:flex-start;gap:16px;}
.pe-icon{font-size:32px;flex-shrink:0;}
.pe-title{font-size:15px;font-weight:700;color:#5ac8d8;margin-bottom:6px;}
.pe-desc{font-size:13px;color:rgba(255,255,255,.6);line-height:1.8;}
.pe-desc strong{color:#fff;}

/* ===== 防犯設備士による防犯設計プロセス ===== */
.design-process{background:var(--gray-light);padding:64px 0;}
@media(min-width:900px){.design-process{padding:80px 0;}}
.process-grid{display:grid;grid-template-columns:1fr;gap:40px;margin-top:44px;align-items:start;}
@media(min-width:900px){.process-grid{grid-template-columns:1fr 1fr;gap:60px;}}

/* フロー */
.process-flow{display:flex;flex-direction:column;gap:0;}
.proc-step{display:flex;align-items:stretch;gap:0;}
.ps-left{display:flex;flex-direction:column;align-items:center;width:52px;flex-shrink:0;}
.ps-num{width:44px;height:44px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:16px;font-weight:600;color:#fff;flex-shrink:0;}
.ps-line{width:2px;background:rgba(26,122,74,.2);flex:1;margin:4px auto;}
.proc-step:last-child .ps-line{display:none;}
.ps-body{padding:0 0 28px 16px;flex:1;}
.ps-title{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:5px;}
.ps-desc{font-size:13px;color:var(--gray-dark);line-height:1.75;}
.ps-tag{display:inline-block;font-size:10px;background:var(--green-pale);color:var(--green);padding:2px 8px;border-radius:100px;margin-top:6px;border:1px solid rgba(26,122,74,.2);}
.ps-police-tag{background:rgba(14,116,144,.1);color:var(--teal);border-color:rgba(14,116,144,.3);}

/* 防犯設計の視覚イメージ */
.design-vis{background:var(--navy);border-radius:20px;padding:32px 28px;position:relative;overflow:hidden;}
.dv-glow{position:absolute;top:-60px;right:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(26,122,74,.2) 0%,transparent 70%);pointer-events:none;}
.dv-title{font-size:11px;color:rgba(255,255,255,.35);letter-spacing:1px;text-align:center;margin-bottom:20px;font-family:'Oswald',sans-serif;}

/* チェックポイント可視化 */
.checkpoints-label{font-size:12px;font-weight:700;color:rgba(255,255,255,.5);margin-bottom:12px;letter-spacing:1px;}
.checkpoint-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;}
.cp-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:10px;}
.cp-item.risk-high{background:rgba(180,0,0,.1);border-color:rgba(200,50,50,.3);}
.cp-item.risk-mid{background:rgba(200,120,0,.1);border-color:rgba(220,140,0,.3);}
.cp-item.risk-low{background:rgba(26,122,74,.1);border-color:rgba(26,122,74,.3);}
.cp-icon{font-size:18px;flex-shrink:0;}
.cp-content{}
.cp-name{font-size:12px;font-weight:700;color:#fff;}
.cp-risk{font-size:10px;margin-top:2px;}
.cp-risk.high{color:#ff6060;}
.cp-risk.mid{color:#ffaa40;}
.cp-risk.low{color:var(--green2);}

/* 設計後の結果ボックス */
.design-result{background:var(--green);border-radius:12px;padding:18px 20px;margin-top:4px;}
.dr-label{font-size:10px;color:rgba(255,255,255,.7);letter-spacing:1px;margin-bottom:4px;}
.dr-val{font-size:15px;font-weight:700;color:#fff;}
.dr-note{font-size:11px;color:rgba(255,255,255,.65);margin-top:4px;line-height:1.6;}

/* ===== 他社との違い（差別化テーブル） ===== */
.diff-wrap{background:var(--white);padding:64px 0;}
@media(min-width:900px){.diff-wrap{padding:80px 0;}}
.diff-table-wrap{overflow-x:auto;margin-top:32px;border-radius:14px;border:1px solid #e2e8f0;}
table.diff{width:100%;border-collapse:collapse;min-width:520px;}
table.diff thead tr{background:var(--navy);}
table.diff th{padding:14px 18px;font-size:13px;font-weight:500;color:#fff;text-align:left;}
table.diff th:first-child{border-radius:14px 0 0 0;}
table.diff th.hl{background:var(--green);}
table.diff th:last-child{border-radius:0 14px 0 0;}
table.diff td{padding:13px 18px;font-size:13px;border-bottom:1px solid #e8ecf0;color:var(--gray-dark);line-height:1.5;}
table.diff tr:last-child td{border-bottom:none;}
table.diff tr:last-child td:first-child{border-radius:0 0 0 14px;}
table.diff tr:last-child td:last-child{border-radius:0 0 14px 0;}
table.diff tr:nth-child(even) td{background:var(--gray-light);}
.td-good{color:var(--green);font-weight:700;}
.td-bad{color:#cc4444;}
.td-mid{color:#c87800;}

/* ===== サービスメニュー ===== */
.services-wrap{background:var(--gray-light);padding:64px 0;}
@media(min-width:900px){.services-wrap{padding:80px 0;}}
.services-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:40px;}
@media(min-width:600px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.services-grid{grid-template-columns:repeat(4,1fr);}}
.sv-card{background:var(--white);border-radius:16px;overflow:hidden;border:1px solid #e2e8f0;transition:all .3s;display:block;}
.sv-card:hover{border-color:var(--green);transform:translateY(-4px);box-shadow:0 10px 32px rgba(26,122,74,.1);}
.sv-top{height:120px;position:relative;display:flex;align-items:flex-end;padding:16px;}
.sv-t1{background:linear-gradient(135deg,#0d2a1a 0%,#1a7a4a 100%);}
.sv-t2{background:linear-gradient(135deg,#0a1a3a 0%,#1a4a8a 100%);}
.sv-t3{background:linear-gradient(135deg,#0a1a2a 0%,#0e4a8a 100%);}
.sv-t4{background:linear-gradient(135deg,#1a1200 0%,#3a2800 100%);}
.sv-bg-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:52px;opacity:.15;}
.sv-tag{font-family:'Oswald',sans-serif;font-size:9px;letter-spacing:2px;color:rgba(255,255,255,.55);margin-bottom:3px;}
.sv-name{font-size:15px;font-weight:700;color:#fff;}
.sv-body{padding:16px;}
.sv-desc{font-size:12px;color:var(--gray-dark);line-height:1.75;margin-bottom:10px;}
.sv-link{font-size:12px;color:var(--green);font-weight:500;}

/* ===== 導入事例 ===== */
.cases-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:32px;}
@media(min-width:600px){.cases-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.cases-grid{grid-template-columns:repeat(3,1fr);}}
.case-card{border-radius:12px;overflow:hidden;border:1px solid #e2e8f0;transition:all .25s;background:var(--white);}
.case-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.case-img{height:130px;display:flex;align-items:center;justify-content:center;font-size:40px;position:relative;}
.ci-1{background:linear-gradient(135deg,#1a2a4a 0%,#2a4a7a 100%);}
.ci-2{background:linear-gradient(135deg,#1a3a2a 0%,#2a6a4a 100%);}
.ci-3{background:linear-gradient(135deg,#2a2a2a 0%,#4a4a4a 100%);}
.ci-4{background:linear-gradient(135deg,#1a3a1a 0%,#4a7a2a 100%);}
.ci-5{background:linear-gradient(135deg,#2a1a0a 0%,#6a4a1a 100%);}
.ci-6{background:linear-gradient(135deg,#0a1a2a 0%,#1a4a7a 100%);}
.case-cat{position:absolute;top:10px;left:10px;background:var(--navy);color:#fff;font-size:10px;padding:3px 10px;border-radius:4px;letter-spacing:1px;}
.case-body{padding:16px;}
.case-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:5px;line-height:1.4;}
.case-meta{font-size:11px;color:var(--gray-mid);margin-bottom:8px;}
.case-voice{font-size:12px;color:var(--gray-dark);border-left:3px solid var(--green);padding-left:8px;line-height:1.6;}

/* ===== FAQ ===== */
.faq-list{margin-top:32px;}
.faq-item{border-bottom:1px solid #e2e8f0;background:var(--white);}
.faq-item:first-child{border-radius:12px 12px 0 0;}
.faq-item:last-child{border-radius:0 0 12px 12px;border-bottom:none;}
.faq-q{padding:18px 20px;display:flex;align-items:flex-start;gap:14px;cursor:pointer;font-size:14px;font-weight:500;color:var(--navy);transition:background .2s;}
.faq-q:hover{background:var(--gray-light);}
.faq-q-badge{flex-shrink:0;width:24px;height:24px;background:var(--green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-top:1px;}
.faq-q-text{flex:1;}
.faq-toggle{font-size:18px;color:var(--green);transition:transform .3s;flex-shrink:0;margin-top:2px;}
.faq-item.open .faq-toggle{transform:rotate(45deg);}
.faq-a{padding:0 20px 18px 58px;font-size:13px;color:var(--gray-dark);line-height:1.85;display:none;}
.faq-item.open .faq-a{display:block;}

/* ===== CTA ===== */
.cta-sec{background:var(--navy);padding:72px 24px;text-align:center;}
@media(min-width:900px){.cta-sec{padding:88px 60px;}}
.cta-inner{max-width:720px;margin:0 auto;}
.cta-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,4.5vw,34px);color:#fff;font-weight:600;margin-bottom:14px;line-height:1.4;}
.cta-desc{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:32px;line-height:1.9;}
.cta-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:28px;}
@media(min-width:600px){.cta-opts{grid-template-columns:repeat(4,1fr);}}
.cta-opt{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 10px;text-align:center;}
.cta-opt-icon{font-size:22px;margin-bottom:6px;}
.cta-opt-name{font-size:12px;font-weight:700;color:#fff;margin-bottom:2px;}
.cta-opt-desc{font-size:10px;color:rgba(255,255,255,.4);}
.cta-btns{display:flex;flex-direction:column;gap:12px;align-items:center;}
@media(min-width:480px){.cta-btns{flex-direction:row;justify-content:center;}}
.btn-tel{font-family:'Oswald',sans-serif;letter-spacing:2px;font-size:18px!important;padding:16px 32px!important;}

/* FOOTER */
footer{background:#070d1a;padding:40px 24px;}
@media(min-width:900px){footer{padding:48px 60px;}}
.foot-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:20px;}
@media(min-width:600px){.foot-inner{grid-template-columns:2fr 1fr 1fr;}}
.foot-brand .fn{font-family:'Oswald',sans-serif;font-size:18px;font-weight:600;color:#fff;letter-spacing:3px;display:block;}
.foot-brand p{font-size:12px;color:rgba(255,255,255,.3);line-height:2;margin-top:6px;}
.foot-col h4{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:1px;margin-bottom:12px;}
.foot-col a{display:block;font-size:12px;color:rgba(255,255,255,.3);margin-bottom:8px;transition:color .2s;}
.foot-col a:hover{color:rgba(255,255,255,.7);}
.foot-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:18px;display:flex;flex-direction:column;gap:10px;}
@media(min-width:600px){.foot-bottom{flex-direction:row;justify-content:space-between;align-items:center;}}
.foot-copy{font-size:11px;color:rgba(255,255,255,.25);}
.foot-links{display:flex;gap:16px;flex-wrap:wrap;}
.foot-links a{font-size:11px;color:rgba(255,255,255,.25);transition:color .2s;}
.foot-links a:hover{color:rgba(255,255,255,.6);}

/* スマホフローティング */
.float-tel{position:fixed;bottom:20px;right:20px;z-index:150;display:flex;flex-direction:column;align-items:center;gap:5px;}
@media(min-width:900px){.float-tel{display:none;}}
.float-tel a{display:flex;align-items:center;gap:8px;background:var(--green);color:#fff;padding:12px 20px;border-radius:50px;font-size:14px;font-weight:700;box-shadow:0 4px 20px rgba(26,122,74,.5);font-family:'Oswald',sans-serif;letter-spacing:1px;transition:all .25s;}
.float-tel-note{font-size:9px;color:rgba(255,255,255,.7);background:rgba(0,0,0,.6);padding:2px 10px;border-radius:100px;}

/* ===== 免状・委嘱状 掲載エリア ===== */
.cred-docs-sec{padding:64px 0;background:var(--white);border-top:1px solid #e8ecf0;}
@media(min-width:900px){.cred-docs-sec{padding:80px 0;}}
.cred-docs-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:36px;}
@media(min-width:600px){.cred-docs-grid{grid-template-columns:1fr 1fr;}}
.cred-doc-card{border-radius:16px;overflow:hidden;border:2px solid #e2e8f0;transition:box-shadow .3s;}
.cred-doc-card:hover{box-shadow:0 8px 32px rgba(26,122,74,.12);}
.cred-doc-card.bouhan-card{border-color:rgba(26,122,74,.4);}
.cred-doc-card.police-card{border-color:rgba(14,116,144,.4);}
.cdc-head{padding:20px 24px 16px;}
.cdc-head.bh{background:linear-gradient(135deg,#0a3320 0%,#1a7a4a 100%);}
.cdc-head.ph{background:linear-gradient(135deg,#0a1a3a 0%,#0e4a8a 100%);}
.cdc-badge{display:inline-block;font-size:10px;letter-spacing:2px;background:rgba(255,255,255,.18);color:rgba(255,255,255,.9);padding:3px 10px;border-radius:100px;margin-bottom:8px;font-family:'Oswald',sans-serif;}
.cdc-icon{font-size:32px;margin-bottom:8px;}
.cdc-title{font-size:18px;font-weight:700;color:#fff;line-height:1.3;margin-bottom:3px;}
.cdc-sub{font-size:11px;color:rgba(255,255,255,.55);}
.cdc-photo{position:relative;aspect-ratio:4/3;background:var(--gray-light);overflow:hidden;}
.cdc-photo img.cred-img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;transition:transform .3s;}
.cdc-photo img.cred-img:hover{transform:scale(1.02);}
.cdc-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;}
.cdp-icon{font-size:52px;opacity:.25;}
.cdp-title{font-size:14px;font-weight:700;color:var(--gray-mid);}
.cdp-hint{font-size:11px;color:#bbb;line-height:1.7;}
.cdp-hint code{font-size:10px;background:#f0f0f0;padding:1px 6px;border-radius:3px;color:var(--gray-dark);}
.cdc-caption{padding:14px 20px;font-size:12px;color:var(--gray-dark);line-height:1.75;border-top:1px solid #f0f0f0;}
.cdc-caption strong{color:var(--navy);font-size:13px;display:block;margin-bottom:2px;}
/* ライトボックス */
.lb-ov{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s;pointer-events:none;}
.lb-ov.lb-show{opacity:1;pointer-events:auto;}
.lb-ov img{max-width:100%;max-height:90vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6);}
.lb-ov-close{position:absolute;top:14px;right:18px;font-size:30px;color:#fff;cursor:pointer;opacity:.7;line-height:1;}
.lb-ov-close:hover{opacity:1;}

/* ===== VSSバナー（VSS専用ページへの誘導）===== */
.vss-link-banner{background:linear-gradient(135deg,#040e1f 0%,#061a10 50%,#0d1f3c 100%);border-radius:20px;padding:36px 32px;display:grid;grid-template-columns:1fr;gap:20px;align-items:center;margin-top:0;position:relative;overflow:hidden;}
@media(min-width:700px){.vss-link-banner{grid-template-columns:1fr auto;gap:40px;}}
.vss-banner-glow{position:absolute;top:-60px;right:-60px;width:300px;height:300px;background:radial-gradient(circle,rgba(26,122,74,.2) 0%,transparent 70%);pointer-events:none;}
.vlb-content{position:relative;z-index:2;}
.vlb-label{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:3px;color:var(--green2);margin-bottom:10px;}
.vlb-title{font-family:'Noto Serif JP',serif;font-size:clamp(20px,3.5vw,28px);font-weight:600;color:#fff;line-height:1.3;margin-bottom:10px;}
.vlb-title em{font-style:normal;color:var(--green2);}
.vlb-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.85;margin-bottom:16px;}
.vlb-zeros{display:flex;gap:10px;flex-wrap:wrap;}
.vlb-zero{background:rgba(26,122,74,.18);border:1px solid rgba(26,122,74,.35);border-radius:8px;padding:8px 14px;text-align:center;}
.vlb-z-val{font-family:'Oswald',sans-serif;font-size:20px;font-weight:600;color:var(--green2);line-height:1;}
.vlb-z-lbl{font-size:10px;color:rgba(255,255,255,.45);margin-top:2px;}
.vlb-btn-wrap{position:relative;z-index:2;flex-shrink:0;}
.vlb-btn{display:flex;flex-direction:column;gap:8px;}
.vlb-btn a{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:8px;font-size:13px;font-weight:500;white-space:nowrap;transition:all .25s;}
.vlb-btn .vb-p{background:var(--green);color:#fff;}
.vlb-btn .vb-p:hover{background:var(--green2);transform:translateY(-2px);}
.vlb-btn .vb-s{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.2);}
.vlb-btn .vb-s:hover{background:rgba(255,255,255,.14);}

/* ===== 施工実績（10例）===== */
.cases10-sec{padding:64px 0;}
@media(min-width:900px){.cases10-sec{padding:80px 0;}}
/* フィルタ */
.cf-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px;}
.cf-btn{font-size:12px;padding:7px 15px;border-radius:100px;border:1px solid #e2e8f0;background:#fff;color:var(--gray-dark);cursor:pointer;transition:all .2s;font-family:'Noto Sans JP',sans-serif;}
.cf-btn:hover,.cf-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}
/* グリッド */
.c10-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px;}
@media(min-width:580px){.c10-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:900px){.c10-grid{grid-template-columns:repeat(3,1fr);}}
.c10-card{border-radius:14px;overflow:hidden;background:var(--white);border:1px solid #e2e8f0;transition:all .3s;display:flex;flex-direction:column;}
.c10-card:hover{border-color:var(--green);transform:translateY(-4px);box-shadow:0 10px 32px rgba(26,122,74,.1);}
.c10-photo{aspect-ratio:4/3;position:relative;overflow:hidden;}
.c10-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;}
.c10-card:hover .c10-photo img{transform:scale(1.05);}
.c10-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:44px;}
.ph1{background:linear-gradient(135deg,#1a2a4a,#2a4a7a);}
.ph2{background:linear-gradient(135deg,#1a3a2a,#2a6a4a);}
.ph3{background:linear-gradient(135deg,#2a2a2a,#4a4a4a);}
.ph4{background:linear-gradient(135deg,#2a1a0a,#6a4a1a);}
.ph5{background:linear-gradient(135deg,#1a0a3a,#4a1a7a);}
.ph6{background:linear-gradient(135deg,#0a2a3a,#0e5a7a);}
.ph7{background:linear-gradient(135deg,#3a1a1a,#8a3a3a);}
.ph8{background:linear-gradient(135deg,#1a3a1a,#4a7a2a);}
.ph9{background:linear-gradient(135deg,#0a1a2a,#1a4a7a);}
.ph10{background:linear-gradient(135deg,#1a2a0a,#3a5a1a);}
.c10-badges{position:absolute;top:8px;left:8px;display:flex;gap:4px;flex-wrap:wrap;}
.c10-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:.3px;}
.cb-cat{background:rgba(13,31,60,.85);color:#fff;}
.cb-vss{background:rgba(26,122,74,.9);color:#fff;}
.cb-pol{background:rgba(14,116,144,.9);color:#fff;}
.c10-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;}
.c10-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px;}
.c10-tag{font-size:10px;background:var(--green-pale);color:var(--green);padding:2px 8px;border-radius:100px;}
.c10-tag.tv{background:rgba(14,116,144,.1);color:var(--teal);}
.c10-title{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:4px;line-height:1.4;}
.c10-meta{font-size:11px;color:var(--gray-mid);margin-bottom:6px;}
.c10-voice{font-size:12px;color:var(--gray-dark);border-left:3px solid var(--green);padding-left:8px;line-height:1.6;margin-top:auto;}
/* 更新ガイド */
.update-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;padding:13px 16px;background:var(--green-pale);border:1px solid rgba(26,122,74,.2);border-radius:10px;}
.un-icon{font-size:18px;flex-shrink:0;margin-top:1px;}
.un-text{font-size:12px;color:var(--gray-dark);line-height:1.8;}
.un-text strong{color:var(--green);display:block;margin-bottom:2px;font-size:13px;}
.un-text code{background:rgba(26,122,74,.12);padding:1px 5px;border-radius:3px;color:var(--green);font-size:11px;}

/* teal変数補完 */
:root{--teal:#0e7490;}

.fade-up{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}