@charset "utf-8";
/* ==================================================================
   メールカウンセリングフォーム 2026            [2026-09-15 新設]

   HTML（step1.php / step2.php）には一切触っていない。
   入力項目の name、checked の判定、JS の data-targets はそのまま。
   ここは見た目だけを、トップページのトーンに寄せるための上書き。

   旧 CSS（style.css / bootstrap.min.css / mod.css など15本）が
   先に読まれているので、フォームの id を頭に付けて詳細度で勝つ。
   ================================================================== */

#post_lp{
  --f-brand:#1583b8;  --f-brand-deep:#0b5f8a;  --f-brand-tint:#e4f2f9;
  --f-accent:#ee8722; --f-accent-deep:#d1701a;
  --f-ink:#0e2e44;    --f-ink-soft:#4d6d82;    --f-ink-faint:#86a0b0;
  --f-rule:#dce7ee;   --f-sky:#eef7fc;         --f-paper:#fff;
  --f-jp:"Zen Kaku Gothic New","Noto Sans JP","ヒラギノ角ゴ ProN",sans-serif;

  max-width:860px; margin:0 auto; padding:0 4px;
  font-family:var(--f-jp); color:var(--f-ink);
  -webkit-font-smoothing:antialiased;
}

/* ---- 質問のかたまり。1問ずつ白いカードに分ける ---- */
#post_lp .form-body{ display:block; }
#post_lp .form-group{
  display:block; float:none; width:auto; margin:0 0 16px; padding:22px 24px 20px;
  background:var(--f-paper); border:1px solid var(--f-rule); border-radius:16px;
  box-shadow:0 2px 10px rgba(14,46,68,.05);
}
#post_lp .form-group::after{ content:""; display:block; clear:both; }

/* ---- 設問のラベル。左カラムをやめて、見出しとして上に置く ---- */
#post_lp .control-label,
#post_lp .col-sm-2.control-label{
  display:block; float:none; width:auto; margin:0 0 14px; padding:0;
  text-align:left; font-family:var(--f-jp); font-weight:900; font-size:16.5px;
  line-height:1.6; color:var(--f-ink);
}
#post_lp .control-label .rnone{ font-weight:700; color:var(--f-ink-soft); }
#post_lp .control-label br.pc{ display:none; }          /* 見出しは1行で */
/* 必須の印 */
#post_lp .control-label.required::after,
#post_lp .icon-required{
  content:"必須"; display:inline-block; margin-left:9px; padding:3px 9px;
  border-radius:999px; background:var(--f-accent); color:#fff;
  font-size:11.5px; font-weight:900; letter-spacing:.04em; vertical-align:2px;
}
#post_lp .icon-required{ content:none; }

/* ---- 選択肢。四角いチップにして押しやすくする ---- */
#post_lp .col-sm-10,
#post_lp .labels{ display:block; float:none; width:auto; padding:0; }
#post_lp .labels{ display:flex; flex-wrap:wrap; gap:9px; }
#post_lp .labels > label{
  display:inline-flex; align-items:center; gap:8px; margin:0;
  padding:11px 16px; border:1.5px solid var(--f-rule); border-radius:11px;
  background:var(--f-paper); cursor:pointer; font-weight:700; font-size:14.5px;
  line-height:1.4; color:var(--f-ink); transition:border-color .15s, background-color .15s;
}
#post_lp .labels > label:hover{ border-color:var(--f-brand); background:var(--f-sky); }
#post_lp .labels > label input[type="checkbox"],
#post_lp .labels > label input[type="radio"]{
  width:19px; height:19px; margin:0; accent-color:var(--f-brand); flex:none; cursor:pointer;
}
/* 選ばれている項目を、色で分かるようにする */
#post_lp .labels > label:has(input:checked){
  border-color:var(--f-brand); background:var(--f-brand-tint); color:var(--f-brand-deep);
}
#post_lp .labels > label.other{ width:auto; }
#post_lp .labels .smaller{ font-size:13px; color:var(--f-ink-soft); font-weight:500; }

/* ---- 入力欄・プルダウン ---- */
#post_lp .form-control,
#post_lp input[type="text"],
#post_lp input[type="tel"],
#post_lp input[type="email"],
#post_lp input[type="number"],
#post_lp select,
#post_lp textarea{
  display:inline-block; max-width:100%; padding:12px 14px; height:auto;
  border:1.5px solid var(--f-rule); border-radius:11px; background:var(--f-paper);
  font-family:var(--f-jp); font-size:15.5px; line-height:1.6; color:var(--f-ink);
  box-shadow:none; transition:border-color .15s, box-shadow .15s;
}
#post_lp .form-control:focus,
#post_lp input:focus, #post_lp select:focus, #post_lp textarea:focus{
  outline:none; border-color:var(--f-brand);
  box-shadow:0 0 0 3px rgba(21,131,184,.16);
}
#post_lp .form-control.short{ width:auto; min-width:230px; }
#post_lp textarea{ width:100%; min-height:150px; }
#post_lp select{
  appearance:none; -webkit-appearance:none; padding-right:38px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231583b8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
}
#post_lp ::placeholder{ color:var(--f-ink-faint); }

/* ---- 送信ボタン ---- */
#post_lp .form-group-submit{
  margin:26px 0 0; padding:0; background:none; border:none; box-shadow:none; text-align:center;
}
#post_lp .form-group-submit button,
#post_lp button.imaged,
#post_lp input[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-width:300px; height:60px; padding:0 34px;
  border:none; border-radius:999px; cursor:pointer;
  background:var(--f-accent); color:#fff;
  font-family:var(--f-jp); font-weight:900; font-size:18px; letter-spacing:.03em;
  box-shadow:0 8px 22px rgba(238,135,34,.30);
  transition:background-color .16s, transform .12s, box-shadow .16s;
}
#post_lp .form-group-submit button:hover,
#post_lp button.imaged:hover{ background:var(--f-accent-deep); box-shadow:0 10px 26px rgba(238,135,34,.38); }
#post_lp .form-group-submit button:active{ transform:translateY(1px); }
/* ボタンの中が画像だったころの名残を消す */
#post_lp .form-group-submit button img,
#post_lp button.imaged img{ display:none; }
/* 「戻る」は控えめに */
#post_lp .form-group-submit button[value="step1"],
#post_lp .form-group-submit .back button{
  background:var(--f-paper); color:var(--f-ink-soft);
  border:1.5px solid var(--f-rule); box-shadow:none; min-width:180px; height:52px; font-size:15.5px;
}
#post_lp .form-group-submit button[value="step1"]:hover{ background:var(--f-sky); color:var(--f-brand-deep); }

