@charset "euc-jp";

/* =========================================================
   桐箱屋さん 共通CSS（全文置き換え用）
   ========================================================= */
body { background-color: #fff; background-image: url(https://img.shop-pro.jp/tmpl_img/76/bg.gif); color: #333; -webkit-font-smoothing: antialiased; }
a { color: #000099; }
a:hover { color: #6699FF; text-decoration: none; }

/* =========================================================
   基本レイアウト
   ========================================================= */
#wrapper { position: relative; }

/* =========================================================
   共通部品
   ========================================================= */
.heading { font-size: 18px; font-weight: normal; margin: 0; padding-bottom: 20px; letter-spacing: 0.1em; border-bottom: 1px solid #333; }
.lists { margin: 0; border-bottom: 1px solid #333; }
.list { border-top: 1px solid #ccc; font-weight: normal; }
.list:first-child { border-top: none; }
.list_link { padding: 20px 0; }
.list_link_name { display: block; padding-right: 30px; }
.list_link_img { margin-bottom: 5px; }
.list_icon_arrow { float: right; margin-right: 10px; }
.item_img { margin: 0 auto; }
.item_img:hover { opacity: 0.8; }
.item_name { padding-top: 5px; }
.item_regular_price { text-decoration: line-through; }
.item_price { font-weight: bold; }
.item_price_discount { color: #cf0400; }
.item_discount_rate { color: #cf0400; }
.item_soldout { color: #cf0400; }
.rank_box { position: absolute; width: 25px; height: 25px; background-color: #333; display: block; z-index: 5; }
.rank_box_color_1 { background-color: #F77E21; }
.rank_box_color_2 { background-color: #C38FBD; }
.rank_box_color_3 { background-color: #C38FBD; }
.rank_box_color_4 { background-color: #42210B; }
.rank_box_color_5 { background-color: #42210B; }
.rank_box_color_6 { background-color: #42210B; }
.rank_number { color: #fff; display: block; padding-top: 1px; font-size: 14px; }
.btn-more { width: 96%; margin: 0 auto 60px; padding: 10px 12px; }

/* =========================================================
   ヘッダー
   ========================================================= */
#header { margin-bottom: 30px; }
.header_top { width: 100%; height: 50px; border-bottom: 1px solid #eee; position: absolute; top: 0; background-color: #333; z-index: 10; }
.header_top_cmspbar { position: fixed; }
.header_top_inner { max-width: 980px; margin: 0 auto; }
.search_form { margin: 0; padding-top: 10px; float: left; }
.search_select { width: 150px; border: 1px solid #101010; font-size: 12px; }
.search_box { width: 260px; }
.btn_search { padding: 2px 5px 3px 5px; border: 1px solid #101010; }
.btn_search i { vertical-align: -35%; }
.header_nav_headline { text-align: right; font-size: 12px; margin-top: 14px; letter-spacing: 0.1em; float: right; }
.header_nav_headline li a i { vertical-align: -40%; }
.header_nav_headline li a { color: #fff; margin-right: 5px; }
.header_nav_headline li a:hover { color: #ccc; text-decoration: none; }
.header_nav_headline .headline_viewcart { padding-left: 15px; border-left: 1px solid #000; }
.header_mid { width: 100%; height: 50px; border-bottom: 1px solid #333; position: absolute; top: 51px; background-color: #fff; z-index: 9; }
.header_mid_cmspbar { position: fixed; }
.header_mid_inner { max-width: 980px; margin: 0 auto; position: relative; }
.header_nav_global { font-size: 12px; margin-top: 14px; }
ul.header_nav_global > li { padding: 0 5px 0 0; }
.header_nav_global li a i { vertical-align: -40%; }
.header_nav_global li a:hover { text-decoration: none; }
.header_nav_global_box { display: none; width: 100%; height: auto; background-color: #333; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; position: absolute; top: 37px; left: -1px; padding: 0; }
.header_nav_global_box_heading { color: #fff; font-size: 12px; margin: 0; padding-top: 30px; text-align: center; letter-spacing: 0.1em; }
.header_nav_global_box_detail { background-color: #fff; padding: 30px 20px 20px; }
.header_nav_global_left { float: left; margin: 0; }
.header_nav_global_left li { padding-bottom: 15px; }
.header_nav_global_right { float: right; }
.header_nav_global_social { padding-left: 5px; }
ul.header_nav_global_social > li { padding: 0; }
.header_nav_global_social li a i { vertical-align: -40%; }
.header_btm { max-width: 980px; padding-top: 101px; margin: 0 auto; }
.header_logo { margin: 0 auto; padding-top: 30px; float: left; }
.header_lead { padding-top: 40px; font-size: 18px; color: #aaa; letter-spacing: 0.1em; float: right; }
.header_nav_phone { z-index: 99; float: right; height: 50px; }
.header_nav_lst_phone { position: absolute; left: 55%; display: none; margin-left: -50%; width: 90%; border: 1px solid #ccc; background: #fff; }
.header_nav_lst_phone ul { margin: 0; }
.header_nav_lst_phone li { padding: 0; border-bottom: 1px solid #ccc; text-align: center; font-size: 12px; }
.header_nav_lst_phone li:last-child { border-bottom: none; }
.header_nav_lst_phone a { display: block; padding: 6px 0; }
.header_nav_lst_phone a:hover { background: #333; text-decoration: none; color: #fff; }
.nav_btn_phone { font-size: 12px; font-weight: bold; color: #fff; }
.nav_btn_phone i { vertical-align: -40%; }

/* =========================================================
   メイン領域
   ========================================================= */
.main { max-width: 980px; }

/* =========================================================
   コンテンツ領域
   ========================================================= */
.contents { padding: 0; float: right; }

/* パンくずリスト */
.pankuzu_lists { font-size: 10px; }
ul.pankuzu_lists > li { padding: 0; }

/* お知らせ */
.info { margin-bottom: 60px; }
.info_detail { margin: 20px 0 0; font-size: 13px; }
.info_detail_list_dt { padding: 20px 0 5px; }
.info_detail_list_dt:first-child { padding: 0 0 5px; }
.info_detail_list_dd { margin: 0; }

/* 売れ筋ランキング */
.seller { margin-bottom: 20px; }
.seller_lists { margin-top: 20px; font-size: 12px; }
.seller_list { margin-bottom: 40px; text-align: center; position: relative; }

/* おすすめ商品 */
.recommend { margin-bottom: 20px; }
.recommend_lists { margin-top: 20px; font-size: 12px; }
.recommend_list { margin-bottom: 40px; text-align: center; position: relative; }

/* フリースペース */

/* =========================================================
   サイドメニュー
   ========================================================= */
.side { padding: 0; }
.side .unstyled img { display: block; margin-bottom: 5px; }
.side_banner { margin: 0 0 40px; }
.side_banner_list { margin-top: 19px; }
.side_banner_list:first-child { margin-top: 0; }
.side_category_list { position: relative; }
.side_subcategory_lists { width: 80%; padding: 15px 20px; position: absolute; top: -21px; right: -180px; border: 1px solid #ccc; background-color: #fff; z-index: 7; display: none; }
.side_subcategory_list { border-top: none; }
.side_subcategory_lists li a { padding: 5px 0; }
.side_group { margin-top: 60px; }
.side_freepage { margin-top: 60px; }
.side_freepage_heading { margin-bottom: 20px; }
.side_freepage_list { padding-top: 0; border: none; }
.side_freepage_list a { padding: 0 0 20px 0; }
.side_mobile_shop { margin-top: 60px; }
.side_mobile_shop_heading { margin-bottom: 20px; }
.side_mobile_shop_img { text-align: center; }
.side_banner_long { margin-top: 40px; }

/* =========================================================
   フッター
   ========================================================= */
.footer { width: 100%; margin-top: 40px; }
.footer_inner { max-width: 1180px; margin: 0 auto; }
.footer_lists { margin-top: 20px; }
.footer_list { padding: 0 10px; text-align: center; }
.footer_list_img { margin: 0 auto; }
.footer_seller, .footer_recommend, .footer_checked { margin-bottom: 40px; }
.footer_seller_lists, .footer_recommend_lists, .footer_checked_lists { font-size: 10px; }
.footer_seller_list, .footer_recommend_list, .footer_checked_list { margin-bottom: 10px; }
.footer_banner { padding-bottom: 60px; margin: 0 auto; }

/* 会社情報内に登録されている旧自社サイトバナーを非表示 */
.footer_nav_shopinfo_memo a[href*="piapacco.com"], .footer_nav_shopinfo_memo img[src*="piapacco"] { display: none !important; }
.footer_notice { padding: 60px 0; background-color: #eee; }
h3.footer_notice_heading { padding-bottom: 40px; border-bottom: none; }
.footer_notice_lists { margin: 0; }
.footer_notice_list_dt { padding: 20px 0 10px; }
.footer_notice_list_dt:first-child { padding: 0 0 10px; }
.footer_notice_list_dd { margin: 0; line-height: 1.8; }
.tbl_calendar { margin-bottom: 20px; max-width: 260px; width: 100%; font-size: 84.615%; }
.tbl_calendar caption { text-align: center; }
.tbl_calendar th { padding: .3em 0; border-bottom: 1px solid #ccc; text-align: center; }
.tbl_calendar td { padding: .5em 0; width: 14.2%; border-bottom: 1px solid #ccc; text-align: center; }
.cal_memo { margin-top: 1em; font-size: 84.615%; }
.footer_nav { padding: 60px 0; background-color: #333; }
.footer_nav_shopinfo { color: #fff; }
.footer_nav_shopinfo_img { padding: 0; text-align: left; }
.footer_nav_shopinfo_img img { width: 180px; }
.footer_nav_shopinfo_caption { padding: 0 2%; }
.footer_nav_shopinfo_name { font-size: 18px; padding-left: 5px; }
.footer_nav_shopinfo_memo { padding-left: 5px; }
.footer_nav_list { color: #fff; padding-top: 15px; }
.footer_nav_list:first-child { padding-top: 0; }
.footer_nav_list_link { color: #fff; }
.footer_nav_list_link:hover { color: #ccc; text-decoration: none; }
.footer_copyright { text-align: center; padding: 2em 0; }
.footer_powered { display: block; padding: 10px 0; line-height: 18px; }
.footer_powered a { color: #a1a19f; text-decoration: none; font-size: 11px; }
.footer_powered img { margin-bottom: 10px; margin-left: 4px; width: 200px; height: 18px; }

/* スライダー */
.slider { position: relative; margin-bottom: 40px; }
.bx-wrapper { z-index: 0; }
.bx-wrapper img { width: 100%; height: auto; }
.slider .bx-wrapper .bx-viewport { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; left: 0 !important; border: none !important; }
.slider .bx-wrapper .bx-caption { background: #000\9; background: rgba(0,0,0,0.60); }
.slider .bx-wrapper .bx-caption span { font-size: 14px; padding: 10px 10px 10px 20px; }

/* 特定商取引法・プライバシーポリシー */
.skpr_box { padding-top: 120px; margin-top: -60px }
.skpr_box:first-child { padding-top: 0; margin-top: 0; }
.skpr_detail, .privacy_lead { margin: 20px 0 0; font-size: 13px; }
.skpr_detail_list_dt { padding: 20px 0 5px; }
.skpr_detail_list_dt:first-child { padding: 0 0 5px; }
.skpr_detail_list_dd { margin: 0; }

/* テンプレート共通 */

/* 入力フォーム */
textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .uneditable-input { border: 1px solid #101010; background-color: #fff; }
textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus, .uneditable-input:focus { outline: 0; outline: thin dotted \9; border-color: rgba(82,168,236,0.8); }

/* アイコン */
.icon-b.icon-user { background-position: -208px -0px; }
.icon-w.icon-user { background-position: -208px -0px; }
.icon-lg-b.icon-user { background-position: -312px -0px; }
.icon-lg-w.icon-user { background-position: -312px -0px; }
.icon-b.icon-adduser { background-position: -240px -0px; }
.icon-w.icon-adduser { background-position: -240px -0px; }
.icon-lg-b.icon-adduser { background-position: -360px -0px; }
.icon-lg-w.icon-adduser { background-position: -360px -0px; }
.icon-b.icon-login { background-position: -48px -80px; }
.icon-w.icon-login { background-position: -48px -80px; }
.icon-lg-b.icon-login { background-position: -72px -120px; }
.icon-lg-w.icon-login { background-position: -72px -120px; }
.icon-b.icon-logout { background-position: -32px -80px; }
.icon-w.icon-logout { background-position: -32px -80px; }
.icon-lg-b.icon-logout { background-position: -48px -120px; }
.icon-lg-w.icon-logout { background-position: -48px -120px; }
.icon-b.icon-cart { background-position: -176px -64px; }
.icon-w.icon-cart { background-position: -176px -64px; }
.icon-lg-b.icon-cart { background-position: -264px -96px; }
.icon-lg-w.icon-cart { background-position: -264px -96px; }
.icon-b.icon-search { background-position: -208px -16px; }
.icon-w.icon-search { background-position: -208px -16px; }
.icon-lg-b.icon-search { background-position: -312px -24px; }
.icon-lg-w.icon-search { background-position: -312px -24px; }
.icon-b.icon-mail { background-position: -64px -0px; }
.icon-w.icon-mail { background-position: -64px -0px; }
.icon-lg-b.icon-mail { background-position: -96px -0px; }
.icon-lg-w.icon-mail { background-position: -96px -0px; }
.icon-b.icon-book { background-position: -144px -32px; }
.icon-w.icon-book { background-position: -144px -32px; }
.icon-lg-b.icon-book { background-position: -216px -48px; }
.icon-lg-w.icon-book { background-position: -216px -48px; }
.icon-b.icon-help { background-position: -288px -80px; }
.icon-w.icon-help { background-position: -288px -80px; }
.icon-lg-b.icon-help { background-position: -432px -120px; }
.icon-lg-w.icon-help { background-position: -432px -120px; }
.icon-b.icon-c_twitter { background-position: -112px -176px; }
.icon-w.icon-c_twitter { background-position: -112px -176px; }
.icon-lg-b.icon-c_twitter { background-position: -168px -264px; }
.icon-lg-w.icon-c_twitter { background-position: -168px -264px; }
.icon-b.icon-c_facebook { background-position: -144px -176px; }
.icon-w.icon-c_facebook { background-position: -144px -176px; }
.icon-lg-b.icon-c_facebook { background-position: -216px -264px; }
.icon-lg-w.icon-c_facebook { background-position: -216px -264px; }
.icon-b.icon-c_google { background-position: -192px -176px; }
.icon-w.icon-c_google { background-position: -192px -176px; }
.icon-lg-b.icon-c_google { background-position: -288px -264px; }
.icon-lg-w.icon-c_google { background-position: -288px -264px; }
.icon-b.icon-c_pinterest { background-position: -224px -176px; }
.icon-w.icon-c_pinterest { background-position: -224px -176px; }
.icon-lg-b.icon-c_pinterest { background-position: -336px -264px; }
.icon-lg-w.icon-c_pinterest { background-position: -336px -264px; }
.icon-b.icon-chevron_right { background-position: -16px -144px; }
.icon-w.icon-chevron_right { background-position: -16px -144px; }
.icon-lg-b.icon-chevron_right { background-position: -24px -216px; }
.icon-lg-w.icon-chevron_right { background-position: -24px -216px; }
.icon-b.icon-chevron_down { background-position: -352px -128px; }
.icon-w.icon-chevron_down { background-position: -352px -128px; }
.icon-lg-b.icon-chevron_down { background-position: -528px -192px; }
.icon-lg-w.icon-chevron_down { background-position: -528px -192px; }
.icon-b.icon-chevron_up { background-position: -0px -144px; }
.icon-w.icon-chevron_up { background-position: -0px -144px; }
.icon-lg-b.icon-chevron_up { background-position: -0px -216px; }
.icon-lg-w.icon-chevron_up { background-position: -0px -216px; }
.icon-b.icon-chevron_left { background-position: -336px -128px; }
.icon-w.icon-chevron_left { background-position: -336px -128px; }
.icon-lg-b.icon-chevron_left { background-position: -504px -192px; }
.icon-lg-w.icon-chevron_left { background-position: -504px -192px; }
.icon-b.icon-list { background-position: -192px -96px; }
.icon-w.icon-list { background-position: -192px -96px; }
.icon-lg-b.icon-list { background-position: -288px -144px; }
.icon-lg-w.icon-list { background-position: -288px -144px; }
.icon-b.icon-pencil { background-position: -96px -0px; }
.icon-w.icon-pencil { background-position: -96px -0px; }
.icon-lg-b.icon-pencil { background-position: -144px -0px; }
.icon-lg-w.icon-pencil { background-position: -144px -0px; }
.icon-b, .icon-w { width: 16px; height: 16px; display: inline-block; *display: inline; *zoom: 1; }
.icon-lg-b, .icon-lg-w { width: 24px; height: 24px; display: inline-block; *display: inline; *zoom: 1; }
.icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon16_b.png); }
.icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon16_w.png); }
.icon-lg-b { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon24_b.png); }
.icon-lg-w { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon24_w.png); }

@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2 / 1),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx) {
  .icon-b, .icon-w { -webkit-background-size: 368px 320px; background-size: 368px 320px; }
  .icon-lg-b, .icon-lg-w { -webkit-background-size: 552px 480px; background-size: 552px 480px; }
  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon16_2x_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon16_2x_w.png); }
  .icon-lg-b { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon24_2x_b.png); }
  .icon-lg-w { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon24_2x_w.png); }
}

@media (max-width: 768px) {
  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon24_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon24_w.png); }
}

@media only screen and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 2),only screen and (max-width: 768px) and (min--moz-device-pixel-ratio: 2),only screen and (max-width: 768px) and (-o-min-device-pixel-ratio: 2 / 1),only screen and (max-width: 768px) and (min-device-pixel-ratio: 2),only screen and (max-width: 768px) and (min-resolution: 192dpi),only screen and (max-width: 768px) and (min-resolution: 2dppx) {
  .icon-b { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon24_2x_b.png); }
  .icon-w { background-image: url(https://img.shop-pro.jp/tmpl_img/76/icon24_2x_w.png); }
}

/* =========================================================
   画面幅別の調整
   ========================================================= */

@media (min-width: 980px) {
  .contents { width: 670px; }
  .contents_detail { width: 100%; }
  .header_nav_global_right li { display: inline-block !important; }
}

@media (min-width: 769px) {
  .footer_list { width: 10%; }
}

@media (max-width: 980px) {
  #base_gmoWrapp, #gmo_CMSPbar { overflow: hidden; min-width: 100% !important; width: 100% !important; }
  .contents, .side, .footer_heading { padding-right: 1%; padding-left: 1%; }
  .header_nav_phone { margin-right: 0; }
  .nav_btn_phone { display: block; height: 30px; padding-top: 15px; }
}

@media (max-width: 768px) {
  .contents, .side, .footer_heading { padding: 0; }
  .productlist_lists { padding: 0 10px 20px; }
  .header_btm { padding-top: 51px; text-align: center }
  .header_logo { float: none; }
  .header_lead { padding-top: 10px; font-size: 12px; float: none; }
  .header_nav_global_social { padding-left: 0; }
  .search_form { float: none; }
  .search_select { width: 100%; margin-bottom: 10px; }
  .search_box { width: 75%; float: left; }
  .btn_search { width: 15%; float: right; }
  .slider { margin-bottom: 20px; }
  .side_group, .side_freepage { margin-top: 0; }
  .info_detail, .seller_lists, .recommend_lists { padding: 0 10px 20px; }
  .free_space { font-size: 12px; padding: 0 10px 60px; }
  .list { padding: 0; }
  .list_link { padding: 10px; }
  .list_icon_arrow { margin-right: 0; }
  .side_banner { margin-bottom: 40px; text-align: center; }
  .side_banner_list { margin-top: 19px; }
  .side_banner_list:first-child { margin-top: 0; }
  .side_freepage_heading { margin-bottom: 0; }
  .side_freepage_list { padding: 0; border-top: 1px solid #ccc; }
  .side_freepage_list a { padding: 10px; }
  .heading { font-size: 14px; font-weight: bold; padding: 0 10px 20px; }
  .side_category { margin-top: 0; }
  .side_category_list { position: static; cursor: pointer; }
  .side_subcategory_lists { width: 100%; padding: 0; position: static; border: none; background-color: #f5f5f5; display: none; }
  .side_subcategory_list { border-top: 1px solid #ccc; }
  .side_subcategory_list:first-child { border-top: 1px solid #ccc; }
  .side_subcategory_lists li a { padding: 10px; }
  .side_category_heading, .side_group_heading, .side_freepage_heading, .footer_seller_heading, .footer_recommend_heading, .footer_checked_heading { background-color: #333; color: #fff; padding: 10px 0 10px 10px; }
  .footer { margin-top: 0; }
  .footer_lists { padding: 0 10px 20px; }
  .footer_list { padding-right: 1%; padding-left: 1%; }
  .footer_checked { border-bottom: 1px solid #333; }
  .footer_banner { text-align: center; padding: 0 10px 60px; }
  .footer_banner li { padding: 5px; }
  .footer_seller_lists, .footer_recommend_lists, .footer_checked_lists { font-size: 12px; }
  .footer_seller_list, .footer_recommend_list { margin-bottom: 40px; }
  .footer_checked_list { margin-bottom: 10px; }
  .footer_notice { padding: 0; }
  .footer_nav { padding: 0; }
  .footer_nav_shopinfo { padding: 30px 0; }
  .footer_nav_shopinfo_img { padding-bottom: 10px; text-align: center; }
  .footer_nav_shopinfo_caption { text-align: center; }
  .footer_nav_shopinfo_name { padding-left: 0; }
  .footer_nav_shopinfo_memo { padding-left: 0; }
  .footer_mobile_menu { padding: 24px 14px 36px; text-align: center; background-color: #333; }
  .footer_mobile_menu_button { display: block; width: 100%; min-height: 52px; margin: 0; padding: 12px 16px; border: 1px solid #ffffff; border-radius: 4px; background: #ffffff; color: #222222; font-family: inherit; font-size: 16px; font-weight: bold; line-height: 1.4; cursor: pointer; }
  .footer_mobile_menu_button:active { background: #f3f0eb; }
  .footer_copyright { font-size: 10px; }
  .skpr_detail, .privacy_lead { padding: 0 10px 20px; }
  .skpr_box { padding-top: 70px; margin-top: -10px }
  .skpr_box:first-child { padding-top: 0; margin-top: 0; }
}

/* ================================================== 
ヘッダーのお気に入りリンク 
================================================== */
.header_account_links { display: block; margin: 0; white-space: nowrap; }
.header_favorite_link { display: block; margin: 6px 0 0; white-space: nowrap; }
.header_favorite_link a, .sp_favorite_link { color: #d94f7d; }

/* PCヘッダーの検索フォームと会員メニューの配置調整 */

@media screen and (min-width: 861px) {
  #head .cont .sec_02 { display: block !important; flex: 1 1 170px !important; min-width: 150px !important; }
  #head .cont .sec_02 .search_form { display: flex !important; width: 100%; }
  #head .cont .sec_02 input[type="text"] { flex: 1 1 auto; min-width: 0; width: 100% !important; border: 1px solid #101010 !important; background: #fff !important; box-sizing: border-box; }
  #head .cont .sec_03 { flex: 0 1 auto !important; min-width: 0 !important; width: auto !important; }
}
.favorite_items_section { margin-bottom: 80px; scroll-margin-top: 20px; }
.favorite_items_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.favorite_items_empty { margin: 0; padding: 20px; background: #f7f7f7; text-align: center; }

@media (max-width: 768px) {
  .favorite_items_section { margin-bottom: 50px; }

  /* お気に入り商品と最近チェックした商品を横スクロールで表示 */
  #foot_common .sec_02 .box_01 ul { display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 12px; width: 100%; margin: 0; padding: 0 0 10px; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; scrollbar-width: thin; box-sizing: border-box; }
  #foot_common .sec_02 .box_01 li { flex: 0 0 46% !important; width: 46% !important; margin: 0 !important; scroll-snap-align: start; }
}
.laser_item_box li { margin: 0 0 20px 0; text-align: center; }
.laser_item_box li img { max-width: 100%; }
.side_category { margin: 0 0 30px 0; }
#side a { color: #000000; }
#side a:hover { color: #6699ff; }
#side .heading { font-weight: bold; border-top: none; border-bottom: 1px dotted #000000; }
#side .lists { border-bottom: 1px solid #ccc; }

@media (min-width: 769px) {
  #side h3 { color: #000000; }
}

@media (max-width: 768px) {
  .side_category_heading { background-color: #000000; }
  #side h3 { color: #fff; }
}

/* =========================================================
   軸箱一覧表
   ========================================================= */
.jikubako .jikubako-buy-button { display: flex; align-items: center; justify-content: center; width: 100%; padding: 9px 6px; border: 1px solid #d8c153; border-radius: 4px; background: #f1de6e; color: #222 !important; font-size: 12px; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none; box-sizing: border-box; }
.jikubako .jikubako-buy-button:hover, .jikubako .jikubako-buy-button:focus { border-color: #cbb13b; background: #e3cc50; color: #222 !important; text-decoration: none; }
.jikubako .jikubako-buy-button:active { border-color: #bfa42f; background: #d8bd3f; color: #222 !important; }
.jikubako .jikubako-buy-unavailable { display: block; color: #777; font-size: 11px; line-height: 1.4; text-align: center; }
.jikubako .jikubako-short-row th, .jikubako .jikubako-short-row td { background: #fffdf2; }
.jikubako .jikubako-short-row th { color: #7a5a24; }
.jikubako-price-update { margin: 18px 0; color: #d94f7d; font-weight: 700; }
.jikubako-short-note { margin: 10px 0 20px; padding: 10px 12px; border-left: 4px solid #d6b914; background: #fffdf2; font-size: 14px; line-height: 1.7; }
.jikubako-short-note strong { color: #2f2a24; }

/* =========================================================
   軸箱一覧表の上部説明（旧一覧ページで使用）
   ========================================================= */
.jikubako-intro { margin: 0 0 28px; padding: 20px; border: 1px solid #e4dfd1; border-radius: 4px; background: #fffdf7; color: #222; font-size: 15px; line-height: 1.8; }
.jikubako-intro .jikubako-about-heading-v2 { margin: 0 0 18px; padding: 4px 0 7px 12px; border-left: 5px solid #f1de6e; border-bottom: 1px solid #ddd; background: transparent !important; color: #222 !important; font-size: 20px; font-weight: 700; line-height: 1.4; }
.jikubako-intro__content { display: flex; align-items: flex-start; gap: 24px; }
.jikubako-intro__image { flex: 0 0 220px; }
.jikubako-intro__image img { display: block; width: 100%; height: auto; }
.jikubako-intro__body { flex: 1 1 auto; min-width: 0; }
.jikubako-intro__lead { margin: 0 0 16px; }
.jikubako-intro__subtitle { margin: 0 0 8px; font-size: 16px; font-weight: 700; }
.jikubako-intro__list { margin: 0; padding: 0; list-style: none !important; }
.jikubako-intro__list li { position: relative; display: block; margin: 0 0 7px; padding-left: 1.2em; }
.jikubako-intro__list li::before { content: ""; position: absolute; top: .72em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: #d6b914; transform: translateY(-50%); }

/* =========================================================
   掛け軸箱カテゴリー
   ========================================================= */
.kakejiku-shipping-notice { margin: 0 0 20px; padding: 14px 16px; border: 1px solid #edb3c7; border-left: 5px solid #d94f7d; border-radius: 6px; background: #fff7fa; }
.kakejiku-shipping-notice h3 { margin: 0 0 6px; padding: 0; border: 0; background: transparent; color: #d94f7d; font-size: 18px; font-weight: 700; line-height: 1.5; }
.kakejiku-shipping-notice p { margin: 0; }
.kakejiku-shipping-notice p strong { display: inline-block; color: #d94f7d !important; font-size: 1.08em; font-weight: 700 !important; }
.category-guide .category-guide__card { background: #fff; }
.kakejiku-spec-list { margin: 0; padding-left: 1.4em; list-style: disc outside !important; }
.kakejiku-spec-list li { display: list-item !important; list-style: disc outside !important; }
.kakejiku-spec-list li + li { margin-top: 5px; }
.kakejiku-spec-list li::marker { color: #7a674a; }
.kakejiku-tonoko-explanation { margin-top: 16px; padding-top: 14px; border-top: 1px solid #ded7ca; }
.kakejiku-tonoko-explanation h4 { margin: 0 0 6px; color: #2f2a24; font-size: 16px; font-weight: 700; line-height: 1.5; }
.kakejiku-tonoko-explanation p { margin: 0; }

/* =========================================================
   商品説明共通
   ホンインロウ・サカサインロウ・カブセ式・軸箱で共用
   ========================================================= */
.product_explain > h2 { margin: 0 0 10px; font-size: 20px; font-weight: 700; line-height: 1.5; }
.product_explain > h3 { margin: 22px 0 8px; font-size: 16px; font-weight: 700; line-height: 1.5; }
.product_explain > p { margin: 0 0 14px; font-size: 16px; line-height: 1.9; }
.product_explain .product-spec-table { width: 100%; margin: 8px 0 20px; border-collapse: collapse; border-spacing: 0; font-size: 14px; line-height: 1.5; }
.product_explain .product-spec-table th, .product_explain .product-spec-table td { height: auto !important; padding: 7px 12px !important; border: 1px solid #ccc; text-align: left; vertical-align: middle; box-sizing: border-box; }
.product_explain .product-spec-table th { width: 28%; background: #f3f3f3; font-weight: 700; }
.product_explain .product-spec-table td { width: 72%; background: #fff; }
.product_explain .product-spec-table + h3 { margin-top: 20px; }
.product_explain .kiribako-product-description > h2 { margin-top: 0; margin-bottom: 6px; }
.product_explain .kiribako-product-description > h3 { margin-top: 24px; margin-bottom: 6px; }
.product_explain .kiribako-product-description > p { margin-top: 0; }
.product_explain .kiribako-product-description > .product-spec-table { margin-top: 0; margin-bottom: 0; }
.product_explain .product-guide-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; }
.product_explain .product-guide-actions .category-guide__button { flex: 1 1 210px; box-sizing: border-box; }

/* =========================================================
   PCサイドバー
   ========================================================= */
@media screen and (min-width: 769px) {
  #side .side_category_heading a { color: #000 !important; }
  #side .side_category_heading a:hover { color: #555 !important; }
}

/* =========================================================
   スマートフォン
   ========================================================= */
@media screen and (max-width: 768px) {
  .jikubako table { font-size: 12px; }
  .jikubako th, .jikubako td { padding: 7px 4px; }
  .jikubako .jikubako-buy-heading, .jikubako .jikubako-buy-cell { width: 88px; padding: 6px 4px; }
  .jikubako .jikubako-buy-button { height: 42px; min-height: 42px; padding: 6px 3px; font-size: 11px; line-height: 1.2; }
  .jikubako .jikubako-buy-unavailable { font-size: 10px; }
  .jikubako-intro { margin-bottom: 24px; padding: 15px; font-size: 14px; line-height: 1.7; }
  .jikubako-intro .jikubako-about-heading-v2 { margin-bottom: 14px; padding: 6px 0 6px 10px; font-size: 17px; }
  .jikubako-intro__content { display: block; }
  .jikubako-intro__image { margin: 0 0 14px; }
  .jikubako-intro__image img { width: 100%; max-width: 320px; margin: 0 auto; }
  .jikubako-intro__lead { margin-bottom: 14px; }
  .jikubako-intro__subtitle { font-size: 15px; }
  .kakejiku-shipping-notice { margin-bottom: 18px; padding: 12px 13px; }
  .kakejiku-shipping-notice h3 { font-size: 16px; }
  .kakejiku-tonoko-explanation h4 { font-size: 15px; }
  .product_explain > h2 { margin-bottom: 6px; font-size: 18px; }
  .product_explain > h3 { margin: 19px 0 7px; font-size: 15px; }
  .product_explain > p { margin-bottom: 12px; font-size: 14px; line-height: 1.85; }
  .product_explain .product-spec-table { margin: 7px 0 18px; font-size: 14px; }
  .product_explain .product-spec-table th, .product_explain .product-spec-table td { padding: 7px 8px !important; }
  .product_explain .product-spec-table th { width: 34%; }
  .product_explain .product-spec-table td { width: 66%; }
  .product_explain .product-spec-table + h3 { margin-top: 18px; }
  .product_explain .product-guide-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 20px; }
  .product_explain .product-guide-actions .category-guide__button { width: 100%; min-width: 0; }
}




/* スマホ：黒背景の見出しは白文字 */

@media (max-width: 768px) {
  #side .side_category_heading a { color: #ffffff !important; }
  #side .side_category_heading a:hover { color: #f1de6e !important; }
}

/* スマートフォンメニューの整理 */

@media (max-width: 768px) {
  #sidebarMenu { background: #ffffff !important; color: #222222 !important; box-shadow: 4px 0 18px rgba(0,0,0,0.22); overflow-y: auto; -webkit-overflow-scrolling: touch; }
  #sidebarMenu .sp-menu-inner { padding: 18px 14px 50px; background: #ffffff; box-sizing: border-box; }
  #sidebarMenu ul, #sidebarMenu li, #sidebarMenu dl, #sidebarMenu dt, #sidebarMenu dd { margin: 0; padding-left: 0; list-style: none; }
  #sidebarMenu .sp-menu-main-title { margin: 0 0 14px; padding: 0 0 12px; border-bottom: 2px solid #222222; color: #222222; font-size: 20px; font-weight: bold; line-height: 1.4; }
  #sidebarMenu .sp-menu-search { margin: 0 0 22px; padding: 14px; border: 1px solid #d5d5d5; background: #f6f6f6; box-sizing: border-box; }
  #sidebarMenu .sp-menu-search-title { margin: 0 0 9px; color: #222222; font-size: 14px; font-weight: bold; line-height: 1.5; }
  #sidebarMenu .sp-product-search-form { display: flex; width: 100%; margin: 0; }
  #sidebarMenu .sp-product-search-input { flex: 1 1 auto; min-width: 0; height: 44px; margin: 0; padding: 8px 10px; border: 1px solid #777777; border-radius: 3px 0 0 3px; background: #ffffff; color: #222222; font-size: 16px; box-sizing: border-box; }
  #sidebarMenu .sp-product-search-button { flex: 0 0 68px; height: 44px; margin: 0; padding: 0 8px; border: 1px solid #cbb13b; border-radius: 0 3px 3px 0; background: #f1de6e; color: #222222; font-size: 14px; font-weight: bold; line-height: 42px; box-sizing: border-box; }
  #sidebarMenu .sp-menu-section-title { margin: 24px 0 0; padding: 10px 12px; border: 0; background: #222222; color: #ffffff; font-size: 15px; font-weight: bold; line-height: 1.5; }
  #sidebarMenu .sp-menu-section-title:first-child { margin-top: 0; }
  #sidebarMenu .sp-menu-accordion, #sidebarMenu .sp-menu-single-link { border-right: 1px solid #d6d6d6; border-bottom: 1px solid #d6d6d6; border-left: 1px solid #d6d6d6; background: #ffffff; }
  #sidebarMenu .sp-menu-accordion dt, #sidebarMenu .sp-menu-single-link > a { position: relative; display: block; min-height: 48px; padding: 13px 42px 13px 14px; background: #ffffff !important; color: #222222 !important; font-size: 14px; font-weight: normal; line-height: 1.55; text-align: left; text-decoration: none; box-sizing: border-box; }
  #sidebarMenu .sp-menu-accordion dt { cursor: pointer; font-weight: bold; }
  #sidebarMenu .sp-menu-accordion dt::after { content: "+"; position: absolute; top: 50%; right: 15px; color: #555555; font-size: 21px; font-weight: normal; line-height: 1; transform: translateY(-50%); }
  #sidebarMenu .sp-menu-accordion dt.active::after, #sidebarMenu .sp-menu-accordion dt.open::after { content: "-"; }
  #sidebarMenu .sp-menu-accordion dd { margin: 0; padding: 0; border-top: 1px solid #d6d6d6; background: #f7f7f7; }
  #sidebarMenu .sp-menu-accordion dd a { position: relative; display: block; min-height: 45px; padding: 12px 36px 12px 24px; border-bottom: 1px solid #e1e1e1; background: #f7f7f7 !important; color: #333333 !important; font-size: 13px; line-height: 1.55; text-align: left; text-decoration: none; box-sizing: border-box; }
  #sidebarMenu .sp-menu-accordion dd a:last-child { border-bottom: 0; }
  #sidebarMenu .sp-menu-accordion dd a::after, #sidebarMenu .sp-menu-single-link > a::after { content: ">"; position: absolute; top: 50%; right: 15px; color: #777777; font-size: 14px; line-height: 1; transform: translateY(-50%); }
  #sidebarMenu a:hover, #sidebarMenu a:focus { background: #fffbea !important; color: #222222 !important; }
  #sidebarMenu .sp-menu-external-link > a { padding-right: 100px; }
  #sidebarMenu .sp-menu-external-badge { position: absolute; top: 50%; right: 28px; display: inline-block; padding: 2px 5px; border: 1px solid #777777; border-radius: 2px; background: #ffffff; color: #555555; font-size: 10px; font-weight: normal; line-height: 1.4; white-space: nowrap; transform: translateY(-50%); }
  #sidebarMenu .sp-menu-external-link > a::after { content: ""; }
  #sidebarMenu .sp-menu-cart-link > a { font-weight: bold; }
  #sidebarMenu .sp-menu-favorite-link > a { color: #d94f7d !important; }
  #sidebarMenu .sp-menu-favorite-link > a:hover, #sidebarMenu .sp-menu-favorite-link > a:focus { color: #c23f6c !important; }

  /* スマホヘッダーは画面上部に固定しない */
  #head, #head .sp, #head .sp > h1 { position: relative !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; width: auto; transform: none !important; }
  #head { z-index: 2147482998 !important; }
  #head .sp { width: 100% !important; z-index: 2147482999 !important; }
  #head .sp > h1 { margin-top: 0; }

  /* 固定ヘッダー用に入っていた上部の空きを解除 */
  body { padding-top: 0 !important; }
  #wrapper { margin-top: 0 !important; padding-top: 0 !important; }

  /* メニューだけをヘッダーより上の最前面に表示 */
  #head #sidebarMenu { position: fixed !important; top: 0 !important; right: auto !important; bottom: 0 !important; left: 0 !important; width: 100% !important; height: 100vh !important; height: 100dvh !important; margin-top: 0 !important; padding-bottom: 0 !important; z-index: 2147483000 !important; box-sizing: border-box; visibility: hidden; pointer-events: none; transform: translateX(100%) !important; transition: transform 0.3s ease,visibility 0.3s ease; }

  /* メニューを開いたときだけ画面内へ表示 */
  #head .openSidebarMenu:checked ~ #sidebarMenu { visibility: visible; pointer-events: auto; transform: translateX(0) !important; }

  /* メニューを閉じるボタンはメニューより前面に残す */
  #head .sidebarIconToggle { position: absolute !important; z-index: 2147483001 !important; }
  #head .openSidebarMenu:checked ~ .sidebarIconToggle { position: fixed !important; }

  /* 固定ページ送りや端末下部と重ならない余白 */
  #sidebarMenu .sp-menu-inner { min-height: 100%; padding-bottom: 20px !important; }

  /* メニュー末尾に確実なスクロール余白を作る */
  #sidebarMenu .sp-menu-nav::after { content: ""; display: block; width: 100%; height: calc(180px + env(safe-area-inset-bottom)); }

  /* メニュー表示中はトップページのスライダー矢印を隠す */
  body:has(#openSidebarMenu:checked) .slick-prev, body:has(#openSidebarMenu:checked) .slick-next, body:has(#openSidebarMenu:checked) .bx-prev, body:has(#openSidebarMenu:checked) .bx-next, body:has(#openSidebarMenu:checked) .bx-controls-direction, body:has(#openSidebarMenu:checked) .rank_box, body:has(#openSidebarMenu:checked) [class*="rank_box"] { visibility: hidden !important; pointer-events: none !important; }
}

/* カテゴリー上説明：全カテゴリー共通 */
.category-guide { width: 100%; margin: 0 0 32px; color: #2f2a24; font-size: 16px; line-height: 1.8; box-sizing: border-box; }
.category-guide *, .category-guide *::before, .category-guide *::after { box-sizing: border-box; }
.category-guide p { margin: 0; }
.category-guide__header { margin-bottom: 20px; }
.category-guide__eyebrow { margin-bottom: 5px !important; color: #7a674a; font-size: 14px; font-weight: 700; letter-spacing: 0.08em; }
.category-guide__header h2 { margin: 0 0 12px; padding-left: 12px; border-left: 4px solid #f1cf57; color: #2f2a24; font-size: 22px; font-weight: 700; line-height: 1.5; }
.category-guide__cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 20px; }
.category-guide__card { padding: 18px; border: 1px solid #ded7ca; border-radius: 6px; background: #fbfaf7; }
.category-guide__card h3, .category-guide__points h3 { margin: 0 0 8px; color: #2f2a24; font-size: 18px; font-weight: 700; line-height: 1.5; }
.category-guide__points { padding: 18px; border: 1px solid #eadca8; border-radius: 6px; background: #fffbed; }
.category-guide__points ul { margin: 0; padding-left: 1.4em; list-style: disc outside !important; }
.category-guide__points li { display: list-item !important; list-style: disc outside !important; }
.category-guide__points li + li { margin-top: 5px; }
.category-guide__points li::marker { color: #7a674a; }
.category-guide__note { margin-top: 12px !important; color: #5f564c; font-size: 14px; }
.category-guide__actions { display: flex; align-items: center; gap: 18px; margin-top: 18px; }
.category-guide__label { margin-bottom: 3px !important; color: #7a674a; font-size: 13px; font-weight: 700; }
.category-guide__button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 24px; border: 1px solid #dfbc3f; border-radius: 999px; background: #f3d66b; color: #2f2a24 !important; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none !important; }
.category-guide__button:hover, .category-guide__button:focus-visible { border-color: #cda62f; background: #e8c64e; }
.category-guide__link { color: #2348a6; text-decoration: underline; text-underline-offset: 3px; }

@media screen and (max-width: 768px) {
  .category-guide { margin-bottom: 26px; font-size: 14px; line-height: 1.75; }
  .category-guide__eyebrow { font-size: 14px; }
  .category-guide__header h2 { font-size: 18px; }
  .category-guide__cards { grid-template-columns: 1fr; gap: 10px; }
  .category-guide__card, .category-guide__points { padding: 14px; }
  .category-guide__card h3, .category-guide__points h3 { font-size: 16px; }
  .category-guide__actions { display: block; }
  .category-guide__button { width: 100%; }
  .category-guide__link { display: block; margin-top: 14px; text-align: center; }
}

/* =========================================================
   読み物ページ共通
   初めての方へ・よくある質問・桐箱の選び方で共用
   ========================================================= */
:is(#guide, #faq, #kiribako-choice) { --content-ink: #2f2a24; --content-muted: #6f675e; --content-line: #ded7cd; --content-bg: #f8f5f0; --content-card: #fff; --content-accent: #795936; --content-soft: #efe5d8; --content-yellow: #ffdf70; --content-answer: #46684f; --content-nav-columns: 4; box-sizing: border-box; width: 100%; max-width: 1080px; margin: 0 auto; padding: 24px 18px 56px; color: var(--content-ink); font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,Meiryo,sans-serif; font-size: 16px; line-height: 1.8; }
#guide { --content-nav-columns: 3; }
:is(#guide, #faq, #kiribako-choice) *, :is(#guide, #faq, #kiribako-choice) *::before, :is(#guide, #faq, #kiribako-choice) *::after { box-sizing: inherit; }
:is(#guide, #faq, #kiribako-choice) a { color: var(--content-accent); text-underline-offset: 3px; }
:is(#guide, #faq, #kiribako-choice) img { display: block; max-width: 100%; height: auto; }
:is(#guide, #faq, #kiribako-choice) :is(.guide-hero, .faq-hero, .choice-hero) { padding: 44px 36px; border: 1px solid var(--content-line); background: linear-gradient(135deg,#fff 0%,var(--content-bg) 100%); text-align: center; }
:is(#guide, #faq, #kiribako-choice) :is(.guide-kicker, .faq-kicker, .choice-kicker) { margin: 0 0 6px; color: var(--content-accent); font-size: 14px; font-weight: 700; letter-spacing: .14em; }
:is(#guide, #faq, #kiribako-choice) h1 { margin: 0; color: var(--content-ink); font-size: clamp(28px,5vw,42px); line-height: 1.35; letter-spacing: .04em; }
:is(#guide, #faq, #kiribako-choice) :is(.guide-lead, .faq-lead, .choice-lead) { max-width: 820px; margin: 16px auto 0; color: var(--content-muted); }
#guide .guide-lead { line-break: strict; text-align: left; text-wrap: pretty; word-break: normal; }
:is(#guide, #faq) :is(.guide-updated, .faq-updated) { margin: 12px 0 0; color: var(--content-muted); font-size: 14px; }
:is(#guide, #faq, #kiribako-choice) :is(.guide-nav, .faq-nav, .choice-nav) { display: grid; grid-template-columns: repeat(var(--content-nav-columns),minmax(0,1fr)); gap: 10px; margin: 24px 0 42px; }
:is(#guide, #faq, #kiribako-choice) :is(.guide-nav, .faq-nav, .choice-nav) a { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 10px 12px; border: 1px solid var(--content-line); border-radius: 6px; background: var(--content-card); color: var(--content-ink); font-weight: 700; text-align: center; text-decoration: none; }
:is(#guide, #faq, #kiribako-choice) :is(.guide-nav, .faq-nav, .choice-nav) a:hover, :is(#guide, #faq, #kiribako-choice) :is(.guide-nav, .faq-nav, .choice-nav) a:focus-visible { border-color: var(--content-accent); background: var(--content-soft); }
:is(#guide, #faq, #kiribako-choice) :is(.guide-section, .faq-section, .choice-section) { margin: 0 0 44px; scroll-margin-top: 24px; }
:is(#guide, #faq, #kiribako-choice) :is(.guide-section, .faq-section, .choice-section) > h2, #kiribako-choice .choice-order > h2 { margin: 0 0 15px; padding: 0 0 12px; border-bottom: 2px solid var(--content-accent); color: var(--content-ink); font-size: clamp(21px,3vw,27px); line-height: 1.45; }
:is(#guide, #faq) :is(.guide-item, .faq-item), #guide .guide-static { margin: 0 0 12px; overflow: hidden; border: 1px solid var(--content-line); border-radius: 8px; background: var(--content-card); }
:is(#guide, #faq) :is(.guide-item, .faq-item) summary { display: grid; gap: 12px; align-items: center; min-height: 64px; padding: 14px 18px; cursor: pointer; font-size: 17px; font-weight: 700; line-height: 1.55; list-style: none; }
:is(#guide, #faq) :is(.guide-item, .faq-item) summary::-webkit-details-marker { display: none; }
:is(#guide, #faq) :is(.guide-item, .faq-item) summary:hover, :is(#guide, #faq) :is(.guide-item, .faq-item) summary:focus-visible { background: var(--content-bg); }
#guide .guide-item summary { grid-template-columns: minmax(0,1fr) 28px; }
#faq .faq-item summary { grid-template-columns: 36px minmax(0,1fr) 28px; }
:is(#guide, #faq) :is(.guide-toggle, .faq-toggle) { position: relative; width: 26px; height: 26px; border-radius: 50%; background: var(--content-soft); }
:is(#guide, #faq) :is(.guide-toggle, .faq-toggle)::before { position: absolute; inset: 0; content: "+"; color: var(--content-accent); font-size: 21px; font-weight: 400; line-height: 25px; text-align: center; }
:is(#guide, #faq) :is(.guide-item, .faq-item)[open] :is(.guide-toggle, .faq-toggle)::before { content: "−"; }
:is(#guide, #faq) :is(.guide-content, .faq-answer) { padding: 19px 20px 22px; border-top: 1px solid var(--content-line); background: var(--content-bg); }
:is(#guide, #faq) :is(.guide-content, .faq-answer) p { margin: 0; }
:is(#guide, #faq) :is(.guide-content, .faq-answer) p + p { margin-top: 10px; }
:is(#guide, #faq) :is(.guide-link, .faq-link) { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; padding: 7px 14px; border: 1px solid var(--content-accent); border-radius: 5px; font-weight: 700; text-decoration: none; }
:is(#guide, #faq) :is(.guide-link, .faq-link):hover, :is(#guide, #faq) :is(.guide-link, .faq-link):focus-visible { background: var(--content-soft); }
:is(#guide, #faq) :is(.guide-contact, .faq-contact) { margin-top: 46px; padding: 34px 28px; border-radius: 8px; background: var(--content-soft); text-align: center; }
:is(#guide, #faq) :is(.guide-contact, .faq-contact) h2 { margin: 0 0 8px; font-size: 24px; }
:is(#guide, #faq) :is(.guide-contact, .faq-contact) p { margin: 0; }
:is(#guide, #faq) :is(.guide-top-link, .faq-top-link) { margin-top: 24px; text-align: right; }

/* 初めての方へ */
#guide .guide-anchor { scroll-margin-top: 24px; }
#guide .guide-about { margin: 24px 0; padding: 28px 30px; border: 1px solid var(--content-line); border-radius: 8px; background: #fff; }
#guide .guide-about h2 { margin: 0 0 10px; color: var(--content-ink); font-size: clamp(21px,3vw,27px); line-height: 1.45; }
#guide .guide-about p { margin: 0; }
#guide .guide-about p + p { margin-top: 10px; }
#guide .guide-features { margin: 30px 0 34px; }
#guide .guide-features > h2 { margin: 0 0 18px; font-size: clamp(23px,3vw,30px); line-height: 1.45; text-align: center; }
#guide .guide-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
#guide .guide-feature-card { display: flex; flex-direction: column; align-items: center; min-width: 0; padding: 22px 18px 20px; border: 1px solid var(--content-line); border-radius: 8px; background: #fff; text-align: center; }
#guide .guide-feature-card img { width: 100%; max-width: 220px; height: 168px; margin: 0 auto 15px; object-fit: contain; }
#guide .guide-feature-number { width: 100%; margin: 0 0 3px; color: var(--content-accent); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-align: center !important; }
#guide .guide-feature-card h3 { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 58px; margin: 0 0 9px; color: var(--content-ink); font-size: 19px; line-height: 1.5; text-align: center; }
#guide .guide-feature-card p { width: 100%; margin: 0; color: var(--content-muted); font-size: 16px; line-height: 1.75; text-align: left; }
#guide .guide-feature-card .guide-link { margin-top: auto; transform: translateY(12px); }
#guide .guide-points { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 18px; align-items: center; margin-top: 18px; padding: 20px 22px; border: 1px solid #e2c35d; border-radius: 8px; background: #fff8d9; }
#guide .guide-points-label { display: inline-flex; align-items: center; justify-content: center; min-width: 78px; min-height: 42px; padding: 7px 12px; border-radius: 100px; background: var(--content-yellow); color: var(--content-ink); font-size: 14px; font-weight: 800; letter-spacing: .08em; }
#guide .guide-points-body h3 { margin: 0 0 4px; color: var(--content-ink); font-size: 19px; line-height: 1.5; }
#guide .guide-points-body p { margin: 0; color: var(--content-muted); font-size: 16px; line-height: 1.75; }
#guide .guide-points .guide-link { margin-top: 0; white-space: nowrap; }
#guide .guide-static { margin-bottom: 20px; }
#guide .guide-static .guide-content { border-top: 0; background: #fff; }
#guide .guide-content ul { margin: 10px 0 0; padding-left: 1.35em; }
#guide .guide-content li + li { margin-top: 5px; }
#guide .guide-note { margin: 14px 0 0; padding: 13px 15px; border-left: 4px solid var(--content-accent); background: #fff; }
#guide .guide-contact .guide-link { background: var(--content-accent); color: #fff; }

/* よくある質問 */
#faq .faq-q, #faq .faq-a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 50%; color: #fff; font-family: Georgia,serif; font-weight: 700; line-height: 1; }
#faq .faq-q { background: var(--content-accent); }
#faq .faq-a { margin-top: 1px; background: var(--content-answer); }
#faq .faq-answer { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 12px; }
#faq .faq-contact-button { display: inline-flex; align-items: center; justify-content: center; min-width: 230px; min-height: 50px; margin-top: 18px; padding: 10px 24px; border-radius: 5px; background: var(--content-accent); color: #fff; font-weight: 700; text-decoration: none; }
#faq .faq-contact-button:hover, #faq .faq-contact-button:focus-visible { opacity: .86; }

/* 桐箱の選び方 */
#kiribako-choice .choice-section p { margin: 0; }
#kiribako-choice .choice-section-lead { margin-bottom: 18px !important; }
#kiribako-choice .choice-size-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 22px 0 18px; }
#kiribako-choice .choice-size-list > div { display: grid; grid-template-columns: 62px minmax(0,1fr); overflow: hidden; border: 1px solid var(--content-line); border-radius: 7px; background: #fff; }
#kiribako-choice .choice-size-list dt { display: flex; align-items: center; justify-content: center; margin: 0; background: var(--content-accent); color: #fff; font-size: 25px; font-weight: 700; }
#kiribako-choice .choice-size-list dd { margin: 0; padding: 12px 14px; }
#kiribako-choice .choice-size-list dd strong, #kiribako-choice .choice-size-list dd span { display: block; }
#kiribako-choice .choice-size-list dd span { color: var(--content-muted); font-size: 13px; }
#kiribako-choice .choice-note { padding: 14px 16px; border-left: 4px solid var(--content-accent); background: var(--content-bg); }
#kiribako-choice :is(.choice-size-image, .choice-type-image) { width: fit-content; max-width: 100%; margin: 18px auto; text-align: center; }
#kiribako-choice :is(.choice-size-image, .choice-type-image) img { width: auto; max-width: 100%; margin-right: auto; margin-left: auto; }
#kiribako-choice .choice-check-list { margin: 0; padding: 22px 24px 22px 46px; border: 1px solid var(--content-line); border-radius: 7px; background: var(--content-bg); }
#kiribako-choice .choice-check-list li + li { margin-top: 9px; }
#kiribako-choice .choice-type-list { display: grid; gap: 14px; }
#kiribako-choice .choice-type-card { display: grid; grid-template-columns: 74px minmax(0,1fr); overflow: hidden; border: 1px solid var(--content-line); border-radius: 8px; background: #fff; }
#kiribako-choice .choice-type-number { display: flex; align-items: flex-start; justify-content: center; padding-top: 23px; background: var(--content-bg); color: var(--content-accent); font-size: 17px; font-weight: 700; letter-spacing: .08em; }
#kiribako-choice .choice-type-body { padding: 20px 22px 22px; }
#kiribako-choice .choice-type-body h3 { margin: 0 0 8px; color: var(--content-ink); font-size: 21px; line-height: 1.5; }
#kiribako-choice .choice-type-image { margin: 0 auto 16px; }
#kiribako-choice .choice-type-image img { border: 0 !important; border-radius: 6px; outline: 0 !important; box-shadow: none !important; }
#kiribako-choice .choice-type-body p { margin: 0; }
#kiribako-choice .choice-type-body p + p { margin-top: 8px; }
#kiribako-choice .choice-structure { display: flex; gap: 12px; align-items: center; margin-top: 14px !important; font-weight: 700; }
#kiribako-choice .choice-structure span { display: inline-block; padding: 2px 9px; border-radius: 100px; background: var(--content-accent); color: #fff; font-size: 13px; font-weight: 700; }
#kiribako-choice .choice-warning { margin-top: 14px !important; padding: 12px 14px; border-left: 4px solid #d39b25; background: #fff8dc; }
#kiribako-choice .choice-warning strong { display: block; margin-bottom: 2px; }
#kiribako-choice .choice-diagram-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-width: 760px; margin-top: 18px; }
#kiribako-choice .choice-diagram-grid img { width: auto; max-width: 100%; margin-right: auto; margin-left: auto; border: 0 !important; border-radius: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; }
#kiribako-choice .choice-order { scroll-margin-top: 24px; padding: 30px; border-radius: 8px; background: var(--content-bg); text-align: center; }
#kiribako-choice .choice-order > h2 { margin-bottom: 8px; padding: 0; border: 0; }
#kiribako-choice .choice-order p { margin: 0; }
#kiribako-choice .choice-order-button { display: inline-flex; align-items: center; justify-content: center; min-width: 230px; min-height: 50px; margin-top: 18px; padding: 10px 24px; border: 1px solid #d3ad35; border-radius: 100px; background: var(--content-yellow); color: var(--content-ink); font-weight: 700; text-decoration: none; }
#kiribako-choice .choice-order-button:hover, #kiribako-choice .choice-order-button:focus-visible { background: #f1c94f; }

@media screen and (max-width: 760px) {
  :is(#guide, #faq, #kiribako-choice) { position: relative; left: calc(50% - 50vw + 14px); width: calc(100vw - 28px); max-width: none; margin: 0; padding: 12px 0 42px; font-size: 15px; }
  :is(#guide, #faq, #kiribako-choice) :is(.guide-hero, .faq-hero, .choice-hero) { padding: 30px 18px; }
  :is(#guide, #faq, #kiribako-choice) :is(.guide-nav, .faq-nav, .choice-nav) { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 34px; }
  :is(#guide, #faq) :is(.guide-contact, .faq-contact) { padding: 27px 17px; }
  #guide .guide-feature-grid { grid-template-columns: 1fr; }
  #guide .guide-feature-card { padding: 20px 16px; }
  #guide .guide-feature-card img { max-width: 200px; height: 150px; }
  #guide .guide-feature-card .guide-link { margin-top: 12px; transform: none; }
  #guide .guide-points { grid-template-columns: 1fr; gap: 10px; padding: 18px 16px; }
  #guide .guide-points-label, #guide .guide-points .guide-link { justify-self: start; }
  #guide .guide-item summary { padding-right: 12px; padding-left: 14px; }
  #guide .guide-content { padding: 17px 14px 20px; }
  #guide .guide-about { padding: 22px 17px; }
  #faq .faq-item summary { grid-template-columns: 32px minmax(0,1fr) 24px; gap: 9px; padding-right: 12px; padding-left: 12px; }
  #faq .faq-answer { grid-template-columns: 32px minmax(0,1fr); gap: 9px; padding-right: 12px; padding-left: 12px; }
  #faq .faq-q, #faq .faq-a { width: 29px; height: 29px; flex-basis: 29px; }
  #kiribako-choice .choice-size-list { grid-template-columns: 1fr; }
  #kiribako-choice .choice-check-list { padding: 18px 16px 18px 38px; }
  #kiribako-choice .choice-type-card { grid-template-columns: 50px minmax(0,1fr); }
  #kiribako-choice .choice-type-number { padding-top: 20px; font-size: 14px; }
  #kiribako-choice .choice-type-body { padding: 17px 14px 19px; }
  #kiribako-choice .choice-type-body h3 { font-size: 19px; }
  #kiribako-choice .choice-structure { align-items: flex-start; flex-direction: column; gap: 5px; }
  #kiribako-choice .choice-diagram-grid { grid-template-columns: 1fr; }
  #kiribako-choice .choice-order { padding: 27px 17px; }
}
