.SPnone{
	display:none;
}
#TopMov{
	width:100%;
	position:relative;
	mask-image: url('../img/curve-mask.svg');
  -webkit-mask-image: url('../img/curve-mask.svg'); /* Safari対応 */
  mask-size: cover;
}
#TopMov video{
	width:100%;
	height:auto;
}
.TPContentWP{
	position:relative;
	z-index:99;
	background-color:#FFF;
	padding-top:25px;
	padding-bottom:25px;
}
#parallaxSection{
	background-color: transparent !important;
}
.TPContentWP h2{
	font-size:17px;
	text-align:center;
	padding-bottom:25px;
	font-weight:500;
}
.TPContentWP h2 span{
	width:60px;
	margin:auto;
	display:block;
	padding-bottom:10px;
}
#NMnews{
	position:relative;
}
#NMnews h2{
	font-size:14px!important;
	color:#dd4e5c;
	text-align:center;
	padding-bottom:25px;
}
#NMnews h2 span{
	width:120px;
	margin:auto;
	display:block;
	padding-bottom:10px;
}
.NewsArchive{
	width:90%;
	margin:auto;
	position:relative;
	display:flex;
}
.NAC-img{
	width:80px;
	height:80px;
	background-color:#EEE;
}
.NAC-img img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.NAC-title{
	padding-left:10px;
	font-size:1rem;
	line-height:1.3em;
}
.NAC-title a{
	color:#0060b7;
}
.NAC-title small{
	font-size:0.7rem;
	display:block;
}

.TextBX1{
	width:90%;
	margin:auto;
	position:relative;
	font-size:0.95rem;
	line-height:1.6em;
	font-weight:300;
	padding-bottom:25px;
}
.LinkBX1{
	width:60%;
	line-height:50px;
	font-size:0.9rem;
	text-align:center;
	border:1px solid #666666;
	margin:auto;
}
.LinkBX1 a{
	display:block;
	color:#333333;
}
.LinkBX1:hover {
  border:1px solid #dd4e5c;
}
.LinkBX1 a:hover{
	background-color:#dd4e5c;
	color:#FFF;
}

/*paralax*/
.parallax-video-section {
      position: relative;
      height: 100vh;
      width: 100%;
      overflow: hidden;
	  z-index:1;
    }
   .parallax-video-section video {
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: -1;
  opacity: 0; /* 最初は非表示 */
}
.PPLcontent{
	position: relative;
      z-index: 1;
      color: white;
	top: 70%;
      transform: translateY(-50%);
	  text-align:center;
}
.PPLcontent .LinkBX1 a{
	color:#FFFFFF!important;
}

#TPrebirth-img{
	width:95%;
	margin:auto;
}
#TPrebirth-logo{
	width:80%;
	margin:auto;
	padding:20px 0px 10px;
}

footer#NioFooter {
  position: relative;
  background-color:#E8F1F7;
  padding:25px;
}
#footerKinds{
	padding-bottom:15px;
}
footer#NioFooter nav{
	width:90%;
	text-align:center;
	margin:auto;
}
footer#NioFooter nav p{
	color:#6d92a0;
}
footer#NioFooter nav p a{
	color:#6d92a0;
}
@media(min-width:600px){
	footer#NioFooter nav{
	width:800px;
	text-align:center;
	margin:auto;
		display:flex!important;
		padding-bottom:35px;
		justify-content:space-around;
}
}
footer#NioFooter small{
	display:block;
	text-align:center;
}
#footerAddress{
	font-size:0.9rem;
	padding-bottom:5px;
	line-height:1.2em;
}
#footerAddress small{
	display:block;
}
#FooterNino{
	width:20%;
	margin:auto;
	position:absolute;
	bottom:0px;
	right:0px;
}
@media (min-width: 641px) {
	#FooterNino{
	width:100px;
	margin:auto;
	position:absolute;
	bottom:0px;
	right:0px;
}
}

#PCnav{
	display:flex;
	width: 600px;
    margin-left: 25px;
	align-items:space-between;
}

#PCnav p{
	margin-right:35px;
	color:#FFF;
}
#PCnav p a{
	color:#543d44;
}
@media (max-width: 640px) {
	#PCnav{
	display:none;
}
}

