:root{
  --navy:#1E3A5F;--navy-mid:#2C5282;--gold:#C09A4B;--gold-light:#E8C97A;
  --accent:#4F9A5A;--accent-dark:#3D7A47;--accent-light:#E3F3E5;
  --warm-dark:#1E3A5F;--warm-dark2:#2C5282;
  --cream:#F4F8F6;--warm-white:#FBFDFC;--danger:#C0392B;--danger-light:#FDEDEC;
  --text-dark:#1A2530;--text-mid:#40505E;--text-light:#6B7A87;--border:#DCE7E2;
  --green:#3D7A47;--green-light:#E3F3E5;
  --pastel-blue:#EAF2F8;--pastel-green:#EFF7EF;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--text-dark);background:var(--warm-white);line-height:1.8;padding-bottom:64px;overflow-x:hidden;}
body, p, h1, h2, h3, h4, a, span{overflow-wrap:anywhere;}
img{max-width:100%;display:block;}
@media(min-width:861px){body{padding-bottom:0;}}

/* HEADER */
header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:3px solid var(--accent);padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;height:64px;box-shadow:0 2px 12px rgba(0,0,0,0.06);}
.logo-main{font-family:'Noto Serif JP',serif;font-size:2rem;font-weight:700;color:var(--accent-dark);letter-spacing:0.03em;line-height:1.05;white-space:nowrap;}
.logo-main small{display:block;font-size:0.78rem;color:var(--navy);letter-spacing:0.08em;font-family:'Noto Sans JP',sans-serif;font-weight:700;line-height:1.25;margin-top:0.22rem;}
.header-right{display:flex;align-items:center;gap:0.85rem;}
.header-nav{display:flex;align-items:center;gap:0.25rem;font-size:16px;font-weight:700;}
.header-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0.45rem 0.6rem;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--navy);text-decoration:none;white-space:nowrap;}
@media(min-width:601px){.header-nav .site-switch-mobile{display:none}}
.menu-toggle{display:none;background:#fff;border:1px solid var(--border);border-radius:4px;color:var(--navy);font-weight:700;padding:0.42rem 0.65rem;}
.header-tel{color:var(--text-dark);text-decoration:none;text-align:right;line-height:1.15;}
.header-tel .num{font-family:'Noto Serif JP',serif;font-size:1.05rem;font-weight:700;color:var(--accent-dark);letter-spacing:0.02em;}
.header-tel .lbl{font-size:0.6rem;color:var(--text-light);letter-spacing:0.06em;}
.site-switch{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--navy);color:var(--navy);background:var(--pastel-blue);font-weight:700;padding:0.46rem 0.8rem;border-radius:4px;text-decoration:none;font-size:15px;white-space:nowrap;}
.header-cta{background:var(--accent);color:#fff;font-weight:700;padding:0.5rem 1rem;border-radius:4px;text-decoration:none;font-size:0.8rem;white-space:nowrap;}
.header-cta:hover{background:var(--accent-dark);}
@media(max-width:1439px){.header-nav{display:none;position:absolute;top:64px;left:1rem;right:1rem;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 14px 34px rgba(0,0,0,0.12);padding:1rem;flex-direction:column;align-items:stretch}.is-menu-open .header-nav{display:flex}.menu-toggle{display:block}}
@media(max-width:600px){.header-right{display:none;}.logo-main{font-size:1.4rem;}}

/* COMMON */
section{padding:4rem 1.5rem;}
.container{max-width:960px;margin:0 auto;}
.container-narrow{max-width:720px;margin:0 auto;}
.section-label{font-size:0.72rem;font-weight:700;letter-spacing:0.22em;color:var(--gold);text-transform:uppercase;margin-bottom:0.5rem;}
.section-title{font-family:'Noto Serif JP',serif;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:700;color:var(--navy);line-height:1.45;margin-bottom:1rem;}
.section-lead{color:var(--text-mid);font-size:0.95rem;max-width:680px;margin-bottom:2.5rem;line-height:1.95;}
.gold-line{width:48px;height:2px;background:var(--gold);margin-bottom:1.5rem;}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:0.4rem;background:linear-gradient(135deg,var(--gold) 0%,#D4A830 100%);color:var(--navy);font-weight:700;font-size:1.05rem;padding:1rem 2rem;border-radius:5px;text-decoration:none;letter-spacing:0.02em;box-shadow:0 4px 20px rgba(192,154,75,0.4);transition:all 0.2s;border:none;cursor:pointer;text-align:center;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(192,154,75,0.5);}
.em-red{color:var(--danger);font-weight:700;}
.em-navy{color:var(--navy);font-weight:700;}

/* HERO */
#hero{background:linear-gradient(160deg,#FBF8F2 0%,#F4EFE3 55%,#F0E6D0 100%);padding:0 0 3rem;position:relative;overflow:hidden;border-bottom:3px solid var(--gold);}
#hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(192,154,75,0.10) 0%,transparent 60%);}
.hero-inner{max-width:960px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:1.15fr 0.85fr;gap:2.5rem;align-items:center;min-width:0;}
@media(max-width:820px){.hero-inner{grid-template-columns:1fr;gap:1.75rem;}}
.hero-flow{display:flex;align-items:center;flex-wrap:wrap;gap:0.4rem;background:#fff;border:1px solid var(--border);border-radius:10px;padding:0.8rem 0.9rem;margin-bottom:1.1rem;box-shadow:0 4px 14px rgba(26,39,68,0.06);}
.hf-step{display:flex;flex-direction:column;align-items:center;gap:0.2rem;min-width:44px;}
.hf-ic{font-size:1.15rem;line-height:1;}
.hf-ic svg{width:22px;height:22px;fill:none;stroke:var(--navy);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.hf-t{font-size:0.62rem;color:var(--navy);font-weight:700;white-space:nowrap;}
.hf-arrow{color:var(--gold);font-size:0.8rem;font-weight:700;margin:0 -0.1rem;}
@media(max-width:520px){.hero-flow{gap:0.25rem;padding:0.7rem 0.5rem;} .hf-t{font-size:0.56rem;} .hf-ic{font-size:1rem;}}
.hero-diag{display:flex;align-items:center;gap:1.1rem;background:#fff;border:1px solid var(--border);border-radius:10px;padding:0.9rem 1.1rem;margin-bottom:1.1rem;box-shadow:0 4px 14px rgba(26,39,68,0.06);max-width:100%;}
.hero-diag-svg{width:88px;height:72px;flex-shrink:0;}
.hero-diag-text{flex:1;min-width:0;}
.hero-diag-text .score{font-family:'Noto Serif JP',serif;color:var(--gold);font-size:1.3rem;font-weight:700;line-height:1;margin-bottom:0.35rem;}
.hero-diag-text .score small{font-size:0.62rem;font-weight:400;color:var(--text-light);margin:0 0.35rem 0 0.1rem;}
.hero-diag-text p{font-size:0.76rem;color:var(--text-mid);line-height:1.6;margin:0;}
@media(max-width:480px){.hero-diag{flex-direction:column;align-items:flex-start;}}
.hero-area{margin-bottom:1.25rem;}
.hero-area span{display:block;color:var(--gold);font-size:0.78rem;font-weight:800;letter-spacing:0.22em;line-height:1;margin-bottom:0.75rem;}
.hero-area strong{display:block;font-family:'Noto Serif JP',serif;color:var(--navy);font-size:clamp(1.55rem,3.5vw,2.35rem);font-weight:700;line-height:1.45;letter-spacing:0.02em;}
.hero-area::after{content:'';display:block;width:48px;height:2px;background:var(--gold);margin-top:1rem;}
.hero-banner-wrap{width:100%;max-width:none;margin:0 0 1.75rem;position:relative;z-index:1;}
.hero-banner-wrap picture{display:block;}
.hero-banner-img{height:auto;display:block;border-radius:0;box-shadow:none;}
.hero-side{display:flex;flex-direction:column;gap:1rem;}
.hero-photo-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 18px 50px rgba(26,39,68,0.14);}
.hero-photo-card img{width:100%;height:260px;object-fit:cover;object-position:center 18%;display:block;}
.hero-photo-caption{background:var(--navy);color:#fff;padding:0.8rem 1rem;font-family:'Noto Serif JP',serif;font-weight:700;line-height:1.5;}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;}
.hero-main{font-family:'Noto Serif JP',serif;font-size:clamp(1.7rem,4.1vw,2.4rem);font-weight:700;color:var(--navy);line-height:1.42;margin-bottom:1.1rem;}
.hero-main em{font-style:normal;color:var(--gold);}
.hero-sub{color:var(--text-mid);font-size:clamp(0.88rem,1.8vw,0.98rem);line-height:1.95;margin-bottom:1.5rem;max-width:100%;}
.hero-badges{display:flex;flex-wrap:wrap;gap:0.5rem;}
.hero-badges span{font-size:0.72rem;color:var(--navy);background:#fff;border:1px solid var(--border);padding:0.3rem 0.7rem;border-radius:3px;font-weight:700;}
@media(max-width:760px){#hero{padding:0 0 2.5rem;}.hero-banner-wrap{margin-bottom:1.5rem;}.hero-inner{width:min(92%,960px);}}

/* AREA MAP */
.area-map-section{padding:4rem 1.5rem;background:#f4faf5;border-bottom:1px solid var(--border);}
.area-map-section .section-title{text-align:center;}
.area-map-section .section-label{text-align:center;}
.area-map-section .gold-line{margin-left:auto;margin-right:auto;}
.area-map-visual{display:block;width:min(960px,100%);margin:0 auto;border-radius:12px;overflow:hidden;box-shadow:0 18px 44px rgba(18,91,56,0.13);background:#fff;}
.area-map-visual img{display:block;width:100%;height:auto;}
.area-map-towns{width:min(960px,100%);margin:1.25rem auto 0;padding:1.15rem 1.35rem;background:#fff;border:1px solid #c9dfcf;border-radius:9px;}
.area-map-towns h3{font-family:'Noto Serif JP',serif;color:var(--accent-dark);font-size:1rem;margin-bottom:0.55rem;}
.area-map-towns p{font-size:0.82rem;color:var(--text-mid);line-height:1.9;margin:0;}
@media(max-width:760px){.area-map-section{padding:2.5rem 1rem;}.area-map-visual{border-radius:7px;}.area-map-towns{padding:1rem;}}

/* HERO OFFER CARD */
.offer-card{background:var(--warm-white);border-radius:12px;box-shadow:0 18px 50px rgba(26,39,68,0.15);overflow:hidden;border:2px solid var(--gold);}
.offer-ribbon{background:linear-gradient(135deg,var(--danger) 0%,#9E2B20 100%);color:#fff;text-align:center;padding:0.6rem 1rem;font-weight:700;font-size:0.9rem;letter-spacing:0.02em;}
.offer-ribbon small{display:block;font-size:0.68rem;font-weight:500;opacity:0.9;letter-spacing:0.04em;}
.offer-body{padding:1.4rem 1.4rem 1.5rem;}
.offer-gift{display:flex;align-items:center;gap:0.85rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px dashed var(--border);}
.offer-gift .ic{font-size:2rem;}
.offer-gift .t{font-family:'Noto Serif JP',serif;font-weight:700;color:var(--navy);font-size:1.02rem;line-height:1.4;}
.offer-gift .t small{display:block;font-size:0.72rem;color:var(--gold);font-weight:700;letter-spacing:0.04em;margin-top:0.15rem;}
.mini-form label{display:block;font-size:0.76rem;font-weight:700;color:var(--navy);margin-bottom:0.25rem;}
.mini-form input,.mini-form select{width:100%;padding:0.6rem 0.8rem;border:1px solid var(--border);border-radius:5px;font-size:0.9rem;font-family:'Noto Sans JP',sans-serif;margin-bottom:0.6rem;outline:none;}
.mini-form input:focus,.mini-form select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(192,154,75,0.12);}
.mini-form .btn-primary{width:100%;margin-top:0.2rem;}
.offer-note{font-size:0.68rem;color:var(--text-light);text-align:center;margin-top:0.7rem;line-height:1.6;}

/* TRUST STRIP */
.trust-strip{background:var(--accent-dark);padding:0.9rem 1.5rem;}
.trust-inner{max-width:960px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:0.6rem 1.75rem;}
.trust-inner div{color:rgba(255,255,255,0.9);font-size:0.8rem;font-weight:500;display:flex;align-items:center;gap:0.4rem;}
.trust-inner .ck{color:var(--gold-light);font-weight:700;}
/* AREA BAND (top) */
.area-band{background:var(--warm-white);border-bottom:1px solid var(--border);padding:1.1rem 1.5rem;}
.area-band-inner{max-width:960px;margin:0 auto;display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;}
.area-band-label{font-family:'Noto Serif JP',serif;font-size:0.85rem;font-weight:700;color:var(--navy);white-space:nowrap;}
.area-band-label span{color:var(--gold);font-size:0.72rem;}
.area-band-list{flex:1;min-width:260px;font-size:0.82rem;color:var(--text-mid);line-height:1.85;}

/* WORRY */
#worry{background:var(--cream);}
.worry-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;}
@media(max-width:640px){.worry-grid{grid-template-columns:1fr;}}
.worry-item{background:#fff;border-radius:8px;padding:1.1rem 1.25rem;border-left:4px solid var(--gold);font-size:0.9rem;color:var(--text-mid);line-height:1.7;box-shadow:0 2px 10px rgba(0,0,0,0.05);}
.worry-item b{color:var(--navy);}
.worry-turn{text-align:center;font-family:'Noto Serif JP',serif;font-size:clamp(1.1rem,2.6vw,1.4rem);font-weight:700;color:var(--navy);line-height:1.6;margin-top:1rem;}
.worry-turn em{font-style:normal;color:var(--gold);border-bottom:3px solid var(--gold-light);}

/* DIAGNOSIS (the weapon) */
#diagnosis{background:#fff;}
.diag-hero{background:var(--accent);border-radius:12px;padding:2rem;color:#fff;text-align:center;margin-bottom:2.5rem;position:relative;overflow:hidden;}
.diag-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(192,154,75,0.15),transparent 65%);}
.diag-hero .free-tag{display:inline-block;background:var(--danger);color:#fff;font-size:0.75rem;font-weight:700;padding:0.25rem 0.9rem;border-radius:2px;letter-spacing:0.06em;margin-bottom:0.9rem;position:relative;}
.diag-hero h3{font-family:'Noto Serif JP',serif;font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700;color:#fff;line-height:1.5;position:relative;}
.diag-hero h3 em{font-style:normal;color:var(--gold-light);}
.diag-hero p{font-size:0.9rem;color:rgba(255,255,255,0.8);margin-top:0.9rem;position:relative;line-height:1.9;}
.diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
@media(max-width:680px){.diag-grid{grid-template-columns:1fr;}}
.diag-card{border:1px solid var(--border);border-radius:10px;padding:1.5rem;background:var(--warm-white);position:relative;}
.diag-card .no{position:absolute;top:1.25rem;right:1.25rem;font-family:'Noto Serif JP',serif;font-size:1.6rem;font-weight:700;color:var(--gold-light);opacity:0.6;}
.diag-card h4{font-family:'Noto Serif JP',serif;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:0.5rem;padding-right:2rem;line-height:1.4;}
.diag-card p{font-size:0.85rem;color:var(--text-mid);line-height:1.8;}
.diag-value{text-align:center;margin-top:2rem;font-size:0.92rem;color:var(--text-mid);}
.diag-value b{color:var(--danger);}

/* OPTIONS PREVIEW */
#options{background:var(--cream);}
.opt-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,0.07);font-size:0.86rem;}
.opt-table thead tr{background:var(--accent);}
.opt-table thead th{color:#fff;font-weight:700;padding:0.8rem 0.9rem;text-align:left;font-size:0.8rem;white-space:nowrap;}
.opt-table tbody tr{border-bottom:1px solid var(--border);}
.opt-table tbody tr:last-child{border-bottom:none;}
.opt-table td{padding:0.85rem 0.9rem;vertical-align:top;line-height:1.6;}
.opt-table td.opt-name{font-weight:700;color:var(--navy);}
.rate{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-weight:700;font-size:0.85rem;color:#fff;}
.rate-a{background:var(--green);}
.rate-b{background:#C9962E;}
.rate-c{background:var(--danger);}
.opt-risk{color:var(--danger);font-weight:700;font-size:0.82rem;}
.opt-more{text-align:center;margin-top:1.5rem;font-size:0.9rem;color:var(--text-mid);}
@media(max-width:680px){.opt-hide{display:none;}}

/* WHY NOW */
#whynow{background:#fff;}
.whynow-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;}
@media(max-width:680px){.whynow-cols{grid-template-columns:1fr;}}
.why-card{border:1px solid var(--border);border-radius:10px;padding:1.6rem;}
.why-card.danger{background:var(--danger-light);border-color:#F1C4BE;}
.why-card h4{font-family:'Noto Serif JP',serif;font-size:1rem;font-weight:700;margin-bottom:0.75rem;color:var(--navy);}
.why-card.danger h4{color:var(--danger);}
.why-card ul{list-style:none;display:flex;flex-direction:column;gap:0.6rem;}
.why-card li{font-size:0.85rem;color:var(--text-mid);line-height:1.7;padding-left:1.4rem;position:relative;}
.why-card li::before{content:'▶';position:absolute;left:0;color:var(--gold);font-size:0.65rem;top:0.25rem;}
.why-card.danger li::before{content:'✕';color:var(--danger);font-size:0.8rem;top:0.05rem;}
.why-card li b{color:var(--danger);}
.why-loss{text-align:center;background:var(--accent);color:#fff;border-radius:10px;padding:1.5rem;}
.why-loss .big{font-family:'Noto Serif JP',serif;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:700;color:var(--gold-light);margin:0.3rem 0;}
.why-loss p{font-size:0.85rem;color:rgba(255,255,255,0.75);}
.why-src{font-size:0.72rem;color:var(--text-light);margin-top:1.25rem;line-height:1.7;}

/* MERITS */
#merits{background:var(--cream);}
.merit-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.1rem;}
@media(max-width:760px){.merit-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.merit-grid{grid-template-columns:1fr;}}
.merit{background:#fff;border-radius:10px;padding:1.4rem;box-shadow:0 2px 12px rgba(0,0,0,0.05);}
.merit .ic{font-size:1.5rem;margin-bottom:0.6rem;}
.merit h4{font-family:'Noto Serif JP',serif;font-size:0.92rem;font-weight:700;color:var(--navy);margin-bottom:0.4rem;line-height:1.4;}
.merit p{font-size:0.82rem;color:var(--text-mid);line-height:1.75;}

/* PRICE */
#price{background:#fff;}
.price-lead{background:var(--accent);color:#fff;border-radius:8px;padding:1.5rem 1.75rem;margin-bottom:2rem;font-size:0.92rem;line-height:1.85;}
.price-lead strong{color:var(--gold-light);}
.price-rows{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;}
.price-r{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--border);align-items:flex-start;}
.price-r:last-child{border-bottom:none;}
.price-r .n{font-size:0.9rem;color:var(--text-dark);flex:1;}
.price-r .n small{display:block;font-size:0.76rem;color:var(--text-light);margin-top:0.15rem;line-height:1.6;}
.price-r .v{font-weight:700;font-size:0.92rem;color:var(--navy);white-space:nowrap;text-align:right;}
.price-r.hi{background:var(--cream);}
.sim-box{margin-top:1.75rem;background:var(--green-light);border:1px solid #BEE0C0;border-radius:10px;padding:1.5rem;}
.sim-box h4{font-family:'Noto Serif JP',serif;font-size:0.98rem;font-weight:700;color:var(--green);margin-bottom:0.9rem;}
.sim-row{display:flex;justify-content:space-between;font-size:0.86rem;padding:0.35rem 0;color:var(--text-mid);border-bottom:1px dotted #BEE0C0;}
.sim-row.total{border-bottom:none;border-top:2px solid var(--green);margin-top:0.4rem;padding-top:0.7rem;font-weight:700;color:var(--green);font-size:0.98rem;}
.sim-row .plus{color:var(--green);font-weight:700;}
.sim-row .minus{color:var(--text-light);}
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:1.75rem;}
@media (max-width:760px){.sim-grid{grid-template-columns:1fr;}}
.sim-box.warn{background:#FDECEA;border:1px solid #F3B9B3;}
.sim-box.warn h4{color:#A0332A;}
.sim-row.total.negative{border-top:2px solid #A0332A;color:#A0332A;}
.sim-row.total.negative span:last-child{color:#A0332A;}
.sim-conclusion{font-size:0.82rem;color:var(--text-mid);margin-top:0.9rem;padding-top:0.8rem;border-top:1px dashed #F3B9B3;line-height:1.7;}
.price-note{margin-top:1.25rem;font-size:0.78rem;color:var(--text-light);line-height:1.75;}

/* FLOW */
#flow{background:var(--cream);}
.flow-steps{display:flex;flex-direction:column;position:relative;}
.flow-steps::before{content:'';position:absolute;left:22px;top:44px;bottom:44px;width:2px;background:var(--border);}
.flow-step{display:flex;gap:1.25rem;align-items:flex-start;padding:1rem 0;position:relative;}
.flow-circle{width:46px;height:46px;border-radius:50%;background:var(--accent);color:#fff;font-family:'Noto Serif JP',serif;font-weight:700;font-size:1.05rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid var(--cream);box-shadow:0 0 0 2px var(--accent);z-index:1;}
.flow-content{flex:1;padding-top:0.35rem;}
.flow-tags{display:flex;gap:0.4rem;margin-bottom:0.35rem;flex-wrap:wrap;}
.flow-tag{font-size:0.68rem;font-weight:700;padding:0.12rem 0.5rem;border-radius:2px;}
.tag-free{background:var(--green-light);color:var(--green);}
.tag-gift{background:#FFF8E1;color:#7B5800;}
.tag-paid{background:var(--danger-light);color:var(--danger);}
.flow-content h4{font-family:'Noto Serif JP',serif;font-size:0.98rem;font-weight:700;color:var(--navy);margin-bottom:0.3rem;}
.flow-content p{font-size:0.85rem;color:var(--text-mid);line-height:1.8;}

/* STAFF */
#staff{background:#fff;}
.staff-inner{display:grid;grid-template-columns:180px 1fr;gap:2.5rem;align-items:start;}
@media(max-width:640px){.staff-inner{grid-template-columns:1fr;gap:1.5rem;}}
.staff-avatar{background:var(--accent);border-radius:10px;padding:2rem 1rem;text-align:center;}
.staff-avatar .ic{font-size:2.75rem;margin-bottom:0.6rem;}
.staff-avatar .en{font-size:0.65rem;color:rgba(255,255,255,0.45);letter-spacing:0.1em;}
.staff-avatar .jp{font-family:'Noto Serif JP',serif;font-size:1rem;font-weight:700;color:#fff;margin-top:0.2rem;}
.staff-body h4{font-family:'Noto Serif JP',serif;font-size:1.15rem;font-weight:700;color:var(--navy);margin-bottom:0.9rem;line-height:1.55;}
.staff-body p{font-size:0.89rem;color:var(--text-mid);line-height:1.95;margin-bottom:0.9rem;}
.staff-badges{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.75rem;}
.staff-badges span{background:var(--accent);color:#fff;font-size:0.72rem;font-weight:700;padding:0.28rem 0.75rem;border-radius:3px;}
/* COMPANY / TOKUSHOHO */
.company-box{margin-top:2.75rem;border:1px solid var(--border);border-radius:10px;overflow:hidden;}
.company-head{background:var(--cream);padding:0.9rem 1.4rem;border-bottom:1px solid var(--border);}
.company-head h4{font-family:'Noto Serif JP',serif;font-size:0.98rem;font-weight:700;color:var(--navy);}
.company-head span{font-size:0.76rem;color:var(--text-light);}
.company-table{width:100%;border-collapse:collapse;}
.company-table tr{border-bottom:1px solid var(--border);}
.company-table tr:last-child{border-bottom:none;}
.company-table th{width:34%;text-align:left;vertical-align:top;background:#FBF9F5;color:var(--navy);font-weight:700;font-size:0.82rem;padding:0.8rem 1rem;line-height:1.6;}
.company-table td{font-size:0.85rem;color:var(--text-mid);padding:0.8rem 1rem;line-height:1.8;}
@media(max-width:560px){.company-table th{width:40%;font-size:0.76rem;}.company-table td{font-size:0.8rem;}}

/* FAQ */
#faq{background:var(--cream);}
.faq-list{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-item:last-child{border-bottom:none;}
.faq-q{display:flex;gap:0.9rem;padding:1.1rem 1.4rem;cursor:pointer;align-items:flex-start;}
.faq-q:hover{background:var(--cream);}
.faq-q .mk{flex-shrink:0;width:26px;height:26px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.8rem;}
.faq-q .tx{flex:1;font-weight:700;font-size:0.9rem;color:var(--navy);line-height:1.5;}
.faq-q .ar{color:var(--gold);transition:transform 0.2s;flex-shrink:0;font-size:0.8rem;margin-top:0.2rem;}
.faq-item.open .ar{transform:rotate(180deg);}
.faq-a{display:none;padding:0 1.4rem 1.1rem 3.7rem;font-size:0.87rem;color:var(--text-mid);line-height:1.85;}
.faq-item.open .faq-a{display:block;}

/* VOICE */
#voice{background:#fff;}
.voices{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
@media(max-width:680px){.voices{grid-template-columns:1fr;}}
.voice{background:var(--cream);border-radius:10px;padding:1.5rem;}
.voice .ti{font-weight:700;color:var(--navy);font-size:0.92rem;margin-bottom:0.5rem;line-height:1.5;}
.voice .bd{font-size:0.85rem;color:var(--text-mid);line-height:1.85;}
.voice .mt{margin-top:0.85rem;padding-top:0.7rem;border-top:1px solid var(--border);font-size:0.75rem;color:var(--text-light);}

/* FINAL CTA */
#contact{background:linear-gradient(160deg,var(--navy),var(--accent-dark) 55%,var(--accent));color:#fff;}
#contact .section-title{color:#fff;}
#contact .section-lead{color:rgba(255,255,255,0.75);}
.contact-wrap{display:grid;grid-template-columns:0.9fr 1.1fr;gap:2.5rem;align-items:start;}
@media(max-width:760px){.contact-wrap{grid-template-columns:1fr;}}
.contact-offer{background:rgba(255,255,255,0.06);border:1px solid rgba(192,154,75,0.4);border-radius:12px;padding:1.6rem;}
.contact-offer .gift{font-family:'Noto Serif JP',serif;font-size:1.05rem;color:var(--gold-light);font-weight:700;margin-bottom:0.75rem;line-height:1.5;}
.contact-offer ul{list-style:none;display:flex;flex-direction:column;gap:0.5rem;margin-top:0.75rem;}
.contact-offer li{font-size:0.85rem;color:rgba(255,255,255,0.85);padding-left:1.4rem;position:relative;line-height:1.6;}
.contact-offer li::before{content:'✓';position:absolute;left:0;color:var(--gold-light);font-weight:700;}
.contact-tel{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,0.15);text-align:center;}
.contact-tel a{color:#fff;text-decoration:none;}
.contact-tel .num{font-family:'Noto Serif JP',serif;font-size:1.5rem;font-weight:700;color:var(--gold-light);}
.contact-tel .lbl{font-size:0.72rem;color:rgba(255,255,255,0.6);}
.line-qr-box{display:flex;align-items:center;justify-content:center;gap:0.85rem;margin-top:0.9rem;}
.line-qr-box img{width:110px;max-width:110px;background:#fff;border-radius:8px;padding:6px;}
.line-qr-box p{margin:0;color:rgba(255,255,255,0.72);font-size:0.76rem;line-height:1.6;text-align:left;}
@media(max-width:760px){.line-qr-box{display:block;}.line-qr-box img{display:none;}.line-qr-box p{text-align:center;}}
.form-box{background:#fff;border-radius:12px;padding:1.75rem;}
.form-box h3{font-family:'Noto Serif JP',serif;color:var(--navy);font-size:1.05rem;font-weight:700;margin-bottom:1.1rem;text-align:center;line-height:1.5;}
.form-row{margin-bottom:0.9rem;}
.form-row label{display:block;font-size:0.82rem;font-weight:700;color:var(--navy);margin-bottom:0.3rem;}
.form-row .req{color:var(--danger);font-size:0.68rem;margin-left:0.3rem;}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:0.7rem 0.9rem;border:1px solid var(--border);border-radius:5px;font-size:0.9rem;font-family:'Noto Sans JP',sans-serif;outline:none;}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(192,154,75,0.12);}
.form-row textarea{min-height:80px;resize:vertical;}
.form-box .btn-primary{width:100%;font-size:1.05rem;margin-top:0.3rem;}
.form-note{font-size:0.72rem;color:var(--text-light);text-align:center;margin-top:0.7rem;line-height:1.6;}
.hp-field{position:absolute;left:-9999px;}

/* FOOTER */
footer{background:#FFF3E8;color:var(--text-mid);text-align:center;padding:2.25rem 1.5rem;font-size:0.76rem;line-height:1.9;border-top:3px solid var(--accent);}
footer .fb{font-family:'Noto Serif JP',serif;font-size:0.95rem;font-weight:700;color:var(--accent-dark);margin-bottom:0.35rem;}
footer a{color:var(--text-mid);}

/* LINE BUTTON */
.btn-line{display:inline-flex;align-items:center;justify-content:center;gap:0.45rem;background:#06C755;color:#fff;font-weight:700;font-size:0.95rem;padding:0.85rem 1.5rem;border-radius:5px;text-decoration:none;transition:all 0.2s;border:none;cursor:pointer;box-shadow:0 4px 16px rgba(6,199,85,0.3);}
.btn-line:hover{background:#05b34c;transform:translateY(-2px);}
.btn-line .li{font-weight:700;background:#fff;color:#06C755;border-radius:4px;padding:0 0.3rem;font-size:0.8rem;}
.or-line{text-align:center;font-size:0.78rem;color:var(--text-light);margin:0.7rem 0 0.5rem;position:relative;}

/* SAMPLE (mosaic) */
#sample{background:var(--accent);color:#fff;}
#sample .section-title{color:#fff;}
#sample .section-lead{color:rgba(255,255,255,0.72);}
.sample-wrap{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center;max-width:900px;margin:0 auto;}
@media(max-width:760px){.sample-wrap{grid-template-columns:1fr;gap:1.75rem;}}
.sample-img{position:relative;width:300px;justify-self:center;border-radius:8px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.15);}
@media(max-width:760px){.sample-img{width:100%;max-width:320px;}}
.sample-img img{display:block;width:100%;}
.sample-tag{position:absolute;top:12px;left:12px;background:var(--danger);color:#fff;font-size:0.68rem;font-weight:700;padding:0.25rem 0.7rem;border-radius:2px;letter-spacing:0.04em;}
.sample-txt h3{font-family:'Noto Serif JP',serif;font-size:clamp(1.1rem,2.6vw,1.4rem);color:var(--gold-light);font-weight:700;line-height:1.55;margin-bottom:1rem;}
.sample-list{list-style:none;display:flex;flex-direction:column;gap:0.6rem;margin-bottom:1.5rem;}
.sample-list li{font-size:0.88rem;color:rgba(255,255,255,0.85);padding-left:1.5rem;position:relative;line-height:1.65;}
.sample-list li::before{content:'✓';position:absolute;left:0;color:var(--gold-light);font-weight:700;}

/* AREAS */
#areas{background:var(--cream);}
.area-grid{display:flex;flex-wrap:wrap;gap:0.55rem;}
.area-tag{background:#fff;border:1px solid var(--border);color:var(--navy);font-size:0.85rem;font-weight:500;padding:0.45rem 0.85rem;border-radius:5px;text-decoration:none;transition:all 0.15s;white-space:nowrap;}
.area-tag:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.area-tag b{color:var(--gold);font-weight:700;}
.area-note{font-size:0.8rem;color:var(--text-light);margin-top:1.5rem;line-height:1.75;}

/* STICKY MOBILE CTA */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--accent-dark);padding:0.55rem 0.75rem;display:flex;gap:0.5rem;box-shadow:0 -4px 16px rgba(0,0,0,0.3);}
.sticky-cta a{flex:1;min-width:0;text-align:center;padding:0.7rem 0.35rem;border-radius:5px;text-decoration:none;font-weight:700;font-size:0.76rem;line-height:1.25;}
.sticky-cta .s-tel{background:rgba(255,255,255,0.12);color:#fff;border:1px solid rgba(255,255,255,0.25);flex:0.6;}
.sticky-cta .s-form{background:linear-gradient(135deg,var(--gold),#D4A830);color:var(--navy);}
@media(min-width:861px){.sticky-cta{display:none;}}
@media(max-width:420px){.sticky-cta .s-form{font-size:0.68rem;}}
