.together-block {
margin-top: 70px;
border-bottom: 1px solid #dfdfdf;
padding-bottom: 70px;
}
.together-block h2.saikin-title {
margin-bottom: 50px;;
}
.item-free-text__body {padding-bottom: 30px;}
.side-overlay-menu.side-overlay-menu--color-me {
 border-top: 0 none;
padding-top: 50px;
}
/* セレクト全体 */
.prduct-option.row .col {
  padding-left: 0;
}
select{
  width: 100%;
  max-width: 100%;
  height: 56px;
  padding: 0 44px 0 16px;
  border: 1px solid #111;
  border-radius: 0;
  background-color: #fff;
  color: #111;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1;
  box-sizing: border-box;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23111' stroke-width='1.2' stroke-linecap='square'/></svg>");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 10px 6px;
}

/* フォーカス時 */
select:focus{
  outline: none;
  box-shadow: none;
}

/* optionの文字 */
select option{
  color: #111;
}


.item-section {
margin-bottom: 45px;
}
ul.pn-box {
  margin: 40px 0 0;
  border-left: 1px solid #dfdfdf;
  padding-left: 20px;
  line-height: 2;
}
ul.pn-box li a {
color: #888;
font-size: 12px;
}
ul.pn-box li a:hover {}
.item-basic {
      margin-bottom: 40px;
}

.product-buy-meta .price-base .price-base__yen, .product-buy-meta .price-sales .price-sales__yen {
      font-size: 10px;
}
.product-buy-meta .price-base .price-base__label, .product-buy-meta .price-sales .price-sales__tax {
    font-size: 10px;
    margin-left: -6px;
}
/*カート*/
.product-qty-row{
  display:inline-flex;
  align-items:center;
  border:1px solid #9a9a9a;
  height:30px;
  background:transparent !important;
  border-radius:0 !important;
  overflow:hidden;
}

.product-qty-row .product-qty-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#555;
  text-decoration:none;
  font-size:15px;
  line-height:1;
  -webkit-appearance:none;
  appearance:none;
}

.product-qty-row .product-qty-btn:first-child{
  border-right:1px solid #9a9a9a !important;
}

.product-qty-row .product-qty-btn:last-child{
  border-left:1px solid #9a9a9a !important;
}

.product-qty-row .product-qty-input{
  width:72px;
  height:30px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center;
  font-size:18px;
  line-height:60px;
  -webkit-appearance:none;
  appearance:none;
}

.product-qty-row .product-qty-input:focus{
  outline:none;
}

.product-qty-wrap{
  text-align:left;
}

.product-qty-label{
  margin-bottom:14px;
  font-size:13px;
  line-height:1.4;
  letter-spacing:0.08em;
}

.product-qty-row{
  display:inline-flex;
  align-items:center;
  border:1px solid #9a9a9a;
  height:30px;
  vertical-align:top;
}

.product-qty-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:60px;
  padding:0;
  margin:0;
  border:0;
  background:#fff;
  color:#555;
  text-decoration:none;
  font-size:28px;
  line-height:1;
  box-shadow:none;
}

.product-qty-input{
  width:72px;
  height:40px;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  text-align:center;
  font-size:18px;
  line-height:60px;
  box-shadow:none;
  -webkit-appearance:none;
  appearance:none;
}

.product-qty-input:focus{
  outline:none;
}

.product-qty-unit{
  display:inline-block;
  margin-left:10px;
  font-size:14px;
}

.btn-addcart{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
}

.cart-btn__label{
  display:block;
}

.cart-btn__price{
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}

.cart-btn__yen{
  font-size:14px;
  line-height:1;
}

.cart-btn__num{
  font-size:16px;
  line-height:1;
}
.btn-addcart{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
}

.cart-btn__label{
  display:block;
}

.cart-btn__price{
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}

.cart-btn__yen{
  font-size:14px;
  line-height:1;
}

.cart-btn__num{
  font-size:16px;
  line-height:1;
}

