@charset "UTF-8";
/* =====================================================================
   注文・見積フォーム 統一デザイン（unified.css） v2
   方針: シンプル・上品・細フォント / 見積もりボタンは白・購入はオレンジ
   既存CSSの後に読み込み上書き。#questionnaire_cp 配下にスコープ。
   ===================================================================== */

:root{
  --o:#f5911e; --o-d:#dd7c10; --o-l:#fff6ec; --o-pale:#fffaf4;
  --ink:#5a4a38; --sub:#8a7763; --line:#eee2d2; --bg:#fdf9f4;
  --tx:#4a4138;     /* 見出し・価格などの文字色（濃いグレー） */
  --rad:12px;
}

/* ---- 全体 ---- */
#questionnaire_cp{
  background:var(--bg); color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  font-weight:400; letter-spacing:.02em; line-height:1.85;
}
#questionnaire_cp b,#questionnaire_cp strong{ font-weight:600; }
#questionnaire_cp .pagetitle,#questionnaire_cp .adm_rapp,#questionnaire_cp #wrapper{ float:none !important; }

/* 浮遊スクロール補助等を非表示（存在すれば） */
#questionnaire_cp #page-top,
#questionnaire_cp .scrollbtn,#questionnaire_cp #pagescroll,
#questionnaire_cp .updown,#questionnaire_cp .pageupdown{ display:none !important; }

/* ---- ページタイトル ---- */
#questionnaire_cp .pagetitle{ max-width:900px; margin:28px auto 0; padding:0 16px; }
#questionnaire_cp .pagetitle h2{
  font-size:20px; font-weight:600; color:var(--tx);
  text-align:center; line-height:1.6; margin:0; letter-spacing:.04em;
}

/* ---- メインカード ---- */
#questionnaire_cp .adm_rapp{
  max-width:900px; width:auto; margin:20px auto 64px; padding:30px 32px;
  background:#fff; border:1px solid var(--line); border-radius:16px;
  box-shadow:0 2px 16px rgba(170,140,100,.08); text-align:left; box-sizing:border-box;
}
#questionnaire_cp #wrapper{ width:auto !important; max-width:100% !important; margin:0 !important; padding:0 !important; }
#questionnaire_cp .adm_rapp > p,#questionnaire_cp .come{ text-align:center; }
#questionnaire_cp .adm_rapp > h2,#questionnaire_cp .order_lease h3{ text-align:center; color:var(--tx); font-weight:600; }

/* ============ 比較表（注文ホーム）をシンプルに ============ */
#questionnaire_cp .campaign-list__titlearea{
  background:none !important; color:var(--tx) !important;
  font-size:22px !important; font-weight:600 !important; text-align:center; margin:10px 0 18px !important;
}
#questionnaire_cp .campaign-list__titlearea img{ display:none; } /* BUY等の画像バッジは省略 */
#questionnaire_cp .tablearea table,
#questionnaire_cp .campaign-list table{
  border-collapse:separate; border-spacing:0; width:100%;
  border:1px solid var(--line); border-radius:14px; overflow:visible; background:#fff;
}
/* お得マーク（角の星バッジ画像）を見切れさせない */
#questionnaire_cp .image_off{ display:block; max-width:none; height:auto; position:relative; z-index:3; }
#questionnaire_cp .tablearea th,
#questionnaire_cp .campaign-list th{
  background:var(--o-l) !important; color:var(--tx) !important;
  font-weight:600 !important; font-size:14px; padding:14px 10px; border:none; border-bottom:1px solid var(--line);
  text-align:center; line-height:1.5; background-image:none !important;
}
#questionnaire_cp .tablearea td,
#questionnaire_cp .campaign-list td{
  background:#fff !important; color:var(--ink); padding:14px 12px; border:none;
  border-bottom:1px solid var(--line); font-size:13.5px; text-align:center; vertical-align:middle;
}
#questionnaire_cp .td-head{
  background:var(--o-pale) !important; color:var(--sub) !important;
  font-weight:600; font-size:12px; border-radius:0;
}
#questionnaire_cp td.al_left{ text-align:left; color:var(--sub); font-size:12.5px; }
#questionnaire_cp .price,#questionnaire_cp .cp_price{ font-size:18px; font-weight:700; color:var(--tx); }
#questionnaire_cp .komi_price{ color:var(--sub); font-size:12px; font-weight:400; }

