@charset "utf-8";
/* =========================================================
   クリスマス特集ページ CSS
   すべて .xm の中だけに効くように書いています（既存ページのCSSに干渉しません）
   配色：リシュマムのやわらかい色味 ＋ もみの木の緑・靴下の赤・星の金
   イラスト：手書き風の靴下・星・もみの木・ステッチ線（HTML内のSVG）
   ========================================================= */

.xm{
  --xm-red:#c0564b;
  --xm-red-deep:#9e4038;
  --xm-red-bg:#fbefeb;
  --xm-green:#5d7a65;
  --xm-green-deep:#3f5a4a;
  --xm-green-bg:#eef3ee;
  --xm-gold:#c9a93f;
  --xm-cream:#fffaf3;
  --xm-text:#4a3f37;
  --xm-sub:#7a6d63;
  --xm-pencil:#6b5a4e;
  --xm-line:#eadfd3;
  --xm-marker:#f1d9cf;

  margin:0 auto;
  max-width:680px;
  background:var(--xm-cream);
  color:var(--xm-text);
  /* フォント：サイト共通のこぶりなゴシック（TypeSquare）。太字はW6を使う */
  --xm-bold:"こぶりなゴシック W6 JIS2004","Koburina Gothic W6 JIS2004","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
  font-family:"こぶりなゴシック W3 JIS2004","Koburina Gothic W1 JIS2004","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
  line-height:1.9;
  letter-spacing:.03em;
  overflow:hidden;
}
:where(.xm) *,:where(.xm) *::before,:where(.xm) *::after{box-sizing:border-box;}
:where(.xm) img{display:block;max-width:100%;height:auto;}
:where(.xm) a{color:inherit;}
.xm p,.xm figure,.xm ul,.xm ol{margin:0;}
.xm strong,.xm b,.xm h1,.xm h2,.xm h3{font-family:var(--xm-bold);font-weight:700;}
.xm .xm-sp{display:inline;}
.xm .xm-pc{display:none;}
@media (min-width:600px){ .xm .xm-sp{display:none;} .xm .xm-pc{display:inline;} }
.xm .xm-defs{position:absolute;width:0;height:0;overflow:hidden;}

.xm .xm-marker{
  background:linear-gradient(transparent 64%,var(--xm-marker) 64%);
  font-family:var(--xm-bold);font-weight:700;
}
/* 締切日の空欄（決まり次第差し替え） */
.xm .xm-blank{letter-spacing:.08em;}

/* ---------------------------------------------------------
   ファーストビュー（雪の夜＋星）
   --------------------------------------------------------- */