/* ---- エラー表示 ---- */
#post_lp .error-block,
#post_lp label.error,
#post_lp .form-message.error{
  display:block; margin-top:8px; padding:9px 13px; border-radius:9px;
  background:#fdeceb; color:#b3443c; font-size:13.5px; font-weight:700; line-height:1.6;
}
#post_lp .form-group.has-error,
#post_lp .form-group:has(label.error){ border-color:#e9b4af; }
#post_lp .form-message{ margin-top:8px; font-size:13px; color:var(--f-ink-soft); line-height:1.7; }

/* ---- 確認画面（step2 の一覧）---- */
#post_lp .confirm-table,
#post_lp table.confirm{ width:100%; border-collapse:collapse; }
#post_lp .confirm-table th,
#post_lp .confirm-table td{
  padding:14px 12px; border-bottom:1px solid var(--f-rule);
  font-size:15px; line-height:1.8; text-align:left; vertical-align:top;
}
#post_lp .confirm-table th{ width:32%; font-weight:700; color:var(--f-ink-soft); background:var(--f-sky); }

/* ---- 余白まわりの旧クラスを打ち消す ---- */
#post_lp .pv20{ padding-top:0; padding-bottom:0; }
#post_lp .ps20{ padding-left:0; padding-right:0; }
#post_lp .rps10{ border-radius:0; background:none; }

/* ==================================================================
   スマホ
   ================================================================== */
@media only screen and (max-width:900px){
  #post_lp{ padding:0; }
  #post_lp .form-group{ padding:18px 16px 16px; border-radius:14px; margin-bottom:12px; }
  #post_lp .control-label,
  #post_lp .col-sm-2.control-label{ font-size:15.5px; margin-bottom:12px; }
  #post_lp .labels{ gap:8px; }
  #post_lp .labels > label{ padding:11px 13px; font-size:14px; border-radius:10px; }
  #post_lp .form-control.short{ min-width:0; width:100%; }
  #post_lp .form-group-submit button,
  #post_lp button.imaged{ width:100%; min-width:0; height:56px; font-size:16.5px; }
  #post_lp .form-group-submit button[value="step1"]{ height:48px; font-size:15px; }
}

/* ==================================================================
   フォームのページ全体（ヘッダー・見出し・ステップ）  [2026-09-15]
   ページの枠は新デザインのヘッダー／フッターに差し替えた。
   ここはその間に入る、見出しとステップ表示の分。
   ================================================================== */