/* ============ ボタン（見積もり=白 / 購入=オレンジ）============ */
#questionnaire_cp a.btn,
#questionnaire_cp .btn_area input,
#questionnaire_cp .submit input{
  display:inline-block; min-width:150px; text-align:center;
  font-size:15px; font-weight:600; letter-spacing:.04em; line-height:1.4;
  border-radius:999px; padding:11px 26px; margin:5px; cursor:pointer;
  text-decoration:none; border:1.5px solid var(--o); transition:.15s;
}
/* 見積もり = 白 */
#questionnaire_cp a.btn._mitumori{
  background:#fff; color:var(--o-d); border:1.5px solid var(--o);
}
#questionnaire_cp a.btn._mitumori:hover{ background:var(--o-l); }
/* 購入はこちら = オレンジ */
#questionnaire_cp a.btn._cart,
#questionnaire_cp .btn_area input[type="submit"],
#questionnaire_cp .submit input{
  background:var(--o); color:#fff; border:1.5px solid var(--o);
}
#questionnaire_cp a.btn._cart:hover,
#questionnaire_cp .submit input:hover{ background:var(--o-d); border-color:var(--o-d); }
#questionnaire_cp .submit input:disabled{ background:#ddd2c4; border-color:#ddd2c4; color:#fff; cursor:not-allowed; }
#questionnaire_cp .btn_back input,#questionnaire_cp a.btn_back{ background:#fff; color:var(--sub); border:1.5px solid var(--line); }

/* ============ ご注文手順（ステップ）============ */
#questionnaire_cp .order_lease article ul{
  display:flex !important; flex-wrap:wrap; gap:12px; justify-content:center;
  list-style:none; padding:0; margin:14px 0 0; background:none !important;
}
#questionnaire_cp .order_lease article ul li[class^="step1-"]{
  flex:1 1 170px; max-width:210px; min-height:0 !important;
  background:#fff !important; border:1px solid var(--line); border-radius:12px;
  padding:16px 14px !important; text-align:center; background-image:none !important; width:auto !important;
}
#questionnaire_cp .order_lease article ul li[class^="step1-"] h4{
  color:var(--tx); font-weight:600; margin:0 0 8px; font-size:14px;
}
#questionnaire_cp .order_lease article ul li[class^="step1-"] h4 strong{
  display:inline-block; background:var(--o); color:#fff; font-weight:600;
  border-radius:999px; padding:2px 14px; font-size:12px; margin-bottom:8px;
}
#questionnaire_cp .order_lease article ul li[class^="step1-"] p{ font-size:12px; line-height:1.7; color:var(--sub); margin:0; }

/* ============ フォーム（dl/dt/dd）============ */
#questionnaire_cp #form_title,#questionnaire_cp h3.form_h{
  background:none; border:none; border-left:4px solid var(--o);
  padding:4px 0 4px 12px; margin:26px 0 12px; font-size:16px; font-weight:600; color:var(--tx);
}
#questionnaire_cp dl{
  display:flex; flex-wrap:wrap; align-items:flex-start;
  border-bottom:1px solid var(--line); padding:14px 2px; margin:0;
}
#questionnaire_cp dt{ flex:0 0 200px; max-width:200px; font-weight:600; padding-top:7px; display:flex; align-items:center; gap:8px; }
#questionnaire_cp dd{ flex:1 1 320px; margin:0; }
#questionnaire_cp dt span{
  display:inline-block; font-size:10.5px; font-weight:600; color:#fff;
  background:#e7795a; border-radius:5px; padding:2px 8px; line-height:1.4;
}
#questionnaire_cp dt span.option,#questionnaire_cp dt span.nin{ background:#b7c4cd; }