.xm .xm-fv{
  position:relative;
  padding:clamp(44px,12vw,68px) 20px clamp(40px,10vw,56px);
  background:
    radial-gradient(circle at 14% 16%,rgba(255,255,255,.9) 0 2px,transparent 2.5px),
    radial-gradient(circle at 30% 34%,rgba(255,255,255,.6) 0 1.5px,transparent 2px),
    radial-gradient(circle at 70% 10%,rgba(255,255,255,.8) 0 2px,transparent 2.5px),
    radial-gradient(circle at 90% 30%,rgba(255,255,255,.7) 0 1.5px,transparent 2px),
    radial-gradient(circle at 8% 60%,rgba(255,255,255,.7) 0 2px,transparent 2.5px),
    radial-gradient(circle at 94% 64%,rgba(255,255,255,.6) 0 2px,transparent 2.5px),
    radial-gradient(circle at 20% 84%,rgba(255,255,255,.5) 0 1.5px,transparent 2px),
    radial-gradient(circle at 82% 88%,rgba(255,255,255,.5) 0 1.5px,transparent 2px),
    linear-gradient(180deg,#34493d 0%,#48614f 55%,#6f8672 100%);
  color:#fff;
  text-align:center;
}
.xm .xm-fv__star{
  position:absolute;top:22px;right:26px;
  width:clamp(34px,9vw,46px);height:clamp(34px,9vw,46px);
  color:#fff4d6;
  filter:drop-shadow(0 0 10px rgba(255,236,190,.6));
  overflow:visible;
}
.xm .xm-fv .xm-fv__en{
  margin-bottom:12px;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(13px,3.6vw,15px);
  letter-spacing:.2em;
  color:#f3dcc0;
}
.xm .xm-fv__title{
  margin:6px 0 0;
  font-size:clamp(30px,9vw,46px);
  line-height:1.3;
  letter-spacing:.1em;
}
.xm .xm-fv__small{display:block;font-size:.42em;letter-spacing:.2em;margin-bottom:4px;font-family:var(--xm-bold);}
.xm .xm-fv .xm-fv__lead{
  margin-top:14px;
  font-size:clamp(14px,4vw,17px);
  line-height:1.9;
  letter-spacing:.1em;
}
.xm .xm-fv__lead span{font-family:var(--xm-bold);font-weight:700;color:#f5c4b6;}
.xm .xm-fv__photos{
  position:relative;
  display:grid;grid-template-columns:1fr 1fr;gap:8px;
  width:min(88%,420px);
  margin:24px auto 0;
}
.xm .xm-fv__photos img{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:18px;
  border:4px solid #fbf6ee;
  box-shadow:0 4px 14px rgba(0,0,0,.2);
}
.xm .xm-fv__photos img:nth-child(1){border-radius:50% 18px 18px 18px;}
.xm .xm-fv__photos img:nth-child(4){border-radius:18px 18px 50% 18px;}
.xm .xm-fv__tree{
  position:absolute;left:-9%;bottom:-6%;
  width:clamp(44px,13vw,70px);height:clamp(58px,17vw,94px);
  color:#fbefdd;
  overflow:visible;
}
.xm .xm-fv .xm-fv__copy{
  margin-top:22px;
  font-size:clamp(14px,3.9vw,16px);
  line-height:2;
}
.xm .xm-fv .xm-fv__deadline{
  display:inline-block;
  margin-top:22px;
  padding:14px 26px;
  border-radius:16px;
  background:#fbf6ee;
  color:var(--xm-text);
  font-size:clamp(13px,3.6vw,14.5px);
  line-height:1.7;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.xm .xm-fv__deadline strong{font-size:1.45em;color:var(--xm-red);margin-right:.2em;}
.xm .xm-fv .xm-fv__badge{
  display:block;
  width:fit-content;
  margin:14px auto 0;
  padding:.5em 1.4em;
  border-radius:999px;
  background:var(--xm-gold);
  color:#fff;
  font-size:clamp(12.5px,3.5vw,14px);
  font-family:var(--xm-bold);font-weight:700;
  letter-spacing:.06em;
}
.xm .xm-fv__badge strong{margin-left:.3em;font-size:1.2em;}

.xm .xm-wave{
  display:block;width:100%;height:28px;margin-top:-1px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 28' preserveAspectRatio='none'><path d='M0,0 H400 V10 C340,30 300,2 240,14 C180,26 140,2 80,14 C44,21 20,14 0,10 Z' fill='%236f8672'/></svg>") no-repeat center/100% 100%;
}

/* ---------------------------------------------------------
   もくじ
   --------------------------------------------------------- */
.xm .xm-nav{scroll-margin-top:16px;padding:28px 16px 8px;}
.xm .xm-nav__list{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  padding:0;list-style:none;
}
.xm .xm-nav__card{
  display:flex;flex-direction:column;height:100%;
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  box-shadow:0 3px 10px rgba(74,63,55,.12);
  overflow:hidden;
  transition:transform .2s ease;
}
.xm .xm-nav__card:hover{transform:translateY(-3px);}
.xm .xm-nav__card img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.xm .xm-nav__card span{
  display:block;flex:1;
  padding:8px 4px 10px;
  text-align:center;
  font-size:clamp(10.5px,2.9vw,13px);
  font-family:var(--xm-bold);font-weight:700;
  line-height:1.45;
}
.xm .xm-nav__card span::after{content:"▼";display:block;margin-top:2px;font-size:10px;color:var(--xm-red);}
.xm .xm-nav__birthday{
  display:block;width:fit-content;
  margin:14px auto 0;
  font-size:13px;
  color:var(--xm-green-deep);
  font-family:var(--xm-bold);font-weight:700;
}

/* ---------------------------------------------------------
   共通パーツ
   --------------------------------------------------------- */
.xm .xm-stitch{
  display:block;width:min(100%,520px);height:auto;
  margin:14px auto 0;
  color:var(--xm-pencil);
  overflow:visible;
}
.xm .xm-heading{margin:0;text-align:center;}
.xm .xm-heading__en{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:13px;
  letter-spacing:.2em;
  color:var(--xm-red);
}
.xm .xm-heading__ja{
  display:block;margin-top:6px;
  font-size:clamp(19px,5.4vw,24px);
  font-family:var(--xm-bold);font-weight:700;
  line-height:1.6;
  letter-spacing:.08em;
}
.xm .xm-label{
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-bottom:8px;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:14px;
  letter-spacing:.2em;
  color:var(--xm-red);
}
.xm .xm-label::before,.xm .xm-label::after{content:"";width:28px;height:1px;background:currentColor;opacity:.5;}
.xm .xm-catch{
  margin:0;
  text-align:center;
  font-size:clamp(20px,5.8vw,26px);
  line-height:1.55;
  letter-spacing:.06em;
}
.xm .xm-for{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px;
  margin-top:14px;
}
.xm .xm-for span{
  padding:.2em .9em;
  border-radius:999px;
  background:var(--xm-green-deep);
  color:#fff;
  font-size:12px;
  letter-spacing:.06em;
}
.xm .xm-text{
  margin-top:24px;
  font-size:clamp(14px,3.9vw,15.5px);
  line-height:2.1;
  text-align:center;
}
.xm .xm-points{
  display:grid;gap:10px;
  margin-top:24px !important;padding:0;list-style:none;
}
.xm .xm-points li{
  display:flex;align-items:flex-start;gap:10px;
  padding:12px 14px;
  border-radius:12px;
  background:#fff;
  border:1px solid var(--xm-line);
  font-size:clamp(13px,3.6vw,14.5px);
  line-height:1.7;
}
.xm .xm-points li::before{
  content:"";flex:none;width:18px;height:18px;margin-top:.15em;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><path d='M20,3 L24.5,15 L37,15.5 L27,23.5 L31,36 L20,28.5 L9,36 L13,23.5 L3,15.5 L15.5,15 Z' fill='%23e8c766' stroke='%236b5a4e' stroke-width='2' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.xm .xm-variation{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;
  margin-top:20px;
  font-size:13px;
  color:var(--xm-sub);
}
.xm .xm-chip{
  padding:.15em .9em;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--xm-line);
  color:var(--xm-text);
}
.xm .xm-price{
  margin-top:22px;
  text-align:center;
  font-size:clamp(14px,3.8vw,15px);
  line-height:1.7;
}
.xm .xm-price strong{font-size:clamp(26px,7vw,30px);letter-spacing:.02em;margin:0 .1em;color:var(--xm-red-deep);}
.xm .xm-price small{font-size:12px;color:var(--xm-sub);}
.xm .xm-note{margin-top:10px;font-size:12px;color:var(--xm-sub);line-height:1.8;}
.xm .xm-note--center{text-align:center;}
.xm .xm-bridge{
  margin-top:clamp(40px,10vw,56px);
  text-align:center;
  font-size:clamp(16px,4.5vw,19px);
  font-family:var(--xm-bold);font-weight:700;
  line-height:1.9;
}
.xm .xm-arrow{display:block;width:22px;height:36px;margin:10px auto 0;color:var(--xm-pencil);overflow:visible;}

/* ボタン */
.xm .xm-btn{
  display:block;
  width:min(100%,380px);
  margin:16px auto 0;
  padding:16px 20px;
  border-radius:999px;
  background:var(--xm-red);
  box-shadow:0 4px 0 var(--xm-red-deep);
  color:#fff !important;
  text-align:center;
  text-decoration:none;
  font-size:clamp(15px,4.2vw,17px);
  font-family:var(--xm-bold);font-weight:700;
  letter-spacing:.08em;
  transition:transform .15s ease,box-shadow .15s ease;
}
.xm .xm-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--xm-red-deep);}
.xm .xm-btn::after{content:"  ›";}
.xm .xm-btn--sub{
  background:#fff;
  color:var(--xm-red-deep) !important;
  border:1.5px solid var(--xm-red);
  box-shadow:none;
  font-size:clamp(13px,3.7vw,15px);
  padding:12px 20px;
}
.xm .xm-btn--sub:hover{box-shadow:none;background:var(--xm-red-bg);}

/* 送料無料・組み合わせカード */
.xm .xm-set{
  margin-top:26px;
  padding:20px 16px 18px;
  border-radius:20px;
  background:#fff;
  border:2px dashed #e6c9bf;
}
.xm .xm-set__name{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px;
  font-size:clamp(15px,4.2vw,17px);
  font-family:var(--xm-bold);font-weight:700;
}
.xm .xm-set__name span{
  padding:.1em .8em;
  border-radius:999px;
  background:var(--xm-green-deep);
  color:#fff;
  font-size:12px;
  letter-spacing:.08em;
}
.xm .xm-set__items{
  display:flex;align-items:flex-start;justify-content:center;flex-wrap:nowrap;gap:4px;
  margin-top:16px !important;padding:0;list-style:none;
}
.xm .xm-set__items li{
  width:min(110px,calc((100% - 44px) / 3));flex:none;
  text-align:center;
  font-size:11.5px;
  line-height:1.5;
}
.xm .xm-set__items img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;margin-bottom:4px;}
.xm .xm-set__plus{
  width:14px !important;align-self:center;margin-top:-1.6em;
  font-size:20px !important;
  color:var(--xm-red);
  font-family:var(--xm-bold);font-weight:700;
}
.xm .xm-set__total{
  margin-top:14px;
  padding:10px;
  border-radius:12px;
  background:var(--xm-red-bg);
  text-align:center;
  font-size:14px;
  line-height:1.7;
}
.xm .xm-set__total strong{font-size:22px;margin:0 .1em;}
.xm .xm-set__free{
  display:inline-block;
  margin-left:.4em;
  padding:.1em .7em;
  border-radius:999px;
  background:var(--xm-gold);
  color:#fff;
  font-size:12px;
  font-family:var(--xm-bold);font-weight:700;
  vertical-align:.15em;
}
.xm .xm-set__hint{margin-top:10px;text-align:center;font-size:12.5px;color:var(--xm-sub);line-height:1.8;}
.xm .xm-set__line{margin-top:10px;font-size:13px;line-height:1.8;text-align:center;}
.xm .xm-set--mini{margin-top:20px;padding:16px 12px 14px;}