.btn-addcart{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
}

.cart-btn__label{
  display:block;
}

.cart-btn__price{
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}

.cart-btn__yen{
  font-size:14px;
  line-height:1;
}

.cart-btn__num{
  font-size:16px;
  line-height:1;
}

.product-qty a{
  font-size:20px;
  font-weight:500;
  width:40px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.cart-btn__label {
  margin-right: 8px;
}
.cart-btn__yen {
font-size: 13px;
margin-right: -2px;
}
.cart-btn__price{
font-size: 15px;
}
.btn-lg {
border-radius: 0;
font-size: 18px;
line-height: 1.33;
background-color: #888;
color: #fff;
width: 100%;
padding: 35px;
font-family: 'Inter', sans-serif;
letter-spacing: 0.06em;
border: 0 none;
}

.product-top{
  display:flex;
  gap:40px;
  margin-top: 35px;
  margin-bottom: 20px;
}

.product-left-slot{
  width:45%;
  order:1;
  box-sizing:border-box;
}

.product-right-slot{
  width:55%;
  order:2;
  box-sizing:border-box;
  padding-top: 100px;
}

.item-hero .blocks-gallery-caption, .item-hero figcaption {
display: none;
}
.entry-content > *{
  margin-top:30px;
  margin-bottom:30px;
}
.product-notice.textBox {
margin-top: 100px;
}
.input-prepend.input-append input {
  font-size: 24px;
  padding-top: 11px;
  padding-bottom: 11px;
  width: 100px;
  text-align: right;
}
.stock_error {
  color: #DB5656;
}
.bc-line{
  width:40px;
  height:1px;
  background:#000;
  margin:0 12px;
  list-style:none;
}
.breadcrumb ul{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
}

.breadcrumb li{
  display:flex;
  align-items:center;
}

.breadcrumb li:not(.bc-home):not(.bc-line) + li:not(.bc-line)::before{
  content:"/";
  margin:0 8px;
}
.topicpath-nav h1 {
	font-size: 12px;
    font-weight: normal;
    margin: 0;
    display: inline;
}


/* 追加 */

/* single-item */
.topicpath-nav {
    margin-bottom: 5px;
}
.breadcrumb ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-left: 0;
    padding-left: 0;
}
ul.inline, ol.inline {
    margin-left: 0;
    list-style: none;
}
.breadcrumb li:not(.bc-home):not(.bc-line) + li:not(.bc-line)::before {
    content: "/";
    margin: 0 8px;
}
.topicpath-nav h1 {
    font-size: 12px;
    font-weight: normal;
    margin: 0;
    display: inline;
    color: #464e54;
}
.txt_12 {
    font-size: 12px;
}
.bc-line {
    width: 40px;
    height: 1px;
    background: #000;
    margin: 0 12px;
    list-style: none;
}
.bc-home a {
  text-decoration: none;
  color: #464e54;
}
.bc-home a:hover {
  
}
.item-name-en {
color: #888;
letter-spacing: 0.05em;
padding-left: 1.5px;
margin-bottom: 10px;
}
.item-name-ja {
  font-size: 16px;
  font-weight: bold;
}
.item-color{
  margin-top: 8px; /* 必要なら調整 */
}

/* color / material 共通：横並びの土台 */
.item-meta__head{
  display: flex;
  align-items: flex-start;
  margin-top: 10px;
}

/* &#9989; ここが肝：ラベル幅を固定 */
.item-meta__label{
  flex: 0 0 80px;   /* ←ここを調整（例: 70&#12316;100px） */
  margin-right: 12px;
}

/* 既存の線 */
.item-meta__head .bc-line{
  flex: 0 0 40px;
  height: 1px;
  background: #888;
  margin: 0 30px 0 0;
  margin-top: 0.7em;
}

