@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Zen+Old+Mincho:wght@400;500;700&display=swap');

/* 横スクロール防止 */
html, body { overflow-x: hidden; max-width: 100%; }

/* スマホ：EC-CUBEメインコンテナの横幅制御 */
@media (max-width: 767px) {
  .ec-layoutRole__main,
  .ec-layoutRole__mainWithColumn,
  .ec-layoutRole__mainBetweenColumn {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
  /* EC-CUBEのフォーム要素が画面幅を超えないように */
  .ec-layoutRole__main select,
  .ec-layoutRole__main input,
  .ec-layoutRole__main button,
  .ec-layoutRole__main .ec-select {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}


/* スマホ：EC-CUBEコンテナの余白をリセットして中央揃え */
@media (max-width: 767px) {
  .ec-layoutRole__contents,
  .ec-layoutRole__main,
  .ec-layoutRole__mainWithColumn,
  .ec-layoutRole__mainBetweenColumn {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
}

/* ===== 商品詳細 説明テキストエリア ===== */
.td h2, .pd-desc h2 {
  font-family: 'Zen Old Mincho', serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .1em;
  color: #111;
  border-left: 3px solid #C68A45;
  padding: 4px 0 4px 12px !important;
  margin: 36px 0 16px !important;
}

/* リスト */
.ec-layoutRole__main ul {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  border-top: 1px dashed #ddd;
}
.ec-layoutRole__main ul li {
  padding: 14px 0;
  border-bottom: 1px dashed #ddd;
  font-size: 14px;
  line-height: 1.8;
  color: #444;
}
.ec-layoutRole__main ul li strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: #111;
  margin-bottom: 4px;
}
.ec-layoutRole__main ul li small {
  display: inline-block;
  margin-top: 4px;
  font-size: 11px;
  color: #C68A45;
  letter-spacing: .06em;
}

/* テキスト */
.ec-layoutRole__main p {
  font-size: 14px;
  line-height: 2;
  color: #555;
  margin-bottom: 24px;
}

/* テーブル */
.ec-layoutRole__main table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
  font-size: 14px;
}
.ec-layoutRole__main table tr {
  border-bottom: 1px dashed #ddd;
}
.ec-layoutRole__main table tr:first-child {
  border-top: 1px dashed #ddd;
}
.ec-layoutRole__main table th {
  font-family: 'Libre Baskerville', serif;
  font-size: 11px;
  letter-spacing: .12em;
  color: #999;
  font-weight: 400;
  padding: 14px 20px 14px 0;
  width: 100px;
  vertical-align: top;
  white-space: nowrap;
}
.ec-layoutRole__main table td {
  padding: 14px 0;
  color: #444;
  line-height: 1.8;
}

@media (max-width: 767px) {
  .ec-layoutRole__main table th { width: 70px; font-size: 10px; padding-right: 10px; }
  .ec-layoutRole__main h2 { font-size: 14px; }
}

/* ===== 商品フリーエリア ===== */
.pd-desc{width:100%;overflow:hidden;line-height:1.6}
.pd-desc *{box-sizing:border-box !important}
.pd-desc .sec-title{font-size:11px;letter-spacing:.2em;color:#999;margin:40px 0 15px;display:flex;align-items:center;gap:12px}
.pd-desc .sec-title::after{content:'';flex:1;height:1px;background:#eee}
.pd-sec-scenes{display:flex;flex-direction:column;gap:8px;margin-bottom:30px}
.pd-scene{display:flex;align-items:stretch;border:1px solid #eee;background:#fff;min-height:120px}
.pd-scene-img{flex:0 0 140px;width:140px;overflow:hidden}
.pd-scene-img img{width:100% !important;height:100% !important;object-fit:cover;margin:0 !important}
.pd-scene-body{flex:1;padding:15px !important;display:flex;flex-direction:column;justify-content:center}
.pd-scene-no{font-size:10px;color:#C68A45;margin-bottom:2px !important;letter-spacing:.2em}
.pd-scene-body strong{font-size:15px;font-weight:700;color:#222;margin-bottom:4px !important;display:block}
.pd-scene-body .sc-desc{font-size:13px;color:#666}
.pd-scene-tag{align-self:flex-start;margin-top:8px !important;font-size:10px;background:#f8f5f1;color:#a08560;padding:2px 8px !important}
.pd-func-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:28px !important}
.pd-func-card{border:1px solid #eee}
.pd-func-img{aspect-ratio:4/3;overflow:hidden}
.pd-func-img img{width:100% !important;height:100% !important;object-fit:cover;display:block;margin:0 !important}
.pd-func-body{padding:12px 14px !important}
.pd-func-body strong{font-size:13px;font-weight:700;display:block;margin-bottom:4px !important}
.pd-func-body span{font-size:12px;color:#666;line-height:1.7}
.pd-voice-list{display:flex;flex-direction:column;gap:0;margin-bottom:28px !important;border:1px solid #e8e2da}
.pd-voice{padding:16px 20px !important;font-size:14px;line-height:2;color:#444;border-bottom:1px dashed #e8e2da}
.pd-voice:last-child{border-bottom:none}
.pd-mk{background:#1e1510;color:#fff;padding:30px 20px;position:relative;overflow:hidden}
.pd-mk::before{content:'MAKUAKE';position:absolute;right:-10px;top:40%;font-size:60px;font-weight:900;color:rgba(255,255,255,.04);font-family:serif;pointer-events:none}
.pd-mk-label{font-size:11px;color:#C68A45;margin-bottom:20px;font-weight:bold;letter-spacing:.15em}
.pd-mk-nums{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-bottom:20px}
.pd-mk-num{flex:1;text-align:center}
.pd-mk-num:not(:last-child){border-right:1px solid rgba(255,255,255,.1)}
.pd-mk-num .big{font-size:20px;color:#C68A45;font-family:'Libre Baskerville',serif;display:block;margin-bottom:4px}
.pd-mk-num .lbl{font-size:9px;color:#999;letter-spacing:.1em}
.pd-mk-comment{font-size:12px;color:rgba(255,255,255,.5);line-height:2}
@media(max-width:480px){.pd-scene-img{flex:0 0 110px;width:110px}.pd-scene-body strong{font-size:13px}.pd-mk-num .big{font-size:16px}.pd-func-grid{grid-template-columns:1fr}}