/* ============================================================
   解体費用シミュレーター専用CSS（page-simulator.php でのみ読み込み）
   方針: 白地+マルユウブルー1色+細線。装飾は最小限（角丸小・影なし）
   配色はサイト共通（#4193EF / #004596 / #00305C / #3A3C44）
   ============================================================ */
#simApp{
  font-family:"游ゴシック Medium","Yu Gothic Medium","游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --sim-blue:#4193EF;
  --sim-blue-btn:#004596;
  --sim-blue-deep:#00305C;
  --sim-blue-bg:#F1F6FB;
  --sim-ink:#3A3C44;
  --sim-sub:#6B7A88;
  --sim-line:#D9E3EC;
  --sim-accent:#F5B500;
  --sim-accent-ink:#1A1A1A;
  color:var(--sim-ink);
  line-height:1.85;
  font-size:18px;
}
#simApp *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
/* テーマ既定の見出し装飾（✓・●など）を打ち消す */
#simApp h2::before,#simApp h2::after,
#simApp h3::before,#simApp h3::after{content:none !important;}
#simApp{background:#EAF3FB;width:100vw;margin-left:calc(50% - 50vw);padding:56px 20px 64px;}
#simApp .sim-inner{max-width:560px;margin:0 auto;background:#fff;position:relative;padding-top:8px;}

/* ===== 導入コピー ===== */
#simApp .sim-lead{padding:30px 16px 6px;text-align:center;}
#simApp .sim-lead .tt{font-size:26px;font-weight:800;color:#1A2B3C;line-height:1.5;margin:0 0 14px;padding:0 16px;}
#simApp .sim-lead .tt::after{content:"";display:block;width:64px;height:5px;background:#F5B500;margin:18px auto 0;}
#simApp .sim-lead .tt .hl{color:#004596;}
#simApp .sim-lead .reassure{font-size:14px;color:var(--sim-sub);margin:0;line-height:1.7;}
#simApp .sim-lead .reassure b{color:var(--sim-ink);font-weight:700;}

/* ===== 質問（逐次表示） ===== */
#simApp .sim-flow{padding:10px 16px 40px;margin-bottom:40px;}
#simApp .qblock{margin:0;padding:22px 0 26px;border-bottom:1px solid var(--sim-line);
  scroll-margin-top:80px;transition:opacity .25s;}
#simApp .qblock:last-of-type{border-bottom:0;}
#simApp .qblock.hidden{display:none;}
#simApp .qblock.collapsed .opts,
#simApp .qblock.collapsed .q-sub{display:none;}
#simApp .q-summary{display:flex;align-items:center;gap:8px;padding:2px 0 0;font-size:15.5px;}
#simApp .q-summary[hidden]{display:none;}
#simApp .q-summary .qs-label{color:#5A6672;}
#simApp .q-summary .qs-value{color:var(--sim-ink);}
#simApp .q-edit{margin-left:auto;flex:0 0 auto;border:1px solid var(--sim-line);background:#fff;color:var(--sim-blue-btn);
  font-size:14.5px;font-weight:700;border-radius:4px;padding:11px 18px;min-height:44px;cursor:pointer;font-family:inherit;}
#simApp .q-edit:hover{border-color:var(--sim-blue-btn);}
#simApp .qblock.collapsed{padding:16px 0;}
#simApp .qnum{font-size:16px;font-weight:700;color:var(--sim-blue-btn);margin-right:8px;}
#simApp .qnum .qtotal{font-size:12.5px;color:#5A6672;font-weight:600;}
#simApp .q-title{display:inline;font-size:19px;font-weight:700;color:var(--sim-ink);line-height:1.6;}
#simApp .q-head{margin:0 0 4px;}
#simApp .q-sub{font-size:15.5px;color:#5A6672;margin:4px 0 14px;}
#simApp .q-head + .opts{margin-top:14px;}
#simApp .opts{display:grid;grid-template-columns:1fr;gap:10px;}
#simApp .opt{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;
  gap:14px;padding:12px 44px 12px 14px;border:1px solid var(--sim-line);border-radius:2px;min-height:76px;
  background:#fff;cursor:pointer;text-align:left;font:inherit;color:inherit;
  transition:border-color .15s, background .15s;}
#simApp .opt:hover{border-color:var(--sim-blue);}
#simApp .opt .ic{width:64px;height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
#simApp .opt .ic img{width:100%;height:100%;object-fit:contain;}
#simApp .opt .lb{font-size:18px;font-weight:700;line-height:1.45;}
#simApp .opt .lb small{display:block;font-weight:400;font-size:14.5px;color:#5A6672;margin-top:2px;}
#simApp .opt::after{content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border-radius:50%;border:2px solid var(--sim-line);background:#fff;}
#simApp .opt.sel{border-color:var(--sim-blue-btn);border-width:2px;background:var(--sim-blue-bg);}
#simApp .opt.sel::after{border-color:var(--sim-blue-btn);background:var(--sim-blue-btn);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.4z'/%3E%3C/svg%3E");
  background-size:14px;background-position:center;background-repeat:no-repeat;}
/* 文字のみの選択肢（地域・築年・広さ） */
#simApp .opts.textonly{grid-template-columns:1fr 1fr;}
#simApp .opts.textonly .opt{justify-content:center;text-align:center;min-height:58px;padding:10px 34px 10px 10px;}
#simApp .opts.textonly .opt .lb{font-size:16.5px;}
#simApp .opts.textonly .opt .lb small{display:block;margin:2px 0 0;}
#simApp .opts.textonly .opt::after{right:8px;width:20px;height:20px;}

/* ===== 下部追従バー（進捗＋電話） ===== */
#simApp .bottombar{position:fixed;left:0;right:0;bottom:0;z-index:45;max-width:520px;margin:0 auto;
  background:#fff;border-top:1px solid var(--sim-line);
  padding:9px 16px calc(9px + env(safe-area-inset-bottom));}
#simApp .bottombar.gone{display:none;}
/* ログイン中は管理バーが画面下に出る(Admin Bar Positionプラグイン)ため、その分だけ持ち上げる。
   未ログインの訪問者には影響しない */
body.admin-bar #simApp .bottombar{bottom:32px;}
@media screen and (max-width:782px){
  body.admin-bar #simApp .bottombar{bottom:46px;}
}
#simApp .bprogress{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
#simApp .bprogress .count{font-size:14px;font-weight:700;color:var(--sim-ink);white-space:nowrap;}
#simApp .bprogress .count b{color:var(--sim-blue-btn);font-size:18px;margin:0 1px;}
#simApp .bprogress .progress-bar{flex:1;height:4px;background:var(--sim-line);overflow:hidden;}
#simApp .bprogress .progress-bar>i{display:block;height:100%;background:var(--sim-blue);transition:width .3s ease;width:0;}
#simApp .floating-tel a{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  min-height:44px;border-radius:6px;background:#fff;border:1px solid var(--sim-line);color:var(--sim-blue-btn);
  font-size:14.5px;font-weight:700;text-decoration:none;}
