@charset "UTF-8";
/*
 * mypage_v2 くるべさ専用：レスポンシブ・ユーザービリティ重視
 * 配色は赤茶 #b94646 をキープ、その他はゼロベースで見やすく
 * @HISTORY 2026-02-11 14:00 | - | INIT | ゼロベースデザイン、赤茶キープ、タップ48px・フォント16px以上
 * @HISTORY 2026-02-11 17:25 | #menu_navi | FIX | PCで重複・スマホで縦書き: common.cssのtable/table-cellを打ち消し、横書き明示・PCはflex折り返しで2列に
 * @HISTORY 2026-02-11 17:40 | スマホ表示 | ADD | 表示が小さい対策: site_frameにviewport追加、mypage_v2でフォント拡大・800px解除
 * @HISTORY 2026-02-11 18:00 | スマホ固定解除 | FIX | 上部バナー・下部フッター固定でレイアウト崩れするため767px以下でposition:staticに
 * @HISTORY 2026-02-11 18:25 | スマホはみ出し | FIX | .my_news(784px)と#all_info_wap(900px)を767px以下でwidth:100%・position:staticに
 * @HISTORY 2026-02-11 18:35 | ゼロベース統一 | FIX | .my_newsをV2カード風に（赤茶ライン・白背景・角丸）、#all_info_wapは非表示に
 * @HISTORY 2026-02-11 18:45 | #all_info_wap | BUGFIX | 非表示にすると確定ボタンが消えるため表示に戻し、V2風スタイル（カード・赤茶・.topbtn強調）で統一
 * @HISTORY 2026-02-11 18:55 | #all_info_wap | FIX | フッターデザイン全面見直し：警告を注意ボックスに、テーブル余白・罫線・お届け先折り返し、確定ボタンエリア区切り
 * @HISTORY 2026-02-11 19:05 | .waku | FIX | 小見出しがボタンに見えるため、ラベル風に変更（薄い赤茶背景・左ライン・黒文字・cursor:default・pointer-events:none）
 * @HISTORY 2026-02-11 19:15 | .header_logo | ADD | スマホでヘッダーはみ出し防止：800px→100%、タグライン非表示・ロゴ縮小・ボタン72px・ようこそはstaticで折り返し
 * @HISTORY 2026-02-11 19:25 | #all_info_wap サマリ | FIX | 横一列にこだわらず見やすく：全幅でwriting-mode横書き・スマホでgrid＋display:contentsで「見出し＋値」縦並びに
 * @HISTORY 2026-02-11 19:30 | #all_info_wap スマホ | FIX | 横一列のままになる不具合：th/tdにgrid-column 1と2を明示・thead/tbodyにdisplay:contents追加・!importantで上書き確実に
 * @HISTORY 2026-02-12 11:10 | .my_news | FIX | スマホで左にはみ出すため width 90% を 100% に戻し、左右margin:autoを追加して中央配置を安定化
 * @HISTORY 2026-02-12 11:15 | スマホ背景 | FIX | body の背景画像を白背景へ、#container と #footer_wrap の影背景を解除し固定幅を打ち消してモバイルでシンプル表示に
 * @HISTORY 2026-02-12 11:20 | #all_info_wap .right_block .topbtn | FIX | 「この内容で確定する」だけ見た目が異なるため、他ボタンと同じ赤茶・太字・48px高・余白・角丸に統一
 * @HISTORY 2026-02-12 11:30 | #kurubesa_pregnancy | ADD | 「隔月出荷に変更する」モーダルをV2準拠に調整（カード化・選択肢可読化・OK/キャンセル統一・スマホ縦積み）
 * @HISTORY 2026-02-12 11:40 | #calender_area | ADD | 「▶出荷日の変更」モーダルをV2準拠化（本文/選択肢/カレンダー/OKボタンを統一、スマホで余白縮小・ボタン全幅）
 * @HISTORY 2026-02-12 11:50 | #kurubesa_cycle | ADD | 「毎月出荷に変更する」モーダルをV2準拠化（旧submit見た目を赤茶ボタンへ統一、スマホ全幅化）
 * @HISTORY 2026-02-12 12:00 | #calender_area | BUGFIX | カレンダーはみ出しと選択枠の左寄り狭幅を修正：bloc.css旧指定(445px/48%float)を打ち消し、全幅表示へ
 * @HISTORY 2026-02-12 12:10 | #colorbox | BUGFIX | スマホでleft固定値によりモーダルが右寄りになるため、left:50%+translateX(-50%)で中央固定
 * @HISTORY 2026-02-12 12:20 | #calender_area/#colorbox | BUGFIX | カレンダーモーダル実装を強化：ul.cf/float干渉を解除、block_body横スクロール制御、cboxLoadedContentのoverflow/paddingを上書き
 * @HISTORY 2026-02-12 12:30 | #calender_area/#colorbox | FIX | スクロール過多を是正：横スクロール方針を撤回し、block_body/LoadedContentをoverflow-x:hiddenへ、table幅を強制100%で月表示を幅内に収める
 * @HISTORY 2026-02-12 12:50 | mypage_v2_modal共通化 | ADD | V2共通モーダル基盤の見た目を追加（overlay/中央配置/縦スクロール/closeボタン/モバイル最適化）
 * @HISTORY 2026-02-12 13:00 | #KurubesaOtherArr .kara | BUGFIX | 追加注文の「取り消し」ボタンが右にはみ出すため、削除列幅とボタン幅を固定してモバイルでも収まるよう調整
 * @HISTORY 2026-02-12 13:10 | #KurubesaOtherArr | REFACTOR | スマホで横一列が見にくいためカード型縦レイアウトへ変更（商品/数量/豆状態/価格をラベル付き表示、取り消しは右寄せ）
 * @HISTORY 2026-02-12 13:20 | #calender_area block_body | BUGFIX | カレンダー部分のみスクロール問題を修正。旧CSSのheight:215px/min-heightを打ち消し、モーダル全体スクロールへ統一
 * @HISTORY 2026-02-12 13:30 | #calender_area ul li | FIX | 出荷サイクル指定を行全体クリックで選択しやすくするため、クリック可能カーソルを追加
 * @HISTORY 2026-02-12 13:40 | #change_kurubesa | ADD | 「コースの変更」モーダルをV2準拠化。courseTableを可読化し、スマホでは行カード型レイアウトへ変換
 * @HISTORY 2026-02-12 13:50 | #add_other_product | ADD | 「追加注文/変更」モーダルをV2準拠化。入力表を整理し、スマホは項目ラベル付きカード行で操作性を改善
 * @HISTORY 2026-02-12 14:00 | 支払/領収書/配送モーダル | ADD | 3モーダルをV2準拠化。dl縦積み・入力幅統一・ラジオ選択領域拡大・OK/キャンセル操作性を改善
 * @HISTORY 2026-02-12 14:20 | #add_other_product | BUGFIX | 旧contents.cssのmin-width:975px/height:560pxが残り横はみ出しとスクロール不全が発生。V2側で打ち消し、モバイルは入力領域を明示的に縦スクロール化
 * @HISTORY 2026-02-12 14:35 | #add_other_product insertRow | FIX | 追加ボタンがグレーで見にくいためV2強調ボタン化。追加時通知と行ハイライトを追加し、動的追加行のラベル表示不備をtpl側class付与で解消。スマホは定番割の個別表示を非表示
 * @HISTORY 2026-02-12 14:45 | #add_other_product 単価表示 | FIX | 要望に合わせスマホの個別単価項目を非表示化。追加注文モーダルと下部一覧の価格セルを隠し、合計表示のみに統一
 * @HISTORY 2026-02-12 15:00 | #kurubesa_delivery_addr_modal | ADD | お届け先新規登録を別ページ遷移からモーダル完結へ変更。iframeモーダルをV2化し、スマホで縦スクロールしやすい高さに最適化
 * @HISTORY 2026-02-11 19:40 | body/#container 背景 | FIX | mypage_v2 全ページ共通で common.css の背景画像(bg.jpg/shadow.png)を常時無効化。PC/スマホ問わず白背景へ統一
 * @HISTORY 2026-02-11 19:50 | #footer_wrap 共通影背景 | FIX | mypage_v2 全ページで common.css の900px固定/80px固定/shadow背景を不使用にし、footer_wrap を全幅・高さ自動・背景なしへ統一
 * @HISTORY 2026-02-12 11:55 | V2共通背景色 | FIX | ユーザー指定に合わせ、mypage_v2 の共通背景色を #efe3d7 へ統一（body/#container/#footer_wrap）
 * @HISTORY 2026-02-12 12:00 | スマホ背景上書き | BUGFIX | 767px以下の既存メディアクエリで body/#container/#footer_wrap が白背景へ再上書きされていたため #efe3d7 に統一して反映漏れを解消
 * @HISTORY 2026-03-09 16:29 | #mycontents_area | ADD | 購入履歴・くるべさ履歴の中央を白背景に統一。印刷時も維持
 * @HISTORY 2026-03-16 18:30 | .kurubesa_defer_intro_modal | ADD | defer時初回案内モーダル用スタイル。オーバーレイ・中央カード・編集/キャンセルボタン
 */

