
.ec-layoutRole .ec-layoutRole__contents{
    max-width: 9999px;
    display: block;
    flex-wrap: unset;
    flex-grow: unset;
    color: black;
}
.ec-blockTopBtn{
    display: none;
}
.ec-layoutRole .ec-layoutRole__contents {max-width: none !important; padding-top: 74px}
.other_page .ec-layoutRole .ec-layoutRole__contents {padding:26px 0 100px 0}
/* about_visit 専用: コンテンツ幅固定。body.about_visit はエンジニア付与(2026-06-30)で局所化・横展開しない。PC専用(pc.css と同じ min-width:641px)でモバイル横スクロール防止 */
@media screen and (min-width:641px){body.about_visit #contents_wrap{width:1280px;margin:auto}}

/* recruit01-04: hide breadcrumb (#pankz). title empty so pan_navi cant condition; scope by body class */
body.recruit #pankz,body.recruit01 #pankz,body.recruit02 #pankz,body.recruit03 #pankz,body.recruit04 #pankz,body.recruit05 #pankz{display:none} /* recruit(一覧)/05も追加: ページ本文側に独自パンくずがあり二重表示のため */

/* blog detail body from prod: scoped .blogcon (article body only; list/product/#item_detail_wrap untouched) */
.blogcon .asset-header h1{font-size:22px;padding:20px 0;line-height:160%}
.blogcon ul.asset-meta-list{clear:both;margin:0;padding:10px;background-color:#f7f7f7}
.blogcon ul.asset-meta-list li{list-style:none;margin:0;padding:0 10px;display:table-cell;border-right:1px solid #ddd;font-size:12px}
.blogcon ul.asset-meta-list li:last-child{border:none}
.blogcon .entry-content{font-size:16px;line-height:180%}
.blogcon .entry-content img{max-width:100%;height:auto}
.blogcon img.mt-image-center{width:80% !important;height:auto;margin:auto}
.blogcon .entry-content h2{position:relative;padding:20px 0;margin:50px 0 20px 0;font-size:18px;color:dodgerblue;border-bottom:5px solid #f7f7f7;clear:both}
.blogcon .entry-content h2:before{position:absolute;bottom:-5px;left:0;width:60px;height:5px;content:"";border-radius:3px;background:dodgerblue;z-index:10}
.blogcon .entry-content h3{position:relative;padding:0 0 0 24px;font-size:20px}
.blogcon .entry-content h3::before{content:'';display:block;width:4px;height:30px;background-color:dodgerblue;position:absolute;top:-2px;left:0}
.blogcon .entry-content hr{margin:50px 0 !important}
.blogcon .entry-content blockquote{display:inline}
.blogcon nav.page-navigation{display:table;border-top:1px solid #ddd;border-bottom:1px solid #ddd;clear:both;width:100%;margin:100px 0 0 0}
.blogcon nav.page-navigation ul{display:table-row}
.blogcon nav.page-navigation ul li{display:table-cell;width:50%;padding:10px 0}
.blogcon nav.page-navigation ul li.page-navigation-prev{text-align:left}
.blogcon nav.page-navigation ul li.page-navigation-next{text-align:right}
.blogcon .center{text-align:center}
.blogcon .yellow{background-color:#fbeeb8}
.blogcon .bluebtn{margin:18px 0 0 0;padding:8px 18px;color:#fff;background-color:#007eda;text-decoration:none;border-radius:8px}
.blogcon .bluebtn a{color:#fff}
.blogcon .blogtable{border-top:1px solid #ddd;border-right:1px solid #ddd}
.blogcon .blogtable caption{background-color:#f7f7f7;padding:10px;font-weight:bold}
.blogcon .blogtable th{padding:15px;background-color:#f7f7f7;border-bottom:1px solid #ddd;border-left:1px solid #ddd}
.blogcon .blogtable td{padding:15px;border-bottom:1px solid #ddd;border-left:1px solid #ddd}

/* blogcon is a <dt>; Bootstrap dt{font-weight:700} makes body bold. reset to normal (headings keep own weight) */
.blogcon{font-weight:normal}

/* help/agreement title unify to /user_data/rule (.kaso_h1title); scoped body#page_help_agreement, core untouched */
body#page_help_agreement .ec-pageHeader{position:relative;padding:1rem 0rem;border-bottom:3px solid #e5e5e5;margin:0 0 50px 0}
body#page_help_agreement .ec-pageHeader:before{position:absolute;bottom:-3px;left:0;width:20%;height:3px;content:"";background:#0f43c9}
body#page_help_agreement .ec-pageHeader h1,body#page_help_agreement .ec-pageHeader .h1{font-family:"Noto Sans JP",sans-serif;font-size:22px;font-weight:700;margin:0;padding:0;border:none}

/* breadcrumb #pankz: products/list等 pc-c.css非読込ページで p既定margin(16px)が付く → pc-c.css仕様(margin0/padding-top10px)に全ページ統一 */
#pankz{margin:0;padding:10px 0 10px 10px}

/* ------------------------------------------------------------------
   目安価格の見た目を会員価格と統一（太字なし・Noto Sans。色は青のまま）
   - .meyasu_price の bold を打ち消し (global.css:617)
   - twig側の金額行クラスが note-sans (noto-sans のタイポ) のため同定義を適用
   2026-08-11 */
p.meyasu_price {
    font-weight: normal;
}
p.yen.note-sans {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
}

/* ------------------------------------------------------------------
   予約品バッジと目安価格の間隔を短縮 (span の margin-bottom 30px → 8px)
   2026-08-11 */
p.yoyaku span {
    margin-bottom: 8px;
}

/* ------------------------------------------------------------------
   商品お問い合わせ (PiaContact /product_contact) の商品画像を縮小
   2026-08-11 */
.pia-form-table img.product-img {
    max-width: 150px;
    height: auto;
    display: block;
    margin-bottom: 8px;
}

/* ------------------------------------------------------------------
   商品詳細ページの縦横暴走対策 (2026-08-11)
   スライダー(slider-pro)初期化前は画像が縦に積み上がりページが
   ~7000px になり、その高さを detail.twig のカート固定スクリプトが
   #cartbox のインライン height に焼き付けてしまう。
   初期化前 (.sp-horizontal 付与前) は高さを制限して積み上げを防ぐ。 */
#palace_img_area:not(.sp-horizontal):not(.sp-vertical) {
    max-height: 900px;
    overflow: hidden;
}

/* ------------------------------------------------------------------
   「最近チェックした商品」(check_product42のSwiper) が商品詳細テーブルを
   押し広げて横スクロールが暴走するバグの修正 (2026-08-11)
   - スライドは flex-shrink:0 の幅598px。履歴件数分の合計幅まで
     table-cell (dt#left) が膨張していた
   - table-layout:fixed で宣言幅を強制し、swiper側にも上限を設ける */
#syousai_btm {
    table-layout: fixed;
}
#syousai_btm dt#left .ec-layoutRole__mainBottom,
#syousai_btm dt#left .ichiran_coinlist.swiper {
    max-width: 1200px; /* dt#left の幅 (1500pxの80%) */
    min-width: 0;
    overflow: hidden;
}

/* ページネーション「最初へ/前へ/次へ/最後へ」が無効(リンク先なし)の時にグレーアウト表示 */
.pager2 th.p_no a[href="javascript:void(0)"]{
    color: #ccc !important;
    border-color: #eee !important;
    cursor: default;
    pointer-events: none;
}
.pager2 th.p_no a[href="javascript:void(0)"]:hover{
    background-color: transparent !important;
}