#simApp .floating-tel .ic-tel{background:var(--sim-blue-btn);}
#simApp .floating-tel small{font-weight:600;font-size:11px;}

/* ===== 離島分岐 ===== */
#simApp .island{text-align:center;padding:8px 4px 4px;}
#simApp .island .ico{width:80px;height:80px;margin:0 auto 6px;}
#simApp .island .ico img{width:100%;height:100%;object-fit:contain;}
#simApp .island h2{color:var(--sim-blue-btn);font-size:22px;font-weight:700;margin:6px 0 8px;line-height:1.6;}
#simApp .island p{color:var(--sim-sub);font-size:15.5px;}

/* ===== ボタン共通 ===== */
#simApp .btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;
  border:none;border-radius:6px;background:var(--sim-blue-btn);color:#fff;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;transition:background .15s;}
#simApp .btn:hover{background:var(--sim-blue-deep);}
#simApp .btn.tel{background:var(--sim-accent);color:var(--sim-accent-ink);min-height:58px;font-size:17px;}
#simApp .btn.tel:hover{background:#E0A400;}
#simApp .btn.ghost{background:#fff;color:var(--sim-blue-btn);border:1px solid var(--sim-blue-btn);}
#simApp .btn.ghost:hover{background:var(--sim-blue-bg);}

/* ===== 結果 ===== */
#simApp #result.hidden{display:none;}
#simApp .est-card{margin:6px 0 16px;border:1px solid var(--sim-line);border-radius:6px;overflow:hidden;}
#simApp .est-card .est-body{text-align:center;padding:18px 16px 20px;}
#simApp .est-card .cap{font-size:20px;font-weight:700;color:var(--sim-ink);margin:4px 0 6px;}
#simApp .est-card .val{font-size:46px;font-weight:800;color:var(--sim-blue-btn);line-height:1.25;margin:8px 0 4px;}
#simApp .est-card .val .approx{font-size:24px;}
#simApp .est-card .tax{font-size:14.5px;color:var(--sim-ink);margin-top:2px;}
#simApp .cond{display:inline-block;margin:10px auto 0;font-size:12.5px;color:var(--sim-sub);
  border:1px solid var(--sim-line);border-radius:4px;padding:6px 14px;line-height:1.7;}
#simApp .cond b{color:var(--sim-ink);}
#simApp .brandline{font-size:12px;color:var(--sim-sub);margin-top:10px;}
#simApp .brandline b{color:var(--sim-blue-btn);}
#simApp .est-card .note-soft{margin:14px 0 0;font-size:12.5px;color:var(--sim-sub);line-height:1.8;text-align:center;}
#simApp .est-card .note-soft b{color:var(--sim-blue-btn);}
/* モバイルは横並びだと文字が小さくなるため上下に積む(768px以上で横並びに戻す) */
#simApp .est-cta{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
#simApp .est-cta .ec{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;
  min-height:60px;border-radius:6px;text-decoration:none;padding:8px 6px;}
#simApp .est-cta .ec .t{font-size:16px;font-weight:700;line-height:1.4;text-align:left;}
#simApp .est-cta .ec .t .s{display:block;font-size:11px;font-weight:600;opacity:.85;margin-top:2px;}
#simApp .est-cta .ec-tel{background:var(--sim-accent);color:var(--sim-accent-ink);}
#simApp .est-cta .ec-home{background:var(--sim-blue-btn);color:#fff;}
#simApp .ic-tel{flex:0 0 20px;width:20px;height:20px;background:var(--sim-accent-ink);
  -webkit-mask:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.7 21 3 13.3 3 3.9c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .7-.2 1l-2.3 2.3z'/%3E%3C/svg%3E");
  mask:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.7 21 3 13.3 3 3.9c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .7-.2 1l-2.3 2.3z'/%3E%3C/svg%3E");}
#simApp .ic-home{flex:0 0 20px;width:20px;height:20px;background:#fff;
  -webkit-mask:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm8 1.5V8h4.5L14 3.5zM8 12h8v1.5H8V12zm0 3.5h8V17H8v-1.5z'/%3E%3C/svg%3E");
  mask:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h9l5 5v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm8 1.5V8h4.5L14 3.5zM8 12h8v1.5H8V12zm0 3.5h8V17H8v-1.5z'/%3E%3C/svg%3E");}

#simApp .info-card{background:#fff;border:1px solid var(--sim-line);border-radius:6px;padding:18px;margin:14px 0;}
#simApp .info-card h3{font-size:22px;font-weight:700;margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--sim-blue);display:inline-block;color:var(--sim-ink);}
#simApp .ir{display:flex;gap:11px;align-items:flex-start;padding:9px 0;}
#simApp .ir + .ir{border-top:1px solid #EEF3F8;}
#simApp .ir .b{flex:0 0 22px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;margin-top:2px;}
#simApp .ir .b.yes::after{content:"";width:11px;height:6px;border-left:2px solid var(--sim-blue-btn);border-bottom:2px solid var(--sim-blue-btn);transform:rotate(-45deg) translateY(-1px);}
#simApp .ir .b.no::after{content:"";width:11px;height:2px;background:#9AAAB8;}
#simApp .ir .tx{font-size:15px;line-height:1.6;color:var(--sim-ink);}
#simApp .ir.hl .tx{font-weight:700;color:var(--sim-blue-btn);}
#simApp .info-card .foot{font-size:12px;color:var(--sim-sub);margin:10px 0 0;padding-top:10px;border-top:1px solid #EEF3F8;}
#simApp .info-card .foot.warn{color:#8a5a00;background:#FCF6E6;border:0;border-radius:4px;padding:10px 12px;margin-top:12px;font-weight:600;line-height:1.7;}

#simApp .promise{border:1px solid var(--sim-line);border-left:3px solid var(--sim-blue-btn);border-radius:0 6px 6px 0;padding:16px 18px;margin:16px 0;}
#simApp .promise p{margin:0 0 10px;font-size:16px;font-weight:700;color:var(--sim-ink);line-height:1.7;}
#simApp .promise p:last-child{margin:0;}
#simApp .promise .k{color:var(--sim-blue-btn);}