/* 赤茶（既存キープ） */
:root {
  --kurubesa_v2_accent: #b94646;
  --kurubesa_v2_accent_dark: #9a3a3a;
  --kurubesa_v2_bg: #efe3d7;
  --kurubesa_v2_card: #fff;
  --kurubesa_v2_text: #333;
  --kurubesa_v2_text_weak: #666;
}

/* mypage_v2 全体で common.css 由来の背景画像を無効化 */
body {
  background: #efe3d7 !important;
  background-color: #efe3d7 !important;
  background-image: none !important;
}
#container {
  background: #efe3d7 !important;
  background-color: #efe3d7 !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
}
#footer_wrap {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  background: #efe3d7 !important;
  background-color: #efe3d7 !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
}
/* 購入履歴・くるべさ履歴：中央コンテンツを白背景に（印刷時も維持） */
#mycontents_area {
  background: #fff !important;
  background-color: #fff !important;
}
@media print {
  #mycontents_area {
    background: #fff !important;
    background-color: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* V2共通モーダル */
body.mypage_v2_modal_body_locked {
  overflow: hidden;
}
.mypage_v2_modal_root {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0, 0, 0, 0.48);
  padding: 16px;
  box-sizing: border-box;
}
.mypage_v2_modal_root.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
}
.mypage_v2_modal_shell {
  position: relative;
  width: min(94vw, 760px);
  max-height: 90vh;
  background: var(--kurubesa_v2_card);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
  overflow-y: auto;
  overflow-x: hidden;
}
.mypage_v2_modal_close_button {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 18px;
  background: #f2f2f2;
  color: #444;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.mypage_v2_modal_content {
  padding: 12px;
  box-sizing: border-box;
}
.mypage_v2_modal_panel {
  display: block !important;
}

.kurubesa_v2 {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 4%;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1.6;
  color: var(--kurubesa_v2_text);
  background: var(--kurubesa_v2_bg);
}

.kurubesa_v2 .title {
  font-size: 1.5rem;
  margin: 1rem 0 1.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 3px solid var(--kurubesa_v2_accent);
  color: var(--kurubesa_v2_text);
}

/* セクション見出し .waku → 見出しと分かるよう「ラベル」風に（ボタン風にしない） */
.kurubesa_v2 .waku,
.kurubesa_v2 .mypage_kurubesa04 div[style*="800px"],
.kurubesa_v2 .mypage_kurubesa04 div[style*="font-size: 18px"] {
  font-size: 1.0625rem !important;
  width: 100% !important;
  max-width: 100%;
  color: var(--kurubesa_v2_text) !important;
  background: rgba(185, 70, 70, 0.08) !important;
  border-left: 4px solid var(--kurubesa_v2_accent);
  font-weight: bold;
  padding: 12px 14px !important;
  margin: 0 0 1rem 0 !important;
  border-radius: 4px;
  box-sizing: border-box;
  box-shadow: none;
  cursor: default;
  pointer-events: none;
}

/* ページ内ナビ：common.css の table/table-cell を打ち消し、縦並び・横書き・重複なし */
.kurubesa_v2 #menu_navi {
  margin-bottom: 1.5rem;
}
.kurubesa_v2 #menu_navi .mynavi,
.kurubesa_v2 #menu_navi .mynavi2 {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  border: none;
  border-spacing: 0;
}
.kurubesa_v2 #menu_navi .mynavi2 {
  margin-bottom: 10px;
}
.kurubesa_v2 #menu_navi .mynavi2:last-child {
  margin-bottom: 0;
}
.kurubesa_v2 #menu_navi .mynavi00 {
  display: block;
  margin-bottom: 8px;
  width: 100%;
  height: auto;
  border: none;
  background: none;
  box-shadow: none;
  text-align: left;
}
.kurubesa_v2 #menu_navi .mynavi00:last-child {
  margin-bottom: 0;
}
.kurubesa_v2 #menu_navi .mynavi00 a {
  display: block;
  padding: 14px 16px;
  font-size: 1rem;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_accent);
  text-decoration: none;
  border-radius: 8px;
  border: 2px solid var(--kurubesa_v2_accent);
  box-sizing: border-box;
  min-height: 48px;
  line-height: 1.4;
  width: 100%;
  writing-mode: horizontal-tb;
  white-space: normal;
  text-align: center;
  vertical-align: middle;
  box-shadow: none;
}
.kurubesa_v2 #menu_navi .mynavi00 a:hover {
  background: var(--kurubesa_v2_accent);
  color: #fff;
}