/* ---------------------------------------------------------
   ① クリスマス靴下
   --------------------------------------------------------- */
.xm .xm-socks{
  scroll-margin-top:16px;
  padding:clamp(40px,10vw,60px) 20px clamp(44px,11vw,60px);
}
.xm .xm-socks__main{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:16px;
  margin-top:22px;
}
.xm .xm-story{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-top:28px !important;padding:0;list-style:none;
  counter-reset:none;
}
.xm .xm-story li{
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(74,63,55,.08);
}
.xm .xm-story img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.xm .xm-story p{padding:10px 10px 12px;font-size:clamp(11.5px,3.1vw,13px);line-height:1.7;}
.xm .xm-story b{display:block;margin-bottom:2px;font-size:clamp(12.5px,3.4vw,14px);color:var(--xm-red-deep);}
@media (max-width:420px){
  .xm .xm-story{grid-template-columns:1fr;}
  .xm .xm-story li{display:grid;grid-template-columns:38% 1fr;align-items:center;}
  .xm .xm-story img{height:100%;}
}

/* 最短翌日出荷（12月中旬から） */
.xm .xm-rush{
  margin-top:24px;padding:18px 16px;
  border-radius:18px;
  background:var(--xm-red-bg);
  text-align:center;
}
.xm .xm-rush__tag{display:inline-block;padding:.1em .9em;border-radius:999px;background:var(--xm-red);color:#fff;font-size:12px;}
.xm .xm-rush__text{margin-top:8px;font-family:var(--xm-bold);font-weight:700;font-size:16px;}

/* ---------------------------------------------------------
   ② 木のおもちゃ
   --------------------------------------------------------- */
.xm .xm-toys{
  scroll-margin-top:16px;
  padding:clamp(44px,11vw,64px) 20px;
  background:#fff;
}
.xm .xm-toys__main{
  width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:16px;
  margin-top:22px;
}
.xm .xm-toys__list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-top:26px !important;padding:0;list-style:none;
}
.xm .xm-toy{
  display:flex;flex-direction:column;
  padding:0 0 12px;
  border-radius:14px;
  background:var(--xm-cream);
  overflow:hidden;
  text-align:center;
}
.xm .xm-toy img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#fff;}
.xm .xm-toy__name{margin-top:10px;padding:0 6px;font-family:var(--xm-bold);font-weight:700;font-size:clamp(12.5px,3.5vw,14.5px);line-height:1.5;}
.xm .xm-toy__desc{margin-top:6px;padding:0 10px;font-size:clamp(11px,3vw,12.5px);line-height:1.7;color:var(--xm-sub);text-align:left;}
.xm .xm-toy__color{margin-top:6px;font-size:11.5px;color:var(--xm-sub);}
.xm .xm-toy__price{margin-top:auto;padding-top:6px;font-size:12px;}
.xm .xm-toy__price strong{font-size:clamp(18px,5vw,22px);color:var(--xm-red-deep);}
.xm .xm-toy__link{display:block;margin:6px 10px 0;padding:6px;border-radius:999px;border:1.5px solid var(--xm-red);color:var(--xm-red-deep) !important;text-decoration:none;font-size:12px;font-family:var(--xm-bold);font-weight:700;}
@media (max-width:420px){
  .xm .xm-toys__list{grid-template-columns:1fr;}
  .xm .xm-toy{display:grid;grid-template-columns:36% 1fr;grid-template-rows:auto;text-align:left;padding:0;}
  .xm .xm-toy img{grid-row:1 / span 5;height:100%;}
  .xm .xm-toy__name,.xm .xm-toy__desc,.xm .xm-toy__color,.xm .xm-toy__price{padding:0 12px;margin-top:4px;}
  .xm .xm-toy__name{margin-top:10px;}
  .xm .xm-toy__link{grid-column:2;margin:6px 12px 10px;text-align:center;}
}
.xm .xm-set--toys{background:var(--xm-cream);}