/* ===== 申込フォーム（CF7を内包） ===== */
#simApp .form-sec{background:#fff;border:1px solid var(--sim-line);border-radius:6px;overflow:hidden;margin:22px 0 6px;}
/* 「無料」バッジは見出しと同じ行に置いて縦幅を詰め、そのぶん行間をゆったりとる */
#simApp .form-head{background:var(--sim-blue-btn);color:#fff;padding:22px 18px 20px;}
#simApp .form-head::after{content:"";display:block;clear:both;}
#simApp .form-badge{float:left;border:1px solid rgba(255,255,255,.7);color:#fff;font-size:13px;font-weight:700;border-radius:3px;padding:3px 10px;margin:6px 10px 0 0;}
#simApp .form-head h3{font-size:20px;font-weight:700;line-height:1.5;margin:0;color:#fff;}
#simApp .form-head p{clear:both;font-size:15px;line-height:2;margin:8px 0 0;color:#fff;opacity:.9;}
#simApp .form-body{padding:18px;}
#simApp .form-body .field{margin-bottom:14px;}
#simApp .form-body .field > label{display:block;font-size:15.5px;font-weight:700;margin-bottom:5px;}
#simApp .form-body .req{font-size:11px;color:#fff;background:#C33;border-radius:3px;padding:1px 6px;margin-left:6px;font-weight:700;}
#simApp .form-body .opt-tag{font-size:11px;color:var(--sim-sub);border:1px solid var(--sim-line);border-radius:3px;padding:0 6px;margin-left:6px;font-weight:600;}
#simApp .form-body input[type=text],
#simApp .form-body input[type=tel]{width:100%;font-size:16px;padding:12px;border:1px solid var(--sim-line);border-radius:4px;font-family:inherit;background:#fff;}
#simApp .form-body input[type=file]{width:100%;font-size:14px;padding:10px;border:1px dashed var(--sim-line);border-radius:4px;font-family:inherit;background:#FAFCFE;}
#simApp .form-body input:focus{border-color:var(--sim-blue);}
#simApp .form-body .wpcf7-not-valid{border-color:#C33 !important;}
#simApp .form-body .wpcf7-not-valid-tip{color:#C33;font-size:12px;margin-top:4px;}
#simApp .form-body .wpcf7-spinner{display:block;margin:8px auto 0;}
#simApp .form-body .wpcf7-response-output{border:1px solid #C33;border-radius:4px;font-size:13px;margin:14px 0 0;padding:10px 12px;color:#C33;}
#simApp .form-body form.sent .wpcf7-response-output{display:none;}
#simApp .form-body .btn[type=submit]{margin-top:4px;}
#simApp .form-body p{margin:0;}

/* 最初からやり直す: 文字リンクだと気づかれないため枠付きのボタンにする */
#simApp .back{display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;max-width:320px;margin:24px auto 0;min-height:56px;padding:10px 20px;
  background:#fff;border:2px solid var(--sim-blue-btn);border-radius:2px;
  color:var(--sim-blue-btn);font-size:17px;font-weight:700;
  text-decoration:none;cursor:pointer;}
#simApp .back::before{content:"";width:20px;height:20px;flex:0 0 20px;background:var(--sim-blue-btn);
  -webkit-mask:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5V2L7 6l5 4V7c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6H4c0 4.4 3.6 8 8 8s8-3.6 8-8-3.6-8-8-8z'/%3E%3C/svg%3E");
  mask:no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5V2L7 6l5 4V7c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6H4c0 4.4 3.6 8 8 8s8-3.6 8-8-3.6-8-8-8z'/%3E%3C/svg%3E");}
#simApp .back:hover{background:#F1F6FB;}

/* ===== 送信完了 ===== */
#simApp #done.hidden{display:none;}
#simApp #done{background:#fff;border:1px solid var(--sim-line);border-radius:6px;padding:40px 20px 48px;text-align:center;}
#simApp .done-hero{position:relative;width:180px;height:180px;margin:0 auto 8px;}
#simApp .done-hero img{position:relative;width:100%;height:100%;object-fit:contain;}
#simApp .done-hero .mini-check{position:absolute;right:-4px;bottom:-4px;z-index:2;width:44px;height:44px;border-radius:50%;background:var(--sim-blue-btn);border:3px solid #fff;display:flex;align-items:center;justify-content:center;}
#simApp .done-hero .mini-check::after{content:"";width:17px;height:9px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg) translate(1px,-2px);}
#simApp #done h2{color:var(--sim-ink);font-size:24px;font-weight:700;margin:10px 0;line-height:1.6;}
#simApp #done .lead{color:var(--sim-sub);font-size:14.5px;margin:0 0 24px;}
#simApp .steps{text-align:left;max-width:380px;margin:0 auto;display:flex;flex-direction:column;}
#simApp .steps .step{display:flex;gap:13px;align-items:flex-start;padding:13px 4px;}
#simApp .steps .step + .step{border-top:1px solid #EEF3F8;}
#simApp .steps .n{flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:1px solid var(--sim-blue-btn);color:var(--sim-blue-btn);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;}
#simApp .steps .t{font-size:15px;line-height:1.7;padding-top:2px;}
#simApp .steps .t b{color:var(--sim-ink);display:block;margin-bottom:2px;font-size:17px;}

/* ============================================================
   デスクトップ（768px以上）
   ============================================================ */
@media (min-width: 768px){
  #simApp .sim-inner{max-width:760px;}
  #simApp .sim-lead{padding:34px 24px 10px;}
  #simApp .sim-lead .reassure{font-size:13.5px;}
  #simApp .sim-flow{padding:14px 24px 40px;}
  #simApp .q-title{font-size:23px;}
  #simApp .q-sub{font-size:13.5px;}
  #simApp .opts{grid-template-columns:repeat(2, 1fr);gap:12px;}
  #simApp .opts.textonly{grid-template-columns:repeat(3, 1fr);}
  #simApp .opts.textonly.cols4{grid-template-columns:repeat(2, 1fr);}
  #simApp .opt .ic{width:72px;height:72px;flex-basis:72px;}
  #simApp .bottombar{max-width:760px;padding-left:24px;padding-right:24px;}
  #simApp .bprogress{margin-bottom:0;}
  #simApp .bottombar .barrow{display:flex;align-items:center;gap:18px;}
  #simApp .bottombar .barrow .bprogress{flex:1;}
  #simApp .floating-tel{flex:0 0 auto;}
  #simApp .floating-tel a{min-height:40px;padding:0 16px;font-size:14px;background:#fff;color:var(--sim-blue-btn);border:1px solid var(--sim-line);}
  #simApp .floating-tel a .ic-tel{background:var(--sim-blue-btn);}
  #simApp .est-card .val{font-size:60px;}
  #simApp .est-cta{flex-direction:row;max-width:620px;margin-left:auto;margin-right:auto;}
  /* 含む/含まないは1カラムで縦に並べる */
  #simApp .result-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;}
  #simApp .result-grid .info-card{margin:0;}
  #simApp .form-head h3{font-size:20px;}
  #simApp .form-body{padding:24px 28px;}
  #simApp #done{padding:48px 32px 56px;}
  #simApp .steps{max-width:420px;}
}