#questionnaire_cp input[type="text"],#questionnaire_cp input[type="email"],
#questionnaire_cp input[type="tel"],#questionnaire_cp input[type="number"],
#questionnaire_cp textarea,#questionnaire_cp select{
  font-family:inherit; font-size:15px; font-weight:400; color:var(--ink); background:#fffdfa;
  border:1px solid var(--line); border-radius:10px; padding:10px 12px; box-sizing:border-box; max-width:100%;
  transition:.15s;
}
#questionnaire_cp input:focus,#questionnaire_cp textarea:focus,#questionnaire_cp select:focus{
  outline:none; border-color:var(--o); box-shadow:0 0 0 3px rgba(245,145,30,.12);
}
#questionnaire_cp .size_L{ width:100%; }
#questionnaire_cp .size_M{ width:60%; }
#questionnaire_cp .size_S{ width:160px; }
#questionnaire_cp .size_SS{ width:110px; }
#questionnaire_cp textarea{ width:100%; min-height:120px; }
#questionnaire_cp input[type="radio"],#questionnaire_cp input[type="checkbox"]{ accent-color:var(--o); transform:scale(1.1); margin-right:4px; }
/* =====================================================================
   v3 追記: 一括=オレンジ / リース=青ベース、縦幅コンパクト
   ===================================================================== */
:root{ --b:#3d9ad4; --b-d:#2b7fb5; --b-l:#eef6fc; }

/* ---- リース表を青ベースに ---- */
#questionnaire_cp .campaign-list._lease th{ background:var(--b-l) !important; }
#questionnaire_cp .campaign-list._lease th strong{ color:var(--b-d); }
#questionnaire_cp .campaign-list._lease th span{          /* 回払いピル */
  display:inline-block; background:var(--b); color:#fff; font-size:11px; font-weight:600;
  border-radius:999px; padding:2px 13px; margin-top:6px; vertical-align:middle;
}
#questionnaire_cp .campaign-list._lease .td-head{ background:#f3f9fd !important; }
#questionnaire_cp .campaign-list._lease .image_off{ filter:hue-rotate(175deg) saturate(1.15); } /* お得マークを青系に */
#questionnaire_cp .campaign-list._lease a.btn._cart{ background:var(--b); border-color:var(--b); }
#questionnaire_cp .campaign-list._lease a.btn._cart:hover{ background:var(--b-d); border-color:var(--b-d); }
#questionnaire_cp .campaign-list._lease a.btn._mitumori{ color:var(--b-d); border-color:var(--b); }
#questionnaire_cp .campaign-list._lease a.btn._mitumori:hover{ background:var(--b-l); }

/* ---- 縦幅をコンパクトに ---- */
#questionnaire_cp .tablearea th,#questionnaire_cp .campaign-list th{ padding:10px 8px; }
#questionnaire_cp .tablearea td,#questionnaire_cp .campaign-list td{ padding:8px 10px; line-height:1.45; }
#questionnaire_cp .campaign-list td.al_left{ line-height:1.6; }
#questionnaire_cp a.btn,#questionnaire_cp .btn_area input,#questionnaire_cp .submit input{ padding:9px 22px; margin:4px; }
#questionnaire_cp .order_lease article ul li[class^="step1-"]{ padding:12px 12px !important; }
#questionnaire_cp dl{ padding:10px 2px; }
#questionnaire_cp .adm_rapp{ padding:24px 26px; }
#questionnaire_cp .pagetitle{ margin-top:22px; }

/* =====================================================================
   v4 追記: フォーム細部の崩れ修正
   ===================================================================== */