/* 値は残り全部 */
.item-meta__value{
  flex: 1;
}
.item-meta__value p{ margin: 0; }
.item-meta {
 color: #888;
 margin-top: 12px;
}
.item-color .bc-line,
.item-material .bc-line{
  display:none;
}
.item-meta__head{
  display:flex;
  align-items:flex-start;
}

/* ← 全部ここで揃える */
.item-meta__label{
  flex:0 0 120px; /* 好きな幅 */
  letter-spacing: 1px;
}

/* value開始位置固定 */
.item-meta__value{
  flex:1;
}

.item-meta__value p{
  margin:0;
  font-size: 13px;
  letter-spacing: 1px;
}
.item-info-head{
  display:flex;
  align-items:center;
  margin-bottom: 15px;
  margin-top: 20px;
}

.item-info-head .bc-line{
  width:40px;
  height:1px;
  background:#888;
  margin-right:12px;
  margin-left: 0;
}

.item-info-title{
  margin:0;
  letter-spacing:2px;
  font-size:12px;
}
h2.item-section__title {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 10px;
}
.item-section__text {
  letter-spacing: 0.09em;
}
.item-meta__label.moji-en {
  font-size: 12px;
  letter-spacing: 0.09em;
}
.site-main > article > .item-section {
  margin-bottom: 45px;
}

/*noticeの部分*/
.textBox{
  border: 1px solid #cdcdcd;
  /*border-radius: 5px;*/
  padding: 28px;
  position: relative;
}
.site-main > article > .product-notice.textBox {
  margin-top:100px;
}
.textBox::before{
  content:"Notice";
  position:absolute;
  top:-19px;
  left:30px;
  background:#fff;
  color:#888;
  font-size:14px;
  font-weight:600;
  padding:5px 15px;
  font-family:'Inter', sans-serif;
  letter-spacing: 0.08em;
}
.notice-en {
  font-family:'Inter', sans-serif;
  color: #888;
  font-size: 12px;
  margin-top: 10px;
}
.notice-ja {
  color: #888;
  font-size: 14px;
}
.item-section__sub--material{
  display: flex;
  align-items: flex-start;
  gap: 1.2em;
  margin-top: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
}
.item-section__sub--material .bc-line{
  flex: 0 0 55px;
  margin: 10px 15px 0 0;
  background-color: #cdcdcd;
}

/* wpautop の <p> 余白を殺す */
.item-section__sub--material .item-section__sub-body p{
  margin: 0;
}
.item-section__sub--material .item-section__sub-label{
  flex: 0 0 72px;
  font-size: 12px;
  color: #888;
}
/* size は 3列ではなく縦積み */
.item-meta.item-size .item-meta__label{
  display: block;
}

.item-meta__value--size{
  margin-top: 0.6em;
}