/* ボタン：大きく・赤茶・タップしやすい */
.kurubesa_v2 .kurubesa_btn,
.kurubesa_v2 p.kurubesa_btn {
  margin: 1rem 0;
}
.kurubesa_v2 .kurubesa_btn a,
.kurubesa_v2 .kurubesa_btn span[id^="kurubesa_"],
.kurubesa_v2 .kurubesa_btn span[id^="jikai_erae"],
.kurubesa_v2 dl.right_block01 a,
.kurubesa_v2 dl.right_block01 span {
  display: inline-block;
  min-height: 48px;
  min-width: 200px;
  padding: 14px 24px;
  font-size: 1.0625rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
  text-decoration: none;
  border-radius: 8px;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  margin: 6px 8px 6px 0;
}
.kurubesa_v2 .kurubesa_btn a:hover,
.kurubesa_v2 dl.right_block01 a:hover {
  background: var(--kurubesa_v2_accent_dark);
  color: #fff;
}
.kurubesa_v2 .kurubesa_btn span[id^="kurubesa_rest_btn"],
.kurubesa_v2 .kurubesa_btn span[id^="kurubesa_only"],
.kurubesa_v2 .kurubesa_btn span[id^="kurubesa_rest_cancel"],
.kurubesa_v2 .kurubesa_btn span#jikai_erae {
  cursor: pointer;
}

/* セクションカード風 */
.kurubesa_v2 .mypage_kurubesa01,
.kurubesa_v2 .mypage_kurubesa02,
.kurubesa_v2 .mypage_kurubesa03,
.kurubesa_v2 .mypage_kurubesa04,
.kurubesa_v2 .mypage_kurubesa05,
.kurubesa_v2 .mypage_kurubesa06,
.kurubesa_v2 .mypage_kurubesa07 {
  background: var(--kurubesa_v2_card);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  box-sizing: border-box;
}

.kurubesa_v2 .mypage_kurubesa01 > p,
.kurubesa_v2 .mypage_kurubesa02 > p,
.kurubesa_v2 .left_block01 p {
  font-size: 1rem;
  margin: 0.5rem 0;
}
.kurubesa_v2 .left_block01 {
  margin-bottom: 1rem;
  max-width: 100%;
  box-sizing: border-box;
}
.kurubesa_v2 .left_block01 p,
.kurubesa_v2 .left_block01 p span {
  overflow-wrap: break-word;
  word-break: break-all;
}
.kurubesa_v2 .big {
  font-size: 1.0625rem;
  margin: 0.75rem 0;
}
.kurubesa_v2 .big span {
  color: var(--kurubesa_v2_accent);
  font-weight: bold;
}
.kurubesa_v2 .need,
.kurubesa_v2 .red {
  font-size: 0.9375rem;
  color: var(--kurubesa_v2_accent);
  margin: 0.5rem 0;
}

/* テーブル：読みやすく・レスポンシブ */
.kurubesa_v2 table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  margin: 0.75rem 0;
}
.kurubesa_v2 table th,
.kurubesa_v2 table td {
  padding: 12px 10px;
  border: 1px solid #e0e0e0;
  text-align: left;
  word-break: break-all;
  vertical-align: top;
}
.kurubesa_v2 table th {
  background: #f0f0f0;
  font-weight: bold;
  width: 28%;
  min-width: 90px;
}
.kurubesa_v2 h4 {
  font-size: 1rem;
  margin: 1rem 0 0.5rem;
  color: var(--kurubesa_v2_text);
}

/* 追加注文テーブルの削除ボタン（取り消し） */
.kurubesa_v2 #KurubesaOtherArr td:last-child {
  width: 84px;
  min-width: 84px;
  text-align: center !important;
}
.kurubesa_v2 #KurubesaOtherArr input.kara {
  width: 68px;
  min-width: 68px;
  padding: 8px 0;
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.2;
  box-sizing: border-box;
}

/* 特典表示（赤茶キープ） */
.kurubesa_v2 p#tokuten {
  font-size: 1.5rem !important;
  color: var(--kurubesa_v2_accent) !important;
  font-weight: bold;
  margin: 0.5rem 0;
}

/* 固定フッター：見やすく（#footer-fixed は #mypagecolumn 内） */
.kurubesa_v2 #footer-fixed {
  position: fixed;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: 0;
  z-index: 1000;
}
.kurubesa_v2 #footer-fixed #footer-bk {
  padding: 14px 16px;
  font-size: 0.9375rem;
  line-height: 1.5;
  min-height: auto;
  background: #DBA901;
}
.kurubesa_v2 #footer-fixed #footer2 {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  box-sizing: border-box;
}

/* フォーム要素：大きめ */
.kurubesa_v2 input[type="text"],
.kurubesa_v2 input[type="number"],
.kurubesa_v2 select,
.kurubesa_v2 textarea {
  font-size: 16px !important;
  padding: 10px 12px;
  min-height: 44px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 6px;
  max-width: 100%;
}
.kurubesa_v2 select {
  min-height: 44px;
}

/* 確定エリア用クリア */
.kurubesa_v2 .clear-element {
  width: 100%;
  height: 60px;
  max-width: 100%;
}

/* 共通レイアウトの2か所をV2ゼロベースに（当CSS読込＝くるべさV2ページのみ） */
#topcolumn .my_news {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  border: none !important;
  border-left: 4px solid var(--kurubesa_v2_accent);
  background: var(--kurubesa_v2_card);
  padding: 14px 16px !important;
  margin: 0 0 1rem 0 !important;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--kurubesa_v2_text);
}
/* フッターは確定ボタンを含むため非表示にしない。V2風にスタイルのみ統一・はみ出し防止 */
#all_info_wap {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  margin: 1.5rem 0 0;
  padding: 0;
  background: var(--kurubesa_v2_card);
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  border-left: 4px solid var(--kurubesa_v2_accent);
  overflow-x: hidden;
}
#all_info_wap #all_info {
  width: 100% !important;
  max-width: 100%;
  margin: 0 auto;
  padding: 16px;
  box-sizing: border-box;
}
/* common.css の 855px / 650px+200px を打ち消し、幅内に収める */
#all_info_wap #all_info .left_block,
#all_info_wap #all_info .right_block {
  width: 100% !important;
  max-width: 100% !important;
  float: none;
  box-sizing: border-box;
}
#all_info_wap #all_info > table {
  table-layout: fixed;
}
#all_info_wap #all_info > table th,
#all_info_wap #all_info > table td {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
#all_info_wap .topbtn {
  min-height: 48px;
  font-size: 1.0625rem;
  padding: 14px 20px;
  border-radius: 8px;
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
  border: none;
  box-sizing: border-box;
}
#all_info_wap .topbtn:hover,
#all_info_wap .topbtn:focus {
  background: var(--kurubesa_v2_accent_dark);
}

/* フッター内：警告文をV2の注意ボックスに（赤ベタ強調やめ） */
#all_info_wap #all_info div[style*="color: red"],
#all_info_wap #all_info > table > div {
  display: block;
  color: var(--kurubesa_v2_text) !important;
  font-weight: normal !important;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin: 0 0 1rem 0 !important;
  padding: 12px 14px;
  background: rgba(185, 70, 70, 0.08);
  border-left: 4px solid var(--kurubesa_v2_accent);
  border-radius: 6px;
  box-sizing: border-box;
}
#all_info_wap #all_info div[style*="color: red"] b,
#all_info_wap #all_info > table > div b {
  font-weight: 600;
  color: var(--kurubesa_v2_accent);
}