.Delivery{
	width:800px;
	margin:auto;
	padding-top:35px;
	padding-bottom:50px;
}
.Delivery h2{
	text-align:center;
	font-size:1.8rem;
	padding-bottom:35px;
}
.Delivery p{
	font-size:1.1rem;
	line-height:1.6em;
	padding-bottom:25px;
}
.Delivery p strong{
	font-size:1.3rem;
}
@media(max-width:640px){
	.Delivery{
	width:90%;
}
	.Delivery h2{
	text-align:center;
	font-size:1.4rem;
	padding-bottom:35px;
}
	.Delivery p{
	font-size:1rem;
	line-height:1.6em;
	padding-bottom:25px;
}
}

.Postage{
	width:800px;
	margin:auto;
	padding-top:15px;
	padding-bottom:50px;
}
.Postage h2{
	text-align:center;
	font-size:1.8rem;
	padding-bottom:35px;
}
.Postage article{
	position:relative;
	padding:25px;
	border:1px solid #CCC;
	margin-bottom:25px;
}
.Postage article h3{
	text-align:left;
	font-size:1.4rem;
	padding-bottom:15px;
}
.Postage article h3 small{
	display:block;
	font-weight:300;
	font-size:1.1rem;
	padding-top:15px;
}
.Postage article p{
	font-size:1.2rem;
	font-weight:500;
}

@media(max-width:640px){
	.Postage{
	width:95%;
}
	.Postage h2{
	text-align:center;
	font-size:1.4rem;
	padding-bottom:35px;
}
	.Postage article{
	padding:15px;
}
	.Postage article h3{
	text-align:left;
	font-size:1.2rem;
	padding-bottom:15px;
}
	.Postage article h3 small{
	display:block;
	font-weight:300;
	font-size:0.9rem;
	padding-top:15px;
}
.Postage article p{
	font-size:1.05rem;
	font-weight:500;
}
}

.Transactions{
	width:900px;
	margin:auto;
}
.Transactions h1{
	text-align:center;
	font-size:1.4rem;
	padding-bottom:35px;
}
.TransactionTable{
	border:1px solid #CCC;
}
.TransactionTable article{
	position:relative;
	display:flex;
	border-bottom:1px solid #CCC;
}
.TransactionTable article:last-child{
	border-bottom:none;
}
.TransactionTable article > *{
	padding:15px;
}
.TransactionTable article h2{
	width:280px;
	font-size:0.9rem;
	border-right:1px solid #CCC;
	font-weight:500;
}
.TransactionTable article div{
	width:580px;
}

@media(max-width:640px){
	.Transactions{
	width:100%;
	margin:auto;
}
.Transactions h1{
	text-align:center;
	font-size:1.2rem;
	padding-bottom:25px;
}
.TransactionTable{
	border:none;
}
.TransactionTable article{
	position:relative;
	border-bottom:1px solid #CCC;
	display:block;
}
.TransactionTable article:last-child{
	border-bottom:none;
}
.TransactionTable article > *{
	padding:10px;
}
.TransactionTable article h2{
	width:auto;
	font-size:0.9rem;
	border-right:none;
	font-weight:500;
	background-color:#EEE;
}
.TransactionTable article div{
	width:auto;
	line-height:1.6em;
}
}

/*ここから*/

/**************************************
 * Woo 2カラム版：ページ別の安全スコープ
 * これ以外の広域指定（.woocommerce .col2-set 等）は削除！
 **************************************/

/* ===== 1) マイアカウント > 住所 (/my-account/edit-address/) ===== */
body.woocommerce-account .woocommerce-MyAccount-content .addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
  clear: both !important;
}
body.woocommerce-account .addresses .u-column1,
body.woocommerce-account .addresses .u-column2,
body.woocommerce-account .addresses .woocommerce-column,
body.woocommerce-account .col2-set.addresses .col-1,
body.woocommerce-account .col2-set.addresses .col-2 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  align-self: start !important;
}
body.woocommerce-account .addresses::before,
body.woocommerce-account .addresses::after {
  content: none !important;
  display: none !important;
}