.item-size-title{
  margin-bottom: 0.4em;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.item-size-row{
  margin: 0 0 0.35em 0;
}
.item-size-row:last-child{
  margin-bottom: 0;
}
.item-size-text {
  font-size: 13px;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
}
.item-size-name {
  font-size: 11px;
}
.item-size-unit {
  font-size: 11px;
  padding-left: 2px;
}
.item-size-label {
  padding-right: 3px;
}
/* ----------------------------------------
   section_size 直下の「（サイズ）───」だけに効かせる
   ※上の ITEM INFORMATION は崩さない
---------------------------------------- */
.item-section--size .item-section__sub--size{
  display: flex;
  align-items: flex-start;
  gap: 1.2em;
  margin-top: 12px;
  font-size: 12px;
  letter-spacing: 0.1em;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
}

.item-section--size .item-section__sub--size .item-section__sub-label{
  flex: 0 0 72px;
  font-size: 12px;
  color: #888;
}

.item-section--size .item-section__sub--size .bc-line{
  flex: 0 0 55px;
  margin: 10px 13px 0 0;
  background-color: #cdcdcd;
}

/* wpautop の <p> 余白を殺す（size側だけ） */
.item-section--size .item-section__sub--size .item-section__sub-body p{
  margin: 0;
}

/* 追加のサイズ表（Free/S/M...）の行間だけ */
.item-section--size .item-section__sub--size .item-section__sub-body{
  font-size: 13px; /* ここは好みで */
  line-height: 1.9;
}

/* ======================================
   Article Images : CEREAL風（masonryではない）
   - 2カラム基準（portrait/landscapeとも同じ列幅）
   - 横（landscape）が単独でも100%にしない（中央寄せ）
====================================== */
.item-gallery_cols{
  list-style:none;
  margin:0;
  padding:0;

  display:flex;
  flex-wrap:wrap;

  /* gapは使わず margin 方式（あなたの現方式を維持） */
  margin-left:-40px;
  margin-top:-40px;
}

/* &#9989; 最後1枚だけ伸びる問題の吸収（takano方式のafterに近い） */
.item-gallery_cols::after{
  content:"";
  flex-grow:999;
}

.item-gallery_item{
  margin:0;
  display:flex;
  flex-direction:column;

  /* 基本：縦（portrait想定）= 3枚並び */
  width:calc((100% - 40px * 3) / 3);
  margin-left:40px;
  margin-top:40px;

  flex-grow:1;
  max-width:100%;
}

/* 横（landscape想定）= 2枚並び */
.item-gallery_item.is-wide{
  width:calc((100% - 40px * 2) / 2);
  flex-grow:2;
}

/* 縦（明確に縦）= 3枚並びのまま（念のためclassが付いても同じ） */
.item-gallery_item.is-tall{
  width:calc((100% - 40px * 3) / 3);
  flex-grow:1;
}
/* 画像の高さを全員同じにする（=行で揃う） */
.item-gallery_media{
  overflow: hidden;
  height: clamp(240px, 34vw, 520px); /* 好みで調整 */
}

/* 画像は箱に合わせてトリミング */
.item-gallery_media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.item-gallery_media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:50% 50%;
}

/* キャプション（高さは揃えない＝自然に可変でOK） */
.item-gallery_cap{
  margin-top:14px;
  line-height:1.6;
  text-align: left;
  font-size: 13px;
  letter-spacing: 0.08em;
}
/* ===============================
   portraitだけ横を少し縮める
   （Cereal比率）
================================ */

.item-gallery_item.is-tall{
  width:calc((100% - 40px * 3) / 3 * 0.82);
}
/* ===============================
   SIRONE GALLERY
   a有無で表示が変わらない完全版
================================ */
/* --------------------------------
   共通
-------------------------------- */
.sirone-gallery{
  display: grid;
  gap: 40px;
  margin: 0;
}

.sirone-gallery__item{
  margin: 0;
}

/* 画像枠（ここだけ比率固定＆クロップ） */
.sirone-gallery__frame{
  width: 100%;
  overflow: hidden;
}

/* a があっても無くても同じ見た目 */
.sirone-gallery__link{
  display: block;
  width: 100%;
  height: 100%;
}

/* 画像は枠を埋める */
.sirone-gallery__frame img{
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
}

/* キャプション（画像の外＝下に必ず出る） */
.sirone-gallery__caption{
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.4;
  text-align: left;
  line-height:1.6;
}

/* =====================================
   1 : FULL（横1枚）
===================================== */
.sirone-gallery--full{
  grid-template-columns: 1fr;
}
.sirone-gallery--full .sirone-gallery__frame{
  aspect-ratio: 2000 / 1333;
}

/* =====================================
   2 : 横2枚
===================================== */
.sirone-gallery--wide2{
  grid-template-columns: repeat(2, 1fr);
}
.sirone-gallery--wide2 .sirone-gallery__frame{
  aspect-ratio: 2000 / 1333;
}

/* =====================================
   3 : 縦2枚
===================================== */
.sirone-gallery--port2{
  grid-template-columns: repeat(2, 1fr);
}
.sirone-gallery--port2 .sirone-gallery__frame{
  aspect-ratio: 1333 / 2000;
}