/* フッター内：サマリテーブルを読みやすく（横一列にこだわらない） */
#all_info_wap #all_info > table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1rem 0;
  font-size: 0.9375rem;
}
#all_info_wap #all_info > table th,
#all_info_wap #all_info > table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: top;
  writing-mode: horizontal-tb;
}
#all_info_wap #all_info > table th {
  background: var(--kurubesa_v2_bg);
  color: var(--kurubesa_v2_text_weak);
  font-weight: 600;
  width: auto;
  min-width: 0;
}
#all_info_wap #all_info > table td {
  color: var(--kurubesa_v2_text);
  overflow-wrap: break-word;
  word-break: break-all;
}
#all_info_wap #all_info #all_shipping {
  word-break: break-all;
  max-width: 200px;
  min-width: 100px;
}

/* 追加商品テーブル・確定ボタンエリア */
#all_info_wap .left_block {
  margin-bottom: 1rem;
}
#all_info_wap .left_block table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}
#all_info_wap .left_block th,
#all_info_wap .left_block td {
  padding: 8px 12px;
  border-bottom: 1px solid #eee;
}
#all_info_wap .left_block th {
  background: var(--kurubesa_v2_bg);
  color: var(--kurubesa_v2_text_weak);
  font-weight: 600;
}
#all_info_wap .right_block {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #eee;
}
#all_info_wap .right_block .topbtn {
  display: inline-block;
  width: 100%;
  max-width: 320px;
  min-height: 48px;
  padding: 14px 24px;
  font-size: 1.0625rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
  border-radius: 8px;
  border: none;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
  margin: 6px 0;
}
#all_info_wap .right_block .bottombtn {
  display: inline-block;
  margin-top: 10px;
  font-size: 0.9375rem;
  color: var(--kurubesa_v2_text_weak);
  cursor: pointer;
}

/* 隔月出荷モーダル（#kurubesa_pregnancy）：V2基準でカード化 */
#kurubesa_cycle {
  width: 100%;
  max-width: 680px;
  box-sizing: border-box;
  padding: 20px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#kurubesa_cycle p {
  margin: 0 0 16px 0 !important;
  line-height: 1.7;
}
#kurubesa_cycle input[type="submit"] {
  display: inline-block !important;
  min-height: 48px;
  min-width: 220px;
  padding: 12px 18px !important;
  border-radius: 8px !important;
  background: var(--kurubesa_v2_accent) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: bold;
  text-align: center;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
}
#kurubesa_cycle input[type="submit"]:hover {
  background: var(--kurubesa_v2_accent_dark) !important;
  color: #fff !important;
}

/* 隔月出荷モーダル（#kurubesa_pregnancy）：V2基準でカード化 */
#kurubesa_pregnancy {
  width: 100%;
  max-width: 680px;
  box-sizing: border-box;
  padding: 20px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#kurubesa_pregnancy p {
  margin: 0 0 14px 0 !important;
  line-height: 1.7;
}
#kurubesa_pregnancy ul {
  list-style: none;
  margin: 0 0 16px 0 !important;
  padding: 0;
}
#kurubesa_pregnancy ul li {
  margin: 0 0 10px 0;
  padding: 10px 12px;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  background: #fafafa;
}
#kurubesa_pregnancy ul li:last-child {
  margin-bottom: 0;
}
#kurubesa_pregnancy input[type="radio"] {
  margin-right: 8px;
  vertical-align: middle;
}
#kurubesa_pregnancy label {
  display: inline;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--kurubesa_v2_text);
}
#kurubesa_pregnancy .calenderBtn {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
#kurubesa_pregnancy .calenderBtn a {
  display: inline-block;
  min-height: 48px;
  min-width: 140px;
  padding: 12px 18px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
  font-size: 1rem;
  font-weight: bold;
  box-sizing: border-box;
}
#kurubesaPregnancySubmit {
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
}
#kurubesa_pregnancy .calenderBtn a:not(#kurubesaPregnancySubmit) {
  background: #f1f1f1;
  color: #555 !important;
  border: 1px solid #d8d8d8;
}

/* 出荷日変更モーダル（#calender_area）：V2基準で統一 */
#calender_area {
  width: 100%;
  max-width: 760px;
  box-sizing: border-box;
  padding: 18px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#calender_area .block_body_wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
  min-height: 0 !important;
  height: auto !important;
}
/* bloc.css の旧指定（445px固定 / li 48%float）を打ち消す */
#calender_area div.block_body {
  width: 100% !important;
  max-width: 100%;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
#calender_area .block_body_wrap ul li {
  width: 100% !important;
  float: none !important;
  margin-left: 0 !important;
}
#calender_area .block_body_wrap ul.cf {
  display: block;
  width: 100%;
}
#calender_area .waku {
  margin: 0 0 12px 0 !important;
}
#calender_area ul {
  list-style: none;
  margin: 0 0 12px 0;
  padding: 0;
}
#calender_area ul li {
  margin: 0 0 8px 0;
  padding: 10px 12px;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  background: #fafafa;
  line-height: 1.6;
  cursor: pointer;
}
#calender_area ul li:last-child {
  margin-bottom: 0;
}
#calender_area input[type="radio"] {
  margin-right: 8px;
}
#calender_area table {
  width: 100% !important;
  max-width: 100%;
  table-layout: fixed;
  margin: 10px 0 !important;
  float: none !important;
  border-collapse: collapse;
}
#calender_area div.block_body table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 10px 0 14px 0 !important;
}
#calender_area caption.month {
  text-align: left;
  font-weight: bold;
  margin-bottom: 8px;
  color: var(--kurubesa_v2_text);
}
#calender_area th,
#calender_area td {
  text-align: center !important;
  padding: 8px 4px !important;
}
#calender_area td.on {
  cursor: pointer;
  border-radius: 6px;
}
#calender_area .dispshipday {
  margin: 10px 0;
  line-height: 1.6;
}
#calender_area .dispshipday span {
  color: var(--kurubesa_v2_accent);
  font-weight: bold;
}
#calender_area .calenderBtn {
  margin-top: 14px;
}
#calender_area #calenderBtnsubmitsOnly,
#calender_area #calenderBtnsubmits {
  display: inline-block;
  min-height: 48px;
  min-width: 140px;
  padding: 12px 18px;
  border-radius: 8px;
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  border: none;
  box-sizing: border-box;
}
#calender_area #cboxClose2 {
  right: 0 !important;
  top: -18px !important;
}

