@charset "UTF-8";
/* ============================================================== */
/* RKプランニング 新BtoBサイト 商品説明用CSS（統合版）              */
/* 全3,749商品 / 285ユニーククラス対応 + asia-kobo準拠調整          */
/* 出典: アジア工房 fs_original.css(theme5) + 8322.css + 表示調整   */
/* 生成日: 2026/05/12                                            */
/* ============================================================== */

/* =============================================================== */
/* セクション1: 商品説明エリア全体のフォント統一（asia-kobo準拠）    */
/* =============================================================== */
.product-comment_1_2_3,
.product-comment_1_2_3 *,
.itemDetail,
.itemDetail *,
.itemDetail2,
.itemDetail2 *,
.new_lay,
.new_lay *,
.new_lay2,
.new_lay2 *,
.goodsComment02,
.goodsComment02 *,
.cntPtn01,
.cntPtn01 *,
.cntCrs01,
.cntCrs01 * {
  font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Hiragino Sans", sans-serif !important;
}

.product-comment_1_2_3,
.itemDetail,
.new_lay,
.new_lay2 {
  font-weight: 300;
  line-height: 2.0;
  color: #333;
  font-size: 19px; /* PCデフォルト：body 15px から大幅アップ */
}

.product-comment_1_2_3 {
  text-align: center;
}

.product-comment_1_2_3 p,
.product-comment_1_2_3 td,
.product-comment_1_2_3 div,
.product-comment_1_2_3 span,
.product-comment_1_2_3 li,
.itemDetail p,
.itemDetail td,
.itemDetail div,
.itemDetail span,
.itemDetail li,
.new_lay p,
.new_lay td,
.new_lay div,
.new_lay span,
.new_lay li {
  font-size: inherit; /* コンテナを継承（.fXXクラスは !important で上書き） */
}

.product-comment_1_2_3 p {
  margin: 0 0 1em;
  line-height: 2.0;
}

/* PC（1024px以上）でさらに見やすく */
@media screen and (min-width: 1024px) {
  .product-comment_1_2_3,
  .itemDetail,
  .new_lay,
  .new_lay2 {
    font-size: 20px;
    line-height: 2.0;
  }
  /* PC時、小さめfXXクラスも視認性確保のため1段アップ */
  .product-comment_1_2_3 .f12,
  .itemDetail .f12,
  .new_lay .f12 { font-size: 14px !important; }
  .product-comment_1_2_3 .f13,
  .itemDetail .f13,
  .new_lay .f13 { font-size: 15px !important; }
  .product-comment_1_2_3 .f14,
  .itemDetail .f14,
  .new_lay .f14 { font-size: 16px !important; }
  .product-comment_1_2_3 .f15,
  .itemDetail .f15,
  .new_lay .f15 { font-size: 17px !important; }
  .product-comment_1_2_3 .f16,
  .itemDetail .f16,
  .new_lay .f16 { font-size: 18px !important; }
  .product-comment_1_2_3 .f17,
  .itemDetail .f17,
  .new_lay .f17 { font-size: 19px !important; }
  .product-comment_1_2_3 .f18,
  .itemDetail .f18,
  .new_lay .f18 { font-size: 20px !important; }
}

/* 大型PC（1600px以上）はさらに大きく */
@media screen and (min-width: 1600px) {
  .product-comment_1_2_3,
  .itemDetail,
  .new_lay,
  .new_lay2 {
    font-size: 22px;
    line-height: 2.0;
  }
}

/* タブレット縦（768〜1023px） */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .product-comment_1_2_3,
  .itemDetail,
  .new_lay,
  .new_lay2 {
    font-size: 17px;
    line-height: 1.9;
  }
}

/* スマホ（〜767px）は従来通り（あえて変えない） */
@media screen and (max-width: 767px) {
  .product-comment_1_2_3,
  .itemDetail,
  .new_lay,
  .new_lay2 {
    font-size: 15px;
    line-height: 1.8;
  }
}

.product-comment_1_2_3 img,
.itemDetail img,
.new_lay img,
.new_lay2 img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  vertical-align: top;
}

.product-comment_1_2_3 hr {
  margin: 30px 0;
  border: none;
  border-top: 1px solid #ccc;
}

.product-comment_1_2_3 ul,
.product-comment_1_2_3 ol {
  padding-left: 1.5em;
  text-align: left;
  margin: 10px auto;
  max-width: 780px;
}

