@charset "UTF-8";

/* =========================================
   ベース
   ========================================= */
:root{ 
   --color-navy:#002a59;
   --color-navy-deep:#001f42;
   --color-gold:#179fb8;
   --color-gold-light:#4fc6dd;
   --color-white:#ffffff;
   --color-text:#00234d; 
   --shadow-soft:0 10px 24px rgba(0,31,66,.22);
  /* FV：ティール基調（デザイン刷新） */
  --fv-teal:#63c1c3; 
  --fv-teal-d:#127f94; 
  --fv-teal-l:#e4f5f7; 
  --fv-ink:#102a39;}
*{ box-sizing:border-box;}
html{ min-width:320px; scroll-behavior:smooth;}
body{ margin:0; padding-top:76px; color:var(--color-text); font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; background:#ffffff;}
img{ display:block; max-width:100%; height:auto;}
a{ color:inherit; text-decoration:none;}
main > section{ scroll-margin-top:76px;}
.site-footer{ display:none;}
.pc{display: block;}
.sp{display: none;}
@media (max-width: 760px){
   .pc{display: none;}
   .sp{display: block;}
}

/* =========================================
   固定ヘッダー
   ========================================= */
.site-header{ position:fixed; top:0; left:0; z-index:1000; width:100%; height:76px; color:#001f42; background:rgba(255,255,255,.95); border-bottom:1px solid rgba(0,42,89,.12); box-shadow:0 8px 24px rgba(0,31,66,.12); backdrop-filter:blur(12px);}
.site-header__inner{ width:min(100%,1200px); height:100%; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:0 40px;}
.site-header__brand{ display:flex; flex-direction:column; justify-content:center; flex:0 0 auto; min-width:196px;}
.site-header__logo{ display:block; align-self:flex-start; width:auto; height:60px;}
.site-header__nav{ display:flex; align-items:center; justify-content:center; gap:clamp(18px,2.08vw,32px); flex:1 1 auto;}
.site-header__nav-link{ position:relative; display:inline-flex; align-items:center; min-height:36px; color:#001f42; font-size:clamp(13px,1.04vw,16px); font-weight:800; line-height:1; letter-spacing:0; white-space:nowrap; transition:color .2s ease;}
.site-header__nav-link::after{ content:""; position:absolute; left:0; bottom:4px; width:100%; height:2px; background:var(--fv-teal); transform:scaleX(0); transform-origin:right center; transition:transform .2s ease;}
.site-header__nav-link:hover{ color:var(--fv-teal);}
.site-header__nav-link:hover::after{ transform:scaleX(1); transform-origin:left center;}
.site-header__cta{ display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:174px; min-height:44px; padding:0 22px; color:#ffffff; font-size:clamp(13px,1.04vw,16px); font-weight:900; line-height:1; letter-spacing:0; white-space:nowrap; background:linear-gradient(135deg,var(--fv-teal) 0%,var(--fv-teal-d) 100%); border:none; border-radius:999px; box-shadow:0 6px 14px rgba(23,159,184,.34); transition:transform .2s ease,box-shadow .2s ease;}
.site-header__cta:hover{ transform:translateY(-1px); box-shadow:0 9px 18px rgba(23,159,184,.44);}
/* ヘッダー右側：電話番号＋CTAをまとめる */
.site-header__actions{ display:flex; align-items:center; gap:clamp(14px,1.6vw,24px); flex:0 0 auto;}
.site-header__tel{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; line-height:1; white-space:nowrap;}
.site-header__tel-label{ color:var(--color-text); font-size:clamp(10px,0.78vw,12px); font-weight:700; letter-spacing:.02em;}
.site-header__tel-num{ display:inline-flex; align-items:center; gap:6px; color:var(--fv-teal-d); font-size:clamp(18px,1.5vw,24px); font-weight:900; letter-spacing:.04em;}
.site-header__tel-icon{ width:.82em; height:.82em; flex:0 0 auto;}
.site-header__tel-hours{ color:var(--color-text); font-size:clamp(9px,0.72vw,11px); font-weight:600; letter-spacing:.02em;}
/* ハンバーガー（PC・タブレットでは非表示） */
.site-header__toggle{ display:none;}
.site-header__nav-link--sp{ display:none;}
/* Responsive: タブレット・スマホでは場所の都合で非表示（問い合わせセクションの番号で代替） */
@media (max-width:1024px){
  .site-header__tel{ display:none;}
}

/* =========================================
   FVヒーロー
   ========================================= */
.hero{ overflow:hidden;}
.hero__visual{ position:relative; padding:clamp(40px,5vw,72px) 0; background:#f2f1ee; overflow:hidden;}
.hero__inner{ position:relative; z-index:2; width:min(100%,1200px); margin:0 auto; padding:0 40px;}
.hero__copy{ max-width:560px;}
.hero__badges{ display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin:0 0 24px;}
.hero__badge{ display:inline-flex; align-items:center; padding:9px 22px; font-size:clamp(15px,1.3vw,18px); font-weight:800; line-height:1.3; letter-spacing:.02em;}
.hero__badge--solid{ color:#ffffff; background:var(--fv-teal); box-shadow:0 6px 16px rgba(23,159,184,.28);}
.hero__badge--light{ color:var(--fv-teal-d); background:var(--fv-teal-l);}
.hero__title{ margin:0; color:var(--fv-ink); font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(32px,3.5vw,50px); font-weight:900; line-height:1.32; letter-spacing:.01em;}
.hero__title-line{ white-space:nowrap;}
.hero__gold{ color:var(--fv-teal);}
.hero__mobile-break{ display:none;}
.hero__lead{ margin:20px 0 0; color:var(--fv-ink); font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(20px,1.95vw,30px); font-weight:800; line-height:1.45; letter-spacing:0;}
.hero__support{ margin:16px 0 0; padding-top:16px; color:var(--color-text); font-size:clamp(14px,1.25vw,18px); font-weight:700; line-height:1.5; letter-spacing:0; border-top:1px solid rgba(23,159,184,.3);}
.hero__support .hero__gold{ font-weight:800; font-size:clamp(15px,1.4vw,20px); white-space:nowrap;}

/* =========================================
   ヒーロー：実績・料金の数字バッジ
   ========================================= */
.hero__stats{ display:flex; flex-wrap:wrap; gap:14px; margin:0; padding:0;}
.hero__stat{ flex:0 0 auto; display:flex; flex-direction:row; align-items:baseline; gap:10px; padding:12px 22px; background:#ffffff; border:1px solid rgba(18,127,148,.16); border-radius:14px; box-shadow:0 8px 20px rgba(14,42,57,.08);}
.hero__stat-label{ margin:0; color:var(--fv-ink); font-size:clamp(11px,1vw,13px); font-weight:700; letter-spacing:.02em; white-space:nowrap;}
.hero__stat-value{ margin:0; display:flex; align-items:baseline; gap:2px; color:var(--fv-teal-d); font-weight:800; line-height:1; white-space:nowrap;}
.hero__stat-value strong{ font-size:clamp(22px,2.6vw,34px); font-weight:900; letter-spacing:.01em;}
.hero__stat-unit{ font-size:clamp(12px,1.05vw,15px); font-weight:800;}

/* CTAボタン＋マイクロコピー */
.hero__cta-row{ margin-top:clamp(22px,2.4vw,32px); display:flex; align-items:flex-end; gap:clamp(16px,1.8vw,26px); flex-wrap:wrap;}
.hero__action{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:10px;}
.hero__action-label{ position:relative; display:inline-block; padding:0 22px; color:var(--fv-teal-d); font-size:clamp(13px,1.05vw,15px); font-weight:800; letter-spacing:.04em; line-height:1;}
.hero__action-label::before,
.hero__action-label::after{ content:""; position:absolute; top:50%; width:2px; height:17px; background:var(--fv-teal);}
.hero__action-label::before{ left:2px; transform:translateY(-50%) rotate(-24deg);}
.hero__action-label::after{ right:2px; transform:translateY(-50%) rotate(24deg);}
.hero__action-btn{ display:inline-flex; align-items:center; justify-content:center; min-width:clamp(210px,17vw,250px); min-height:60px; padding:0 30px; color:#ffffff; font-size:clamp(15px,1.35vw,18px); font-weight:800; letter-spacing:.02em; background:linear-gradient(135deg,var(--fv-teal) 0%,var(--fv-teal-d) 100%); border-radius:35px; box-shadow:0 12px 26px rgba(23,159,184,.34); transition:transform .2s ease,box-shadow .2s ease;}
.hero__action-btn:hover{ transform:translateY(-2px); box-shadow:0 16px 32px rgba(23,159,184,.44);}

/* 円形（角丸）オペレーター写真 */
.hero__photo{ position:absolute; z-index:1; top:50%; right:0; transform:translate(30%,-50%); width:min(50vw,580px); aspect-ratio:1/1; border-radius:50% 0 0 50%; overflow:hidden; box-shadow:0 30px 64px rgba(14,42,57,.18);}
.hero__photo-img{ width:100%; height:100%; object-fit:cover; object-position:66% center;}

/* =========================================
   Sec2: 取りこぼし損失
   ========================================= */
.sec2{ position:relative; overflow:hidden; padding:72px 0px 0px; color:#001f42; background:#FFE99E;}
.sec2::before{ content:""; position:absolute; inset:0; background:rgba(255,255,255,.72); pointer-events:none;}
.sec2__inner{ position:relative; z-index:1; margin:0 auto;}
.sec2__header{ text-align:center;}
.sec2__title{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(42px,3.9vw,60px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec2__title span{ color:#179fb8;}
.sec2__lead{ margin:24px 0 0; color:#001f42; font-size:clamp(20px,1.82vw,28px); font-weight:900; line-height:1.6; letter-spacing:0;}
.sec2__lead span{ color:#179fb8; font-size:clamp(24px,2.34vw,36px);}
.sec2__lead span .sec2__lead-unit{ font-size:.65em;}
.sec2__note{ margin:6px 0 0; color:#001f42; font-size:clamp(14px,1.17vw,18px); font-weight:700; line-height:1.6; letter-spacing:0;}
.sec2__comparison{ margin:58px auto 0; width:min(100%,864px);}
.sec2__comparison-image{ width:100%; margin:0 auto;}
.sec2__loss{ width:min(100%,850px); margin:80px auto; min-height:clamp(96px,8vw,118px); display:flex; align-items:center; justify-content:center; gap:clamp(24px,3vw,42px); padding:clamp(14px,1.5vw,20px) clamp(22px,2.6vw,34px); border:2px solid #179fb8; border-radius:7px; background:rgba(255,255,255,.82);}
.sec2__loss-sub{ position:relative; margin:0; color:#001f42; font-size:clamp(16px,1.5vw,23px); font-weight:800; line-height:1.6; letter-spacing:0;}
.sec2__loss-sub::after{ content:""; position:absolute; top:50%; right:clamp(-21px,-1.5vw,-14px); width:1px; height:clamp(48px,5vw,62px); background:#179fb8; transform:translateY(-50%);}
.sec2__loss-main{ margin:0; color:#001f42; font-size:clamp(22px,2.4vw,36px); font-weight:900; line-height:1.2; letter-spacing:0;}
.sec2__loss-main span{ color:#179fb8; font-size:clamp(50px,5.2vw,80px); line-height:1;}
.sec2__loss-main .sec2__loss-unit{ font-size:.5em;}
.sec2__causes{ margin-top:clamp(28px,3.4vw,48px);}
.sec2__heading{ position:relative; margin:0 auto 35px; width:min(100%,790px); color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(31px,2.86vw,44px); font-weight:900; line-height:1.2; text-align:center; letter-spacing:0;}
.sec2__heading::before,
.sec2__heading::after{ content:""; position:absolute; top:50%; width:29%; height:2px; background:#179fb8;}
.sec2__heading::before{ left:0;}
.sec2__heading::after{ right:0;}
.sec2__cause-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,1.6vw,22px); max-width:min(100%,640px); margin:0 auto;}
.sec2__cause-card{ width:100%; border-radius:50%; box-shadow:0 7px 18px rgba(0,31,66,.12);}
/* こんな状況ありませんか（吹き出し＋見上げる人物） */
.sec2-check{ position:relative; width:100%; margin:72px auto 0; padding:clamp(40px,5vw,64px) clamp(20px,4vw,56px) clamp(96px,25vw,180px); overflow:hidden; border:none; background:#FFE99E; box-shadow:0 14px 34px rgba(16,42,57,.1);}
.sec2-check__title{ margin:0 0 clamp(30px,4.4vw,52px); padding:0; color:#102a39; font-size:clamp(28px,3.2vw,46px); font-weight:900; line-height:1.4; text-align:center; letter-spacing:.02em; background:none;}

/* シーン（吹き出し群＋人物ステージの重ね合わせ） */
.sec2-check__scene{ position:relative; max-width: 1000px; margin: 0 auto;}

/* 3つの吹き出し（中央を高く段差配置） */
.sec2-check__bubbles{ position:relative; z-index:2; margin:0; padding:0; list-style:none; display:flex; align-items:flex-start; justify-content:center; gap:clamp(14px,2.6vw,38px);}
.sec2-check__bubble{ position:relative; flex:1 1 0; max-width:330px; padding:28px 26px; text-align:center; background:#ffffff; border-radius:20px 20px 20px 0; box-shadow:0 16px 30px rgba(16,42,57,.14);}
.sec2-check__bubble--center{ margin-top:0;}
.sec2-check__bubble--left,
.sec2-check__bubble--right{ margin-top:clamp(34px,4vw,52px);}
.sec2-check__bubble-sub{ display:block; color:#1a1a1a; font-size:clamp(13px,1.2vw,16px); font-weight:600; line-height:1.7;}
.sec2-check__bubble-key{ display:block; margin-top:8px; color:#485b9d; font-size:clamp(16px,1.6vw,21px); font-weight:800; line-height:1.7; text-align: left;}

/* 人物アイコン（電話対応に悩む担当者） */
.sec2-check__icon{ position:relative; z-index:1; display:block; width:clamp(100px,26vw,150px); height:auto; margin:clamp(-10px,1.6vw,24px) auto 0;}

@media (max-width: 760px){
  .sec2-check{ padding:clamp(70px,7vw,40px) 18px clamp(74px,16vw,96px);}
  .sec2-check__bubbles{ flex-direction:column; align-items:center; gap:14px;}
  .sec2-check__bubble{ width:min(100%,360px); max-width:none; flex:0 0 auto; margin-top:0;}
  .sec2-check__icon{ width:clamp(100px,48vw,170px); margin-top:24px;}
}
.sec2-cta{padding: 0 20px; width:min(60%,600px); min-height:103px; margin:48px auto; display:flex; align-items:center; justify-content:center; gap:30px; color:#fff; background:linear-gradient(180deg,#179fb8 0%,#127f94 100%); border-radius:12px; border:1px solid rgba(18,127,148,.25); box-shadow:0 7px 15px rgba(16,42,57,.25); transition:transform .2s ease,box-shadow .2s ease;}
.sec2-cta:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(16,42,57,.28);}
.sec2-cta__text{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(20px,3.0vw,26px); font-weight:900; line-height:1; letter-spacing:0;}
.sec2-cta__arrow{ font-size:clamp(30px,3.13vw,48px); line-height:1;}

/* =========================================
   Sec3: 業界特化の電話対応
   ========================================= */
.sec3{ position:relative; padding-bottom:80px; overflow:hidden; color:#001f42; background:#f5f5f5;}
/* 上部に被せるアーチ（ドーム） */
.sec2__arch{ position:absolute; left:50%; bottom:0; z-index:1; width:160vw; height:clamp(80px,10vw,140px); transform:translateX(-50%); display:block; pointer-events:none;}
.sec3__visual{ position:relative; padding:65px 20px 76px; background:#f5f5f5;}
.sec3__inner{ position:relative; z-index:1; width:min(100%,1200px); margin:0 auto;}
.sec3__intro{ width:min(100%,930px); margin:0 auto;}
.sec3__eyebrow{ margin:0 0 16px; text-align:center; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec3__eyebrow::before{ content:"\25CF"; margin-right:9px; color:#179fb8; font-size:.72em; vertical-align:middle;}
.sec3__title{ margin:0; text-align:center; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(40px,3.8vw,56px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec3__title span{ color:#179fb8;}
/* 顧客の質問（アイコン＋吹き出し） */
.sec3-ask{ width:fit-content; max-width:100%; margin:30px auto 0; display:flex; align-items:center; justify-content:center; gap:clamp(12px,2.2vw,28px);}
.sec3-ask__icon{ flex:0 0 auto; width:clamp(132px,16vw,200px); height:auto;}
.sec3-ask__bubbles{ display:grid; gap:clamp(12px,1.6vw,18px);}
.sec3-ask__bubble{ position:relative; margin:0; padding:15px 22px; background:#ffffff; border:2px solid #001f42; border-radius:16px; color:#001f42; font-size:clamp(14px,1.25vw,18px); font-weight:800; line-height:1.5; text-align:left;}
.sec3-ask__bubble::before{ content:""; position:absolute; left:-14px; top:50%; transform:translateY(-50%); border:7px solid transparent; border-right-color:#001f42;}
.sec3-ask__bubble::after{ content:""; position:absolute; left:-10px; top:50%; transform:translateY(-50%); border:6px solid transparent; border-right-color:#ffffff;}
.sec3__ask-note{ margin:57px 0 10px; color:#46536c; font-size:clamp(14px,1.1vw,16px); font-weight:700; line-height:1.6; text-align:center;}
@media (max-width:560px){
  .sec3-ask{ flex-direction:column; gap:18px;}
  .sec3-ask__bubble::before{ left:50%; top:-14px; transform:translateX(-50%) rotate(90deg);}
  .sec3-ask__bubble::after{ left:50%; top:-10px; transform:translateX(-50%) rotate(90deg);}
}
.sec3__warning{ margin:8px 0 0; text-align:center; color:#001f42; font-size:clamp(24px,2.4vw,34px); font-weight:900; line-height:1.55; letter-spacing:0;}
.sec3__warning span{ color:#179fb8; background:linear-gradient(transparent 60%, rgba(23,159,184,.22) 60%);}
.sec3__solution{ max-width:760px; margin:36px auto 0; padding-top:36px; border-top:1px solid rgba(0,42,89,.32); color:#001f42; font-size:clamp(16px,1.4vw,20px); font-weight:800; line-height:1.9; letter-spacing:0; text-align:center;}
.sec3__solution span{ color:#179fb8;}
.sec3__compare-title{ width:min(100%,960px); margin:50px auto 34px; display:flex; align-items:center; justify-content:center; gap:28px; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(36px,3.13vw,48px); font-weight:900; line-height:1.2; text-align:center; letter-spacing:0; white-space:nowrap;}
.sec3__compare-title span{ color:#179fb8; font-size:clamp(26px,2.08vw,32px);}
.sec3-table{ display:grid; grid-template-columns:274px minmax(0,1fr) minmax(0,1.18fr); border:1px solid rgba(0,42,89,.18); border-radius:8px; overflow:hidden; background:rgba(255,255,255,.9); box-shadow:0 8px 18px rgba(0,31,66,.08);}
.sec3-table__header{ display:contents;}
.sec3-table__blank{ background:transparent;}
.sec3-table__head{ min-height:86px; display:flex; align-items:center; justify-content:center; font-size:clamp(28px,2.28vw,35px); font-weight:900; line-height:1; letter-spacing:.06em;}
.sec3-table__head--normal{ color:#001f42; background:linear-gradient(180deg,rgba(244,245,247,.94) 0%,rgba(237,239,242,.94) 100%);}
.sec3-table__head--jaws{ color:#ffffff; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(35px,2.86vw,44px); letter-spacing:0; background:linear-gradient(135deg,#00336d 0%,#001f42 100%);}
.sec3-table__row{ display:contents;}
.sec3-table__feature,
.sec3-table__normal,
.sec3-table__jaws{ min-height:60px; display:flex; align-items:center; border-top:1px solid rgba(0,42,89,.18);}
.sec3-table__feature{ gap:22px; padding:18px 30px; color:#001f42; background:rgba(255,255,255,.78); border-right:1px solid rgba(0,42,89,.18); font-size:clamp(18px,1.82vw 22px); font-weight:900; line-height:1.2; letter-spacing:0;}
.sec3-table__feature img{ width:54px; height:54px; object-fit:cover; object-position:center;}
.sec3-table__normal{ flex-direction:column; gap:8px; justify-content:center; padding:20px 32px; color:#001f42; background:rgba(255,255,255,.78); border-right:1px solid rgba(0,42,89,.18); font-size:clamp(16px,1.43vw,20px); font-weight:800; line-height:1.5; text-align:center; letter-spacing:0;}
.sec3-table__jaws{ flex-direction:column; gap:8px; justify-content:center; padding:20px 32px; color:#179fb8; background:rgba(255,250,239,.78); font-size:clamp(16px,1.43vw,20px); font-weight:900; line-height:1.5; text-align:center; letter-spacing:.04em;}
.sec3-message{ width:min(100%,840px); margin:0 auto; padding:0 20px;}
.sec3-message__text{ margin:0; color:#001f42; font-size:clamp(17px,1.6vw,23px); font-weight:700; line-height:1.95; text-align:center; letter-spacing:0;}
.sec3-message__text b{ font-weight:900;}
.sec3-message__text .hl{ color:#179fb8; background:linear-gradient(transparent 62%, rgba(23,159,184,.18) 62%);}
@media (max-width: 760px){
   .sec3__solution{text-align: left;}
}
/* =========================================
   Sec4: 解決策提示
   ========================================= */
.sec4{ overflow:hidden; color:#001f42; background:#ffffff;}
.sec4__visual{ position:relative; padding:42px 20px 34px; background:#ffffff;}
.sec4__inner{ position:relative; z-index:1; width:min(100%,1200px); margin:0 auto;}
.sec4__intro{ width:min(100%,740px); margin:0 auto;}
.sec4__eyebrow{ margin:0 0 16px; text-align:center; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec4__eyebrow::before{ content:"\25CF"; margin-right:9px; color:#179fb8; font-size:.72em; vertical-align:middle;}
.sec4__title{ margin:0; text-align:center; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(40px,3.8vw,56px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec4__title span{ color:#179fb8;}
/* サービス説明（アイコン＋吹き出し／sec3-askと同デザイン） */
.sec4-ask{ width:fit-content; max-width:100%; margin:28px auto 0; display:flex; align-items:center; justify-content:center; gap:clamp(12px,2.2vw,28px);}
.sec4-ask__icon{ flex:0 0 auto; width:clamp(132px,16vw,150px); height:auto;}
.sec4-ask__bubbles{ display:grid; gap:clamp(12px,1.6vw,18px);}
.sec4-ask__bubble{ position:relative; margin:0; padding:15px 22px; background:#ffffff; border:2px solid #001f42; border-radius:16px; color:#001f42; font-size:clamp(14px,1.25vw,18px); font-weight:800; line-height:1.5; text-align:left;}
.sec4-ask__bubble::before{ content:""; position:absolute; left:-14px; top:50%; transform:translateY(-50%); border:7px solid transparent; border-right-color:#001f42;}
.sec4-ask__bubble::after{ content:""; position:absolute; left:-10px; top:50%; transform:translateY(-50%); border:6px solid transparent; border-right-color:#ffffff;}
@media (max-width:560px){
  .sec4-ask{ flex-direction:column; gap:18px;}
  .sec4-ask__bubble::before{ left:50%; top:-14px; transform:translateX(-50%) rotate(90deg);}
  .sec4-ask__bubble::after{ left:50%; top:-10px; transform:translateX(-50%) rotate(90deg);}
}
.sec4__body{ padding:0 20px 54px; background:#ffffff;}
.sec4__heading{ width:min(100%,840px); margin:56px auto 18px; display:flex; align-items:center; justify-content:center; gap:37px; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(31px,2.86vw,44px); font-weight:900; line-height:1.2; text-align:center; letter-spacing:0; white-space:nowrap;}
.sec4__heading::before,
.sec4__heading::after{ content:""; flex:0 0 auto; width:clamp(34px,3.6vw,50px); height:clamp(42px,4.4vw,62px); background:linear-gradient(50deg,transparent 39%,#179fb8 40%,#179fb8 41%,transparent 42%,transparent 58%,#179fb8 59%,#179fb8 60%,transparent 61%); opacity:.9;}
.sec4__heading::before{ transform:skewX(-10deg);}
.sec4__heading::after{ transform:scaleX(-1) skewX(-10deg);}
.sec4-risk{ width:min(100%,840px); margin:30px auto 0; padding:0 20px;}
.sec4-risk__main{ display:block;}
.sec4-risk__copy{ min-width:0;}
.sec4-risk__text{ margin:12px 0 0; color:#001f42; font-size:clamp(15px,1.3vw,17px); font-weight:600; line-height:1.85; text-align:center; letter-spacing:0;}
/* リスク対応メリット（アイコン＋見出し＋本文カード） */
/* メリットカード（縦並び・中央寄せ） */
.sec4-flow{ width:min(100%,760px); margin:30px auto 0;}
.sec4-merit{ --merit-shift:clamp(24px,4vw,56px); margin:0; padding:0; list-style:none; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-around; gap:clamp(14px,1.8vw,22px); min-width:0;}
@media (max-width:820px){
  .sec4-merit{ justify-content:flex-start; gap: clamp(32px, 1.8vw, 22px);}
  .sec4-merit__item{ width:100%;}
  .sec4-merit__item:nth-child(2){ margin-left:0;}
}
.sec4-merit__item{ width:calc(100% - var(--merit-shift)); display:flex; align-items:center; gap:clamp(16px,2vw,26px); padding:clamp(18px,2vw,26px) clamp(20px,2.4vw,34px); background:#f3f5f7; border-radius:75px;}
.sec4-merit__icon{ width:clamp(54px,6vw,72px); height:auto; flex:0 0 auto; object-fit:contain;}
.sec4-merit__body{ min-width:0;}
.sec4-merit__title{ margin:0 0 6px; color:#179fb8; font-size:clamp(17px,1.5vw,21px); font-weight:900; line-height:1.4; letter-spacing:0;}
.sec4-merit__text{ margin:0; color:#46536c; font-size:clamp(14px,1.15vw,16px); font-weight:600; line-height:1.7; letter-spacing:0;}
@media (max-width:560px){
  .sec4-merit__item{ flex-direction:column; align-items:flex-start; text-align:left;}
}
.sec4__closing{ position:relative; padding:43px 20px 37px; text-align:center; background:#ffffff;}
.sec4__closing::before,
.sec4__closing::after{ content:""; position:absolute; top:58px; width:72px; height:88px; background:linear-gradient(50deg,transparent 39%,#179fb8 40%,#179fb8 41%,transparent 42%,transparent 58%,#179fb8 59%,#179fb8 60%,transparent 61%); opacity:.9;}
.sec4__closing::before{ left:7.2%; transform:skewX(-10deg);}
.sec4__closing::after{ right:7.2%; transform:scaleX(-1) skewX(-10deg);}
.sec4__closing-text{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(32px,3.13vw,48px); font-weight:900; line-height:1.65; letter-spacing:0;}
.sec4__closing-text span{ color:#179fb8;}
.sec4__closing-arrow{ display:block; width:0; height:0; margin:25px auto 0; border-left:26px solid transparent; border-right:26px solid transparent; border-top:18px solid #179fb8;}

/* =========================================
   Sec5: 導入後のベネフィット
   ========================================= */
.sec5{ position:relative; overflow:hidden; padding:42px 20px 42px; color:#001f42; background:#ffffff;}
.sec5__inner{ position:relative; z-index:1; width:min(100%,1200px); margin:0 auto;}
.sec5__header{ width:min(100%,1010px); margin:0 auto;}
.sec5__eyebrow{ margin:0 0 16px; text-align:center; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec5__eyebrow::before{ content:"\25CF"; margin-right:9px; color:#179fb8; font-size:.72em; vertical-align:middle;}
.sec5__title{ margin:0; text-align:center; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(40px,3.8vw,56px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec5__title span{ color:#179fb8;}
.sec5__lead{ margin:20px 0 0; color:#001f42; font-size:clamp(15px,1.4vw,18px); font-weight:700; line-height:1.7; letter-spacing:0; text-align:center;}
.sec5__cards{ margin-top:28px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px;}
.sec5-card{ display:flex; flex-direction:column; overflow:hidden; color:#001f42; background:#ffffff; border:1px solid rgba(0,31,66,.08); border-radius:12px; box-shadow:0 10px 26px rgba(0,31,66,.10); transition:transform .3s ease, box-shadow .3s ease;}
.sec5-card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(0,31,66,.16);}
.sec5-card__image{ display:block; width:100%; aspect-ratio:16/10; object-fit:cover; background:#eaeef3;}
.sec5-card__body{ flex:1; padding:20px 18px 24px;}
.sec5-card__text{ margin:0; color:#3a566f; font-size:clamp(13px,1vw,15px); font-weight:700; line-height:1.72; letter-spacing:0;}
.sec5-message{ margin:32px auto 0; max-width:900px; color:#001f42; font-size:clamp(17px,1.6vw,23px); font-weight:700; line-height:1.95; text-align:center; letter-spacing:0;}
.sec5-message b{ font-weight:900;}
.sec5-message .hl{ color:#179fb8; background:linear-gradient(transparent 62%, rgba(23,159,184,.18) 62%);}

/* =========================================
   Sec6: 導入事例
   ========================================= */
.sec6{ position:relative; overflow:hidden; padding:38px 20px 35px; color:#001f42; background:#FFE99E;}
.sec6__inner{ position:relative; z-index:1; width:min(100%,1200px); margin:0 auto;}
.sec6__header{ width:min(100%,830px); margin:0 auto; text-align:center;}
.sec6__label{ margin:0 0 16px; display:flex; justify-content:center; align-items:center; gap:9px; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec6__label::before{ content:"\25CF"; color:#179fb8; font-size:.72em;}
.sec6__label span:nth-child(2){ color:#179fb8; font-weight:600;}
.sec6__title{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(40px,3.8vw,56px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec6__lead{ margin:24px 0 0; color:#001f42; font-size:clamp(20px,1.82vw,28px); font-weight:700; line-height:1.75; letter-spacing:0;}
.sec6__cases{ margin-top:30px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px;}
.sec6-case{ overflow:hidden; min-width:0; background:rgba(255,255,255,.92); border:1px solid rgba(0,31,66,.12); border-radius:9px; box-shadow:0 7px 19px rgba(0,31,66,.12);}
.sec6-case__header{ min-height:81px; display:grid; grid-template-columns:268px 1fr; align-items:center; border-bottom:2px solid #179fb8;}
.sec6-case__number{ position:relative; height:81px; margin:0; display:flex; align-items:center; gap:13px; padding-left:23px; color:#ffffff; background:linear-gradient(135deg,#00336d 0%,#001f42 100%); clip-path:polygon(0 0,100% 0,78% 100%,0 100%);}
.sec6-case__number span{ font-size:clamp(21px,1.95vw,30px); font-weight:900; line-height:1;}
.sec6-case__number strong{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(39px,3.52vw,54px); font-weight:900; line-height:1;}
.sec6-case__name{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(31px,2.93vw,45px); font-weight:900; line-height:1; letter-spacing:.08em; text-align:center;}
.sec6-case__name span{ margin-left:6px; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(22px,1.95vw,30px);}
.sec6-case__body{ padding:32px 35px 34px;}
.sec6-case__row{ display:grid; grid-template-columns:120px 1fr; align-items:center; gap:36px; min-height:118px; padding:0 0 24px; margin-bottom:23px; border-bottom:2px dotted rgba(0,31,66,.28);}
.sec6-case__row:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0;}
.sec6-case__label{ width:106px; min-height:55px; margin:0; display:flex; align-items:center; justify-content:center; color:#001f42; font-size:clamp(22px,1.82vw,28px); font-weight:900; line-height:1; background:linear-gradient(180deg,#f8f9fb 0%,#eef1f4 100%); border:1px solid rgba(0,31,66,.2); border-radius:4px; box-shadow:0 4px 10px rgba(0,31,66,.08);}
.sec6-case__label--result{ color:#ffffff; background:linear-gradient(180deg,#4fc6dd 0%,#127f94 100%); border-color:#127f94;}
.sec6-case__label--navy{ color:#ffffff; background:linear-gradient(135deg,#00336d 0%,#001f42 100%); border-color:#001f42;}
.sec6-case__text{ margin:0; color:#001f42; font-size:clamp(21px,1.82vw,28px); font-weight:700; line-height:1.62; letter-spacing:.06em;}
.sec6-case__result{ min-width:0;}
.sec6-case__result-lead{ margin:0; color:#001f42; font-size:clamp(21px,1.82vw,28px); font-weight:900; line-height:1.2; letter-spacing:.04em;}
.sec6-case__result-main{ margin:4px 0 0; color:#179fb8; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(56px,5.47vw,84px); font-weight:900; line-height:1; letter-spacing:0;}
.sec6-case__result-main span{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(31px,3.13vw,48px);}
.sec6-case__result-main small{ margin-left:19px; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(23px,1.95vw,30px);}
.sec6-cta{ width:min(100%,926px); min-height:94px; margin:34px auto 0; display:flex; align-items:center; justify-content:center; gap:44px; color:#fff; background:linear-gradient(180deg,#7fd6e3 0%,#179fb8 55%,#127f94 100%); border:1px solid rgba(18,127,148,.25); border-radius:7px; box-shadow:0 7px 16px rgba(16,42,57,.22); transition:transform .2s ease,box-shadow .2s ease;}
.sec6-cta:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(16,42,57,.28);}
.sec6-cta__text{ font-size:clamp(27px,2.73vw,42px); font-weight:900; line-height:1; letter-spacing:.12em; white-space:nowrap;}
.sec6-cta__arrow{ font-size:clamp(30px,3.13vw,48px); line-height:1;}

/* =========================================
   Sec7: サービス内容・料金
   ========================================= */
.sec7{ position:relative; overflow:hidden; padding:38px 20px 42px; color:#001f42; background:#f5f5f5;}
.sec7__inner{ position:relative; z-index:1; width:min(100%,1200px); margin:0 auto;}
.sec7__header{ width:min(100%,920px); margin:0 auto; text-align:center;}
.sec7__label{ margin:0 0 16px; display:flex; justify-content:center; align-items:center; gap:9px; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec7__label::before{ content:"\25CF"; color:#179fb8; font-size:.72em;}
.sec7__label span:nth-child(2){ color:#179fb8; font-weight:600;}
.sec7__title{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(40px,3.8vw,56px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec7__lead{ margin:24px 0 0; color:#001f42; font-size:clamp(23px,2.08vw,32px); font-weight:900; line-height:1.55; letter-spacing:.05em;}
.sec7__lead span{ color:#179fb8;}
.sec7-plan{ overflow:hidden; margin-top:29px; background:rgba(255,255,255,.96); border:1px solid rgba(0,31,66,.14); border-radius:9px; box-shadow:0 8px 20px rgba(0,31,66,.14);}
.sec7-plan__head{ min-height:63px; display:grid; grid-template-columns:28% 31% 41%; color:#ffffff; background:linear-gradient(135deg,#00336d 0%,#001f42 100%);}
.sec7-plan__head-cell{ margin:0; display:flex; align-items:center; justify-content:center; color:#ffffff; font-size:clamp(24px,2.15vw,33px); font-weight:900; line-height:1; letter-spacing:.06em; border-left:1px solid rgba(255,255,255,.7);}
.sec7-plan__head-cell:first-child{ border-left:0;}
.sec7-plan__body{ display:grid; grid-template-columns:28% 31% 41%; min-height:294px;}
.sec7-plan__service{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; color:#ffffff; background:linear-gradient(135deg,#00336d 0%,#001f42 100%);}
.sec7-plan__service-name{ margin:0; color:#ffffff; font-size:clamp(29px,2.34vw,36px); font-weight:900; line-height:1; letter-spacing:.05em;}
.sec7-plan__details{ min-width:0; display:flex; flex-direction:column; justify-content:center; padding:30px 42px; border-right:1px solid rgba(0,31,66,.14);}
.sec7-plan__detail{ display:grid; grid-template-columns:34px 1fr; align-items:start; gap:20px; margin:0 0 24px; padding:0 0 24px; color:#001f42; font-size:clamp(19px,1.56vw,24px); font-weight:900; line-height:1.55; letter-spacing:.04em; border-bottom:2px dotted rgba(0,31,66,.25);}
.sec7-plan__detail:last-child{ margin-bottom:0; padding-bottom:0; border-bottom:0;}
.sec7-plan__check{ position:relative; width:28px; height:28px; margin-top:.25em; border:3px solid #179fb8; border-radius:50%;}
.sec7-plan__check::after{ content:""; position:absolute; left:7px; top:6px; width:10px; height:6px; border-left:3px solid #179fb8; border-bottom:3px solid #179fb8; transform:rotate(-45deg);}
.sec7-plan__price{ display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px 58px 28px;}
.sec7-plan__fixed{ width:100%; margin:0; display:flex; align-items:baseline; justify-content:center; gap:20px; color:#179fb8; line-height:1;}
.sec7-plan__fixed-label{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(34px,3.26vw,50px); font-weight:900; letter-spacing:.05em;}
.sec7-plan__fixed strong{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(86px,7.16vw,110px); font-weight:900;}
.sec7-plan__yen{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(34px,3.26vw,50px); font-weight:900;}
.sec7-plan__unit{ width:100%; margin:22px 0 0; padding-top:22px; display:flex; align-items:baseline; justify-content:center; gap:12px; color:#179fb8; line-height:1; border-top:2px solid #179fb8;}
.sec7-plan__unit strong{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(82px,6.77vw,104px); font-weight:900;}
.sec7-plan__unit span{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(33px,3.13vw,48px); font-weight:900;}
.sec7-heading{ display:flex; align-items:center; justify-content:center; gap:38px; margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(33px,3.13vw,48px); font-weight:900; line-height:1.2; letter-spacing:.05em; text-align:center;}
.sec7-heading::before,
.sec7-heading::after{ content:""; width:clamp(150px,17vw,260px); height:2px; background:#179fb8;}
.sec7-compare{ margin-top:48px; padding:0 50px 36px; background:rgba(255,255,255,.94); border:1px solid rgba(0,31,66,.16); border-radius:9px; box-shadow:0 7px 18px rgba(0,31,66,.1);}
.sec7-compare .sec7-heading{ transform:translateY(-.62em);}
.sec7-compare__chart{ position:relative; display:grid; grid-template-columns:260px 1fr; row-gap:30px; align-items:center; margin-top:-9px; padding:0 0 0 44px;}
.sec7-compare__label{ margin:0; color:#001f42; font-size:clamp(21px,1.95vw,30px); font-weight:900; line-height:1; letter-spacing:.04em;}
.sec7-compare__label--jaws{ color:#179fb8;}
.sec7-compare__bar-area{ position:relative; min-height:58px; border-left:3px solid #001f42;}
.sec7-compare__bar{ position:absolute; left:0; top:13px; height:29px; display:block;}
.sec7-compare__bar--jaws{ width:31%; background:linear-gradient(90deg,#179fb8 0%,#4fc6dd 100%);}
.sec7-compare__bar--normal{ width:72%; background:linear-gradient(90deg,#a8b0b8 0%,#c5cbd1 100%);}
.sec7-compare__price{ position:absolute; top:50%; margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-weight:900; line-height:1; transform:translateY(-50%); white-space:nowrap;}
.sec7-compare__price--jaws{ left:36%; color:#179fb8; font-size:clamp(46px,5.21vw,80px);}
.sec7-compare__price--normal{ left:auto; right:0; font-size:clamp(31px,2.93vw,45px);}
.sec7-reason{ margin-top:49px; text-align:center;}
.sec7-reason__lead{ margin:23px 0 0; color:#001f42; font-size:clamp(20px,1.82vw,28px); font-weight:900; line-height:1.7; letter-spacing:.05em;}
.sec7-reason__cards{ margin-top:25px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:31px;}
.sec7-reason-card{ min-height:160px; display:grid; grid-template-columns:190px 1fr; align-items:center; gap:20px; padding:24px 34px; text-align:left; background:rgba(255,255,255,.96); border:1px solid rgba(0,31,66,.12); border-radius:9px; box-shadow:0 7px 18px rgba(0,31,66,.1);}
.sec7-reason-card__title{ position:relative; margin:0; padding-bottom:22px; color:#001f42; font-size:clamp(23px,2.15vw,33px); font-weight:900; line-height:1.35; letter-spacing:.05em;}
.sec7-reason-card__title::after{ content:""; position:absolute; left:0; bottom:0; width:95px; height:2px; background:#179fb8;}
.sec7-reason-card__text{ margin:18px 0 0; color:#001f42; font-size:clamp(17px,1.56vw,24px); font-weight:700; line-height:1.55; letter-spacing:.05em;}
.sec7-note{ min-height:108px; margin-top:36px; display:grid; grid-template-columns:230px 1fr; align-items:center; padding:20px 48px; background:rgba(255,251,244,.92); border:2px solid rgba(23,159,184,.55); border-radius:16px;}
.sec7-note__text{ margin:0; padding-left:63px; color:#001f42; font-size:clamp(24px,2.34vw,36px); font-weight:900; line-height:1.65; letter-spacing:.08em; border-left:2px solid #179fb8;}
.sec7-note__text span{ color:#179fb8; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(33px,3.13vw,48px);}

/* =========================================
   Sec8: 導入ハードルの低減
   ========================================= */
.sec8{ position:relative; overflow:hidden; padding:41px 20px 38px; color:#001f42; background:#FFE99E;}
.sec8::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 22%,rgba(0,42,89,.05) 0%,rgba(255,255,255,0) 38%); pointer-events:none;}
.sec8__inner{ position:relative; z-index:1; width:min(100%,1200px); margin:0 auto;}
.sec8__header,
.sec9__header,
.sec10__header{ text-align:center;}
.sec8__label{ margin:0 0 16px; display:flex; justify-content:center; align-items:center; gap:9px; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec8__label::before{ content:"\25CF"; color:#179fb8; font-size:.72em;}
.sec8__label span:nth-child(2){ color:#179fb8; font-weight:600;}
.sec8__title{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(40px,3.8vw,56px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec8__title span{ color:#179fb8;}
.sec8__lead{ margin:23px 0 0; color:#001f42; font-size:clamp(20px,1.82vw,28px); font-weight:900; line-height:1.55; letter-spacing:.06em;}
.sec8__cards{ margin-top:31px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px;}
.sec8-card{ min-height:295px; padding:34px 34px 31px; background:rgba(255,255,255,.96); border:1px solid rgba(0,31,66,.1); border-radius:9px; box-shadow:0 8px 20px rgba(0,31,66,.12);}
.sec8-card__title{ position:relative; margin:0; padding-bottom:25px; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(29px,2.34vw,36px); font-weight:900; line-height:1.55; letter-spacing:.07em; text-align:center;}
.sec8-card__title::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:#179fb8;}
.sec8-card__title span{ color:#179fb8; font-size:clamp(70px,5.86vw,90px); line-height:.8;}
.sec8-card__title small{ color:#179fb8; font-size:clamp(28px,2.34vw,36px);}
.sec8-card__gold{ color:#179fb8 !important; font-size:inherit !important; line-height:inherit !important;}
.sec8-card__text{ margin:24px 0 0; color:#001f42; font-size:clamp(17px,1.5vw,23px); font-weight:700; line-height:1.8; letter-spacing:.07em;}
.sec8-flow{ margin-top:39px;}
.sec8-flow__title{ display:flex; align-items:center; justify-content:center; gap:44px; margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(28px,2.73vw,42px); font-weight:900; line-height:1.2; letter-spacing:.16em; text-align:center;}
.sec8-flow__title::before,
.sec8-flow__title::after{ content:""; flex:1 1 auto; height:2px; background:#179fb8;}
.sec8-flow__list{ margin:27px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:44px; list-style:none;}
.sec8-flow__item{ position:relative; display:grid; grid-template-columns:94px 1fr; align-items:center; gap:24px; min-width:0;}
.sec8-flow__item:not(:last-child)::after{ content:""; position:absolute; right:-34px; top:50%; width:72px; height:2px; background:#179fb8;}
.sec8-flow__item:not(:last-child)::before{ content:""; position:absolute; right:-34px; top:calc(50% - 5px); width:11px; height:11px; border-top:2px solid #179fb8; border-right:2px solid #179fb8; transform:rotate(45deg);}
.sec8-flow__number{ width:78px; height:78px; display:flex; align-items:center; justify-content:center; color:#ffffff; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(39px,3.52vw,54px); font-weight:900; line-height:1; background:linear-gradient(135deg,#00336d 0%,#001f42 100%); border-radius:50%; box-shadow:0 7px 16px rgba(0,31,66,.18);}
.sec8-flow__text{ margin:0; color:#001f42; line-height:1.35;}
.sec8-flow__text strong{ display:block; font-size:clamp(23px,2.08vw,32px); font-weight:900; letter-spacing:.08em;}
.sec8-flow__text span{ display:block; margin-top:8px; font-size:clamp(15px,1.3vw,20px); font-weight:900; letter-spacing:.06em;}
.sec8-message{ min-height:120px; margin-top:38px; display:flex; align-items:center; justify-content:center; padding:24px 60px; color:#ffffff; background:linear-gradient(135deg,#00336d 0%,#001f42 100%); border-radius:7px; box-shadow:0 9px 21px rgba(0,31,66,.22);}
.sec8-message__text{ margin:0; padding-left:34px; color:#ffffff; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(29px,2.73vw,42px); font-weight:900; line-height:1.45; letter-spacing:.08em; border-left:2px solid #179fb8;}
.sec8-message__text span{ color:#4fc6dd;}

/* =========================================
   Sec9: 適合・対象企業
   ========================================= */
.sec9{ position:relative; overflow:hidden; padding:42px 20px 54px; color:#001f42; background:#ffffff;}
.sec9::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 52%,rgba(255,255,255,.55) 100%); pointer-events:none;}
.sec9__inner{ position:relative; z-index:1; width:min(100%,1200px); margin:0 auto;}
.sec9__label{ margin:0 0 16px; display:flex; justify-content:center; align-items:center; gap:9px; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec9__label::before{ content:"\25CF"; color:#179fb8; font-size:.72em;}
.sec9__label span:nth-child(2){ color:#179fb8; font-weight:600;}
.sec9__title{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(40px,3.8vw,56px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec9__title span{ color:#179fb8;}
.sec9__lead{ margin:27px 0 0; color:#001f42; font-size:clamp(21px,1.95vw,30px); font-weight:900; line-height:1.8; letter-spacing:.07em;}
.sec9__cards{ margin-top:26px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 26px;}
.sec9-card{ min-height:182px; display:grid; grid-template-columns:120px 1fr 2px 170px; align-items:center; gap:24px; padding:26px 34px; background:rgba(255,255,255,.96); border:1px solid rgba(0,31,66,.1); border-radius:9px; box-shadow:0 8px 20px rgba(0,31,66,.13);}
.sec9-card::before{ content:""; width:2px; height:93px; background:#179fb8; grid-column:3;}
.sec9-card__check{ width:86px; height:auto; grid-column:1; grid-row:1; justify-self:center;}
.sec9-card__text{ margin:0; color:#001f42; font-size:clamp(22px,2.08vw,32px); font-weight:900; line-height:1.65; letter-spacing:.06em; grid-column:2; grid-row:1;}
.sec9-card__icon{ width:clamp(96px,8.46vw,130px); height:auto; grid-column:4; grid-row:1; justify-self:center;}
.sec9-cta{ min-height:188px; margin-top:25px; display:grid; grid-template-columns:190px 1fr 520px; align-items:center; gap:34px; padding:28px 42px; color:#ffffff; background:linear-gradient(135deg,#00336d 0%,#001f42 100%); border-radius:9px; box-shadow:0 9px 22px rgba(0,31,66,.24);}
.sec9-cta__text{ margin:0; padding-left:43px; color:#ffffff; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(31px,3.13vw,48px); font-weight:900; line-height:1.48; letter-spacing:.08em; border-left:2px solid #179fb8;}
.sec9-cta__text span{ color:#4fc6dd;}
.sec9-cta__button{ min-height:95px; display:flex; align-items:center; justify-content:center; gap:25px; padding:16px 30px; color:#fff; background:linear-gradient(180deg,#7fd6e3 0%,#179fb8 56%,#127f94 100%); border:1px solid rgba(18,127,148,.25); border-radius:8px; box-shadow:0 7px 16px rgba(0,0,0,.24); transition:transform .2s ease,box-shadow .2s ease;}
.sec9-cta__button:hover{ transform:translateY(-2px); box-shadow:0 11px 22px rgba(0,0,0,.28);}
.sec9-cta__button span{ font-size:clamp(24px,2.08vw,32px); font-weight:900; line-height:1; letter-spacing:.08em; white-space:nowrap;}

/* =========================================
   Sec10: 資料請求フォーム
   ========================================= */
.sec10{ position:relative; overflow:hidden; padding:30px 20px 45px; color:#001f42; background:#f5f5f5;}
.sec10__inner{ position:relative; z-index:1; width:min(100%,1200px); margin:0 auto;}
.sec10__label{ margin:0 0 16px; display:flex; justify-content:center; align-items:center; gap:9px; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec10__label::before{ content:"\25CF"; color:#179fb8; font-size:.72em;}
.sec10__label span:nth-child(2){ color:#179fb8; font-weight:600;}
.sec10__title{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(40px,3.8vw,56px); font-weight:900; line-height:1.42; letter-spacing:0;}
.sec10__title span{ color:#179fb8;}
.sec10__lead{ margin:23px 0 0; color:#001f42; font-size:clamp(18px,1.63vw,25px); font-weight:800; line-height:1.7; letter-spacing:.08em;}
/* 資料請求：電話でのお問い合わせ */
.sec10-contact{ margin:22px auto 0; display:flex; flex-direction:column; align-items:center; gap:4px;}
.sec10-contact__label{ color:#00234d; font-size:clamp(13px,1.1vw,16px); font-weight:700; letter-spacing:.08em;}
.sec10-contact__num{ display:inline-flex; align-items:center; gap:.28em; color:#127f94; font-size:clamp(30px,3.6vw,44px); font-weight:900; line-height:1.1; letter-spacing:.04em;}
.sec10-contact__icon{ width:.86em; height:.86em; flex:0 0 auto;}
.sec10-contact__hours{ color:#00234d; font-size:clamp(12px,1vw,15px); font-weight:600; letter-spacing:.06em;}
.sec10__panel{ margin-top:25px; display:grid; grid-template-columns:510px 1fr; gap:34px; padding:20px; color:#ffffff; background:linear-gradient(135deg,#00336d 0%,#001f42 100%); border-radius:8px; box-shadow:0 10px 24px rgba(0,31,66,.26);}
.sec10-info{ min-width:0; padding:10px 22px 22px;}
.sec10-info__title{ position:relative; margin:0; padding-bottom:18px; color:#ffffff; font-size:clamp(24px,2.08vw,32px); font-weight:900; line-height:1.2; letter-spacing:.08em; text-align:center;}
.sec10-info__title::after{ content:""; position:absolute; left:50%; bottom:0; width:86px; height:2px; background:#179fb8; transform:translateX(-50%);}
.sec10-info__list{ margin:18px 0 0; padding:0; list-style:none;}
.sec10-info__item{ min-height:70px; display:grid; grid-template-columns:56px 36px 1fr; align-items:center; gap:18px; color:#ffffff; font-size:clamp(20px,1.69vw,26px); font-weight:900; line-height:1.2; letter-spacing:.05em; border-bottom:2px dotted rgba(255,255,255,.38);}
.sec10-info__icon{ position:relative; width:48px; height:48px; display:block;}
.sec10-info__icon--document{ border:3px solid #ffffff; border-radius:4px;}
.sec10-info__icon--document::before{ content:""; position:absolute; right:-3px; top:-3px; width:17px; height:17px; background:#00336d; border-left:3px solid #ffffff; border-bottom:3px solid #ffffff;}
.sec10-info__icon--document::after{ content:""; position:absolute; left:10px; top:16px; width:24px; height:14px; border-top:3px solid #ffffff; border-bottom:3px solid #ffffff;}
.sec10-info__icon--chart::before{ content:""; position:absolute; left:5px; bottom:6px; width:7px; height:15px; background:#ffffff; box-shadow:13px -8px 0 #ffffff,26px -18px 0 #ffffff;}
.sec10-info__icon--chart::after{ content:""; position:absolute; left:4px; top:8px; width:39px; height:24px; border-left:3px solid #ffffff; border-bottom:3px solid #ffffff; transform:skewY(-28deg);}
.sec10-info__icon--case{ border:3px solid #ffffff; border-radius:5px;}
.sec10-info__icon--case::before{ content:""; position:absolute; left:13px; top:-12px; width:18px; height:12px; border:3px solid #ffffff; border-bottom:0; border-radius:4px 4px 0 0;}
.sec10-info__icon--case::after{ content:""; position:absolute; left:0; right:0; top:20px; height:3px; background:#ffffff;}
.sec10-info__icon--flow::before{ content:""; position:absolute; left:4px; top:8px; width:8px; height:8px; background:#ffffff; border-radius:50%; box-shadow:28px 0 0 #ffffff,14px 28px 0 #ffffff;}
.sec10-info__icon--flow::after{ content:""; position:absolute; left:10px; top:14px; width:28px; height:28px; border-top:3px solid #ffffff; border-right:3px solid #ffffff; transform:rotate(45deg);}
.sec10-info__check{ position:relative; width:30px; height:30px; display:block; border:3px solid #4fc6dd; border-radius:50%;}
.sec10-info__check::after{ content:""; position:absolute; left:7px; top:7px; width:11px; height:6px; border-left:3px solid #4fc6dd; border-bottom:3px solid #4fc6dd; transform:rotate(-45deg);}
.sec10-info__features{ margin-top:25px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.6); border-bottom:1px solid rgba(255,255,255,.25);}
.sec10-feature{ min-height:118px; display:grid; grid-template-columns:76px 1fr; align-items:center; gap:16px; padding:18px 12px; border-top:1px solid rgba(23,159,184,.6);}
.sec10-feature:nth-child(1),
.sec10-feature:nth-child(2){ border-top:0;}
.sec10-feature:nth-child(2n){ border-left:1px solid rgba(23,159,184,.7);}
.sec10-feature__icon{ width:65px; height:auto; filter:brightness(0) saturate(100%) invert(73%) sepia(81%) saturate(673%) hue-rotate(352deg) brightness(99%) contrast(92%);}
.sec10-feature__price{ margin:0; color:#4fc6dd; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(50px,4.3vw,66px); font-weight:900; line-height:1;}
.sec10-feature__circle{ width:66px; height:66px; margin:0; display:flex; align-items:center; justify-content:center; color:#4fc6dd; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(24px,2.08vw,32px); font-weight:900; border:4px solid #4fc6dd; border-radius:50%;}
.sec10-feature__calendar{ position:relative; width:62px; height:62px; border:4px solid #4fc6dd; border-radius:6px;}
.sec10-feature__calendar::before{ content:""; position:absolute; left:-4px; right:-4px; top:14px; height:4px; background:#4fc6dd;}
.sec10-feature__calendar::after{ content:""; position:absolute; left:12px; top:30px; width:8px; height:8px; background:#4fc6dd; box-shadow:16px 0 0 #4fc6dd,0 16px 0 #4fc6dd,16px 16px 0 #4fc6dd;}
.sec10-feature__text{ margin:0; color:#ffffff; font-size:clamp(15px,1.17vw,18px); font-weight:900; line-height:1.45; letter-spacing:.04em;}
.sec10-feature__text span{ display:block; margin-top:6px; font-size:clamp(12px,.98vw,15px); font-weight:700; line-height:1.45;}
.sec10-form{ min-width:0; padding:36px 48px 36px; background:rgba(255,255,255,.97); border-radius:8px;}
.sec10-form__row{ display:grid; grid-template-columns:190px 58px 1fr; align-items:center; gap:18px; margin-bottom:17px;}
.sec10-form__label{ color:#001f42; font-size:clamp(18px,1.56vw,24px); font-weight:900; line-height:1.2; letter-spacing:.04em; white-space:nowrap;}
.sec10-form__badge{ min-width:46px; min-height:31px; display:inline-flex; align-items:center; justify-content:center; color:#001f42; font-size:clamp(13px,1.04vw,16px); font-weight:900; line-height:1; border:1px solid rgba(0,31,66,.35); border-radius:5px; background:#ffffff;}
.sec10-form__badge--required{ color:#179fb8; border-color:#179fb8;}
.sec10-form__field{ width:100%; min-width:0; height:54px; padding:0 18px; color:#001f42; font:inherit; font-size:clamp(16px,1.3vw,20px); font-weight:600; border:1px solid rgba(0,31,66,.24); border-radius:5px; background:#ffffff; box-shadow:inset 0 2px 4px rgba(0,31,66,.05);}
.sec10-form__field::placeholder{ color:rgba(0,31,66,.35);}
.sec10-form__select{ appearance:auto;}
.sec10-form__button{ width:100%; min-height:81px; margin-top:25px; display:flex; align-items:center; justify-content:center; gap:24px; color:#fff; font:inherit; font-size:clamp(20px,1.82vw,28px); font-weight:900; line-height:1.2; letter-spacing:.08em; background:linear-gradient(180deg,#7fd6e3 0%,#179fb8 56%,#127f94 100%); border:1px solid rgba(18,127,148,.25); border-radius:7px; box-shadow:0 7px 15px rgba(16,42,57,.24); cursor:pointer; transition:transform .2s ease,box-shadow .2s ease;}
.sec10-form__button:hover{ transform:translateY(-2px); box-shadow:0 11px 22px rgba(16,42,57,.3);}
.sec10-form__button-icon{ width:58px; height:58px; flex:0 0 auto;}
.sec10__note{ margin:21px 0 0; color:#001f42; font-size:clamp(16px,1.43vw,22px); font-weight:800; line-height:1.6; letter-spacing:.08em; text-align:center;}

/* =========================================
   PC調整: 余白・文字サイズ
   ========================================= */
@media (min-width: 768px) {
  .site-header__inner,
  .hero__inner,
  /* .sec2__inner, */
  .sec3__inner,
  .sec4__inner,
  .sec5__inner,
  .sec6__inner,
  .sec7__inner,
  .sec8__inner,
  .sec9__inner,
  .sec10__inner{ width:min(100%,1000px);}
  .site-header__inner{ gap:22px; padding:0 28px;}
  .site-header__logo{ height:56px;}
  .site-header__nav-link{ font-size:14px;}
  .site-header__nav{ gap:24px;}
  .site-header__cta{ min-width:164px; min-height:42px; padding:0 18px; font-size:14px;}
  .hero__visual{ display:flex; align-items:center; min-height:clamp(520px,46vw,600px); padding:56px 0;}
  .hero__inner{ padding:0 28px;}
  .hero__copy{ max-width:520px;}
  .hero__badge{ font-size:16px;}
  .hero__title{ font-size:40px; line-height:1.34;}
  .hero__lead{ margin-top:18px; font-size:23px; line-height:1.5;}
  .hero__support{ margin-top:16px; padding-top:16px; font-size:16px; line-height:1.55;}
  .hero__support .hero__gold{ font-size:18px;}
  .hero__cta-row{ margin-top:26px; gap:20px;}
  .hero__action-btn{ min-width:200px; min-height:56px; font-size:16px;}
  .hero__photo{ width:min(46vw,500px); transform:translate(0%,-50%);}
  .sec2{ padding:84px 20px 78px;}
  .sec2__title{ font-size:42px; line-height:1.5;}
  .sec2__lead{ margin-top:20px; font-size:20px; line-height:1.7;}
  .sec2__lead span{ font-size:26px;}
  .sec2__note{ font-size:15px;}
  .sec2__comparison{ width:min(100%,760px); margin-top:48px;}
  .sec2__loss{ width:min(100%,760px); margin-top:44px; min-height:100px; padding:16px 30px;}
  .sec2__loss-sub{ font-size:18px;}
  .sec2__loss-main{ font-size:27px;}
  .sec2__loss-main span{ font-size:58px;}
  .sec2__causes{ margin-top:46px;}
  .sec2__heading{ margin-bottom:30px; font-size:34px;}
  .sec2-cta{ width:min(100%,760px); min-height:84px; margin-top:42px; gap:22px;}
  .sec2-cta__text{ font-size:31px;}
  .sec2-cta__arrow{ font-size:34px;}
  .sec3__visual{ padding:82px 20px 86px;}
  .sec3__intro{ width:min(100%,760px);}
  .sec3__title{ font-size:42px; line-height:1.55;}
  .sec3__warning{ margin-top:8px; font-size:23px;}
  .sec3__compare-title{ margin-bottom:34px; font-size:34px;}
  .sec3__compare-title span{ font-size:24px;}
  .sec3-table{ grid-template-columns:210px minmax(0,1fr) minmax(0,1.18fr);}
  .sec3-table__head{ min-height:72px; font-size:26px;}
  .sec3-table__head--jaws{ font-size:33px;}
  .sec3-table__feature,
  .sec3-table__normal,
  .sec3-table__jaws{ min-height:100px;}
  .sec3-table__feature{ gap:16px; padding:16px 22px; font-size:20px;}
  .sec3-table__normal{ padding:18px 24px; font-size:18px;}
  .sec3-table__jaws{ padding:18px 24px; font-size:20px;}
  .sec3-message{ padding:40px 24px;}
  .sec4__visual{ padding:60px 20px 50px;}
  .sec4__intro{ width:min(100%,640px);}
  .sec4__title{ font-size:42px; line-height:1.55;}
  .sec4__body{ padding:22px 20px 68px;}
  .sec4__heading{ margin-bottom:18px; font-size:34px;}
  .sec4-risk{ width:min(100%,840px); margin-top:36px; padding:0 20px;}
  .sec4-risk__main{ gap:28px;}
  .sec4-risk__text{ font-size:16px; line-height:1.85;}
  .sec4__closing{ padding:50px 20px 44px;}
  .sec4__closing-text{ font-size:34px; line-height:1.75;}
  .sec5{ padding:66px 20px 68px;}
  .sec5__title{ font-size:42px; line-height:1.55;}
  .sec5__lead{ margin-top:24px; font-size:21px; line-height:1.72;}
  .sec5__cards{ margin-top:34px; gap:20px;}
  .sec5-card__body{ padding:22px 18px 26px;}
  .sec5-card__text{ font-size:14px; line-height:1.8;}
  .sec5-message{ margin-top:36px;}
  .sec6{ padding:100px 20px 100px;}
  .sec6__label{ margin-bottom:30px; font-size:19px;}
  .sec6__title{ font-size:50px; line-height:1.26;}
  .sec6__lead{ margin-top:24px; font-size:20px; line-height:1.82;}
  .sec6__cases{ margin-top:36px; gap:28px;}
  .sec6-case__header{ grid-template-columns:216px 1fr;}
  .sec6-case__number{ padding-left:20px;}
  .sec6-case__number span{ font-size:23px;}
  .sec6-case__number strong{ font-size:42px;}
  .sec6-case__name{ font-size:34px;}
  .sec6-case__name span{ font-size:24px;}
  .sec6-case__body{ padding:28px 26px 30px;}
  .sec6-case__row{ grid-template-columns:94px 1fr; gap:20px; min-height:104px;}
  .sec6-case__label{ width:86px; min-height:48px; font-size:20px;}
  .sec6-case__text{ font-size:19px; line-height:1.7;}
  .sec6-case__result-lead{ font-size:20px;}
  .sec6-case__result-main{ font-size:58px;}
  .sec6-case__result-main span{ font-size:32px;}
  .sec6-case__result-main small{ margin-left:12px; font-size:20px;}
  .sec6-cta{ width:min(100%,760px); min-height:82px; margin-top:38px; gap:30px;}
  .sec6-cta__text{ font-size:28px;}
  .sec6-cta__arrow{ font-size:34px;}
  .sec7{ padding:66px 20px 68px;}
  .sec7__label{ margin-bottom:30px; font-size:19px;}
  .sec7__title{ font-size:50px; line-height:1.26;}
  .sec7__lead{ margin-top:24px; font-size:20px; line-height:1.72;}
  .sec7-plan{ margin-top:34px;}
  .sec7-plan__head{ min-height:58px;}
  .sec7-plan__head-cell{ font-size:24px;}
  .sec7-plan__body{ min-height:260px;}
  .sec7-plan__service{ gap:18px;}
  .sec7-plan__service-name{ font-size:28px;}
  .sec7-plan__details{ padding:30px 34px;}
  .sec7-plan__detail{ grid-template-columns:30px 1fr; gap:16px; margin-bottom:20px; padding-bottom:20px; font-size:18px; line-height:1.65;}
  .sec7-plan__check{ width:25px; height:25px;}
  .sec7-plan__check::after{ left:6px; top:5px;}
  .sec7-plan__price{ padding:30px 44px 28px;}
  .sec7-plan__fixed-label{ font-size:34px;}
  .sec7-plan__fixed strong{ font-size:78px;}
  .sec7-plan__yen{ font-size:34px;}
  .sec7-plan__unit{ margin-top:20px; padding-top:20px;}
  .sec7-plan__unit strong{ font-size:76px;}
  .sec7-plan__unit span{ font-size:34px;}
  .sec7-heading{ font-size:34px;}
  .sec7-compare{ margin-top:50px; padding:0 42px 38px;}
  .sec7-compare__chart{ grid-template-columns:220px 1fr; padding-left:28px;}
  .sec7-compare__label{ font-size:22px;}
  .sec7-compare__price--jaws{ font-size:56px;}
  .sec7-compare__price--normal{ font-size:32px;}
  .sec7-reason{ margin-top:50px;}
  .sec7-reason__lead{ font-size:20px; line-height:1.78;}
  .sec7-reason-card{ min-height:150px; grid-template-columns:130px 1fr; gap:16px; padding:24px 28px;}
  .sec7-reason-card__title{ padding-bottom:18px; font-size:24px;}
  .sec7-reason-card__text{ margin-top:16px; font-size:17px; line-height:1.68;}
  .sec7-note{ grid-template-columns:170px 1fr; margin-top:38px; padding:22px 42px; border-radius:10px;}
  .sec7-note__text{ padding-left:42px; font-size:25px; line-height:1.72;}
  .sec7-note__text span{ font-size:34px;}
  .sec8{ padding:66px 20px 64px;}
  .sec8__label{ margin-bottom:30px; font-size:19px;}
  .sec8__title{ font-size:48px; line-height:1.45;}
  .sec8__title span{ font-size:inherit;}
  .sec8__lead{ margin-top:24px; font-size:20px; line-height:1.74;}
  .sec8__cards{ margin-top:36px; gap:24px;}
  .sec8-card{ min-height:280px; padding:32px 28px 30px;}
  .sec8-card__title{ padding-bottom:22px; font-size:24px; line-height:1.62;}
  .sec8-card__title span{ font-size:56px;}
  .sec8-card__title small{ font-size:24px;}
  .sec8-card__text{ margin-top:22px; font-size:16px; line-height:1.9;}
  .sec8-flow{ margin-top:44px;}
  .sec8-flow__title{ font-size:31px;}
  .sec8-flow__list{ margin-top:32px; gap:30px;}
  .sec8-flow__item{ grid-template-columns:76px 1fr; gap:16px;}
  .sec8-flow__item:not(:last-child)::after{ right:-26px; width:50px;}
  .sec8-flow__item:not(:last-child)::before{ right:-26px;}
  .sec8-flow__number{ width:66px; height:66px; font-size:42px;}
  .sec8-flow__text strong{ font-size:25px;}
  .sec8-flow__text span{ font-size:16px;}
  .sec8-message{ min-height:108px; margin-top:42px; padding:22px 48px;}
  .sec8-message__text{ font-size:30px; line-height:1.55;}
  .sec9{ padding:66px 20px 72px;}
  .sec9__label{ margin-bottom:32px; font-size:19px;}
  .sec9__title{ font-size:46px; line-height:1.38;}
  .sec9__lead{ margin-top:24px; font-size:20px; line-height:1.8;}
  .sec9__cards{ margin-top:32px; gap:24px;}
  .sec9-card{ min-height:158px; grid-template-columns:72px minmax(0,1fr) 1px 98px; gap:18px; padding:24px 24px;}
  .sec9-card::before{ width:1px; height:82px;}
  .sec9-card__check{ width:56px;}
  .sec9-card__text{ font-size:18px; line-height:1.68;}
  .sec9-card__icon{ width:82px;}
  .sec9-cta{ min-height:160px; grid-template-columns:150px 1fr 390px; gap:26px; margin-top:32px; padding:28px 34px;}
  .sec9-cta__text{ padding-left:34px; font-size:32px; line-height:1.55;}
  .sec9-cta__button{ min-height:80px; gap:18px; padding:14px 22px;}
  .sec9-cta__button span{ font-size:23px;}
  .sec10{ padding:62px 20px 70px;}
  .sec10__label{ margin-bottom:28px; font-size:18px;}
  .sec10__title{ max-width:1000px; font-size:38px; line-height:1.42;}
  .sec10__title span{ font-size:inherit;}
  .sec10__lead{ margin-top:22px; font-size:18px; line-height:1.8;}
  .sec10__panel{ margin-top:32px; grid-template-columns:390px 1fr; gap:28px; padding:24px;}
  .sec10-info{ padding:12px 20px 22px;}
  .sec10-info__title{ font-size:24px;}
  .sec10-info__item{ grid-template-columns:48px 32px 1fr; gap:14px; min-height:60px; font-size:18px;}
  .sec10-info__icon{ width:42px; height:42px;}
  .sec10-info__check{ width:26px; height:26px;}
  .sec10-info__features{ margin-top:22px;}
  .sec10-feature{ grid-template-columns:58px 1fr; gap:12px; min-height:98px; padding:15px 10px;}
  .sec10-feature__icon{ width:54px;}
  .sec10-feature__price{ font-size:44px;}
  .sec10-feature__circle{ width:54px; height:54px; font-size:25px;}
  .sec10-feature__calendar{ width:52px; height:52px;}
  .sec10-feature__text{ font-size:13px;}
  .sec10-feature__text span{ font-size:11px;}
  .sec10-form{ padding:34px 30px;}
  .sec10-form__row{ grid-template-columns:132px 48px 1fr; gap:14px; margin-bottom:16px;}
  .sec10-form__label{ font-size:17px;}
  .sec10-form__badge{ min-height:28px; font-size:12px;}
  .sec10-form__field{ height:50px; padding:0 14px; font-size:15px;}
  .sec10-form__button{ min-height:72px; margin-top:26px; gap:18px; font-size:20px;}
  .sec10-form__button-icon{ width:48px; height:48px;}
  .sec10__note{ margin-top:22px; font-size:16px;}

  /* 情報密度を上げるためのPC再調整 */

  .sec5,
  .sec6,
  .sec7,
  .sec9,
  .sec10{ padding-top:100px; padding-bottom:70px;}
  .sec8{padding:210px 0 102px 0;}
  .sec3__visual{ padding-top:54px; padding-bottom:58px;}
  .sec3-message{ padding:28px 24px;}
  .sec4__visual{ padding-top:100px; padding-bottom:38px;}
  .sec4__body{ padding-top:16px; padding-bottom:48px;}
  .sec4__closing{ padding-top:34px; padding-bottom:30px;}
  .sec6__label,
  .sec7__label,
  .sec8__label,
  .sec9__label,
  .sec10__label{ margin-bottom:16px; font-size:clamp(13px,1.05vw,16px);}
  .sec2__title,
  .sec3__title,
  .sec4__title,
  .sec5__title,
  .sec6__title,
  .sec7__title,
  .sec8__title,
  .sec9__title,
  .sec10__title{ font-size:38px; line-height:1.32;}
  .sec8__title span{ font-size:inherit;}
  .sec10__title span{ font-size:inherit;}
  .sec2__lead,
  .sec5__lead,
  .sec6__lead,
  .sec7__lead,
  .sec8__lead,
  .sec9__lead,
  .sec10__lead{ margin-top:45px; font-size:17px; line-height:1.65;}
  .sec2__lead span{ font-size:22px;}
  .sec2__comparison{ width:min(100%,680px); margin-top:34px;}
  .sec2__loss{ width:min(100%,700px); min-height:76px; margin-top:60px; gap:22px; padding:12px 24px;}
  .sec2__loss-sub{ font-size:15px; line-height:1.45;}
  .sec2__loss-main{ font-size:22px;}
  .sec2__loss-main span{ font-size:44px;}
  .sec2__causes{ margin-top:30px;}
  .sec2__heading{ margin-bottom:20px; font-size:28px;}
  .sec2__cause-grid{ max-width:min(100%,560px); gap:14px;}
  .sec2-cta{ width:520px;padding: 20px 0; min-height:62px; margin-top:28px; gap:18px;}
  .sec2-cta__text{ font-size:22px;}
  .sec2-cta__arrow{ font-size:26px;}
  .sec3__intro{ width:min(100%,700px);}
  .sec3__warning{ margin-top:22px; font-size:17px;}
  .sec3__compare-title{ margin-bottom:24px; font-size:28px;}
  .sec3__compare-title span{ font-size:20px;}
  .sec3-table{ grid-template-columns:180px minmax(0,1fr) minmax(0,1.12fr); max-width: 760px; margin: 0 auto;}
  .sec3-table__head{ min-height:56px; font-size:22px;}
  .sec3-table__head--jaws{ font-size:28px;}
  .sec3-table__feature,
  .sec3-table__normal,
  .sec3-table__jaws{ min-height:72px;}
  .sec3-table__feature{ gap:12px; padding:12px 18px; font-size:17px;}
  .sec3-table__feature img{ width:40px; height:40px;}
  .sec3-table__normal{ padding:12px 18px; font-size:15px; line-height:1.45;}
  .sec3-table__jaws{ padding:12px 18px; font-size:16px; line-height:1.45;}
  .sec4__intro{ width:min(100%,600px);}
  .sec4__heading{ margin-bottom:12px; font-size:28px;}
  .sec4-risk{ margin-top:28px; padding:0 18px;}
  .sec4-risk__main{ gap:22px;}
  .sec4-risk__text{ margin-top:12px; font-size:14px; line-height:1.65;}
  .sec4__closing-text{ font-size:28px; line-height:1.55;}
  .sec4__closing-arrow{ margin-top:16px;}
  .sec5__cards{ margin-top:24px; gap:16px;}
  .sec5-card__body{ padding:18px 16px 20px;}
  .sec5-card__text{ font-size:13px; line-height:1.7;}
  .sec5-message{ margin-top:65px;}
  .sec6__cases{ margin-top:24px; gap:20px;}
  .sec6-case__header{ min-height:62px; grid-template-columns:176px 1fr;}
  .sec6-case__number{ height:62px;}
  .sec6-case__number span{ font-size:18px;}
  .sec6-case__number strong{ font-size:34px;}
  .sec6-case__name{ font-size:27px;}
  .sec6-case__name span{ font-size:19px;}
  .sec6-case__body{ padding:20px 22px 22px;}
  .sec6-case__row{ grid-template-columns:76px 1fr; gap:18px; min-height:78px; margin-bottom:14px; padding-bottom:14px;}
  .sec6-case__label{ width:72px; min-height:40px; font-size:16px;}
  .sec6-case__text{ font-size:16px; line-height:1.55;}
  .sec6-case__result-lead{ font-size:16px;}
  .sec6-case__result-main{ font-size:44px;}
  .sec6-case__result-main span{ font-size:25px;}
  .sec6-case__result-main small{ font-size:16px;}
  .sec6-cta{ min-height:62px; margin-top:26px;}
  .sec6-cta__chevron{ width:17px; height:30px; border-right-width:5px; border-bottom-width:5px;}
  .sec6-cta__text{ font-size:22px;}
  .sec6-cta__arrow{ font-size:26px;}
  .sec7-plan{ margin-top:24px;}
  .sec7-plan__head{ min-height:48px;}
  .sec7-plan__head-cell{ font-size:20px;}
  .sec7-plan__body{ min-height:210px;}
  .sec7-plan__service{ gap:12px;}
  .sec7-plan__service-name{ font-size:23px;}
  .sec7-plan__details{ padding:22px 28px;}
  .sec7-plan__detail{ grid-template-columns:26px 1fr; gap:12px; margin-bottom:14px; padding-bottom:14px; font-size:15px; line-height:1.5;}
  .sec7-plan__check{ width:22px; height:22px; border-width:2px;}
  .sec7-plan__check::after{ left:5px; top:4px; width:9px; height:5px; border-left-width:2px; border-bottom-width:2px;}
  .sec7-plan__price{ padding:22px 34px 20px;}
  .sec7-plan__fixed-label{ font-size:27px;}
  .sec7-plan__fixed strong{ font-size:62px;}
  .sec7-plan__yen{ font-size:27px;}
  .sec7-plan__unit{ margin-top:14px; padding-top:14px;}
  .sec7-plan__unit strong{ font-size:60px;}
  .sec7-plan__unit span{ font-size:27px;}
  .sec7-heading{ font-size:23px; margin: 30px 0;}
  .sec7-heading.why{margin: 75px 0 30px 0;}
  .sec7-compare{ margin-top:34px; padding:0 34px 28px;}
  .sec7-compare__chart{ grid-template-columns:180px 1fr; row-gap:18px; margin-top:-6px; padding-left:18px;}
  .sec7-compare__label{ font-size:18px;}
  .sec7-compare__bar-area{ min-height:42px;}
  .sec7-compare__bar{ top:10px; height:22px;}
  .sec7-compare__price--jaws{ font-size:42px;}
  .sec7-compare__price--normal{ font-size:26px;}
  .sec7-reason{ margin-top:34px;}
  .sec7-reason__lead{ margin-top:14px; font-size:16px; line-height:1.6;}
  .sec7-reason__cards{ margin-top:18px; gap:20px;}
  .sec7-reason-card{ min-height:116px; grid-template-columns:96px 1fr; padding:18px 0px;}
  .sec7-reason-card__title{ padding-bottom:12px; font-size:19px; line-height:1.3;}
  .sec7-reason-card__title::after{ width:70px;}
  .sec7-reason-card__text{ margin-top:10px; font-size:14px; line-height:1.5;}
  .sec7-note{ min-height:84px; grid-template-columns:120px 1fr; margin-top:80px; padding:16px 34px;}
  .sec7-note__text{ padding-left:30px; font-size:20px; line-height:1.5;}
  .sec7-note__text span{ font-size:26px;}
  .sec8__cards{ margin-top:24px; gap:20px;}
  .sec8-card{ min-height:210px; padding:24px 24px 22px;}
  .sec8-card__title{ padding-bottom:16px; font-size:20px; line-height:1.45;}
  .sec8-card__title span{ font-size:42px;}
  .sec8-card__title small{ font-size:20px;}
  .sec8-card__text{ margin-top:16px; font-size:14px; line-height:1.65;}
  .sec8-flow{ margin-top:30px;}
  .sec8-flow__title{ font-size:25px;}
  .sec8-flow__list{ margin-top:22px; gap:22px;}
  .sec8-flow__item{ grid-template-columns:58px 1fr; gap:12px;}
  .sec8-flow__item:not(:last-child)::after{ right:-20px; width:36px;}
  .sec8-flow__item:not(:last-child)::before{ right:-20px;}
  .sec8-flow__number{ width:52px; height:52px; font-size:34px;}
  .sec8-flow__text strong{ font-size:20px;}
  .sec8-flow__text span{ margin-top:5px; font-size:13px;}
  .sec8-message{ min-height:82px; margin-top:28px; padding:16px 38px;}
  .sec8-message__text{ padding-left:26px; font-size:24px; line-height:1.4;}
  .sec9__cards{ margin-top:24px; gap:18px 20px;}
  .sec9-card{ min-height:120px; grid-template-columns:56px minmax(0,1fr) 1px 72px; gap:14px; padding:18px 20px;}
  .sec9-card::before{ height:64px;}
  .sec9-card__check{ width:44px;}
  .sec9-card__text{ font-size:15px; line-height:1.55;}
  .sec9-card__icon{ width:62px;}
  .sec9-cta{ min-height:118px; grid-template-columns:104px 1fr 310px; gap:20px; margin-top:24px; padding:22px 28px;}
  .sec9-cta__text{ padding-left:26px; font-size:25px; line-height:1.45;}
  .sec9-cta__button{ min-height:62px; gap:14px; padding:12px 18px;}
  .sec9-cta__button span{ font-size:18px;}
  .sec10__panel{ margin-top:24px; grid-template-columns:360px 1fr; gap:22px; padding:20px;}
  .sec10-info{ padding:10px 16px 18px;}
  .sec10-info__title{ padding-bottom:12px; font-size:20px;}
  .sec10-info__list{ margin-top:12px;}
  .sec10-info__item{ grid-template-columns:40px 28px 1fr; gap:12px; min-height:50px; font-size:15px;}
  .sec10-info__icon{ width:34px; height:34px;}
  .sec10-info__check{ width:22px; height:22px; border-width:2px;}
  .sec10-info__check::after{ left:5px; top:5px; width:9px; height:5px; border-left-width:2px; border-bottom-width:2px;}
  .sec10-info__features{ margin-top:18px;}
  .sec10-feature{ min-height:78px; grid-template-columns:46px 1fr; gap:10px; padding:12px 8px;}
  .sec10-feature__icon{ width:42px;}
  .sec10-feature__price{ font-size:34px;}
  .sec10-feature__circle{ width:42px; height:42px; border-width:3px; font-size:20px;}
  .sec10-feature__calendar{ width:42px; height:42px; border-width:3px;}
  .sec10-feature__text{ font-size:11px; line-height:1.35;}
  .sec10-feature__text span{ margin-top:4px; font-size:10px; line-height:1.35;}
  .sec10-form{ padding:28px 26px;}
  .sec10-form__row{ grid-template-columns:120px 44px 1fr; gap:12px; margin-bottom:12px;}
  .sec10-form__label{ font-size:15px;}
  .sec10-form__badge{ min-width:40px; min-height:24px; font-size:11px;}
  .sec10-form__field{ height:42px; font-size:14px;}
  .sec10-form__button{ min-height:58px; margin-top:18px; gap:14px; font-size:17px;}
  .sec10-form__button-icon{ width:38px; height:38px;}

  /* POINT04 導入事例: 見本画像に合わせたPC調整 */
  .sec6{ padding-top:100px; padding-bottom:180px;}
  .sec6__inner{ width:min(100%,1000px);}
  .sec6__header{ width:min(100%,650px);}
  .sec6__label{ margin-bottom:16px; gap:9px;}
  .sec6__title{ font-size:38px; line-height:1.32;}
  .sec6__lead{ margin-top:40px; font-size:17px; line-height:1.7;}
  .sec6__cases{ margin-top:26px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
  .sec6-case{ overflow:hidden; border-radius:8px; background:rgba(255,255,255,.94);}
  .sec6-case__header{ min-height:66px; grid-template-columns:clamp(136px,18vw,170px) minmax(0,1fr); border-bottom:2px solid #179fb8;}
  .sec6-case__number{ height:66px; gap:clamp(6px,.9vw,9px); padding-left:clamp(13px,1.8vw,20px); clip-path:polygon(0 0,100% 0,78% 100%,0 100%);}
  .sec6-case__number span{ font-size:clamp(17px,1.6vw,20px);}
  .sec6-case__number strong{ font-size:clamp(32px,3vw,38px);}
  .sec6-case__name{ min-width:0; padding:0 clamp(8px,1.2vw,14px) 0 4px; font-size:clamp(21px,2.3vw,29px); letter-spacing:.05em; white-space:nowrap;}
  .sec6-case__name span{ font-size:clamp(16px,1.6vw,20px);}
  .sec6-case__body{ padding:22px 20px 20px;}
  .sec6-case__row{ position:relative; display:grid; grid-template-columns:clamp(44px,6vw,58px) clamp(54px,7vw,68px) minmax(0,1fr); align-items:center; gap:clamp(8px,1vw,14px); min-height:88px; margin:0; padding:0; border-bottom:0;}
  .sec6-case__row + .sec6-case__row{ border-top:2px dotted rgba(0,31,66,.2);}
  .sec6-case__row::before{ content:"!"; width:clamp(42px,5.4vw,52px); height:clamp(42px,5.4vw,52px); grid-column:1; grid-row:1; justify-self:center; align-self:center; display:flex; align-items:center; justify-content:center; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(23px,2.2vw,28px); font-weight:900; line-height:1; border:2px solid rgba(0,31,66,.2); border-radius:50%; background:rgba(255,255,255,.78);}
  .sec6-case__row::after{ content:""; position:absolute; left:calc(clamp(44px,6vw,58px) / 2); bottom:-13px; width:1px; height:26px; background:#001f42;}
  .sec6-case__row:last-child::after{ display:none;}
  .sec6-case__row:nth-child(2)::before{ content:""; background-image:linear-gradient(#001f42,#001f42),linear-gradient(#001f42,#001f42),linear-gradient(#001f42,#001f42),linear-gradient(#001f42,#001f42),linear-gradient(#001f42,#001f42); background-size:20px 2px,20px 2px,20px 2px,12px 2px,2px 26px; background-position:center 16px,center 24px,center 32px,center 40px,16px 22px; background-repeat:no-repeat;}
  .sec6-case__row:nth-child(3)::before{ content:""; border-color:#179fb8; background-image:linear-gradient(90deg,#179fb8 0 4px,transparent 4px 8px,#179fb8 8px 12px,transparent 12px 16px,#179fb8 16px 20px),linear-gradient(135deg,transparent 43%,#179fb8 44% 51%,transparent 52%); background-size:25px 22px,32px 32px; background-position:center 24px,center 12px; background-repeat:no-repeat;}
  .sec6-case__label{ grid-column:2; grid-row:1; width:clamp(54px,7vw,68px); min-height:36px; font-size:clamp(15px,1.45vw,17px); border:0; border-radius:5px; box-shadow:0 4px 10px rgba(0,31,66,.1);}
  .sec6-case__text,
  .sec6-case__result{ grid-column:3; grid-row:1; min-width:0;}
  .sec6-case__text{ font-size:clamp(14px,1.25vw,16px); line-height:1.58; letter-spacing:.03em;}
  .sec6-case__text br{ display:none;}
  .sec6-case__result-lead{ font-size:clamp(14px,1.35vw,17px); line-height:1.25;}
  .sec6-case__result-main{ margin-top:4px; font-size:clamp(38px,4.1vw,50px);}
  .sec6-case__result-main span{ font-size:clamp(20px,2.2vw,28px);}
  .sec6-case__result-main small{ display:block; margin:3px 0 0 clamp(64px,8vw,95px); font-size:clamp(15px,1.55vw,18px);}
  .sec6-cta{ width:min(100%,680px); min-height:70px; margin-top:60px; gap:28px; padding:0 26px;}
  .sec6-cta__chevron{ width:18px; height:32px; border-right-width:5px; border-bottom-width:5px;}
  .sec6-cta__text{ font-size:24px; letter-spacing:.1em;}
  .sec6-cta__arrow{ font-size:30px;}
}

/* =========================================
   幅広（PC大）: ヒーロー画像を右側いっぱいに（テキストと画像の間延びを解消）
   ========================================= */
@media (min-width:1200px){
  .hero__photo{ top:0; right:0; bottom:0; transform:none; width:min(46vw,1200px); height:100%; aspect-ratio:auto; border-radius:999px 0 0 999px;}
}

/* =========================================
   Responsive: Mobile
   ========================================= */
@media (max-width: 767px) {
  body{ padding-top:62px;}
  main > section{ scroll-margin-top:62px;}
  .site-header{ height:62px;}
  .site-header__inner{ gap:12px; padding:0 16px; justify-content:flex-start;}
  .site-header__brand{ min-width:0; margin-right:auto;}
  .site-header__logo{ height:48px;}
  /* メニューを開いたらヘッダーを不透明にして背面の透けを防ぐ */
  .site-header.is-open{ background:#ffffff;}
  /* ハンバーガーボタン（スマホ） */
  .site-header__toggle{ display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; flex:0 0 auto; width:44px; height:44px; margin-left:4px; padding:0; background:none; border:0; cursor:pointer;}
  .site-header__toggle-bar{ display:block; width:26px; height:2px; background:#001f42; border-radius:2px; transition:transform .25s ease,opacity .2s ease;}
  .site-header.is-open .site-header__toggle-bar:nth-child(1){ transform:translateY(7px) rotate(45deg);}
  .site-header.is-open .site-header__toggle-bar:nth-child(2){ opacity:0;}
  .site-header.is-open .site-header__toggle-bar:nth-child(3){ transform:translateY(-7px) rotate(-45deg);}
  /* ドロップダウン式メニュー（スマホ） */
  .site-header__nav{ position:fixed; top:60px; left:0; right:0; z-index:999; display:flex; flex-direction:column; align-items:stretch; gap:0; margin:0; padding:6px 16px 18px; background:#ffffff; border-bottom:1px solid rgba(0,42,89,.12); box-shadow:0 14px 26px rgba(0,31,66,.14); transform:translateY(-14px); opacity:0; visibility:hidden; transition:opacity .25s ease,transform .25s ease,visibility .25s;}
  .site-header.is-open .site-header__nav{ transform:translateY(0); opacity:1; visibility:visible;}
  .site-header__nav-link{ justify-content:flex-start; min-height:0; padding:15px 6px; border-bottom:1px solid rgba(0,42,89,.08); color:#001f42; font-size:17px; font-weight:800;}
  .site-header__nav-link:last-child{ border-bottom:0;}
  .site-header__nav-link--sp{ display:flex;}
  .site-header__cta{ min-width:132px; min-height:38px; padding:0 15px; font-size:clamp(12px,3.59vw,14px);}
  .hero__visual{ display:flex; flex-direction:column; padding:28px 0 80px;}
  .hero__inner{ padding:0 16px;}
  .hero__copy{ max-width:none;}
  .hero__badges{ gap:8px; margin-bottom:20px;}
  .hero__badge{ font-size:clamp(14px,4.1vw,17px); padding:3px 18px;}
  .hero__title{ font-size:clamp(30px,8.7vw,40px); line-height:1.34;}
  .hero__title-line{ white-space:normal;text-align: left;}
  .hero__lead{ margin-top:16px; font-size:clamp(20px,5.6vw,24px); line-height:1.45; text-shadow:none;}
  .hero__support{ width:100%; margin-top:14px; padding-top:14px; font-size:clamp(13px,3.9vw,16px); line-height:1.6; text-shadow:none;}
  .hero__support .hero__gold{ display:inline; font-size:clamp(15px,4.6vw,18px);}
  /* ヒーロー：数字バッジ（モバイル） */
  .hero__stats{ margin:0;}
  .hero__stat{ padding:10px 18px; border-radius:12px; gap:8px;}
  .hero__stat-label{ font-size:clamp(11px,3.2vw,13px);}
  .hero__stat-value strong{ font-size:clamp(22px,6.4vw,28px);}
  .hero__stat-unit{ font-size:clamp(12px,3.2vw,14px);}
  /* 文節ごとに途中改行させない（どの画面幅でも語の途中で折り返さない） */
  .hero__kw{ display:inline-block;}
  /* ヒーロー写真：スマホでは背景として全面に敷き、コピーを重ねる */
  .hero__photo{ position:absolute; inset:0; z-index:1; width:100%; height:100%; max-height:none; margin:0; transform:none; aspect-ratio:auto; border-radius:0; box-shadow:none; overflow:hidden;}
  .hero__photo-img{ width:100%; height:100%; object-fit:cover; object-position:70% 18%;}
  .hero__photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.82) 26%,rgba(255,255,255,.4) 50%,rgba(255,255,255,0) 74%),linear-gradient(180deg,rgba(242,241,238,.35) 0%,rgba(242,241,238,.3) 40%,rgba(242,241,238,.82) 70%,#f2f1ee 100%);}
  .hero__cta-row{ flex-direction:column; align-items:stretch; gap:18px; margin-top:24px;}
  .hero__action{ width:100%;}
  .hero__action-btn{ width:100%; min-width:0; min-height:58px;}
  .sec2{ padding:90px 16px 42px;}
  .sec2__title{ font-size:clamp(30px,8.46vw,42px);}
  .sec2__lead{ margin-top:55px; font-size:clamp(16px,4.62vw,20px); text-align: left;}
  .sec2__lead span{ font-size:clamp(19px,5.64vw,24px);}
  .sec2__note{margin-top:20px;  text-align: left; font-size:clamp(12px,3.59vw,14px);}
  .sec2__comparison{ margin-top:34px; width:100%;}
  .sec2__loss{ margin-top:60px; min-height:auto; display:block; padding:20px 18px; text-align:center;}
  .sec2__loss-sub{ font-size:clamp(16px,5.13vw,20px); line-height:1.55;}
  .sec2__loss-sub::after{ display:none;}
  .sec2__loss-main{ margin-top:8px; font-size:clamp(23px,7.69vw,30px);}
  .sec2__loss-main span{ display:block; font-size:clamp(54px,18.46vw,72px);}
  .sec2__causes{ margin-top:44px;}
  .sec2__heading{ margin-bottom:22px; font-size:clamp(25px,7.95vw,31px);}
  .sec2__heading::before,
  .sec2__heading::after{ width:15%;}
  .sec2__cause-grid{ grid-template-columns:repeat(2,1fr); gap:clamp(10px,2.4vw,16px); max-width:360px;}
  .sec2-cta{ min-height:78px; margin-top:32px; gap:14px; padding:0 14px; border-radius:9px;}
  .sec2-cta__text{ font-size:clamp(21px,6.67vw,26px); word-break:keep-all;}
  .sec2-cta__arrow{ font-size:clamp(24px,7.69vw,30px);}
  .sec3__visual{ min-height:auto; padding:43px 16px 58px; background-position:66% top; background-size:auto 560px;}
  .sec3__visual::before{ background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.86) 58%,rgba(255,255,255,.28) 100%);}
  .sec3__intro{ width:100%;}
  .sec3__title{ font-size:clamp(24px,6.67vw,26px); line-height:1.58; word-break:keep-all;}
  .sec3__warning{ margin-top:24px; font-size:clamp(18px,5.64vw,22px); word-break:keep-all;}
  .sec3__compare-title{ display:block; margin-bottom:22px; font-size:clamp(25px,7.69vw,30px);}
  .sec3__compare-title{ white-space:normal;}
  .sec3__compare-title span{ font-size:clamp(20px,6.15vw,24px);}
  /* スマホでもPCと同じ3カラム（機能名｜一般電話代行｜JawsCall）を維持 */
  .sec3-table{ display:grid; grid-template-columns:minmax(58px,80px) 1fr 1fr; border:1px solid rgba(0,42,89,.16); border-radius:7px; overflow:hidden; background:rgba(255,255,255,.92); box-shadow:0 5px 14px rgba(0,31,66,.08);}
  .sec3-table__header{ display:contents;}
  .sec3-table__blank{ display:block; background:transparent;}
  .sec3-table__head{ min-height:0; justify-content:center; padding:9px 4px; font-size:clamp(11px,3.1vw,14px); letter-spacing:.02em; border-radius:0;}
  .sec3-table__head--normal{ color:#52677c; background:#eef1f4;}
  .sec3-table__head--jaws{ color:#ffffff; font-size:clamp(11px,3.1vw,14px); letter-spacing:.02em; background:linear-gradient(135deg,#179fb8 0%,#127f94 100%);}
  .sec3-table__row{ display:contents;}
  .sec3-table__feature{ flex-direction:column; min-height:0; gap:5px; padding:12px 4px; color:#001f42; border:0; border-top:1px solid rgba(0,42,89,.14); border-right:1px solid rgba(0,42,89,.14); font-size:clamp(11px,3.1vw,14px); line-height:1.3; text-align:center; background:#ffffff;}
  .sec3-table__feature img{ width:30px; height:30px;}
  .sec3-table__normal,
  .sec3-table__jaws{ min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:12px 6px; border:0; border-top:1px solid rgba(0,42,89,.14); text-align:center; font-size:clamp(11px,3.1vw,14px); line-height:1.4;}
  .sec3-table__normal{ color:#52677c;}
  .sec3-table__normal::before{ display:none;}
  .sec3-table__jaws{ color:#179fb8; font-weight:900;}
  .sec3-table__jaws::before{ display:none;}
  .sec3-message{ padding:24px 16px;}
  .sec4__visual{ min-height:auto; padding:43px 16px 52px; background-position:64% top; background-size:auto 520px;}
  .sec4__visual::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 58%,rgba(255,255,255,.58) 100%);}
  .sec4__intro{ width:100%;}
  .sec4__title{ font-size:clamp(29px,8.21vw,32px); line-height:1.55;}
  .sec4__body{ padding:38px 16px 40px;}
  .sec4__heading{ display:block; margin-bottom:22px; font-size:clamp(25px,7.69vw,30px); white-space:normal; word-break:keep-all;}
  .sec4__heading::before,
  .sec4__heading::after{ display:none;}
  .sec4-risk{ display:block; margin-top:30px; padding:0 16px;}
  .sec4-risk__main{ display:block; text-align:center;}
  .sec4-risk__text{ margin-top:16px; font-size:clamp(14px,4.1vw,16px); line-height:1.75; word-break:keep-all;}
  .sec4-risk__text br{ display:none;}
  .sec4__closing{ padding:35px 16px 32px;}
  .sec4__closing::before,
  .sec4__closing::after{ display:none;}
  .sec4__closing-text{ font-size:clamp(24px,7.18vw,28px); line-height:1.7; text-align: left;}
  .sec4__closing-arrow{ margin-top:18px; border-left-width:20px; border-right-width:20px; border-top-width:14px;}
  .sec5{ padding:42px 16px 45px; background-position:63% top; background-size:auto 520px;}
  .sec5::before{ background:linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.9) 45%,rgba(255,255,255,.98) 100%);}
  .sec5__header{ width:100%;}
  .sec5__title{ font-size:clamp(29px,8.21vw,32px); line-height:1.55;}
  .sec5__title span{ display:block;}
  .sec5__lead{ margin-top:18px; font-size:clamp(17px,5.13vw,20px); line-height:1.75;}
  .sec5__lead br{ display:none;}
  .sec5__cards{ margin-top:28px; grid-template-columns:1fr; gap:16px;}
  .sec5-card{ border-radius:10px;}
  .sec5-card__body{ padding:22px 22px 24px;}
  .sec5-card__text{ font-size:clamp(14px,4vw,16px); line-height:1.75; text-align:left;}
  .sec5-message{ margin-top:24px;}
  .sec5-message br{ display:none;}
  .sec6{ padding:75px 16px 150px;}
  .sec6::before{ background:linear-gradient(180deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.9) 45%,rgba(255,255,255,.98) 100%);}
  .sec6__header{ width:100%;}
  .sec6__label{ margin-bottom:16px; gap:9px;}
  .sec6__title{ font-size:clamp(29px,8.21vw,32px); line-height:1.55;}
  .sec6__lead{ margin-top:17px; font-size:clamp(16px,4.62vw,18px); line-height:1.75;}
  .sec6__lead br{ display:none;}
  .sec6__cases{ margin-top:27px; grid-template-columns:1fr; gap:18px;}
  .sec6-case{ border-radius:8px;}
  .sec6-case__header{ min-height:62px; grid-template-columns:132px 1fr;}
  .sec6-case__number{ height:62px; gap:7px; padding-left:14px;}
  .sec6-case__number span{ font-size:clamp(17px,5.13vw,20px);}
  .sec6-case__number strong{ font-size:clamp(32px,9.74vw,38px);}
  .sec6-case__name{ font-size:clamp(22px,6.67vw,26px);}
  .sec6-case__name span{ font-size:clamp(16px,4.87vw,19px);}
  .sec6-case__body{ padding:20px 16px 22px;}
  .sec6-case__row{ grid-template-columns:76px 1fr; gap:14px; min-height:auto; margin-bottom:16px; padding-bottom:17px;}
  .sec6-case__label{ width:72px; min-height:42px; font-size:clamp(17px,5.13vw,20px);}
  .sec6-case__text{ font-size:clamp(15px,4.62vw,18px); line-height:1.65; letter-spacing:0;}
  .sec6-case__text br{ display:none;}
  .sec6-case__result-lead{ font-size:clamp(16px,4.87vw,19px);}
  .sec6-case__result-main{ font-size:clamp(50px,15.9vw,62px);}
  .sec6-case__result-main span{ font-size:clamp(25px,7.69vw,30px);}
  .sec6-case__result-main small{ display:block; margin:7px 0 0; font-size:clamp(17px,5.13vw,20px);}
  .sec6-cta{ min-height:78px; margin-top:26px; gap:18px; padding:0 18px;}
  .sec6-cta__chevron{ width:17px; height:30px; border-right-width:5px; border-bottom-width:5px;}
  .sec6-cta__text{ font-size:clamp(19px,5.9vw,23px); letter-spacing:.04em; white-space:normal; text-align:center; word-break:keep-all;}
  .sec6-cta__arrow{ font-size:clamp(24px,7.69vw,30px);}
  .sec7{ padding:42px 16px 42px;}
  .sec7::before{ height:350px; background-position:68% bottom; background-size:auto 520px;}
  .sec7::after{ height:370px; background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.96) 67%,rgba(255,255,255,1) 100%);}
  .sec7__header{ width:100%;}
  .sec7__label{ margin-bottom:16px; gap:9px;}
  .sec7__label{ flex-wrap:wrap; white-space:normal; line-height:1.35;}
  .sec7__title{ font-size:clamp(29px,8.21vw,32px); line-height:1.55;}
  .sec7__lead{ margin-top:17px; font-size:clamp(17px,5.13vw,20px); line-height:1.8;}
  .sec7__lead br{ display:none;}
  .sec7-plan{ margin-top:30px; border-radius:8px;}
  .sec7-plan__head{ display:none;}
  .sec7-plan__body{ display:block; min-height:0;}
  .sec7-plan__service{ min-height:188px; gap:18px; padding:26px 18px;}
  .sec7-plan__service-name{ font-size:clamp(25px,7.69vw,30px);}
  .sec7-plan__details{ padding:24px 20px; border-right:0; border-bottom:1px solid rgba(0,31,66,.12);}
  .sec7-plan__detail{ grid-template-columns:30px 1fr; gap:13px; margin-bottom:21px; padding-bottom:22px; font-size:clamp(15px,4.62vw,18px); line-height:1.7;}
  .sec7-plan__check{ width:24px; height:24px; border-width:2px;}
  .sec7-plan__check::after{ left:6px; top:5px; width:9px; height:5px; border-left-width:2px; border-bottom-width:2px;}
  .sec7-plan__price{ padding:25px 22px 28px;}
  .sec7-plan__fixed{ gap:14px;}
  .sec7-plan__fixed-label{ font-size:clamp(27px,8.21vw,32px);}
  .sec7-plan__fixed strong{ font-size:clamp(74px,22.56vw,88px);}
  .sec7-plan__yen{ font-size:clamp(27px,8.21vw,32px);}
  .sec7-plan__unit{ margin-top:20px; padding-top:20px; gap:8px;}
  .sec7-plan__unit strong{ font-size:clamp(70px,21.54vw,84px);}
  .sec7-plan__unit span{ font-size:clamp(27px,8.21vw,32px);}
  .sec7-heading{ display:block; font-size:clamp(25px,7.69vw,30px); line-height:1.35;}
  .sec7-heading::before,
  .sec7-heading::after{ display:none;}
  .sec7-heading.why{ word-break:keep-all;}
  .sec7-compare{ margin-top:42px; padding:24px 18px 26px;}
  .sec7-compare .sec7-heading{ transform:none;}
  .sec7-compare__chart{ display:block; margin-top:22px; padding-left:0;}
  .sec7-compare__label{ margin-top:19px; font-size:clamp(16px,5.13vw,20px);}
  .sec7-compare__label:first-child{ margin-top:0;}
  .sec7-compare__bar-area{ min-height:58px; margin-top:9px;}
  .sec7-compare__bar{ height:24px; top:16px;}
  .sec7-compare__bar--jaws{ width:42%;}
  .sec7-compare__bar--normal{ width:55%;}
  .sec7-compare__price--jaws{ left:48%; font-size:clamp(36px,11.28vw,44px);}
  .sec7-compare__price--normal{ left:auto; right:0; font-size:clamp(18px,5.38vw,21px);}
  .sec7-reason{ margin-top:100px;}
  .sec7-reason__lead{ margin-top:35px; font-size:clamp(15px,4.62vw,18px); line-height:1.75; text-align:left; word-break:keep-all;}
  .sec7-reason__cards{ margin-top:22px; grid-template-columns:1fr; gap:16px;}
  .sec7-reason-card{ min-height:auto; grid-template-columns:78px 1fr; gap:13px; padding:22px 18px; border-radius:8px;}
  .sec7-reason-card__title{ padding-bottom:13px; font-size:clamp(18px,5.64vw,22px);}
  .sec7-reason-card__title::after{ width:76px;}
  .sec7-reason-card__text{ margin-top:12px; font-size:clamp(14px,4.36vw,17px); line-height:1.65; word-break:keep-all;}
  .sec7-note{ min-height:auto; display:block; margin-top:32px; padding:24px 18px; text-align:center; border-radius:10px;}
  .sec7-note__text{ padding:17px 0 0; border-left:0; border-top:2px solid #179fb8; font-size:clamp(17px,5.13vw,20px); line-height:1.75; letter-spacing:.04em;}
  .sec7-note__text span{ font-size:clamp(22px,6.15vw,24px);}
  .sec8{ padding:142px 16px 40px;}
  .sec8__label{ margin-bottom:16px; gap:9px;}
  .sec8__label,
  .sec9__label,
  .sec10__label{ white-space:normal; line-height:1.35;}
  .sec8__title{ font-size:clamp(29px,8.21vw,32px); line-height:1.55;}
  .sec8__title span{ font-size:inherit;}
  .sec8__lead{text-align: left; margin-top:17px; font-size:clamp(15px,4.62vw,18px); line-height:1.75;}
  .sec8__cards{ margin-top:26px; grid-template-columns:1fr; gap:16px;}
  .sec8-card{ min-height:auto; padding:25px 20px 22px; border-radius:8px;}
  .sec8-card__title{ padding-bottom:18px; font-size:clamp(23px,6.67vw,26px); line-height:1.55;}
  .sec8-card__title span{ font-size:clamp(52px,15.38vw,60px);}
  .sec8-card__title small{ font-size:clamp(24px,7.18vw,28px);}
  .sec8-card__text{ margin-top:18px; font-size:clamp(14px,4.36vw,17px); line-height:1.75;}
  .sec8-flow{ margin-top:33px;}
  .sec8-flow__title{ display:block; font-size:clamp(24px,7.18vw,28px);}
  .sec8-flow__title::before,
  .sec8-flow__title::after{ display:none;}
  .sec8-flow__list{ margin-top:22px; display:block;}
  .sec8-flow__item{ grid-template-columns:62px 1fr; gap:14px; min-height:78px; margin-bottom:20px;}
  .sec8-flow__item:not(:last-child)::after{ left:31px; right:auto; top:65px; width:2px; height:34px;}
  .sec8-flow__item:not(:last-child)::before{ left:26px; right:auto; top:89px; width:10px; height:10px; border-top:0; border-left:0; border-right:2px solid #179fb8; border-bottom:2px solid #179fb8; transform:rotate(45deg);}
  .sec8-flow__number{ width:58px; height:58px; font-size:clamp(32px,9.74vw,38px);}
  .sec8-flow__text strong{ font-size:clamp(20px,6.15vw,24px);}
  .sec8-flow__text span{ font-size:clamp(13px,3.85vw,15px);}
  .sec8-message{ min-height:auto; margin-top:28px; padding:25px 20px; text-align:center; border-radius:8px;}
  .sec8-message__text{ padding:17px 0 0; border-left:0; border-top:2px solid #179fb8; font-size:clamp(24px,7.18vw,28px); line-height:1.6;}
  .sec9{ padding:42px 16px 42px;}
  .sec9::before{ background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.96) 58%,rgba(255,255,255,1) 100%);}
  .sec9__label{ margin-bottom:16px; gap:9px;}
  .sec9__title{ font-size:clamp(29px,8.21vw,32px); line-height:1.55; word-break:keep-all;}
  .sec9__lead{ margin-top:17px; font-size:clamp(15px,4.62vw,18px); line-height:1.75; word-break:keep-all;}
  .sec9__lead br{ display:none;}
  .sec9__cards{ margin-top:24px; grid-template-columns:1fr; gap:15px;}
  .sec9-card{ min-height:auto; grid-template-columns:58px 1fr 76px; gap:13px; padding:20px 16px; border-radius:8px;}
  .sec9-card::before{ display:none;}
  .sec9-card__check{ width:52px; grid-column:1;}
  .sec9-card__text{ font-size:clamp(17px,5.13vw,20px); line-height:1.6; grid-column:2; word-break:keep-all;}
  .sec9-card__text br{ display:none;}
  .sec9-card__icon{ width:70px; grid-column:3;}
  .sec9-cta{ min-height:auto; display:block; margin-top:22px; padding:25px 18px; text-align:center; border-radius:8px;}
  .sec9-cta__text{ padding:17px 0 0; border-left:0; border-top:2px solid #179fb8; font-size:clamp(25px,7.69vw,30px);}
  .sec9-cta__button{ min-height:78px; margin-top:22px; gap:12px; padding:12px 16px;}
  .sec9-cta__button span{ font-size:clamp(16px,4.62vw,18px); white-space:normal; word-break:keep-all; overflow-wrap:normal;}
  .sec10{ padding:42px 16px 38px;}
  .sec10::before{ background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.96) 58%,rgba(255,255,255,1) 100%);}
  .sec10__label{ margin-bottom:16px; gap:9px;}
  .sec10__title{ font-size:clamp(29px,8.21vw,32px); line-height:1.55;}
  .sec10__title span{ font-size:inherit;}
  .sec10__lead{ margin-top:40px; font-size:clamp(14px,4.36vw,17px); line-height:1.75;}
  .sec10__lead br{ display:none;}
  .sec10__panel{ margin-top:23px; display:block; padding:14px; border-radius:8px;}
  .sec10-info{ padding:12px 10px 20px;}
  .sec10-info__title{ font-size:clamp(22px,6.67vw,26px);}
  .sec10-info__item{ min-height:62px; grid-template-columns:44px 30px 1fr; gap:12px; font-size:clamp(16px,4.87vw,19px);}
  .sec10-info__icon{ width:38px; height:38px;}
  .sec10-info__check{ width:25px; height:25px; border-width:2px;}
  .sec10-info__check::after{ left:6px; top:6px; width:9px; height:5px; border-left-width:2px; border-bottom-width:2px;}
  .sec10-info__features{ grid-template-columns:1fr; border-bottom:0;}
  .sec10-feature{ min-height:98px; grid-template-columns:64px 1fr; padding:15px 4px; border-top:1px solid rgba(23,159,184,.6);}
  .sec10-feature:nth-child(2n){ border-left:0;}
  .sec10-feature:nth-child(2){ border-top:1px solid rgba(23,159,184,.6);}
  .sec10-feature__icon{ width:56px;}
  .sec10-feature__price{ font-size:clamp(48px,13.85vw,54px);}
  .sec10-feature__circle{ width:56px; height:56px; font-size:clamp(24px,6.67vw,26px);}
  .sec10-feature__calendar{ width:54px; height:54px;}
  .sec10-feature__text{ font-size:clamp(14px,4.1vw,16px);}
  .sec10-feature__text span{ font-size:clamp(12px,3.59vw,14px);}
  .sec10-form{ margin-top:10px; padding:24px 16px; border-radius:8px;}
  .sec10-form__row{ display:grid; grid-template-columns:1fr 46px; gap:8px 10px; margin-bottom:16px;}
  .sec10-form__label{ font-size:clamp(15px,4.62vw,18px);}
  .sec10-form__badge{ min-width:42px; min-height:27px; font-size:clamp(11px,3.33vw,13px);}
  .sec10-form__field{ grid-column:1 / -1; height:50px; padding:0 14px; font-size:clamp(14px,4.1vw,16px);}
  .sec10-form__button{ min-height:78px; margin-top:20px; gap:12px; padding:12px 14px; font-size:clamp(17px,5.13vw,20px); letter-spacing:.03em;}
  .sec10-form__button-icon{ width:50px; height:50px;}
  .sec10__note{ margin-top:18px; font-size:clamp(13px,3.85vw,15px);}
}

@media (max-width: 380px) {
  .site-header__inner{ padding:0 12px;}
  .site-header__logo{ height:42px;}
  .site-header__cta{ min-width:116px; padding:0 12px; font-size:clamp(11px,3.42vw,13px);}
  .hero__title{ font-size:clamp(30px,9.6vw,38px);}
  .hero__lead{ font-size:clamp(20px,6.05vw,23px);}
  .sec2{ padding-left:12px; padding-right:12px;}
  .sec2__cause-grid{ gap:8px;}
  .sec2-cta__text{ font-size:clamp(19px,6.32vw,24px);}
  .sec3__visual{ padding-left:12px; padding-right:12px;}
  .sec3-table__normal,
  .sec3-table__jaws{ padding:12px 4px;}
  .sec3-message{ padding-left:12px; padding-right:12px;}
  .sec4__visual{ padding-left:12px; padding-right:12px;}
  .sec4__body{ padding-left:12px; padding-right:12px;}
  .sec4-risk{ padding-left:14px; padding-right:14px;}
  .sec5{ padding-left:12px; padding-right:12px;}
  .sec5-card{ padding-left:16px; padding-right:16px;}
  .sec5-message{ padding-left:16px; padding-right:16px;}
  .sec6{ padding-left:12px; padding-right:12px;}
  .sec6-case__body{ padding-left:12px; padding-right:12px;}
  .sec6-case__row{ grid-template-columns:70px 1fr; gap:11px;}
  .sec6-case__label{ width:66px;}
  .sec6-cta{ padding-left:12px; padding-right:12px; gap:12px;}
  .sec7{ padding-left:12px; padding-right:12px;}
  .sec7__label{ gap:12px;}
  .sec7-plan__details{ padding-left:16px; padding-right:16px;}
  .sec7-plan__price{ padding-left:16px; padding-right:16px;}
  .sec7-compare{ padding-left:14px; padding-right:14px;}
  .sec7-compare__price--normal{ left:auto; right:0; font-size:clamp(17px,5.26vw,20px);}
  .sec7-reason-card{ grid-template-columns:70px 1fr; padding-left:14px; padding-right:14px;}
  .sec7-note{ padding-left:14px; padding-right:14px;}
  .sec8,
  .sec9,
  .sec10{ padding-left:12px; padding-right:12px;}
  .sec8__label,
  .sec9__label,
  .sec10__label{ gap:10px; letter-spacing:.08em;}
  .sec9-card{ grid-template-columns:50px 1fr; padding-left:14px; padding-right:14px;}
  .sec9-card__icon{ display:none;}
  .sec10__panel{ padding-left:10px; padding-right:10px;}
  .sec10-form{ padding-left:12px; padding-right:12px;}
  .sec10-form__button{ font-size:clamp(15px,4.74vw,18px);}
}

/* =========================================
   POINT04 導入事例：写真付きカード（コンパクト・4枚並び想定）
   上部に画像（店舗写真／ロゴ）、その下に事例番号＋会社名、
   課題／施策／結果を縦に並べ、結果を強調する。
   カードは小さめ＋最大幅で抑え、中央寄せで折り返す（最大4枚が横一列）。
   画像は .sec6-case__media 内の <img>（コメントアウト中）を
   有効化して差し替える。ロゴは .sec6-case__media に
   sec6-case__media--logo を足すと余白つき（全体表示）になる。
   ※ファイル後方に置き、既存の .sec6-case 系定義を上書きする最終定義
   ========================================= */
/* カードを並べる枠（中央寄せ・折り返し） */
.sec6__cases{ display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(16px,2vw,22px);}
/* カード本体（小さめ・最大280px・縦積み） */
.sec6-case{ flex:1 1 200px; max-width:280px; display:flex; flex-direction:column; align-self:auto; overflow:hidden; background:#ffffff; border:1px solid rgba(0,31,66,.1); border-radius:12px; box-shadow:0 8px 20px rgba(0,31,66,.09);}

/* 画像エリア（プレースホルダー兼コンテナ） */
.sec6-case__media{ position:relative; height:clamp(140px,11vw,165px); display:flex; align-items:center; justify-content:center; overflow:hidden; background:linear-gradient(135deg,#e9eef4 0%,#d7e0ea 100%);}
.sec6-case__media-img{ position:absolute; inset:0; z-index:2; width:100%; height:100%; object-fit:cover;}
.sec6-case__media--logo{ background:#ffffff; border:1px solid #e6ebf2;}
.sec6-case__media--logo .sec6-case__media-img{ object-fit:contain; padding:clamp(8px,1.2vw,14px);}
.sec6-case__media-note{ position:relative; z-index:1; color:#7a8aa0; font-size:clamp(12px,1.2vw,13px); font-weight:900; letter-spacing:.1em;}

/* 事例番号＋会社名（画像の下・白背景の見出し） */
.sec6-case__header{ display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:clamp(3px,.5vw,5px); min-height:0; padding:clamp(13px,1.6vw,16px) clamp(14px,1.7vw,18px) clamp(7px,.9vw,10px); background:#ffffff; border-bottom:0;}
.sec6-case__number{ height:auto; margin:0; display:inline-flex; align-items:baseline; gap:5px; padding:0; color:#127f94; background:none; clip-path:none;}
.sec6-case__number span{ font-size:11px; font-weight:900; line-height:1; letter-spacing:.08em;}
.sec6-case__number strong{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:13px; font-weight:900; line-height:1; color:#127f94;}
.sec6-case__name{ margin:0; text-align:left; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(18px,1.7vw,21px); font-weight:900; line-height:1.28; letter-spacing:.02em; white-space:normal;}
.sec6-case__name span{ margin-left:2px; font-size:clamp(13px,1.2vw,15px);}

/* 課題／施策／結果リスト */
.sec6-case__body{ flex:1; display:flex; flex-direction:column; gap:clamp(10px,1.3vw,13px); padding:clamp(6px,.9vw,9px) clamp(14px,1.7vw,18px) clamp(15px,1.9vw,18px); counter-reset:none;}
.sec6-case__row{ counter-increment:none; position:static; display:flex; flex-direction:column; align-items:flex-start; gap:clamp(3px,.5vw,5px); min-height:0; margin:0; padding:0; border:0;}
.sec6-case__row + .sec6-case__row{ border-top:0; border-left:0;}
/* 旧ステップ装飾（番号丸・矢印）を無効化 */
.sec6-case__row::before,
.sec6-case__row::after,
.sec6-case__row:nth-child(2)::before,
.sec6-case__row:nth-child(3)::before{ content:none; display:none; background:none;}

/* ラベル（課題/施策/結果）：控えめな小見出し */
.sec6-case__label{ display:inline-flex; align-items:center; align-self:flex-start; width:auto; min-width:0; min-height:0; margin:0; padding:0; color:#5a86a0; font-size:clamp(10px,1vw,11px); font-weight:900; line-height:1; letter-spacing:.14em; background:none; border:0; border-radius:0; box-shadow:none;}
.sec6-case__label--result{ color:#127f94; background:none;}
.sec6-case__label--navy{ color:#5a86a0; background:none;}

/* 本文 */
.sec6-case__text{ margin:0; color:#1f3b5c; font-size:clamp(13px,1.1vw,14px); font-weight:600; line-height:1.55; letter-spacing:.01em;}
.sec6-case__text br{ display:none;}

/* 結果（区切り線＋大きめの数字で強調） */
.sec6-case__row.sec6-case__row--result{ margin-top:clamp(3px,.5vw,6px); padding-top:clamp(11px,1.4vw,14px); border-top:1px solid rgba(0,31,66,.1);}
.sec6-case__result{ margin:0; min-width:0;}
.sec6-case__result-lead{ margin:0; color:#5a86a0; font-size:clamp(11px,1vw,12px); font-weight:800; line-height:1.3; letter-spacing:.01em;}
.sec6-case__result-main{ margin:2px 0 0; color:#127f94; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(26px,2.4vw,33px); font-weight:900; line-height:1.05; letter-spacing:0;}
.sec6-case__result-main span{ font-family:inherit; font-size:clamp(15px,1.4vw,18px);}
.sec6-case__result-main small{ display:inline-block; margin:0 0 0 6px; color:#001f42; font-family:inherit; font-size:clamp(12px,1.1vw,14px);}

/* スマホ：1枚を大きめ・横幅いっぱい寄りに */
@media (max-width:767px){
  .sec6-case{ flex:1 1 100%; max-width:440px;}
  .sec6-case__media{ height:clamp(160px,42vw,200px);}
  .sec6-case__header{ padding:clamp(15px,4vw,18px) clamp(16px,4.4vw,20px) clamp(8px,2.2vw,11px);}
  .sec6-case__name{ font-size:clamp(20px,5.6vw,24px);}
  .sec6-case__body{ gap:clamp(11px,3.2vw,14px); padding:clamp(7px,2vw,10px) clamp(16px,4.4vw,20px) clamp(17px,4.4vw,22px);}
  .sec6-case__text{ font-size:clamp(14px,3.8vw,16px); line-height:1.6;}
  .sec6-case__result-main{ font-size:clamp(32px,9vw,42px);}
}

/* =========================================
   POINT04 お客様の声（旧・導入事例）
   カード3枚の横並び前提。上部にロゴ、その下に VOICE番号＋社名、
   本文は課題／施策／結果ではなく「声の文章」1本を引用符付きで見せる。
   ※ファイル後方に置き、上の .sec6-case 系定義を上書きする最終定義
   ========================================= */
/* カード：3枚が横一列に収まる幅に調整 */
.sec6-case{ flex:1 1 220px; max-width:340px;}

/* 社名：「株式会社◯◯様」で長くなるため少し小さめ */
.sec6-case__name{ font-size:clamp(16px,1.5vw,19px); line-height:1.35;}

/* VOICE 番号 */
.sec6-case__number span{ letter-spacing:.12em;}

/* 声の本文：左上に引用符を重ねる */
.sec6-case__voice{ position:relative; margin:0; padding:clamp(20px,2.4vw,26px) 0 0; color:#1f3b5c; font-size:clamp(13px,1.08vw,14px); font-weight:600; line-height:1.85; letter-spacing:.01em; text-align:justify;}
.sec6-case__voice::before{ content:"\201C"; position:absolute; top:-4px; left:0; color:#179fb8; font-family:Georgia,"Times New Roman",serif; font-size:clamp(40px,3.6vw,48px); font-weight:700; line-height:1; opacity:.3;}

/* 声の中の成果部分をマーカーで強調 */
.sec6-case__voice-hl{ color:#127f94; font-weight:900; background:linear-gradient(transparent 62%, rgba(23,159,184,.18) 62%);}

/* =========================================
   Responsive: Mobile（お客様の声）
   ========================================= */
@media (max-width:767px){
  .sec6-case{ flex:1 1 100%; max-width:440px;}
  .sec6-case__name{ font-size:clamp(19px,5vw,22px);}
  .sec6-case__voice{ padding-top:clamp(22px,6vw,28px); font-size:clamp(14px,3.8vw,16px); line-height:1.8;}
  .sec6-case__voice::before{ font-size:clamp(42px,11vw,52px);}
}

/* =========================================
   POINT05 料金プラン：センター集約・価格主役型
   表ヘッダー（サービス／内容／料金）を廃止し、
   ①サービス名バッジ → ②料金（主役）→ ③内容チェックリスト
   の縦並びに再構成。order で並び替え、HTMLは変更なし。
   ========================================= */
/* カード本体：白カードを維持、上部にティールのアクセント線 */
.sec7-plan{ overflow:hidden; margin-top:clamp(24px,3vw,34px); background:#ffffff; border:1px solid rgba(0,31,66,.12); border-top:4px solid #179fb8; border-radius:14px; box-shadow:0 10px 26px rgba(0,31,66,.12);}

/* 表ヘッダーは非表示 */
.sec7-plan__head{ display:none;}

/* 本文：縦1列・中央寄せ。order で バッジ→料金→内容 に並び替え */
.sec7-plan__body{ display:flex; flex-direction:column; align-items:center; min-height:0; grid-template-columns:none; padding:clamp(34px,4.4vw,56px) clamp(20px,3vw,44px) clamp(34px,4.4vw,52px);}

/* ① サービス名バッジ（紺ピル＋小アイコン） */
.sec7-plan__service{ order:1; flex-direction:row; align-items:center; justify-content:center; gap:10px; min-height:0; margin:0 0 clamp(20px,2.6vw,30px); padding:clamp(9px,1vw,12px) clamp(20px,2.2vw,28px); color:#ffffff; background:linear-gradient(135deg,#00336d 0%,#001f42 100%); border-radius:999px; box-shadow:0 6px 16px rgba(0,31,66,.22);}
.sec7-plan__service-name{ color:#ffffff; font-size:clamp(18px,1.7vw,22px); letter-spacing:.06em;}

/* ② 料金（主役）：固定費0円を補助行、660円/件を最大級に */
.sec7-plan__price{ order:2; align-items:center; gap:clamp(6px,.8vw,10px); width:100%; padding:0;}
.sec7-plan__fixed{ gap:clamp(8px,1vw,14px); color:#127f94;}
.sec7-plan__fixed-label{ font-size:clamp(20px,2vw,26px);}
.sec7-plan__fixed strong{ font-size:clamp(34px,3.6vw,48px);}
.sec7-plan__yen{ font-size:clamp(20px,2vw,26px);}
.sec7-plan__unit{ margin:0; padding:0; gap:clamp(8px,1vw,14px); color:#127f94; border-top:0;}
.sec7-plan__unit strong{ font-size:clamp(62px,7vw,98px);}
.sec7-plan__unit span{ font-size:clamp(26px,2.6vw,36px);}

/* ③ 内容：料金との間に区切り線、左寄せチェックリストを中央ブロックで配置 */
.sec7-plan__details{ order:3; width:100%; max-width:560px; margin-top:clamp(22px,2.6vw,30px); padding:clamp(22px,2.6vw,30px) 0 0; display:flex; flex-direction:column; gap:clamp(14px,1.8vw,20px); border-right:0; border-top:1px solid rgba(0,31,66,.12);}
.sec7-plan__detail{ display:grid; grid-template-columns:28px 1fr; align-items:start; gap:14px; margin:0; padding:0; color:#1f3b5c; font-size:clamp(16px,1.4vw,20px); font-weight:800; line-height:1.6; letter-spacing:.02em; border-bottom:0;}
.sec7-plan__check{ width:26px; height:26px; margin-top:.15em; border:3px solid #179fb8;}

/* スマホ：余白と価格サイズを調整 */
@media (max-width:767px){
  .sec7-plan{ border-radius:12px;}
  .sec7-plan__body{ padding:clamp(28px,7vw,40px) clamp(18px,5vw,28px) clamp(28px,7vw,38px);}
  .sec7-plan__service{ margin-bottom:clamp(18px,5vw,24px);}
  .sec7-plan__service-name{ font-size:clamp(17px,5vw,20px);}
  .sec7-plan__fixed strong{ font-size:clamp(32px,9vw,44px);}
  .sec7-plan__unit strong{ font-size:clamp(56px,17vw,78px);}
  .sec7-plan__unit span{ font-size:clamp(24px,7vw,30px);}
  .sec7-plan__details{ margin-top:clamp(18px,5vw,24px); padding-top:clamp(18px,5vw,24px);}
  .sec7-plan__detail{ font-size:clamp(15px,4.4vw,18px);}
}

/* =========================================
   POINT05 価格理由カード：アイコン廃止・ナンバリング型
   画像アイコンを使わず、通し番号（01/02）＋縦罫線で再構成。
   注記（sec7-note）もアイコンを外して中央寄せに。HTMLは変更なし。
   ========================================= */
/* アイコン画像は非表示 */

/* カード：番号カウンターを用意 */
.sec7-reason__cards{ counter-reset:reason;}
.sec7-reason-card{ counter-increment:reason; align-items:stretch; grid-template-columns:clamp(74px,7vw,110px) 1fr; gap:clamp(20px,2.2vw,30px); padding:clamp(26px,2.8vw,34px) clamp(28px,3vw,40px);}

/* 左カラム：大きな通し番号＋縦罫線（アイコンの代わり） */
.sec7-reason-card::before{ content:counter(reason,decimal-leading-zero); display:flex; align-items:center; justify-content:center; color:#179fb8; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(50px,5.6vw,82px); font-weight:900; line-height:1; letter-spacing:0; border-right:2px solid rgba(23,159,184,.35);}

/* 本文：縦中央寄せで番号と高さを揃える */
.sec7-reason-card__body{ display:flex; flex-direction:column; justify-content:center;}

/* 注記：アイコンを外し、クリーム枠の中で中央寄せ */
.sec7-note{ display:block; grid-template-columns:none; min-height:0; padding:clamp(24px,2.6vw,32px) clamp(28px,3.2vw,48px); text-align:center;}
.sec7-note__text{ padding:0; border:0;}

/* スマホ：番号カラムと余白を縮小 */
@media (max-width:767px){
  .sec7-reason-card{ grid-template-columns:clamp(56px,16vw,74px) 1fr; gap:clamp(14px,4vw,20px); padding:clamp(20px,5vw,26px) clamp(16px,4.6vw,22px);}
  .sec7-reason-card::before{ font-size:clamp(36px,12vw,52px);}
  .sec7-note{ padding:clamp(22px,6vw,28px) clamp(18px,5vw,24px);}
}

/* =========================================
   POINT05 料金：基本料金＋従量料金の横並び表示
   「固定費（月額）0円」＋「従量料金（1件あたり）660円」を
   2ブロック＋「＋」記号で横並び。スマホは縦積み。
   ========================================= */
/* 価格ブロックを横並びに */
.sec7-plan__price{ order:2; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(18px,3vw,48px); width:100%; padding:0;}

/* 各価格カラム（ラベル＋金額の縦組み） */
.sec7-plan__price-col{ display:flex; flex-direction:column; align-items:center; gap:clamp(4px,.7vw,8px);}
.sec7-plan__price-head{ margin:0; display:flex; align-items:baseline; justify-content:center; gap:8px;}
.sec7-plan__price-name{ color:#001f42; font-size:clamp(17px,1.6vw,21px); font-weight:900; letter-spacing:.06em;}
.sec7-plan__price-sub{ color:#7a8aa0; font-size:clamp(12px,1.1vw,14px); font-weight:800; letter-spacing:.04em;}

/* 「＋」記号（金額の高さに合わせて少し下げる） */
.sec7-plan__plus{ align-self:center; margin-top:clamp(16px,1.9vw,26px); color:#bcc6d2; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(32px,3.4vw,50px); font-weight:900; line-height:1;}

/* 金額本体：固定費は紺、従量はティールで強調 */
.sec7-plan__fixed{ width:auto; margin:0; align-items:baseline; justify-content:center; gap:4px; color:#001f42; line-height:1;}
.sec7-plan__fixed strong{ font-size:clamp(40px,4.6vw,66px);}
.sec7-plan__yen{ font-size:clamp(18px,1.7vw,24px);}
.sec7-plan__unit{ width:auto; margin:0; padding:0; align-items:baseline; justify-content:center; gap:4px; color:#127f94; border-top:0; line-height:1;}
.sec7-plan__unit strong{ font-size:clamp(40px,4.6vw,66px); color:#127f94;}
.sec7-plan__unit span{ font-size:clamp(18px,1.7vw,24px); color:#127f94;}

/* スマホ：固定費 → ＋ → 従量 の縦積み */
@media (max-width:767px){
  .sec7-plan__price{ flex-direction:column; gap:clamp(8px,2.4vw,14px);}
  .sec7-plan__plus{ margin-top:0;}
  .sec7-plan__fixed strong, .sec7-plan__unit strong{ font-size:clamp(44px,13vw,60px);}
}

/* =========================================
   POINT05 料金：スリムな横長バー化
   バッジと内容チェックリストを隠し、価格行だけの細長いカードに。
   （display:none で隠すだけ。HTMLは残すのでいつでも復帰可）
   ========================================= */
.sec7-plan__service{ display:none;}
.sec7-plan__details{ display:none;}
.sec7-plan__body{ padding:clamp(20px,2.6vw,30px) clamp(20px,3vw,44px);}

/* =========================================
   POINT05 理由カード：番号が縦罫線に接触しないよう余白確保
   （番号カラムを拡大＋番号に右余白＋フォント微調整）
   ========================================= */
.sec7-reason-card{ grid-template-columns:clamp(86px,7.8vw,122px) 1fr;}
.sec7-reason-card::before{ padding-right:clamp(14px,1.7vw,20px); font-size:clamp(46px,5vw,74px);}
@media (max-width:767px){
  .sec7-reason-card{ grid-template-columns:clamp(64px,17vw,84px) 1fr;}
  .sec7-reason-card::before{ padding-right:clamp(8px,2.4vw,12px); font-size:clamp(34px,11vw,48px);}
}

/* =========================================
   POINT05 理由：指差し女性アイコンをカード左に配置
   （重なり解消：アイコン専用の列を確保し、カードを指す形に）
   ========================================= */
.sec7-reason__cardrow{ display:flex; align-items:center; justify-content:center; gap:clamp(14px,2.2vw,38px);}
.sec7-reason__figure{ flex:0 0 auto; width:clamp(116px,12.5vw,180px); height:auto; pointer-events:none;}
.sec7-reason__cardrow .sec7-reason__cards{ flex:1 1 auto; margin-top:0;}
@media (max-width:767px){
  .sec7-reason__cardrow{ flex-direction:column; gap:14px;}
  .sec7-reason__figure{ width:clamp(96px,26vw,130px);}
}

/* =========================================
   POINT05 理由：カードの箱を廃止しフラット表示
   （白背景・枠線・影をなくし、2項目の間を区切り線で分離）
   ========================================= */
.sec7-reason-card{ min-height:auto; background:none; border:0; border-radius:0; box-shadow:none; padding:clamp(6px,1vw,14px) clamp(24px,3.4vw,52px);}
.sec7-reason-card::before{ border-right:0;}
.sec7-reason__cards{ gap:0;}
.sec7-reason-card + .sec7-reason-card{ border-left:1px solid rgba(0,31,66,.14);}
@media (max-width:767px){
  .sec7-reason-card{ padding:clamp(16px,4vw,22px) 0;}
  .sec7-reason-card + .sec7-reason-card{ border-left:0; border-top:1px solid rgba(0,31,66,.14);}
}

/* =========================================
   POINT06 導入までの流れ：丸アイコン横並びステップに刷新
   （白い丸＋ティールアイコン／上にStepラベル／丸の間に三角矢印）
   ========================================= */
.sec8-flow{ margin-top:clamp(34px,8vw,104px);}
.sec8-flow__eyebrow{ margin:0 0 14px; display:flex; align-items:center; justify-content:center; gap:9px; color:#127f94; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.2em;}
.sec8-flow__eyebrow::before{ content:"\25CF"; font-size:.66em;}
.sec8-flow__title{ display:block; gap:0; font-size:clamp(30px,2.9vw,46px); letter-spacing:.1em;}
.sec8-flow__title::before,
.sec8-flow__title::after{ display:none;}
.sec8-flow__list{ margin-top:clamp(34px,8vw,105px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(18px,2.4vw,40px); align-items:start;}
.sec8-flow__item{ position:relative; display:flex; flex-direction:column; align-items:center; gap:0; min-width:0; text-align:center;}
.sec8-flow__step{ display:inline-flex; align-items:center; gap:11px; margin-bottom:14px; color:#127f94; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(13px,1.12vw,17px); font-weight:800; line-height:1; letter-spacing:.14em;}
.sec8-flow__step::before,
.sec8-flow__step::after{ content:""; width:14px; height:2px; background:#127f94;}
.sec8-flow__step::before{ transform:rotate(62deg);}
.sec8-flow__step::after{ transform:rotate(-62deg);}
.sec8-flow__circle{ width:clamp(96px,9.4vw,130px); height:clamp(96px,9.4vw,130px); display:flex; align-items:center; justify-content:center; background:#ffffff; border-radius:50%; box-shadow:0 12px 26px rgba(0,31,66,.14);}
.sec8-flow__circle svg{ width:48%; height:48%; color:#179fb8;}
.sec8-flow__item:not(:last-child)::after{ content:""; position:absolute; left:calc(100% + clamp(18px,2.4vw,40px) / 2); top:calc(31px + clamp(96px,9.4vw,130px) / 2); width:0; height:0; transform:translate(-50%,-50%); background:none; border-style:solid; border-width:8px 0 8px 12px; border-color:transparent transparent transparent #179fb8;}
.sec8-flow__item:not(:last-child)::before{ display:none;}
.sec8-flow__text{ margin:18px 0 0; color:#1f3b5c; line-height:1.4;}
.sec8-flow__text strong{ display:block; color:#127f94; font-size:clamp(19px,1.7vw,26px); font-weight:900; letter-spacing:.06em;}
.sec8-flow__text span{ display:block; margin-top:9px; color:#1f3b5c; font-size:clamp(13px,1.12vw,16px); font-weight:700; letter-spacing:.04em; line-height:1.6;}
@media (max-width:767px){
  .sec8-flow__list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(22px,5.5vw,34px) clamp(14px,4vw,26px);}
  .sec8-flow__item{ margin-bottom:0; min-height:0;}
  .sec8-flow__item:not(:last-child)::after{ display:none;}
  .sec8-flow__circle{ width:clamp(86px,26vw,120px); height:clamp(86px,26vw,120px);}
  .sec8-flow__text strong{ font-size:clamp(18px,5vw,22px);}
  .sec8-flow__text span{ font-size:clamp(12px,3.6vw,15px);}
}

/* =========================================
   POINT06 まとめ文：装飾ボックスを廃止し普通のテキストに
   （紺の背景・影・枠線・強調色をなくし、地に直接置く本文表示）
   ========================================= */
.sec8-message{ min-height:0; margin-top:clamp(22px,2.6vw,34px); padding:0; display:block; color:#1f3b5c; background:none; border-radius:0; box-shadow:none; text-align:center;}
.sec8-message__text{ padding:0; color:#1f3b5c; font-size:clamp(16px,1.5vw,21px); font-weight:500; line-height:1.8; letter-spacing:.04em; border-left:0;}
.sec8-message__text span{ color:inherit; font-weight:inherit;}
@media (max-width:767px){
  .sec8-message{ padding:0; text-align:center; border-radius:0;}
  .sec8-message__text{text-align: left; padding:0; border-top:0; font-size:clamp(15px,4.2vw,18px); line-height:1.8;}
}

/* =========================================
   POINT07 こんな買取事業者に選ばれています：背景画像を廃止
   （背景画像と上に重ねた白グラデーションを撤去し白一色に）
   ========================================= */
.sec9{ background:#ffffff;}
.sec9::before{ display:none;}

/* =========================================
   POINT07 おすすめ条件：カード廃止＋画像左・リスト右
   （白い箱・枠線・影・縦線・装飾アイコンを撤去し素のチェックリストに）
   ========================================= */
.sec9__match{ margin-top:clamp(26px,3vw,40px); display:flex; align-items:center; gap:clamp(24px,3.6vw,60px);}
.sec9__figure{ flex:0 0 auto; width:clamp(220px,29vw,360px); height:auto; pointer-events:none;}
.sec9__match .sec9__cards{ flex:1 1 auto; margin-top:0; display:flex; flex-direction:column; gap:0;}
.sec9-card{ min-height:0; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:clamp(12px,1.5vw,22px); padding:clamp(13px,1.6vw,20px) 0; background:none; border:0; border-radius:0; box-shadow:none;}
.sec9-card + .sec9-card{ border-top:1px solid rgba(0,31,66,.12);}
.sec9-card::before{ display:none;}
.sec9-card__check{ width:30px; grid-column:1;}
.sec9-card__text{ grid-column:2; font-size:clamp(16px,1.55vw,22px); line-height:1.55;}
.sec9-card__icon{ display:none;}
@media (max-width:767px){
  .sec9__match{ flex-direction:column; gap:clamp(14px,4vw,24px);}
  .sec9__figure{ width:clamp(150px,44vw,230px);}
  .sec9__match .sec9__cards{ width:100%;}
  .sec9-card{ grid-template-columns:auto 1fr; padding:clamp(13px,3.6vw,17px) 0;}
  .sec9-card__check{ width:clamp(34px,9vw,46px);}
  .sec9-card__text{ font-size:clamp(15px,4.3vw,18px);}
  .sec9-card__text br{ display:none;}
}

/* =========================================
   POINT07 おすすめCTA：装飾ボックスを廃止し普通のテキストに
   （紺背景・影・丸アイコン・ボタン装飾を撤去し、本文＋テキストリンクに）
   ========================================= */
.sec9-cta{ min-height:0; display:block; margin-top:clamp(22px,5.6vw,65px); padding:0; gap:0; color:#1f3b5c; background:none; border-radius:0; box-shadow:none; text-align:center;}
.sec9-cta__text{ padding:0; color:#1f3b5c; font-size:clamp(18px,1.7vw,26px); font-weight:700; line-height:1.6; letter-spacing:.04em; border-left:0;}
.sec9-cta__text span{ color:inherit; font-weight:inherit;}
.sec9-cta__button{ min-height:0; margin-top:clamp(16px,1.8vw,24px); display:inline-flex; align-items:center; justify-content:center; gap:clamp(12px,1.2vw,18px); padding:clamp(14px,1.3vw,18px) clamp(26px,2.6vw,40px); background:linear-gradient(180deg,#7fd6e3 0%,#179fb8 56%,#127f94 100%); border:1px solid rgba(18,127,148,.25); border-radius:8px; box-shadow:0 7px 16px rgba(0,0,0,.24);}
.sec9-cta__button:hover{ transform:translateY(-2px); box-shadow:0 11px 22px rgba(0,0,0,.28);}
.sec9-cta__button span{ font-size:clamp(17px,1.6vw,22px); font-weight:900; line-height:1; letter-spacing:.06em; text-decoration:none; white-space:nowrap;}
@media (max-width:767px){
  .sec9-cta{ padding:0; text-align:center; border-radius:0;}
  .sec9-cta__text{ padding:0; border-top:0; font-size:clamp(17px,5vw,21px);}
  .sec9-cta__button{ min-height:0; margin-top:18px; padding:14px 24px; gap:12px;}
  .sec9-cta__button span{ font-size:clamp(15px,4.2vw,17px); white-space:normal;}
}

/* =========================================
   POINT05 料金：指差し女性アイコンを「シンプルな料金体系」見出しの左へ絶対配置
   （sec7__headerを基準に position:absolute で見出し左に配置）
   ========================================= */
.sec7__header{ position:relative;}
.sec7-reason__figure{ position:absolute; top:50%; left:clamp(0px,2vw,40px); transform:translateY(-50%); width:clamp(104px,11vw,156px); height:auto; margin:0; pointer-events:none; z-index:2;}
@media (max-width:767px){
  .sec7-reason__figure{ top:50%; left:0; width:clamp(56px,15vw,80px);}
}

/* =========================================
   POINT06 sec8上端：アーチSVGを上下反転して上端に配置
   （sec2末尾と同じアーチを scaleY(-1) で反転し top:0 へ）
   ========================================= */
.sec8 .sec2__arch{ top:0; bottom:auto; transform:translateX(-50%) scaleY(-1);}

/* =========================================
   POINT08 資料リスト：アイコン削除に伴いチェック＋テキストの2列に変更
   （旧 56px 36px 1fr の3列を、全幅で auto 1fr に上書き）
   ========================================= */
.sec10-info__item{ grid-template-columns:auto 1fr;}

/* =========================================
   POINT01 sec2背景：背景画像を廃止し単色に
   （画像 pc_sec2_bg.png と、画像を薄める白オーバーレイを除去）
   ========================================= */
.sec2{ background:#ffffff;}
.sec2::before{ display:none;}

/* =========================================
   フッター（ネイビー地・ブランド＋ナビ＋著作権）
   ========================================= */
.site-footer{ display:block; color:#ffffff; background:#001f42;}
.site-footer__inner{ width:min(100%,1200px); margin:0 auto; padding:clamp(40px,4.5vw,64px) 40px clamp(28px,3vw,40px); display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:clamp(28px,4vw,60px);}
.site-footer__brand{ display:flex; flex-direction:column; gap:10px; max-width:440px;}
.site-footer__logo{ display:block; align-self:flex-start; width:auto; height:96px;}
.site-footer__tagline{ color:#9fc6e0; font-size:clamp(11px,.9vw,13px); font-weight:800; line-height:1; letter-spacing:.04em;}
.site-footer__desc{ margin:6px 0 0; color:rgba(255,255,255,.78); font-size:clamp(13px,1vw,15px); font-weight:500; line-height:1.8; letter-spacing:.02em;}
.site-footer__nav{ display:flex; flex-wrap:wrap; align-items:center; gap:clamp(14px,1.6vw,26px);}
.site-footer__link{ color:rgba(255,255,255,.88); font-size:clamp(13px,1.04vw,16px); font-weight:800; line-height:1; letter-spacing:.02em; transition:color .2s ease;}
.site-footer__link:hover{ color:#4fc6dd;}
/* 運営会社：外部サイト（コーポレートHP）へ遷移するため右上向きの矢印を添える */
.site-footer__link--external{ display:inline-flex; align-items:center; gap:6px;}
.site-footer__link--external::after{ content:""; width:.5em; height:.5em; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:translateY(1px) rotate(45deg); transition:transform .2s ease;}
.site-footer__link--external:hover::after{ transform:translate(1px,0) rotate(45deg);}
.site-footer__bottom{ border-top:1px solid rgba(255,255,255,.14);}
.site-footer__copy{ display:block; width:min(100%,1200px); margin:0 auto; padding:18px 40px; color:rgba(255,255,255,.6); font-size:clamp(11px,.85vw,13px); font-weight:600; letter-spacing:.04em; text-align:center;}

/* =========================================
   フッター Responsive: Mobile
   ========================================= */
@media (max-width:767px){
  .site-footer__inner{ padding:36px 20px 26px; flex-direction:column; gap:26px;}
  .site-footer__logo{ height:80px;}
  .site-footer__nav{ gap:14px 20px;}
  .site-footer__copy{ padding:16px 20px;}
}

/* =========================================
   POINT00 FV（ヒーロー）左寄せ・余白調整 Responsive: Mobile
   ========================================= */
@media (max-width:767px){
  .hero__inner{ padding:0 16px;}
  .hero__copy{ text-align:left;}
  .hero__badges{ align-items:flex-start; margin-top:28px; margin-bottom:26px;}
  .hero__title{ line-height:1.4;}
  .hero__lead{ margin-top:20px;}
  .hero__support{ display:inline-block; width:auto; margin-top:20px; padding-top:18px;}
  .hero__cta-row{ margin-top:30px;}
}

/* =========================================
   POINT01 sec2 売上損失ブロック 表示調整 Mobile
   ========================================= */
.sec2__loss-break{ display:none;}
@media (max-width:767px){
  .sec2__loss-main{ font-size:clamp(20px,6.2vw,26px); line-height:1.45;}
  .sec2__loss-main span{ display:inline; font-size:clamp(40px,12vw,52px); vertical-align:-3px;}
  .sec2__loss-break{ display:inline;}
}

/* =========================================
   POINT02 sec3 吹き出しをキャラクターの上に Mobile
   ========================================= */
@media (max-width:560px){
  .sec3-ask{ flex-direction:column-reverse;}
  .sec3-ask__bubbles{ grid-template-columns:1fr 1fr; gap:12px;}
  .sec3-ask__bubble{ padding:12px 14px; font-size:clamp(12px,3.4vw,15px); text-align:center;}
  .sec3-ask__bubble::before{ top:auto; bottom:-14px; transform:translateX(-50%) rotate(-90deg);}
  .sec3-ask__bubble::after{ top:auto; bottom:-10px; transform:translateX(-50%) rotate(-90deg);}
}

/* =========================================
   POINT03 sec2 CTAボタン 表示調整 Mobile
   ========================================= */
@media (max-width:767px){
  .sec2-cta{ width:min(100%,440px); gap:10px; padding:0 18px;}
  .sec2-cta__text{ font-size:clamp(15px,4.5vw,19px); line-height:1.4;}
  .sec2-cta__arrow{ font-size:clamp(20px,6vw,24px);}
}

/* =========================================
   POINT04 sec3 比較表 見やすさ（行を色分け） Mobile
   ========================================= */
@media (max-width:767px){
  .sec3-table__normal{ background:#f3f5f7;}
  .sec3-table__normal::before{ color:#8a98a6; font-weight:800;}
  .sec3-table__jaws{ background:rgba(23,159,184,.09); border-left:3px solid #179fb8;}
  .sec3-table__jaws::before{ color:#127f94; font-weight:800;}
}

/* =========================================
   POINT05 sec4 メリットカード アイコン右上配置 Mobile
   ========================================= */
@media (max-width:560px){
  .sec4-merit__item{ position:relative;}
  .sec4-merit__icon{ position:absolute; top:24px; right:28px;}
  .sec4-merit__body{ padding-right:72px;}
}

/* =========================================
   POINT06 スマホ 本文の改行位置・左寄せ調整 Mobile
   ========================================= */
@media (max-width:767px){
  /* 本文段落：PC用の強制改行を解除し、左寄せで読みやすく */
  .sec3-message__text,
  .sec4-risk__text,
  .sec5__lead,
  .sec5-message,
  .sec6__lead,
  .sec7__lead,
  .sec9__lead{ text-align:left;}
  .sec3-message__text br,
  .sec4-risk__text br,
  .sec5__lead br,
  .sec5-message br,
  .sec6__lead br,
  .sec7__lead br,
  .sec9__lead br{ display:none;}
  /* ※注記：改行は意味があるため残し、左寄せのみ適用 */
  .sec10__lead,
  .sec10__note{ text-align:left;}
}

/* =========================================
   POINT07 sec7 料金プラン 女性アイコン位置調整 Mobile
   見出し「シンプルな料金体系」との重なりを解消するため、絶対配置をやめて見出しの真上に配置
   ========================================= */
@media (max-width:767px){
  .sec7-reason__figure{ position:static; display:block; margin:0 auto 8px; transform:none; width:clamp(64px,18vw,88px);}
}

/* =========================================
   POINT08 sec7 料金 固定費＋従量を横並びに Mobile
   スマホで縦積みだった「0円 ＋ 660円」を横並びへ。
   収まるよう金額・ラベルを縮小し、ラベルは名称＋補足の2段組みに
   ========================================= */
@media (max-width:767px){
  .sec7-plan__price{ flex-direction:row; flex-wrap:nowrap; align-items:flex-end; justify-content:center; gap:clamp(8px,3vw,16px);}
  .sec7-plan__price-col{ gap:clamp(2px,1vw,6px);}
  .sec7-plan__price-head{ flex-direction:column; align-items:center; gap:2px;}
  .sec7-plan__price-name{ font-size:clamp(14px,4vw,18px);}
  .sec7-plan__price-sub{ font-size:clamp(11px,3.2vw,13px);}
  .sec7-plan__plus{ align-self:flex-end; margin:0 0 clamp(6px,2vw,12px);}
  .sec7-plan__fixed strong,
  .sec7-plan__unit strong{ font-size:clamp(34px,11vw,46px);}
  .sec7-plan__yen,
  .sec7-plan__unit span{ font-size:clamp(16px,4.6vw,22px);}
}

/* =========================================
   FAQ（よくあるご質問）
   ========================================= */
.faq{ padding:clamp(56px,7vw,96px) 20px; background:#f4fafb;}
.faq__inner{ width:min(100%,880px); margin:0 auto;}
.faq__header{ margin:0 0 clamp(28px,3.5vw,44px); text-align:center;}
.faq__label{ margin:0 0 16px; display:flex; justify-content:center; align-items:center; gap:9px; color:#001f42; font-size:clamp(13px,1.05vw,16px); font-weight:800; line-height:1; letter-spacing:.14em;}
.faq__label::before{ content:"\25CF"; color:#179fb8; font-size:.72em;}
.faq__label span:nth-child(2){ color:#179fb8; font-weight:600;}
.faq__title{ margin:0; color:#001f42; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(28px,3.4vw,44px); font-weight:900; line-height:1.4; letter-spacing:.02em;}
.faq__lead{ margin:16px 0 0; color:#33475b; font-size:clamp(14px,1.2vw,17px); font-weight:700; line-height:1.7;}

.faq__list{ display:flex; flex-direction:column; gap:14px;}
.faq-item{ overflow:hidden; background:#ffffff; border:1px solid rgba(18,127,148,.16); border-radius:14px; box-shadow:0 8px 20px rgba(14,42,57,.06);}
.faq-item[open]{ border-color:rgba(18,127,148,.4); box-shadow:0 12px 26px rgba(14,42,57,.1);}
.faq-item__q{ display:flex; align-items:center; gap:14px; padding:20px 22px; color:#102a39; font-size:clamp(15px,1.35vw,18px); font-weight:800; line-height:1.5; cursor:pointer; list-style:none;}
.faq-item__q::-webkit-details-marker{ display:none;}
.faq-item__q-mark{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; color:#ffffff; font-size:16px; font-weight:900; line-height:1; background:var(--fv-teal); border-radius:50%;}
.faq-item__q-text{ flex:1 1 auto;}
.faq-item__icon{ flex:0 0 auto; position:relative; width:18px; height:18px;}
.faq-item__icon::before,
.faq-item__icon::after{ content:""; position:absolute; top:50%; left:50%; background:var(--fv-teal-d); border-radius:2px; transform:translate(-50%,-50%); transition:transform .25s ease,opacity .25s ease;}
.faq-item__icon::before{ width:16px; height:2.5px;}
.faq-item__icon::after{ width:2.5px; height:16px;}
.faq-item[open] .faq-item__icon::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0;}
.faq-item__a{ display:flex; align-items:flex-start; gap:14px; padding:18px 22px 22px; border-top:1px solid rgba(18,127,148,.12);}
.faq-item__a-mark{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; color:var(--fv-teal-d); font-size:16px; font-weight:900; line-height:1; background:var(--fv-teal-l); border-radius:50%;}
.faq-item__a-text{ flex:1 1 auto; margin:0; color:#33475b; font-size:clamp(14px,1.2vw,16px); font-weight:600; line-height:1.8;}

/* =========================================
   Responsive: Mobile（FAQ）
   ========================================= */
@media (max-width:767px){
  .faq{ padding:48px 16px;}
  .faq__inner{ width:100%;}
  .faq-item__q{ gap:10px; padding:16px; font-size:16px;}
  .faq-item__q-mark,
  .faq-item__a-mark{ width:26px; height:26px; font-size:14px;}
  .faq-item__a{ gap:10px; padding:14px 16px 18px;}
}

/* =========================================
   CTAボタン文言の統一（大型CTAを2行で表示）
   ========================================= */
.sec2-cta__text,
.sec6-cta__text,
.sec9-cta__button span,
.sec10-form__button{ font-size:clamp(18px,2.2vw,26px); font-weight:900; line-height:1.45; letter-spacing:.03em; white-space:normal; text-align:center; word-break:keep-all;}
/* 資料請求フォームの送信ボタンは文字を少し小さめに */
.sec10-form__button{ font-size:clamp(16px,1.7vw,22px); letter-spacing:.02em;}

/* =========================================
   比較表：○△×マーク
   ========================================= */
.sec3-table__mark{ font-family:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif; font-size:clamp(28px,2.9vw,38px); font-weight:900; line-height:1;}
.sec3-table__mark--o{ color:#179fb8;}
.sec3-table__mark--tri{ color:#e0912f;}
.sec3-table__mark--x{ color:#cf5a5a;}
.sec3-table__cell-text{ display:block;}

/* =========================================
   Responsive: Mobile（比較表マーク）
   ========================================= */
@media (max-width:767px){
  .sec3-table__normal,
  .sec3-table__jaws{ display:flex; flex-direction:column; align-items:center; gap:5px;}
  .sec3-table__mark{ font-size:clamp(22px,6vw,26px);}
}

/* =========================================
   Contact Form 7 対応（LPの資料請求フォーム）
   CF7 は入力欄を span.wpcf7-form-control-wrap で包むため、
   その分の隙間を打ち消してLPの見た目を保つ
   ========================================= */
.sec10-form .wpcf7-form-control-wrap{ display:block; width:100%;}
.sec10-form .wpcf7-form-control{ width:100%;}
.sec10-form p{ margin:0;}

/* 送信ボタン（CF7 は input 要素で出力する） */
.sec10-form input.sec10-form__button{ display:block; width:100%; padding:14px 20px; white-space:normal;}

/* 必須・任意バッジの位置調整 */
.sec10-form__row{ position:relative;}

/* エラーメッセージ */
.sec10-form .wpcf7-not-valid-tip{ margin-top:6px; display:block; color:#d43b3b; font-size:14px; font-weight:700; line-height:1.5;}
.sec10-form .wpcf7-not-valid{ border-color:#d43b3b;}

/* 送信結果メッセージ（エラー・確認） */
.sec10-form .wpcf7-response-output{ margin:18px 0 0; padding:14px 16px; color:var(--color-text); font-size:15px; line-height:1.6; border:1px solid rgba(18,127,148,.35); border-radius:7px; background:rgba(228,245,247,.6);}

/* 送信中のスピナー */
.sec10-form .wpcf7-spinner{ margin:12px auto 0; display:block;}

/* ショートコード未設定時の案内文 */
.sec10-form__note{ padding:20px; color:var(--color-text); font-size:15px; line-height:1.8; border:1px dashed rgba(18,127,148,.5); border-radius:7px; background:rgba(228,245,247,.4);}

/* =========================================
   LP送信完了ページ
   ========================================= */
.lp-thanks{ padding:clamp(60px,8vw,120px) 20px clamp(80px,10vw,140px); background:linear-gradient(180deg,var(--fv-teal-l) 0%,#ffffff 62%);}
.lp-thanks__inner{ width:min(100%,760px); margin:0 auto; padding:clamp(32px,5vw,56px) clamp(24px,4vw,48px); text-align:center; background:#ffffff; border-radius:14px; box-shadow:var(--shadow-soft);}
.lp-thanks__icon{ width:64px; height:64px; margin:0 auto 20px; display:block; background:linear-gradient(135deg,var(--fv-teal) 0%,var(--fv-teal-d) 100%); border-radius:50%; position:relative;}
.lp-thanks__icon::after{ content:""; position:absolute; top:47%; left:50%; width:22px; height:12px; border-left:4px solid #ffffff; border-bottom:4px solid #ffffff; transform:translate(-50%,-50%) rotate(-45deg);}
.lp-thanks__eyebrow{ margin:0 0 8px; color:var(--fv-teal-d); font-size:14px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;}
.lp-thanks__title{ margin:0 0 24px; color:var(--color-navy-deep); font-size:clamp(24px,3vw,36px); font-weight:900; line-height:1.45;}
.lp-thanks__body{ color:var(--color-text); font-size:clamp(15px,1.3vw,17px); line-height:1.9;}
.lp-thanks__body p{ margin:0 0 14px;}
.lp-thanks__note{ color:rgba(0,35,77,.75); font-size:clamp(13px,1.1vw,15px);}

/* 電話番号 */
.lp-thanks__contact{ margin:32px 0 0; padding:20px; display:flex; flex-direction:column; align-items:center; gap:4px; border-radius:10px; background:rgba(228,245,247,.6);}
.lp-thanks__contact-label{ color:var(--color-text); font-size:14px; font-weight:700;}
.lp-thanks__contact-num{ color:var(--color-navy-deep); font-size:clamp(26px,3vw,34px); font-weight:900; line-height:1.2; letter-spacing:.02em; text-decoration:none;}
.lp-thanks__contact-hours{ color:rgba(0,35,77,.7); font-size:13px;}

/* 戻るボタン */
.lp-thanks__back{ margin:28px auto 0; padding:0 28px; min-height:56px; display:inline-flex; align-items:center; justify-content:center; color:#ffffff; font-size:clamp(15px,1.3vw,17px); font-weight:900; text-decoration:none; background:linear-gradient(180deg,#179fb8 0%,#127f94 100%); border-radius:999px; box-shadow:0 7px 15px rgba(16,42,57,.24); transition:transform .2s ease,box-shadow .2s ease;}
.lp-thanks__back:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(16,42,57,.3);}

/* =========================================
   Responsive: Mobile（LP送信完了ページ）
   ========================================= */
@media (max-width: 768px) {
  .lp-thanks{ padding:48px 16px 72px;}
  .lp-thanks__inner{ padding:32px 20px;}
  .lp-thanks__contact{ margin-top:24px;}
  .lp-thanks__back{ width:100%; margin-top:24px;}
}


/* ===========================================
   2026-10-16 改修：CTA追加・スマホ改善・フォーム同意文・フッター会社情報
   =========================================== */

/* ヘッダー：スマホ・タブレット用の電話ボタン（PCは電話番号表示があるため非表示） */
.site-header__sp-tel{ display:none;}
@media (max-width:1024px){
  .site-header__sp-tel{ display:inline-flex; align-items:center; justify-content:center; gap:4px; flex:0 0 auto; min-height:38px; padding:0 12px; color:var(--fv-teal-d); font-size:13px; font-weight:900; line-height:1; white-space:nowrap; background:#ffffff; border:2px solid var(--fv-teal); border-radius:999px;}
  .site-header__sp-tel-icon{ width:16px; height:16px; flex:0 0 auto;}
}
@media (max-width:767px){
  .site-header__actions{ gap:8px;}
}
@media (max-width:380px){
  .site-header__sp-tel{ width:38px; padding:0;}
  .site-header__sp-tel-text{ display:none;}
}

/* FV：無料診断のサブボタン */
.hero__action-sub{ display:inline-flex; align-items:center; justify-content:center; min-width:clamp(210px,17vw,250px); min-height:48px; padding:0 22px; color:var(--fv-teal-d); font-size:clamp(13px,1.05vw,15px); font-weight:800; line-height:1.3; letter-spacing:.02em; text-align:center; background:#ffffff; border:2px solid var(--fv-teal); border-radius:35px; transition:background-color .2s ease,transform .2s ease;}
.hero__action-sub b{ font-weight:900;}
.hero__action{ align-items:stretch;}
.hero__action-label{ align-self:center;}
.hero__action-sub:hover{ background:var(--fv-teal-l); transform:translateY(-2px);}

/* FV：スマホで文字が写真に埋もれないよう、白の重ねを濃くする */
@media (max-width:767px){
  .hero__photo::after{ background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 45%,rgba(255,255,255,.62) 72%,rgba(255,255,255,.4) 100%),linear-gradient(180deg,rgba(242,241,238,.15) 0%,rgba(242,241,238,.45) 55%,#f2f1ee 100%);}
  .hero__photo-img{ object-position:82% 12%;}
  .hero__title,.hero__lead,.hero__support{ text-shadow:0 0 6px rgba(255,255,255,.9),0 0 2px rgba(255,255,255,.9);}
  .hero__action-sub{ width:100%; min-width:0; min-height:52px;}
}

/* 既存CTAの下に置く「無料診断」テキストリンク */
.lp-diag-link{ display:block; width:fit-content; max-width:calc(100% - 32px); margin:14px auto 0; padding:4px; color:var(--fv-teal-d); font-size:clamp(14px,1.1vw,16px); font-weight:700; line-height:1.6; text-align:center; text-decoration:underline; text-underline-offset:4px;}
.lp-diag-link b{ font-weight:900;}
.lp-diag-link::after{ content:" →";}
.lp-diag-link:hover{ color:var(--fv-teal);}
.sec2-cta + .lp-diag-link{ margin-top:-30px; margin-bottom:40px;}

/* 中間CTA（資料請求＋無料診断の2ボタン） */
.lp-cta2{ width:min(calc(100% - 32px),920px); margin:clamp(40px,5vw,64px) auto 0; padding:clamp(24px,3vw,36px) clamp(18px,3vw,40px); text-align:center; background:#ffffff; border:1px solid rgba(18,127,148,.18); border-radius:14px; box-shadow:0 10px 24px rgba(0,31,66,.12);}
.lp-cta2__lead{ margin:0 0 18px; color:#001f42; font-size:clamp(18px,1.8vw,24px); font-weight:900; line-height:1.5; letter-spacing:.02em;}
.lp-cta2__lead span{ color:var(--fv-teal-d);}
.lp-cta2__btns{ display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.lp-cta2__btn{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:78px; padding:12px 18px; border-radius:12px; font-weight:900; line-height:1.4; text-align:center; transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;}
.lp-cta2__btn span{ font-size:clamp(15px,1.35vw,18px);}
.lp-cta2__btn small{ font-size:12px; font-weight:700; opacity:.85;}
.lp-cta2__btn--main{ color:#ffffff; background:linear-gradient(180deg,#179fb8 0%,#127f94 100%); box-shadow:0 7px 15px rgba(16,42,57,.25);}
.lp-cta2__btn--main:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(16,42,57,.28);}
.lp-cta2__btn--sub{ color:var(--fv-teal-d); background:#ffffff; border:2px solid var(--fv-teal);}
.lp-cta2__btn--sub:hover{ transform:translateY(-2px); background:var(--fv-teal-l);}
@media (max-width:767px){
  .lp-cta2__btns{ grid-template-columns:1fr; gap:12px;}
  .lp-cta2__btn{ min-height:70px;}
}

/* 資料請求：スマホではフォームを先に、資料の説明を後に */
@media (max-width:767px){
  .sec10__panel{ display:flex; flex-direction:column;}
  .sec10__panel > :not(.sec10-info){ order:1;}
  .sec10__panel > .sec10-info{ order:2; margin-top:14px;}
  .sec10-form{ margin-top:0;}
  /* 入力欄を行いっぱいに広げる（CF7の包み要素がグリッドの1マスに収まって狭くなるのを防ぐ） */
  .sec10-form__row .wpcf7-form-control-wrap{ grid-column:1 / -1;}
}

/* フォーム：プライバシーポリシー同意文 */
.sec10-form__privacy{ margin:18px 0 0; color:#00234d; font-size:14px; font-weight:600; line-height:1.7; text-align:center;}
.sec10-form__privacy a{ color:#127f94; font-weight:800; text-decoration:underline; text-underline-offset:3px;}
.sec10__note a{ color:inherit; text-decoration:underline; text-underline-offset:3px;}

/* フッター：運営会社情報（ブランド欄を少し広げ、住所が途中で折り返さないようにする） */
.site-footer__brand{ max-width:480px;}
.site-footer__company{ margin:6px 0 0; color:rgba(255,255,255,.7); font-size:12px; font-weight:500; line-height:1.8; letter-spacing:.02em;}


/* ===========================================
   2026-10-16 改修②：お客様の声・税込・サービス一覧・FV横並び・折りたたみ・予約導線
   =========================================== */

/* FV（PC・タブレット）：実績の数字とボタンを横並びに戻す */
@media (min-width:768px){
  .hero__cta-row{ flex-wrap:nowrap; align-items:center;}
  .hero__stat{ flex-direction:column; align-items:flex-start; gap:6px; padding:14px 20px;}
}

/* お客様の声：運営ブランドの併記 */
.sec6-case__brand{ margin:4px 0 0; color:var(--fv-teal-d); font-size:13px; font-weight:700; line-height:1.5;}

/* 料金：税込表記 */
.sec7-plan__tax{ display:block; margin-top:2px; font-size:13px; font-weight:700; letter-spacing:0;}
.sec7-compare__price small{ font-size:.6em; font-weight:700;}

/* 料金：サービス一覧 */
.sec7-services{ margin-top:clamp(40px,5vw,64px);}
.sec7-services__lead{ margin:14px 0 0; color:var(--color-text); font-size:clamp(14px,1.2vw,16px); font-weight:600; line-height:1.7; text-align:center;}
.sec7-services__list{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; max-width:900px; margin:24px auto 0; padding:0; list-style:none;}
.sec7-services__item{ display:flex; flex-direction:column; gap:8px; padding:20px 22px; background:#ffffff; border:1px solid rgba(18,127,148,.2); border-top:4px solid var(--fv-teal); border-radius:10px; box-shadow:0 6px 16px rgba(0,31,66,.08);}
.sec7-services__name{ margin:0; color:#001f42; font-size:clamp(17px,1.4vw,19px); font-weight:900; line-height:1.4;}
.sec7-services__text{ margin:0; flex:1 1 auto; color:var(--color-text); font-size:14px; font-weight:500; line-height:1.75;}
.sec7-services__price{ margin:0; color:var(--fv-teal-d); font-size:14px; font-weight:800;}
@media (max-width:767px){
  .sec7-services__list{ grid-template-columns:1fr; gap:12px;}
  .sec7-services__item{ padding:16px 16px;}
}

/* スマホ：長いブロックの折りたたみ */
.lp-fold{ position:relative; scroll-margin-top:80px;}
.lp-fold.is-folded{ max-height:var(--fold-h,360px); overflow:hidden; -webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%); mask-image:linear-gradient(180deg,#000 62%,transparent 100%);}
.lp-fold__btn{ display:flex; align-items:center; justify-content:center; gap:8px; margin:14px auto 0; min-height:44px; padding:0 24px; color:var(--fv-teal-d); font-family:inherit; font-size:15px; font-weight:800; background:#ffffff; border:2px solid var(--fv-teal); border-radius:999px; cursor:pointer;}
.lp-fold__btn::after{ content:"▼"; font-size:11px;}
.lp-fold__btn[aria-expanded="true"]::after{ content:"▲";}

/* 完了ページ：日程予約 */
.lp-thanks__booking{ margin:28px 0 0; padding:22px 20px; border:2px solid var(--fv-teal); border-radius:12px; background:#ffffff;}
.lp-thanks__booking-lead{ margin:0 0 14px; color:var(--color-text); font-size:clamp(14px,1.2vw,16px); font-weight:700; line-height:1.7;}
.lp-thanks__booking-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:0 28px; color:#ffffff; font-size:clamp(15px,1.3vw,17px); font-weight:900; text-decoration:none; background:linear-gradient(180deg,#179fb8 0%,#127f94 100%); border-radius:999px; box-shadow:0 7px 15px rgba(16,42,57,.24); transition:transform .2s ease;}
.lp-thanks__booking-btn:hover{ transform:translateY(-2px);}
@media (max-width:768px){
  .lp-thanks__booking-btn{ width:100%;}
}

/* 完了ページ：資料ダウンロード */
.lp-thanks__download{ margin:28px 0 0; padding:22px 20px; border-radius:12px; background:var(--fv-teal-l);}
.lp-thanks__download-lead{ margin:0 0 14px; color:var(--color-text); font-size:clamp(14px,1.2vw,16px); font-weight:700; line-height:1.7;}
.lp-thanks__download-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:0 28px; color:var(--fv-teal-d); font-size:clamp(15px,1.3vw,17px); font-weight:900; text-decoration:none; background:#ffffff; border:2px solid var(--fv-teal); border-radius:999px; transition:transform .2s ease;}
.lp-thanks__download-btn:hover{ transform:translateY(-2px);}
.lp-thanks__download + .lp-thanks__booking{ margin-top:16px;}
@media (max-width:768px){
  .lp-thanks__download-btn{ width:100%;}
}