/* コース変更モーダル（#change_kurubesa） */
#change_kurubesa {
  width: 100%;
  max-width: 760px;
  box-sizing: border-box;
  padding: 18px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#change_kurubesa > p {
  margin: 0 0 14px 0;
  line-height: 1.7;
}
#change_kurubesa select {
  min-height: 44px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
}
#change_kurubesa #kurubesa_type,
#change_kurubesa #kurubesa_beans {
  width: 100%;
  margin-bottom: 8px;
}
#change_kurubesa #courseTable {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0 0 0;
}
#change_kurubesa #courseTable th,
#change_kurubesa #courseTable td {
  border: 1px solid #e2e2e2;
  padding: 8px;
  vertical-align: top;
}
#change_kurubesa #courseTable th {
  width: 78px;
  background: #f7f7f7;
  text-align: center;
}
#change_kurubesa #courseTable td select {
  width: 100%;
}
#change_kurubesa .calenderBtn {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
#change_kurubesa .calenderBtn a {
  display: inline-block;
  min-height: 48px;
  min-width: 140px;
  padding: 12px 18px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
  font-size: 1rem;
  font-weight: bold;
  box-sizing: border-box;
}
#change_kurubesa #kurubesaCourseSubmit {
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
}
#change_kurubesa #kurubesaCourseCancelbtn {
  background: #f1f1f1;
  color: #555 !important;
  border: 1px solid #d8d8d8;
}

/* 追加注文モーダル（#add_other_product） */
#add_other_product {
  width: 100%;
  max-width: 860px;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  box-sizing: border-box;
  padding: 18px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#add_other_product #addOtherProductBox {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  max-height: none;
  overflow-y: visible;
  overflow-x: hidden;
}
#add_other_product #addOtherProduct {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0;
}
#add_other_product #addOtherProduct th,
#add_other_product #addOtherProduct td {
  border: 1px solid #e3e3e3;
  padding: 8px;
  vertical-align: top;
}
#add_other_product #addOtherProduct th {
  background: #f7f7f7;
  text-align: center;
  font-weight: bold;
}
#add_other_product #addOtherProduct td select {
  width: 100%;
  max-width: 100%;
  min-height: 42px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  padding: 6px 8px;
  background: #fff;
  box-sizing: border-box;
}
#add_other_product #insertRowBtn {
  margin: 10px 0 12px;
}
#add_other_product #insertRowBtn input[type="button"] {
  min-height: 48px;
  border-radius: 8px;
  border: 1px solid var(--kurubesa_v2_accent_dark);
  background: var(--kurubesa_v2_accent);
  color: #fff;
  font-weight: bold;
  font-size: 1rem;
  padding: 12px 14px;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}
#add_other_product #insertRowBtn input[type="button"]:hover {
  background: var(--kurubesa_v2_accent_dark);
}
#add_other_product #addOtherProductNotice {
  margin: 6px 0 10px;
  min-height: 1.3em;
  color: var(--kurubesa_v2_accent_dark);
  font-size: 0.875rem;
  opacity: 0;
  transition: opacity 0.15s ease;
}
#add_other_product #addOtherProductNotice.is_show {
  opacity: 1;
}
#add_other_product #addOtherProduct tr.add_other_product_row_added {
  animation: add_other_product_row_flash 1.2s ease;
}
@keyframes add_other_product_row_flash {
  0% { box-shadow: 0 0 0 2px rgba(185, 70, 70, 0.45) inset; }
  100% { box-shadow: 0 0 0 0 rgba(185, 70, 70, 0) inset; }
}
#add_other_product .otherProductItemTotal {
  background: #fafafa;
  border: 1px solid #e7e7e7;
  border-radius: 8px;
  padding: 10px 12px;
  margin: 10px 0 0;
}
#add_other_product .otherProductItemTotal dt {
  font-weight: bold;
  margin-bottom: 4px;
}
#add_other_product .otherProductItemTotal dd {
  margin: 0;
  line-height: 1.6;
}
#add_other_product .calenderBtn {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
#add_other_product .calenderBtn a {
  display: inline-block;
  min-height: 48px;
  min-width: 140px;
  padding: 12px 18px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
  font-size: 1rem;
  font-weight: bold;
  box-sizing: border-box;
}
#add_other_product #kurubesaSingleItemSubmit {
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
}
#add_other_product #kurubesaSingleItemCancelbtn {
  background: #f1f1f1;
  color: #555 !important;
  border: 1px solid #d8d8d8;
}

/* 支払方法モーダル（#add_payment_method） */
#add_payment_method {
  width: 100%;
  max-width: 680px;
  box-sizing: border-box;
  padding: 18px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#add_payment_method h3 {
  margin: 0 0 12px;
  font-size: 1.125rem;
}
#add_payment_method dl {
  margin: 0 0 10px;
}
#add_payment_method dt,
#add_payment_method dd {
  margin: 0;
}
#add_payment_method label {
  display: block;
  padding: 10px 12px;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  background: #fafafa;
  line-height: 1.6;
  cursor: pointer;
}
#add_payment_method input[type="radio"] {
  margin-right: 8px;
}
#add_payment_method dd a {
  display: inline-block;
  margin-top: 8px;
  color: var(--kurubesa_v2_accent);
  text-decoration: underline;
}
#add_payment_method .calenderBtn {
  margin-top: 14px;
}
#add_payment_method #kurubesaPaymentSubmit {
  display: inline-block;
  min-height: 48px;
  min-width: 140px;
  padding: 12px 18px;
  border-radius: 8px;
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

/* 領収書モーダル（#add_payment_receipt） */
#add_payment_receipt {
  width: 100%;
  max-width: 700px;
  box-sizing: border-box;
  padding: 18px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#add_payment_receipt dl {
  margin: 0 0 10px;
}
#add_payment_receipt dt {
  font-weight: bold;
  margin-bottom: 6px;
  color: #666;
}
#add_payment_receipt dd {
  margin: 0;
}
#add_payment_receipt input[type="text"] {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  padding: 8px 10px;
  box-sizing: border-box;
}
#add_payment_receipt #receipt_val {
  padding: 10px 12px;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  background: #fafafa;
  line-height: 1.8;
}
#add_payment_receipt #receipt_val label {
  margin-right: 14px;
  cursor: pointer;
}
#add_payment_receipt .calenderBtn {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
#add_payment_receipt .calenderBtn a {
  display: inline-block;
  min-height: 48px;
  min-width: 140px;
  padding: 12px 18px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
  font-size: 1rem;
  font-weight: bold;
  box-sizing: border-box;
}
#add_payment_receipt #kurubesaReceiptSubmit {
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
}
#add_payment_receipt #kurubesaReceiptCancelbtn {
  background: #f1f1f1;
  color: #555 !important;
  border: 1px solid #d8d8d8;
}