.product-comment_1_2_3 a,
.itemDetail a {
  color: #2c5ea0;
}

/* =============================================================== */
/* セクション2: テキスト揃え                                       */
/* =============================================================== */
.tc { text-align:center !important; }
.tl { text-align:left !important; }
.tr { text-align:right !important; }
.aligncenter { text-align:center !important; }
.has-text-align-center { text-align:center !important; }
.has-text-align-right { text-align:right !important; }
.is-content-justification-center { justify-content:center !important; }
.is-content-justification-right { justify-content:flex-end !important; }
.is-content-justification-left { justify-content:flex-start !important; }

/* =============================================================== */
/* セクション3: フォントウェイト                                   */
/* =============================================================== */
.fb { font-weight:bold !important; }
.fn { font-weight:normal !important; }
.bf { font-weight:bold !important; }

/* =============================================================== */
/* セクション4: フォントサイズ                                     */
/* =============================================================== */
.f10 { font-size:10px !important; }
.f12 { font-size:12px !important; }
.f13 { font-size:13px !important; }
.f14 { font-size:14px !important; }
.f15 { font-size:15px !important; }
.f16 { font-size:16px !important; }
.f17 { font-size:17px !important; }
.f18 { font-size:18px !important; }
.f20 { font-size:20px !important; }
.f22 { font-size:22px !important; }
.f24 { font-size:24px !important; }
.f25 { font-size:25px !important; }
.f26 { font-size:26px !important; }
.f28 { font-size:28px !important; }
.f30 { font-size:30px !important; }
.f32 { font-size:32px !important; }
.f34 { font-size:34px !important; }
.f36 { font-size:36px !important; }
.f38 { font-size:38px !important; }
.f40 { font-size:40px !important; }
.f42 { font-size:42px !important; }
.f48 { font-size:48px !important; }
.f52 { font-size:52px !important; }
.f60 { font-size:60px !important; }
.f74 { font-size:74px !important; }
.f160 { font-size:160px !important; }

/* =============================================================== */
/* セクション5: 行間（line-height）                                */
/* =============================================================== */
.lh { line-height:1.5 !important; }
.lh0 { line-height:1.0 !important; }
.lh1 { line-height:1.0 !important; }
.lh10 { line-height:1.0 !important; }
.lh12 { line-height:1.2 !important; }
.lh14 { line-height:1.4 !important; }
.lh15 { line-height:1.5 !important; }
.lh16 { line-height:1.6 !important; }
.lh17 { line-height:1.7 !important; }
.lh18 { line-height:1.8 !important; }
.lh19 { line-height:1.9 !important; }
.lh20 { line-height:2.0 !important; }
.lh22 { line-height:2.2 !important; }
.lh23 { line-height:2.3 !important; }
.lh24 { line-height:2.4 !important; }
.lh2 { line-height:2.0 !important; }
.lh5 { line-height:1.5 !important; }
.lh63 { line-height:1.63 !important; }
.lh150 { line-height:1.5 !important; }
.lh200 { line-height:2.0 !important; }
.lh220 { line-height:2.2 !important; }

/* =============================================================== */
/* セクション6: マージン下（margin-bottom）                        */
/* =============================================================== */
.mbot0 { margin-bottom:0 !important; }
.mbot5 { margin-bottom:5px !important; }
.mbot10 { margin-bottom:10px !important; }
.mbot15 { margin-bottom:15px !important; }
.mbot16 { margin-bottom:16px !important; }
.mbot18 { margin-bottom:18px !important; }
.mbot20 { margin-bottom:20px !important; }
.mbot25 { margin-bottom:25px !important; }
.mbot30 { margin-bottom:30px !important; }
.mbot35 { margin-bottom:35px !important; }
.mbot40 { margin-bottom:40px !important; }
.mbot50 { margin-bottom:50px !important; }
.mbot60 { margin-bottom:60px !important; }
.mbot70 { margin-bottom:70px !important; }
.mbot80 { margin-bottom:80px !important; }
.mbot90 { margin-bottom:90px !important; }
.mbot100 { margin-bottom:100px !important; }
.mbot120 { margin-bottom:120px !important; }
.mbot330 { margin-bottom:330px !important; }