/* スマホ */
@media (max-width: 768px) {
  body.woocommerce-account .woocommerce-MyAccount-content .addresses {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* タイトル/本文 微調整（任意） */
body.woocommerce-account .addresses .woocommerce-column__title {
  margin: 0 0 .6em !important;
  line-height: 1.2 !important;
}
body.woocommerce-account .addresses address {
  margin: 0 !important;
  line-height: 1.7 !important;
}

/* ===== 2) マイアカウント > ログイン/新規登録 (/my-account/) ===== */
body.woocommerce-account #customer_login.u-columns.col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: start !important;
  clear: both !important;
}
body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  align-self: start !important;
}
body.woocommerce-account #customer_login::before,
body.woocommerce-account #customer_login::after {
  content: none !important;
  display: none !important;
}

/* スマホ */
@media (max-width: 768px) {
  body.woocommerce-account #customer_login.u-columns.col2-set {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}

/* 見出し/行間（任意） */
body.woocommerce-account #customer_login h2 {
  margin: 0 0 .6em !important;
  line-height: 1.2 !important;
}
body.woocommerce-account #customer_login .woocommerce-form-row {
  margin-bottom: 12px !important;
}

/* ===== 3) 注文関連ページ（注文確認・注文詳細）に出る住所2カラム ===== */
/* order-received（購入完了）や view-order（注文詳細）で使われる住所の2カラムだけをgrid化 */
body.woocommerce-order .woocommerce-columns--addresses,
body.woocommerce-view-order .woocommerce-columns--addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
  clear: both !important;
}
body.woocommerce-order .woocommerce-columns--addresses .woocommerce-column,
body.woocommerce-view-order .woocommerce-columns--addresses .woocommerce-column,
body.woocommerce-order .col2-set .col-1,
body.woocommerce-order .col2-set .col-2,
body.woocommerce-view-order .col2-set .col-1,
body.woocommerce-view-order .col2-set .col-2 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
}
/* 見出しがセクション直下にあるケースの保険 */
body.woocommerce-order .woocommerce-customer-details > h2,
body.woocommerce-view-order .woocommerce-customer-details > h2 {
  grid-column: 1 / -1;
}

/* スマホ */
@media (max-width: 768px) {
  body.woocommerce-order .woocommerce-columns--addresses,
  body.woocommerce-view-order .woocommerce-columns--addresses {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
/* ===== 注文完了 / 注文詳細の住所2カラム：疑似要素のせいでズレる問題を修正 ===== */

/* 親をgrid化（既に入れてる場合はそのままでOK） */
body.woocommerce-order-received .woocommerce-columns--addresses,
body.woocommerce-view-order .woocommerce-columns--addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
  clear: both !important;
}

/* ★ これが効きます：clearfix疑似要素を無効化（グリッドの空要素化を防ぐ） */
body.woocommerce-order-received .woocommerce-columns--addresses::before,
body.woocommerce-order-received .woocommerce-columns--addresses::after,
body.woocommerce-view-order .woocommerce-columns--addresses::before,
body.woocommerce-view-order .woocommerce-columns--addresses::after {
  content: none !important;
  display: none !important;
}

/* 子要素のfloat/widthリセット（保険） */
body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column,
body.woocommerce-view-order .woocommerce-columns--addresses .woocommerce-column,
body.woocommerce-order-received .col2-set .col-1,
body.woocommerce-order-received .col2-set .col-2,
body.woocommerce-view-order .col2-set .col-1,
body.woocommerce-view-order .col2-set .col-2 {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* スマホ1カラム */
@media (max-width: 768px) {
  body.woocommerce-order-received .woocommerce-columns--addresses,
  body.woocommerce-view-order .woocommerce-columns--addresses {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
.wc-bacs-bank-details-heading{
	padding-bottom:15px;
}
.wc-bacs-bank-details-account-name{
	padding-bottom:15px;
}
footer p{
	width:auto!important;
}

#ItemCategory{
	position:relative;
}
#IC-Nav{
	width:800px!important;
	margin:auto;
	display:flex;
	justify-content:space-between;
}
@media(max-width:640px){
	#ItemCategory{
	display:none;
}
}



/* ===== Tokens（サイトの淡いトーンに合わせて） ===== */
:root{
  --ic-ink: #3a3a3a;                /* 文字色（やや柔らかい黒） */
  --ic-ink-sub: #5b5b5b;
  --ic-accent: #8ab7c8;             /* くすみブルー（hoverの下線など） */
  --ic-bg: #ffffff;
  --ic-surface: rgba(255,255,255,0.82);
  --ic-elev: 0 8px 24px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.04);
  --ic-radius: 14px;
  --ic-border: 1px solid rgba(0,0,0,0.06);
  --ic-gap: 40px;
  --ic-sub-pad: 14px 16px;
  --ic-anim: 200ms cubic-bezier(.2,.7,.2,1);
}

