@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ - SEVEN NAVI カスタマイズ版
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.4
*/

/* =========================================
   Cocoon親テーマのデフォルトスタイルを上書き
   SEVEN NAVI 専用デザイン統合CSS
========================================= */

/* Cocoonのヘッダー・フッターを非表示（独自のものを使用） */
#header-container, #navi, #footer { display: none !important; }
#main, #content, #body { padding: 0 !important; margin: 0 !important; }
#site { max-width: 100% !important; padding: 0 !important; }
.appeal { display: none !important; }
.entry-content { margin: 0 !important; padding: 0 !important; }
.article { margin: 0 !important; padding: 0 !important; }
.no-sidebar #main { width: 100% !important; }

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@700&display=swap');


/* ============ 共通CSS（index.htmlから） ============ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;color:#333;background:#fff;line-height:1.8;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
:root{
  --orange:#e05a00;--orange-lt:#f07020;--orange-pale:#fff4ec;
  --navy:#1a3a5c;--gray-bg:#f7f7f7;--gray-border:#e0e0e0;
  --text:#333;--text-mid:#555;--text-light:#777;
}

/* ===== HEADER ===== */
header{
  position:sticky;top:0;z-index:200;background:#fff;
  border-bottom:3px solid var(--orange);
  box-shadow:0 2px 10px rgba(0,0,0,0.1);
  padding:0 1.2rem;height:58px;
  display:flex;align-items:center;justify-content:space-between;
}
.hd-logo{display:flex;align-items:center;gap:8px;}
.hd-logo-mark{width:36px;height:36px;background:var(--orange);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:900;flex-shrink:0;}
.hd-logo-text .en{font-size:1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;display:block;}
.hd-logo-text .jp{font-size:0.58rem;color:var(--text-light);display:block;}
.hd-right{display:flex;align-items:center;gap:0.8rem;}

/* ハンバーガー */
.hamburger{
  width:38px;height:38px;background:none;border:none;cursor:pointer;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  padding:4px;-webkit-tap-highlight-color:transparent;
}
.hamburger span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all 0.3s ease;}
.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);}

/* SP用電話ボタン */
.hd-tel-sp{
  display:flex;align-items:center;gap:4px;
  font-size:0.72rem;font-weight:900;color:var(--orange);
  border:1.5px solid var(--orange);border-radius:3px;padding:0.4rem 0.6rem;
  white-space:nowrap;
}

/* ドロワーメニュー */
.drawer{
  position:fixed;top:58px;right:0;bottom:0;
  width:min(280px,80vw);background:#fff;
  box-shadow:-4px 0 20px rgba(0,0,0,0.15);
  z-index:190;
  transform:translateX(100%);
  transition:transform 0.3s ease;
  overflow-y:auto;
  display:flex;flex-direction:column;
}
.drawer.open{transform:translateX(0);}
.drawer-nav{padding:1.5rem 0;flex:1;}
.drawer-nav a{
  display:block;padding:1rem 1.5rem;
  font-size:0.92rem;font-weight:700;color:var(--text);
  border-bottom:1px solid var(--gray-border);
  transition:background 0.15s,color 0.15s;
}
.drawer-nav a:hover{background:var(--orange-pale);color:var(--orange);}
.drawer-nav a.active{color:var(--orange);}
.drawer-cta{padding:1.2rem 1.5rem;background:var(--gray-bg);}
.drawer-tel{text-align:center;margin-bottom:0.8rem;}
.drawer-tel .label{font-size:0.65rem;color:var(--text-light);}
.drawer-tel a{font-size:1.6rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1.2;}
.drawer-tel .time{font-size:0.65rem;color:var(--text-light);}
.drawer-btn{display:block;background:var(--orange);color:#fff;text-align:center;padding:0.9rem;font-size:0.88rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;}
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.4);
  z-index:180;opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.overlay.open{opacity:1;pointer-events:auto;}

/* PC nav */
.pc-nav{display:none;}
.hd-tel-pc{display:none;}
.hd-cta-pc{display:none;}
@media(min-width:900px){
  header{height:66px;}
  .hd-logo-mark{width:42px;height:42px;font-size:1.3rem;}
  .hd-logo-text .en{font-size:1.1rem;}
  .hd-logo-text .jp{font-size:0.62rem;}
  .hd-tel-sp{display:none;}
  .hamburger{display:none;}
  .pc-nav{display:flex;gap:0;}
  .pc-nav a{font-size:0.72rem;font-weight:700;color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;white-space:nowrap;transition:color 0.15s,background 0.15s;}
  .pc-nav a:hover,.pc-nav a.active{color:var(--orange);background:var(--orange-pale);}
  .hd-tel-pc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}
  .hd-tel-pc .label{font-size:0.6rem;color:var(--text-light);}
  .hd-tel-pc .num{font-size:1.1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;}
  .hd-cta-pc{display:block;background:var(--orange);color:#fff;padding:0.5rem 1.1rem;font-size:0.78rem;font-weight:900;border-radius:3px;white-space:nowrap;}
}

