@charset "utf-8";
/* ZEAMI Sticker モバイル対応 (2026/07/02 Vince) : 固定980pxレイアウトをスマホで流動化。
   既存のPC表示(769px以上)は一切変更しない。まずコラム/LP/商品ページ等コンテンツ中心。 */

/* モバイルメニュー(ハンバーガー)は全幅で常時非表示、モバイル時のみ表示。チェックボックスは不可視で保持 */
.vince-mnav-btn, .vince-mnav { display: none; }
.vince-mnav-toggle { position: absolute; opacity: 0; width: 0; height: 0; overflow: hidden; }

@media screen and (max-width: 768px) {

  html { -webkit-text-size-adjust: 100%; }
  body { overflow-x: hidden !important; min-width: 0 !important; }

  /* --- 主要コンテナを流動化(固定980px/570px等を解除) --- */
  #header, #navi ul, #page_title .wrap, #content,
  #head_line .inner, #head_container,
  #topics .wrap, #main_image .wrap, #product_lineup .wrap,
  #simulation .wrap, #choose_plan .wrap, #campain .wrap,
  #processing_option .wrap, #packing_option .wrap, #mailing_cost .wrap,
  #full_order > .wrap, #full_order_wrapper > .wrap,
  #footer .wrap, #footer #copyright .wrap {
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
  }
  #page_title .wrap .note, #page_title .wrap .note2 { width: auto !important; max-width: 100% !important; }

  /* --- 本文(コラム/LP/商品ページ) --- */
  #content { padding: 0 14px !important; font-size: 15px !important; line-height: 1.85 !important; }
  #content .page_main_title, .page_main_title {
    width: auto !important; max-width: 100% !important; font-size: 1.3em !important; line-height: 1.4 !important;
  }
  #content h2, #content h3 { line-height: 1.4 !important; }
  #content li { font-size: 15px !important; }
  #content img, img { max-width: 100% !important; height: auto !important; }
  /* --- 価格表など: セクションを流動化し「ページ全体」の横溢れを防ぐ。
         列数が多い表(最大14列)は物理的に全表示不可 → 表ボックス内だけで横スクロール(ページは固定) --- */
  .cost_box, .cost_sec, .table_box, .half_table, .price, .sub_price, .cost_ttl, .table_wrap {
    width: auto !important; max-width: 100% !important; float: none !important; box-sizing: border-box;
  }
  /* 各表を自己完結のスクロールボックス化(=ページは横に溢れない) */
  #content table { display: block !important; width: 100% !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; font-size: 12px !important; }
  #content table th, #content table td { padding: 6px 8px !important; }
  /* 横スクロールが要る表"だけ"にヒント＋右端フェード。実際にはみ出す.table_boxにJS(footer.php)が
     .is-scrollableを付与→収まる表(card/iphoneの1つ目等)には出さない=全ページ統一の挙動 */
  .table_box { position: relative !important; }
  .table_box.is-scrollable::after {
    content: "指で左右にスクロールできます →"; display: block;
    font-size: 11px; color: #8a7fa0; padding: 4px 2px 0; text-align: right;
  }
  /* 右端の薄い影=「まだ右に列がある」ことのアフォーダンス(表本体の上に重ねる) */
  .table_box > table { position: relative; z-index: 1; }
  .table_box.is-scrollable::before {
    content: ""; position: absolute; top: 0; right: 0; width: 22px; z-index: 2; pointer-events: none;
    height: calc(100% - 18px);
    background: linear-gradient(to right, rgba(120,72,124,0), rgba(120,72,124,0.14));
  }

  /* --- グローバルナビ(画像タブ)はモバイルで非表示 → ハンバーガーメニューに置換 --- */
  #navi { display: none !important; }

  /* --- 上部ユーティリティ帯(#head_line): 「ZEAMI Entertainment」のみ表示してスッキリ --- */
  #head_line { height: auto !important; padding: 4px 0 !important; text-align: center !important; }
  #head_line .inner {
    width: auto !important; height: auto !important; position: static !important; text-align: center !important;
  }
  #head_line .zeami_ent {
    position: static !important; float: none !important; display: inline-block !important;
    margin: 0 auto !important; text-align: center !important;
  }
  /* 「缶バッジ制作」「ステッカー制作」およびSNSアイコンは不要 → 非表示 */
  #head_line .sub_link, #head_line .twitter, #head_line .facebook { display: none !important; }
  /* Facebook/Twitter(X)のSDKウィジェット(X Post/青丸/コピーライト重なり)も非表示 */
  #fb-root, .fb_iframe_widget, .fb-like, .fb-page, .fb-share-button, [class^="fb_"], [class^="fb-"],
  .twitter-share-button, .twitter-tweet, .twitter-timeline,
  iframe[title*="fb"], iframe[id^="fb"], iframe[id*="twitter"], iframe[src*="twitter"],
  iframe[src*="facebook"], iframe[src*="platform.twitter"] { display: none !important; }
  /* 忍者おまとめボタン等のSNS共有ウィジェット(青丸f/t・X Post・重なりコピーライト)も非表示 */
  .social, .ninja_onebutton, [class^="ninja_"], [class*=" ninja_"], [id^="NINJA_"] { display: none !important; }

  /* --- ブランドバナー(#head_container): 桃色ベタ塗りにして「メールで問い合わせる」までを桃色内に収める --- */
  #head_container { position: static !important; height: auto !important; background: transparent !important; }

  /* --- ヘッダー本体(#header 固定73px+子が全て絶対配置): 解除してロゴ/電話/受付/問合せ/注文を縦積み中央寄せ --- */
  #header { width: auto !important; height: auto !important; position: static !important; text-align: center !important; padding: 8px 0 0 !important; background-color: #ec4890 !important; }
  #header .logo, #header .tel, #header .info, #header .contact, #header .order {
    position: static !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
    float: none !important; display: block !important; text-align: center !important; margin: 7px auto !important; width: auto !important;
  }
  #header .logo img { max-width: 60% !important; height: auto !important; }
  #header .tel { margin: 2px auto 4px !important; }
  #header .tel img { max-width: 58% !important; height: auto !important; }
  /* 受付時間(.info)は淡色PNG画像でベージュ背景では判読不可→モバイルは非表示でスッキリ。連絡はTEL＋問合せボタンで担保 */
  #header .info { display: none !important; }
  #header img { max-width: 92% !important; height: auto !important; }
  /* メール問合せ(.contact)は桃色内の最後の要素。下に少し余白 */
  #header .contact { margin: 8px auto 12px !important; }
  /* お見積ご注文(.order)以降はベージュ地に戻し、上端にスカラップ(ギザギザ)の区切りを表示 */
  #header .order {
    margin: 0 auto !important; padding-top: 26px !important;
    background-color: #e9e3d6 !important;
    background-image: url(../images/wrapper_back_01.jpg) !important;
    background-repeat: repeat-x !important;
    background-position: left -54px !important;   /* 画像下部(スカラップ)だけを上端に表示 */
  }
  #header .order a { display: inline-block !important; }

  /* --- ページタイトル帯(#page_title 固定140px): 高さ自動＋中央寄せで上下センター崩れ/下はみ出しを解消 --- */
  #page_title { height: auto !important; }
  #page_title .wrap { width: auto !important; height: auto !important; position: static !important; padding: 14px 14px !important; text-align: center !important; }
  #page_title .wrap h2 { float: none !important; padding: 0 !important; margin: 0 auto 8px !important; line-height: 1.3 !important; text-align: center !important; }
  #page_title .wrap h2 img { max-width: 66% !important; height: auto !important; }
  #page_title .wrap .note, #page_title .wrap .note2 {
    position: static !important; float: none !important; width: auto !important; max-width: 100% !important; margin: 0 auto !important;
    text-align: center !important; font-size: 13px !important; line-height: 1.6 !important;
  }
  #page_title .wrap .back { display: none !important; }

  /* ハンバーガーボタン */
  .vince-mnav-btn {
    display: block !important; margin: 8px 14px; padding: 12px 14px;
    background: #5d2e65; color: #fff !important; font-size: 16px; font-weight: bold;
    text-align: center; border-radius: 6px; cursor: pointer; letter-spacing: 1px;
  }
  .vince-mnav-btn::before { content: "\2630"; margin-right: 8px; }   /* ☰ */
  /* 開閉（チェックボックスハック） */
  .vince-mnav { display: none; }
  .vince-mnav-toggle:checked ~ .vince-mnav { display: block !important; }
  .vince-mnav ul { margin: 0 14px 12px; padding: 0; border: 1px solid #d9cfdb; border-radius: 6px; overflow: hidden; }
  .vince-mnav li { list-style: none !important; margin: 0 !important; padding: 0 !important; background: none !important; float: none !important; }
  .vince-mnav li a {
    display: block !important; padding: 14px 16px !important; font-size: 16px !important; color: #333 !important;
    text-decoration: none !important; border-bottom: 1px solid #eee; background: #fff !important; text-align: left !important;
  }
  .vince-mnav li:last-child a { border-bottom: none; }
  /* ご利用ガイドのサブメニュー(デザイン方法/オーダーの流れ/お支払い・送料/ご利用規約)。
     親.vince-mnav ulのborder/margin/radiusを打ち消し、字下げ＋淡色地＋「└」で階層を表現 */
  .vince-mnav .vince-mnav-sub { margin: 0 !important; padding: 0 !important; border: none !important; border-radius: 0 !important; overflow: visible !important; }
  .vince-mnav .vince-mnav-sub li a {
    padding: 12px 16px 12px 36px !important; font-size: 14px !important; color: #555 !important;
    background: #f6f2f7 !important; border-bottom: 1px solid #eae3ec !important; border-top: none !important;
  }
  .vince-mnav .vince-mnav-sub li a::before { content: "\2514\00a0"; color: #a98cae; }
  .vince-mnav .vince-mnav-sub li:last-child a { border-bottom: none !important; }

  /* --- フッター: 絶対配置→縦積み・固定高さ解除 --- */
  #footer .wrap { height: auto !important; position: static !important; background: none !important; padding: 22px 14px !important; }
  #footer .wrap .info,
  #footer .wrap .link_line_01, #footer .wrap .link_line_02, #footer .wrap .link_line_03,
  #footer .wrap .link_line_04, #footer .wrap .link_line_05, #footer .bnr_list {
    position: static !important; left: auto !important; top: auto !important; right: auto !important;
    width: auto !important; margin: 0 0 20px 0 !important; float: none !important; display: block !important;
  }
  #footer .wrap .info .contact_info { width: auto !important; }
  /* フッター連絡先(.contact_info): Tel画像/受付時間+時刻/メール問合せバナーを中央寄せ。dl dt/ddの左右分離を解消 */
  #footer .wrap .info { text-align: center !important; }
  #footer .wrap .info .contact_info p { text-align: center !important; }
  #footer .wrap .info .contact_info p img, #footer .wrap .info img { display: inline-block !important; }
  #footer .wrap .info .contact_info dl {
    display: flex !important; justify-content: center !important; align-items: center !important; gap: 10px !important;
    float: none !important; width: auto !important; margin: 4px 0 8px !important;
  }
  #footer .wrap .info .contact_info dl::before, #footer .wrap .info .contact_info dl::after { display: none !important; content: none !important; }
  #footer .wrap .info .contact_info dl dt, #footer .wrap .info .contact_info dl dd {
    float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: none !important; text-align: center !important;
  }
  #footer .wrap .info .contact_info .mb05 { text-align: center !important; }
  /* フッターのバナーカルーセル(#slider_bnr): 右見切れ＆JSアニメがモバイル幅で破綻→
     カルーセルを止めて全バナーを静的に中央表示(矢印非表示・JSのleftアニメは!importantで無効化) */
  /* JSは#carousel_wrap(980px固定)>#carousel_move(2700px絶対配置アニメ)>UL×3クローンを生成→
     アニメ無効化(static化でleftを無効)+クローンUL非表示+1セットだけ縦積み中央 */
  #slider_bnr { display: block !important; height: auto !important; width: auto !important; max-width: 100% !important; }
  #slider_bnr .prev, #slider_bnr .next { display: none !important; }
  #slider_bnr #carousel { float: none !important; display: block !important; width: auto !important; max-width: 100% !important; overflow: visible !important; height: auto !important; margin: 0 !important; }
  #carousel_wrap { width: auto !important; max-width: 100% !important; height: auto !important; overflow: visible !important; position: static !important; }
  #carousel_move { position: static !important; left: auto !important; top: auto !important; width: auto !important; height: auto !important; }
  #carousel_move ul {
    position: static !important; float: none !important; left: auto !important;
    width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important;
    display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important;
  }
  #carousel_move ul:not(:first-child) { display: none !important; }
  #carousel_move ul::before, #carousel_move ul::after { display: none !important; content: none !important; }
  #carousel_move li { float: none !important; margin: 0 !important; padding: 0 !important; width: auto !important; display: block !important; }
  #carousel_move li img { display: block !important; margin: 0 auto !important; max-width: 100% !important; height: auto !important; }
  /* 旧カルーセルのトラック背景(ベージュ帯)が1枚目の裏に残るため消す */
  #slider_bnr, #slider_bnr #carousel, #carousel_wrap, #carousel_move { background: none !important; }

  /* 最下部バナー4つは中央寄せ(2列×2段)。clearfixの::before/::afterが幅0のflexアイテムになり±5pxズレるため無効化 */
  #footer .bnr_list { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; }
  #footer .bnr_list::before, #footer .bnr_list::after { display: none !important; content: none !important; }
  #footer .bnr_list li { float: none !important; clear: none !important; padding: 0 !important; margin: 0 !important; }
  #footer .bnr_list li img { max-width: 100% !important; height: auto !important; display: block !important; }
  #footer .wrap .char { display: none !important; }
  #footer #copyright .wrap { text-align: center; }
  /* ★フッターの絶対配置要素(social_link/コピーライト/pagetop)が、親のstatic化でモバイル先頭へ飛ぶのを防ぐ→static中央寄せ */
  #footer .social_link, #footer #copyright .social_link,
  #footer #copyright .txt, #footer #copyright p, #footer #copyright .pagetop, #footer .pagetop {
    position: static !important; top: auto !important; right: auto !important; left: auto !important; bottom: auto !important;
    float: none !important; width: auto !important; margin: 8px auto !important; text-align: center !important;
  }
  #footer .social_link { display: block !important; }
  #footer .social_link li { float: none !important; display: inline-block !important; margin: 0 6px !important; }
  /* フッターメニュー: 1列で右側が余白だらけ→各セクションのリンクを2列グリッドに整列 */
  #footer .wrap .link_dl dd ul {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    column-gap: 14px !important; row-gap: 1px !important; margin: 0 !important; padding: 0 !important;
  }
  #footer .wrap .link_dl dd ul li {
    width: auto !important; float: none !important; margin: 0 !important; list-style: none !important;
    background: none !important;
  }
  #footer .wrap .link_dl dd ul li a { display: block !important; padding: 5px 0 !important; }
  /* 会社案内「運営会社」等の外部リンク(.blank)の小アイコンを除去 */
  #footer .wrap .link_dl dd ul li a.blank { background-image: none !important; padding-left: 0 !important; padding-right: 0 !important; }
  /* コピーライト内のマスコット#taiko(絶対配置)が親static化で左上へ飛来→不要につき非表示 */
  #taiko, #footer #copyright .wrap #taiko { display: none !important; }
  /* コピーライト社名が最下部で見切れる: #copyrightはheight:87px固定＝背景画像(copyright_back_01.jpg 156×87)ちょうどの高さで、
     社名テキストが帯の最下端(ページ下端)にほぼ密着→実機のブラウザ下部ツールバーに重なり下半分が欠ける。
     →帯を可変高さ化＋画像と同色(#38261c)の地色を敷き(87px超過分もシームレスに暗色)、下部に余白を確保して社名をツールバーから離す */
  #footer #copyright { height: auto !important; min-height: 87px !important; background-color: #38261c !important; padding: 12px 0 34px !important; box-sizing: border-box !important; }
  #footer #copyright .wrap { height: auto !important; }
  #footer #copyright .txt { margin: 12px auto 0 !important; padding: 0 12px !important; line-height: 1.4 !important; }

  /* --- サイド系は非表示 --- */
  #side_information, #side_calendar { display: none !important; }

  /* --- トップページ --- */
  /* メインスライダー: bxsliderがPC用高さ(290px)をinline指定→画像実高に合わせ余白除去 */
  #main_image { height: auto !important; }
  #main_image .bx-wrapper, #main_image .bx-viewport { height: auto !important; }
  /* bxslider標準のmargin-bottom:60pxがピンク帯として残る→除去 */
  #main_image .bx-wrapper { margin-bottom: 0 !important; }
  #main_image { padding: 0 !important; }
  /* 内側ul/liもPC用高さ290pxを保持するため解除(viewport autoでも中身が290pxのままになる) */
  #main_image ul, #main_image ol, #main_image li, #main_image .wrap { height: auto !important; min-height: 0 !important; }
  #main_image li img { width: 100% !important; height: auto !important; display: block !important; }
  /* サイトメニュー4カード(#site_menu li 237px float)を中央寄せ縦積み。aが固定幅237pxなのでinline-block化して中央へ */
  #site_menu { width: auto !important; max-width: 100% !important; }
  #site_menu li { float: none !important; width: auto !important; margin: 0 auto 14px !important; text-align: center !important; display: block !important; }
  #site_menu li a { float: none !important; display: inline-block !important; margin: 0 auto !important; }
  #site_menu li img { max-width: 100% !important; height: auto !important; }
  /* トップのコラム一覧(ul.content_font_02 li float 2列崩れ)→1列全幅 */
  ul.content_font_02 li { float: none !important; width: auto !important; margin: 0 0 6px !important; }

  /* --- タップ領域/折返し --- */
  #content a { word-break: break-word; }

  /* --- フォーム(order/sample/inquiry等の table.form th+td): 入力欄固定幅531pxがはみ出す→
         ラベル列を狭幅で残す2カラム固定レイアウト(完全縦積みはtd内の「姓/名」等インラインラベルが崩れるため不可) --- */
  /* #content table{display:block}(ID付き高specificity)に勝つため#content前置が必須 */
  #content table.form, table.form { display: table !important; width: 100% !important; max-width: 100% !important; table-layout: fixed !important; overflow-x: visible !important; margin-left: 0 !important; margin-right: 0 !important; }
  #content table.form tbody, table.form tbody { display: table-row-group !important; }
  #content table.form tr, table.form tr { display: table-row !important; }
  #content table.form th, #content table.form td, table.form th, table.form td { display: table-cell !important; box-sizing: border-box !important; vertical-align: top !important; }
  #content table.form th, table.form th { width: 108px !important; font-size: 12px !important; line-height: 1.4 !important; text-align: left !important; padding: 10px 4px !important; white-space: normal !important; }
  #content table.form td, table.form td { width: auto !important; padding: 8px 6px !important; }
  table.form input[type="text"], table.form input[type="email"], table.form input[type="tel"],
  table.form input[type="number"], table.form input[type="password"],
  table.form select, table.form textarea {
    width: 100% !important; max-width: 100% !important; box-sizing: border-box !important;
    font-size: 16px !important; padding: 8px !important;   /* 16px未満だとiOSがズームする */
  }
  table.form input[type="radio"], table.form input[type="checkbox"] { width: auto !important; }

  /* --- オーダーフォーム(/wp/order/等)のEC成約導線をスマホ最適化 --- */
  /* ★カスタムセレクト(easyselectbox)は固定531px幅でスマホから右へはみ出すが、支払方法→配送先の連動や
     ステップ2の商品構成カスケード(サイズ→カット→紙種→ライン)＋価格計算が全てeasySelectBoxのonClickに
     紐づくため、ネイティブselectに置換すると挙動が壊れる。→ウィジェットのまま全幅・タップ最適化して
     PC同一挙動を維持(ネイティブselectは従来通りJSが隠す) */
  #content .easy-select-box, #content select.design_select + .easy-select-box {
    display: inline-block !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important;
    font-size: 16px !important; text-align: left !important; position: relative !important;
  }
  #content .easy-select-box .esb-displayer {
    background: #fff !important; border: 1px solid #b9aec2 !important; border-radius: 4px !important;
    height: auto !important; min-height: 42px !important; line-height: 1.35 !important;
    padding: 11px 36px 11px 12px !important; box-sizing: border-box !important; white-space: normal !important; color: #333 !important;
  }
  /* ドロップダウンの▼を CSS で描画(元の固定幅背景画像に依存しない) */
  #content .easy-select-box .esb-displayer::after {
    content: "" !important; position: absolute !important; right: 15px !important; top: 50% !important; margin-top: -3px !important;
    border: 5px solid transparent !important; border-top-color: #75487c !important; pointer-events: none;
  }
  #content .easy-select-box .esb-dropdown {
    width: 100% !important; max-width: 100% !important; max-height: 60vh !important; box-sizing: border-box !important;
    font-size: 16px !important; border: 1px solid #b9aec2 !important; -webkit-overflow-scrolling: touch;
  }
  #content .easy-select-box .esb-dropdown .esb-item { padding: 11px 12px !important; line-height: 1.35 !important; white-space: normal !important; }
  /* 角丸テキスト入力の固定幅(.radius.w551=531px等)がはみ出す→上限のみ掛けて小さい欄は維持 */
  #content .form .radius, #content .radius { max-width: 100% !important; box-sizing: border-box !important; }
  /* お名前欄の「姓/名/セイ/メイ」ラベル(.name_prefix)がwidth:40px;text-align:rightで右寄り→左揃えのブロックラベルに。
     「名/メイ」は.ml10(margin-left:10px)で更に右にズレるため margin-left:0 で揃える。floatする入力の後なのでclear:both */
  #content .order_form .form td .name_prefix {
    float: none !important; clear: both !important; width: auto !important; text-align: left !important;
    line-height: 1.4 !important; display: block !important; padding: 0 0 4px !important; margin: 0 !important;
  }
  /* 送信ボタン群(.btn内: 「次へ」input[type=image].fl ＋「クリア」a.fr img)を縦積み中央に */
  #content form .btn { text-align: center !important; }
  #content form .btn .fl, #content form .btn .fr, #content form .btn > a, #content form .btn > input {
    float: none !important; display: block !important; margin: 0 auto 12px !important; text-align: center !important;
  }
  /* ★主役の青い実行ボタン(次へ/送信/オーダー=do_back以外のinput[type=image])は全幅・画像本来の縦横比のまま
     (height:autoで歪み無し＆白い横ストライプ=画像枠線の内側露出も無し)。副次の戻る/クリアは高さを小さくして
     青ボタンより低く=青が高さ・幅とも上回る */
  #content form .btn input[type="image"]:not([name="do_back"]) {
    width: 100% !important; max-width: 100% !important; height: auto !important;
    object-fit: fill !important; background: none !important; border-radius: 0 !important;
    display: block !important; margin: 0 auto 12px !important;
  }
  #content form .btn input[name="do_back"], #content form .btn a img {
    width: auto !important; max-width: 40% !important; height: 26px !important; display: block !important; margin: 0 auto !important; object-fit: contain !important;
  }
  /* 保険: フォーム内の画像送信ボタン全般の上限 */
  #content .form input[type="image"] { max-width: 100% !important; height: auto !important; }
  /* 配送先等のカスタムラジオ(.list_05 li=95px float＋.design_radio=60px固定)がtd内で圧縮され文字が過剰改行
     (「注文者と同じ」→「注文者/と同じ」等)→全幅縦積み＆ラベル幅自動で1行に収める */
  #content .order_form .design_radio_wrapper,
  #content .order_form .list_05, #content .order_form .list_02 { width: auto !important; }
  #content .order_form .list_05 li, #content .order_form .list_02 li {
    width: auto !important; float: none !important; margin: 0 0 12px 0 !important; padding: 0 !important;
  }
  #content .order_form td .design_radio {
    width: auto !important; display: block !important; line-height: 1.4 !important; min-height: 24px !important;
  }
  /* ★オーダーフォーム2/4・3/4ページ目の商品構成(.option_wrap/.box等が840px固定＋枠画像order_back_07/08/09)が右見切れ→全幅流動化 */
  #content .order_form .option_wrap { margin-left: 0 !important; padding: 10px 0 0 !important; background: none !important; }
  #content .order_form .option_wrap .total_price,
  #content .order_form .option_wrap .total_price_last,
  #content .order_form .option_wrap .box,
  #content .order_form .option_wrap .box .head_back,
  #content .order_form .option_wrap .box .foot_back,
  #content .order_form .option_wrap .order_list {
    width: auto !important; max-width: 100% !important; margin-left: 0 !important; box-sizing: border-box !important;
  }
  /* 840px枠画像はモバイルで合わない→CSS枠に置換。★箱地はベージュにして、クリーム/白の入力欄・ラジオ丸が埋もれないようにする */
  #content .order_form .option_wrap .box { background: #e6ded0 !important; border: 1px solid #cdc1a9 !important; border-radius: 6px !important; }
  #content .order_form .option_wrap .box .head_back, #content .order_form .option_wrap .box .foot_back { background: none !important; padding-left: 12px !important; padding-right: 12px !important; }
  /* 注文枚数/デザイン数/備考欄の入力枠を白＋枠線で明示(ベージュの箱地から浮かせる) */
  #content .order_form .option_wrap input[type="text"], #content .order_form .option_wrap input[type="number"], #content .order_form .option_wrap textarea {
    background: #fff !important; border: 1px solid #b9aa8f !important; border-radius: 3px !important; box-sizing: border-box !important; padding: 6px 8px !important;
  }
  /* 内側の構成dl(サイズ/紙種/枚数・カット/ライン)を縦積み(dt=ラベル/dd=選択欄) */
  #content .order_form .option_wrap .box dl { float: none !important; width: auto !important; margin: 0 0 10px !important; }
  #content .order_form .option_wrap .box dl dt, #content .order_form .option_wrap .box dl dd { float: none !important; width: auto !important; display: block !important; margin-left: 0 !important; }
  #content .order_form .option_wrap .box dl dd { padding: 4px 0 10px !important; }
  /* 製作プランの「本日ご注文正式決定の場合、当店からの発送予定日 ◯年◯月◯日」(.schedule)が
     float:rightでモバイル幅では見えなくなる→ブロック化して小計の下に全幅表示(日付.daysも表示)。
     ※日付はラジオ(通常/特急)変更でJSが自動更新(元から連動あり・表示化で反映が見える) */
  #content .order_form .option_wrap .total_price .schedule,
  #content .order_form .option_wrap .total_price .schedule.font_s {
    float: none !important; clear: both !important; display: block !important;
    padding: 4px 0 0 !important; text-align: left !important; line-height: 1.4 !important;
  }
  /* 商品構成の右カラム.type2(390px float・dl/dt120px/dd270px)が枠外へはみ出す→全幅縦積み */
  #content .order_form .type2 { width: auto !important; float: none !important; margin-left: 0 !important; }
  #content .order_form .type2 dl { width: auto !important; }
  #content .order_form .type2 dl dt, #content .order_form .type2 dl dd {
    width: auto !important; float: none !important; line-height: 1.4 !important; padding: 0 0 8px !important;
  }
  #content .order_form .type2 dl dd span.fl { line-height: 1.4 !important; padding-left: 0 !important; }
  /* 包装/オプションのチェックボックス(design_checkbox=check_off.png 22×22)が隙間なく縦積みされ、
     四角い画像が連続して1つの縦長ボックスに見える→各項目に余白を入れて独立した正方形に見せる */
  /* 製作プラン/データ入稿等のラジオ・チェックボックス(design_radio/checkbox=丸/四角画像22px)が行間0で
     縦に密着し連結して見える→各項目にmargin(行間)を入れて独立して見せる */
  #content .order_form .option_wrap .design_checkbox,
  #content .order_form .option_wrap .design_radio { margin: 0 0 13px !important; background-position: 0 1px !important; min-height: 22px !important; }
  /* お見積書ダウンロードボタン(.return_download_btn 605px・margin-left:158px)が右見切れ→全幅化。
     ★確認画面(STEP4)のボタンは<img>でなくinput[type=image](download_btn_01.jpg・約385px)でx=14起点=右6px溢れ→input版も対象に含め100%化。
     ★但し同じ.return_download_btn内の「戻る」(return_btn_02.jpg・input[type=image][name=do_back])まで100%化すると巨大化(365×121)→do_backは除外し小型化(他ページの戻ると同寸) */
  #content .return_download_btn { width: auto !important; max-width: 100% !important; margin: 0 auto !important; padding: 0 !important; box-sizing: border-box !important; }
  #content .return_download_btn img, #content .return_download_btn a img,
  #content .return_download_btn input[type="image"]:not([name="do_back"]) { width: 100% !important; max-width: 100% !important; height: auto !important; margin: 0 !important; display: block !important; box-sizing: border-box !important; }
  #content .return_download_btn input[name="do_back"] { width: auto !important; max-width: 45% !important; height: 26px !important; display: block !important; margin: 0 auto 10px !important; object-fit: contain !important; background: none !important; }
  /* ★データ入稿 アップロードUI(jQuery File Upload=HTML5・スマホ対応)。PCは.upload_button/.progress_bar/.noteを
     position:absolute(left:250/560px)で横並び配置→モバイルでは画面外(x479>vw393)へ飛びボタン消失。
     加えて<img>(実寸300×40)が「幅autoの絶対配置親＋max-width:100%」の循環制約で0×0に潰れ完全に不可視化。
     →絶対配置を解いて静的縦積みにし、imgをwidth:auto実寸表示。これで『データをアップロード』ボタンが画面内に出現しタップ→端末のファイル/写真選択が起動する */
  #content .order_form li.upload_file, #content .order_form .standalone.upload_file { height: auto !important; padding-bottom: 12px !important; }
  #content .order_form .upload_file .upload_button,
  #content .order_form .upload_file .progress_bar,
  #content .order_form .upload_file .note {
    position: static !important; left: auto !important; top: auto !important; float: none !important; display: block !important; width: auto !important; max-width: 100% !important; margin: 10px 0 0 !important; }
  #content .order_form .upload_file .upload_button button { width: auto !important; height: auto !important; background: none !important; border: 0 !important; padding: 0 !important; display: inline-block !important; }
  #content .order_form .upload_file .upload_button button img { width: auto !important; max-width: 100% !important; height: auto !important; display: block !important; }
  #content .order_form .upload_file label { float: none !important; }
  #content .order_form .upload_file .progress_bar { width: 260px !important; max-width: 100% !important; }
  /* アップロード済ファイル一覧(#upload_file_list)を成功メッセージと重ならないよう下に縦積み・長いハッシュ名は折返し */
  #content .order_form #upload_file_list { position: static !important; float: none !important; clear: both !important; display: block !important; width: auto !important; max-width: 100% !important; margin: 8px 0 0 !important; }
  #content .order_form #upload_file_list ul, #content .order_form #upload_file_list li { position: static !important; float: none !important; width: auto !important; max-width: 100% !important; margin-left: 0 !important; word-break: break-all !important; }
  /* list_03(デザイン数等)のfloat liを縦積み・order_listテーブルのth/tdも収める */
  #content .order_form .list_03 { padding-left: 0 !important; }
  #content .order_form .list_03 li { float: none !important; padding: 0 0 10px !important; }
  #content .order_form .option_wrap .order_list th, #content .order_form .option_wrap .order_list td { padding: 8px !important; word-break: break-word !important; }
  /* バリデーションのエラーメッセージ(.form_error 820〜842px固定)が右見切れ→全幅で折返し表示 */
  #content .form_error, #content .order_form .form_error, #content .form_error.standalone { width: auto !important; max-width: 100% !important; box-sizing: border-box !important; word-break: break-word !important; }
  /* サンプル請求等の種類選択チェックボックス(.list_04 li=340px float)を全幅縦積みでタップしやすく */
  #content .order_form .form .list_04, #content .order_form .list_04 { margin-left: 0 !important; padding-left: 0 !important; }
  #content .order_form .list_04 li, #content .order_form .form .list_04 li { float: none !important; width: auto !important; padding: 8px 0 !important; }
  #content .design_checkbox { display: block !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important; }
  /* STEP4アンケート(.survey)はチェックボックス群(.list_04)がpadding除去で左に寄りすぎ→見出しと揃う位置へ再インデント。
     入力欄(回目/裏面3桁/雑誌新聞名)がインデント分で右へはみ出さないよう上限も掛ける */
  #content .order_form .survey .list_04 { padding-left: 24px !important; }
  #content .order_form .survey .list_04 input[type="text"] { max-width: 100% !important; box-sizing: border-box !important; }
  /* 装飾背景画像 #sample_back(position:absolute; right:-300px; z-index:-1)が右へ300pxはみ出す→非表示(飾りのみ) */
  #sample_back { display: none !important; }

  /* ============================================================
     価格ページ(.sticker_bcard_half 等)の製作費ブロック:
     紫バナーの文字を上下中央寄せ＋float固定幅レイアウトを縦積み流動化
     （<table>ではなくdivのfloatレイアウトのため専用対応が必要）
     ============================================================ */
  /* ★最重要: 各セクションの内側ラッパー .sticker_guide(#card_NN) が width:980px 固定。
     これを流動化しないと中の .cost_sec/.table_box が980pxのまま→中央寄せの文字が画面外へ。 */
  .sticker_guide, [id^="card_"], .sticker_guide.clearfix {
    width: auto !important; max-width: 100% !important; box-sizing: border-box;
    margin-left: 0 !important; margin-right: 0 !important;
  }
  /* --- 商品ページ(カードサイズ等)個別要素 --- */
  /* 桃バナー「カードサイズステッカー」(h3.title_01): 980px画像で上付き＆右見切れ→実バー色でベタ塗り＋上下中央 */
  .title_01 {
    background-image: none !important; background-color: #f2488d !important;
    height: auto !important; min-height: 46px !important; line-height: 1.3 !important;
    padding: 12px 16px !important; display: flex !important; align-items: center !important;
    flex-wrap: wrap !important;
    font-size: 21px !important; border-radius: 3px;
  }
  /* .sub「-特急製作はありません-」は本文タイトルの下の行へ(flex-basis:100%で改行) */
  .title_01 .sub {
    flex-basis: 100% !important; width: 100% !important; display: block !important;
    line-height: 1.3 !important; font-size: 15px !important; font-weight: normal !important;
    margin: 3px 0 0 !important;
  }
  /* ICカード写真: .card_box固定990px＋img float→見切れ→流動化して全体表示・中央寄せ */
  .card_box { width: auto !important; max-width: 100% !important; margin: 0 !important; }
  .card_box img { float: none !important; width: auto !important; max-width: 100% !important; height: auto !important; margin: 0 auto 10px !important; display: block !important; }
  /* 章内リンクの画像タブ(#half_link 5個・width991px overflow:hiddenで2個しか見えない)→全て折返し表示 */
  #half_link {
    width: auto !important; max-width: 100% !important; overflow: visible !important;
    padding: 15px 0 0 !important; margin: 0 0 15px !important;
    display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important;
  }
  #half_link li { float: none !important; margin: 0 !important; width: 47% !important; }
  #half_link li img { display: block !important; width: 100% !important; height: auto !important; }
  /* そのままテンプレート/裏面印刷の枠(.half_sec02): ul990px＋li318px floatで左寄せ→
     全幅に伸ばすと中の画像＋150pxテキストが離れて崩れる→元のカード幅を保ったまま枠ごと中央寄せ */
  /* ★ベージュ枠の実体は .half_sec02 の背景画像 half_bg06.png(318px幅, no-repeat left bottom)＝左寄せの原因。
     中央下に配置し、カード(li)も同じ318px幅に合わせて中央寄せ→枠と中身が一致 */
  .sticker_bcard_half .half_sec02 { background-position: center bottom !important; }
  /* 枠の上フチ画像(.dis内 half_bg05.png 318x10 / half_bg01.png 980x10)も左寄せ→中央に揃える */
  .sticker_bcard_half .dis { text-align: center !important; }
  .sticker_bcard_half .dis img { display: inline-block !important; max-width: 100% !important; height: auto !important; }
  .sticker_bcard_half .half_sec02 ul { width: auto !important; overflow: visible !important; margin: 0 !important; text-align: center !important; }
  .sticker_bcard_half .half_sec02 ul li { width: auto !important; max-width: 100% !important; float: none !important; margin: 0 auto !important; box-sizing: border-box; display: block !important; }
  .sticker_bcard_half .half_sec02 ul li img { max-width: 100% !important; height: auto !important; }
  /* 中身(画像+説明)を横並びfloatにすると端末幅で右にはみ出す→縦積み中央で確実に枠内に収める */
  .sticker_bcard_half .half_sec02 ul li dl dd { text-align: center !important; overflow: visible !important; }
  .sticker_bcard_half .half_sec02 ul li dl dd img { float: none !important; display: block !important; margin: 0 auto 10px !important; }
  /* 画像は<div class="fl">(float左)に入っている→枠を解除して上部中央に */
  .sticker_bcard_half .half_sec02 ul li dl dd .fl { float: none !important; display: block !important; margin: 0 auto 10px !important; text-align: center !important; }
  .sticker_bcard_half .half_sec02 ul li dl dd .txt02 { float: none !important; width: auto !important; text-align: left !important; }
  /* 説明末尾の【 詳細 】リンクは中央寄せ */
  .sticker_bcard_half .half_sec02 ul li dl dd .txt02 a { display: block !important; text-align: center !important; }

  /* ★各セクションの枠(背景half_bgNN.png)はPC用の固定幅画像(製作費=half_bg02/カット等=half_bg04が980px、
     テンプレ=half_bg06が318px)で、モバイル幅では左右端が合わず崩れる→全ての枠を同色のCSS枠
     (クリーム地#fdfcef＋淡い枠線＋角丸)に統一置換し、全幅に追従＆全セクションで統一 */
  .sticker_bcard_half .cost_sec,
  .sticker_bcard_half .half_sec01,
  .sticker_bcard_half .half_sec02 {
    background-image: none !important; background-color: #fdfcef !important;
    border: 1px solid #e5dcc6 !important; border-radius: 8px !important;
    padding: 6px 13px 16px !important; box-sizing: border-box !important;
  }
  /* 枠の上フチcap(.dis内の half_bg01/03/05 = トップキャップ画像)は、CSS枠に置換したので全て除去 */
  .sticker_bcard_half .dis:has(> img[src*="half_bg01"]),
  .sticker_bcard_half .dis:has(> img[src*="half_bg03"]),
  .sticker_bcard_half .dis:has(> img[src*="half_bg05"]) { display: none !important; }
  .sticker_bcard_half .dis img[src*="half_bg01"],
  .sticker_bcard_half .dis img[src*="half_bg03"],
  .sticker_bcard_half .dis img[src*="half_bg05"] { display: none !important; }
  .sticker_bcard_half .half_sec01 ul { width: auto !important; overflow: visible !important; margin: 0 !important; text-align: center !important; }
  .sticker_bcard_half .half_sec01 ul li {
    width: auto !important; max-width: 100% !important; float: none !important;
    margin: 0 auto 14px !important; box-sizing: border-box; display: block !important;
  }
  .sticker_bcard_half .half_sec01 ul li dl dd { text-align: center !important; overflow: visible !important; }
  .sticker_bcard_half .half_sec01 ul li dl dd img { float: none !important; display: block !important; margin: 0 auto 8px !important; max-width: 100% !important; height: auto !important; }
  .sticker_bcard_half .half_sec01 ul li dl dd .fl { float: none !important; display: block !important; margin: 0 auto 8px !important; text-align: center !important; }
  .sticker_bcard_half .half_sec01 ul li dl dd .txt02 { float: none !important; width: auto !important; text-align: center !important; }
  /* テンプレートのDLカード(.half_box: img_box float + btn_box) を縦積み中央 */
  .sticker_bcard_half .half_box { text-align: center !important; }
  .sticker_bcard_half .half_box .img_box { float: none !important; margin: 0 auto 8px !important; display: block !important; }
  .sticker_bcard_half .half_box .btn_box { display: block !important; text-align: center !important; }
  .sticker_bcard_half .half_box img { max-width: 100% !important; height: auto !important; }
  .sticker_bcard_half .txt03, .sticker_bcard_half .txt04 { text-align: center !important; }

  /* --- 納期表(.half_table): セルが過密で日付が細切れ改行→フォント/余白を圧縮し読みやすく --- */
  /* wid02/03=230px固定・wid04=autoで4列目だけ極端に狭い→固定レイアウトで日付3列を等幅に */
  .sticker_bcard_half .half_table table { display: table !important; width: 100% !important; table-layout: fixed !important; overflow: visible !important; }
  .sticker_bcard_half .half_table table thead .wid01 { width: 46px !important; }
  .sticker_bcard_half .half_table table thead .wid02,
  .sticker_bcard_half .half_table table thead .wid03,
  .sticker_bcard_half .half_table table thead .wid04 { width: 105px !important; }
  .sticker_bcard_half .half_table table th,
  .sticker_bcard_half .half_table table td { padding: 4px 5px !important; font-size: 12px !important; }
  .sticker_bcard_half .half_table table thead th { font-size: 11px !important; line-height: 1.3 !important; }
  .sticker_bcard_half .half_table table thead .wid01 { width: 50px !important; }
  .sticker_bcard_half .half_table table tbody th { padding: 6px 3px 6px 5px !important; font-size: 12px !important; line-height: 1.3 !important; }
  /* 日付セル: 2桁月(10〜12月)の「12月30日(水)」でも収まるよう左右余白を詰めて内容幅を確保 */
  .sticker_bcard_half .half_table table tbody td .date { padding: 8px 2px !important; font-size: 12px !important; line-height: 1.4 !important; }
  .sticker_bcard_half .half_table table tbody td span { padding: 4px 4px !important; font-size: 11px !important; }
  /* 日付の改行位置指定: 「2026年」で改行し「7月13日(月)」は割らない(CEO指定)。
     日付は<span class="d-y">2026年</span><span class="d-md">7月13日(月)</span>に分割済(theme-shortcode.php)。
     PCではinlineで1行、モバイルのみblock化して2行に */
  .sticker_bcard_half .half_table table tbody td .date .d-y,
  .sticker_bcard_half .half_table table tbody td .date .d-md,
  .nouki_table table tbody td .date .d-y, .nouki_table table tbody td .date .d-md { display: block !important; }
  .sticker_bcard_half .half_table table tbody td .date .d-md,
  .nouki_table table tbody td .date .d-md { white-space: nowrap !important; }
  /* 発送予定日ページ(/wp/delivery/)の納期表(.nouki_table)も同じ4列固定幅→同処方
     (このページは#content配下でない＆テーマがtable width:430px指定→#wrapper起点の強セレクタで上書き) */
  #content .nouki_table table, .nouki_guide .nouki_table table,
  #wrapper .nouki_guide table, body div[class*="nouki_table"] table {
    display: table !important; width: 100% !important; max-width: 100% !important;
    table-layout: fixed !important; margin: 0 !important; overflow-x: visible !important;
  }
  .nouki_guide table th, .nouki_guide table td { box-sizing: border-box !important; }
  .nouki_guide, .nouki_table { width: auto !important; max-width: 100% !important; }
  .nouki_table table th, .nouki_table table td { padding: 4px 5px !important; font-size: 12px !important; }
  .nouki_table table thead th { font-size: 11px !important; line-height: 1.3 !important; }
  .nouki_table table thead .wid01 { width: 46px !important; }
  .nouki_table table thead .wid02, .nouki_table table thead .wid03, .nouki_table table thead .wid04 { width: 105px !important; }
  .nouki_table table tbody th { padding: 6px 3px 6px 5px !important; font-size: 12px !important; line-height: 1.3 !important; }
  .nouki_table table tbody td .date { padding: 8px 2px !important; font-size: 12px !important; line-height: 1.4 !important; }
  .nouki_table table tbody td span { padding: 4px 6px !important; font-size: 11px !important; }
  /* 発送予定日ページの納期指定案内(.nouki_shitei 980px固定)内のh5/pが折返さず右へ数十px見切れ→流動化して折返し */
  #content .nouki_shitei, #content .nouki_shitei h5, #content .nouki_shitei p {
    width: auto !important; max-width: 100% !important; box-sizing: border-box !important;
  }
  #content .nouki_shitei p { word-break: break-word !important; }
  /* 店頭引取の地図＋支払案内(.gmap 470px: Google Map iframe＋支払テキストpが画面幅超)→流動化 */
  #content .gmap { width: auto !important; max-width: 100% !important; }
  #content .gmap iframe { width: 100% !important; max-width: 100% !important; }
  #content .gmap p { width: auto !important; max-width: 100% !important; word-break: break-word !important; }

  /* --- 包装オプション(#packing_option): item 484px×float2で1つしか見えない→縦積み流動化で両方表示 --- */
  #packing_option .wrap, #packing_option .wrap #packing_container { width: auto !important; max-width: 100% !important; }
  #packing_option .wrap .item {
    width: auto !important; float: none !important; display: block !important; margin: 0 0 16px 0 !important;
  }
  #packing_option .wrap .item .image img { width: 100% !important; height: auto !important; max-width: 100% !important; border-radius: 10px 10px 0 0; }
  #packing_option .wrap .item .sub_price { width: 100% !important; }

  /* --- 紙の種類ページ(/sticker/ .stickertype) --- */
  /* 紙種バナー(.title 980px固定): h3(紙名 660px float)の後に価格が流れ、価格「￥32〜（税込）」が画面右外に隠れる
     →バナー流動化＆h3のfloat解除で価格を紙名の下に表示(バナーは背景をcoverで引き伸ばし・右にマスコット分の余白) */
  .sticker_guide .stickertype .title {
    width: auto !important; height: auto !important; min-height: 0 !important;
    padding: 12px 74px 12px 16px !important; background-size: cover !important; box-sizing: border-box !important;
  }
  .sticker_guide .stickertype .title h3 { float: none !important; width: auto !important; margin: 0 !important; }
  .sticker_guide .stickertype .title .price { padding: 2px 0 0 !important; font-size: 28px !important; }
  /* 仕様ブロック.commentがPC用幅432px右float→箱(345px)から左にはみ出し見切れ→float解除・全幅 */
  .stickertype .box .comment, .stickertype .comment {
    float: none !important; width: auto !important; max-width: 100% !important; margin: 10px 0 0 !important;
  }
  .stickertype .box { padding: 14px !important; }
  /* 図解画像(float:left)の右の狭い隙間に見出しが縦落ちする→float解除で縦積み */
  .stickertype .box p img { float: none !important; display: block !important; max-width: 100% !important; height: auto !important; margin: 0 auto !important; }
  .stickertype .box h4 { clear: both !important; }
  /* 紙種バナーのマスコット(.image1〜.image5 絶対配置left:35Npx固定で幅7〜18pxに圧縮)→バナー右端に適正サイズで配置 */
  .stickertype div[class^="image"] {
    left: auto !important; right: 6px !important; top: -14px !important; width: auto !important;
  }
  .stickertype div[class^="image"] img { width: 76px !important; height: auto !important; max-width: none !important; }
  /* 紙種メニュー6バナー(ul#sticker_menu li float)→2列中央(clearfix疑似要素はflexズレ防止で無効化) */
  #sticker_menu { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; width: auto !important; margin: 0 0 15px !important; padding: 0 !important; }
  #sticker_menu::before, #sticker_menu::after { display: none !important; content: none !important; }
  #sticker_menu li { float: none !important; margin: 0 !important; width: auto !important; }
  #sticker_menu li img { display: block !important; }
  /* 星評価表(.comment table): #content table{width:100%}で右に白余白→内容幅で中央 */
  #content .stickertype .comment table, .stickertype .comment table {
    display: table !important; width: auto !important; max-width: 100% !important;
    margin: 0 auto !important; table-layout: auto !important; overflow-x: visible !important;
  }

  /* 紫バナー: 固定高さ60px＋padding-top28pxで上寄り → 縦中央寄せ */
  .half_title_01 {
    height: auto !important; min-height: 40px !important; line-height: 1.4 !important;
    padding: 12px 16px !important; margin: 0 0 16px !important;
    display: flex !important; align-items: center !important;
    /* 980px画像をcoverで拡大すると色/デザインが崩れる→実バー色でベタ塗り(画像は使わない) */
    background-image: none !important; background-color: #75487c !important; background-size: auto !important;
    font-size: 16px !important; border-radius: 3px;
  }
  /* 左右2カラム(627px/343px float)を解除して縦積み */
  .cost_sec .inner_l, .cost_sec .inner_r {
    width: auto !important; float: none !important; box-sizing: border-box;
  }
  .cost_sec .inner_r { margin-top: 16px !important; }
  .cost_sec .inner_l .cost_box { margin: 0 !important; }
  /* セットアップ費(220px)＋(280px)の横並びを縦積みに、＋アイコンは中央 */
  .cost_sec .inner_l .box01, .cost_sec .inner_l .box03 {
    float: none !important; width: auto !important; display: block !important;
    margin: 0 0 4px !important; box-sizing: border-box;
  }
  .cost_sec .box02 {
    float: none !important; padding: 6px 0 !important; text-align: center !important;
  }
  .cost_sec .box02 img { margin: 0 auto !important; display: inline-block !important; }
  /* はみ出し防止に金額フォントを微縮小 */
  .cost_sec .inner_l .box01 dl dd { font-size: 30px !important; }
  .cost_sec .inner_l .box03 dl dd { font-size: 20px !important; }
  .cost_sec .inner_r .txtUl li { width: 48% !important; }
  /* 保険: 万一の横溢れは製作費セクション内で吸収 */
  .cost_sec, .cost_box { max-width: 100% !important; overflow-x: hidden !important; }

  /* ============================================================
     ご利用ガイド(/wp/guide/)デザイン方法ページ CEO指摘3点
     ============================================================ */
  /* ①「もちろん〜行っております！」(#page_title .note2)がタイトル帯からはみ出す。
     帯(#page_title)は固定140pxの横帯背景画像で、height:auto化すると本文が帯の外(下)へこぼれて見える
     →背景を縦横タイルにして自動高さ全体を均一に埋める＋PC用の強制改行<br>を無効化して自然に折返す */
  #page_title { background-repeat: repeat !important; }
  #page_title .wrap .note2 br { display: none !important; }
  /* ② Illustrator/Photoshop… のカード(.design_guide .item)が幅236px×float固定で右に見切れ＆
     .desc height:93px固定で文字がDLバナーに重なる→全幅縦積み＋高さ自動 */
  .design_guide { width: auto !important; max-width: 100% !important; padding: 0 0 20px !important; }
  .design_guide .item, .design_guide .item.fl, .design_guide .item.fr {
    width: auto !important; height: auto !important; float: none !important; display: block !important;
    margin: 0 auto 16px !important; padding: 20px 15px !important; box-sizing: border-box !important;
  }
  .design_guide .item .image { height: auto !important; padding: 0 0 12px !important; }
  .design_guide .item .image img { max-width: 100% !important; height: auto !important; }
  .design_guide .item .name { margin: 0 0 10px !important; }
  .design_guide .item .desc { height: auto !important; margin: 0 0 12px !important; }
  .design_guide .item .txt_center img { max-width: 100% !important; height: auto !important; }
  /* ③「おまかせください！」の画像(.design_order .image 356px float)＋右516px floatが見切れ→縦積み中央 */
  .design_guide .design_order {
    width: auto !important; max-width: 100% !important; height: auto !important; float: none !important;
    margin: 24px auto 0 !important; padding: 20px 15px !important; box-sizing: border-box !important; overflow: visible !important;
    /* カード背景(option_back_02.jpg=薄クリーム)は大きなパンダ画像でほぼ隠れ、角だけ覗いてゴミの様に見える
       →背景と角丸を消して内容を地に直置き(上のIllustrator等のカードは意図通りクリームのまま残す) */
    background: none !important; border-radius: 0 !important;
  }
  .design_guide .design_order .image { float: none !important; margin: 0 auto 16px !important; text-align: center !important; }
  .design_guide .design_order .image img { max-width: 100% !important; height: auto !important; display: block !important; margin: 0 auto !important; }
  .design_guide .design_order .fr { float: none !important; width: auto !important; margin: 0 !important; }
  .design_guide .design_order .desc { height: auto !important; }
  .design_guide .design_order .link_01, .design_guide .design_order .link_02 {
    float: none !important; display: block !important; margin: 0 auto 10px !important; text-align: center !important;
  }
  .design_guide .design_order .link_01 img, .design_guide .design_order .link_02 img { max-width: 100% !important; height: auto !important; }

  /* ガイド各アプリ解説ページ(illustrator/photoshop/sai/other): 本文枠.design_txt(940px固定)＋
     解説画像(width=940のalignnone)が右へ見切れ→枠を流動化＋本文画像を全て100%に収める */
  .design_txt { width: auto !important; max-width: 100% !important; padding: 0 !important; }
  /* #content内の本文画像の共通上限(低詳細度・既存の!important固定幅指定には勝たない安全策) */
  #content img { max-width: 100%; height: auto; }
  #content .design_txt img, #content.design img.size-full, #content .alignnone { max-width: 100% !important; height: auto !important; }
  /* アプリ切替タブ(#design_menu li float)→中央寄せ折返し(sticker_menuと同処方) */
  #design_menu { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 8px !important; padding: 0 0 13px !important; }
  #design_menu::before, #design_menu::after { display: none !important; content: none !important; }
  #design_menu li { float: none !important; padding: 0 !important; margin: 0 !important; }
  #design_menu li img { max-width: 100% !important; height: auto !important; }
  /* 見出しバー.title_02(固定50px+背景バー画像): 文字が長いとはみ出す→高さ自動・折返し可 */
  .title_02 { height: auto !important; min-height: 50px !important; line-height: 1.4 !important; padding: 13px 15px !important; background-size: cover !important; }
  /* そのままテンプレートページ(/wp/guide/template/): .temp_guide(980px)＋.item(236px float)が見切れ→全幅縦積み */
  .temp_guide { width: auto !important; max-width: 100% !important; padding: 0 0 20px !important; }
  .temp_guide .item, .temp_guide .item.fl, .temp_guide .item.fr {
    width: auto !important; float: none !important; display: block !important;
    margin: 0 auto 16px !important; padding: 15px !important; box-sizing: border-box !important;
  }
  .temp_guide h4 { height: auto !important; min-height: 60px !important; line-height: 1.4 !important; padding: 16px 15px !important; background-size: cover !important; }
  .temp_guide .item .image { padding: 0 0 10px !important; }
  .temp_guide .item .image img { max-width: 100% !important; height: auto !important; }
  .temp_guide .item .name { margin: 0 0 10px !important; }
  .temp_guide .item .download { margin: 0 !important; }
  .temp_guide .item .download li { margin: 0 0 6px !important; }
  .temp_guide .item .download li img { max-width: 100% !important; height: auto !important; }

  /* ============================================================
     全ページ最終点検で判明した「画面幅超のはみ出し(右見切れ)」の追加修正
     ※docWは393で横スクロールは無いが、body overflow-x:hiddenで右側が切れて隠れていた箇所
     ============================================================ */
  /* ① デザインオーダー(/design/): デザイン依頼プラン枠が固定幅(649/318px float)で本文が右切れ→全幅縦積み */
  #content #moji_order .wrap .item_02, #content #full_order .wrap .item {
    width: auto !important; float: none !important; box-sizing: border-box !important;
  }
  #content #moji_order .wrap .item_02 p, #content #full_order .wrap .item p { word-break: break-word; }
  /* ② よくある質問(/wp/faq/): 質問文 .faq_wrap h4 .fl が width:820px固定で折返さず右切れ→自動幅で折返し */
  #content .faq_wrap h4 .fl { width: auto !important; float: none !important; }
  #content .faq_wrap h4 { padding-right: 45px !important; }
  /* 最上部のカテゴリバナー4つ(#faq_menu li 237px img)が左寄り→中央に縦積み */
  #content #faq_menu { display: flex !important; flex-direction: column !important; align-items: center !important; }
  #content #faq_menu::before, #content #faq_menu::after { display: none !important; content: none !important; }
  #content #faq_menu li { float: none !important; margin: 0 0 8px !important; }
  #content #faq_menu li img { display: block !important; max-width: 100% !important; height: auto !important; }
  /* キャンペーン一覧ページ(/wp/campaign/): .campaign_detail(1010px)＞.item(484px float)＞画像484pxが右見切れ→全幅縦積み */
  #content .campaign_detail { width: auto !important; max-width: 100% !important; padding-top: 30px !important; }
  #content .campaign_detail .item { width: auto !important; float: none !important; margin: 24px 0 26px !important; box-sizing: border-box !important; }
  #content .campaign_detail .item .image, #content .campaign_detail .item .image img { max-width: 100% !important; height: auto !important; }
  #content .campaign_detail .item .period, #content .campaign_detail .item p.name { width: auto !important; max-width: 100% !important; }
  #content .campaign_detail .item .period dt { float: none !important; display: inline-block !important; }
  /* ③ オーダーフォーム上部のキャンペーン枠(#campain>.wrap>.box>.scroll[jScrollPane]>dl 固定幅980/972/760px)が右切れ→全幅流動化。
     ★jScrollPaneは.jspPaneをposition:absoluteにするため、height:autoだけだと親が高さ0=中身消滅→pane静的化＋スクロールバー非表示で全表示 */
  #campain .box, #campain .scroll { width: auto !important; max-width: 100% !important; height: auto !important; overflow: visible !important; }
  #campain .jspContainer { width: auto !important; max-width: 100% !important; height: auto !important; overflow: visible !important; }
  #campain .jspPane { position: static !important; width: auto !important; max-width: 100% !important; height: auto !important; top: auto !important; left: auto !important; }
  #campain .jspVerticalBar, #campain .jspHorizontalBar { display: none !important; }
  #campain dl, #campain dt, #campain dd { width: auto !important; max-width: 100% !important; float: none !important; box-sizing: border-box !important; }
  #campain dd { word-break: break-word; }
  /* キャンペーン文字が枠(点線ボーダー)の右端に触れて/はみ出す→右に余白を確保して枠内に収める */
  #campain .box, #campain .scroll, #campain .jspPane { padding-right: 18px !important; box-sizing: border-box !important; }
  #campain dt, #campain dd { padding-right: 6px !important; word-break: break-word !important; }
  /* 枠の地＋点線ボーダー＋ギフト透かしはcampain_back_03.png(固定サイズ一枚絵)。背景伸縮はギフトが縦長に歪む(CEO NG)ため不可。
     →モバイルはこの背景画像を捨て、地色＋CSS点線ボーダーで枠を再現(無歪みで内容に追従して伸縮)。
     さらにdlのmargin-left:183px(元はギフト用の余白)が文字幅を152pxまで圧迫し過剰改行→ギフトを消したので左余白を詰め文字を全幅に */
  #campain .box { background-image: none !important; background-color: #faf8ee !important; border: 3px dotted #c3b491 !important; border-radius: 4px !important; box-sizing: border-box !important; padding: 10px 16px 16px !important; }
  #campain dl { margin-left: 0 !important; }
  /* 特定商取引法(/wp/law/ #content.law): dt=float:left;width:20em＋dd=margin-left:20emで、モバイルは値列が幅約85pxに潰れ1文字改行＆長い英単語(Entertainment)が右へ見切れ。
     →ラベル(dt)と値(dd)を全幅で縦積み(dtを見出し風に・行区切り線はdt側のborder-topのみ残しdd側は消す)・長語は折返し */
  #content.law dt, #content.law dd { float: none !important; width: auto !important; max-width: 100% !important; margin-left: 0 !important; box-sizing: border-box !important; word-break: break-word !important; }
  #content.law dt { padding: 16px 0 4px !important; font-weight: bold !important; border-top: 1px solid #c2b8ab !important; }
  #content.law dd { padding: 0 0 18px !important; padding-right: 4px !important; border-top: 0 !important; }
  #content.law ol { padding-left: 18px !important; }
  #content.law ol li { margin-left: 4px !important; word-break: break-word !important; }
  /* ご利用ガイド「オーダーの流れ(.guide_order)」「お支払い・送料(.guide_payment)」: 中身が.fl(float:left 820px)+.fr(float:right 750px)の2カラム固定幅。
     モバイル(親365px)では.frが画面左外(left:-371px)へ回り込み文字が左にはみ出す→float解除で全幅縦積み */
  #content .guide_order .fl, #content .guide_order .fr,
  #content .guide_payment .fl, #content .guide_payment .fr {
    float: none !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important;
  }
  #content .guide_order .fr, #content .guide_payment .fr { margin-top: 4px !important; }
  #content .guide_order img, #content .guide_payment img { max-width: 100% !important; height: auto !important; }
  /* お支払い・送料の「送料/配送日数目安」セクション(#mailing_cost・#content外)も.fl(送料表)+.fr(配送日数の地図area_map.png 478px)の2カラム固定幅。
     モバイルは地図(.fr 478px)が親393pxを超えfloat:rightで右が見切れ→float解除で全幅縦積み＋地図画像をwidth:auto/max-width:100%で画面内に収める */
  #mailing_cost .fl, #mailing_cost .fr { float: none !important; width: auto !important; max-width: 100% !important; box-sizing: border-box !important; }
  #mailing_cost .fr { margin-top: 8px !important; }
  #mailing_cost img { max-width: 100% !important; width: auto !important; height: auto !important; }
}