#ItemCategory{
  position: relative;
	padding-bottom: 15px;
    border-bottom: 1px solid #CCC;
    margin-bottom: 25px;
}
#IC-Nav{
  width: min(960px, 94vw);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: var(--ic-gap);
  align-items: center;
  flex-wrap: wrap; /* 狭い幅で折り返し */
}

/* 親ラベル */
#IC-Nav .ic-label{
  margin: 0;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--ic-ink);
  padding: 5px 8px;
  border-radius: 10px;
  cursor: pointer;
  position: relative;
  outline: none;
  transition: transform var(--ic-anim), background-color var(--ic-anim);
}
#IC-Nav .ic-label:hover,
#IC-Nav .ic-label:focus{
  background: rgba(138,183,200,0.10);
  transform: translateY(-1px);
}

/* 各アイテムを相対基準に（＋ホバーブリッジでガタつき防止） */
#IC-Nav .ic-item{
  position: relative;
}
#IC-Nav .ic-item::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:10px;             /* ラベルとサブの隙間を埋める不可視ブリッジ */
}

/* サブメニュー本体（非表示状態／PCデフォ） */
#IC-Nav .ic-sub{
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  min-width: 220px;
  padding: 6px;
  margin: 0;
  list-style: none;
  border-radius: var(--ic-radius);
  border: var(--ic-border);
  background: var(--ic-surface);
  backdrop-filter: blur(8px);
  box-shadow: var(--ic-elev);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px) scale(0.98);
  transform-origin: 10% 0%;
  transition: opacity var(--ic-anim), transform var(--ic-anim), visibility var(--ic-anim);
  z-index: 30;
}

/* hover / focus-within で表示（デスクトップ用） */
#IC-Nav .ic-item:hover .ic-sub,
#IC-Nav .ic-item:focus-within .ic-sub{
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* 右側項目はサブを右寄せ（PCで画面外に逃がさない） */
@media (min-width: 769px){
  #IC-Nav .ic-item:nth-child(2) .ic-sub,
  #IC-Nav .ic-item:nth-child(4) .ic-sub{
    left: auto;
    right: 0;
    transform-origin: 90% 0%;
  }
}

/* サブメニューのリンク */
#IC-Nav .ic-sub li a{
  display: block;
  padding: var(--ic-sub-pad);
  border-radius: 10px;
  color: var(--ic-ink-sub);
  text-decoration: none;
  line-height: 1.4;
  transition: background-color var(--ic-anim);
}
#IC-Nav .ic-sub li a:hover,
#IC-Nav .ic-sub li a:focus{
  background: rgba(138,183,200,0.12);
}

/* 親ラベル下のさりげない下線（hoverで伸びる） */
#IC-Nav .ic-label::after{
  content:"";
  position:absolute;
  left: 8px;
  right: 8px;
  bottom: 4px;
  height: 2px;
  background: linear-gradient(90deg, rgba(138,183,200,0), rgba(138,183,200,.65), rgba(138,183,200,0));
  transform: scaleX(0);
  transform-origin: 50% 50%;
  transition: transform var(--ic-anim);
}
#IC-Nav .ic-item:hover .ic-label::after,
#IC-Nav .ic-item:focus-within .ic-label::after{
  transform: scaleX(1);
}

/* ===== スマホ：1カラムのアコーディオン表示 ===== */
@media (max-width: 768px){
  #IC-Nav{
    gap: 10px 0;
    justify-content: flex-start;
  }
  /* 1列表示に固定（段落ち根絶） */
  #IC-Nav .ic-item{
    flex: 1 1 100%;
	   border-bottom: 1px solid #CCC;
  }
  /* サブは下に展開（初期は畳む／.is-openで開く） */
  #IC-Nav .ic-sub{
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    padding: 6px 0 0;
    background: transparent;
    border-bottom: none;
    box-shadow: none;
    backdrop-filter: none;
    display: none;
  }
  #IC-Nav .ic-item.is-open .ic-sub{ display: block; }
  #IC-Nav .ic-sub li a{ padding: 10px 6px; }
}