/* =============================================================== */
/* セクション7: マージン上（margin-top）                           */
/* =============================================================== */
.mtop0 { margin-top:0 !important; }
.mtop5 { margin-top:5px !important; }
.mtop10 { margin-top:10px !important; }
.mtop20 { margin-top:20px !important; }
.mtop30 { margin-top:30px !important; }
.mtop40 { margin-top:40px !important; }
.mtop50 { margin-top:50px !important; }
.mtop60 { margin-top:60px !important; }
.mtop80 { margin-top:80px !important; }
.mt30 { margin-top:30px !important; }

/* =============================================================== */
/* セクション8: パディング                                         */
/* =============================================================== */
.pbot10 { padding-bottom:10px !important; }
.pbot20 { padding-bottom:20px !important; }
.ptop10 { padding-top:10px !important; }

/* =============================================================== */
/* セクション9: 文字間隔（letter-spacing）                          */
/* =============================================================== */
.ls1 { letter-spacing:1px !important; }
.ls2 { letter-spacing:2px !important; }
.ls3 { letter-spacing:3px !important; }
.ls5 { letter-spacing:5px !important; }
.ls10 { letter-spacing:10px !important; }

/* =============================================================== */
/* セクション10: 見出し（asia-kobo準拠の余白・太さ）                */
/* =============================================================== */
.ttlL01,
.ttl01 {
  font-size: 32px !important;
  font-weight: 300 !important;
  text-align: center !important;
  letter-spacing: 2px !important;
  line-height: 1.6em !important;
  margin: 1em 0 20px !important;
}

.ttlL02 {
  font-size: 60px !important;
  font-weight: 300 !important;
  letter-spacing: 8px !important;
  text-align: center !important;
  margin: 0 0 20px !important;
}

.ttlL03 {
  font-size: 35px !important;
  font-weight: 300 !important;
  text-align: center !important;
  margin: 0 0 1em !important;
  padding: 0 0 0.5em !important;
  border-bottom: 1px solid #000 !important;
}

.ttlM01 {
  font-size: 24px !important;
  font-weight: 300 !important;
  text-align: center !important;
  letter-spacing: 2px !important;
  line-height: 1.6em !important;
  margin: -10px 0 15px !important;
}