/* 配送業者モーダル（#kurubesa_delivery_company） */
#kurubesa_delivery_company {
  width: 100%;
  max-width: 700px;
  box-sizing: border-box;
  padding: 18px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#kurubesa_delivery_company dl {
  margin: 0 0 12px;
}
#kurubesa_delivery_company dt {
  font-weight: bold;
  margin-bottom: 6px;
  color: #666;
}
#kurubesa_delivery_company dd {
  margin: 0;
}
#kurubesa_delivery_company select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  box-sizing: border-box;
}
#kurubesa_delivery_company #delivery_box_err {
  margin-top: 6px;
  font-size: 0.9rem;
}
#kurubesa_delivery_company .calenderBtn {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
#kurubesa_delivery_company .calenderBtn a {
  display: inline-block;
  min-height: 48px;
  min-width: 140px;
  padding: 12px 18px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
  font-size: 1rem;
  font-weight: bold;
  box-sizing: border-box;
}
#kurubesa_delivery_company #kurubesaDeliverySubmit {
  background: var(--kurubesa_v2_accent);
  color: #fff !important;
}
#kurubesa_delivery_company #kurubesaDeliveryCancelbtn {
  background: #f1f1f1;
  color: #555 !important;
  border: 1px solid #d8d8d8;
}

/* お届け先新規登録モーダル（iframe） */
#kurubesa_delivery_addr_modal {
  width: 100%;
  max-width: 920px;
  box-sizing: border-box;
  padding: 18px !important;
  border-radius: 12px;
  background: var(--kurubesa_v2_card);
  color: var(--kurubesa_v2_text);
}
#kurubesa_delivery_addr_modal .kurubesa_delivery_addr_modal_note {
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid #ead7d7;
  border-radius: 8px;
  background: #fff8f8;
  color: #6a4f4f;
  line-height: 1.6;
  font-size: 0.9375rem;
}
#kurubesa_delivery_addr_modal .kurubesa_delivery_addr_iframe_wrap {
  border: 1px solid #e2e2e2;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
#kurubesa_delivery_addr_modal .kurubesa_delivery_addr_iframe {
  width: 100%;
  height: min(74dvh, 760px);
  border: none;
  display: block;
  background: #fff;
}
#kurubesa_delivery_addr_modal .calenderBtn {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}
#kurubesa_delivery_addr_modal #kurubesaDeliveryAddrClose {
  display: inline-block;
  min-height: 44px;
  min-width: 120px;
  padding: 10px 18px;
  border-radius: 8px;
  background: #f1f1f1;
  color: #555 !important;
  border: 1px solid #d8d8d8;
  text-decoration: none;
  text-align: center;
  box-sizing: border-box;
}

/* サイト共通フッター（Copyright）のはみ出し防止（当ページのみ） */
#footer_wrap {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}
#footer_wrap #footer {
  width: 100% !important;
  max-width: 100%;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}
#footer_wrap #copyright {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}

/* 768px以上：PCは横並び・折り返しで重複なし */
@media (min-width: 768px) {
  .kurubesa_v2 {
    max-width: 720px;
    padding: 0 24px;
  }
  .kurubesa_v2 #menu_navi .mynavi2 {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
  }
  .kurubesa_v2 #menu_navi .mynavi00 {
    display: block;
    width: auto;
    margin: 0;
    flex: 1 1 calc(50% - 6px);
    min-width: 180px;
    max-width: 100%;
  }
  .kurubesa_v2 #menu_navi .mynavi00 a {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .kurubesa_v2 table th {
    width: 22%;
  }
}

/* 1024px以上 */
@media (min-width: 1024px) {
  .kurubesa_v2 {
    max-width: 900px;
  }
}