/* ===== Shop Article Archive (responsive) ===== */
:root{
  --sa-max: 1200px;         /* 横幅上限 */
  --sa-gap: 24px;           /* カード間の隙間 */
  --sa-radius: 16px;        /* 角丸 */
  --sa-shadow: 0 6px 18px rgba(0,0,0,.08);
  --sa-ink: #1f2933;        /* 文字色 */
  --sa-sub: #6b7280;        /* 補助文字 */
  --sa-accent: #0aa;        /* アクセント */
  --sa-card: #fff;          /* カード背景 */
  --sa-paper: #f6f7f9;      /* 背景 */
}

.page-title2{
  width:min(var(--sa-max), 92vw);
  margin: 120px auto 16px;
  font-size: clamp(22px, 3.5vw, 32px);
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--sa-ink);
	padding-bottom:15px;
}
@media(min-width:1000px){
	.page-title2{
		text-align:center;
		padding-bottom:50px;
	}
}

.shop-archive{
  width:min(var(--sa-max), 92vw);
  margin: 0 auto 56px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sa-gap);
}

@media (max-width: 1024px){
  .shop-archive{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .shop-archive{ grid-template-columns: 1fr; gap: 18px; }
}

/* ---- Card ---- */
.shop-archive .card{
  background: var(--sa-card);
  border-radius: var(--sa-radius);
  overflow: clip;
  box-shadow: var(--sa-shadow);
  transition: transform .18s ease, box-shadow .18s ease;
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
	padding-bottom:10px;
}
.shop-archive .card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
}

/* サムネイル領域（比率は自由に） */
.shop-archive .card a{ color: inherit; text-decoration: none; display:block; height:100%; }
.shop-archive .card img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio: 16/9;                /* ここを 4/3 や 1/1 に変えれば比率変更 */
  object-fit: cover;
}

/* 本文 */
.shop-archive .card h2{
  font-size: clamp(18px, 2.2vw, 20px);
  line-height: 1.45;
  margin: 0 0 4px;  /* ← 8px → 4px に変更 */
  font-weight: 700;
  color: var(--sa-ink);
}
.shop-archive .card time{
  display:block;
  font-size: 14px;
  color: var(--sa-sub);
  margin-bottom: 4px; /* ← 10px → 4px に変更 */
  letter-spacing: .02em;
}

.shop-archive .card p{
  color: var(--sa-ink);
  opacity: .85;
  line-height: 1.6; /* ← 少し詰める */
  font-size: 16px;
  margin: 0; /* ← 余白をリセット */
}

/* 余白が全体的に大きい場合はここも詰める */
.shop-archive .card a > *:not(img){
  padding: 5px 14px 0px; /* ← 14/16/18 → 10/14/14 に変更 */
}

/* タグ/カテゴリのチップ（taxonomy 表示用） */
.cats{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin: 0 0 12px;
}
.cats a{
  display:inline-block;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgb(10 170 170 / .08);
  color: var(--sa-accent);
  text-decoration: none;
  border: 1px solid rgb(10 170 170 / .2);
  transition: background-color .15s ease, border-color .15s ease;
}
.cats a:hover{ background: rgb(10 170 170 / .14); border-color: rgb(10 170 170 / .35); }