.ttlM01sp { font-size:18px; font-weight:bold; text-align:center; margin-bottom:15px; }
.ttlS01 { font-size:16px; font-weight:bold; margin-bottom:10px; }
.title { font-size:20px; font-weight:bold; margin-bottom:10px; }
.title2 { font-size:18px; font-weight:bold; margin-bottom:10px; }
.subtitle { font-size:14px; color:#666; margin-bottom:10px; }

/* =============================================================== */
/* セクション11: テキストブロック（asia-kobo準拠の余白）             */
/* =============================================================== */
.txtM01 {
  font-size: 16px !important;
  line-height: 2.2 !important;
  margin: 0 0 70px !important;
  letter-spacing: 1px !important;
  text-align: center;
}

.txtM02 {
  font-size: 16px !important;
  line-height: 2.2 !important;
  margin: 0 0 25px !important;
  text-align: center;
}

.txtL01 { font-size:18px; line-height:1.8; margin-bottom:20px; }

/* =============================================================== */
/* セクション12: レイアウトコンテナ（中央寄せ・幅統一）             */
/* =============================================================== */
.new_lay,
.new_lay2 {
  text-align: center;
  color: #000;
  margin: 0 auto 60px;
  max-width: 780px;
}

.itemDetail {
  color: #000;
  text-align: center;
  margin: 0 auto;
  max-width: 780px;
}

.itemDetail2 { margin:20px auto; line-height:1.7; max-width:780px; }

.cntPtn01 { margin: 0 0 30px !important; }
.cntPtn02 { margin:30px 0; padding:0; }
.cntBnr01 { margin: 0 0 80px !important; text-align:center; }
.cntBnr01_img { max-width:100%; height:auto; display:block; margin:0 auto; }
.cntCrs01 { margin: 0 0 70px !important; line-height: 1.8em !important; }
.cntCrs02 { margin:30px 0; }
.cntCtr01 { text-align:center; margin:20px 0; }
.cntPtr01 { margin:20px 0; }

.mainCont {
  margin-bottom: 30px !important;
  text-align: center;
}

.mainCont_img {
  margin-bottom: 0 !important;
  max-width: 100%;
  height: auto;
}

.mainCont_text { padding:10px 0; line-height:1.8; }

/* =============================================================== */
/* セクション13: スペック表・テーブル                              */
/* =============================================================== */
.specArea {
  margin: 30px auto;
  max-width: 780px;
  text-align: left;
}

.specTbl {
  width: 100%;
  border-collapse: collapse;
  margin: 10px auto;
  max-width: 780px;
  text-align: left;
}

.specTbl th, .specTbl td {
  border: 1px solid #ddd;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  vertical-align: top;
}

.specTbl th {
  background: #f5f5f5;
  font-weight: bold;
  width: 30%;
  white-space: nowrap;
}

.tblSep {
  border-collapse: separate !important;
  border-spacing: 20px !important;
  width: 100%;
  margin: 0 auto 30px;
  font-size: 16px !important;
  max-width: 780px;
}

.tblCol { display:table-cell; vertical-align:top; }
.codiTbl { width:100%; border-collapse:collapse; }

/* =============================================================== */
/* セクション14: 色・装飾                                          */
/* =============================================================== */
.red {
  font-weight: bold !important;
  color: #9c0000 !important;
}

.blue { color:#2c5ea0 !important; }
.green { color:#2d8659 !important; }
.att { margin: 50px 0; }
.attention { color:#ab0000; font-size:12px; }
.uline { text-decoration:underline !important; }
.ntcGray { color:#888; font-size:12px; }

/* =============================================================== */
/* セクション15: フォントファミリー（明朝・ゴシック）               */
/* =============================================================== */
.mincho1,
.mincho1 *,
p.mincho1 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
}

.gothic1 { font-family:"游ゴシック","Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",sans-serif !important; }
.gothic { font-family:"游ゴシック","Yu Gothic","YuGothic",sans-serif !important; }
.fmin { font-family:"游明朝","Yu Mincho",serif !important; }
.fontS { font-size: 1.5em; }
.fontSS { font-size:10px; }
.fontM { font-size:14px; }
.fontL { font-size:18px; }
.fbig { font-size:24px; font-weight:bold; }

/* =============================================================== */
/* セクション16: 動画埋め込み                                      */
/* =============================================================== */
.youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin: 20px auto;
  max-width: 780px;
}

.youtube iframe,
.youtube embed,
.youtube object {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* =============================================================== */
/* セクション17: GA-60ウッドカーペット シリーズ専用                 */
/* =============================================================== */
.ga60_sect { margin:40px auto; padding:20px 0; max-width:780px; }
.ga60_ttl { font-size:24px; font-weight:bold; text-align:center; margin-bottom:20px; }
.ga60_ttl01 { font-size:20px; font-weight:bold; margin-bottom:15px; }
.ga60_2cel { display:flex; gap:20px; flex-wrap:wrap; margin:20px 0; }
.ga60_2cel > * { flex:1 1 calc(50% - 10px); min-width:280px; }
.ga60_movie { margin:20px 0; text-align:center; }
.ga60_01, .ga60_02, .ga60_03, .ga60_04, .ga60_05,
.ga60_06, .ga60_07, .ga60_08, .ga60_09,
.ga60_01_01, .ga60_01_02 { margin:20px 0; }
.ga60_01_01w { width:100%; margin:20px 0; }
.ga70_option { margin:20px 0; padding:15px; background:#f9f9f9; }

/* =============================================================== */
/* セクション18: cnt8322シリーズ（特定商品用）                      */
/* =============================================================== */
.cnt8322_52 { background:#ececec; padding:20px; }
.cnt8322_55_01, .cnt8322_55_02, .cnt8322_55_03, .cnt8322_55_04 { margin:20px 0; }
.cnt8322_59 { border:5px solid #777; padding:30px; }
.cnt8322_59_items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 !important;
  list-style: none;
}

/* =============================================================== */
/* セクション19: ハウツー・特殊ブロック                            */
/* =============================================================== */
.howto { background:#f9f9f9; padding:20px; border-radius:4px; margin:20px auto; max-width:780px; }
.howto01, .howto02, .howto03 { margin:15px auto; padding:15px; background:#fafafa; border-left:3px solid #ab0000; max-width:780px; }
.hl15 { font-size:15px; font-weight:bold; margin-bottom:10px; }
.hl2 { font-size:18px; font-weight:bold; margin-bottom:10px; }
.wd_title { font-size:18px; font-weight:bold; margin-bottom:10px; }
.wd_subtitle { font-size:14px; color:#666; margin-bottom:5px; }
.logo { max-width:200px; height:auto; margin:10px 0; }
.logo_sub { max-width:150px; height:auto; margin:5px 0; }
.text { line-height:1.8; }

/* =============================================================== */
/* セクション20: ポイント表示・アイコン                            */
/* =============================================================== */
.point01, .point02, .point03, .point04, .point05, .point06 {
  padding: 15px;
  margin: 10px auto;
  background: #f5f5f5;
  border-radius: 4px;
  max-width: 780px;
}
.point02_sub { padding:10px; margin:5px 0; font-size:14px; }
.point06-2 { padding:15px; margin:10px 0; background:#f5f5f5; }
.point_ic { display:inline-block; width:40px; height:40px; margin-right:10px; }
.icon { display:inline-block; vertical-align:middle; }
.iconWrap { display:flex; align-items:center; gap:10px; }
.checkMrk { color:#2d8659; font-weight:bold; }
.dots { border-top:1px dotted #ccc; margin:15px 0; }

/* =============================================================== */
/* セクション21: その他ユーティリティ                              */
/* =============================================================== */
.sizebar { display:flex; gap:5px; margin:10px 0; }
.products { display:flex; flex-wrap:wrap; gap:10px; }
.opno { display:none; }
.bbot2 { border-bottom:solid 2px; }
.m0 { margin:0 !important; }
.mb { margin-bottom:1em; }
.fl { float:left; }
.sp100 { width:100%; }
.pc700 { max-width:700px; margin:0 auto; }
.t100 { width:100%; }
.w230 { width:230px; }
.dokon_huka { background:#f5f5f5; padding:15px; margin:20px auto; max-width:780px; }
.recWrap { margin:20px 0; }
.recTit { font-size:18px; font-weight:bold; margin-bottom:10px; }
.goodsComment02 { margin:20px auto; line-height:1.8; max-width:780px; }
.textPlus { font-size:13px; color:#666; margin-top:5px; }
.hedding-column-gray { background:#f5f5f5; padding:15px; margin:20px auto; max-width:780px; }

/* =============================================================== */
/* セクション22: ブロックライブラリ（l-* コマースクリエイター用）   */
/* =============================================================== */
.l-cols { display:flex; flex-wrap:wrap; gap:20px; margin:20px auto; max-width:780px; }
.l-cols__item { flex:1 1 calc(50% - 10px); }
.l-paragraph { margin:1em auto; line-height:1.8; max-width:780px; }
.l-paragraph--sm { font-size:13px; }
.l-paragraph--md { font-size:15px; }
.l-paragraph--lg { font-size:18px; }
.l-figure { margin:20px auto; text-align:center; max-width:780px; }
.l-figure img { max-width:100%; height:auto; }
.l-imgBox { margin:20px auto; padding:10px; max-width:780px; }
.l-imgBox--double { border:1px double #ccc; }
.l-imgBox--dashed { border:1px dashed #ccc; }
.l-imgBox--thick { border:3px solid #333; }
.l-btn, .l-freeBtn {
  display: inline-block;
  padding: 12px 24px;
  margin: 10px 0;
  background: #333;
  color: #fff !important;
  text-decoration: none;
  border-radius: 4px;
}
.l-freeBtn--color1 { background:#ab0000; }
.l-freeBtn--color2 { background:#2c5ea0; }
.l-freeBtn:hover { opacity:0.8; }
.l-freeTtl { font-size:20px; font-weight:bold; margin:20px 0 10px; }
.l-freeTtl--bg { background:#f5f5f5; padding:10px 15px; }
.l-freeTtl--bd { border-bottom:2px solid #333; padding-bottom:5px; }
.l-freeTtl--bdl { border-left:5px solid #333; padding-left:10px; }
.l-heading { font-size:24px; font-weight:bold; margin:30px 0 20px; }
.l-subHeading { font-size:18px; font-weight:bold; margin:20px 0 15px; color:#555; }
.l-txt { line-height:1.8; margin:1em 0; }
.l-txtLink { color:#2c5ea0; text-decoration:underline; }
.l-readMore { margin:20px auto; max-width:780px; }
.l-readMore--ttlOnBox { padding:15px; background:#f9f9f9; }
.l-productList { margin:20px auto; max-width:780px; }
.l-productList__list { display:flex; flex-wrap:wrap; gap:15px; }
.l-productList__item { flex:1 1 calc(25% - 12px); }
.l-productList__item__link { display:block; text-decoration:none; color:inherit; }
.l-productList__item__thumb img { width:100%; height:auto; }
.l-productList__item__name { margin:8px 0 4px; font-size:14px; }
.l-productList__item__price { font-size:16px; font-weight:bold; }
.l-balloon {
  position: relative;
  padding: 15px;
  margin: 20px auto;
  background: #f5f5f5;
  border-radius: 8px;
  max-width: 780px;
}
.l-balloon--l::before {
  content: "";
  position: absolute;
  left: -10px;
  top: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 10px 0;
  border-color: transparent #f5f5f5 transparent transparent;
}
.l-balloon--r::before {
  content: "";
  position: absolute;
  right: -10px;
  top: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent #f5f5f5;
}
.l-balloon__txt { line-height:1.7; }
.l-balloon__figure { margin:0 0 10px; }
.l-slick, .l-slideTxt { margin:20px auto; max-width:780px; }
.l-slick__item, .l-slideTxt__slide, .l-slideTxt__slide__item { padding:10px; }
.l-quote {
  padding: 15px 20px;
  margin: 20px auto;
  background: #f5f5f5;
  border-left: 4px solid #999;
  font-style: italic;
  max-width: 780px;
}
.l-bgBox { padding:20px; margin:20px auto; background:#f9f9f9; border-radius:4px; max-width:780px; }
.l-bdBox { padding:20px; margin:20px auto; border:1px solid #ddd; border-radius:4px; max-width:780px; }
.l-imgTxt, .l-img2Txt, .l-mediaTxt, .l-mediaLargeTxt, .l-colTxtImgLeft, .l-colTxtImgRight {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 20px auto;
  align-items: flex-start;
  max-width: 780px;
}
.l-card2Col, .l-card3Col {
  display: grid;
  gap: 20px;
  margin: 20px auto;
  max-width: 780px;
}
.l-card2Col { grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); }
.l-card3Col { grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); }
.l-tileColWhite, .l-tileColBg { padding:20px; margin:10px 0; }
.l-tileColWhite { background:#fff; border:1px solid #ddd; }
.l-tileColBg { background:#f5f5f5; }
.l-tileImgs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 20px auto;
  max-width: 780px;
}
.l-tileImgs img { width:100%; height:auto; }
.l-freeList { margin:20px auto; padding-left:1.5em; max-width:780px; }
.l-freeList--check li {
  list-style: none;
  padding-left: 24px;
  position: relative;
  margin-bottom: 8px;
}
.l-freeList--check li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #2d8659;
  font-weight: bold;
}
.l-freeList--num { list-style:decimal; }

/* =============================================================== */
/* セクション23: ELEMENTS商品 追加クラス（移行時に検出）             */
/* =============================================================== */

/* セクションパディング */
.section-pad {
  padding: 30px 0;
  margin: 20px auto;
  max-width: 780px;
}

/* line-height ショート */
.lh4 { line-height:1.4 !important; }

/* row レイアウト（Bootstrap風） */
.row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 20px auto;
  max-width: 780px;
}
.row > * { flex: 1 1 auto; }

/* margin-bottom 短縮形（.mbotXX系とは別命名） */
.mb40 { margin-bottom:40px !important; }
.mb80 { margin-bottom:80px !important; }

/* GA-60シリーズ カラーバリエーション */
.ga60_01_01w_oak,
.ga60_01_01w_ivory,
.ga60_01_01w_lt_na,
.ga60_01_01w_wa_br {
  width: 100%;
  margin: 20px 0;
  text-align: center;
}

/* 季節カテゴリ */
.hot {
  color: #e85d3a;
  background: #fef5f0;
  padding: 4px 10px;
  border-radius: 4px;
  display: inline-block;
  font-weight: bold;
}
.cool {
  color: #2c7da0;
  background: #eaf3f8;
  padding: 4px 10px;
  border-radius: 4px;
  display: inline-block;
  font-weight: bold;
}

/* clearfix（フロート解除） */
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/* container（汎用コンテナ） */
.ctn {
  margin: 0 auto;
  max-width: 780px;
  padding: 0 15px;
}

/* === 追加分: ELEMENTS残存クラス === */
.mbo10 { margin-bottom:10px !important; } /* mbot10 タイポ対応 */
.banner-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0;
  justify-content: center;
}
.ecup_snew,
.ecup_t {
  /* EC-UPウィジェット残骸（楽天用） - 非表示にする */
  display: none !important;
}