/* 広い画面ではもう一段広げて間延びを防ぐ */
@media (min-width: 1100px){
  #simApp .sim-inner{max-width:900px;}
  #simApp .bottombar{max-width:900px;}
  #simLp .reason-grid{grid-template-columns:repeat(3,1fr);gap:16px;}
}

/* ============================================================
   特設LPセクション（FV・共感・理由・流れ・FAQ・CTA）
   ============================================================ */
/* このLPではテーマ共通の右下フローティングボタンを消す（導線の二重化を防ぐ） */
body:has(#simLp) #jmp_contact,
body:has(#simLp) #page_top{display:none !important;}
#simLp{font-family:"游ゴシック Medium","Yu Gothic Medium","游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;color:#3A3C44;line-height:1.9;font-size:18px;}
#simLp *{box-sizing:border-box;}
#simLp h1::before,#simLp h1::after,
#simLp h2::before,#simLp h2::after,
#simLp h3::before,#simLp h3::after{content:none !important;}
#simLp .lp-sec{padding:40px 20px;}
#simLp .lp-in{max-width:1080px;margin:0 auto;}
#simLp .lp-h{font-size:26px;font-weight:800;margin:0 0 16px;line-height:1.5;color:#1A2B3C;}
#simLp .lp-h::after{content:"";display:block;width:64px;height:5px;background:#F5B500;margin-top:18px;}
#simLp .lp-center .lp-h::after{margin-left:auto;margin-right:auto;}
#simLp .lp-center{text-align:center;}

/* FV */
#simLp .fv{padding:56px 20px 48px;position:relative;
  background:linear-gradient(90deg, rgba(0,27,54,.88) 0%, rgba(0,38,76,.72) 45%, rgba(0,48,92,.35) 100%),
  url('../images/simulator/lp_hero_photo.jpg') center/cover no-repeat;color:#fff;}
#simLp .fv .fv-catch{font-size:18px;font-weight:700;color:#F5B500;margin:0 0 12px;}
#simLp .fv h1{color:#fff;}
#simLp .fv .fv-sub{color:#EAF2FA;}
#simLp .fv .fv-note{color:#C9D9E9;}

/* 特徴チップ（FVの中に配置）
   モバイル … 1行に並べて左へ自動スライド（同じ並びを2つ置き、半分ずらして繋ぎ目を消す）
   パソコン … 折り返して並べ、スライドは止める */
#simLp .fv .feat-strip{margin-top:26px;overflow:hidden;}
#simLp .feats-track{display:flex;width:max-content;animation:featScroll 30s linear infinite;}
#simLp .feats{list-style:none;margin:0 8px 0 0;padding:0;display:flex;gap:8px;}
#simLp .feats li{flex:0 0 auto;white-space:nowrap;position:relative;
  border:1px solid rgba(255,255,255,.5);border-radius:0;background:rgba(255,255,255,.14);
  font-size:15px;font-weight:700;color:#fff;
  padding:9px 16px 9px 40px;}
#simLp .feats li::before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%) rotate(-45deg);
  width:10px;height:6px;border-left:2px solid #4193EF;border-bottom:2px solid #4193EF;margin-top:-1px;}
@keyframes featScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ #simLp .feats-track{animation:none;} }

/* モバイルのFVは中央ぞろえ（パソコンは左ぞろえのまま） */
@media (max-width:767px){
  #simLp .fv .fv-copy{text-align:center;}
  #simLp .fv-cta{margin-left:auto;margin-right:auto;}
}

/* 補助金帯 */
#simLp .subsidy{background:#FCF6E6;padding:44px 20px;}
#simLp .subsidy-card{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;
  border:3px solid #004596;border-radius:0;padding:28px 22px;max-width:900px;background:#fff;}
#simLp .subsidy .s-icon{width:88px;height:88px;object-fit:contain;flex:0 0 auto;}
#simLp .subsidy .s-label{display:inline-block;font-size:16px;font-weight:700;color:#004596;
  border:1px solid #4193EF;border-radius:99px;padding:2px 16px;margin:0 0 10px;}
#simLp .subsidy .s-main{font-size:21px;font-weight:700;line-height:1.6;margin:0 0 10px;}
/* 金額は途中で改行させない（「最大70万」「円」と割れるのを防ぐ） */
#simLp .subsidy .s-main b{color:#004596;font-size:38px;font-weight:800;border-bottom:4px solid #F5B500;padding:0 3px 2px;white-space:nowrap;}
#simLp .subsidy .s-note{font-size:13px;color:#5A6672;margin:0;line-height:1.8;}

/* 共感: 悩みリスト */
#simLp .worries{list-style:none;margin:22px auto;padding:0;max-width:560px;display:flex;flex-direction:column;gap:10px;text-align:left;}
#simLp .worries li{background:#fff;border:1px solid #D9E3EC;border-radius:6px;padding:13px 16px 13px 42px;
  font-size:15.5px;font-weight:700;color:#3A3C44;position:relative;line-height:1.6;}
#simLp .worries li::before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;border-radius:50%;background:#4193EF;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 5v9m0 3v2' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  background-size:12px;background-position:center;background-repeat:no-repeat;}
/* 共感セクションのボタンは主要導線のため大きく見せる（.btnL より後に効かせるためクラスを2つ重ねている） */
#simLp .btnL.lp-midbtn{max-width:560px;margin:30px auto 0;min-height:92px;font-size:22px;}
@media (min-width:768px){
  #simLp .btnL.lp-midbtn{min-height:104px;font-size:26px;}
}

/* 中間CTA */
#simLp .midcta{background:#EEF5FB;border-top:1px solid #C9D8E6;border-bottom:1px solid #C9D8E6;padding:48px 20px;text-align:center;}
#simLp .midcta .mc-txt{font-size:19px;font-weight:700;line-height:1.8;margin:0 0 20px;}
#simLp .midcta .mc-btns{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:0 auto;}
#simLp .btnL.telline{background:#fff;color:#004596;border:1px solid #D9E3EC;}
#simLp .btnL.telline:hover{border-color:#004596;background:#fff;}
#simLp .fv .lp-in{display:block;}
#simLp .fv .fv-copy{max-width:780px;}
#simLp .fv h1{font-size:38px;font-weight:700;line-height:1.6;margin:0 0 16px;}
#simLp .fv h1 .u{border-bottom:4px solid #F5B500;padding-bottom:3px;}
#simLp .fv .fv-sub{font-size:18px;margin:0 0 24px;}
#simLp .fv .fv-note{font-size:15px;margin:16px 0 0;}
#simLp .fv .fv-img img{width:100%;height:auto;display:block;}
#simLp .fv-cta{display:flex;flex-direction:column;gap:10px;max-width:420px;}
#simLp .btnL{display:flex;align-items:center;justify-content:center;min-height:64px;border-radius:2px;
  font-size:18.5px;font-weight:700;text-decoration:none;transition:background .15s;padding:10px 20px;}