/* ページネーション（デフォルトの the_posts_pagination 用の軽い装飾） */
.pagination, .nav-links{
  width:min(var(--sa-max), 92vw);
  margin: 28px auto 64px;
  display:flex; gap:10px; flex-wrap:wrap; justify-content:center;
}
.page-numbers{
  display:inline-block;
  min-width: 36px;
  padding: 8px 12px;
  text-align:center;
  border-radius: 10px;
  background: #eaf7f7;
  color: var(--sa-accent);
  text-decoration:none;
  font-weight: 600;
}
.page-numbers.current{ background: var(--sa-accent); color:#fff; }
.page-numbers:hover{ filter: brightness(0.96); }

/* ダークモード（任意） */
@media (prefers-color-scheme: dark){
  :root{
    --sa-ink: #e6e7ea;
    --sa-sub: #a5adbb;
    --sa-card: #101316;
    --sa-paper:#0b0d10;
    --sa-shadow: 0 6px 18px rgba(0,0,0,.35);
  }
  body{ background: var(--sa-paper); }
}

/* 低モーション派生 */
@media (prefers-reduced-motion: reduce){
  .shop-archive .card{ transition: none; }
  .shop-archive .card:hover{ transform: none; }
}


/* ===== Shop Article Single (responsive) ===== */
:root{
  --se-max: 880px;
  --se-gap: 22px;
  --se-ink: #1f2933;
  --se-sub: #6b7280;
  --se-accent: #0aa;
  --se-paper: #fff;
  --se-radius: 18px;
  --se-shadow: 0 10px 30px rgba(0,0,0,.07);
}

/* コンテナ */
.shop-entry{
  width:min(var(--se-max), 92vw);
  margin: 28px auto 80px;
  color: var(--se-ink);
}

/* ヘッダー */
.shop-entry h1{
  font-size: clamp(22px, 3.6vw,28px);
  line-height: 1.25;
  font-weight: 600;
  margin: 0 0 10px;
  letter-spacing: .01em;
	text-align:left;
}
.shop-entry .meta{
  display:flex; align-items:center; gap:12px;
  color: var(--se-sub);
  font-size: 13px;
  margin-bottom: 14px;          /* ← 詰め気味 */
}
.shop-entry .meta time{ letter-spacing:.02em; }

/* タクソノミーチップ（.cats は既存を活用） */
.shop-entry .cats{
  display:flex; flex-wrap:wrap; gap:8px;
  margin: 0 0 16px;
}
.shop-entry .cats a{
  display:inline-block; font-size:12px;
  padding:6px 10px; border-radius:999px;
  background: rgb(10 170 170 / .08);
  color: var(--se-accent); text-decoration:none;
  border:1px solid rgb(10 170 170 / .2);
  transition: background-color .15s ease, border-color .15s ease;
}
.shop-entry .cats a:hover{ background: rgb(10 170 170 / .14); border-color: rgb(10 170 170 / .35); }

/* ヒーロー画像 */
.shop-entry .hero{
  overflow: clip;
  border-radius: var(--se-radius);
  box-shadow: var(--se-shadow);
  margin: 10px 0 22px;
}
.shop-entry .hero img{
  width:100%; height:auto; display:block;
  aspect-ratio: 16/9;          /* 1/1, 4/3 などに変更OK */
  object-fit: cover;
}

/* 本文 */
.shop-entry .content{
  background: var(--se-paper);
  border-radius: var(--se-radius);
  box-shadow: var(--se-shadow);
  padding: clamp(16px, 3.2vw, 28px);
  line-height: 1.85;
  font-size: 1.1rem;
	text-align:left;
}

/* 見出し */
.shop-entry .content h2{
  font-size: clamp(18px, 2.8vw, 24px);
  margin: 26px 0 10px;
  line-height: 1.35;
  font-weight: 800;
}
.shop-entry .content h3{
  font-size: clamp(16px, 2.4vw, 20px);
  margin: 22px 0 8px;
  line-height: 1.4;
  font-weight: 700;
}
.shop-entry .content h4{
  font-size: clamp(15px, 2.2vw, 18px);
  margin: 18px 0 6px;
  line-height: 1.4;
  font-weight: 700;
}

/* 段落・リスト・リンク */
.shop-entry .content p{ margin: 0 0 14px; }
.shop-entry .content ul, 
.shop-entry .content ol{ padding-left: 1.2em; margin: 0 0 14px; }
.shop-entry .content a{ color: var(--se-accent); text-decoration: underline; text-underline-offset: 2px; }
.shop-entry .content strong{ font-weight: 700; }

/* 画像・図版 */
.shop-entry .content img{
  max-width:100%; height:auto; display:block;
  border-radius: 12px;
  margin: 16px auto;
}

/* 引用・表 */
.shop-entry .content blockquote{
  margin: 16px 0; padding: 14px 16px;
  background: #f5fbfb; border-left: 4px solid var(--se-accent);
  border-radius: 8px;
}
.shop-entry .content table{
  width:100%; border-collapse: collapse; margin: 14px 0;
  font-size: 14px;
}
.shop-entry .content th, 
.shop-entry .content td{
  border:1px solid #e8eef0; padding:10px; vertical-align: top;
}
.shop-entry .content th{ background:#f8fbfc; }

/* CTA（任意：下部に配置する誘導） */
.shop-entry .cta{
  margin: 26px 0 0;
  display:flex; gap:12px; flex-wrap:wrap;
}
.shop-entry .cta .btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding: 5px 16px;
  border-radius: 999px; background: var(--se-accent); color:#fff;
  text-decoration: none; font-weight: 700;
  transition: filter .15s ease;
}
.shop-entry .cta .btn:hover{ filter: brightness(.96); }

/* 前後ナビ */
.shop-entry .pager{
  width:100%; margin: 28px 0 0;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.shop-entry .pager a{
  flex:1 1 260px; text-decoration:none; color: var(--se-ink);
  background:#f5f7f9; border-radius:12px; padding:12px 14px;
  display:flex; gap:10px; align-items:center;
}
.shop-entry .pager a small{ color: var(--se-sub); display:block; }

/* スマホ最適化（さらに詰める） */
@media (max-width: 640px){
  .shop-entry{ margin-bottom: 64px; }
  .shop-entry h1{ margin-bottom: 8px; }
  .shop-entry .meta{ margin-bottom: 10px; }
  .shop-entry .hero{ margin: 8px 0 16px; }
  .shop-entry .content{ padding: 14px; line-height: 1.8; font-size: 1.1rem; }
  .shop-entry .content p{ margin-bottom: 12px; }
}

/* ダークモード */
@media (prefers-color-scheme: dark){
  :root{
    --se-ink: #e6e7ea;
    --se-sub: #a5adbb;
    --se-paper: #0f1216;
    --se-shadow: 0 10px 30px rgba(0,0,0,.35);
  }
  .shop-entry .content table th,
  .shop-entry .content table td{ border-color: #2a3238; }
  .shop-entry .content th{ background:#151b20; }
  .shop-entry .pager a{ background:#151b20; }
}

/* 低モーション配慮 */
@media (prefers-reduced-motion: reduce){
  .shop-entry .cta .btn,
  .shop-entry .pager a{ transition: none; }
}

.entry{
	margin-top:100px;
}
.container{
	/*margin-top:130px;*/
	text-align:center;
}
.shop-archive .card a>*:not(img){
	text-align:left;
}
#IC-Nav .ic-label i{font-size:1.6rem;color:#999;}
.ic-label{
	color:#888!important;
	font-size:1.1rem;
}

.ONCabout{
	text-align:center;
	line-height:45px;
}
.ONCabout span a{
	color:#32aac6;
	border-bottom:1px solid dotted;
}

.shop-tags{
  margin-bottom:15px;
}
.shop-tags__title{
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--se-ink, #1f2933);
}
.shop-tags__list{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
}
.shop-tags__list a{
  display:inline-block;
  font-size:1rem;
  padding:6px 10px;
  border-radius:999px;
  background: rgb(10 170 170 / .08);
  color: var(--se-accent, #0aa);
  text-decoration:none;
  border:1px solid rgb(10 170 170 / .2);
  transition: background-color .15s ease, border-color .15s ease;
}
.shop-tags__list a:hover{
  background: rgb(10 170 170 / .14);
  border-color: rgb(10 170 170 / .35);
}

.containe22{
	padding-top:100px;
}
.shop-archive-title{
	font-size:1rem;
	padding-bottom:25px;
	text-align:center;
	color:#6ac4d3;
}
.MarginTagLST{
	padding:0px 15px;
}
@media(min-width:640px){
.MarginTagLST{
	padding:0px 15px;
	width:1200px;
	margin:auto;
}
	.shop-tags{
		width:900px;
	margin:auto;
		  margin-bottom:15px;
}
	.shop-tags__list a{
		font-size:1rem;
	}
}
.WhichFV{
	text-align:center;
	font-size:0.9rem;
	color:#6ac4d3;
	padding-bottom:15px;
}

.CautionX{
	color:red;
	padding:20px;
	background-color:#fdefed;
	margin-bottom:15px
}
.CautionX p{
	font-weight:400!important;
	line-height:1.5em!important;
	padding-bottom:15px;
}
.CautionX p:last-child{
	padding-bottom:0px;
}