.rd-formpage{ background:var(--ground,#f7fbfd); padding:46px 0 72px; }
.rd-formpage-in{ max-width:900px; }
.rd-formpage-head{ text-align:center; margin-bottom:30px; }
.rd-formpage-head .rd-eyebrow{ margin-bottom:10px; }
.rd-formpage-head .rd-h2{ margin-bottom:12px; }
.rd-formpage-head .rd-lead{ margin:0 auto; max-width:40em; }

/* ---- いまどこか ---- */
.rd-steps{
  list-style:none; margin:0 auto 26px; padding:0;
  display:flex; justify-content:center; align-items:center; gap:10px; flex-wrap:wrap;
}
.rd-step{
  display:inline-flex; align-items:center; gap:9px;
  padding:9px 18px 9px 10px; border-radius:999px;
  background:#fff; border:1.5px solid #dce7ee;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:14px; color:#86a0b0;
}
.rd-step-no{
  display:grid; place-items:center; width:24px; height:24px; border-radius:50%;
  background:#dce7ee; color:#fff; font-size:12.5px; font-weight:900;
}
.rd-step.is-now{ border-color:#1583b8; background:#e4f2f9; color:#0b5f8a; }
.rd-step.is-now .rd-step-no{ background:#1583b8; }
.rd-step.is-done{ color:#4d6d82; }
.rd-step.is-done .rd-step-no{ background:#8fc4dd; }

/* ---- 補足の文 ---- */
.rd-formpage-note{
  max-width:760px; margin:0 auto 26px; padding:20px 24px;
  background:#fff; border:1px solid #dce7ee; border-radius:14px;
  font-size:14.5px; line-height:1.95; color:#4d6d82;
}
.rd-formpage-note p{ margin:0 0 8px; }
.rd-formpage-note p:last-child{ margin-bottom:0; }
.rd-formpage-note a{ color:#1583b8; font-weight:700; }
.rd-formpage-alt{ font-size:13px; color:#86a0b0; }

@media only screen and (max-width:900px){
  .rd-formpage{ padding:32px 0 52px; }
  .rd-formpage-head{ margin-bottom:22px; }
  .rd-steps{ gap:6px; margin-bottom:20px; }
  .rd-step{ padding:7px 13px 7px 8px; font-size:12.5px; gap:7px; }
  .rd-step-no{ width:21px; height:21px; font-size:11.5px; }
  .rd-formpage-note{ padding:16px 16px; font-size:13.5px; border-radius:12px; }
}

/* ---- 相談のしかた（4種類）  [2026-09-15] ---- */
.rd-formways{ margin:0 0 28px; }
.rd-formways-lead{
  margin:0 0 12px; text-align:center;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:14px; color:#4d6d82;
}
.rd-formways-list{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
}
.rd-formway{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
  padding:14px 10px; border-radius:14px; text-align:center; text-decoration:none;
  background:#fff; border:1.5px solid #dce7ee; color:#4d6d82;
  transition:border-color .16s, background-color .16s, transform .12s;
}
.rd-formway b{
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:14.5px;
  line-height:1.5; color:#0e2e44;
}
.rd-formway small{ font-size:12px; line-height:1.5; color:#86a0b0; }
.rd-formway:hover{ border-color:#1583b8; background:#eef7fc; transform:translateY(-2px); }
.rd-formway.is-on{
  background:#1583b8; border-color:#1583b8; cursor:default;
}
.rd-formway.is-on b{ color:#fff; }
.rd-formway.is-on small{ color:rgba(255,255,255,.85); }

@media only screen and (max-width:900px){
  .rd-formways{ margin-bottom:20px; }
  .rd-formways-list{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .rd-formway{ padding:12px 8px; border-radius:12px; }
  .rd-formway b{ font-size:13.5px; }
  .rd-formway small{ font-size:11px; }
}

/* 名前が長いものがあるので、2行になっても高さがそろうようにする */
.rd-formway b{ text-wrap:balance; }
/* LINE だけは緑にして、外部へ出ることが分かるようにする */
.rd-formway.is-line:hover{ border-color:#06c755; background:#eefaf2; }
.rd-formway.is-line b{ color:#05ac49; }

/* ==================================================================
   相談内容の下書きづくり（コンシェルジュ）      [2026-09-15]
   何を書けばいいか分からない人が、選ぶだけで文章を作れるようにする。
   ================================================================== */
.rd-draft{
  margin:0 0 14px; border:1.5px solid #cfe6f3; border-radius:14px;
  background:#f4fafd; overflow:hidden;
}
.rd-draft.is-open{ border-color:#1583b8; }
.rd-draft-open{
  display:flex; align-items:center; gap:12px; width:100%;
  padding:14px 16px; border:none; background:none; cursor:pointer; text-align:left;
  font-family:"Zen Kaku Gothic New",sans-serif;
}
.rd-draft-face{
  flex:none; width:40px; height:40px; border-radius:50%;
  object-fit:cover; object-position:50% 20%;
}
.rd-draft-txt{ min-width:0; flex:1; }
.rd-draft-open b{
  display:block; font-weight:900; font-size:14.5px; line-height:1.5; color:#0b5f8a;
}
.rd-draft-open small{
  display:block; margin-top:2px; font-size:12.5px; line-height:1.6; color:#4d6d82;
}
.rd-draft-arw{
  flex:none; display:grid; place-items:center; width:26px; height:26px;
  border-radius:50%; background:#1583b8; color:#fff; font-size:16px; font-weight:700;
  transition:transform .2s ease;
}
.rd-draft.is-open .rd-draft-arw{ transform:rotate(45deg); }

.rd-draft-body{ padding:4px 16px 16px; border-top:1px solid #dcecf5; }
.rd-draft-q{
  margin:14px 0 10px; font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:700; font-size:14px; color:#0e2e44;
}
.rd-draft-q span{ font-weight:500; font-size:12.5px; color:#86a0b0; }
.rd-draft-opts{ display:flex; flex-wrap:wrap; gap:8px; }
.rd-draft-opt{
  display:inline-flex; align-items:center; gap:8px; margin:0;
  padding:9px 14px; border:1.5px solid #dce7ee; border-radius:10px;
  background:#fff; cursor:pointer; font-size:13.5px; font-weight:700; color:#0e2e44;
  transition:border-color .15s, background-color .15s;
}
.rd-draft-opt:hover{ border-color:#1583b8; background:#eef7fc; }
.rd-draft-opt input{ width:17px; height:17px; margin:0; accent-color:#1583b8; cursor:pointer; }
.rd-draft-opt:has(input:checked){ border-color:#1583b8; background:#e4f2f9; color:#0b5f8a; }

.rd-draft-foot{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:14px; }
.rd-draft-make{
  padding:11px 24px; border:none; border-radius:999px; cursor:pointer;
  background:#1583b8; color:#fff;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:14.5px;
  transition:background-color .16s;
}
.rd-draft-make:hover{ background:#0b5f8a; }
.rd-draft-note{ font-size:12.5px; color:#86a0b0; }

@media only screen and (max-width:900px){
  .rd-draft-open{ padding:12px 13px; gap:10px; }
  .rd-draft-open b{ font-size:13.5px; }
  .rd-draft-open small{ font-size:11.5px; }
  .rd-draft-body{ padding:4px 13px 14px; }
  .rd-draft-opt{ padding:9px 12px; font-size:13px; }
  .rd-draft-make{ width:100%; }
  .rd-draft-note{ font-size:12px; }
}

/* ---- 作り直したフォーム用の追加分  [2026-09-15] ---- */
#post_lp .control-label .rd-sub{
  display:block; margin-top:4px;
  font-weight:500; font-size:12.5px; line-height:1.6; color:#86a0b0;
}
#post_lp .rd-w-full{ width:100%; }
#post_lp .rd-name-row{ display:flex; gap:10px; }
#post_lp .rd-name-col{ flex:1; min-width:0; }
#post_lp .rd-name-col input{ width:100%; }
#post_lp .rd-submit-note{
  margin:12px 0 0; font-size:12.5px; line-height:1.7; color:#86a0b0;
}
/* えらべる形（ラジオも四角いチップに） */
#post_lp .labels > label input[type="radio"]{ accent-color:#1583b8; }
/* エラー */
#post_lp label.rd-err{
  display:block; margin-top:9px; padding:8px 12px; border-radius:9px;
  background:#fdeceb; color:#b3443c; font-size:13px; font-weight:700;
}

/* ---- 1ページ目のふりかえり ---- */
.rd-recap{
  margin:0 0 18px; padding:16px 18px 14px;
  background:#eef7fc; border:1px solid #cfe6f3; border-radius:14px;
}
.rd-recap-h{
  margin:0 0 10px; font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:900; font-size:13px; color:#0b5f8a;
}
.rd-recap-list{ margin:0; }
.rd-recap-list > div{ display:flex; gap:12px; padding:4px 0; font-size:13.5px; line-height:1.7; }
.rd-recap-list dt{ flex:none; width:6.5em; color:#4d6d82; font-weight:700; }
.rd-recap-list dd{ margin:0; color:#0e2e44; min-width:0; }
.rd-recap-back{
  margin-top:10px; padding:7px 16px; border-radius:999px; cursor:pointer;
  background:#fff; border:1.5px solid #cfe6f3; color:#0b5f8a;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:13px;
}
.rd-recap-back:hover{ border-color:#1583b8; background:#fff; }

@media only screen and (max-width:900px){
  #post_lp .rd-name-row{ gap:8px; }
  .rd-recap{ padding:14px 14px 12px; }
  .rd-recap-list > div{ flex-direction:column; gap:1px; }
  .rd-recap-list dt{ width:auto; font-size:12px; }
}

/* ---- お返事の方法（step2 のいちばん下）は下の作り直し分を参照 ---- */
.rd-way-extra{ margin-top:14px; padding:14px 16px; background:#f4fafd; border:1px solid #cfe6f3; border-radius:12px; }
.rd-way-label{
  display:block; margin:0 0 6px; font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:700; font-size:13px; color:#0b5f8a;
}
.rd-way-extra .form-control + .rd-way-label{ margin-top:12px; }
.rd-way-note{
  margin:14px 0 0; padding:12px 16px; border-radius:12px;
  background:#eefaf2; border:1px solid #bde9cf;
  font-size:13.5px; line-height:1.8; color:#2c6b4a;
}

/* ---- 3問の頭につける番号と導入文  [2026-09-15] ---- */
.rd-form-intro{
  margin:0 0 20px; padding:16px 20px; border-radius:14px;
  background:#eef7fc; border:1px solid #cfe6f3;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700;
  font-size:14.5px; line-height:1.9; color:#0b5f8a; text-align:center;
}
#post_lp .rd-qno{
  display:inline-block; margin-right:10px; padding:3px 10px; border-radius:999px;
  background:#1583b8; color:#fff; font-size:12px; font-weight:900; vertical-align:2px;
}
@media only screen and (max-width:900px){
  .rd-form-intro{ padding:13px 14px; font-size:13.5px; line-height:1.85; }
  #post_lp .rd-qno{ margin-right:8px; padding:2px 9px; font-size:11.5px; }
}

/* ==================================================================
   見た目の手直し  [2026-09-15]

   ・「必須」の印が濃いオレンジで、画面のあちこちで主張していた。
     オレンジは送信ボタン1か所にだけ残し、印は細い枠線にした。
   ・「お返事の方法」を、同じ大きさの4枚のカードに作り直した。
   ・入力欄に見出しの小札を付けて、何を書く欄かを見て分かるようにした。
   ================================================================== */

/* ---- 必須・任意の印。枠線だけにして、オレンジは送信ボタンに集める ---- */
#post_lp .control-label.required::after{
  content:"必須"; margin-left:10px; padding:3px 9px;
  background:#fff5ec; color:var(--f-accent-deep);
  border:1px solid #f6d3ae; font-size:11px; letter-spacing:.06em;
}
#post_lp .control-label .rd-opt{
  display:inline-block; margin-left:10px; padding:3px 9px; border-radius:999px;
  background:#f2f6f9; color:var(--f-ink-faint); border:1px solid var(--f-rule);
  font-size:11px; font-weight:700; letter-spacing:.06em; vertical-align:2px;
}

/* ---- 設問カード。角を少しやわらげ、影を浅くする ---- */
#post_lp .form-group{
  padding:24px 26px 22px; border-radius:18px;
  box-shadow:0 1px 2px rgba(14,46,68,.04), 0 10px 24px -18px rgba(14,46,68,.5);
}
#post_lp .form-group:focus-within{ border-color:#bcdcec; }

/* ---- お名前。欄の左に「姓」「名」の小札を置く ---- */
#post_lp .rd-name-row{ display:flex; gap:12px; }
#post_lp .rd-name-col{
  position:relative; flex:1; min-width:0; display:block;
}
#post_lp .rd-name-tag{
  position:absolute; z-index:1; top:50%; left:14px; transform:translateY(-50%);
  padding:3px 8px; border-radius:7px; background:var(--f-sky); color:var(--f-ink-soft);
  font-size:12px; font-weight:900; line-height:1; pointer-events:none;
}
#post_lp .rd-name-col input{ width:100%; padding-left:52px; }

/* ==================================================================
   お返事の方法（4枚のカード）
   ラジオは目に見えないだけで、キーボードでは今までどおり動く。
   ================================================================== */
#post_lp .rd-ways{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
  margin:0; padding:0;
}
#post_lp .rd-way{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  margin:0; padding:16px 15px 15px; cursor:pointer;
  border:1.5px solid var(--f-rule); border-radius:15px; background:var(--f-paper);
  font-weight:400; line-height:1.5;
  transition:border-color .16s, background-color .16s, box-shadow .16s;
}
#post_lp .rd-way input{
  position:absolute; width:1px; height:1px; margin:0; padding:0;
  opacity:0; pointer-events:none;
}
#post_lp .rd-way-ico{
  display:grid; place-items:center; width:38px; height:38px; border-radius:11px;
  background:var(--f-sky); color:var(--f-brand);
  transition:background-color .16s, color .16s;
}
#post_lp .rd-way-body{ display:block; min-width:0; }
#post_lp .rd-way-body b{
  display:block; font-weight:900; font-size:14.5px; line-height:1.5; color:var(--f-ink);
}
#post_lp .rd-way-body small{
  display:block; margin-top:2px; font-size:11.5px; line-height:1.5; color:var(--f-ink-faint);
}
/* 選ばれたときだけ出る、右上のチェック */
#post_lp .rd-way-mark{
  position:absolute; top:11px; right:11px;
  display:grid; place-items:center; width:21px; height:21px; border-radius:50%;
  background:var(--f-brand); color:#fff;
  opacity:0; transform:scale(.6); transition:opacity .16s, transform .16s;
}
#post_lp .rd-way:hover{ border-color:#9fcde4; background:var(--f-sky); }
#post_lp .rd-way:has(input:checked){
  border-color:var(--f-brand); background:var(--f-brand-tint);
  box-shadow:0 0 0 1px var(--f-brand) inset;
}
#post_lp .rd-way:has(input:checked) .rd-way-ico{ background:var(--f-brand); color:#fff; }
#post_lp .rd-way:has(input:checked) .rd-way-body b{ color:var(--f-brand-deep); }
#post_lp .rd-way:has(input:checked) .rd-way-body small{ color:#4d8fb0; }
#post_lp .rd-way:has(input:checked) .rd-way-mark{ opacity:1; transform:scale(1); }
#post_lp .rd-way:has(input:focus-visible){ box-shadow:0 0 0 3px rgba(21,131,184,.28); }
/* LINE だけは緑。外のアプリに出ることが色で分かるように */
#post_lp .rd-way.is-line .rd-way-ico{ color:#06c755; background:#eefaf2; }
#post_lp .rd-way.is-line:hover{ border-color:#7ad9a4; background:#f4fdf7; }
#post_lp .rd-way.is-line:has(input:checked){
  border-color:#06c755; background:#eefaf2; box-shadow:0 0 0 1px #06c755 inset;
}
#post_lp .rd-way.is-line:has(input:checked) .rd-way-ico{ background:#06c755; color:#fff; }
#post_lp .rd-way.is-line:has(input:checked) .rd-way-body b{ color:#05ac49; }
#post_lp .rd-way.is-line:has(input:checked) .rd-way-mark{ background:#06c755; }

/* 方法を選んだあとに出る、追加の入力 */
.rd-way-extra{
  margin-top:14px; padding:16px 18px;
  background:var(--f-sky,#eef7fc); border:1px solid #cfe6f3; border-radius:14px;
}
.rd-way-note{
  display:flex; align-items:flex-start; gap:9px;
  margin:14px 0 0; padding:13px 16px; border-radius:14px;
  background:#eefaf2; border:1px solid #bde9cf;
  font-size:13.5px; line-height:1.8; color:#2c6b4a;
}
.rd-way-note svg{ flex:none; margin-top:3px; color:#06c755; }

/* ---- 相談したいこと。書いた量の目安 ---- */
.rd-ta{ position:relative; }
#post_lp .rd-ta textarea{ display:block; min-height:170px; padding-bottom:34px; }
.rd-ta-count{
  position:absolute; right:14px; bottom:11px; margin:0;
  font-size:11.5px; line-height:1.4; color:#a9bcc8; pointer-events:none;
  background:linear-gradient(to right, rgba(255,255,255,0), #fff 18%);
  padding-left:26px;
}
.rd-ta-count.is-ok{ color:#3f8f6a; }
.rd-ta-count.is-over{ color:#b3443c; font-weight:700; }

/* ---- 何で知ったか。幅をそろえて、余りの1つが浮かないように ---- */
#post_lp .rd-know{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
#post_lp .rd-know > label{ justify-content:flex-start; }

/* ---- 1ページ目のふりかえり。見出しと「選び直す」を同じ行に ---- */
.rd-recap{ padding:15px 18px 14px; border-radius:15px; }
.rd-recap-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px;
}
.rd-recap-h{
  display:flex; align-items:center; gap:7px; margin:0;
}
.rd-recap-h svg{ flex:none; }
.rd-recap-back{ margin-top:0; flex:none; }

/* ---- 下書きパネル ---- */
.rd-draft-open{ padding:15px 16px; }
.rd-draft-face{ width:44px; height:44px; }
.rd-draft-arw{
  width:30px; height:30px; background:#fff; color:var(--f-brand,#1583b8);
  border:1.5px solid #cfe6f3; font-size:0;
}
.rd-draft.is-open .rd-draft-arw{ transform:rotate(180deg); background:#1583b8; color:#fff; border-color:#1583b8; }
.rd-draft-open:hover .rd-draft-arw{ border-color:#1583b8; }

/* ---- 送信ボタンの下のひとこと ---- */
#post_lp .rd-submit-note{ line-height:1.9; }

@media (prefers-reduced-motion:reduce){
  #post_lp *, .rd-draft *{ transition:none !important; }
}

/* ---- スマホ ---- */
@media only screen and (max-width:900px){
  #post_lp .form-group{ padding:18px 16px 16px; border-radius:15px; }
  #post_lp .rd-ways{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  #post_lp .rd-way{ padding:13px 12px 12px; gap:8px; border-radius:13px; }
  #post_lp .rd-way-ico{ width:34px; height:34px; border-radius:10px; }
  #post_lp .rd-way-body b{ font-size:13.5px; }
  #post_lp .rd-way-body small{ font-size:11px; }
  #post_lp .rd-know{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #post_lp .rd-name-row{ gap:9px; }
  #post_lp .rd-name-tag{ left:11px; padding:3px 7px; font-size:11px; }
  #post_lp .rd-name-col input{ padding-left:44px; }
  #post_lp .rd-ta textarea{ min-height:150px; }
  .rd-recap-head{ flex-wrap:wrap; gap:8px; }
  .rd-way-extra{ padding:13px 14px; }
}

/* ---- ステップの間をつなぐ線  [2026-09-15] ----
   「3つのうち今どこか」が、点ではなく道すじとして見えるようにする。 */
.rd-steps{ gap:0; }
.rd-step-line{
  flex:0 0 26px; height:2px; margin:0 4px; border-radius:2px;
  background:#dce7ee;
}
.rd-step-line.is-past{ background:#8fc4dd; }
.rd-step{ margin:0 3px; }

/* ---- フォームの下の、3つの約束  [2026-09-15] ---- */
.rd-formpage-trust{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
  list-style:none; max-width:860px; margin:26px auto 0; padding:0;
}
.rd-formpage-trust li{
  padding:16px 18px; border-radius:15px;
  background:#fff; border:1px solid #dce7ee;
  font-size:12.5px; line-height:1.8; color:#4d6d82;
}
.rd-formpage-trust b{
  display:block; margin-bottom:3px;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:14px; line-height:1.5; color:#0b5f8a;
}

@media only screen and (max-width:900px){
  .rd-step-line{ flex-basis:12px; margin:0 2px; }
  .rd-step{ margin:0 1px; }
  .rd-formpage-trust{ grid-template-columns:1fr; gap:8px; margin-top:20px; }
  .rd-formpage-trust li{ padding:13px 15px; border-radius:13px; }
}

/* ステップ表示は、スマホでも1行に収める  [2026-09-15] */
@media only screen and (max-width:900px){
  .rd-steps{ flex-wrap:nowrap; }
  .rd-step{ padding:6px 10px 6px 7px; font-size:11.5px; gap:6px; white-space:nowrap; }
  .rd-step-no{ width:19px; height:19px; font-size:11px; }
  .rd-step-line{ flex-basis:10px; margin:0 3px; }
}

/* ==================================================================
   送信完了  [2026-09-15 新設]
   これまで出ていた資料請求向けの画面（パンフレット・資料送付）は
   メール相談には合っていなかったので、このフォーム専用に作り直した。
   ================================================================== */
.rd-done{ max-width:760px; margin:0 auto; }

.rd-done-head{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  padding:34px 26px 30px; margin-bottom:14px;
  background:#fff; border:1px solid #dce7ee; border-radius:20px; text-align:center;
}
.rd-done-mark{
  display:grid; place-items:center; width:62px; height:62px; border-radius:50%;
  background:#e8f7ee; color:#2f9c62;
  box-shadow:0 0 0 8px rgba(47,156,98,.08);
}
.rd-done-lead{
  margin:0; font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:900; font-size:19px; line-height:1.85; color:#0e2e44;
}

/* ---- このあとの流れ ---- */
.rd-done-flow{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
  list-style:none; margin:0 0 14px; padding:0;
}
.rd-done-flow li{
  position:relative; padding:20px 18px 18px;
  background:#fff; border:1px solid #dce7ee; border-radius:16px;
}
.rd-done-no{
  display:grid; place-items:center; width:26px; height:26px; margin-bottom:10px;
  border-radius:50%; background:#1583b8; color:#fff;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900; font-size:13px;
}
.rd-done-flow b{
  display:block; margin-bottom:5px;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:14.5px; line-height:1.6; color:#0e2e44;
}
.rd-done-flow small{ display:block; font-size:12.5px; line-height:1.8; color:#4d6d82; }

/* ---- 届かないときの案内 ---- */
/* 対面を期待させないための一行。この後の流れの直後に置く  [2026-09-29] */
.rd-done-remote{
  margin:0 0 14px; padding:0 4px;
  font-size:13px; line-height:1.9; color:#4d6d82; text-align:center;
}
.rd-done-remote b{ color:#0b5f8a; font-weight:700; }
@media only screen and (max-width:900px){
  .rd-done-remote{ text-align:left; font-size:12.5px; margin-bottom:12px; }
}

.rd-done-note{
  margin:0 0 14px; padding:18px 20px;
  background:#fff8f0; border:1px solid #f6d3ae; border-radius:16px;
}
.rd-done-note b{
  display:block; margin-bottom:6px;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:14.5px; color:#a55c14;
}
.rd-done-note p{ margin:0; font-size:13.5px; line-height:1.95; color:#4d6d82; }
.rd-done-note a{ color:#0b5f8a; font-weight:700; }

/* ---- LINE への誘い ---- */
.rd-done-line{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  margin:0 0 20px; padding:20px 22px;
  background:#f3fbf6; border:1px solid #bde9cf; border-radius:18px;
}
.rd-done-line.is-primary{ border-width:2px; box-shadow:0 10px 26px -16px rgba(6,199,85,.7); }
.rd-done-line-txt{ margin:0; min-width:0; font-size:13px; line-height:1.9; color:#3c6a53; }
.rd-done-line-txt b{
  display:block; font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:15px; line-height:1.6; color:#0e2e44;
}
.rd-done-line .rd-btn{ flex:none; }

/* ---- 待つあいだに読めるもの ---- */
.rd-done-read{
  margin:0 0 22px; padding:20px 22px 18px;
  background:#fff; border:1px solid #dce7ee; border-radius:18px;
}
.rd-done-read-h{
  margin:0 0 12px; font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:900; font-size:14px; color:#86a0b0; letter-spacing:.04em;
}
.rd-done-read ul{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px;
  list-style:none; margin:0; padding:0;
}
.rd-done-read a{
  display:block; padding:13px 15px; border-radius:12px;
  border:1px solid #e4eef4; background:#f9fcfe; text-decoration:none;
  transition:border-color .16s, background-color .16s;
}
.rd-done-read a:hover{ border-color:#1583b8; background:#eef7fc; }
.rd-done-read b{
  display:block; font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:14px; line-height:1.5; color:#0b5f8a;
}
.rd-done-read small{ display:block; margin-top:2px; font-size:12px; color:#86a0b0; }

.rd-done-back{ margin:0; text-align:center; }
.rd-done-back a{
  display:inline-block; padding:12px 30px; border-radius:999px;
  border:1.5px solid #dce7ee; background:#fff; color:#4d6d82;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:700; font-size:14.5px;
  text-decoration:none; transition:border-color .16s, color .16s;
}
.rd-done-back a:hover{ border-color:#1583b8; color:#0b5f8a; }

@media only screen and (max-width:900px){
  .rd-done-head{ padding:26px 18px 24px; border-radius:17px; }
  .rd-done-mark{ width:54px; height:54px; }
  .rd-done-lead{ font-size:16.5px; }
  .rd-done-flow{ grid-template-columns:1fr; gap:8px; }
  .rd-done-flow li{ padding:15px 16px 14px; border-radius:14px; }
  .rd-done-no{ margin-bottom:7px; }
  .rd-done-line{ flex-direction:column; align-items:stretch; gap:14px; padding:17px 16px; border-radius:16px; }
  .rd-done-line .rd-btn{ width:100%; }
  .rd-done-read{ padding:17px 16px 15px; border-radius:16px; }
  .rd-done-read ul{ grid-template-columns:1fr; gap:8px; }
  .rd-done-back a{ width:100%; }
}

/* 日本語の見出しが、変なところで折り返さないように  [2026-09-15] */
.rd-done-flow b, .rd-formpage-trust b, #post_lp .rd-way-body b,
.rd-done-read b, .rd-done-lead{
  text-wrap:balance; word-break:normal; line-break:strict; overflow-wrap:anywhere;
}

/* ==================================================================
   文字の大きさをひとまわり上げる  [2026-09-15]

   フォームは「読ませる」より「読めること」が先。
   スマホで見たときに小さい、という指摘があったので、
   設問・選択肢・入力欄を中心に 1〜2px ずつ引き上げた。
   ここで一括して上書きしている（元の指定は上の方に残してある）。
   ================================================================== */

/* ---- 設問の見出し ---- */
#post_lp .control-label,
#post_lp .col-sm-2.control-label{ font-size:18.5px; margin-bottom:15px; }
#post_lp .control-label.required::after{ font-size:12px; padding:4px 10px; }
#post_lp .control-label .rd-opt{ font-size:12px; padding:4px 10px; }
#post_lp .control-label .rd-sub{ font-size:13.5px; }
#post_lp .rd-qno{ font-size:13px; padding:4px 11px; }

/* ---- 選択肢のチップ ---- */
#post_lp .labels > label{ font-size:15.5px; padding:12px 17px; }
#post_lp .labels > label input[type="checkbox"],
#post_lp .labels > label input[type="radio"]{ width:20px; height:20px; }

/* ---- 入力欄 ---- */
#post_lp .form-control,
#post_lp input[type="text"],
#post_lp input[type="tel"],
#post_lp input[type="email"],
#post_lp input[type="number"],
#post_lp select,
#post_lp textarea{ font-size:16.5px; padding:13px 15px; }
#post_lp .rd-name-tag{ font-size:13px; padding:4px 9px; }
#post_lp .rd-name-col input{ padding-left:56px; }
#post_lp .form-message{ font-size:14px; }
#post_lp .rd-submit-note{ font-size:13.5px; }
.rd-ta-count{ font-size:12.5px; }

/* ---- お返事の方法 ---- */
#post_lp .rd-way-body b{ font-size:15.5px; }
#post_lp .rd-way-body small{ font-size:12.5px; }
.rd-way-label{ font-size:14px; }
.rd-way-note{ font-size:14.5px; }

/* ---- 下書きづくり ---- */
.rd-draft-open b{ font-size:15.5px; }
.rd-draft-open small{ font-size:13.5px; }
.rd-draft-q{ font-size:15px; }
.rd-draft-q span{ font-size:13.5px; }
.rd-draft-opt{ font-size:14.5px; padding:10px 15px; }
.rd-draft-make{ font-size:15.5px; padding:12px 26px; }
.rd-draft-note{ font-size:13.5px; }

/* ---- 1ページ目のふりかえり ---- */
.rd-recap-h{ font-size:14px; }
.rd-recap-list > div{ font-size:14.5px; }
.rd-recap-back{ font-size:14px; padding:8px 18px; }

/* ---- ページの見出し・ステップ・導入文 ---- */
.rd-step{ font-size:15px; padding:10px 20px 10px 11px; }
.rd-step-no{ width:26px; height:26px; font-size:13.5px; }
.rd-form-intro{ font-size:16px; padding:18px 22px; }
.rd-formpage-note{ font-size:15.5px; }

/* ---- 3つの約束 ---- */
.rd-formpage-trust li{ font-size:13.5px; }
.rd-formpage-trust b{ font-size:15px; }

/* ---- 送信ボタン ---- */
#post_lp .form-group-submit button,
#post_lp button.imaged,
#post_lp input[type="submit"]{ font-size:19px; height:62px; }

/* ---- 送信完了 ---- */
.rd-done-lead{ font-size:21px; }
.rd-done-flow b{ font-size:15.5px; }
.rd-done-flow small{ font-size:13.5px; }
.rd-done-no{ width:28px; height:28px; font-size:14px; }
.rd-done-note b{ font-size:15.5px; }
.rd-done-note p{ font-size:14.5px; }
.rd-done-line-txt{ font-size:14px; }
.rd-done-line-txt b{ font-size:16px; }
.rd-done-read-h{ font-size:15px; }
.rd-done-read b{ font-size:15px; }
.rd-done-read small{ font-size:13px; }
.rd-done-back a{ font-size:15.5px; }

/* ---- エラー ---- */
#post_lp label.rd-err,
#post_lp .error-block,
#post_lp label.error{ font-size:14.5px; }

/* ---- スマホ。PCより少しだけ抑えるが、以前よりは大きい ---- */
@media only screen and (max-width:900px){
  #post_lp .control-label,
  #post_lp .col-sm-2.control-label{ font-size:17px; margin-bottom:13px; }
  #post_lp .labels > label{ font-size:15px; padding:12px 14px; }
  #post_lp .form-control,
  #post_lp input[type="text"],
  #post_lp input[type="tel"],
  #post_lp input[type="email"],
  #post_lp select,
  #post_lp textarea{ font-size:16.5px; }   /* iOS が拡大しないよう16px以上を保つ */
  #post_lp .rd-name-tag{ font-size:12px; padding:3px 8px; }
  #post_lp .rd-name-col input{ padding-left:48px; }
  #post_lp .rd-way-body b{ font-size:14.5px; }
  #post_lp .rd-way-body small{ font-size:12px; }
  .rd-draft-open b{ font-size:14.5px; }
  .rd-draft-open small{ font-size:12.5px; }
  .rd-draft-opt{ font-size:14px; }
  .rd-form-intro{ font-size:15px; }
  .rd-step{ font-size:12.5px; padding:7px 11px 7px 8px; }
  .rd-step-no{ width:21px; height:21px; font-size:12px; }
  #post_lp .form-group-submit button,
  #post_lp button.imaged{ font-size:17.5px; height:58px; }
  .rd-done-lead{ font-size:18px; }
  .rd-done-flow b{ font-size:15px; }
  .rd-done-flow small{ font-size:13px; }
}

/* 設問の見出しの並び順  [2026-09-15]
   「必須」の印が、補足の一行（いくつでも構いません 等）の下に落ちていた。
   補足が display:block なので、その後ろに付く ::after が次の行へ回されるため。
   HTML は触らずに、並べ替えだけで直す。
     Q番号 → 設問 → 必須／任意 → （改行）補足 */
#post_lp .control-label,
#post_lp .col-sm-2.control-label{
  display:flex; flex-wrap:wrap; align-items:baseline;
}
#post_lp .control-label .rd-qno{ order:0; }
#post_lp .control-label.required::after{ order:1; }
#post_lp .control-label .rd-opt{ order:1; }
#post_lp .control-label .rd-sub{ order:2; flex-basis:100%; margin-top:5px; }

/* ==================================================================
   通話は LINE の無料通話  [2026-09-15]

   「電話で」を選んだのに電話番号を聞かれないと、不審に思われる。
   先に仕組みを見せて、納得のうえで送信してもらうための説明。
   ================================================================== */
.rd-call{ background:#f3fbf6; border-color:#bde9cf; }
.rd-call-h{
  display:flex; align-items:center; gap:9px; margin:0 0 12px;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:15.5px; line-height:1.6; color:#2c6b4a;
}
.rd-call-h svg{ flex:none; color:#06c755; }

.rd-call-steps{
  counter-reset:rdcall; list-style:none; margin:0 0 14px; padding:0;
  display:grid; gap:10px;
}
.rd-call-steps li{
  position:relative; padding:0 0 0 34px;
  font-size:13.5px; line-height:1.85; color:#3c6a53;
}
.rd-call-steps li::before{
  counter-increment:rdcall; content:counter(rdcall);
  position:absolute; left:0; top:1px;
  display:grid; place-items:center; width:23px; height:23px; border-radius:50%;
  background:#06c755; color:#fff; font-size:12.5px; font-weight:900; line-height:1;
}
.rd-call-steps b{
  display:block; font-weight:900; font-size:14.5px; line-height:1.6; color:#0e2e44;
  text-wrap:balance;
}

/* 読んだことの確認。押しやすいよう帯ごと当たり判定にする */
.rd-call-agree{
  display:flex; align-items:flex-start; gap:11px; margin:0 0 12px;
  padding:13px 15px; border-radius:12px; cursor:pointer;
  background:#fff; border:1.5px solid #bde9cf;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:14.5px; line-height:1.6; color:#0e2e44;
  transition:border-color .16s, background-color .16s;
}
.rd-call-agree:hover{ border-color:#06c755; }
.rd-call-agree input{ flex:none; width:21px; height:21px; margin:0; accent-color:#06c755; cursor:pointer; }
.rd-call-agree:has(input:checked){ background:#eefaf2; border-color:#06c755; color:#05ac49; }

.rd-call-alt{
  margin:0; padding-top:11px; border-top:1px dashed #bde9cf;
  font-size:12.5px; line-height:1.85; color:#4d6d82;
}
#post_lp .rd-call label.rd-err{ margin-top:0; }

/* 送信完了：通話を選んだ人には、友だち追加が必須であることを強く出す */
.rd-done-line.is-required{
  background:#eefaf2; border-width:2px; border-color:#06c755;
  box-shadow:0 12px 30px -18px rgba(6,199,85,.85);
}
.rd-done-line.is-required .rd-done-line-txt b{ color:#05ac49; }

@media only screen and (max-width:900px){
  .rd-call-h{ font-size:14.5px; }
  .rd-call-steps li{ padding-left:30px; font-size:13px; }
  .rd-call-steps li::before{ width:21px; height:21px; font-size:12px; }
  .rd-call-steps b{ font-size:14px; }
  .rd-call-agree{ font-size:13.5px; padding:12px 13px; }
}

/* ---- オンライン面談は Google Meet  [2026-09-15] ----
   「オンライン」とだけ書くと、何が送られてくるのか分からない。
   LINE通話（緑）と区別できるよう、こちらは青系にしている。 */
.rd-meet{ background:#f4fafd; border-color:#cfe6f3; }
.rd-meet-h{
  display:flex; align-items:center; gap:9px; margin:0 0 12px;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:15.5px; line-height:1.6; color:#0b5f8a;
}
.rd-meet-h svg{ flex:none; color:#1583b8; }
.rd-meet-points{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.rd-meet-points li{
  position:relative; padding:0 0 0 26px;
  font-size:13.5px; line-height:1.85; color:#4d6d82;
}
.rd-meet-points li::before{
  content:""; position:absolute; left:6px; top:9px;
  width:7px; height:7px; border-radius:50%; background:#1583b8;
}
.rd-meet-points b{
  display:block; font-weight:900; font-size:14.5px; line-height:1.6; color:#0e2e44;
  text-wrap:balance;
}
@media only screen and (max-width:900px){
  .rd-meet-h{ font-size:14.5px; }
  .rd-meet-points li{ padding-left:22px; font-size:13px; }
  .rd-meet-points li::before{ left:4px; }
  .rd-meet-points b{ font-size:14px; }
}

/* ==================================================================
   パソコンから見ている人のための、LINEのQR  [2026-09-15]

   LINE のボタンは、スマホなら LINE アプリが開いて完結する。
   パソコンだと LINE 側の QR ページに飛ぶだけで、結局スマホが要る。
   1ページはさむ意味がないので、QR をこちらの画面に置いた。
   画像は自社サーバーのもの。外部には読みに行かない。
   スマホ幅では丸ごと隠す（アプリが直接ひらくため）。
   ================================================================== */
.rd-lineqr{
  display:flex; align-items:flex-start; gap:16px;
  margin:14px 0 0; padding:14px 16px; border-radius:12px;
  background:#fff; border:1px solid #bde9cf;
}
.rd-lineqr img{
  flex:none; width:118px; height:118px; display:block; border-radius:8px;
}
.rd-lineqr-txt{ min-width:0; }
.rd-lineqr-txt b{
  display:block; margin-bottom:5px;
  font-family:"Zen Kaku Gothic New",sans-serif; font-weight:900;
  font-size:14px; line-height:1.6; color:#0e2e44;
}
.rd-lineqr-txt p{ margin:0 0 7px; font-size:13px; line-height:1.85; color:#4d6d82; }
.rd-lineqr-txt p:last-child{ margin-bottom:0; }
.rd-lineqr-alt{
  padding-top:7px; border-top:1px dashed #d7ecdf;
  font-size:12.5px !important; color:#86a0b0 !important;
}
.rd-lineqr-alt b{ display:inline !important; font-size:inherit !important; color:#05ac49 !important; }

/* LINEチャットを選んだときの箱 */
.rd-line-note{ background:#f3fbf6; border-color:#bde9cf; }
.rd-line-lead{ margin:0; font-size:13.5px; line-height:1.85; color:#3c6a53; }

/* 送信完了：ボタンとQRを縦に並べる */
.rd-done-line-act{ flex:none; display:flex; flex-direction:column; align-items:stretch; gap:12px; max-width:420px; }
.rd-done-line-act .rd-btn{ width:100%; }
.rd-lineqr-done{ margin:0; }

/* スマホではQRを出さない。アプリが直接ひらくので要らない */
@media only screen and (max-width:900px){
  .rd-lineqr{ display:none; }
  .rd-done-line-act{ max-width:none; }
}

/* Enter の既定になるだけの、見えない送信ボタン  [2026-09-15 不具合修正]
   これが無いと「選び直す」が既定になり、Enter で1ページ目へ戻ってしまう。
   目にも読み上げにも出さず、タブでも止まらない。 */
#post_lp .rd-default-submit{
  position:absolute !important; width:1px !important; height:1px !important;
  min-width:0 !important; padding:0 !important; margin:-1px !important;
  border:0 !important; background:none !important; box-shadow:none !important;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%);
  white-space:nowrap; pointer-events:none; opacity:0;
}

/* ---- 送信完了：LINEへの動線  [2026-09-15 作り直し] ----
   「友だち追加」だけだと、すでに追加済みの人が行き止まりになる。
   トークを直接ひらくボタンを主役にして、補助を下に小さく置く。 */
.rd-done-line-sub{
  margin:0; font-size:12.5px; line-height:1.85; color:#3c6a53;
}
.rd-done-line-sub2{ color:#05ac49; font-weight:700; }
.rd-done-line-add{
  margin:0; padding-top:9px; border-top:1px dashed #cfe6d9;
  font-size:12px; line-height:1.8; color:#86a0b0;
}
.rd-done-line-add a{ color:#05ac49; font-weight:700; }
.rd-done-line-add b{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-weight:700; color:#3c6a53; letter-spacing:.02em;
}
.rd-lineqr-txt p b{
  display:inline !important; font-size:inherit !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:#3c6a53 !important;
}

/* ==================================================================
   フォームからのお知らせ  [2026-09-15]
   もとは Bootstrap 前提の .alert をそのまま出していて、
   新デザインでは地の文と区別がつかなかった。
   ================================================================== */
.rd-notice{
  max-width:860px; margin:0 auto 20px; padding:18px 22px; border-radius:16px;
  font-family:"Zen Kaku Gothic New",sans-serif;
}
.rd-notice-h{
  margin:0; font-weight:900; font-size:16.5px; line-height:1.7;
}
.rd-notice-t{
  margin:7px 0 0; font-size:14.5px; line-height:1.9; font-weight:500;
}
.rd-notice.is-ok{
  background:#eefaf2; border:1.5px solid #8fdcb0; color:#2c6b4a;
}
.rd-notice.is-ok .rd-notice-h{ color:#05ac49; }
.rd-notice.is-warn{
  background:#fff8f0; border:1.5px solid #f0bd7e; color:#8a5a20;
}
.rd-notice.is-warn .rd-notice-h{ color:#a55c14; }

/* 旧デザインの .alert が出てきたときの受け皿（他フォーム用） */
#post_lp .alert{
  display:block; margin:0 0 16px; padding:14px 18px; border-radius:13px;
  font-size:14.5px; line-height:1.8; font-weight:700;
}
#post_lp .alert-danger{ background:#fdeceb; border:1.5px solid #e9b4af; color:#b3443c; }
#post_lp .alert-success{ background:#eefaf2; border:1.5px solid #8fdcb0; color:#2c6b4a; }
#post_lp .alert-info{ background:#eef7fc; border:1.5px solid #bcdcec; color:#0b5f8a; }

@media only screen and (max-width:900px){
  .rd-notice{ margin:0 0 16px; padding:15px 16px; border-radius:14px; }
  .rd-notice-h{ font-size:15.5px; }
  .rd-notice-t{ font-size:13.5px; }
}

/* トップの3問から回答を引き継いだときの注記  [2026-09-15] */
.rd-carried{
  margin:0 0 10px; padding:11px 14px; border-radius:11px;
  background:#eef7fc; border:1px solid #cfe6f3;
  font-size:13px; line-height:1.85; color:#4d6d82;
}
.rd-carried b{ display:block; font-weight:900; color:#0b5f8a; }

/* パソコンとスマホで出し分ける札  [2026-09-15]
   LINEのトークを本文つきで開けるのはスマホのアプリだけ。
   パソコンでは line.me/R/oaMessage/… がLINEの会社案内ページに飛ばされるため、
   ボタンを出さずQRに一本化する（デスクトップ版アプリを入れていても同じ）。 */
.rd-only-pc, .rd-only-pc-block{ display:none; }
.rd-only-sp{ display:inline; }
.rd-only-sp-block{ display:block; }
#post_lp .rd-only-sp-block,
.rd-done .rd-only-sp-block{ display:block; }
@media only screen and (min-width:901px){
  .rd-only-pc{ display:inline; }
  .rd-only-pc-block{ display:block; }
  .rd-only-sp, .rd-only-sp-block{ display:none !important; }
}
/* ボタンは inline-flex なので、表示するときはそれに戻す */
@media only screen and (max-width:900px){
  a.rd-btn.rd-only-sp-block{ display:inline-flex; }
}
.rd-done-line-sub b{
  display:block; font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:900; font-size:15px; color:#0e2e44; margin-bottom:3px;
}