/* dtを通常フローに（長いラベル・注記の1文字折返し防止） */
#questionnaire_cp dt{ display:block !important; }
#questionnaire_cp dt span{ vertical-align:middle; margin-right:6px; }
#questionnaire_cp dt font{ display:block; margin-top:5px; color:var(--sub); font-size:11px; font-weight:400; line-height:1.6; }

/* チェックボックス/ラジオ/画像submitはボタン装飾を解除 */
#questionnaire_cp .btn_area input[type="checkbox"],
#questionnaire_cp .btn_area input[type="radio"]{
  width:auto !important; min-width:0 !important; border:none !important; border-radius:0 !important;
  padding:0 !important; margin:0 6px 0 0 !important; background:none !important; box-shadow:none !important;
  accent-color:var(--o); transform:scale(1.25);
}
#questionnaire_cp .submit input[type="image"],
#questionnaire_cp .btn_area input[type="image"]{
  border:none !important; border-radius:0 !important; background:none !important;
  padding:0 !important; min-width:0 !important; box-shadow:none !important;
}

/* 同意・確認チェック項目を綺麗な箱に */
#questionnaire_cp ul.btn_area{ list-style:none; padding:0; text-align:center; }
#questionnaire_cp ul.btn_area li.check{ display:block; margin:10px 0; }
#questionnaire_cp ul.btn_area li.check label{
  display:inline-flex; align-items:center; gap:10px; text-align:left;
  background:var(--o-pale); border:1px solid var(--line); border-radius:10px;
  padding:12px 20px; max-width:560px; cursor:pointer; font-weight:500; line-height:1.6;
}
#questionnaire_cp ul.btn_area li.check label:hover{ border-color:var(--o); }
#questionnaire_cp ul.btn_area .submit{ margin-top:18px; }
#questionnaire_cp ul.btn_area small{ display:block; color:var(--sub); margin-top:6px; }

/* プライバシーポリシー アコーディオン */
#questionnaire_cp #pp_area{ background:none; padding:0; max-width:640px; margin:24px auto 0; }
#questionnaire_cp .slide_btn{
  background:var(--o-l) !important; color:var(--o-d) !important; cursor:pointer;
  border:none; border-left:4px solid var(--o); border-radius:8px;
  padding:12px 16px; margin:0; font-size:15px; font-weight:600;
}
#questionnaire_cp .slide_btn:before{ content:"\25BC"; font-size:10px; margin-right:8px; }
#questionnaire_cp .slide_box{
  background:#fff; border:1px solid var(--line); border-radius:0 0 8px 8px;
  padding:14px 16px; font-size:13px; line-height:1.85; color:var(--sub);
}

/* v5: 一括(buy)表のヘッダー帯を視認できるオレンジに（リースの青と対になるように） */
#questionnaire_cp .campaign-list._buy th{ background:#fde7cb !important; }
#questionnaire_cp .campaign-list._buy .td-head{ background:#fdf1e2 !important; }
/* リース側も少しだけ青を強めて対称に */
#questionnaire_cp .campaign-list._lease th{ background:#e3f0fb !important; }

/* v6: STEP統一（リースの step1/step2/step3/step4 も対象に）・画像なし */
#questionnaire_cp .order_lease article ul li[class^="step"]{
  flex:1 1 170px; max-width:210px; min-height:0 !important; width:auto !important;
  background:#fff !important; background-image:none !important;
  border:1px solid var(--line); border-radius:12px; padding:16px 14px !important;
  text-align:center; list-style:none;
}
#questionnaire_cp .order_lease article ul li[class^="step"] h4{
  color:var(--tx); font-weight:600; margin:0 0 8px; font-size:14px;
}
#questionnaire_cp .order_lease article ul li[class^="step"] h4 strong{
  display:inline-block; background:var(--o); color:#fff; font-weight:600;
  border-radius:999px; padding:2px 14px; font-size:12px; margin:0 6px 6px 0;
}
#questionnaire_cp .order_lease article ul li[class^="step"] p{
  font-size:12px; line-height:1.7; color:var(--sub); margin:0;
}