/* ===== HERO ===== */
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d1f12 0%,#1a3d25 50%,#0d2a1a 100%);min-height:500px;display:flex;align-items:center;}
.hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.particle{position:absolute;border-radius:50%;background:rgba(255,255,255,0.05);animation:float linear infinite;}
@keyframes float{0%{transform:translateY(110%);opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{transform:translateY(-110%);opacity:0;}}
.hero-scroll-line{position:absolute;bottom:0;left:0;right:0;height:32px;background:var(--orange);overflow:hidden;display:flex;align-items:center;}
.hero-scroll-text{display:flex;gap:3rem;white-space:nowrap;animation:scrolltext 18s linear infinite;color:rgba(255,255,255,0.9);font-size:0.7rem;font-weight:700;letter-spacing:0.15em;}
@keyframes scrolltext{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.hero-inner{position:relative;z-index:2;width:100%;padding:2.5rem 1.2rem 4rem;display:flex;flex-direction:column;gap:2rem;max-width:1100px;margin:0 auto;}
@media(min-width:900px){.hero-inner{display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:center;padding:4rem 2rem 5rem;}}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:#fff;padding:0.28rem 1rem 0.28rem 1.2rem;font-size:0.68rem;font-weight:700;letter-spacing:0.1em;border-radius:0 20px 20px 0;margin-left:-1.2rem;margin-bottom:1rem;animation:slideright 0.8s 0.2s both;}
@media(min-width:900px){.hero-badge{margin-left:-2rem;padding-left:2rem;}}
@keyframes slideright{from{transform:translateX(-60px);opacity:0;}to{transform:translateX(0);opacity:1;}}
.hero-badge::before{content:'';width:7px;height:7px;background:#fff;border-radius:50%;flex-shrink:0;animation:pulse 1.5s ease-in-out infinite;}
@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.6);opacity:0.5;}}
.hero-catch{font-family:'Noto Serif JP',serif;font-size:clamp(1.7rem,5.5vw,3.2rem);font-weight:700;color:#fff;line-height:1.3;margin-bottom:0.9rem;animation:fadein 0.8s 0.5s both;}
.hero-catch .hl{color:transparent;background:linear-gradient(90deg,#f5c842,#f09020);-webkit-background-clip:text;background-clip:text;}
@keyframes fadein{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.hero-sub{font-size:0.88rem;color:rgba(255,255,255,0.75);line-height:2;margin-bottom:1.5rem;animation:fadein 0.8s 0.7s both;}
.hero-btns{display:flex;gap:0.7rem;flex-wrap:wrap;animation:fadein 0.8s 0.9s both;}
.btn-main{background:var(--orange);color:#fff;padding:0.9rem 1.6rem;font-size:0.88rem;font-weight:900;letter-spacing:0.06em;border-radius:3px;display:inline-block;box-shadow:0 4px 18px rgba(224,90,0,0.5);transition:transform 0.15s;}
.btn-main:hover{transform:translateY(-2px);}
.btn-sub{background:transparent;color:#fff;padding:0.9rem 1.4rem;font-size:0.82rem;font-weight:700;letter-spacing:0.04em;border:2px solid rgba(255,255,255,0.4);border-radius:3px;display:inline-block;}
.hero-counters{display:flex;gap:0.7rem;margin-top:1.2rem;animation:fadein 0.8s 1.1s both;}
.counter-item{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:4px;padding:0.6rem 0.5rem;text-align:center;flex:1;}
.counter-num{font-size:1.35rem;font-weight:900;color:#f5c842;line-height:1;display:block;}
.counter-unit{font-size:0.56rem;color:rgba(255,255,255,0.5);line-height:1.4;display:block;margin-top:2px;}
.hero-card{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:6px;padding:1.5rem;animation:fadein 0.8s 1.1s both;}
.hero-card-title{font-size:0.9rem;font-weight:900;color:#fff;text-align:center;margin-bottom:0.2rem;}
.hero-card-free{font-size:1.3rem;font-weight:900;text-align:center;margin-bottom:1rem;color:#f5c842;}
.btn-card{display:block;background:var(--orange);color:#fff;text-align:center;padding:1rem;font-size:0.92rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;margin-bottom:0.7rem;}
.hero-card-tel{text-align:center;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:3px;padding:0.8rem;}
.hero-card-tel .label{font-size:0.65rem;color:rgba(255,255,255,0.5);margin-bottom:0.15rem;}
.hero-card-tel a{font-size:1.5rem;font-weight:900;color:#f5c842;display:block;letter-spacing:0.06em;line-height:1;}
.hero-card-tel .time{font-size:0.65rem;color:rgba(255,255,255,0.4);margin-top:0.2rem;}

/* MEDAL */
.medal-strip{background:var(--orange);padding:0.8rem 1rem;display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;}
.medal-item{display:flex;align-items:center;gap:0.4rem;color:#fff;font-size:0.76rem;font-weight:900;white-space:nowrap;}
.medal-icon{font-size:1.2rem;}

/* SECTION */
section{padding:3.5rem 1.2rem;}
@media(min-width:768px){section{padding:5rem 2rem;}}
.si{max-width:1100px;margin:0 auto;}
.sec-en{font-size:0.62rem;letter-spacing:0.35em;color:var(--orange);text-transform:uppercase;text-align:center;margin-bottom:0.25rem;font-weight:700;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.3rem,4vw,2.1rem);font-weight:700;text-align:center;line-height:1.4;margin-bottom:0.4rem;color:var(--text);}
.sec-title .orn{color:var(--orange);}
.sec-bar{width:44px;height:4px;background:var(--orange);margin:0.6rem auto 1.5rem;border-radius:2px;}
.sec-desc{text-align:center;font-size:0.87rem;color:var(--text-mid);line-height:2;margin-bottom:2.5rem;}

/* FIRST */
.first-sec{background:var(--gray-bg);}
.worries-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.8rem;margin-bottom:2.5rem;}
@media(min-width:600px){.worries-grid{grid-template-columns:repeat(3,1fr);}}
.worry-card{background:#fff;border-radius:8px;border:2px solid var(--gray-border);padding:1.2rem 0.8rem;text-align:center;transition:border-color 0.2s,transform 0.2s;}
.worry-card:hover{border-color:var(--orange);transform:translateY(-3px);}
.worry-icon{font-size:2rem;margin-bottom:0.4rem;display:block;}
.worry-text{font-size:0.78rem;font-weight:700;color:var(--text);line-height:1.5;}
.worry-text .str{color:var(--orange);}
.first-points{display:flex;flex-direction:column;gap:2rem;}
.first-point{display:flex;flex-direction:column;gap:1.2rem;padding:1.8rem 1.4rem;background:#fff;border-radius:10px;border:1px solid var(--gray-border);box-shadow:0 4px 18px rgba(0,0,0,0.05);position:relative;overflow:hidden;}
@media(min-width:768px){.first-point{flex-direction:row;align-items:flex-start;gap:2rem;}.first-point.rev{flex-direction:row-reverse;}}
.fp-num{font-family:'Noto Serif JP',serif;font-size:4rem;font-weight:700;color:var(--orange);opacity:0.1;position:absolute;top:0.3rem;right:1rem;line-height:1;pointer-events:none;}
.fp-icon{flex-shrink:0;width:68px;height:68px;background:var(--orange-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;border:3px solid var(--orange);margin:0 auto;}
@media(min-width:768px){.fp-icon{margin:0;}}
.fp-body{flex:1;}
.fp-label{display:inline-block;background:var(--orange);color:#fff;font-size:0.65rem;font-weight:700;letter-spacing:0.12em;padding:0.18rem 0.75rem;border-radius:2px;margin-bottom:0.5rem;}
.fp-title{font-family:'Noto Serif JP',serif;font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:0.6rem;line-height:1.4;}
.fp-text{font-size:0.84rem;color:var(--text-mid);line-height:2;}
.fp-link{display:inline-flex;align-items:center;gap:0.3rem;margin-top:0.7rem;font-size:0.8rem;font-weight:700;color:var(--orange);border-bottom:1px solid var(--orange);padding-bottom:1px;}

/* REASONS */
.reasons-sec{background:#fff;}
.reason-intro{font-family:'Noto Serif JP',serif;font-size:clamp(0.95rem,2.5vw,1.2rem);font-weight:700;text-align:center;color:var(--text);line-height:1.7;margin-bottom:2.5rem;}
.reason-intro .orn{color:var(--orange);}
.reasons-list{display:flex;flex-direction:column;}
.reason-item{display:flex;flex-direction:column;}
@media(min-width:768px){.reason-item{flex-direction:row;min-height:300px;}.reason-item.rev{flex-direction:row-reverse;}}
.reason-visual{flex:0 0 42%;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;position:relative;overflow:hidden;min-height:180px;}
.reason-visual-inner{text-align:center;position:relative;z-index:1;}
.reason-big-icon{font-size:clamp(4rem,10vw,7rem);display:block;animation:iconbounce 3s ease-in-out infinite;}
@keyframes iconbounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.reason-visual-text{font-size:0.74rem;color:var(--text-light);margin-top:0.5rem;font-weight:700;}
.reason-content{flex:1;padding:2rem 1.4rem;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--gray-border);position:relative;}
@media(min-width:768px){.reason-content{padding:2.5rem 2rem;}}
.reason-no{position:absolute;top:-0.5rem;right:1rem;font-family:'Noto Serif JP',serif;font-size:5rem;font-weight:700;color:rgba(224,90,0,0.07);line-height:1;pointer-events:none;}
.reason-label{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.65rem;font-weight:700;letter-spacing:0.15em;color:var(--orange);text-transform:uppercase;margin-bottom:0.5rem;}
.reason-label::before{content:'';width:16px;height:2px;background:var(--orange);}
.reason-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.05rem,3vw,1.45rem);font-weight:700;color:var(--text);line-height:1.4;margin-bottom:0.4rem;}
.reason-subtitle{font-size:0.83rem;color:var(--text-mid);margin-bottom:1rem;font-weight:700;}
.reason-body{font-size:0.84rem;color:var(--text-mid);line-height:2;}
.reason-body strong{color:var(--text);font-weight:700;}
.reason-link{display:inline-flex;align-items:center;gap:0.4rem;margin-top:1rem;color:var(--orange);font-size:0.8rem;font-weight:700;border:1.5px solid var(--orange);padding:0.45rem 1rem;border-radius:3px;width:fit-content;transition:background 0.15s,color 0.15s;}
.reason-link:hover{background:var(--orange);color:#fff;}

/* WORKS PREVIEW */
.works-preview{background:var(--gray-bg);}
.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
@media(min-width:768px){.works-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;}}
.work-card{background:#fff;border-radius:8px;border:1px solid var(--gray-border);overflow:hidden;transition:transform 0.2s,box-shadow 0.2s;}
.work-card:hover{transform:translateY(-4px);box-shadow:0 8px 22px rgba(0,0,0,0.1);}
.work-thumb{height:130px;background:linear-gradient(135deg,#1a3d25,#2D6E50);display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative;overflow:hidden;}
@media(min-width:768px){.work-thumb{height:150px;}}
.work-thumb::after{content:'BEFORE → AFTER';position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,0.55);color:rgba(255,255,255,0.65);font-size:0.55rem;font-weight:700;letter-spacing:0.15em;text-align:center;padding:0.3rem;}
.work-cat{position:absolute;top:0.4rem;left:0.4rem;background:var(--orange);color:#fff;font-size:0.58rem;font-weight:700;padding:0.18rem 0.55rem;border-radius:2px;}
.work-info{padding:0.9rem 0.85rem;}
.work-area{font-size:0.66rem;color:var(--text-light);margin-bottom:0.2rem;}
.work-title{font-size:0.84rem;font-weight:700;color:var(--text);line-height:1.45;}
.works-more{text-align:center;margin-top:2rem;}
.btn-more{display:inline-flex;align-items:center;gap:0.5rem;border:2px solid var(--orange);color:var(--orange);padding:0.75rem 2rem;font-size:0.88rem;font-weight:700;border-radius:3px;transition:background 0.15s,color 0.15s;}
.btn-more:hover{background:var(--orange);color:#fff;}

/* VOICE */
.voice-sec{background:var(--orange-pale);}
.voice-grid{display:flex;flex-direction:column;gap:1rem;}
@media(min-width:640px){.voice-grid{display:grid;grid-template-columns:repeat(2,1fr);}}
@media(min-width:960px){.voice-grid{grid-template-columns:repeat(3,1fr);}}
.voice-card{background:#fff;border-radius:8px;border:1px solid var(--gray-border);padding:1.4rem;position:relative;overflow:hidden;}
.voice-card::before{content:'\201C';position:absolute;top:-0.5rem;left:0.7rem;font-size:4.5rem;color:var(--orange);opacity:0.1;font-family:serif;line-height:1;}
.voice-stars{color:#f5a623;font-size:0.95rem;margin-bottom:0.4rem;letter-spacing:2px;}
.voice-text{font-size:0.82rem;color:var(--text-mid);line-height:2;margin-bottom:0.9rem;}
.voice-person{display:flex;align-items:center;gap:0.6rem;border-top:1px solid var(--gray-border);padding-top:0.7rem;}
.voice-avatar{width:34px;height:34px;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.voice-name{font-size:0.78rem;font-weight:700;color:var(--text);}
.voice-area{font-size:0.68rem;color:var(--text-light);}

/* AREA */
.area-sec{background:#fff;}
.area-inner{display:flex;flex-direction:column;gap:2rem;}
@media(min-width:768px){.area-inner{flex-direction:row;align-items:flex-start;gap:3rem;}}
.area-map{flex:0 0 240px;}
.gunma-svg{width:100%;max-width:240px;margin:0 auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,0.1));}
.area-list-wrap{flex:1;}
.area-lead{font-size:0.86rem;color:var(--text-mid);line-height:2;margin-bottom:1.2rem;}
.area-cities{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1.2rem;}
.area-city{background:var(--orange-pale);border:1.5px solid var(--orange);color:var(--orange);font-size:0.74rem;font-weight:700;padding:0.26rem 0.7rem;border-radius:3px;}
.area-city.main{background:var(--orange);color:#fff;}
.area-outside{background:var(--gray-bg);border-radius:5px;padding:0.9rem 1.1rem;font-size:0.8rem;color:var(--text-mid);border-left:4px solid var(--orange);line-height:1.8;}

/* CTA */
.cta-sec{background:linear-gradient(135deg,#1a3d25 0%,#0d1f12 100%);position:relative;overflow:hidden;}
.cta-inner{max-width:680px;margin:0 auto;text-align:center;position:relative;z-index:1;padding:3.5rem 1.2rem;}
@media(min-width:768px){.cta-inner{padding:5rem 2rem;}}
.cta-inner h2{font-family:'Noto Serif JP',serif;font-size:clamp(1.15rem,4vw,1.9rem);font-weight:700;color:#fff;line-height:1.55;margin-bottom:0.7rem;}
.cta-inner p{font-size:0.86rem;color:rgba(255,255,255,0.7);line-height:2;margin-bottom:1.8rem;}
.cta-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn-cta-main{background:var(--orange);color:#fff;padding:1rem 2rem;font-size:0.92rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;display:inline-block;}
.btn-cta-tel{background:transparent;color:#fff;padding:1rem 1.6rem;font-size:0.92rem;font-weight:900;border:2px solid rgba(255,255,255,0.5);border-radius:3px;display:inline-flex;align-items:center;gap:0.4rem;}

/* FOOTER */
footer{background:#1a1a1a;color:rgba(255,255,255,0.42);padding:2rem 1.2rem 1.5rem;font-size:0.75rem;line-height:1.9;}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-logo{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:0.4rem;}
.footer-links{display:flex;gap:0.8rem;flex-wrap:wrap;}
.footer-links a{color:rgba(255,255,255,0.38);font-size:0.7rem;}
.footer-copy{max-width:1100px;margin:0 auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07);text-align:center;font-size:0.66rem;}

/* REVEAL */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.visible{opacity:1;transform:none;}
.reveal-l{opacity:0;transform:translateX(-32px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal-l.visible{opacity:1;transform:none;}
.reveal-r{opacity:0;transform:translateX(32px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal-r.visible{opacity:1;transform:none;}
.d1{transition-delay:0.08s!important;}.d2{transition-delay:0.16s!important;}.d3{transition-delay:0.24s!important;}



/* ============ first.html 固有CSS ============ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;color:#333;background:#fff;line-height:1.8;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
:root{--orange:#e05a00;--orange-lt:#f07020;--orange-pale:#fff4ec;--navy:#1a3a5c;--gray-bg:#f7f7f7;--gray-border:#e0e0e0;--text:#333;--text-mid:#555;--text-light:#777;}
header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:0 1.2rem;height:58px;display:flex;align-items:center;justify-content:space-between;}
.hd-logo{display:flex;align-items:center;gap:8px;}
.hd-logo-mark{width:36px;height:36px;background:var(--orange);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:900;flex-shrink:0;}
.hd-logo-text .en{font-size:1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;display:block;}
.hd-logo-text .jp{font-size:0.58rem;color:var(--text-light);display:block;}
.hd-right{display:flex;align-items:center;gap:0.8rem;}
.hamburger{width:38px;height:38px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;-webkit-tap-highlight-color:transparent;}
.hamburger span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all 0.3s ease;}
.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);}
.hd-tel-sp{display:flex;align-items:center;gap:4px;font-size:0.72rem;font-weight:900;color:var(--orange);border:1.5px solid var(--orange);border-radius:3px;padding:0.4rem 0.6rem;white-space:nowrap;}
.drawer{position:fixed;top:58px;right:0;bottom:0;width:min(280px,80vw);background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,0.15);z-index:190;transform:translateX(100%);transition:transform 0.3s ease;overflow-y:auto;display:flex;flex-direction:column;}
.drawer.open{transform:translateX(0);}
.drawer-nav{padding:1.5rem 0;flex:1;}
.drawer-nav a{display:block;padding:1rem 1.5rem;font-size:0.92rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--gray-border);transition:background 0.15s,color 0.15s;}
.drawer-nav a:hover,.drawer-nav a.active{background:var(--orange-pale);color:var(--orange);}
.drawer-cta{padding:1.2rem 1.5rem;background:var(--gray-bg);}
.drawer-tel{text-align:center;margin-bottom:0.8rem;}
.drawer-tel .label{font-size:0.65rem;color:var(--text-light);}
.drawer-tel a{font-size:1.6rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1.2;}
.drawer-tel .time{font-size:0.65rem;color:var(--text-light);}
.drawer-btn{display:block;background:var(--orange);color:#fff;text-align:center;padding:0.9rem;font-size:0.88rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:180;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.overlay.open{opacity:1;pointer-events:auto;}
.pc-nav{display:none;}.hd-tel-pc{display:none;}.hd-cta-pc{display:none;}
@media(min-width:900px){
  header{height:66px;}
  .hd-tel-sp{display:none;}.hamburger{display:none;}
  .pc-nav{display:flex;gap:0;}
  .pc-nav a{font-size:0.72rem;font-weight:700;color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;white-space:nowrap;transition:color 0.15s,background 0.15s;}
  .pc-nav a:hover,.pc-nav a.active{color:var(--orange);background:var(--orange-pale);}
  .hd-tel-pc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}
  .hd-tel-pc .label{font-size:0.6rem;color:var(--text-light);}
  .hd-tel-pc .num{font-size:1.1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;}
  .hd-cta-pc{display:block;background:var(--orange);color:#fff;padding:0.5rem 1.1rem;font-size:0.78rem;font-weight:900;border-radius:3px;white-space:nowrap;}
}
.page-hero{background:linear-gradient(135deg,#0d1f12,#1a3d25);padding:3rem 1.2rem;text-align:center;}
.page-hero-en{font-size:0.65rem;letter-spacing:0.35em;color:rgba(255,255,255,0.4);text-transform:uppercase;margin-bottom:0.4rem;}
.page-hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.6rem,5vw,2.5rem);font-weight:700;color:#fff;margin-bottom:0.5rem;}
.page-hero-sub{font-size:0.86rem;color:rgba(255,255,255,0.65);line-height:1.9;}
.breadcrumb{background:var(--gray-bg);padding:0.7rem 1.2rem;font-size:0.72rem;color:var(--text-light);}
.breadcrumb a{color:var(--orange);}
.breadcrumb span{margin:0 0.4rem;}
section{padding:3.5rem 1.2rem;}
@media(min-width:768px){section{padding:5rem 2rem;}}
.si{max-width:1000px;margin:0 auto;}
.sec-en{font-size:0.62rem;letter-spacing:0.35em;color:var(--orange);text-transform:uppercase;text-align:center;margin-bottom:0.25rem;font-weight:700;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.3rem,4vw,2.1rem);font-weight:700;text-align:center;line-height:1.4;margin-bottom:0.4rem;}
.sec-title .orn{color:var(--orange);}
.sec-bar{width:44px;height:4px;background:var(--orange);margin:0.6rem auto 1.5rem;border-radius:2px;}
.sec-desc{text-align:center;font-size:0.87rem;color:var(--text-mid);line-height:2;margin-bottom:2.5rem;}
.worries-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.8rem;margin-bottom:2.5rem;}
@media(min-width:600px){.worries-grid{grid-template-columns:repeat(3,1fr);}}
.worry-card{background:#fff;border-radius:8px;border:2px solid var(--gray-border);padding:1.2rem 0.8rem;text-align:center;transition:border-color 0.2s,transform 0.2s;box-shadow:0 2px 8px rgba(0,0,0,0.04);}
.worry-card:hover{border-color:var(--orange);transform:translateY(-3px);}
.worry-icon{font-size:2rem;margin-bottom:0.4rem;display:block;}
.worry-text{font-size:0.78rem;font-weight:700;color:var(--text);line-height:1.5;}
.worry-text .str{color:var(--orange);}
.first-points{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem;}
.first-point{display:flex;flex-direction:column;gap:1.2rem;padding:1.8rem 1.4rem;background:#fff;border-radius:10px;border:1px solid var(--gray-border);box-shadow:0 4px 18px rgba(0,0,0,0.05);position:relative;overflow:hidden;}
@media(min-width:768px){.first-point{flex-direction:row;align-items:flex-start;gap:2rem;padding:2.5rem 2rem;}.first-point.rev{flex-direction:row-reverse;}}
.fp-num{font-family:'Noto Serif JP',serif;font-size:4rem;font-weight:700;color:var(--orange);opacity:0.1;position:absolute;top:0.3rem;right:1rem;line-height:1;pointer-events:none;}
.fp-icon{flex-shrink:0;width:68px;height:68px;background:var(--orange-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;border:3px solid var(--orange);margin:0 auto;}
@media(min-width:768px){.fp-icon{margin:0;}}
.fp-body{flex:1;}
.fp-label{display:inline-block;background:var(--orange);color:#fff;font-size:0.65rem;font-weight:700;letter-spacing:0.12em;padding:0.18rem 0.75rem;border-radius:2px;margin-bottom:0.5rem;}
.fp-title{font-family:'Noto Serif JP',serif;font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:0.6rem;line-height:1.4;}
.fp-text{font-size:0.84rem;color:var(--text-mid);line-height:2;}
.fp-text strong{color:var(--text);font-weight:700;}
.checklist{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:0.5rem;}
.checklist li{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.83rem;color:var(--text-mid);line-height:1.7;}
.checklist li::before{content:'✓';color:var(--orange);font-weight:900;flex-shrink:0;margin-top:0.05rem;}
.info-box{background:var(--orange-pale);border:1.5px solid var(--orange);border-radius:6px;padding:1.2rem 1.4rem;margin-top:1rem;}
.info-box-title{font-size:0.82rem;font-weight:900;color:var(--orange);margin-bottom:0.5rem;}
.info-box p{font-size:0.8rem;color:var(--text-mid);line-height:1.9;}
.cta-bar{background:linear-gradient(135deg,#1a3d25,#0d1f12);border-radius:8px;padding:2.5rem 1.5rem;text-align:center;margin-top:1rem;}
.cta-bar h3{font-family:'Noto Serif JP',serif;font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:0.6rem;line-height:1.5;}
.cta-bar p{font-size:0.84rem;color:rgba(255,255,255,0.7);margin-bottom:1.5rem;line-height:1.9;}
.cta-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn-main{background:var(--orange);color:#fff;padding:0.9rem 1.8rem;font-size:0.9rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;display:inline-block;}
.btn-tel{background:transparent;color:#fff;padding:0.9rem 1.5rem;font-size:0.9rem;font-weight:900;border:2px solid rgba(255,255,255,0.5);border-radius:3px;display:inline-flex;align-items:center;gap:0.4rem;}
footer{background:#1a1a1a;color:rgba(255,255,255,0.42);padding:2rem 1.2rem 1.5rem;font-size:0.75rem;line-height:1.9;}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-logo{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:0.4rem;}
.footer-links{display:flex;gap:0.8rem;flex-wrap:wrap;}
.footer-links a{color:rgba(255,255,255,0.38);font-size:0.7rem;}
.footer-copy{max-width:1100px;margin:0 auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07);text-align:center;font-size:0.66rem;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.visible{opacity:1;transform:none;}



/* ============ reasons.html 固有CSS ============ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;color:#333;background:#fff;line-height:1.8;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
:root{--orange:#e05a00;--orange-lt:#f07020;--orange-pale:#fff4ec;--navy:#1a3a5c;--gray-bg:#f7f7f7;--gray-border:#e0e0e0;--text:#333;--text-mid:#555;--text-light:#777;}
header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:0 1.2rem;height:58px;display:flex;align-items:center;justify-content:space-between;}
.hd-logo{display:flex;align-items:center;gap:8px;}
.hd-logo-mark{width:36px;height:36px;background:var(--orange);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:900;flex-shrink:0;}
.hd-logo-text .en{font-size:1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;display:block;}
.hd-logo-text .jp{font-size:0.58rem;color:var(--text-light);display:block;}
.hd-right{display:flex;align-items:center;gap:0.8rem;}
.hamburger{width:38px;height:38px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;-webkit-tap-highlight-color:transparent;}
.hamburger span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all 0.3s ease;}
.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);}
.hd-tel-sp{display:flex;align-items:center;gap:4px;font-size:0.72rem;font-weight:900;color:var(--orange);border:1.5px solid var(--orange);border-radius:3px;padding:0.4rem 0.6rem;white-space:nowrap;}
.drawer{position:fixed;top:58px;right:0;bottom:0;width:min(280px,80vw);background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,0.15);z-index:190;transform:translateX(100%);transition:transform 0.3s ease;overflow-y:auto;display:flex;flex-direction:column;}
.drawer.open{transform:translateX(0);}
.drawer-nav{padding:1.5rem 0;flex:1;}
.drawer-nav a{display:block;padding:1rem 1.5rem;font-size:0.92rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--gray-border);transition:background 0.15s,color 0.15s;}
.drawer-nav a:hover,.drawer-nav a.active{background:var(--orange-pale);color:var(--orange);}
.drawer-cta{padding:1.2rem 1.5rem;background:var(--gray-bg);}
.drawer-tel{text-align:center;margin-bottom:0.8rem;}
.drawer-tel .label{font-size:0.65rem;color:var(--text-light);}
.drawer-tel a{font-size:1.6rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1.2;}
.drawer-tel .time{font-size:0.65rem;color:var(--text-light);}
.drawer-btn{display:block;background:var(--orange);color:#fff;text-align:center;padding:0.9rem;font-size:0.88rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:180;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.overlay.open{opacity:1;pointer-events:auto;}
.pc-nav{display:none;}.hd-tel-pc{display:none;}.hd-cta-pc{display:none;}
@media(min-width:900px){
  header{height:66px;}.hd-tel-sp{display:none;}.hamburger{display:none;}
  .pc-nav{display:flex;gap:0;}
  .pc-nav a{font-size:0.72rem;font-weight:700;color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;white-space:nowrap;transition:color 0.15s,background 0.15s;}
  .pc-nav a:hover,.pc-nav a.active{color:var(--orange);background:var(--orange-pale);}
  .hd-tel-pc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}
  .hd-tel-pc .label{font-size:0.6rem;color:var(--text-light);}
  .hd-tel-pc .num{font-size:1.1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;}
  .hd-cta-pc{display:block;background:var(--orange);color:#fff;padding:0.5rem 1.1rem;font-size:0.78rem;font-weight:900;border-radius:3px;white-space:nowrap;}
}
.page-hero{background:linear-gradient(135deg,#0d1f12,#1a3d25);padding:3rem 1.2rem;text-align:center;}
.page-hero-en{font-size:0.65rem;letter-spacing:0.35em;color:rgba(255,255,255,0.4);text-transform:uppercase;margin-bottom:0.4rem;}
.page-hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.6rem,5vw,2.5rem);font-weight:700;color:#fff;margin-bottom:0.5rem;}
.page-hero-sub{font-size:0.86rem;color:rgba(255,255,255,0.65);line-height:1.9;}
.breadcrumb{background:var(--gray-bg);padding:0.7rem 1.2rem;font-size:0.72rem;color:var(--text-light);}
.breadcrumb a{color:var(--orange);}
.breadcrumb span{margin:0 0.4rem;}
.reason-intro-sec{background:var(--gray-bg);padding:3.5rem 1.2rem;}
@media(min-width:768px){.reason-intro-sec{padding:4rem 2rem;}}
.si{max-width:1100px;margin:0 auto;}
.sec-en{font-size:0.62rem;letter-spacing:0.35em;color:var(--orange);text-transform:uppercase;text-align:center;margin-bottom:0.25rem;font-weight:700;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.3rem,4vw,2.1rem);font-weight:700;text-align:center;line-height:1.4;margin-bottom:0.4rem;}
.sec-title .orn{color:var(--orange);}
.sec-bar{width:44px;height:4px;background:var(--orange);margin:0.6rem auto 1.5rem;border-radius:2px;}
.reason-intro{font-family:'Noto Serif JP',serif;font-size:clamp(0.95rem,2.5vw,1.2rem);font-weight:700;text-align:center;color:var(--text);line-height:1.8;margin-bottom:0.5rem;}
.reason-intro .orn{color:var(--orange);}
.reasons-list{display:flex;flex-direction:column;}
.reason-item{display:flex;flex-direction:column;}
@media(min-width:768px){.reason-item{flex-direction:row;min-height:320px;}.reason-item.rev{flex-direction:row-reverse;}}
.reason-visual{flex:0 0 42%;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;position:relative;overflow:hidden;min-height:180px;}
.reason-visual-inner{text-align:center;position:relative;z-index:1;}
.reason-big-icon{font-size:clamp(4rem,10vw,7rem);display:block;animation:iconbounce 3s ease-in-out infinite;}
@keyframes iconbounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.reason-visual-text{font-size:0.74rem;color:var(--text-light);margin-top:0.5rem;font-weight:700;}
.reason-visual::before{content:'';position:absolute;bottom:-40px;right:-40px;width:130px;height:130px;border-radius:50%;background:var(--orange);opacity:0.06;}
.reason-content{flex:1;padding:2rem 1.4rem;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--gray-border);position:relative;background:#fff;}
@media(min-width:768px){.reason-content{padding:2.5rem 2rem;}}
.reason-no{position:absolute;top:-0.5rem;right:1rem;font-family:'Noto Serif JP',serif;font-size:5rem;font-weight:700;color:rgba(224,90,0,0.07);line-height:1;pointer-events:none;}
.reason-label{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.65rem;font-weight:700;letter-spacing:0.15em;color:var(--orange);text-transform:uppercase;margin-bottom:0.5rem;}
.reason-label::before{content:'';width:16px;height:2px;background:var(--orange);}
.reason-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.05rem,3vw,1.45rem);font-weight:700;color:var(--text);line-height:1.4;margin-bottom:0.4rem;}
.reason-subtitle{font-size:0.83rem;color:var(--text-mid);margin-bottom:1rem;font-weight:700;}
.reason-body{font-size:0.84rem;color:var(--text-mid);line-height:2;}
.reason-body strong{color:var(--text);font-weight:700;}
.reason-checklist{list-style:none;margin-top:0.8rem;display:flex;flex-direction:column;gap:0.4rem;}
.reason-checklist li{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.82rem;color:var(--text-mid);line-height:1.7;}
.reason-checklist li::before{content:'✓';color:var(--orange);font-weight:900;flex-shrink:0;}
.cta-bar{background:linear-gradient(135deg,#1a3d25,#0d1f12);padding:3.5rem 1.5rem;text-align:center;}
.cta-bar h3{font-family:'Noto Serif JP',serif;font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:0.6rem;line-height:1.5;}
.cta-bar p{font-size:0.84rem;color:rgba(255,255,255,0.7);margin-bottom:1.5rem;line-height:1.9;}
.cta-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn-main{background:var(--orange);color:#fff;padding:0.9rem 1.8rem;font-size:0.9rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;display:inline-block;}
.btn-tel{background:transparent;color:#fff;padding:0.9rem 1.5rem;font-size:0.9rem;font-weight:900;border:2px solid rgba(255,255,255,0.5);border-radius:3px;display:inline-flex;align-items:center;gap:0.4rem;}
footer{background:#1a1a1a;color:rgba(255,255,255,0.42);padding:2rem 1.2rem 1.5rem;font-size:0.75rem;line-height:1.9;}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-logo{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:0.4rem;}
.footer-links{display:flex;gap:0.8rem;flex-wrap:wrap;}
.footer-links a{color:rgba(255,255,255,0.38);font-size:0.7rem;}
.footer-copy{max-width:1100px;margin:0 auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07);text-align:center;font-size:0.66rem;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.visible{opacity:1;transform:none;}
.reveal-r{opacity:0;transform:translateX(32px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal-r.visible{opacity:1;transform:none;}
.reveal-l{opacity:0;transform:translateX(-32px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal-l.visible{opacity:1;transform:none;}



/* ============ works.html 固有CSS ============ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{font-family:'Noto Sans JP',sans-serif;color:#333;background:#fff;line-height:1.8;overflow-x:hidden;}a{color:inherit;text-decoration:none;}
:root{--orange:#e05a00;--orange-pale:#fff4ec;--gray-bg:#f7f7f7;--gray-border:#e0e0e0;--text:#333;--text-mid:#555;--text-light:#777;}
header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:0 1.2rem;height:58px;display:flex;align-items:center;justify-content:space-between;}
.hd-logo{display:flex;align-items:center;gap:8px;}.hd-logo-mark{width:36px;height:36px;background:var(--orange);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:900;flex-shrink:0;}.hd-logo-text .en{font-size:1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;display:block;}.hd-logo-text .jp{font-size:0.58rem;color:var(--text-light);display:block;}
.hd-right{display:flex;align-items:center;gap:0.8rem;}
.hamburger{width:38px;height:38px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;-webkit-tap-highlight-color:transparent;}
.hamburger span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all 0.3s ease;}
.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);}
.hd-tel-sp{display:flex;align-items:center;gap:4px;font-size:0.72rem;font-weight:900;color:var(--orange);border:1.5px solid var(--orange);border-radius:3px;padding:0.4rem 0.6rem;white-space:nowrap;}
.drawer{position:fixed;top:58px;right:0;bottom:0;width:min(280px,80vw);background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,0.15);z-index:190;transform:translateX(100%);transition:transform 0.3s ease;overflow-y:auto;display:flex;flex-direction:column;}.drawer.open{transform:translateX(0);}
.drawer-nav{padding:1.5rem 0;flex:1;}.drawer-nav a{display:block;padding:1rem 1.5rem;font-size:0.92rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--gray-border);transition:background 0.15s,color 0.15s;}.drawer-nav a:hover,.drawer-nav a.active{background:var(--orange-pale);color:var(--orange);}
.drawer-cta{padding:1.2rem 1.5rem;background:var(--gray-bg);}.drawer-tel{text-align:center;margin-bottom:0.8rem;}.drawer-tel .label{font-size:0.65rem;color:var(--text-light);}.drawer-tel a{font-size:1.6rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1.2;}.drawer-tel .time{font-size:0.65rem;color:var(--text-light);}
.drawer-btn{display:block;background:var(--orange);color:#fff;text-align:center;padding:0.9rem;font-size:0.88rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:180;opacity:0;pointer-events:none;transition:opacity 0.3s;}.overlay.open{opacity:1;pointer-events:auto;}
.pc-nav{display:none;}.hd-tel-pc{display:none;}.hd-cta-pc{display:none;}
@media(min-width:900px){header{height:66px;}.hd-tel-sp{display:none;}.hamburger{display:none;}.pc-nav{display:flex;gap:0;}.pc-nav a{font-size:0.72rem;font-weight:700;color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;white-space:nowrap;transition:color 0.15s,background 0.15s;}.pc-nav a:hover,.pc-nav a.active{color:var(--orange);background:var(--orange-pale);}.hd-tel-pc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}.hd-tel-pc .label{font-size:0.6rem;color:var(--text-light);}.hd-tel-pc .num{font-size:1.1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;}.hd-cta-pc{display:block;background:var(--orange);color:#fff;padding:0.5rem 1.1rem;font-size:0.78rem;font-weight:900;border-radius:3px;white-space:nowrap;}}
.page-hero{background:linear-gradient(135deg,#0d1f12,#1a3d25);padding:3rem 1.2rem;text-align:center;}
.page-hero-en{font-size:0.65rem;letter-spacing:0.35em;color:rgba(255,255,255,0.4);text-transform:uppercase;margin-bottom:0.4rem;}
.page-hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.6rem,5vw,2.5rem);font-weight:700;color:#fff;margin-bottom:0.5rem;}
.page-hero-sub{font-size:0.86rem;color:rgba(255,255,255,0.65);line-height:1.9;}
.breadcrumb{background:var(--gray-bg);padding:0.7rem 1.2rem;font-size:0.72rem;color:var(--text-light);}.breadcrumb a{color:var(--orange);}.breadcrumb span{margin:0 0.4rem;}
section{padding:3.5rem 1.2rem;}@media(min-width:768px){section{padding:4.5rem 2rem;}}
.si{max-width:1100px;margin:0 auto;}
.sec-en{font-size:0.62rem;letter-spacing:0.35em;color:var(--orange);text-transform:uppercase;text-align:center;margin-bottom:0.25rem;font-weight:700;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.3rem,4vw,2.1rem);font-weight:700;text-align:center;line-height:1.4;margin-bottom:0.4rem;}
.sec-title .orn{color:var(--orange);}
.sec-bar{width:44px;height:4px;background:var(--orange);margin:0.6rem auto 1.5rem;border-radius:2px;}
.sec-desc{text-align:center;font-size:0.87rem;color:var(--text-mid);line-height:2;margin-bottom:2rem;}
.filter-tabs{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:2rem;}
.filter-tab{padding:0.42rem 0.9rem;font-size:0.76rem;font-weight:700;border:1.5px solid var(--gray-border);border-radius:20px;cursor:pointer;transition:all 0.15s;background:#fff;color:var(--text-mid);-webkit-tap-highlight-color:transparent;}
.filter-tab.active,.filter-tab:hover{background:var(--orange);color:#fff;border-color:var(--orange);}
.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
@media(min-width:600px){.works-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:960px){.works-grid{grid-template-columns:repeat(4,1fr);gap:1.2rem;}}
.work-card{background:#fff;border-radius:8px;border:1px solid var(--gray-border);overflow:hidden;display:block;transition:transform 0.2s,box-shadow 0.2s;cursor:pointer;}
.work-card:hover{transform:translateY(-4px);box-shadow:0 8px 22px rgba(0,0,0,0.1);}
.work-thumb{height:130px;background:linear-gradient(135deg,#1a3d25,#2D6E50);display:flex;align-items:center;justify-content:center;font-size:3rem;position:relative;overflow:hidden;}
@media(min-width:600px){.work-thumb{height:150px;}}
.work-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.work-cat{position:absolute;top:0.4rem;left:0.4rem;background:var(--orange);color:#fff;font-size:0.58rem;font-weight:700;padding:0.18rem 0.55rem;border-radius:2px;z-index:1;}
.work-thumb::after{content:'詳しく見る →';position:absolute;bottom:0;left:0;right:0;background:rgba(224,90,0,0.88);color:#fff;font-size:0.65rem;font-weight:700;letter-spacing:0.08em;text-align:center;padding:0.32rem;transform:translateY(100%);transition:transform 0.2s;}
.work-card:hover .work-thumb::after{transform:translateY(0);}
.work-info{padding:0.9rem 0.85rem;}
.work-area{font-size:0.66rem;color:var(--text-light);margin-bottom:0.2rem;}
.work-title{font-size:0.84rem;font-weight:700;color:var(--text);line-height:1.45;margin-bottom:0.25rem;}
.work-period{font-size:0.68rem;color:var(--text-mid);}
.cta-bar{background:linear-gradient(135deg,#1a3d25,#0d1f12);padding:3.5rem 1.5rem;text-align:center;}
.cta-bar h3{font-family:'Noto Serif JP',serif;font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:0.6rem;line-height:1.5;}
.cta-bar p{font-size:0.84rem;color:rgba(255,255,255,0.7);margin-bottom:1.5rem;line-height:1.9;}
.cta-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn-main{background:var(--orange);color:#fff;padding:0.9rem 1.8rem;font-size:0.9rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;display:inline-block;}
.btn-tel{background:transparent;color:#fff;padding:0.9rem 1.5rem;font-size:0.9rem;font-weight:900;border:2px solid rgba(255,255,255,0.5);border-radius:3px;display:inline-flex;align-items:center;gap:0.4rem;}
footer{background:#1a1a1a;color:rgba(255,255,255,0.42);padding:2rem 1.2rem 1.5rem;font-size:0.75rem;line-height:1.9;}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-logo{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:0.4rem;}
.footer-links{display:flex;gap:0.8rem;flex-wrap:wrap;}.footer-links a{color:rgba(255,255,255,0.38);font-size:0.7rem;}
.footer-copy{max-width:1100px;margin:0 auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07);text-align:center;font-size:0.66rem;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}.reveal.visible{opacity:1;transform:none;}
.d1{transition-delay:0.06s!important;}.d2{transition-delay:0.12s!important;}.d3{transition-delay:0.18s!important;}.d4{transition-delay:0.24s!important;}



/* ============ work-detail.html 固有CSS ============ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{font-family:'Noto Sans JP',sans-serif;color:#333;background:#fff;line-height:1.8;overflow-x:hidden;}a{color:inherit;text-decoration:none;}
:root{--orange:#e05a00;--orange-pale:#fff4ec;--gray-bg:#f7f7f7;--gray-border:#e0e0e0;--text:#333;--text-mid:#555;--text-light:#777;}
header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:0 1.2rem;height:58px;display:flex;align-items:center;justify-content:space-between;}
.hd-logo{display:flex;align-items:center;gap:8px;}.hd-logo-mark{width:36px;height:36px;background:var(--orange);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:900;flex-shrink:0;}.hd-logo-text .en{font-size:1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;display:block;}.hd-logo-text .jp{font-size:0.58rem;color:var(--text-light);display:block;}
.hd-right{display:flex;align-items:center;gap:0.8rem;}
.hamburger{width:38px;height:38px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;-webkit-tap-highlight-color:transparent;}
.hamburger span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all 0.3s ease;}
.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);}
.hd-tel-sp{display:flex;align-items:center;gap:4px;font-size:0.72rem;font-weight:900;color:var(--orange);border:1.5px solid var(--orange);border-radius:3px;padding:0.4rem 0.6rem;white-space:nowrap;}
.drawer{position:fixed;top:58px;right:0;bottom:0;width:min(280px,80vw);background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,0.15);z-index:190;transform:translateX(100%);transition:transform 0.3s ease;overflow-y:auto;display:flex;flex-direction:column;}.drawer.open{transform:translateX(0);}
.drawer-nav{padding:1.5rem 0;flex:1;}.drawer-nav a{display:block;padding:1rem 1.5rem;font-size:0.92rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--gray-border);transition:background 0.15s,color 0.15s;}.drawer-nav a:hover,.drawer-nav a.active{background:var(--orange-pale);color:var(--orange);}
.drawer-cta{padding:1.2rem 1.5rem;background:var(--gray-bg);}.drawer-tel{text-align:center;margin-bottom:0.8rem;}.drawer-tel .label{font-size:0.65rem;color:var(--text-light);}.drawer-tel a{font-size:1.6rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1.2;}.drawer-tel .time{font-size:0.65rem;color:var(--text-light);}
.drawer-btn{display:block;background:var(--orange);color:#fff;text-align:center;padding:0.9rem;font-size:0.88rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:180;opacity:0;pointer-events:none;transition:opacity 0.3s;}.overlay.open{opacity:1;pointer-events:auto;}
.pc-nav{display:none;}.hd-tel-pc{display:none;}.hd-cta-pc{display:none;}
@media(min-width:900px){header{height:66px;}.hd-tel-sp{display:none;}.hamburger{display:none;}.pc-nav{display:flex;gap:0;}.pc-nav a{font-size:0.72rem;font-weight:700;color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;white-space:nowrap;transition:color 0.15s,background 0.15s;}.pc-nav a:hover,.pc-nav a.active{color:var(--orange);background:var(--orange-pale);}.hd-tel-pc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}.hd-tel-pc .label{font-size:0.6rem;color:var(--text-light);}.hd-tel-pc .num{font-size:1.1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;}.hd-cta-pc{display:block;background:var(--orange);color:#fff;padding:0.5rem 1.1rem;font-size:0.78rem;font-weight:900;border-radius:3px;white-space:nowrap;}}
.breadcrumb{background:var(--gray-bg);padding:0.7rem 1.2rem;font-size:0.72rem;color:var(--text-light);}.breadcrumb a{color:var(--orange);}.breadcrumb span{margin:0 0.4rem;}

/* ===== 詳細ページ ===== */
.detail-wrap{max-width:860px;margin:0 auto;padding:2.5rem 1.2rem 4rem;}
@media(min-width:768px){.detail-wrap{padding:3.5rem 2rem 5rem;}}
.detail-cat{display:inline-block;background:var(--orange);color:#fff;font-size:0.68rem;font-weight:700;padding:0.22rem 0.8rem;border-radius:2px;letter-spacing:0.1em;margin-bottom:0.6rem;}
.detail-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.3rem,4vw,1.9rem);font-weight:700;color:var(--text);line-height:1.4;margin-bottom:1.4rem;}

/* ===== ビフォーアフタースライダー ===== */
.ba-wrap{
  position:relative;width:100%;aspect-ratio:16/9;
  border-radius:8px;overflow:hidden;
  margin-bottom:1.8rem;
  cursor:ew-resize;
  user-select:none;-webkit-user-select:none;
  touch-action:none;
}
/* BEFORE側（左・グレー背景） */
.ba-before{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#2a2a2a,#444);
  display:flex;align-items:center;justify-content:center;
  font-size:5rem;
}
.ba-before img{width:100%;height:100%;object-fit:cover;}
/* AFTER側（右・グリーン背景）：clipで左から開く */
.ba-after{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#1a3d25,#2D6E50);
  display:flex;align-items:center;justify-content:center;
  font-size:5rem;
  clip-path:inset(0 50% 0 0);
  transition:clip-path 0.05s linear;
}
.ba-after img{width:100%;height:100%;object-fit:cover;}
/* ラベル */
.ba-label{
  position:absolute;top:0.7rem;
  padding:0.22rem 0.8rem;border-radius:2px;
  font-size:0.7rem;font-weight:900;letter-spacing:0.12em;
  z-index:10;pointer-events:none;
}
.ba-label.before{left:0.7rem;background:rgba(0,0,0,0.6);color:#fff;}
.ba-label.after{right:0.7rem;background:var(--orange);color:#fff;}
/* ドラッグハンドル */
.ba-handle{
  position:absolute;top:0;bottom:0;
  left:50%;transform:translateX(-50%);
  width:44px;z-index:20;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
}
.ba-handle-line{width:3px;height:100%;background:#fff;box-shadow:0 0 8px rgba(0,0,0,0.4);}
.ba-handle-circle{
  position:absolute;
  width:44px;height:44px;border-radius:50%;
  background:var(--orange);border:3px solid #fff;
  box-shadow:0 2px 12px rgba(0,0,0,0.35);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1rem;letter-spacing:-2px;font-weight:900;
}
/* 操作ヒント */
.ba-hint{
  text-align:center;font-size:0.72rem;color:var(--text-light);
  margin-bottom:1.5rem;
  animation:fadeout 3s 2s forwards;
}
@keyframes fadeout{0%{opacity:1;}100%{opacity:0;height:0;margin:0;overflow:hidden;}}

/* 概要テーブル（費用なし） */
.detail-table{width:100%;border-collapse:collapse;font-size:0.84rem;margin-bottom:1.5rem;}
.detail-table tr{border-bottom:1px solid var(--gray-border);}
.detail-table th{width:30%;padding:0.7rem 0.8rem;background:var(--gray-bg);font-weight:700;font-size:0.78rem;vertical-align:top;text-align:left;color:var(--text);}
.detail-table td{padding:0.7rem 0.8rem;color:var(--text-mid);}

/* 本文 */
.detail-body{font-size:0.88rem;color:var(--text-mid);line-height:2.1;margin-bottom:1.8rem;}
.detail-body p{margin-bottom:0.8rem;}
.detail-body strong{color:var(--text);font-weight:700;}

/* ポイントリスト */
.detail-points{list-style:none;display:flex;flex-direction:column;gap:0.5rem;margin-bottom:2rem;}
.detail-points li{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.85rem;color:var(--text-mid);line-height:1.7;padding:0.6rem 0.8rem;background:var(--gray-bg);border-radius:4px;}
.detail-points li::before{content:'✓';color:var(--orange);font-weight:900;flex-shrink:0;margin-top:0.1rem;}

/* 戻るボタン */
.back-btn{display:inline-flex;align-items:center;gap:0.4rem;color:var(--orange);font-size:0.82rem;font-weight:700;border:1.5px solid var(--orange);padding:0.55rem 1.2rem;border-radius:3px;margin-bottom:2rem;transition:background 0.15s,color 0.15s;}
.back-btn:hover{background:var(--orange);color:#fff;}

/* CTA */
.detail-cta{background:linear-gradient(135deg,#1a3d25,#0d1f12);border-radius:8px;padding:2rem 1.5rem;text-align:center;}
.detail-cta h3{font-family:'Noto Serif JP',serif;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:0.6rem;line-height:1.5;}
.detail-cta p{font-size:0.84rem;color:rgba(255,255,255,0.7);margin-bottom:1.3rem;}
.cta-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn-main{background:var(--orange);color:#fff;padding:0.9rem 1.8rem;font-size:0.9rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;display:inline-block;}
.btn-tel{background:transparent;color:#fff;padding:0.9rem 1.5rem;font-size:0.9rem;font-weight:900;border:2px solid rgba(255,255,255,0.5);border-radius:3px;display:inline-flex;align-items:center;gap:0.4rem;}
footer{background:#1a1a1a;color:rgba(255,255,255,0.42);padding:2rem 1.2rem 1.5rem;font-size:0.75rem;line-height:1.9;}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-logo{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:0.4rem;}
.footer-links{display:flex;gap:0.8rem;flex-wrap:wrap;}.footer-links a{color:rgba(255,255,255,0.38);font-size:0.7rem;}
.footer-copy{max-width:1100px;margin:0 auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07);text-align:center;font-size:0.66rem;}



/* ============ price.html 固有CSS ============ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{font-family:'Noto Sans JP',sans-serif;color:#333;background:#fff;line-height:1.8;overflow-x:hidden;}a{color:inherit;text-decoration:none;}
:root{--orange:#e05a00;--orange-pale:#fff4ec;--navy:#1a3a5c;--gray-bg:#f7f7f7;--gray-border:#e0e0e0;--text:#333;--text-mid:#555;--text-light:#777;}
header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:0 1.2rem;height:58px;display:flex;align-items:center;justify-content:space-between;}
.hd-logo{display:flex;align-items:center;gap:8px;}.hd-logo-mark{width:36px;height:36px;background:var(--orange);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:900;flex-shrink:0;}.hd-logo-text .en{font-size:1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;display:block;}.hd-logo-text .jp{font-size:0.58rem;color:var(--text-light);display:block;}
.hd-right{display:flex;align-items:center;gap:0.8rem;}
.hamburger{width:38px;height:38px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;-webkit-tap-highlight-color:transparent;}
.hamburger span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all 0.3s ease;}
.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);}
.hd-tel-sp{display:flex;align-items:center;gap:4px;font-size:0.72rem;font-weight:900;color:var(--orange);border:1.5px solid var(--orange);border-radius:3px;padding:0.4rem 0.6rem;white-space:nowrap;}
.drawer{position:fixed;top:58px;right:0;bottom:0;width:min(280px,80vw);background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,0.15);z-index:190;transform:translateX(100%);transition:transform 0.3s ease;overflow-y:auto;display:flex;flex-direction:column;}.drawer.open{transform:translateX(0);}
.drawer-nav{padding:1.5rem 0;flex:1;}.drawer-nav a{display:block;padding:1rem 1.5rem;font-size:0.92rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--gray-border);transition:background 0.15s,color 0.15s;}.drawer-nav a:hover,.drawer-nav a.active{background:var(--orange-pale);color:var(--orange);}
.drawer-cta{padding:1.2rem 1.5rem;background:var(--gray-bg);}.drawer-tel{text-align:center;margin-bottom:0.8rem;}.drawer-tel .label{font-size:0.65rem;color:var(--text-light);}.drawer-tel a{font-size:1.6rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1.2;}.drawer-tel .time{font-size:0.65rem;color:var(--text-light);}
.drawer-btn{display:block;background:var(--orange);color:#fff;text-align:center;padding:0.9rem;font-size:0.88rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:180;opacity:0;pointer-events:none;transition:opacity 0.3s;}.overlay.open{opacity:1;pointer-events:auto;}
.pc-nav{display:none;}.hd-tel-pc{display:none;}.hd-cta-pc{display:none;}
@media(min-width:900px){header{height:66px;}.hd-tel-sp{display:none;}.hamburger{display:none;}.pc-nav{display:flex;gap:0;}.pc-nav a{font-size:0.72rem;font-weight:700;color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;white-space:nowrap;transition:color 0.15s,background 0.15s;}.pc-nav a:hover,.pc-nav a.active{color:var(--orange);background:var(--orange-pale);}.hd-tel-pc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}.hd-tel-pc .label{font-size:0.6rem;color:var(--text-light);}.hd-tel-pc .num{font-size:1.1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;}.hd-cta-pc{display:block;background:var(--orange);color:#fff;padding:0.5rem 1.1rem;font-size:0.78rem;font-weight:900;border-radius:3px;white-space:nowrap;}}
.page-hero{background:linear-gradient(135deg,#0d1f12,#1a3d25);padding:3rem 1.2rem;text-align:center;}
.page-hero-en{font-size:0.65rem;letter-spacing:0.35em;color:rgba(255,255,255,0.4);text-transform:uppercase;margin-bottom:0.4rem;}
.page-hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.6rem,5vw,2.5rem);font-weight:700;color:#fff;margin-bottom:0.5rem;}
.page-hero-sub{font-size:0.86rem;color:rgba(255,255,255,0.65);line-height:1.9;}
.breadcrumb{background:var(--gray-bg);padding:0.7rem 1.2rem;font-size:0.72rem;color:var(--text-light);}.breadcrumb a{color:var(--orange);}.breadcrumb span{margin:0 0.4rem;}
section{padding:3.5rem 1.2rem;}@media(min-width:768px){section{padding:5rem 2rem;}}
.si{max-width:960px;margin:0 auto;}
.sec-en{font-size:0.62rem;letter-spacing:0.35em;color:var(--orange);text-transform:uppercase;text-align:center;margin-bottom:0.25rem;font-weight:700;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.3rem,4vw,2.1rem);font-weight:700;text-align:center;line-height:1.4;margin-bottom:0.4rem;}
.sec-title .orn{color:var(--orange);}
.sec-bar{width:44px;height:4px;background:var(--orange);margin:0.6rem auto 1.5rem;border-radius:2px;}
.sec-desc{text-align:center;font-size:0.87rem;color:var(--text-mid);line-height:2;margin-bottom:2rem;}

/* メインサービスバナー */
.main-banner{background:var(--navy);border-radius:8px;padding:1.5rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.main-banner-icon{font-size:2.2rem;flex-shrink:0;}
.main-banner-text{flex:1;}
.main-banner-label{font-size:0.65rem;color:rgba(255,255,255,0.45);letter-spacing:0.18em;margin-bottom:0.2rem;}
.main-banner-title{font-family:'Noto Serif JP',serif;font-size:1.1rem;font-weight:700;color:#fff;line-height:1.4;}
.main-banner-sub{font-size:0.78rem;color:rgba(255,255,255,0.65);margin-top:0.2rem;}

/* 料金カード */
.price-cards{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;}
.price-card{background:#fff;border-radius:8px;border:1px solid var(--gray-border);overflow:hidden;}
.price-card-head{background:var(--navy);color:#fff;padding:0.85rem 1.2rem;display:flex;align-items:center;gap:0.6rem;}
.price-card-icon{font-size:1.2rem;flex-shrink:0;}
.price-card-name{font-size:0.95rem;font-weight:700;flex:1;}
.price-card-tag{font-size:0.62rem;background:var(--orange);padding:0.18rem 0.6rem;border-radius:2px;font-weight:700;letter-spacing:0.08em;white-space:nowrap;}
.price-card-body{padding:1rem 1.2rem;}
.price-row{display:flex;justify-content:space-between;align-items:baseline;padding:0.5rem 0;border-bottom:1px solid var(--gray-border);gap:0.5rem;flex-wrap:wrap;}
.price-row:last-child{border-bottom:none;}
.price-row-label{font-size:0.8rem;color:var(--text-mid);}
.price-row-val{font-size:0.88rem;font-weight:700;color:var(--orange);text-align:right;}
.price-row-note{font-size:0.7rem;color:var(--text-light);text-align:right;width:100%;}

/* 小規模解体アピールボックス */
.small-appeal{background:var(--orange-pale);border:2px solid var(--orange);border-radius:8px;padding:1.4rem 1.5rem;margin-bottom:2rem;}
.small-appeal-title{font-size:1rem;font-weight:900;color:var(--orange);margin-bottom:0.7rem;display:flex;align-items:center;gap:0.5rem;}
.small-appeal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;}
@media(min-width:600px){.small-appeal-grid{grid-template-columns:repeat(3,1fr);}}
.small-item{background:#fff;border-radius:5px;padding:0.8rem 0.9rem;border-left:3px solid var(--orange);}
.small-item-icon{font-size:1.3rem;display:block;margin-bottom:0.25rem;}
.small-item-name{font-size:0.82rem;font-weight:700;color:var(--text);}
.small-item-note{font-size:0.72rem;color:var(--text-light);line-height:1.6;}

/* 他工事相場 サブカード */
.sub-cards{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;margin-bottom:1.5rem;}
@media(min-width:600px){.sub-cards{grid-template-columns:repeat(3,1fr);}}
.sub-card{background:#fff;border-radius:6px;border:1px solid var(--gray-border);padding:1rem;}
.sub-card-head{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.6rem;}
.sub-card-icon{font-size:1.3rem;}
.sub-card-name{font-size:0.82rem;font-weight:700;color:var(--text);}
.sub-price-row{font-size:0.78rem;color:var(--text-mid);display:flex;justify-content:space-between;padding:0.28rem 0;border-bottom:1px dashed var(--gray-border);}
.sub-price-row:last-child{border-bottom:none;}
.sub-price-val{font-weight:700;color:var(--orange);font-size:0.8rem;}

/* 注意事項 */
.price-note{background:var(--gray-bg);border-left:4px solid var(--orange);border-radius:5px;padding:1rem 1.2rem;font-size:0.8rem;color:var(--text-mid);line-height:1.9;margin-bottom:1.5rem;}
.price-note strong{color:var(--orange);}
.add-costs{background:var(--gray-bg);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;}
.add-costs-title{font-family:'Noto Serif JP',serif;font-size:1rem;font-weight:700;color:var(--text);margin-bottom:1rem;}
.add-cost-list{display:flex;flex-direction:column;gap:0.5rem;}
.add-cost-item{display:flex;align-items:flex-start;gap:0.8rem;font-size:0.82rem;color:var(--text-mid);line-height:1.7;padding:0.7rem;background:#fff;border-radius:5px;}
.add-cost-item .ic{font-size:1.1rem;flex-shrink:0;}
.subsidy-box{background:#fff;border:2px solid var(--orange);border-radius:8px;padding:1.4rem 1.5rem;margin-bottom:1.5rem;}
.subsidy-title{font-size:0.95rem;font-weight:900;color:var(--orange);margin-bottom:0.5rem;}
.subsidy-body{font-size:0.83rem;color:var(--text-mid);line-height:1.9;}

/* その他サービス 大カード */
.srv-cards{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:1.5rem;}
.srv-card{background:#fff;border-radius:10px;border:1px solid var(--gray-border);overflow:hidden;box-shadow:0 3px 14px rgba(0,0,0,0.06);}
.srv-card-head{background:var(--navy);padding:1.1rem 1.3rem;display:flex;align-items:center;gap:1rem;}
.srv-card-icon{font-size:2rem;flex-shrink:0;line-height:1;}
.srv-card-en{font-size:0.6rem;color:rgba(255,255,255,0.4);letter-spacing:0.2em;margin-bottom:0.15rem;}
.srv-card-name{font-family:'Noto Serif JP',serif;font-size:1.1rem;font-weight:700;color:#fff;}
.srv-card-desc{padding:1rem 1.3rem 0.8rem;font-size:0.84rem;color:var(--text-mid);line-height:1.9;border-bottom:1px solid var(--gray-border);}
.srv-price-list{padding:0.8rem 1.3rem;}
.srv-price-item{display:flex;justify-content:space-between;align-items:baseline;padding:0.5rem 0;border-bottom:1px dashed var(--gray-border);gap:0.5rem;flex-wrap:wrap;}
.srv-price-item:last-child{border-bottom:none;}
.srv-price-label{font-size:0.82rem;color:var(--text-mid);}
.srv-price-val{font-size:0.9rem;font-weight:700;color:var(--orange);text-align:right;white-space:nowrap;}
@media(min-width:768px){.srv-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}}

/* CTA */
.cta-bar{background:linear-gradient(135deg,#1a3d25,#0d1f12);padding:3.5rem 1.5rem;text-align:center;}
.cta-bar h3{font-family:'Noto Serif JP',serif;font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:0.6rem;line-height:1.5;}
.cta-bar p{font-size:0.84rem;color:rgba(255,255,255,0.7);margin-bottom:1.5rem;line-height:1.9;}
.cta-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn-main{background:var(--orange);color:#fff;padding:0.9rem 1.8rem;font-size:0.9rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;display:inline-block;}
.btn-tel{background:transparent;color:#fff;padding:0.9rem 1.5rem;font-size:0.9rem;font-weight:900;border:2px solid rgba(255,255,255,0.5);border-radius:3px;display:inline-flex;align-items:center;gap:0.4rem;}
footer{background:#1a1a1a;color:rgba(255,255,255,0.42);padding:2rem 1.2rem 1.5rem;font-size:0.75rem;line-height:1.9;}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-logo{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:0.4rem;}
.footer-links{display:flex;gap:0.8rem;flex-wrap:wrap;}.footer-links a{color:rgba(255,255,255,0.38);font-size:0.7rem;}
.footer-copy{max-width:1100px;margin:0 auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07);text-align:center;font-size:0.66rem;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}.reveal.visible{opacity:1;transform:none;}
.d1{transition-delay:0.08s!important;}.d2{transition-delay:0.16s!important;}.d3{transition-delay:0.24s!important;}.d4{transition-delay:0.32s!important;}



/* ============ flow.html 固有CSS ============ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{font-family:'Noto Sans JP',sans-serif;color:#333;background:#fff;line-height:1.8;overflow-x:hidden;}a{color:inherit;text-decoration:none;}
:root{--orange:#e05a00;--orange-pale:#fff4ec;--gray-bg:#f7f7f7;--gray-border:#e0e0e0;--text:#333;--text-mid:#555;--text-light:#777;}
header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:0 1.2rem;height:58px;display:flex;align-items:center;justify-content:space-between;}
.hd-logo{display:flex;align-items:center;gap:8px;}.hd-logo-mark{width:36px;height:36px;background:var(--orange);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:900;flex-shrink:0;}.hd-logo-text .en{font-size:1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;display:block;}.hd-logo-text .jp{font-size:0.58rem;color:var(--text-light);display:block;}
.hd-right{display:flex;align-items:center;gap:0.8rem;}
.hamburger{width:38px;height:38px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;-webkit-tap-highlight-color:transparent;}
.hamburger span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all 0.3s ease;}
.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);}
.hd-tel-sp{display:flex;align-items:center;gap:4px;font-size:0.72rem;font-weight:900;color:var(--orange);border:1.5px solid var(--orange);border-radius:3px;padding:0.4rem 0.6rem;white-space:nowrap;}
.drawer{position:fixed;top:58px;right:0;bottom:0;width:min(280px,80vw);background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,0.15);z-index:190;transform:translateX(100%);transition:transform 0.3s ease;overflow-y:auto;display:flex;flex-direction:column;}.drawer.open{transform:translateX(0);}
.drawer-nav{padding:1.5rem 0;flex:1;}.drawer-nav a{display:block;padding:1rem 1.5rem;font-size:0.92rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--gray-border);transition:background 0.15s,color 0.15s;}.drawer-nav a:hover,.drawer-nav a.active{background:var(--orange-pale);color:var(--orange);}
.drawer-cta{padding:1.2rem 1.5rem;background:var(--gray-bg);}.drawer-tel{text-align:center;margin-bottom:0.8rem;}.drawer-tel .label{font-size:0.65rem;color:var(--text-light);}.drawer-tel a{font-size:1.6rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1.2;}.drawer-tel .time{font-size:0.65rem;color:var(--text-light);}
.drawer-btn{display:block;background:var(--orange);color:#fff;text-align:center;padding:0.9rem;font-size:0.88rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:180;opacity:0;pointer-events:none;transition:opacity 0.3s;}.overlay.open{opacity:1;pointer-events:auto;}
.pc-nav{display:none;}.hd-tel-pc{display:none;}.hd-cta-pc{display:none;}
@media(min-width:900px){header{height:66px;}.hd-tel-sp{display:none;}.hamburger{display:none;}.pc-nav{display:flex;gap:0;}.pc-nav a{font-size:0.72rem;font-weight:700;color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;white-space:nowrap;transition:color 0.15s,background 0.15s;}.pc-nav a:hover,.pc-nav a.active{color:var(--orange);background:var(--orange-pale);}.hd-tel-pc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}.hd-tel-pc .label{font-size:0.6rem;color:var(--text-light);}.hd-tel-pc .num{font-size:1.1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;}.hd-cta-pc{display:block;background:var(--orange);color:#fff;padding:0.5rem 1.1rem;font-size:0.78rem;font-weight:900;border-radius:3px;white-space:nowrap;}}
.page-hero{background:linear-gradient(135deg,#0d1f12,#1a3d25);padding:3rem 1.2rem;text-align:center;}
.page-hero-en{font-size:0.65rem;letter-spacing:0.35em;color:rgba(255,255,255,0.4);text-transform:uppercase;margin-bottom:0.4rem;}
.page-hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.6rem,5vw,2.5rem);font-weight:700;color:#fff;margin-bottom:0.5rem;}
.page-hero-sub{font-size:0.86rem;color:rgba(255,255,255,0.65);line-height:1.9;}
.breadcrumb{background:var(--gray-bg);padding:0.7rem 1.2rem;font-size:0.72rem;color:var(--text-light);}.breadcrumb a{color:var(--orange);}.breadcrumb span{margin:0 0.4rem;}
section{padding:3.5rem 1.2rem;}@media(min-width:768px){section{padding:5rem 2rem;}}
.si{max-width:800px;margin:0 auto;}
.sec-en{font-size:0.62rem;letter-spacing:0.35em;color:var(--orange);text-transform:uppercase;text-align:center;margin-bottom:0.25rem;font-weight:700;}
.sec-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.3rem,4vw,2.1rem);font-weight:700;text-align:center;line-height:1.4;margin-bottom:0.4rem;}
.sec-bar{width:44px;height:4px;background:var(--orange);margin:0.6rem auto 1.5rem;border-radius:2px;}
.sec-desc{text-align:center;font-size:0.87rem;color:var(--text-mid);line-height:2;margin-bottom:2.5rem;}
.flow-steps{display:flex;flex-direction:column;gap:0;}
.flow-item{display:flex;gap:1.2rem;position:relative;padding-bottom:2rem;}
.flow-item:last-child{padding-bottom:0;}
.flow-item:last-child .flow-line{display:none;}
.flow-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;}
.flow-circle{width:54px;height:54px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:900;flex-shrink:0;box-shadow:0 4px 12px rgba(224,90,0,0.3);z-index:1;}
.flow-line{width:2px;flex:1;background:linear-gradient(to bottom,var(--orange),rgba(224,90,0,0.15));margin:4px 0;min-height:30px;}
.flow-body{padding-top:0.6rem;flex:1;}
.flow-step-label{font-size:0.62rem;font-weight:700;color:var(--orange);letter-spacing:0.15em;margin-bottom:0.2rem;}
.flow-step-title{font-family:'Noto Serif JP',serif;font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:0.4rem;}
.flow-step-desc{font-size:0.83rem;color:var(--text-mid);line-height:1.9;}
.flow-step-desc strong{color:var(--text);font-weight:700;}
.flow-note{background:var(--orange-pale);border:1.5px solid var(--orange);border-radius:5px;padding:0.8rem 1rem;margin-top:0.7rem;font-size:0.78rem;color:var(--text-mid);line-height:1.8;}
.flow-note strong{color:var(--orange);}
.cta-bar{background:linear-gradient(135deg,#1a3d25,#0d1f12);padding:3.5rem 1.5rem;text-align:center;}
.cta-bar h3{font-family:'Noto Serif JP',serif;font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:0.6rem;line-height:1.5;}
.cta-bar p{font-size:0.84rem;color:rgba(255,255,255,0.7);margin-bottom:1.5rem;line-height:1.9;}
.cta-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn-main{background:var(--orange);color:#fff;padding:0.9rem 1.8rem;font-size:0.9rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;display:inline-block;}
.btn-tel{background:transparent;color:#fff;padding:0.9rem 1.5rem;font-size:0.9rem;font-weight:900;border:2px solid rgba(255,255,255,0.5);border-radius:3px;display:inline-flex;align-items:center;gap:0.4rem;}
footer{background:#1a1a1a;color:rgba(255,255,255,0.42);padding:2rem 1.2rem 1.5rem;font-size:0.75rem;line-height:1.9;}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-logo{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:0.4rem;}
.footer-links{display:flex;gap:0.8rem;flex-wrap:wrap;}.footer-links a{color:rgba(255,255,255,0.38);font-size:0.7rem;}
.footer-copy{max-width:1100px;margin:0 auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07);text-align:center;font-size:0.66rem;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}.reveal.visible{opacity:1;transform:none;}
.d1{transition-delay:0.08s!important;}.d2{transition-delay:0.16s!important;}.d3{transition-delay:0.24s!important;}.d4{transition-delay:0.32s!important;}.d5{transition-delay:0.4s!important;}



/* ============ contact.html 固有CSS ============ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;}body{font-family:'Noto Sans JP',sans-serif;color:#333;background:#fff;line-height:1.8;overflow-x:hidden;}a{color:inherit;text-decoration:none;}
:root{--orange:#e05a00;--orange-pale:#fff4ec;--navy:#1a3a5c;--gray-bg:#f7f7f7;--gray-border:#e0e0e0;--text:#333;--text-mid:#555;--text-light:#777;}
header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:3px solid var(--orange);box-shadow:0 2px 10px rgba(0,0,0,0.1);padding:0 1.2rem;height:58px;display:flex;align-items:center;justify-content:space-between;}
.hd-logo{display:flex;align-items:center;gap:8px;}.hd-logo-mark{width:36px;height:36px;background:var(--orange);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;font-weight:900;flex-shrink:0;}.hd-logo-text .en{font-size:1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;display:block;}.hd-logo-text .jp{font-size:0.58rem;color:var(--text-light);display:block;}
.hd-right{display:flex;align-items:center;gap:0.8rem;}
.hamburger{width:38px;height:38px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:4px;-webkit-tap-highlight-color:transparent;}
.hamburger span{display:block;width:24px;height:2px;background:#333;border-radius:2px;transition:all 0.3s ease;}
.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);}
.hd-tel-sp{display:flex;align-items:center;gap:4px;font-size:0.72rem;font-weight:900;color:var(--orange);border:1.5px solid var(--orange);border-radius:3px;padding:0.4rem 0.6rem;white-space:nowrap;}
.drawer{position:fixed;top:58px;right:0;bottom:0;width:min(280px,80vw);background:#fff;box-shadow:-4px 0 20px rgba(0,0,0,0.15);z-index:190;transform:translateX(100%);transition:transform 0.3s ease;overflow-y:auto;display:flex;flex-direction:column;}.drawer.open{transform:translateX(0);}
.drawer-nav{padding:1.5rem 0;flex:1;}.drawer-nav a{display:block;padding:1rem 1.5rem;font-size:0.92rem;font-weight:700;color:var(--text);border-bottom:1px solid var(--gray-border);transition:background 0.15s,color 0.15s;}.drawer-nav a:hover,.drawer-nav a.active{background:var(--orange-pale);color:var(--orange);}
.drawer-cta{padding:1.2rem 1.5rem;background:var(--gray-bg);}.drawer-tel{text-align:center;margin-bottom:0.8rem;}.drawer-tel .label{font-size:0.65rem;color:var(--text-light);}.drawer-tel a{font-size:1.6rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1.2;}.drawer-tel .time{font-size:0.65rem;color:var(--text-light);}
.drawer-btn{display:block;background:var(--orange);color:#fff;text-align:center;padding:0.9rem;font-size:0.88rem;font-weight:900;letter-spacing:0.08em;border-radius:3px;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:180;opacity:0;pointer-events:none;transition:opacity 0.3s;}.overlay.open{opacity:1;pointer-events:auto;}
.pc-nav{display:none;}.hd-tel-pc{display:none;}.hd-cta-pc{display:none;}
@media(min-width:900px){header{height:66px;}.hd-tel-sp{display:none;}.hamburger{display:none;}.pc-nav{display:flex;gap:0;}.pc-nav a{font-size:0.72rem;font-weight:700;color:var(--text);padding:0.4rem 0.6rem;border-radius:3px;white-space:nowrap;transition:color 0.15s,background 0.15s;}.pc-nav a:hover,.pc-nav a.active{color:var(--orange);background:var(--orange-pale);}.hd-tel-pc{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}.hd-tel-pc .label{font-size:0.6rem;color:var(--text-light);}.hd-tel-pc .num{font-size:1.1rem;font-weight:900;color:var(--orange);letter-spacing:0.04em;}.hd-cta-pc{display:block;background:var(--orange);color:#fff;padding:0.5rem 1.1rem;font-size:0.78rem;font-weight:900;border-radius:3px;white-space:nowrap;}}
.page-hero{background:linear-gradient(135deg,#0d1f12,#1a3d25);padding:3rem 1.2rem;text-align:center;}
.page-hero-en{font-size:0.65rem;letter-spacing:0.35em;color:rgba(255,255,255,0.4);text-transform:uppercase;margin-bottom:0.4rem;}
.page-hero-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.6rem,5vw,2.5rem);font-weight:700;color:#fff;margin-bottom:0.5rem;}
.page-hero-sub{font-size:0.86rem;color:rgba(255,255,255,0.65);line-height:1.9;}
.breadcrumb{background:var(--gray-bg);padding:0.7rem 1.2rem;font-size:0.72rem;color:var(--text-light);}.breadcrumb a{color:var(--orange);}.breadcrumb span{margin:0 0.4rem;}
section{padding:3.5rem 1.2rem;}@media(min-width:768px){section{padding:5rem 2rem;}}
.si{max-width:1000px;margin:0 auto;}
.contact-grid{display:flex;flex-direction:column;gap:2rem;}
@media(min-width:768px){.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;}}
.contact-info h2{font-family:'Noto Serif JP',serif;font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:0.7rem;line-height:1.5;}
.contact-info p{font-size:0.85rem;color:var(--text-mid);line-height:2;margin-bottom:1.2rem;}
.tel-big{background:#fff;border-radius:8px;border:2px solid var(--orange);padding:1.3rem;text-align:center;margin-bottom:1rem;box-shadow:0 2px 10px rgba(224,90,0,0.1);}
.tel-big .label{font-size:0.7rem;color:var(--text-light);margin-bottom:0.2rem;}
.tel-big a{font-size:2rem;font-weight:900;color:var(--orange);display:block;letter-spacing:0.06em;line-height:1;}
.tel-big .time{font-size:0.7rem;color:var(--text-light);margin-top:0.2rem;}
.contact-addr{background:var(--gray-bg);border-radius:6px;padding:1rem 1.2rem;font-size:0.82rem;color:var(--text-mid);line-height:2;}
.contact-addr strong{color:var(--text);}
.contact-addr a{color:var(--orange);}
.cf-wrap{background:#fff;border-radius:8px;padding:1.8rem 1.5rem;border:1px solid var(--gray-border);box-shadow:0 4px 18px rgba(0,0,0,0.06);}
.cf-title{font-size:1rem;font-weight:900;color:var(--text);text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--gray-bg);}
.cf-success{display:none;text-align:center;padding:2.5rem 1rem;}
.cf-success-icon{font-size:3rem;display:block;margin-bottom:0.5rem;}
.cf-success-text{color:var(--orange);font-weight:700;font-size:1rem;line-height:2;}
.cf-field{margin-bottom:1.1rem;}
.cf-label{display:block;font-size:0.75rem;font-weight:700;color:var(--text);margin-bottom:0.32rem;letter-spacing:0.04em;}
.cf-label .req{color:var(--orange);margin-left:3px;font-size:0.68rem;font-weight:700;}
.cf-input,.cf-select,.cf-textarea{width:100%;border:1.5px solid var(--gray-border);border-radius:4px;padding:0.75rem 0.9rem;font-size:0.88rem;font-family:'Noto Sans JP',sans-serif;color:var(--text);background:#fafafa;outline:none;transition:border 0.2s,background 0.2s;-webkit-appearance:none;}
.cf-input:focus,.cf-select:focus,.cf-textarea:focus{border-color:var(--orange);background:#fff;}
.cf-textarea{resize:vertical;min-height:110px;line-height:1.7;}
.cf-radio-group{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.3rem;}
.cf-radio{display:flex;align-items:center;gap:0.4rem;font-size:0.83rem;color:var(--text-mid);cursor:pointer;padding:0.4rem 0.8rem;border:1.5px solid var(--gray-border);border-radius:20px;transition:all 0.15s;}
.cf-radio input{display:none;}
.cf-radio.selected,.cf-radio:hover{border-color:var(--orange);color:var(--orange);background:var(--orange-pale);}
.cf-submit{width:100%;padding:1.1rem;background:var(--orange);color:#fff;font-size:0.95rem;font-weight:900;letter-spacing:0.12em;border:none;border-radius:4px;cursor:pointer;font-family:'Noto Sans JP',sans-serif;transition:background 0.2s;margin-top:0.5rem;}
.cf-submit:hover{background:#c94008;}
.cf-submit:disabled{background:#bbb;cursor:not-allowed;}
.cf-note{font-size:0.7rem;color:var(--text-light);text-align:center;margin-top:0.8rem;line-height:1.7;}
footer{background:#1a1a1a;color:rgba(255,255,255,0.42);padding:2rem 1.2rem 1.5rem;font-size:0.75rem;line-height:1.9;}
.footer-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-logo{font-size:1.2rem;font-weight:900;color:#fff;margin-bottom:0.4rem;}
.footer-links{display:flex;gap:0.8rem;flex-wrap:wrap;}.footer-links a{color:rgba(255,255,255,0.38);font-size:0.7rem;}
.footer-copy{max-width:1100px;margin:0 auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.07);text-align:center;font-size:0.66rem;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}.reveal.visible{opacity:1;transform:none;}

/* 施工事例ページ 全面リスタイル(他ページに統一) 2026-05-01    */
/* ============================================================ */

/* ===== 共通リセット ===== */
.works-detail-page,
.works-archive-page {
    background: #f7f7f7;
    color: #333;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.7;
}

.works-detail-page .container,
.works-archive-page .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== 一覧ページ ヘッダー ===== */
.works-archive-header {
    background: #0d3823;
    color: #fff;
    padding: 80px 0 60px;
    text-align: center;
}

.works-archive-header .works-eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    color: rgba(255,255,255,0.7);
    margin-bottom: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.works-archive-title {
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 700;
    margin: 0 0 16px;
    color: #fff;
    letter-spacing: 0.05em;
}

.works-archive-subtitle {
    font-size: 1rem;
    margin: 0;
    color: rgba(255,255,255,0.85);
}

/* ===== 一覧グリッド ===== */
.works-archive-list {
    padding: 60px 0;
}

.works-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
}

.works-card {
    display: block;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid #e0e0e0;
}

.works-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    text-decoration: none;
    color: inherit;
}

.works-card-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
}

.works-card-img {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
}

.works-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.works-card-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    padding: 3px 8px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #fff;
    border-radius: 3px;
    letter-spacing: 0.08em;
}

.works-card-badge.before { background: rgba(0,0,0,0.65); }
.works-card-badge.after  { background: #e05a00; }

.works-card-body {
    padding: 18px 20px 20px;
}

.works-card-category {
    display: inline-block;
    background: #0d3823;
    color: #fff;
    font-size: 0.72rem;
    padding: 3px 10px;
    border-radius: 3px;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
}

.works-card-title {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 8px;
    color: #333;
    line-height: 1.4;
}

.works-card-location {
    font-size: 0.82rem;
    color: #777;
    margin-bottom: 12px;
}

.works-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: #e05a00;
    font-weight: 700;
    font-size: 0.85rem;
    border: 1.5px solid #e05a00;
    padding: 0.45rem 1rem;
    border-radius: 3px;
    transition: background 0.15s, color 0.15s;
    fit-content: max-content;
}

.works-card-link:hover {
    background: #e05a00;
    color: #fff;
    text-decoration: none;
}

.works-no-posts {
    text-align: center;
    color: #777;
    padding: 60px 0;
    font-size: 1.1rem;
}

/* ページネーション */
.works-pagination {
    text-align: center;
    margin-top: 40px;
}

.works-pagination .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 4px;
    background: #fff;
    color: #0d3823;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    transition: all 0.2s;
}

.works-pagination .page-numbers.current,
.works-pagination .page-numbers:hover {
    background: #0d3823;
    color: #fff;
    border-color: #0d3823;
}

/* ===== 詳細ページ ===== */

/* パンくず */
.works-detail-breadcrumb {
    background: #fff;
    padding: 12px 0;
    border-bottom: 1px solid #e0e0e0;
    font-size: 0.82rem;
    color: #777;
}

.works-detail-breadcrumb a {
    color: #e05a00;
    text-decoration: none;
}

.works-detail-breadcrumb .sep {
    margin: 0 8px;
    color: #ccc;
}

.works-detail-breadcrumb .current {
    color: #333;
}

/* ヘッダー */
.works-detail-header {
    background: #0d3823;
    color: #fff;
    padding: 60px 0;
    text-align: center;
}

.works-detail-eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    color: rgba(255,255,255,0.7);
    margin-bottom: 16px;
    display: block;
    font-weight: 500;
}

.works-detail-category {
    display: inline-block;
    background: rgba(255,255,255,0.15);
    color: #fff;
    padding: 4px 14px;
    border-radius: 3px;
    font-size: 0.8rem;
    margin-bottom: 14px;
    letter-spacing: 0.05em;
}

.works-detail-title {
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 700;
    margin: 0 0 20px;
    line-height: 1.4;
    color: #fff;
}

.works-detail-meta {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.works-detail-meta .meta-item {
    background: rgba(255,255,255,0.12);
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 0.88rem;
    color: rgba(255,255,255,0.9);
}

.works-detail-meta .meta-item strong {
    margin-right: 8px;
    opacity: 0.75;
    font-weight: 500;
}

/* セクション共通 */
.works-detail-section {
    padding: 60px 0;
    background: #f7f7f7;
}

.works-detail-section-alt {
    background: #fff;
}

.works-section-heading {
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 700;
    text-align: center;
    margin: 0 0 8px;
    color: #333;
    position: relative;
    padding-bottom: 16px;
}

.works-section-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 2px;
    background: #e05a00;
    border-radius: 2px;
}

.works-section-note {
    text-align: center;
    color: #777;
    font-size: 0.85rem;
    margin: 12px 0 28px;
}

/* 見開き表示 */
.works-comparison-side {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    align-items: center;
    margin-top: 30px;
}

.works-comparison-item {
    position: relative;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.works-comparison-item img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
}

.works-comparison-label {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 4px 12px;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
    border-radius: 3px;
    letter-spacing: 0.1em;
    z-index: 2;
}

.works-comparison-label.before { background: rgba(0,0,0,0.7); }
.works-comparison-label.after  { background: #e05a00; }

.works-comparison-arrow {
    font-size: 2rem;
    color: #e05a00;
    font-weight: 700;
}

.works-no-image {
    background: #f0f0f0;
    color: #999;
    padding: 80px 20px;
    text-align: center;
    border-radius: 8px;
}

/* 4枚グリッド(その他工事) */
.works-photo-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.works-photo-item {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.works-photo-item img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
}

/* 工事の概要 */
.works-detail-content {
    max-width: 800px;
    margin: 28px auto 0;
    background: #fff;
    padding: 28px 32px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    line-height: 1.9;
    color: #333;
}

.works-detail-content p {
    margin-bottom: 1em;
}

/* ポイント */
.works-points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 30px;
}

.works-point-item {
    background: #fff;
    padding: 28px 20px;
    border-radius: 8px;
    border-top: 3px solid #e05a00;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.works-point-num {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: #e05a00;
    margin-bottom: 12px;
}

.works-point-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #333;
    font-weight: 500;
}

/* CTA */
.works-detail-cta,
.works-archive-cta {
    background: #0d3823;
    color: #fff;
    padding: 60px 0;
    text-align: center;
}

.works-detail-cta h2,
.works-archive-cta h2 {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.6rem;
    margin: 0 0 12px;
    color: #fff;
}

.works-detail-cta p,
.works-archive-cta p {
    margin: 0 0 24px;
    font-size: 1rem;
    color: rgba(255,255,255,0.9);
}

.works-cta-btn {
    display: inline-block;
    background: #e05a00;
    color: #fff;
    padding: 14px 40px;
    border-radius: 4px;
    font-weight: 700;
    text-decoration: none;
    font-size: 1rem;
    transition: all 0.2s;
    box-shadow: 0 4px 12px rgba(224,90,0,0.3);
}

.works-cta-btn:hover {
    background: #f07020;
    color: #fff;
    text-decoration: none;
    transform: translateY(-2px);
}

/* 一覧へ戻る */
.works-detail-back {
    background: #fff;
    padding: 28px 0;
    text-align: center;
    border-top: 1px solid #e0e0e0;
}

.works-detail-back a {
    color: #e05a00;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
}

.works-detail-back a:hover {
    color: #f07020;
    text-decoration: underline;
}

/* ===== 一覧ページのCTAエリア ===== */
.works-archive-cta {
    margin-top: 0;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
    .works-archive-title { font-size: 1.8rem; }
    .works-detail-title  { font-size: 1.4rem; }
    .works-section-heading { font-size: 1.2rem; }
    .works-grid { grid-template-columns: 1fr; }
    .works-comparison-side { grid-template-columns: 1fr; }
    .works-comparison-arrow { transform: rotate(90deg); font-size: 1.8rem; }
    .works-points { grid-template-columns: 1fr; }
    .works-photo-grid { grid-template-columns: 1fr; gap: 14px; }
    .works-detail-meta { gap: 10px; }
    .works-detail-meta .meta-item { font-size: 0.82rem; }
    .works-detail-content { padding: 20px; }
}
/* ============================================================ */
/* 私たちについて 写真スタイル                                   */
/* ============================================================ */
.reason-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 8px;
}
/* ============================================================ */
/* 会社概要・プライバシーポリシー 追加CSS(2026-05-01)          */
/* style.css の最後に追記してください                            */
/* ============================================================ */

/* ===== 共通 内側コンテナ ===== */
.company-inner,
.privacy-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ===== 会社概要 ===== */

/* 経営理念セクション */
.company-philosophy-sec {
    background: #0d3823;
    color: #fff;
    padding: 80px 20px;
    text-align: center;
}

.company-philosophy-sec .sec-en {
    color: rgba(255,255,255,0.6);
}

.company-philosophy-sec .sec-title {
    color: #fff;
    font-size: clamp(1.4rem, 3vw, 2rem);
}

.company-philosophy-sec .sec-bar {
    background: #e05a00;
    width: 40px;
    height: 2px;
    margin: 16px auto;
}

.company-philosophy-body {
    color: rgba(255,255,255,0.88);
    font-size: 1rem;
    line-height: 1.9;
    margin: 0;
}

/* 代表メッセージセクション */
.company-message-sec {
    background: #f7f7f7;
    padding: 80px 20px;
}

.company-sec-title {
    font-family: 'Noto Serif JP', serif;
    font-size: clamp(1.3rem, 2.5vw, 1.7rem);
    font-weight: 700;
    color: #333;
    margin: 8px 0 0;
}

.company-message-box {
    background: #fff;
    border-left: 4px solid #e05a00;
    padding: 32px 36px;
    border-radius: 0 8px 8px 0;
    margin-top: 32px;
    line-height: 2;
    color: #333;
}

.company-message-box p {
    margin-bottom: 1.2em;
}

.company-message-box p:last-child {
    margin-bottom: 0;
}

.company-message-sign {
    text-align: right;
    font-weight: 700;
    color: #555;
    margin-top: 24px !important;
    font-size: 0.95rem;
}

/* 会社情報セクション */
.company-info-sec {
    background: #fff;
    padding: 80px 20px;
}

.company-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 32px;
}

.company-table tr {
    border-bottom: 1px solid #e0e0e0;
}

.company-table tr:first-child {
    border-top: 1px solid #e0e0e0;
}

.company-table th {
    width: 180px;
    padding: 20px 16px;
    text-align: left;
    font-weight: 600;
    color: #333;
    background: #f7f7f7;
    vertical-align: top;
    font-size: 0.9rem;
}

.company-table td {
    padding: 20px 16px;
    color: #555;
    line-height: 1.7;
    font-size: 0.95rem;
}

.company-table td a {
    color: #e05a00;
    text-decoration: none;
}

.company-table td a:hover {
    text-decoration: underline;
}

.company-table td small {
    font-size: 0.82rem;
    color: #777;
}

/* 強みセクション */
.company-values-sec {
    background: #f7f7f7;
    padding: 80px 20px;
}

.company-values-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 32px;
}

.company-value-item {
    background: #fff;
    padding: 28px 24px;
    border-radius: 8px;
    border-top: 3px solid #e05a00;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.company-value-num {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #e05a00;
    margin-bottom: 10px;
}

.company-value-title {
    font-size: 1rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
}

.company-value-body {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.75;
    margin: 0;
}

/* ===== プライバシーポリシー ===== */

.privacy-wrap {
    background: #f7f7f7;
    padding: 60px 20px 80px;
}

.privacy-lead {
    background: #fff;
    border-left: 4px solid #0d3823;
    padding: 20px 24px;
    border-radius: 0 8px 8px 0;
    color: #333;
    line-height: 1.8;
    margin-bottom: 40px;
    font-size: 0.95rem;
}

.privacy-sec {
    background: #fff;
    border-radius: 8px;
    padding: 28px 32px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.privacy-heading {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0d3823;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e0e0e0;
}

.privacy-sec p {
    color: #555;
    line-height: 1.8;
    margin-bottom: 12px;
    font-size: 0.92rem;
}

.privacy-sec p:last-child {
    margin-bottom: 0;
}

.privacy-sec ul {
    margin: 8px 0 0 0;
    padding-left: 20px;
    color: #555;
    font-size: 0.92rem;
    line-height: 1.9;
}

.privacy-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 12px;
}

.privacy-table tr {
    border-bottom: 1px solid #e0e0e0;
}

.privacy-table tr:first-child {
    border-top: 1px solid #e0e0e0;
}

.privacy-table th {
    width: 140px;
    padding: 12px 14px;
    background: #f7f7f7;
    font-weight: 600;
    font-size: 0.88rem;
    color: #333;
    text-align: left;
    vertical-align: top;
}

.privacy-table td {
    padding: 12px 14px;
    color: #555;
    font-size: 0.9rem;
    line-height: 1.7;
}

.privacy-date {
    text-align: right;
    color: #777;
    font-size: 0.85rem;
    margin-top: 32px;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
    .company-message-box {
        padding: 20px;
    }

    .company-table th {
        width: 110px;
        padding: 14px 10px;
        font-size: 0.82rem;
    }

    .company-table td {
        padding: 14px 10px;
        font-size: 0.88rem;
    }

    .company-values-grid {
        grid-template-columns: 1fr;
    }

    .privacy-sec {
        padding: 20px;
    }

    .privacy-table th {
        width: 100px;
    }
}
/* ============================================================ */
/* エリアセクション・施工事例 更新CSS(2026-05-01)              */
/* style.css の最後に追記してください                            */
/* ============================================================ */

/* エリアセクション背景を白に */
.area-sec {
    background: #fff !important;
}

/* エリアタグ */
.area-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

.area-tag {
    display: inline-block;
    background: #f7f7f7;
    border: 1px solid #e0e0e0;
    color: #333;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.88rem;
    font-weight: 500;
}

.area-tag.main {
    background: #0d3823;
    color: #fff;
    border-color: #0d3823;
    font-weight: 700;
}

.area-outside {
    background: #fff4ec;
    border-left: 3px solid #e05a00;
    padding: 14px 18px;
    border-radius: 0 8px 8px 0;
    font-size: 0.9rem;
    color: #333;
    line-height: 1.7;
    margin-top: 16px;
}

/* サービスカードにリンクスタイル */
a.worry-card {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s, box-shadow 0.2s;
}

a.worry-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    text-decoration: none;
    color: inherit;
}

/* 施工事例を2枚大きく */
.works-preview .works-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px;
}

@media (max-width: 768px) {
    .works-preview .works-grid {
        grid-template-columns: 1fr !important;
    }

    .area-tags {
        gap: 8px;
    }

    .area-tag {
        font-size: 0.82rem;
        padding: 5px 12px;
    }
}
/* ============================================================ */
/* ヒーロー文字を白に統一(2026-05-01)                          */
/* style.css の最後に追記してください                            */
/* ============================================================ */

.hero-badge {
    color: #fff !important;
    background: rgba(255,255,255,0.15) !important;
    border: 1px solid rgba(255,255,255,0.4) !important;
}

.hero-catch {
    color: #fff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.4);
}

.hero-catch .hl {
    color: #fff !important;
    -webkit-text-stroke: 0;
}

.hero-sub {
    color: rgba(255,255,255,0.92) !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.35);
}

.hero-counters .counter-num {
    color: #fff !important;
}

.hero-counters .counter-unit {
    color: rgba(255,255,255,0.85) !important;
}

.counter-item {
    border-color: rgba(255,255,255,0.3) !important;
}
/* ============================================================ */
/* 施工事例一覧 WORKSラベル・フォント修正(2026-05-01)          */
/* style.css の最後に追記してください                            */
/* ============================================================ */

/* WORKSラベル */
.works-eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    color: rgba(255,255,255,0.7);
    margin-bottom: 12px;
    font-weight: 500;
    text-align: center;
}

/* サブタイトルを明朝体に */
.works-archive-subtitle {
    font-family: 'Noto Serif JP', serif !important;
    font-size: 1rem;
    color: rgba(255,255,255,0.88);
    margin: 0;
    text-align: center;
}

/* タイトルも明朝体に揃える */
.works-archive-title {
    font-family: 'Noto Serif JP', serif !important;
}
/* ============================================================ */
/* 施工事例一覧 WORKSラベル・フォント修正(2026-05-01)          */
/* style.css の最後に追記してください                            */
/* ============================================================ */

/* WORKSラベル */
.works-eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    color: rgba(255,255,255,0.7);
    margin-bottom: 12px;
    font-weight: 500;
    text-align: center;
}

/* サブタイトルを明朝体に */
.works-archive-subtitle {
    font-family: 'Noto Serif JP', serif !important;
    font-size: 1rem;
    color: rgba(255,255,255,0.88);
    margin: 0;
    text-align: center;
}

/* タイトルも明朝体に揃える */
.works-archive-title {
    font-family: 'Noto Serif JP', serif !important;
}

/* ============================================================ */
/* 施工事例 before/after矢印を非表示(2026-05-01)               */
/* ============================================================ */
.works-comparison-arrow {
    display: none !important;
}

/* 矢印なしの場合、見開きレイアウトを調整 */
.works-comparison-side {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}

@media (max-width: 768px) {
    .works-comparison-side {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}
/* ============================================================ */
/* 施工事例一覧 WORKSラベル・フォント修正(2026-05-01)          */
/* style.css の最後に追記してください                            */
/* ============================================================ */

/* WORKSラベル */
.works-eyebrow {
    font-size: 0.75rem;
    letter-spacing: 0.2em;
    color: rgba(255,255,255,0.7);
    margin-bottom: 12px;
    font-weight: 500;
    text-align: center;
}

/* サブタイトルを明朝体に */
.works-archive-subtitle {
    font-family: 'Noto Serif JP', serif !important;
    font-size: 1rem;
    color: rgba(255,255,255,0.88);
    margin: 0;
    text-align: center;
}

/* タイトルも明朝体に揃える */
.works-archive-title {
    font-family: 'Noto Serif JP', serif !important;
}

/* ============================================================ */
/* 施工事例 before/after矢印を非表示(2026-05-01)               */
/* ============================================================ */
.works-comparison-arrow {
    display: none !important;
}

/* 矢印なしの場合、見開きレイアウトを調整 */
.works-comparison-side {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
}

@media (max-width: 768px) {
    .works-comparison-side {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

/* ============================================================ */
/* サービスカード 施工事例リンク(2026-05-01)                   */
/* ============================================================ */
.worry-link {
    display: block;
    margin-top: 10px;
    color: #e05a00;
    font-size: 0.85rem;
    font-weight: 700;
    text-align: center;
}

a.worry-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

a.worry-card {
    transition: transform 0.2s, box-shadow 0.2s;
}
/* ============================================================ */
/* 施工事例 BEFORE/AFTERラベル非表示(2026-05-15)              */
/* ============================================================ */

/* 一覧カードのBEFORE/AFTERラベルを非表示 */
.works-card-badge.before,
.works-card-badge.after {
    display: none !important;
}

/* 詳細ページの見開きBEFORE/AFTERラベルも非表示 */
.works-comparison-label.before,
.works-comparison-label.after {
    display: none !important;
}
/* ============================================================ */
/* お問い合わせ 営業お断りボックス(2026-05-15)                 */
/* ============================================================ */
.contact-notice {
    background: #fff4ec;
    border-left: 4px solid #e05a00;
    border-radius: 0 6px 6px 0;
    padding: 1rem 1.3rem;
    margin-bottom: 1.5rem;
}
.contact-notice-title {
    font-size: 0.88rem;
    font-weight: 900;
    color: #e05a00;
    margin: 0 0 0.4rem 0;
    line-height: 1.5;
}
.contact-notice-body {
    font-size: 0.82rem;
    color: #555;
    line-height: 1.8;
    margin: 0;
}
/* ===== SEVENNAVI ロゴ差し替え（透過版・天地いっぱい / 最優先・末尾追記 2026）===== */
.hd-logo{ height:100%; }                                            /* ヘッダー高さに追従(高さ自体は変えない) */
.hd-logo-link{ display:flex; align-items:center; height:100%; text-decoration:none; }
/* 透過ロゴをヘッダーの天地いっぱいに。height自体(header)は不変 */
.hd-logo .hd-logo-yoko{ display:block; height:calc(100% - 12px); width:auto; }  /* ←上下の余白12px。調整可 */
.hd-logo .hd-logo-mark{ display:none; }                             /* マークは使わない(両幅とも横長透過に統一) */
.hd-logo-text .en{ display:none; }
.hd-logo-text .jp{ display:none; }                                  /* SPはサブコピー非表示 */
@media(min-width:900px){
  .hd-logo .hd-logo-yoko{ display:block; height:calc(100% - 12px); }   /* PCも天地いっぱい */
  .hd-logo .hd-logo-mark{ display:none; }
  .hd-logo-text .jp{ display:block; font-size:1rem; color:#666; }      /* ←PCサブコピー */
}