/* スマホ：表示を大きく・固定解除でレイアウト崩れ防止 */
@media (max-width: 767px) {
  body {
    background: #efe3d7 !important;
    background-color: #efe3d7 !important;
    background-image: none !important;
  }
  #container {
    background: #efe3d7 !important;
    background-color: #efe3d7 !important;
    background-image: none !important;
  }
  #footer_wrap {
    width: 100% !important;
    max-width: 100% !important;
    background: #efe3d7 !important;
    background-color: #efe3d7 !important;
    background-image: none !important;
  }
  .kurubesa_v2 {
    font-size: 17px;
    padding: 0 5%;
  }
  .kurubesa_v2 .title {
    font-size: 1.35rem;
  }
  .kurubesa_v2 .waku,
  .kurubesa_v2 .mypage_kurubesa04 div[style*="800px"],
  .kurubesa_v2 .mypage_kurubesa04 div[style*="font-size: 18px"] {
    font-size: 1rem !important;
    padding: 12px 14px !important;
  }
  .kurubesa_v2 #menu_navi .mynavi00 a {
    padding: 16px 14px;
    font-size: 1.0625rem;
  }
  .kurubesa_v2 .clear-element {
    width: 100%;
    max-width: 100%;
  }
  /* left_block01 / right_block01：common.css の 600px/200px 固定ではみ出すため解除 */
  .kurubesa_v2 .left_block01,
  .kurubesa_v2 .right_block01 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    box-sizing: border-box;
  }
  .kurubesa_v2 .left_block01 {
    line-height: 1.8;
  }
  /* 上部バナー・下部フッターの固定を解除（スマホでレイアウト崩れ防止） */
  #kurubesa_v2_banner {
    position: static !important;
    margin-bottom: 0;
  }
  .kurubesa_v2 #footer-fixed {
    position: static !important;
    bottom: auto;
    left: auto;
    right: auto;
    width: 100%;
  }
  /* 固定解除後はスペーサー不要なので縮小（tplの height:52px の代わり） */
  .kurubesa_v2 div[style*="height:52px"] {
    height: 0 !important;
    min-height: 0 !important;
  }
  /* 共通レイアウトのパンくず・お知らせ・my_news の固定幅を解除（当CSS読込ページのみ） */
  #topcolumn p[style*="800px"],
  #topcolumn .my_news,
  #topcolumn .my_news[style*="800px"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }
  /* ヘッダー .header_logo：スマホではみ出さないよう簡素に（800px→100%、タグライン非表示・ボタン縮小） */
  .header_logo {
    width: 100% !important;
    max-width: 100%;
    padding: 10px 5%;
    box-sizing: border-box;
  }
  .header_logo #rogo_wrapper {
    max-width: 100%;
  }
  .header_logo #rogo_wrapper p {
    display: none;
  }
  .header_logo #rogo_wrapper img {
    max-width: 160px;
    height: auto;
  }
  .header_logo > div {
    clear: both;
    margin-top: 8px;
  }
  .header_logo .header_mypage,
  .header_logo .header_guid,
  .header_logo .header_cefe {
    display: inline-block;
    float: none !important;
    margin-right: 8px;
    margin-bottom: 4px;
  }
  .header_logo .header_cefe {
    margin-right: 0;
  }
  .header_logo .header_mypage img,
  .header_logo .header_guid img,
  .header_logo .header_cefe img {
    max-width: 72px;
    height: auto;
  }
  .header_logo p.header_name {
    position: static !important;
    margin: 8px 0 0 0;
    font-size: 0.9375rem;
    word-break: break-all;
  }
  /* フッター #all_info_wap：900px/855px 固定幅・fixed ではみ出すため解除 */
  #all_info_wap {
    width: 100% !important;
    max-width: 100% !important;
    position: static !important;
    left: auto !important;
    bottom: auto !important;
    box-sizing: border-box;
  }
  #all_info_wap #all_info {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
  /* スマホ：サマリテーブルを横一列にせず「見出し＋値」の縦並びで見やすく */
  #all_info_wap #all_info > table {
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-auto-rows: auto;
    gap: 0;
    margin: 0 0 1rem 0;
    width: 100%;
    border-collapse: unset;
  }
  #all_info_wap #all_info > table > div {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  #all_info_wap #all_info > table tbody,
  #all_info_wap #all_info > table thead,
  #all_info_wap #all_info > table tr {
    display: contents !important;
  }
  #all_info_wap #all_info > table th:nth-child(1) { grid-column: 1; grid-row: 2; }
  #all_info_wap #all_info > table td:nth-child(1) { grid-column: 2; grid-row: 2; }
  #all_info_wap #all_info > table th:nth-child(2) { grid-column: 1; grid-row: 3; }
  #all_info_wap #all_info > table td:nth-child(2) { grid-column: 2; grid-row: 3; }
  #all_info_wap #all_info > table th:nth-child(3) { grid-column: 1; grid-row: 4; }
  #all_info_wap #all_info > table td:nth-child(3) { grid-column: 2; grid-row: 4; }
  #all_info_wap #all_info > table th:nth-child(4) { grid-column: 1; grid-row: 5; }
  #all_info_wap #all_info > table td:nth-child(4) { grid-column: 2; grid-row: 5; }
  #all_info_wap #all_info > table th:nth-child(5) { grid-column: 1; grid-row: 6; }
  #all_info_wap #all_info > table td:nth-child(5) { grid-column: 2; grid-row: 6; }
  #all_info_wap #all_info > table th:nth-child(6) { grid-column: 1; grid-row: 7; }
  #all_info_wap #all_info > table td:nth-child(6) { grid-column: 2; grid-row: 7; }
  #all_info_wap #all_info > table th:nth-child(7) { grid-column: 1; grid-row: 8; }
  #all_info_wap #all_info > table td:nth-child(7) { grid-column: 2; grid-row: 8; }
  #all_info_wap #all_info > table th:nth-child(8) { grid-column: 1; grid-row: 9; }
  #all_info_wap #all_info > table td:nth-child(8) { grid-column: 2; grid-row: 9; }
  #all_info_wap #all_info > table th {
    padding: 8px 12px 8px 0 !important;
    background: none !important;
    color: var(--kurubesa_v2_text_weak);
    border-bottom: 1px solid #eee;
    width: auto !important;
    min-width: 0 !important;
  }
  #all_info_wap #all_info > table td {
    padding: 8px 0 8px 0 !important;
    border-bottom: 1px solid #eee;
    min-width: 0;
    word-break: break-all;
  }
  #all_info_wap #all_info #all_shipping {
    max-width: none !important;
    min-width: 0 !important;
  }
  #kurubesa_pregnancy {
    max-width: 94vw;
    padding: 16px !important;
    border-radius: 10px;
  }
  #kurubesa_cycle {
    max-width: 94vw;
    padding: 16px !important;
    border-radius: 10px;
  }
  #kurubesa_cycle input[type="submit"] {
    width: 100%;
    min-width: 0;
  }
  #kurubesa_pregnancy .calenderBtn {
    flex-direction: column;
    gap: 8px;
  }
  #kurubesa_pregnancy .calenderBtn a {
    width: 100%;
    min-width: 0;
  }
  #calender_area {
    max-width: 83vw;
    padding: 14px !important;
    border-radius: 10px;
  }
  #calender_area ul li {
    padding: 10px;
  }
  #calender_area th,
  #calender_area td {
    font-size: 0.875rem;
    padding: 7px 2px !important;
  }
  #calender_area #calenderBtnsubmitsOnly,
  #calender_area #calenderBtnsubmits {
    width: 100%;
    min-width: 0;
  }
  /* Colorbox: left固定値(例:30px)で右寄りになるため中央固定 */
  #colorbox {
    left: 50% !important;
    transform: translateX(-50%);
    width: 94vw !important;
    max-width: 94vw !important;
  }
  #cboxWrapper,
  #cboxContent,
  #cboxLoadedContent {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  #cboxLoadedContent {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 !important;
  }
  #calender_area .block_body {
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  #calender_area .block_body .cf {
    width: 100% !important;
    min-width: 0;
    overflow: visible !important;
  }
  #calender_area table {
    min-width: 0;
  }

  /* コース変更モーダル：スマホはカード型で読みやすく */
  #change_kurubesa {
    max-width: 94vw;
    padding: 14px !important;
    border-radius: 10px;
  }
  #change_kurubesa > p {
    margin-bottom: 10px;
  }
  #change_kurubesa #courseTable,
  #change_kurubesa #courseTable tbody,
  #change_kurubesa #courseTable tr {
    display: block;
    width: 100%;
  }
  #change_kurubesa #courseTable tr {
    border: 1px solid #e3e3e3;
    border-radius: 8px;
    background: #fff;
    margin-bottom: 10px;
    padding: 8px;
    box-sizing: border-box;
  }
  #change_kurubesa #courseTable th,
  #change_kurubesa #courseTable td {
    display: block;
    width: 100%;
    border: none;
    padding: 6px 0;
    text-align: left;
  }
  #change_kurubesa #courseTable th {
    border-bottom: 1px solid #eee;
    margin-bottom: 6px;
    background: transparent;
    font-size: 0.95rem;
  }
  #change_kurubesa #courseTable td select {
    width: 100%;
  }
  #change_kurubesa .calenderBtn {
    flex-direction: column;
    gap: 8px;
  }
  #change_kurubesa .calenderBtn a {
    width: 100%;
    min-width: 0;
  }

  /* 追加注文モーダル：スマホは入力行をカード化 */
  #add_other_product {
    max-width: 94vw;
    padding: 14px !important;
    border-radius: 10px;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  #add_other_product #addOtherProductBox {
    max-height: calc(100dvh - 260px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }
  #add_other_product #addOtherProduct thead {
    display: none;
  }
  #add_other_product #addOtherProduct,
  #add_other_product #addOtherProduct tbody,
  #add_other_product #addOtherProduct tr,
  #add_other_product #addOtherProduct td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  #add_other_product #addOtherProduct tr.other_tr {
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    background: #fff;
    margin-bottom: 10px;
    padding: 10px;
  }
  #add_other_product #addOtherProduct tr.other_tr td {
    border: none;
    padding: 6px 0;
    margin: 0;
  }
  #add_other_product #addOtherProduct tr.other_tr td.product::before {
    content: "商品";
    display: block;
    font-size: 0.8125rem;
    color: #666;
    margin-bottom: 4px;
  }
  #add_other_product #addOtherProduct tr.other_tr td.beans::before {
    content: "豆の状態等";
    display: block;
    font-size: 0.8125rem;
    color: #666;
    margin-bottom: 4px;
  }
  #add_other_product #addOtherProduct tr.other_tr td.price::before {
    content: "単価";
    display: block;
    font-size: 0.8125rem;
    color: #666;
    margin-bottom: 4px;
  }
  #add_other_product #addOtherProduct tr.other_tr td.quantity::before {
    content: "数量";
    display: block;
    font-size: 0.8125rem;
    color: #666;
    margin-bottom: 4px;
  }
  #add_other_product #addOtherProduct tr.other_tr td:last-child {
    text-align: right;
    padding-top: 8px;
  }
  #add_other_product #addOtherProduct td select {
    width: 100%;
    max-width: 100%;
  }
  #add_other_product #addOtherProduct tr.other_tr td.price {
    display: none;
  }
  #add_other_product .other_productUnitPrice {
    display: none !important;
  }
  #add_other_product #insertRowBtn input[type="button"] {
    width: 100%;
  }
  #add_other_product .otherProductItemTotal dt,
  #add_other_product .otherProductItemTotal dd {
    display: block;
    width: 100%;
  }
  #add_other_product .calenderBtn {
    flex-direction: column;
    gap: 8px;
  }
  #add_other_product .calenderBtn a {
    width: 100%;
    min-width: 0;
  }

  /* 支払/領収書/配送モーダル：スマホ縦積み */
  #add_payment_method,
  #add_payment_receipt,
  #kurubesa_delivery_company,
  #kurubesa_delivery_addr_modal {
    max-width: 94vw;
    padding: 14px !important;
    border-radius: 10px;
  }
  #kurubesa_delivery_addr_modal .kurubesa_delivery_addr_iframe {
    height: calc(100dvh - 220px);
    min-height: 420px;
  }
  #kurubesa_delivery_addr_modal .calenderBtn {
    justify-content: stretch;
  }
  #kurubesa_delivery_addr_modal #kurubesaDeliveryAddrClose {
    width: 100%;
    min-width: 0;
  }
  #add_payment_method .calenderBtn,
  #add_payment_receipt .calenderBtn,
  #kurubesa_delivery_company .calenderBtn {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  #add_payment_method .calenderBtn a,
  #add_payment_receipt .calenderBtn a,
  #kurubesa_delivery_company .calenderBtn a {
    width: 100%;
    min-width: 0;
  }
  #add_payment_receipt #receipt_val label {
    display: inline-block;
    margin: 0 10px 4px 0;
  }

  /* 追加注文テーブル：スマホは横一列をやめてカード型に */
  .kurubesa_v2 #KurubesaOtherArr,
  .kurubesa_v2 #KurubesaOtherArr tbody,
  .kurubesa_v2 #KurubesaOtherArr tr {
    display: block;
    width: 100%;
  }
  .kurubesa_v2 #KurubesaOtherArr tr {
    border: 1px solid #e2e2e2;
    border-radius: 8px;
    background: #fff;
    margin-bottom: 10px;
    padding: 10px;
    box-sizing: border-box;
  }
  .kurubesa_v2 #KurubesaOtherArr th.goods {
    display: block;
    width: 100%;
    border: none;
    padding: 0 0 8px 0;
    margin: 0 0 8px 0;
    border-bottom: 1px solid #eee;
    background: transparent;
    font-size: 0.95rem;
    text-align: left;
  }
  .kurubesa_v2 #KurubesaOtherArr td {
    display: block;
    width: 100%;
    border: none;
    padding: 6px 0;
    margin: 0;
    text-align: left;
    word-break: break-all;
  }
  .kurubesa_v2 #KurubesaOtherArr td:nth-child(2)::before {
    content: "商品: ";
    font-weight: bold;
    color: #666;
  }
  .kurubesa_v2 #KurubesaOtherArr td:nth-child(3)::before {
    content: "数量: ";
    font-weight: bold;
    color: #666;
  }
  .kurubesa_v2 #KurubesaOtherArr td:nth-child(4)::before {
    content: "豆の状態: ";
    font-weight: bold;
    color: #666;
  }
  .kurubesa_v2 #KurubesaOtherArr td:nth-child(5)::before {
    content: "価格: ";
    font-weight: bold;
    color: #666;
  }
  .kurubesa_v2 #KurubesaOtherArr td:nth-child(5) {
    display: none;
  }
  .kurubesa_v2 #KurubesaOtherArr td.red {
    font-size: 0;
    color: inherit !important;
  }
  .kurubesa_v2 #KurubesaOtherArr td.red strike {
    font-size: 0.95rem;
    color: inherit;
  }
  .kurubesa_v2 #KurubesaOtherArr td:last-child {
    width: 100% !important;
    min-width: 0 !important;
    text-align: right !important;
    padding-top: 8px;
  }
  .kurubesa_v2 #KurubesaOtherArr input.kara {
    width: 84px;
    min-width: 84px;
  }
}