#simLp .btnL.main{background:#004596;color:#fff;}
#simLp .btnL.main:hover{background:#00305C;}
#simLp .btnL.tel{background:#F5B500;color:#1A1A1A;flex-direction:column;line-height:1.35;}
#simLp .btnL.tel small{font-weight:600;font-size:12px;opacity:.85;}
#simLp .btnL.telcol{flex-direction:column;line-height:1.35;}
#simLp .btnL.telcol small{font-weight:600;font-size:12px;opacity:.9;}
#simLp .btnL.tel:hover{background:#E0A400;}
#simLp .btnL.ghost{background:#fff;color:#fff;border:1px solid #fff;background:transparent;}
#simLp .btnL.ghost:hover{background:rgba(255,255,255,.12);}

/* 共感帯 */
#simLp .empathy{background:#fff;text-align:center;}
#simLp .empathy .lp-h{font-size:26px;}
#simLp .empathy p{max-width:640px;margin:0 auto;font-size:16.5px;color:#5A6672;}

/* 理由 */
#simLp .reasons{background:#fff;}
#simLp .reason-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:30px;}
#simLp .reason{border:1px solid #C9D8E6;border-radius:0;padding:26px 22px;text-align:center;background:#fff;}
#simLp .reason img{width:76px;height:76px;object-fit:contain;display:block;}
#simLp .reason .ic-wrap,#simLp .reason > img{margin:0 auto 14px;}
#simLp .reason > img{background:#F1F6FB;border-radius:50%;padding:18px;width:112px;height:112px;}
#simLp .reason h3{font-size:22px;font-weight:700;margin:0 0 8px;color:#004596;}
#simLp .reason p{font-size:16px;color:#5A6672;margin:0;text-align:left;}

/* 流れ */
#simLp .flowsec{background:#EEF5FB;}
#simLp .flow-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:30px;counter-reset:step;}
#simLp .fstep{background:#fff;border:1px solid #C9D8E6;border-radius:0;padding:22px 18px;text-align:center;position:relative;}
#simLp .fstep + .fstep::before{content:"";position:absolute;left:50%;top:-14px;transform:translateX(-50%) rotate(90deg);
  border:8px solid transparent;border-left:12px solid #4193EF;}
#simLp .fstep .n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  border:1px solid #004596;color:#004596;font-weight:700;font-size:14px;margin-bottom:10px;font-family:"Roboto Condensed",sans-serif;}
#simLp .fstep img{width:84px;height:84px;object-fit:contain;margin:0 auto 10px;display:block;}
#simLp .fstep h3{font-size:22px;font-weight:700;margin:0 0 6px;}
#simLp .fstep p{font-size:15.5px;color:#5A6672;margin:0;}

/* FAQ */
#simLp .faq{background:#fff;}
#simLp .faq .faq-list{background:#fff;border:1px solid #C9D8E6;padding:0 22px;}
#simLp .faq-list{margin-top:30px;border-top:1px solid #D9E3EC;}
#simLp .faq-list details{border-bottom:1px solid #D9E3EC;}
/* 質問と回答は同じ文字サイズに揃え、太さと色で区別する */
#simLp .faq-list summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:baseline;padding:20px 30px 20px 4px;
  font-size:18px;font-weight:700;line-height:1.7;position:relative;}
#simLp .faq-list summary::-webkit-details-marker{display:none;}
/* 質問が複数行になっても記号は1行目の右に置く */
#simLp .faq-list summary::after{content:"+";position:absolute;right:8px;top:24px;
  font-size:20px;line-height:1;font-weight:400;color:#4193EF;}
#simLp .faq-list details[open] summary::after{content:"−";}
#simLp .faq-list .qm{color:#4193EF;font-family:"Roboto Condensed",sans-serif;font-weight:700;flex:0 0 auto;}
#simLp .faq-list .a{display:flex;gap:14px;align-items:baseline;padding:0 30px 20px 4px;font-size:18px;line-height:1.9;color:#5A6672;}
#simLp .faq-list .a .qm{color:#9AAAB8;}

/* 最終CTA */
#simLp .lastcta{position:relative;color:#fff;text-align:center;padding:48px 20px;
  background:linear-gradient(rgba(0,27,54,.85), rgba(0,27,54,.85)),
  url('../images/simulator/lp_hero_photo.jpg') center/cover no-repeat;}
#simLp .lastcta .lp-in{max-width:860px;border:2px solid rgba(255,255,255,.55);padding:28px 22px 26px;}
#simLp .lastcta .challenge{margin-bottom:14px;}
#simLp .lastcta .ch-wait{font-size:22px;padding:10px 26px;margin-bottom:14px;background:#C1272D;color:#fff;}
#simLp .lastcta .ch-main b{color:#F5B500;}
#simLp .lastcta .ch-main{font-size:22px;margin-bottom:6px;}
#simLp .lastcta .ch-main b{font-size:30px;}
#simLp .lastcta .ch-sub{font-size:15px;margin-bottom:0;}
#simLp .lastcta .lp-h{font-size:22px;margin-bottom:10px;}
#simLp .lastcta .lp-h::after{margin-top:12px;height:4px;}
#simLp .lastcta .lp-h{color:#fff;}
#simLp .lastcta .lp-h::after{background:#F5B500;margin-left:auto;margin-right:auto;}
#simLp .lastcta p{font-size:15px;color:#CBDCEE;margin:0 0 16px;}
#simLp .lastcta .cta-row{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:0 auto;}
#simLp .lastcta .note{font-size:12px;color:#8FA8C4;margin-top:12px;}