/* =====================================
   4 : 正方形2枚
===================================== */
.sirone-gallery--sq2{
  grid-template-columns: repeat(2, 1fr);
}
.sirone-gallery--sq2 .sirone-gallery__frame{
  aspect-ratio: 1 / 1;
}

/* =====================================
   5 : 縦3枚
===================================== */
.sirone-gallery--port3{
  grid-template-columns: repeat(3, 1fr);
}
.sirone-gallery--port3 .sirone-gallery__frame{
  aspect-ratio: 1333 / 2000;
}

/* =====================================
   MOBILE
===================================== */
@media (max-width: 782px){
  .sirone-gallery--wide2,
  .sirone-gallery--port2,
  .sirone-gallery--sq2,
  .sirone-gallery--port3{
    grid-template-columns: 1fr;
  }
}



/* =========================
   item-gallery をWP前提に戻す（局所リセット）
========================= */
/* &#9989; 崩さない局所リセット（ギャラリー用） */
.item-gallery,
.item-gallery *{
  box-sizing: border-box;
}

/* li は margin を潰さない！ */
.item-gallery li{
  list-style: none;
  padding: 0;
}

/* figure の標準marginだけ消す（ズレ防止） */
.item-gallery figure{
  margin: 0;
}

/* 画像の下の謎の隙間対策（OK） */
.item-gallery img{
  display: block;
  width: 100%;
  height: auto;
}
/* =========================================
   item-gallery：画像の高さを揃える（枠を作ってcover）
   ※ギャラリー内だけに限定
========================================= */

/* 画像枠（高さ＝比率）を作る */
.item-gallery .item-gallery_item figure{
  margin: 0;
  width: 100%;
  overflow: hidden;
}

/* 画像を枠にフィット（高さを枠に合わせる） */
.item-gallery .item-gallery_item img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;      /* ←これで高さが揃う（必要なら contain に変更） */
}

.product-bottom-area{
  margin-top: 60px;
  border: 1px solid #cdcdcd;
  padding: 2%;
  /* border-radius: 5px; */
}

.product-bottom-layout{
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.product-bottom-left{
  width: 45%;
  box-sizing: border-box;
}

.product-bottom-right{
  width: 55%;
  box-sizing: border-box;
}

.product-bottom-basic-slot{
  margin-bottom: 40px;
}

.product-bottom-basic-wrap{
  width: 100%;
}

.product-order--bottom-custom{
  margin-bottom: 40px;
}

.product-bottom-price-slot{
  width: 100%;
}

.product-bottom-price-wrap{
  width: 100%;
}

/* 下側だけあとで個別調整できるように */
.product-bottom-area .item-basic{
  margin-bottom: 0;
}

.product-bottom-area .product-buy-meta{
  margin-top: 0;
}

/* 左画像枠 */
.product-bottom-image-slot{
  width: 100%;
}
.product-bottom-image-slot{
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.product-bottom-image-slot img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.product-bottom-area .product-bottom-basic-wrap .item-meta__label {
flex: 0 0 40px;
letter-spacing: 1px;
}
.product-bottom-area .product-bottom-basic-wrap .item-color .bc-line {
display: initial;
}
.product-bottom-area .product-bottom-basic-wrap .item-meta__head .bc-line {
flex: 0 0 30px;
height: 1px;
background: #888;
margin: 0 25px 0 0;
margin-top: 0.7em;
}
/* スマホ */
@media (max-width: 782px){
  .product-bottom-layout{
    display: block;
  }

  .product-bottom-left,
  .product-bottom-right{
    width: 100%;
  }

  .product-bottom-left{
    margin-bottom: 30px;
  }
}

@media (max-width: 480px) {
  .product-left-slot {
    width: 100%;
    order: 1;
    box-sizing: border-box;
   }
  
  .product-right-slot {
width: 100%;
order: 2;
box-sizing: border-box;
padding-top: 10px;
}
  .product-top {
display: block;
gap: 0;
}
}