/*★2026-03-16 追加★ defer時初回案内モーダル */
.kurubesa_defer_intro_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.kurubesa_defer_intro_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 0;
}
.kurubesa_defer_intro_content {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  max-width: 480px;
  width: 100%;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}
.kurubesa_defer_intro_title {
  margin: 0 0 16px 0;
  font-size: 18px;
  color: var(--kurubesa_v2_accent, #b94646);
  font-weight: bold;
  border-bottom: 2px solid var(--kurubesa_v2_accent, #b94646);
  padding-bottom: 8px;
}
.kurubesa_defer_intro_body {
  margin-bottom: 20px;
}
.kurubesa_defer_intro_greeting {
  margin: 0 0 12px 0;
  font-size: 16px;
  font-weight: bold;
}
.kurubesa_defer_intro_main {
  margin: 0 0 12px 0;
  font-size: 14px;
  line-height: 1.6;
}
.kurubesa_defer_intro_examples {
  margin: 12px 0 8px 0;
  font-size: 14px;
  font-weight: bold;
  color: var(--kurubesa_v2_text, #333);
}
.kurubesa_defer_intro_checklist {
  margin: 0 0 16px 0;
  padding: 0 0 0 1.2em;
  font-size: 14px;
  line-height: 1.8;
  color: var(--kurubesa_v2_text, #333);
}
.kurubesa_defer_intro_checklist li {
  list-style: none;
  position: relative;
  left: -1.2em;
}
.kurubesa_defer_intro_scroll_link {
  color: var(--kurubesa_v2_accent, #b94646);
  text-decoration: none;
  cursor: pointer;
  border-bottom: 1px dotted currentColor;
}
.kurubesa_defer_intro_scroll_link:hover {
  text-decoration: underline;
  border-bottom-style: solid;
}
.kurubesa_defer_intro_cta {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: bold;
  color: var(--kurubesa_v2_accent, #b94646);
}
.kurubesa_defer_intro_note {
  margin: 0;
  font-size: 13px;
  color: #666;
  line-height: 1.5;
}
.kurubesa_defer_intro_buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.kurubesa_defer_intro_btn {
  display: block;
  width: 100%;
  padding: 14px 20px;
  font-size: 16px;
  font-weight: bold;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-align: center;
}
.kurubesa_defer_intro_btn_primary {
  background: var(--kurubesa_v2_accent, #b94646);
  color: #fff;
}
.kurubesa_defer_intro_btn_secondary {
  background: #e0e0e0;
  color: #333;
}