@media (min-width: 768px){
  #simLp .lp-h{font-size:40px;}
  #simLp .fv{padding:72px 20px 64px;}

  #simLp .fv h1{font-size:52px;}
  #simLp .fv .fv-sub{font-size:16px;}
  #simLp .fv-cta{flex-direction:row;max-width:560px;}
  #simLp .fv-cta .btnL{flex:1;font-size:16px;padding:10px 12px;}
  #simLp .fv .fv-catch{font-size:18px;}
  /* パソコンは自動スライドを止めて折り返し表示にする */
  #simLp .fv .feat-strip{margin-top:30px;overflow:visible;}
  #simLp .feats-track{width:auto;animation:none;flex-wrap:wrap;}
  #simLp .feats-dup{display:none;}
  #simLp .feats{flex-wrap:wrap;gap:10px;margin-right:0;}
  #simLp .feats li{padding:11px 18px 11px 42px;font-size:15px;}
}
@media (min-width: 1280px){
  #simLp .feats{gap:10px;}
  #simLp .empathy .lp-h{font-size:38px;}
  #simLp .reason-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
  #simLp .flow-grid{grid-template-columns:repeat(4,1fr);gap:16px;}
  #simLp .lastcta .cta-row{flex-direction:row;max-width:720px;}
  #simLp .lastcta .cta-row .btnL{flex:1;}
  #simLp .subsidy-card{flex-direction:row;text-align:left;gap:28px;padding:30px 36px;margin:0 auto;}
  #simLp .subsidy .s-icon{width:110px;height:110px;}
  /* 「解体費用が最大70万円安くなる場合があります。」が1行に収まるサイズ（文字領域684px） */
  #simLp .subsidy .s-main{font-size:23px;}
  #simLp .subsidy .s-main b{font-size:48px;}
  #simLp .subsidy .sp-br{display:none;}
  #simLp .midcta .mc-btns{flex-direction:row;max-width:640px;}
  #simLp .midcta .mc-btns .btnL{flex:1;}
  #simLp .midcta .sp-br{display:none;}
  #simLp .worries{max-width:640px;}
  #simLp .fstep + .fstep::before{left:-14px;top:50%;transform:translateY(-50%);
    border:9px solid transparent;border-left:13px solid #4193EF;}
}

/* ============================================================
   アクセシビリティ補助
   ============================================================ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#simApp .opt:focus-visible,
#simApp .btn:focus-visible,
#simApp .est-cta .ec:focus-visible,
#simApp .back:focus-visible,
#simApp .q-edit:focus-visible,
#simApp .cond-edit:focus-visible,
#simApp .q-title:focus-visible,
#simApp .form-body input:focus-visible,
#simLp .btnL:focus-visible,
#simLp .faq-list summary:focus-visible{outline:3px solid #004596;outline-offset:2px;}
#simApp .back{font-family:inherit;}
@media (prefers-reduced-motion: reduce){
  #simApp *,#simLp *{transition:none !important;}
}

/* 結果画面: 条件一覧・開閉 */
#simApp .cond-list-wrap{margin:18px auto 0;max-width:480px;text-align:left;}
#simApp .cond-title{font-size:20px;font-weight:700;margin:0 0 6px;color:#5A6672;}
#simApp .cond-row{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid #EEF3F8;font-size:15px;}
#simApp .cond-row .cl{flex:0 0 7.5em;color:#5A6672;}
#simApp .cond-row .cv{color:var(--sim-ink);}
#simApp .cond-edit{margin-left:auto;flex:0 0 auto;border:1px solid var(--sim-line);background:#fff;color:var(--sim-blue-btn);
  font-size:14px;font-weight:700;border-radius:4px;padding:10px 16px;min-height:44px;cursor:pointer;font-family:inherit;}
#simApp .cond-edit:hover{border-color:var(--sim-blue-btn);}
#simApp .incl-details{border:1px solid var(--sim-line);border-radius:6px;margin:14px 0;}
#simApp .incl-details summary{list-style:none;cursor:pointer;padding:14px 40px 14px 16px;font-size:15px;font-weight:700;position:relative;}
#simApp .incl-details summary::-webkit-details-marker{display:none;}
#simApp .incl-details summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--sim-blue);font-weight:400;}
#simApp .incl-details[open] summary::after{content:"\2212";}
#simApp .incl-details .result-grid{padding:0 14px 14px;}
#simApp .incl-details .info-card{border:none;padding:8px 4px;}
@media (min-width: 768px){
  #simApp .incl-details .result-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;}
}

/* ============================================================
   LP専用ヘッダー
   ============================================================ */
#lpHeader{font-family:"游ゴシック Medium","Yu Gothic Medium","游ゴシック体","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;position:fixed;top:0;left:0;right:0;z-index:70;background:#fff;border-bottom:1px solid #D9E3EC;}
#lpHeader .lph-in{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:14px 18px;}
#lpHeader .lph-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#1A1A1A;min-width:0;}
#lpHeader .lph-logo img{height:58px;width:auto;flex:0 0 auto;}
#lpHeader .lph-name{font-size:16px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#lpHeader .lph-sub{display:block;font-size:12.5px;font-weight:600;color:#004596;}
#lpHeader .lph-right{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
#lpHeader .lph-tel{text-decoration:none;color:#1A1A1A;text-align:right;line-height:1.25;}
#lpHeader .lph-tel-num{display:block;font-size:22px;font-weight:700;color:#004596;}
#lpHeader .lph-tel-hours{display:block;font-size:11px;color:#5A6672;}
#lpHeader .lph-cta{display:inline-flex;align-items:center;justify-content:center;background:#F5B500;color:#1A1A1A;
  font-size:18px;font-weight:700;text-decoration:none;border-radius:2px;padding:18px 34px;}