/* v7: 同意チェック箱・プライバシー見出しを全周しっかり枠線／右切れ防止／幅統一 */
#questionnaire_cp ul.btn_area{ box-sizing:border-box; padding:0 4px; }
#questionnaire_cp ul.btn_area li.check{ display:flex; justify-content:center; margin:10px 0; }
#questionnaire_cp ul.btn_area li.check label{
  display:flex; align-items:center; gap:10px; text-align:left;
  width:100%; max-width:560px; box-sizing:border-box;
  background:var(--o-pale); border:1.5px solid #e6d2b4; border-radius:10px;
  padding:12px 18px; cursor:pointer; font-weight:500; line-height:1.6;
}
#questionnaire_cp ul.btn_area li.check label:hover{ border-color:var(--o); }
/* プライバシーアコーディオンも全周線・幅を箱と統一 */
#questionnaire_cp #pp_area{ max-width:560px; margin:24px auto 0; box-sizing:border-box; }
#questionnaire_cp .slide_btn{
  box-sizing:border-box; border:1.5px solid #e6d2b4; border-left:4px solid var(--o);
  border-radius:10px;
}
#questionnaire_cp .slide_box{ box-sizing:border-box; border:1.5px solid #e6d2b4; border-top:none; border-radius:0 0 10px 10px; }

/* v8: 購入前のお問い合わせフォームをボタン型に */
#questionnaire_cp a.btn._contact{
  display:block; width:max-content; max-width:100%; margin:12px auto 4px;
  background:var(--o); color:#fff; border:1.5px solid var(--o); font-weight:600;
}
#questionnaire_cp a.btn._contact:hover{ background:var(--o-d); border-color:var(--o-d); }

/* v9: お問い合わせフォームボタンを小さく・左寄せに */
#questionnaire_cp a.btn._contact{
  display:inline-block; width:auto; min-width:0; margin:8px 0;
  padding:8px 18px; font-size:13px; border-radius:999px;
}

/* v10: お得マークを小さく＆ヘッダー行の上下余白を圧縮 */
#questionnaire_cp .image_off{ width:104px; height:auto; }
#questionnaire_cp .tablearea th,#questionnaire_cp .campaign-list th{ padding:8px 8px !important; }
#questionnaire_cp .campaign-list td.td-head,
#questionnaire_cp .campaign-list .td-head{ padding-top:6px !important; padding-bottom:6px !important; }

/* =====================================================================
   v11: 購入について(shop-info) FAQページのデザイン
   ===================================================================== */