/* ---------------------------------------------------------
   ③ どうぶつ・こびと
   --------------------------------------------------------- */
.xm .xm-wear{
  scroll-margin-top:16px;
  padding:clamp(44px,11vw,64px) 20px;
  background:var(--xm-green-bg);
}
.xm .xm-item{margin-top:34px;}
.xm .xm-item__main{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;margin-top:22px;}
.xm .xm-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;}
.xm .xm-duo figure{border-radius:14px;overflow:hidden;background:#fff;}
.xm .xm-duo img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.xm .xm-duo figcaption{padding:8px 4px;text-align:center;font-size:clamp(12px,3.3vw,13.5px);font-family:var(--xm-bold);font-weight:700;}

.xm .xm-kobito{scroll-margin-top:16px;margin-top:clamp(48px,12vw,68px);}
.xm .xm-kobito__q{
  text-align:center;
  font-size:clamp(20px,5.8vw,26px);
  font-family:var(--xm-bold);font-weight:700;
  line-height:1.6;
  letter-spacing:.06em;
}
.xm .xm-kobito__q span{font-size:.62em;color:var(--xm-sub);vertical-align:.15em;}
.xm .xm-kobito__list{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
  margin-top:24px !important;padding:0;list-style:none;
}
.xm .xm-card{
  position:relative;
  display:flex;flex-direction:column;
  padding-bottom:12px;
  border-radius:14px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(63,90,74,.10);
}
.xm .xm-card img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.xm .xm-card__tag{
  position:absolute;top:8px;left:8px;
  padding:.1em .7em;border-radius:999px;
  background:var(--xm-red);color:#fff;
  font-size:11px;
}
.xm .xm-card__name{margin-top:10px;padding:0 10px;font-family:var(--xm-bold);font-weight:700;font-size:clamp(12.5px,3.5vw,14.5px);line-height:1.5;text-align:center;}
.xm .xm-card__desc{margin-top:6px;padding:0 12px;font-size:clamp(11px,3vw,12.5px);line-height:1.7;color:var(--xm-sub);}
.xm .xm-card__age{margin-top:6px;text-align:center;font-size:11.5px;color:var(--xm-green-deep);}
.xm .xm-card__price{margin-top:auto;padding-top:6px;text-align:center;font-size:12px;}
.xm .xm-card__price strong{font-size:clamp(18px,5vw,22px);color:var(--xm-red-deep);}
.xm .xm-card__link{display:block;margin:6px 12px 0;padding:6px;border-radius:999px;border:1.5px solid var(--xm-red);color:var(--xm-red-deep) !important;text-decoration:none;text-align:center;font-size:12px;font-family:var(--xm-bold);font-weight:700;}

/* ---------------------------------------------------------
   ④ リュックの分かれ道
   --------------------------------------------------------- */
.xm .xm-ruck{
  scroll-margin-top:16px;
  padding:clamp(44px,11vw,64px) 20px;
}
.xm .xm-fork{display:grid;grid-template-columns:1fr;gap:18px;margin-top:26px;}
@media (min-width:600px){ .xm .xm-fork{grid-template-columns:1fr 1fr;gap:12px;} }
.xm .xm-fork__col{
  display:flex;flex-direction:column;
  padding:20px 16px 20px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 3px 14px rgba(74,63,55,.10);
  text-align:center;
}
.xm .xm-fork__col--new{background:var(--xm-green-bg);}
.xm .xm-fork__q{font-size:13px;color:var(--xm-sub);}
.xm .xm-fork__q span{
  display:inline-block;margin-right:.3em;padding:.1em .8em;border-radius:999px;
  background:var(--xm-green-deep);color:#fff;font-family:var(--xm-bold);font-weight:700;
}
.xm .xm-fork__col--new .xm-fork__q span{background:var(--xm-red);}
.xm .xm-fork__catch{margin-top:10px;font-family:var(--xm-bold);font-weight:700;font-size:clamp(16px,4.5vw,19px);line-height:1.6;}
.xm .xm-fork__col img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:14px;margin-top:14px;background:#fff;}
.xm .xm-fork__text{margin-top:12px;font-size:clamp(12.5px,3.5vw,14px);line-height:1.8;text-align:left;}
.xm .xm-fork__colors{margin-top:10px;font-size:12px;line-height:2;color:var(--xm-sub);}
.xm .xm-dot{display:inline-block;width:12px;height:12px;margin:0 2px 0 6px;border-radius:50%;background:var(--c);vertical-align:-.1em;border:1px solid rgba(0,0,0,.08);}
.xm .xm-fork__size{margin-top:4px;font-size:12px;color:var(--xm-sub);}
.xm .xm-fork__price{margin-top:12px;font-size:13.5px;line-height:1.7;}
.xm .xm-fork__price strong{font-size:22px;color:var(--xm-red-deep);margin:0 .1em;}
.xm .xm-fork__plus{
  margin-top:14px;padding:10px;border-radius:12px;background:var(--xm-red-bg);
  font-size:13px;line-height:1.7;
}

/* ---------------------------------------------------------
   ⑤ お誕生日が近い子へ
   --------------------------------------------------------- */
.xm .xm-birthday{
  scroll-margin-top:16px;
  padding:clamp(44px,11vw,64px) 20px;
  background:#fff;
}
.xm .xm-ways{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px;}
@media (min-width:600px){ .xm .xm-ways{grid-template-columns:1fr 1fr;gap:12px;} }
.xm .xm-way{
  display:flex;flex-direction:column;
  padding:22px 16px 20px;
  border-radius:20px;
  background:var(--xm-cream);
  border:1.5px dashed #e6c9bf;
  text-align:center;
}
.xm .xm-way__num{
  width:40px;height:40px;margin:0 auto;
  display:grid;place-items:center;
  border-radius:50%;
  background:var(--xm-gold);color:#fff;
  font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1;
}
.xm .xm-way__title{margin-top:10px;font-family:var(--xm-bold);font-weight:700;font-size:clamp(16px,4.5vw,18px);}
.xm .xm-way__text{margin-top:8px;font-size:clamp(13px,3.6vw,14px);line-height:1.9;}
.xm .xm-way__ex{margin-top:12px;padding:10px;border-radius:12px;background:#fff;font-size:12.5px;line-height:1.8;color:var(--xm-sub);}
.xm .xm-way .xm-btn{margin-top:auto;padding-top:12px;}
.xm .xm-way .xm-way__ex{margin-bottom:14px;}
.xm .xm-way__links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;}
.xm .xm-way__links a{
  display:block;padding:10px 6px;border-radius:999px;
  border:1.5px solid var(--xm-red);background:#fff;
  color:var(--xm-red-deep) !important;text-decoration:none;
  font-size:13px;font-family:var(--xm-bold);font-weight:700;
}

/* ---------------------------------------------------------
   ものづくり・ギフト対応
   --------------------------------------------------------- */
.xm .xm-quality{
  padding:clamp(44px,11vw,60px) 20px;
  background:#f5f3f0;
  text-align:center;
}
.xm .xm-quality__title{margin:0;font-size:clamp(19px,5.4vw,24px);line-height:1.7;letter-spacing:.1em;}
.xm .xm-quality__hands{
  margin:20px auto 0;max-width:520px;
  padding:18px;border-radius:16px;background:#fff;
  font-size:clamp(13px,3.6vw,14.5px);line-height:2;
}
.xm .xm-service{
  display:grid;gap:8px;
  margin:14px auto 0 !important;padding:16px;max-width:520px;
  list-style:none;border-radius:14px;background:#fff;text-align:left;
}
.xm .xm-service li{display:flex;align-items:flex-start;gap:10px;font-size:clamp(12.5px,3.5vw,14px);line-height:1.7;}
.xm .xm-service li::before{
  content:"";flex:none;width:18px;height:18px;margin-top:.2em;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M3.5 8.5h13v8.5h-13z M2.5 5.5h15v3h-15z M10 5.5v11.5 M10 5.5c-2-4-6-3-4 0 M10 5.5c2-4 6-3 4 0' fill='none' stroke='%23c0564b' stroke-width='1.3' stroke-linejoin='round' stroke-linecap='round'/></svg>") no-repeat center/contain;
}

/* ---------------------------------------------------------
   お届け締切（再掲）
   --------------------------------------------------------- */
.xm .xm-deadline{
  padding:clamp(44px,11vw,60px) 20px;
  background:linear-gradient(180deg,#48614f 0%,#34493d 100%);
  color:#fff;
  text-align:center;
}
.xm .xm-deadline__sock{display:block;width:48px;height:64px;margin:0 auto 10px;color:#fbefdd;overflow:visible;}
.xm .xm-deadline__title{margin:0;font-size:clamp(19px,5.4vw,24px);line-height:1.6;letter-spacing:.08em;}
.xm .xm-deadline__date{
  display:inline-block;margin-top:16px;padding:12px 24px;border-radius:14px;
  background:#fbf6ee;color:var(--xm-text);font-size:14px;
}
.xm .xm-deadline__date .xm-blank{font-family:var(--xm-bold);font-weight:700;font-size:1.5em;color:var(--xm-red);margin-right:.2em;}
.xm .xm-deadline__note{margin-top:14px;font-size:13px;line-height:1.9;opacity:.92;}
.xm .xm-deadline .xm-btn{background:#fbf6ee;color:var(--xm-green-deep) !important;box-shadow:0 4px 0 rgba(0,0,0,.2);}

/* ---------------------------------------------------------
   むすび
   --------------------------------------------------------- */
.xm .xm-outro{
  padding:clamp(44px,11vw,60px) 24px clamp(56px,14vw,76px);
  text-align:center;
  font-size:clamp(14px,3.9vw,16px);
  line-height:2.2;
}
.xm .xm-outro__star{display:block;width:36px;height:36px;margin:0 auto 14px;color:var(--xm-pencil);overflow:visible;}
.xm .xm-outro__sign{
  margin-top:20px;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:13px;
  letter-spacing:.2em;
  color:var(--xm-sub);
}

/* 追従ボタン */
.xm .xm-float{
  position:fixed;right:14px;bottom:18px;z-index:50;
  display:grid;place-items:center;
  width:58px;height:58px;
  border-radius:50%;
  background:var(--xm-green-deep);
  color:#fff !important;
  text-decoration:none;
  font-size:11px;font-family:var(--xm-bold);font-weight:700;line-height:1.3;
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}

@media (min-width:600px){
  .xm .xm-socks,.xm .xm-toys,.xm .xm-wear,.xm .xm-ruck,.xm .xm-birthday,.xm .xm-quality{padding-left:40px;padding-right:40px;}
  .xm .xm-nav{padding-left:40px;padding-right:40px;}
}

/* ---------------------------------------------------------
   第2稿で追加
   --------------------------------------------------------- */
/* お届け締切：.xm--deadline を付けたときだけ表示（11月後半から） */
.xm .xm-deadline-only{display:none !important;}
.xm.xm--deadline .xm-fv__deadline{display:inline-block !important;}
.xm.xm--deadline section.xm-deadline{display:block !important;}

/* 靴下：2026 ラインナップ */
.xm .xm-lineup{
  margin-top:22px;
  padding:20px 14px 18px;
  border-radius:20px;
  background:#fff;
  text-align:center;
  box-shadow:0 3px 14px rgba(74,63,55,.08);
}
.xm .xm-lineup__title{font-family:var(--xm-bold);font-weight:700;font-size:clamp(15px,4.3vw,18px);letter-spacing:.08em;}
.xm .xm-lineup__lead{margin-top:8px;font-size:clamp(12.5px,3.5vw,14px);line-height:1.8;color:var(--xm-sub);}
.xm .xm-lineup__cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.xm .xm-lineup__item{position:relative;border-radius:14px;background:var(--xm-cream);overflow:hidden;padding-bottom:12px;}
.xm .xm-lineup__item img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.xm .xm-lineup__tag{
  position:absolute;top:8px;left:8px;
  display:grid;place-items:center;
  width:52px;height:52px;border-radius:50%;
  background:#d08c84;color:#fff;
  font-size:11.5px;font-family:var(--xm-bold);font-weight:700;letter-spacing:.04em;
}
.xm .xm-lineup__tag--gold{background:var(--xm-gold);}
.xm .xm-lineup__name{margin-top:10px;font-family:var(--xm-bold);font-weight:700;font-size:clamp(14px,4vw,16px);line-height:1.4;}
.xm .xm-lineup__name small{display:block;font-size:11.5px;color:var(--xm-sub);font-family:inherit;}
.xm .xm-lineup__text{margin-top:6px;padding:0 10px;font-size:clamp(11.5px,3.2vw,13px);line-height:1.7;text-align:left;}

/* おもちゃ：クリスマスまでの流れ */
.xm .xm-days{
  display:grid;gap:8px;
  margin:24px auto 0 !important;padding:0;list-style:none;max-width:460px;
}
.xm .xm-days li{
  position:relative;
  padding:12px 14px 12px 124px;
  border-radius:14px;
  background:var(--xm-cream);
  font-size:clamp(13px,3.6vw,14.5px);line-height:1.7;
  text-align:left;
}
.xm .xm-days li:not(:last-child)::after{
  content:"";position:absolute;left:56px;bottom:-9px;
  border:6px solid transparent;border-top-color:#d9c9b8;
}
.xm .xm-days__when{
  position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:100px;padding:.2em 0;border-radius:999px;
  background:var(--xm-green-deep);color:#fff;
  font-size:11.5px;text-align:center;font-family:var(--xm-bold);font-weight:700;
}
.xm .xm-days__last{background:var(--xm-red-bg) !important;}
.xm .xm-days__last .xm-days__when{background:var(--xm-red);}
.xm .xm-days b{color:var(--xm-red-deep);}

/* 着ぐるみ：特別な日／ふだんの日 */
.xm .xm-item__main--wide{aspect-ratio:auto;}
.xm .xm-scene{display:grid;grid-template-columns:1fr;gap:14px;margin-top:26px;}
@media (min-width:600px){ .xm .xm-scene{grid-template-columns:1fr 1fr;gap:10px;} }
.xm .xm-scene__col{display:flex;flex-direction:column;border-radius:16px;background:var(--xm-red-bg);overflow:hidden;}
.xm .xm-scene__col--after{background:#fff;}
.xm .xm-scene__head{padding:12px 6px 10px;text-align:center;font-size:clamp(12.5px,3.6vw,15px);font-family:var(--xm-bold);font-weight:700;line-height:1.4;}
.xm .xm-scene__head small{display:block;font-size:11px;color:var(--xm-sub);letter-spacing:.1em;font-family:inherit;}
.xm .xm-scene__col img{width:100%;aspect-ratio:1.5/1;object-fit:cover;}
.xm .xm-scene__text{padding:12px 16px 16px;font-size:clamp(13px,3.7vw,14px);line-height:1.8;}

/* 着ぐるみ：おまけ（年賀状フォト） */
.xm .xm-extra{
  display:grid;grid-template-columns:34% 1fr;gap:12px;align-items:center;
  margin-top:18px;padding:12px;
  border-radius:14px;
  background:#fff;
  border:1.5px dashed #cfdccf;
}
.xm .xm-extra img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;}
.xm .xm-extra__text{font-size:clamp(12px,3.3vw,13.5px);line-height:1.8;}
.xm .xm-extra__text span{display:inline-block;margin-bottom:4px;padding:.05em .7em;border-radius:999px;background:var(--xm-green-bg);color:var(--xm-green-deep);font-size:11px;}
.xm .xm-extra__text b{display:block;font-size:1.08em;}

/* リュック：12月生まれの子へ */
.xm .xm-bday{
  margin-top:20px;padding:16px 12px 14px;
  border-radius:16px;
  background:#fff;
  border:2px dashed #e6c9bf;
}
.xm .xm-bday__head{font-family:var(--xm-bold);font-weight:700;font-size:clamp(14px,4vw,16px);}
.xm .xm-bday__steps{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px !important;padding:0;list-style:none;}
.xm .xm-bday__steps li{padding:10px 6px;border-radius:12px;background:var(--xm-cream);font-size:13px;line-height:1.6;}
.xm .xm-bday__steps span{display:block;font-size:11.5px;color:var(--xm-sub);}
.xm .xm-bday__steps b{font-size:1.25em;color:var(--xm-red-deep);}
.xm .xm-bday__steps li:last-child{background:var(--xm-red-bg);}
.xm .xm-bday__text{margin-top:10px;font-size:12.5px;line-height:1.8;color:var(--xm-sub);}

/* ---------------------------------------------------------
   第3稿で追加・変更
   --------------------------------------------------------- */
/* リュックの分かれ道：価格・セット提案・ボタンを左右で揃えて下に置く */
.xm .xm-fork__buy{margin-top:auto;padding-top:14px;}
.xm .xm-fork__buy .xm-fork__price{margin-top:0;}
.xm .xm-fork__buy .xm-fork__plus{margin-top:10px;}
.xm .xm-fork__buy .xm-btn{margin-top:14px;}
.xm .xm-ruck .xm-bday{margin:18px auto 0;max-width:520px;text-align:center;}

/* その他のおすすめ（横スクロール） */
.xm .xm-more{
  scroll-margin-top:16px;
  padding:clamp(40px,10vw,56px) 0 clamp(56px,14vw,76px);
  background:#fff;
}
.xm .xm-more__hint{margin-top:10px;text-align:center;font-size:12px;color:var(--xm-sub);}
.xm .xm-more__list{
  display:flex;gap:12px;
  margin-top:18px !important;
  padding:4px 20px 14px;
  list-style:none;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:20px;
  -webkit-overflow-scrolling:touch;
}
.xm .xm-more__item{flex:none;width:clamp(140px,40vw,180px);scroll-snap-align:start;}
.xm .xm-more__item a{
  display:flex;flex-direction:column;height:100%;
  border-radius:14px;
  background:var(--xm-cream);
  overflow:hidden;
  text-decoration:none;
  box-shadow:0 2px 8px rgba(74,63,55,.08);
}
.xm .xm-more__item img{width:100%;aspect-ratio:1/1;object-fit:cover;}
.xm .xm-more__name{
  display:block;padding:10px 10px 0;
  font-size:clamp(12px,3.3vw,13.5px);line-height:1.5;
  font-family:var(--xm-bold);font-weight:700;
}
.xm .xm-more__name small{display:block;font-size:11px;color:var(--xm-sub);font-family:inherit;font-weight:400;}
.xm .xm-more__price{display:block;margin-top:auto;padding:6px 10px 12px;font-size:12px;}
.xm .xm-more__price strong{font-size:18px;color:var(--xm-red-deep);}

/* クリスマス特集：もくじボタンの位置調整 */
@media (max-width: 599px) {
  .xm .xm-float {
    bottom: 85px;
    right: 14px;
    z-index: 50;
  }
}