#lpHeader .lph-cta:hover{background:#E0A400;}
#lpHeader .lph-cta:focus-visible,#lpHeader .lph-tel:focus-visible{outline:3px solid #004596;outline-offset:2px;}
@media (max-width:750px){
  #lpHeader .lph-in{padding:8px 10px;gap:8px;}
  #lpHeader .lph-logo{gap:7px;flex:1 1 auto;min-width:0;}
  #lpHeader .lph-logo img{height:40px;}
  #lpHeader .lph-name{display:block;font-size:12.5px;line-height:1.3;white-space:normal;}
  #lpHeader .lph-sub{font-size:10.5px;}
  #lpHeader .lph-tel{display:none;}
  #lpHeader .lph-cta{flex:0 0 auto;font-size:15px;padding:14px 16px;}
}
/* LPではサイト共通の縦バナー(別ページ用)を出さない */
/* LPには専用ヘッダーと下部追従バーがあるため、全ページ共通のシミュレーター導線は出さない */
body:has(#simLp) #sim_side_banner,
body:has(#simLp) #sim_head_btn,
body:has(#simLp) #sim_bottom_bar{display:none !important;}
/* 固定LPヘッダー分の余白 */
#simLp .fv{padding-top:120px;}
@media (min-width:768px){ #simLp .fv{padding-top:150px;padding-bottom:96px;} }

/* ============================================================
   FVの強化(写真+装飾)
   ============================================================ */


/* ============================================================
   理由カードの写真
   ============================================================ */
#simLp .reason{padding:0 0 22px;overflow:hidden;}
#simLp .reason .r-photo{display:block;width:100%;height:180px;object-fit:cover;border-radius:0;
  margin:0 0 16px;background:#F1F6FB;padding:0;}
#simLp .reason h3,#simLp .reason p{padding-left:18px;padding-right:18px;}

/* LPヘッダーのページ内ナビ */
#lpHeader .lph-nav{display:none;gap:26px;}
#lpHeader .lph-nav a{text-decoration:none;color:#1A1A1A;font-size:16px;font-weight:700;
  padding:6px 2px;border-bottom:3px solid transparent;}
#lpHeader .lph-nav a:hover{color:#004596;border-bottom-color:#F5B500;}
#lpHeader .lph-nav a:focus-visible{outline:3px solid #004596;outline-offset:2px;}
@media (min-width:1100px){ #lpHeader .lph-nav{display:flex;} }

/* CTAと地図(フッター)の間の余白を詰める */
body:has(#simLp) #simLp{margin-bottom:0;}
body:has(#simLp) footer,
body:has(#simLp) .footer__map,
body:has(#simLp) #footer{margin-top:0 !important;}
/* 補助金セクションとシミュレーターの間の白い余白（main の上マージン40px／スマホ30px）を消す */
body:has(#simLp) main#content{margin-top:0;margin-bottom:0;}
#simLp .lastcta{margin-bottom:0;}
/* 地図を囲む枠に margin-top:180px（スマホ60px）が付いていて白い余白ができるため、
   このLPでは0にする。footer.php の .mgn--top__180 がその指定 */
body:has(#simLp) div:has(> iframe.map_css){margin-top:0 !important;}

/* 年配向け: ボタン・フォーム文字の追加拡大 */
#simApp .btn{font-size:17.5px;min-height:58px;border-radius:2px;}
#simApp .est-cta .ec{border-radius:2px;min-height:64px;}
#simApp .est-cta .ec .t{font-size:15.5px;}
#simApp .form-body .field > label{font-size:16.5px;}
#simApp .form-body input[type=text],#simApp .form-body input[type=tel]{font-size:17px;padding:14px;border-radius:2px;}
#simApp .est-card,#simApp .info-card,#simApp .incl-details,#simApp .form-sec{border-radius:0;}
#simApp .form-head h3{font-size:26px;}
#simApp .sim-lead .reassure{font-size:15px;padding:0 16px;}
#simLp .worries li{font-size:16.5px;border-radius:0;}
#simLp .empathy p{font-size:17.5px;}
#simLp .midcta .mc-txt{font-size:20px;}

/* 見出しのジャンプ率: セクション見出し上の小ラベル */
#simLp .lp-center .lp-h{position:relative;}

/* オリジナルアイコン(チェック・注意) */
/* アイコンの元画像は白背景だったため、外側を透過に加工済み（暗い背景でも白い四角が出ない） */
#simLp .feats li::before{background:none;border:none;width:24px;height:24px;transform:translateY(-50%);
  background-image:url('../images/simulator/icon_check.png');background-size:contain;background-repeat:no-repeat;background-position:center;}
#simLp .worries li::before{background:none;width:24px;height:24px;
  background-image:url('../images/simulator/icon_alert.png');background-size:contain;background-repeat:no-repeat;background-position:center;}
#simLp .worries li{padding-left:48px;}
#simApp .ir .b.yes{background:none;}
#simApp .ir .b.yes::after{content:"";width:22px;height:22px;border:none;transform:none;
  background:url('../images/simulator/icon_check.png') center/contain no-repeat;}
#simApp .promise p::before{content:"";flex:0 0 24px;width:24px;height:24px;margin-top:3px;
  background:url('../images/simulator/icon_check.png') center/contain no-repeat;}
#simApp .promise p{display:flex;gap:10px;align-items:flex-start;}

/* シミュレーター本体まわり */
#simApp .sim-flow{padding-left:20px;padding-right:20px;}
@media (min-width:768px){
  #simApp .sim-inner{max-width:900px;}
  #simApp .sim-lead .tt{font-size:40px;}
  #simApp .q-title{font-size:23px;}
  #simApp .est-card .cap{font-size:23px;}
}
@media (min-width:1100px){
  #simApp .sim-inner{max-width:1000px;}
}

/* シミュレーター内の進捗UI */
#simApp .sim-progress{max-width:520px;margin:22px auto 0;padding:0 16px;}
#simApp .sim-progress .sp-txt{display:block;font-size:17px;font-weight:700;color:var(--sim-ink);margin-bottom:8px;}
#simApp .sim-progress .sp-txt b{color:#004596;font-size:24px;margin:0 2px;}
#simApp .sim-pbar{height:12px;background:#D9E3EC;overflow:hidden;}
#simApp .sim-pbar i{display:block;height:100%;width:0;background:#F5B500;transition:width .3s ease;}
@media (prefers-reduced-motion: reduce){ #simApp .sim-pbar i{transition:none;} }

/* 見出し階層のデスクトップ拡大 */
@media (min-width:768px){
  #simLp .reason h3{font-size:26px;}
  #simLp .fstep h3{font-size:26px;}
  #simApp .form-head h3{font-size:30px;}
  #simApp .info-card h3{font-size:26px;}
  #simApp .island h2{font-size:34px;}
  #simApp #done h2{font-size:38px;}
  #simLp .faq-list summary{font-size:20px;font-weight:700;}
  #simLp .faq-list .a{font-size:20px;}
  #simApp .cond-title{font-size:20px;}
  #simApp .q-title{font-size:23px;}
  #simLp .subsidy .s-label{font-size:18px;}
  #simApp .steps .t b{font-size:20px;}
}

/* 最安値挑戦ブロック */
.challenge{text-align:center;margin:0 auto 30px;max-width:680px;}
.challenge .ch-wait{display:inline-block;background:#F5B500;color:#1A1A1A;font-size:18px;font-weight:800;padding:8px 26px;margin:0 0 16px;}
.challenge .ch-main{font-size:26px;font-weight:800;line-height:1.6;margin:0 0 10px;}
.challenge .ch-main b{color:#F5B500;font-size:34px;}
.challenge .ch-sub{font-size:17px;font-weight:700;line-height:1.8;margin:0;}
/* 完了画面(白地)用 */
#simApp #done .challenge{border:3px solid #004596;padding:26px 18px;margin:26px auto;}
#simApp #done .challenge .ch-main{color:#1A2B3C;}
#simApp #done .challenge .ch-main b{color:#004596;border-bottom:4px solid #F5B500;}
#simApp #done .challenge .ch-sub{color:#3A3C44;}
@media (min-width:768px){
  .challenge .ch-main{font-size:34px;}
  .challenge .ch-main b{font-size:46px;}
  .challenge .ch-sub{font-size:19px;}
}

/* 結果画面: ちょっと待ってください カード(赤字・中央寄せ。写真は廃止) */
#simApp .challenge-card{border:3px solid #C1272D;background:#fff;margin:16px 0;overflow:hidden;}
#simApp .cc-body{padding:20px 18px 22px;text-align:center;}
#simApp .cc-wait{display:inline-block;background:#C1272D;color:#fff;font-size:18px;font-weight:800;padding:7px 22px;margin:0 0 14px;}
#simApp .cc-main{font-size:24px;font-weight:800;color:#C1272D;line-height:1.55;margin:0 0 10px;}
#simApp .cc-main b{font-size:32px;border-bottom:4px solid #F5B500;padding:0 2px 2px;}
#simApp .cc-sub{font-size:17px;font-weight:700;color:#C1272D;line-height:1.8;margin:0 0 14px;}
/* 注記は長文のため左寄せのまま(読みやすさ優先) */
#simApp .cc-note{font-size:14px;color:#5A6672;line-height:1.9;margin:0 auto;max-width:620px;
  padding-top:12px;border-top:1px solid #EEDDDD;text-align:left;}
@media (min-width:768px){
  #simApp .cc-body{padding:30px 26px 28px;max-width:680px;margin:0 auto;}
  #simApp .cc-wait{font-size:19px;}
  #simApp .cc-main{font-size:28px;}
  #simApp .cc-main b{font-size:40px;}
  #simApp .cc-sub{font-size:18px;}
}

@media (min-width:768px){
  #simLp .lastcta .lp-h{font-size:28px;}
  #simLp .lastcta .ch-wait{font-size:26px;padding:11px 32px;}
  #simLp .lastcta .ch-main{font-size:26px;}
  #simLp .lastcta .ch-main b{font-size:36px;}
  #simLp .lastcta{padding:56px 20px;}
}

/* フォーム送信ボタンを黄色に(主要CTAと統一) */
#simApp .form-body .btn[type=submit],
#simApp .form-body input.wpcf7-submit{background:#F5B500 !important;color:#1A1A1A !important;}
#simApp .form-body .btn[type=submit]:hover,
#simApp .form-body input.wpcf7-submit:hover{background:#E0A400 !important;opacity:1 !important;}

/* FV見出しの改行制御 */
#simLp .fv h1 .nb{display:inline-block;}

/* 理由カード写真の表示位置調整(頭切れ防止) */
#simLp .reason:nth-of-type(2) .r-photo{object-position:center 22%;}
#simLp .reason:nth-of-type(4) .r-photo{object-position:center 45%;}
#simLp .reason:nth-of-type(5) .r-photo{object-position:center 40%;}
#simLp .reason:nth-of-type(6) .r-photo{object-position:center 30%;}

/* ============================================================
   モバイル（767px以下）の微調整
   ※このファイルの後方に同じ指定があると上書きされるため、末尾にまとめている
   ============================================================ */
@media (max-width:767px){
  /* 「解体費用が最大70万円」を1行に収める（途中で割れないよう金額を少し小さく） */
  #simLp .subsidy .s-main b{font-size:30px;white-space:nowrap;}
}

/* ============================================================
   CTAボタンの強調
   ・FV … シミュレーション=黄／電話=紺（色を入れ替え）、シミュレーションを少し長く
   ・共感セクション … 黄色にしてデスクトップで大きく
   ・どちらも小さく弾ませて目を引く（動きは控えめ）
   ============================================================ */
@keyframes ctaBounce{
  0%, 70%, 100%{transform:translateY(0);}
  78%{transform:translateY(-6px);}
  86%{transform:translateY(0);}
  92%{transform:translateY(-3px);}
}

/* FV … 2つのボタンの色を入れ替え */
#simLp .fv-cta .btnL.main{background:#F5B500;color:#1A1A1A;}
#simLp .fv-cta .btnL.main:hover{background:#E0A400;}
#simLp .fv-cta .btnL.tel{background:#004596;color:#fff;}
#simLp .fv-cta .btnL.tel:hover{background:#00305C;}
#simLp .fv-cta .btnL.tel small{opacity:.9;}

/* 共感セクション … 黄色 */
#simLp .btnL.main.lp-midbtn{background:#F5B500;color:#1A1A1A;}
#simLp .btnL.main.lp-midbtn:hover{background:#E0A400;}

/* 動き（OSで「視差効果を減らす」を有効にしている場合は止める） */
#simLp .fv-cta .btnL.main,
#simLp .btnL.main.lp-midbtn{animation:ctaBounce 3.4s ease-in-out infinite;}
@media (prefers-reduced-motion: reduce){
  #simLp .fv-cta .btnL.main,
  #simLp .btnL.main.lp-midbtn{animation:none;}
}

@media (min-width:768px){
  /* FV … シミュレーションを電話より長くする */
  #simLp .fv-cta{max-width:640px;}
  #simLp .fv-cta .btnL.main{flex:1.5;}
  #simLp .fv-cta .btnL.tel{flex:1;}
  /* 共感セクション … さらに大きく */
  #simLp .btnL.main.lp-midbtn{max-width:680px;min-height:116px;font-size:30px;}
}

/* ============================================================
   設問の下に常時置く「最初からやり直す」
   ・質問の途中でも離島の案内が出ていても、いつでも押せる
   ・結果が出ている間は、結果カードの下にある同じボタンに任せて隠す
   ============================================================ */
/* 上の質問ブロックに下線があるため、ここで線を足すと二重線になる。線は引かない */
#simApp .sim-reset{padding-top:18px;margin-top:0;}
#simApp .sim-reset .back{margin-top:0;min-height:48px;font-size:15.5px;max-width:280px;
  border-width:1px;color:#5A6672;border-color:var(--sim-line);}
#simApp .sim-reset .back::before{background:#5A6672;width:18px;height:18px;flex-basis:18px;
  -webkit-mask-size:18px;mask-size:18px;}
#simApp .sim-reset .back:hover{background:#F1F6FB;border-color:var(--sim-blue-btn);color:var(--sim-blue-btn);}
#simApp .sim-reset .back:hover::before{background:var(--sim-blue-btn);}
#simApp .sim-flow:has(#result:not(.hidden)) .sim-reset{display:none;}

/* ============================================================
   サンクスページ（/simulator-thanks/）専用
   広告のコンバージョン測定用にLPと別URLにしている
   ============================================================ */
#simApp.sim-thanks-page{padding-top:120px;padding-bottom:80px;}
@media (min-width:768px){
  #simApp.sim-thanks-page{padding-top:150px;}
}
#simApp.sim-thanks-page .sim-inner{background:transparent;}
#simApp.sim-thanks-page #done{margin:0;}
#simApp .thanks-cta{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:26px auto 0;}