#questionnaire_cp .shopinfo{ font-size:14px; color:var(--ink); }
/* 目次 */
#questionnaire_cp .shopinfo div[style*="f5f5f5"]{
  background:var(--o-pale) !important; border:1px solid var(--line) !important;
  border-radius:14px !important; padding:20px 26px !important; margin-bottom:34px !important;
}
#questionnaire_cp .shopinfo div[style*="f5f5f5"] h3{
  border:none !important; padding:0 !important; margin:0 0 12px !important;
  font-size:16px; font-weight:600; color:var(--o-d); text-align:center;
}
#questionnaire_cp .shopinfo ol{ list-style:none; counter-reset:toc; margin:0; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; }
#questionnaire_cp .shopinfo ol li{ counter-increment:toc; }
#questionnaire_cp .shopinfo ol li a{
  display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--tx);
  background:#fff; border:1px solid var(--line); border-radius:10px; padding:10px 14px; font-weight:500;
}
#questionnaire_cp .shopinfo ol li a:before{
  content:counter(toc); display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; background:var(--o); color:#fff; border-radius:999px; font-size:12px; font-weight:700; flex:none;
}
#questionnaire_cp .shopinfo ol li a:hover{ border-color:var(--o); background:var(--o-l); }
/* セクション見出し */
#questionnaire_cp .shopinfo h2{
  font-size:18px; font-weight:600; color:#fff; background:var(--o);
  padding:11px 18px; border-radius:10px; margin:40px 0 18px; text-align:left; line-height:1.5;
}
#questionnaire_cp .shopinfo h3{
  font-size:15.5px; font-weight:600; color:var(--tx);
  border-left:4px solid var(--o); padding-left:11px; margin:24px 0 10px;
}
#questionnaire_cp .shopinfo p{ line-height:1.95; margin:0 0 10px; }
#questionnaire_cp .shopinfo strong{ color:var(--o-d); }
/* 画像：STEPのfloat小画像と、大きな図版 */
#questionnaire_cp .shopinfo img{ border-radius:10px; }
#questionnaire_cp .shopinfo img[style*="float"]{ max-width:96px !important; margin:0 16px 8px 0 !important; }
#questionnaire_cp .shopinfo img:not([style*="float"]){ max-width:100% !important; height:auto; display:block; margin:14px auto; }
/* 目次に戻る */
#questionnaire_cp .shopinfo p[style*="right"]{ text-align:right !important; margin:6px 0 26px !important; border-bottom:1px dashed var(--line); padding-bottom:18px; }
#questionnaire_cp .shopinfo p[style*="right"] a{
  display:inline-block; font-size:12px; color:var(--sub); text-decoration:none;
  background:#fff; border:1px solid var(--line); border-radius:999px; padding:5px 14px;
}
#questionnaire_cp .shopinfo p[style*="right"] a:hover{ border-color:var(--o); color:var(--o-d); }
/* clearfix（float画像の回り込み解除） */
#questionnaire_cp .shopinfo h2,#questionnaire_cp .shopinfo h3{ clear:both; }
@media (max-width:768px){ #questionnaire_cp .shopinfo ol{ grid-template-columns:1fr; } }

/* v12: shop-info の機能リストを通常の縦リストに（flex誤適用を解除） */
#questionnaire_cp .shopinfo ul{ display:block !important; list-style:none; padding:0; margin:14px 0; }
#questionnaire_cp .shopinfo ul li{
  position:relative; padding:9px 0 9px 24px; border-bottom:1px solid var(--line);
  line-height:1.7; background:none !important; background-image:none !important;
  min-height:0 !important; flex:none !important; max-width:none !important; width:auto !important; border-radius:0 !important;
}
#questionnaire_cp .shopinfo ul li:before{
  content:""; position:absolute; left:6px; top:16px; width:7px; height:7px; border-radius:50%; background:var(--o);
}
#questionnaire_cp .shopinfo ul ul{ margin:8px 0 0 !important; }
#questionnaire_cp .shopinfo ul ul li{ border-bottom:none; padding:4px 0 4px 22px; font-size:13px; color:var(--sub); }
#questionnaire_cp .shopinfo ul ul li:before{ background:#fff; border:2px solid var(--o); width:6px; height:6px; top:11px; }

/* v13: shop-info リストのflexを確実に解除（詳細度を強化して上書き） */
#questionnaire_cp .order_lease article.shopinfo ul{
  display:block !important; flex-wrap:nowrap !important; gap:0 !important; justify-content:flex-start !important;
}
#questionnaire_cp .order_lease article.shopinfo ul li{
  display:list-item !important; flex:none !important; float:none !important;
  width:auto !important; max-width:none !important; min-height:0 !important;
  background:none !important; background-image:none !important; border-radius:0 !important;
}

/* v14: 「数量に反映させる」等の画像ボタン(p.btn img)を適正サイズに固定 */
#questionnaire_cp p.btn img,
#questionnaire_cp p.btn a img{ height:46px !important; width:auto !important; max-width:100%; vertical-align:middle; }
#questionnaire_cp p.btn{ text-align:center; margin:6px 0; }
#questionnaire_cp p.btn a{ display:inline-block; line-height:0; }
