@charset "utf-8";

/* --------------- Theme Vars --------------- */
:root{
  --bg: #f7f6f4;
  --paper: #ffffff;
  --ink: #172026;
  --muted: #6b747c;
  --brand: #0b2a55;      /* K2らしい深いネイビー */
  --accent: #e85d7c;     /* ボタン/リンク */
  --accent-2: #7f97c0;   /* バッジ等 */
  --radius: 14px;
  --radius-lg: 20px;
  --shadow: 0 10px 28px rgba(0,0,0,.08);
  --shadow-soft: 0 6px 18px rgba(0,0,0,.06);
  --max: 1200px;
}

/* --------------- Base --------------- */
*{ box-sizing: border-box; }
html, body{ height: 100%; }
body{
  margin: 0;
  font-family: "Noto Sans JP", system-ui, -apple-system, Segoe UI, Roboto, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.75;
  letter-spacing: .02em;
}
img{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }

/* --------------- Legacy KV（従来を維持） --------------- */
.kv img{ width: 100%; display: block; }

/* --------------- Fade (既存クラスを踏襲) --------------- */
.fade{ opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
.fade.show{ opacity: 1; transform: none; }

/* --------------- Layout --------------- */
.container{ max-width: var(--max); margin-inline: auto; padding-inline: 24px; }

/* Header（必要に応じて使用。今回は簡略化） */
header{ position: sticky; top: 0; z-index: 10; backdrop-filter: saturate(120%) blur(8px); background: color-mix(in srgb, var(--paper) 78%, transparent); border-bottom: 1px solid #e6e6e6; }
.header__inner{ display: flex; align-items: center; gap: 16px; padding: 12px 0; }
.brand{ display: flex; align-items: center; gap: 12px; }
.brand__logo{ width: 40px; height: 40px; border-radius: 10px; overflow: hidden; box-shadow: var(--shadow-soft); }
.brand__name{ font-weight: 700; letter-spacing: .04em; }
.badge-sale{ margin-left: auto; background: var(--accent-2); color:#fff; padding:.35rem .7rem; border-radius:999px; font-size:.85rem; box-shadow: var(--shadow-soft); }

/* Section */
.section{ padding: 48px 0; }
.section .grid{ display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }

/* 番号付きグラデ帯 */
.band{ grid-column: 1 / -1; position: relative; border-radius: var(--radius); padding: 20px 20px 20px 64px; color: #fff; overflow: hidden; font-weight: 600; margin-bottom: 30px;}
.band__num{ position: absolute; inset: 0 auto 0 0; width: 54px; display: grid; place-items: center; font-family: "Source Serif 4", ui-serif, Georgia, "Hiragino Mincho ProN", serif; font-weight: 700; font-size: 22px; background: rgba(0,0,0,.15); }
.band--pink{   background: linear-gradient(120deg,#f1d6d4, #c7978d); }
.band--green{  background: linear-gradient(120deg,#dfe7c7, #a3af62); }
.band--beige{  background: linear-gradient(120deg,#eee3cf, #bfa476); }
.band--blue{   background: linear-gradient(120deg,#cfd9eb, #7f97c0); }
.band--yellow{ background: linear-gradient(120deg,#f5e9b9, #cab54d); }

.bg-autumn-1{
  background:#D9792E;
  background:linear-gradient(120deg, #D9792E 0%, #8A3E12 100%);
}

/* 2) Persimmon Walnut */
.bg-autumn-2{
  background:#B33A3A;
  background:linear-gradient(120deg, #B33A3A 0%, #6B1717 100%);
}

/* 3) Burnt Gold × Evergreen */
.bg-autumn-3{
  background:#8B5E3C;
  background:linear-gradient(120deg, #8B5E3C 0%, #3E2614 100%);
}

/* 4) Mulberry Cocoa */
.bg-autumn-4{
  background:#648c2f;
  background:linear-gradient(120deg, #648c2f 0%, #315107 100%);
}

/* 5) Pine Teal × Russet */
.bg-autumn-5{
  background:#6B2F4A;
  background:linear-gradient(120deg, #6B2F4A 0%, #2E1422 100%);
}

/* 特集ブロック（概要＋大画像） */
.feature{ grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; align-items: stretch; }
.feature__summary{ grid-column: 1 / 5; background: var(--paper); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow-soft); }
.feature__summary h3{ font-family:"Source Serif 4", serif; font-size: clamp(28px, 3vw, 40px); line-height: 1.2; margin: 0 0 8px; color: var(--brand); }
.feature__summary .jp{ color: var(--muted); margin-bottom: 18px; }
.feature__summary .desc{ font-size: .98rem; }
.feature__image{ grid-column: 5 / -1; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.feature__image img{ width: 100%; height: 100%; object-fit: cover; }

/* 商品カード */
.cards{ grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; margin-top: 10px; }
.card{ grid-column: span 4; background: var(--paper); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-soft); display: flex; flex-direction: column; }
.card2{ grid-column: span 6;}
.card__media{ overflow: hidden; }
.card__media img{ width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.card:hover .card__media img{ transform: scale(1.05); }
.card__body{ padding: 16px 16px 18px; }
.pill{ display: inline-block; border: 1px solid #e5e7eb; border-radius: 999px; padding: .15rem .6rem; font-size: .8rem; color: var(--muted); margin-bottom: 6px; }
.name{ font-weight: 700; margin: .1rem 0 .3rem; }
.color{ color: var(--muted); font-size: .93rem; }
.prices{ display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.price--orig{ text-decoration: line-through; color: var(--muted); }
.price--sale{ color: #c03535; font-weight: 700; }
.card__actions{ margin-top: auto; padding: 0 16px 16px; }

/* ボタン */
.btn{ display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 40px; padding: 0 16px; border-radius: 10px; border: 1px solid #e5e7eb; background: #fff; transition: .2s; }
.btn:hover{ transform: translateY(-1px); box-shadow: var(--shadow-soft); }
.btn--primary{ background: var(--accent); border-color: transparent; color: #fff; }

/* その他リンク */
.cta-more{ display: flex; justify-content: center; margin-top: 36px; }
.cta-more a{ background: var(--brand); color: #fff; padding: 12px 20px; border-radius: 12px; box-shadow: var(--shadow-soft); }
.cta-more a:hover{ filter: brightness(1.05); }

/* Footer */
footer{ margin-top: 60px; background: #0b0f2a; color: #fff; }
.footer__inner{ padding: 28px 0; text-align: center; opacity: .85; }

/* --------------- Responsive --------------- */
@media (max-width: 1080px){
  .feature__summary{ grid-column: 1 / -1; }
  .feature__image{ grid-column: 1 / -1; }
  .card{ grid-column: span 6; }
}
@media (max-width: 640px){
  .container{ padding-inline: 18px; }
  .band{ padding-left: 58px; }
  .band__num{ width: 48px; }
  .card{ grid-column: 1 / -1; }
}
/* スマホ時：商品カードを2列（12カラム中6カラムずつ） */
@media (max-width: 640px){
  .cards{
    grid-template-columns: repeat(12, 1fr); /* 念のため明示 */
    gap: 16px; /* モバイルは少し狭めの余白に */
  }
  .card{
    grid-column: span 6; /* ← これで2列並びになります */
  }
}

/* 画面が極端に狭い端末（任意）：1列に戻したい場合だけ使用 */
@media (max-width: 360px){
  .card{
    grid-column: 1 / -1; /* 必要なければこの塊は削除でOK */
  }
}