/* 洋菓子 ポケットの森（洋菓子店デモ）
   ミントの地に、切り抜きのケーキを散らして、ゆっくり揺らす。
   いちごの色はボタン・値段・図の印だけに使う。 */
:root {
  --mint: #CDEBDD;
  --mint-d: #A9D9C3;      /* 葉っぱの中・図の面 */
  --mint-l: #E6F5EE;      /* 白い区画のうすい面 */
  --ichigo: #E86A7E;
  --ichigo-d: #C94F64;    /* 白地の小さな値段・ボタンを押したとき */
  --ichigo-l: #FBE1E5;
  --choco: #5A3A2E;
  --choco-s: #7A5C4F;
  --white: #fff;
  --en: "Fredoka", "Zen Maru Gothic", sans-serif;
  --ja: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;
  --r: 22px;
  --ease: cubic-bezier(.34, 1.3, .64, 1);
  --soft: cubic-bezier(.22, .8, .3, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--mint); color: var(--choco);
  font-family: var(--ja); font-weight: 500; font-size: 16px; line-height: 1.9;
  letter-spacing: .03em; font-feature-settings: "palt" 0;
  overflow-wrap: anywhere; word-break: normal; line-break: strict;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, p, dl, dd, figure, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
.defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.wrap { width: min(1120px, 100% - 40px); margin-inline: auto; }
.narrow { width: min(760px, 100% - 40px); margin-inline: auto; }
.nb { display: inline-block; }
.en { font-family: var(--en); font-weight: 600; letter-spacing: .02em; }

/* ---------- ロゴ ---------- */
.logo { display: inline-flex; align-items: center; text-decoration: none; color: var(--choco); }
.logo svg { width: 168px; height: auto; overflow: visible; }
.logo text { font-family: var(--en); }
.logo .lg-ja { font-family: var(--ja); font-weight: 700; }

/* ---------- ヘッダー ---------- */
.hd { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.94); backdrop-filter: blur(6px); border-bottom: 1.5px solid transparent; transition: border-color .3s; }
.hd.is-scrolled { border-bottom-color: var(--mint-d); }
.hd__in { display: flex; align-items: center; gap: 18px; min-height: 76px; width: min(1280px, 100% - 32px); margin-inline: auto; }
.hd__brand { display: flex; align-items: center; gap: 8px; flex: none; }
.demo { font-family: var(--en); font-weight: 500; font-size: 9px; letter-spacing: .14em; color: var(--choco-s); border: 1px solid var(--mint-d); border-radius: 99px; padding: 0 6px; line-height: 1.6; }
.gnav { display: flex; gap: 4px; margin-left: auto; }
.gnav a { position: relative; display: block; padding: 8px 10px; font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; border-radius: 99px; transition: background .2s; }
.gnav a:hover { background: var(--mint-l); }
.gnav a[aria-current="page"] { background: var(--mint); }
.hd__info { display: flex; align-items: center; gap: 12px; flex: none; font-size: 12px; line-height: 1.5; }
.hd__time { text-align: right; color: var(--choco-s); }
.hd__tel { display: block; font-family: var(--en); font-weight: 600; font-size: 15px; color: var(--choco); text-decoration: none; letter-spacing: .04em; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px; padding: 10px 26px; border-radius: 99px; background: var(--ichigo); color: var(--white); font-weight: 700; font-size: 15px; text-decoration: none; line-height: 1.4; box-shadow: 0 3px 0 var(--ichigo-d); transition: transform .2s var(--ease), box-shadow .2s; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 5px 0 var(--ichigo-d); }
.btn:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--ichigo-d); }
.btn--sm { min-height: 40px; padding: 6px 18px; font-size: 14px; }
.more { display: inline-flex; align-items: center; gap: .4em; min-height: 46px; padding: 8px 22px; border: 2px solid var(--choco); border-radius: 99px; font-weight: 700; font-size: 15px; text-decoration: none; background: var(--white); transition: background .2s, transform .2s var(--ease); }
.more:hover { background: var(--mint-l); transform: translateY(-2px); }
.more .ar { font-family: var(--en); transition: transform .2s; }
.more:hover .ar { transform: translateX(3px); }
.menu { display: none; }

@media (max-width: 1180px) {
  .hd__time { display: none; }
}
@media (max-width: 980px) {
  .gnav, .hd__info .hd__tel { display: none; }
  .hd__in { min-height: 64px; gap: 10px; }
  .logo svg { width: 140px; }
  .hd__info { margin-left: auto; }
  .menu { display: block; position: relative; }
  .menu summary { list-style: none; cursor: pointer; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--mint); }
  .menu summary::-webkit-details-marker { display: none; }
  .menu summary span { position: relative; width: 20px; height: 2px; background: var(--choco); border-radius: 2px; }
  .menu summary span::before, .menu summary span::after { content: ""; position: absolute; left: 0; width: 20px; height: 2px; background: var(--choco); border-radius: 2px; transition: transform .25s; }
  .menu summary span::before { top: -6px; } .menu summary span::after { top: 6px; }
  .menu[open] summary span { background: transparent; }
  .menu[open] summary span::before { transform: translateY(6px) rotate(45deg); }
  .menu[open] summary span::after { transform: translateY(-6px) rotate(-45deg); }
  .menu__panel { position: absolute; right: 0; top: 54px; width: min(300px, calc(100vw - 32px)); background: var(--white); border: 2px solid var(--choco); border-radius: 20px; padding: 10px; box-shadow: 0 8px 0 var(--mint-d); }
  .menu__panel a { display: block; padding: 11px 14px; font-weight: 700; text-decoration: none; border-radius: 12px; }
  .menu__panel a[aria-current="page"] { background: var(--mint); }
  .menu__panel .menu__tel { font-family: var(--en); font-size: 17px; border-top: 1.5px dashed var(--mint-d); border-radius: 0; margin-top: 6px; padding-top: 14px; }
  .menu__panel small { display: block; padding: 0 14px 8px; font-size: 12px; color: var(--choco-s); }
}
@media (max-width: 420px) {
  .hd__info .btn--sm { padding: 6px 14px; }
  .logo svg { width: 124px; }
}

/* ---------- 区画 ---------- */
.sec { position: relative; padding: 96px 0; }
.sec--white { background: var(--white); }
.sec--mint { background: var(--mint); }
/* 白い地の下の端を波の形に切る（次の区画のミントがのぞく） */
.sec--white.wave { padding-bottom: 120px; }
.sec--white.wave::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 30px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 30' preserveAspectRatio='none'%3E%3Cpath d='M0 30V18C10 18 10 6 20 6s10 12 20 12 10-12 20-12 10 12 20 12 10-12 20-12 10 12 20 12v12z' fill='%23CDEBDD'/%3E%3C/svg%3E") repeat-x 0 100% / 120px 30px; }
.sec--white.wave.to-choco::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 30' preserveAspectRatio='none'%3E%3Cpath d='M0 30V18C10 18 10 6 20 6s10 12 20 12 10-12 20-12 10 12 20 12 10-12 20-12 10 12 20 12v12z' fill='%235A3A2E'/%3E%3C/svg%3E"); }
.h2 { font-size: clamp(26px, 3.4vw, 36px); font-weight: 700; line-height: 1.45; letter-spacing: .06em; }
.h2--c { text-align: center; }
.h3 { font-size: 20px; font-weight: 700; line-height: 1.5; letter-spacing: .05em; }
.lead { margin-top: 18px; font-size: 17px; }
.lead--c { text-align: center; }
.note { font-size: 13px; color: var(--choco-s); line-height: 1.8; }
.price { font-family: var(--en); font-weight: 600; color: var(--ichigo-d); letter-spacing: .02em; }
.price b { font-size: 1.45em; font-weight: 600; }
.sec--mint .price { color: var(--ichigo-d); }
.center { text-align: center; }
.mt-s { margin-top: 14px; } .mt-m { margin-top: 28px; } .mt-l { margin-top: 48px; }

/* 手描きの葉っぱ */
.leaf { position: absolute; width: 44px; height: auto; color: var(--choco); pointer-events: none; }
.leaf use { fill: var(--mint-d); stroke: var(--choco); stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
.sec--mint .leaf use { fill: #9FD3BB; }

/* 切り抜きの写真 */
.cut { filter: drop-shadow(0 10px 10px rgba(90,58,46,.16)); }

/* ---------- 最初の画面 ---------- */
.hero { position: relative; overflow: hidden; background: var(--mint); padding: 56px 0 0; }
.hero__stage { position: relative; display: grid; justify-items: center; width: min(1280px, 100%); margin-inline: auto; padding: 0 20px 52px; }
.hero__badge { position: relative; z-index: 2; width: clamp(260px, 40vh, 400px); aspect-ratio: 1; border-radius: 50%; background: var(--white); display: grid; place-items: center; box-shadow: 0 0 0 10px rgba(255,255,255,.45); }
.hero__badge svg { width: 78%; overflow: visible; }
.hero__badge text { font-family: var(--en); }
.hero__badge .lg-ja { font-family: var(--ja); font-weight: 700; }
.hero__txt { position: relative; z-index: 2; margin-top: 34px; text-align: center; }
.hero h1 { font-size: clamp(25px, 3.2vw, 34px); font-weight: 700; letter-spacing: .08em; line-height: 1.5; }
.hero__txt p { margin-top: 10px; font-size: 16px; }
.hero__txt .btn { margin-top: 22px; min-height: 56px; padding: 12px 34px; font-size: 16px; }
.hero__band { position: relative; z-index: 2; background: var(--white); text-align: center; font-size: 13px; padding: 12px 16px; line-height: 1.6; }
.hero__band .en { font-weight: 500; }
.fl { position: absolute; z-index: 1; }
.fl img { width: 100%; height: auto; }
.fl--short { width: clamp(150px, 19vw, 270px); left: 15%; top: 3%; --rot: -8deg; }
.fl--choco { width: clamp(130px, 15vw, 220px); right: 17%; top: 6%; --rot: 7deg; }
.fl--tart  { width: clamp(160px, 19vw, 270px); right: 6%; top: 52%; --rot: -5deg; }
.fl--cookie{ width: clamp(100px, 11vw, 150px); left: 9%; top: 58%; --rot: 9deg; }
.fl--pound { width: clamp(100px, 11vw, 160px); left: 2%; top: 30%; --rot: 6deg; }
.fl--cheese{ width: clamp(110px, 12vw, 170px); right: 1.5%; top: 18%; --rot: -10deg; }
.fl > span { display: block; transform: rotate(var(--rot)); }
.hero .leaf--a { left: 12%; top: 34%; width: 40px; transform: rotate(-30deg); }
.hero .leaf--b { left: 30%; top: 2%; width: 34px; transform: rotate(40deg); }
.hero .leaf--c { right: 31%; top: 1%; width: 30px; transform: rotate(-60deg); }
.hero .leaf--d { right: 9%; top: 38%; width: 42px; transform: rotate(20deg); }
.hero .leaf--e { left: 6%; top: 60%; width: 30px; transform: rotate(120deg); }
.hero .leaf--f { right: 24%; top: 72%; width: 34px; transform: rotate(-110deg); }
@media (max-width: 760px) {
  .hero { padding-top: 34px; }
  .hero__badge { width: 228px; }
  .hero__txt { margin-top: 128px; }
  .hero h1 { font-size: 23px; }
  .hero__txt p { font-size: 15px; }
  .fl--short { width: 132px; left: -10px; top: 0; }
  .fl--choco { width: 108px; right: -14px; top: 2px; }
  .fl--tart { width: 136px; right: 2%; top: 268px; }
  .fl--cookie { width: 92px; left: 6%; top: 280px; }
  .fl--pound { width: 86px; left: 34%; top: 300px; }
  .fl--cheese { width: 92px; right: -24px; top: 150px; }
  .hero .leaf--a { left: 4%; top: 190px; }
  .hero .leaf--b { left: 28%; top: 250px; }
  .hero .leaf--c { right: 30%; top: 268px; }
  .hero .leaf--d, .hero .leaf--e, .hero .leaf--f { display: none; }
}

/* ゆっくり上下に揺らす（1枚ごとに速さを変える） */
@keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes pop { from { opacity: 0; transform: translateY(18px) scale(.9); } to { opacity: 1; transform: none; } }
.anim .fl { animation: bob var(--d, 6s) ease-in-out var(--dl, 0s) infinite; }
.anim .fl--short { --d: 6.4s; } .anim .fl--choco { --d: 7.6s; --dl: -2s; } .anim .fl--tart { --d: 5.8s; --dl: -1s; }
.anim .fl--cookie { --d: 8.2s; --dl: -3s; } .anim .fl--pound { --d: 7s; --dl: -4s; } .anim .fl--cheese { --d: 6.8s; --dl: -1.6s; }
.anim .hero__badge { animation: pop .9s var(--ease) both; }
.anim .fl > span { animation: pop .9s var(--ease) both; }
.anim .fl--choco > span { animation-delay: .12s; } .anim .fl--tart > span { animation-delay: .2s; } .anim .fl--cookie > span { animation-delay: .28s; }
.anim .fl--pound > span { animation-delay: .34s; } .anim .fl--cheese > span { animation-delay: .4s; }
.anim .fl > span { transform: rotate(var(--rot)); }
@keyframes popr { from { opacity: 0; transform: translateY(18px) rotate(var(--rot)) scale(.9); } to { opacity: 1; transform: rotate(var(--rot)); } }
.anim .fl > span { animation-name: popr; }

/* スクロールで出す（JS がクラスを付けたときだけ隠す） */
.anim [data-rv] { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--soft), transform .8s var(--soft); }
.anim [data-rv].is-in { opacity: 1; transform: none; }

/* ---------- 今日のケーキ ---------- */
.today__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; margin-top: 52px; }
.item { text-align: center; }
.item__ph { position: relative; height: clamp(150px, 17vw, 230px); display: flex; align-items: flex-end; justify-content: center; padding-bottom: 10px; }
.item__ph::before { content: ""; position: absolute; left: 10%; right: 10%; bottom: 0; height: 40px; border-radius: 50%; background: var(--mint); }
.item__ph img { position: relative; width: auto; height: auto; max-width: 88%; max-height: 100%; transition: transform .4s var(--ease); }
.item:hover .item__ph img { transform: translateY(-6px) rotate(-2deg); }
.item__name { margin-top: 14px; font-weight: 700; font-size: 16px; line-height: 1.5; }
.item__price { margin-top: 2px; font-size: 15px; }
.item__price small { font-family: var(--ja); font-size: 11px; color: var(--choco-s); margin-left: 3px; }
.today__foot { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; border-top: 1.5px dashed var(--mint-d); padding-top: 26px; }
@media (max-width: 760px) {
  .today__row { grid-template-columns: repeat(2, 1fr); gap: 26px 14px; margin-top: 34px; }
  .today__foot { justify-content: center; text-align: center; }
}

/* ---------- 図 共通 ---------- */
.fig { position: relative; margin-top: 44px; background: var(--white); border-radius: 30px; padding: 36px clamp(16px, 3vw, 44px) 28px; border: 2px solid var(--choco); box-shadow: 0 8px 0 var(--mint-d); }
.sec--white .fig { box-shadow: 0 8px 0 var(--mint); }
.fig__t { position: absolute; left: 50%; top: 0; transform: translate(-50%, -55%); background: var(--ichigo); color: var(--white); font-weight: 700; font-size: 15px; letter-spacing: .06em; line-height: 1.4; padding: 8px 22px; border-radius: 99px; white-space: nowrap; }
.fig__note { margin-top: 18px; text-align: center; font-size: 13px; color: var(--choco-s); }
.svgtxt { font-family: var(--ja); font-weight: 700; fill: var(--choco); }
.svgen { font-family: var(--en); font-weight: 600; fill: var(--choco); }

/* P-1 ホールケーキの大きさと人数 */
.sizes { display: grid; grid-template-columns: 12fr 15fr 18fr 21fr; align-items: end; gap: clamp(10px, 2.4vw, 34px); }
.size { position: relative; text-align: center; }
.size__cake { width: 100%; height: auto; margin-inline: auto; }
.size__flag { position: absolute; left: 50%; top: -6px; transform: translate(-50%, -100%); white-space: nowrap; background: var(--ichigo-l); color: var(--ichigo-d); border: 1.5px solid var(--ichigo); font-size: 12px; font-weight: 700; padding: 2px 10px; border-radius: 99px; line-height: 1.6; }
.size__flag::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 10px; height: 10px; background: var(--ichigo-l); border-right: 1.5px solid var(--ichigo); border-bottom: 1.5px solid var(--ichigo); transform: translateX(-50%) rotate(45deg); }
.size__go { margin-top: 12px; font-family: var(--en); font-weight: 600; font-size: clamp(22px, 2.6vw, 30px); line-height: 1; }
.size__go small { font-family: var(--ja); font-size: .55em; margin-left: 1px; }
.size__d { margin-top: 6px; font-size: 13px; color: var(--choco-s); line-height: 1.5; }
.size__d .en { font-weight: 500; }
.size__ppl { display: flex; flex-wrap: wrap; justify-content: center; gap: 3px; margin-top: 10px; min-height: 22px; }
.size__ppl i { width: 14px; height: 20px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 20'%3E%3Ccircle cx='7' cy='4.6' r='3.6' fill='%235A3A2E'/%3E%3Cpath d='M1 19.5c0-6 2.6-9.2 6-9.2s6 3.2 6 9.2z' fill='%235A3A2E'/%3E%3C/svg%3E"); }
.size__ppl i.l { opacity: .28; }
.size__n { margin-top: 4px; font-weight: 700; font-size: 15px; }
.size__p { margin-top: 2px; font-size: 14px; }
.size__p b { font-size: 1.3em; }
@keyframes hop { 0% { opacity: 0; transform: translateY(30px) scale(.8); } 60% { opacity: 1; transform: translateY(-8px) scale(1.03); } 100% { opacity: 1; transform: none; } }
.anim .sizes .size__cake { opacity: 0; }
.anim .sizes.is-in .size__cake { animation: hop .8s var(--ease) both; }
.anim .sizes.is-in .size:nth-child(2) .size__cake { animation-delay: .15s; }
.anim .sizes.is-in .size:nth-child(3) .size__cake { animation-delay: .3s; }
.anim .sizes.is-in .size:nth-child(4) .size__cake { animation-delay: .45s; }
@media (max-width: 760px) {
  .sizes { grid-template-columns: 1fr 1fr; align-items: end; gap: 34px 16px; }
  .size__cake { width: var(--w); }
  .size:nth-child(1) { --w: 57%; } .size:nth-child(2) { --w: 71%; } .size:nth-child(3) { --w: 86%; } .size:nth-child(4) { --w: 100%; }
  .size__d { font-size: 12px; }
}

/* P-2 ご予約から受け取りまで */
.days { position: relative; margin-top: 40px; }
.days__time { position: absolute; right: 0; top: -32px; font-size: 13px; font-weight: 700; }
.days__time .en { color: var(--ichigo-d); font-size: 15px; }
.days__strip { display: grid; grid-template-columns: repeat(8, 1fr); border: 2px solid var(--choco); border-radius: 18px; overflow: hidden; }
.days__strip li { position: relative; padding: 12px 4px; text-align: center; font-size: 13px; font-weight: 700; line-height: 1.3; border-left: 1.5px dashed var(--mint-d); background: var(--white); }
.days__strip li:first-child { border-left: 0; }
.days__strip li .en { display: block; font-size: 24px; line-height: 1.1; }
.days__strip li.is-day { background: var(--ichigo); color: var(--white); border-left: 0; }
.days__strip li.is-day svg { width: 30px; margin: 0 auto 2px; }
.days__marks { display: grid; grid-template-columns: repeat(8, 1fr); margin-top: 0; }
.dm { position: relative; padding-top: 22px; font-size: 13px; line-height: 1.65; }
.dm::before { content: ""; position: absolute; top: 0; left: calc(50% / var(--span, 1)); width: 2px; height: 16px; background: var(--choco); }
.dm b { display: inline-block; font-size: 13px; padding: 1px 10px; border-radius: 99px; margin-bottom: 4px; background: var(--mint); }
.dm--seasonal { grid-column: 1 / span 2; --span: 2; }
.dm--seasonal b { background: var(--ichigo-l); color: var(--ichigo-d); }
.dm--seven { grid-column: 3 / span 2; --span: 2; }
.dm--regular { grid-column: 5 / span 2; --span: 2; }
.dm--today { grid-column: 7 / span 2; --span: 1; text-align: left; }
.dm--today::before { left: 75%; }
.dm { padding-right: 10px; }
.dm--seasonal::before, .dm--seven::before, .dm--regular::before { left: 25%; }
.anim .days__strip li { opacity: 0; transform: translateY(10px); transition: opacity .5s, transform .5s var(--ease); }
.anim .days.is-in .days__strip li { opacity: 1; transform: none; }
.anim .days.is-in .days__strip li:nth-child(2) { transition-delay: .06s; } .anim .days.is-in .days__strip li:nth-child(3) { transition-delay: .12s; }
.anim .days.is-in .days__strip li:nth-child(4) { transition-delay: .18s; } .anim .days.is-in .days__strip li:nth-child(5) { transition-delay: .24s; }
.anim .days.is-in .days__strip li:nth-child(6) { transition-delay: .3s; } .anim .days.is-in .days__strip li:nth-child(7) { transition-delay: .36s; }
.anim .days.is-in .days__strip li:nth-child(8) { transition-delay: .5s; }
@media (max-width: 760px) {
  .days { margin-top: 10px; display: grid; grid-template-columns: 82px 1fr; gap: 0 14px; }
  .days__time { position: static; grid-column: 1 / -1; margin-bottom: 14px; text-align: center; }
  .days__strip { grid-template-columns: 1fr; grid-template-rows: repeat(8, auto); }
  .days__strip li { border-left: 0; border-top: 1.5px dashed var(--mint-d); padding: 7px 4px; display: flex; align-items: center; justify-content: center; gap: 4px; min-height: 50px; }
  .days__strip li:first-child { border-top: 0; }
  .days__strip li .en { display: inline; font-size: 19px; }
  .days__strip li.is-day { flex-direction: column; gap: 0; }
  .days__marks { grid-template-columns: 1fr; grid-template-rows: auto; align-content: start; gap: 0; }
  .dm { grid-column: auto !important; padding: 0 0 0 16px; }
  .dm::before { top: 12px; left: 0 !important; width: 10px; height: 2px; }
  .days__marks { display: grid; grid-template-rows: 100px 100px 100px 1fr; }
  .dm--today { text-align: left; align-self: end; }
}

/* P-3 プレートに書ける字 */
.plates { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 8px; }
.plate { text-align: center; }
.plate__lab { font-weight: 700; font-size: 15px; }
.plate__oval { position: relative; margin: 14px auto 0; display: grid; place-items: center; width: 100%; max-width: 380px; aspect-ratio: 2.3 / 1; border-radius: 50%; background: radial-gradient(ellipse at 40% 30%, #7A5244 0, var(--choco) 60%, #4A2E24 100%); color: #FFF7EF; box-shadow: 0 6px 0 #3E271F, 0 12px 16px rgba(90,58,46,.18); padding: 0 14%; }
.plate--s .plate__oval { max-width: 300px; }
.plate__oval span { font-weight: 700; font-size: clamp(14px, 1.8vw, 18px); line-height: 1.6; letter-spacing: .08em; }
.plate__max { margin-top: 18px; font-weight: 700; }
.plate__max .en { font-size: 30px; color: var(--ichigo-d); margin-right: 2px; }
@keyframes write { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
.anim .plates .plate__oval span { clip-path: inset(0 100% 0 0); }
.anim .plates.is-in .plate__oval span { animation: write 1.6s steps(18, end) .3s forwards; }
.anim .plates.is-in .plate:nth-child(2) .plate__oval span { animation-delay: 1s; }
@media (max-width: 640px) { .plates { grid-template-columns: 1fr; gap: 34px; } }

/* P-4 お店の中 */
.plan svg { width: 100%; height: auto; }
.plan .wall { fill: #FFFDF9; stroke: var(--choco); stroke-width: 3; stroke-linejoin: round; }
.plan .thing { fill: var(--mint); stroke: var(--choco); stroke-width: 2; }
.plan .thing--p { fill: var(--ichigo-l); }
.plan .path { fill: none; stroke: var(--ichigo); stroke-width: 3; stroke-dasharray: 2 9; stroke-linecap: round; }
.plan .lab { font-family: var(--ja); font-weight: 700; font-size: 19px; fill: var(--choco); }
.plan .lab--s { font-size: 15px; font-weight: 500; }
.anim .plan .path { stroke-dashoffset: 300; opacity: 0; }
.anim .plan.is-in .path { animation: walk 2.4s ease-out .3s forwards; }
@keyframes walk { from { stroke-dashoffset: 300; opacity: 0; } 10% { opacity: 1; } to { stroke-dashoffset: 0; opacity: 1; } }
.anim .plan .stroller { opacity: 0; transform: translateX(-30px); transition: opacity .6s, transform 1.4s var(--soft); }
.anim .plan.is-in .stroller { opacity: 1; transform: none; transition-delay: .2s; }
.plan__lg { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 20px; margin-top: 14px; font-size: 13px; }
.plan__lg span { display: inline-flex; align-items: center; gap: 6px; }
.plan__lg svg { width: 22px; height: 22px; }

/* P-5 お店の1日 */
.day { position: relative; margin-top: 54px; }
.day__flag { position: absolute; left: calc(100% * 9 / 13); right: 0; top: -40px; text-align: center; }
.day__flag span { display: inline-block; background: var(--ichigo-l); color: var(--ichigo-d); border: 1.5px solid var(--ichigo); border-radius: 99px; padding: 1px 12px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.day__flag::after { content: ""; display: block; height: 10px; margin: 0 8%; border: 1.5px solid var(--ichigo); border-bottom: 0; border-radius: 8px 8px 0 0; }
.day__hours { display: grid; grid-template-columns: repeat(13, 1fr); font-family: var(--en); font-weight: 500; font-size: 12px; color: var(--choco-s); }
.day__hours span { border-left: 1.5px solid var(--mint-d); padding-left: 3px; line-height: 1.2; }
.day__bar { position: relative; display: grid; grid-template-columns: repeat(13, 1fr); height: 58px; margin-top: 6px; border: 2px solid var(--choco); border-radius: 16px; overflow: hidden; background: var(--white); }
.seg { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; font-weight: 700; line-height: 1.3; padding: 0 6px; text-align: center; }
.seg svg { width: 24px; flex: none; }
.seg--make { grid-column: 1 / span 4; background: var(--mint); }
.seg--open { grid-column: 5 / span 3; background: var(--white); border-left: 2px solid var(--choco); }
.seg--bake { grid-column: 8 / span 3; background: #F3E3CF; }
.seg--low { grid-column: 11 / span 3; background: var(--ichigo-l); }
.day__desc { display: grid; grid-template-columns: repeat(13, 1fr); margin-top: 14px; font-size: 13px; line-height: 1.65; }
.dd { padding-right: 8px; }
.dd b { display: block; font-family: var(--en); font-weight: 600; font-size: 15px; }
.dd--make { grid-column: 1 / span 4; } .dd--open { grid-column: 5 / span 3; } .dd--bake { grid-column: 8 / span 3; } .dd--low { grid-column: 11 / span 3; }
.berries { display: flex; gap: 2px; margin-top: 4px; }
.berries svg { width: 18px; }
.anim .day.is-in .berries svg:nth-child(n+2) { animation: fade-berry 1s ease-in forwards; }
.anim .day.is-in .berries svg:nth-child(3) { animation-delay: 1.2s; } .anim .day.is-in .berries svg:nth-child(4) { animation-delay: 1.8s; } .anim .day.is-in .berries svg:nth-child(5) { animation-delay: 2.4s; } .anim .day.is-in .berries svg:nth-child(2) { animation-delay: .6s; }
@keyframes fade-berry { to { opacity: .15; transform: scale(.8); } }
.anim .day .seg { transform: scaleX(0); transform-origin: left; transition: transform .7s var(--soft); }
.anim .day.is-in .seg { transform: none; }
.anim .day.is-in .seg--open { transition-delay: .25s; } .anim .day.is-in .seg--bake { transition-delay: .5s; } .anim .day.is-in .seg--low { transition-delay: .75s; }
@media (max-width: 760px) {
  .day { margin-top: 10px; display: grid; grid-template-columns: 46px 1fr; gap: 0 12px; }
  .day__flag { position: static; grid-column: 1 / -1; order: 3; text-align: left; margin-top: 14px; }
  .day__flag::after { display: none; }
  .day__hours { grid-template-columns: 1fr; grid-template-rows: repeat(13, 40px); font-size: 12px; }
  .day__hours span { border-left: 0; border-top: 1.5px solid var(--mint-d); padding: 2px 0 0; }
  .day__bar { display: none; }
  .day__desc { margin-top: 0; grid-template-columns: 1fr; grid-template-rows: repeat(13, 40px); }
  .dd { padding: 6px 12px; border-radius: 14px; border: 2px solid var(--choco); margin: 2px 0; }
  .dd--make { grid-row: 1 / span 4; grid-column: auto; background: var(--mint); }
  .dd--open { grid-row: 5 / span 3; grid-column: auto; background: var(--white); }
  .dd--bake { grid-row: 8 / span 3; grid-column: auto; background: #F3E3CF; }
  .dd--low { grid-row: 11 / span 3; grid-column: auto; background: var(--ichigo-l); }
}

/* ---------- ホールケーキ（トップ） ---------- */
.whole-top__foot { margin-top: 34px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 28px; text-align: center; }
.whole-top__foot p { font-weight: 700; }

/* ---------- 写真と文（焼き菓子・パティシエ） ---------- */
.split { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.split--rev .split__ph { order: 2; }
.split__ph { position: relative; }
.split__ph img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 46% 54% 50% 50% / 58% 52% 48% 42%; }
.split__ph--arch img { border-radius: 999px 999px 26px 26px; aspect-ratio: 4 / 4.2; }
.split__ph .leaf { width: 48px; }
.split__ph .leaf--a { left: -6px; top: -14px; transform: rotate(-24deg); }
.split__ph .leaf--b { right: 6%; bottom: -16px; transform: rotate(150deg); }
.split__txt p + p { margin-top: 0; }
.split__txt .body { margin-top: 18px; }
.split__txt .more { margin-top: 26px; }
@media (max-width: 760px) {
  .split { grid-template-columns: 1fr; }
  .split--rev .split__ph { order: 0; }
}

/* ---------- お子さまと（札3つ） ---------- */
.tags { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 46px; }
.tag { position: relative; background: var(--white); border-radius: 50% 50% 40px 40px / 64px 64px 40px 40px; padding: 46px 24px 30px; text-align: center; }
.tag__ic { width: 64px; height: 64px; margin: 0 auto 12px; color: var(--choco); }
.tag__ic svg { width: 64px; height: 64px; }
.tag b { display: block; font-size: 18px; line-height: 1.5; }
.tag span { display: block; margin-top: 6px; font-size: 14px; color: var(--choco-s); }
.tag .leaf { width: 36px; top: -8px; right: 22%; transform: rotate(30deg); }
.tags + .center { margin-top: 40px; }
@media (max-width: 760px) { .tags { grid-template-columns: 1fr; gap: 18px; } .tag { border-radius: 36px; padding: 28px 20px 24px; display: grid; grid-template-columns: 56px 1fr; gap: 4px 14px; text-align: left; align-items: center; } .tag__ic { grid-row: 1 / span 2; width: 56px; height: 56px; margin: 0; } .tag__ic svg { width: 56px; height: 56px; } }

/* ---------- よく聞かれること ---------- */
.faq { margin-top: 40px; display: grid; gap: 16px; }
.faq > div { background: var(--white); border-radius: 26px; padding: 22px 28px 24px 74px; position: relative; }
.faq > div::before { content: "Q"; position: absolute; left: 22px; top: 18px; width: 38px; height: 38px; border-radius: 50%; background: var(--mint); font-family: var(--en); font-weight: 600; font-size: 19px; display: grid; place-items: center; line-height: 1; }
.sec--white .faq > div { background: var(--mint-l); }
.sec--white .faq > div::before { background: var(--white); }
.faq dt { font-weight: 700; font-size: 17px; line-height: 1.6; }
.faq dd { margin-top: 8px; font-size: 15px; }
.faq + .center { margin-top: 28px; }
.txtlink { font-weight: 700; text-underline-offset: 5px; text-decoration-thickness: 1.5px; text-decoration-color: var(--ichigo); }
@media (max-width: 560px) { .faq > div { padding: 20px 20px 22px 62px; } .faq > div::before { left: 14px; width: 34px; height: 34px; font-size: 17px; } }

/* ---------- お店の場所 ---------- */
.shopinfo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: start; margin-top: 40px; }
.info { width: 100%; border-collapse: collapse; font-size: 15px; }
.info th, .info td { padding: 13px 4px; border-bottom: 1.5px dashed var(--mint-d); text-align: left; vertical-align: top; line-height: 1.7; }
.info th { width: 7.5em; font-weight: 700; white-space: nowrap; }
.info tr:first-child th, .info tr:first-child td { border-top: 2px solid var(--choco); }
.shopinfo__ph img { width: 100%; height: auto; aspect-ratio: 3 / 2.3; object-fit: cover; border-radius: 30px; border: 2px solid var(--choco); }
.shopinfo__ph .more { margin-top: 22px; }
.access { margin-top: 18px; font-size: 15px; }
@media (max-width: 760px) { .shopinfo { grid-template-columns: 1fr; } .shopinfo__ph { order: -1; } }

/* ---------- 下層ページの頭 ---------- */
.ph { position: relative; overflow: hidden; background: var(--mint); padding: 64px 0 76px; }
.ph__in { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; }
.ph h1 { font-size: clamp(30px, 4.4vw, 46px); font-weight: 700; letter-spacing: .08em; line-height: 1.4; }
.ph p { margin-top: 14px; font-size: 16px; max-width: 30em; }
.ph__cut { width: clamp(180px, 26vw, 330px); }
.ph__cut img { width: 100%; height: auto; }
.anim .ph__cut { animation: bob 7s ease-in-out infinite; }
.ph .leaf--a { left: 52%; top: 18%; transform: rotate(-30deg); }
.ph .leaf--b { right: 4%; bottom: 10%; transform: rotate(140deg); width: 36px; }
.ph__photo { margin-top: 0; }
.ph__photo img { width: 100%; height: clamp(240px, 42vw, 520px); object-fit: cover; }
.ph--photo { padding-bottom: 56px; }
.ph__img { width: clamp(260px, 38vw, 470px); }
.ph__img img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 46% 54% 50% 50% / 58% 52% 48% 42%; border: 2px solid var(--choco); }
@media (max-width: 760px) {
  .ph { padding: 40px 0 52px; }
  .ph__in { grid-template-columns: 1fr; gap: 18px; }
  .ph__cut { width: 200px; justify-self: center; }
  .ph__img { width: 100%; }
  .ph .leaf--a { left: auto; right: 8%; top: 12%; }
}

/* ---------- ケーキの一覧（/cake/） ---------- */
.menu-list { margin-top: 40px; display: grid; gap: 0; }
.mi { display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 28px; padding: 18px 0; border-bottom: 1.5px dashed var(--mint-d); }
.mi:first-child { border-top: 2px solid var(--choco); }
.mi__ph { width: 180px; aspect-ratio: 1 / .82; display: grid; place-items: center; }
.mi__ph img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.mi__ph--draw { background: var(--mint-l); border-radius: 50%; width: 130px; margin-inline: auto; aspect-ratio: 1; }
.mi__ph--draw svg { width: 70%; }
.mi__name { font-size: 20px; font-weight: 700; line-height: 1.5; }
.mi__say { margin-top: 4px; color: var(--choco-s); font-size: 15px; }
.mi__price { font-size: 16px; white-space: nowrap; }
@media (max-width: 640px) {
  .mi { grid-template-columns: 110px 1fr; gap: 6px 16px; }
  .mi__ph { width: 110px; grid-row: 1 / span 2; }
  .mi__ph--draw { width: 86px; }
  .mi__price { grid-column: 2; }
  .mi__name { font-size: 17px; }
  .mi__say { font-size: 14px; }
}

/* 季節のケーキ（ぐるりと一年） */
.season { display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: center; margin-top: 36px; }
.season__tbl { width: 100%; border-collapse: separate; border-spacing: 0 10px; }
.season__tbl th { width: 6.5em; padding: 10px 14px; background: var(--white); border-radius: 99px 0 0 99px; font-family: var(--en); font-weight: 600; font-size: 16px; text-align: center; white-space: nowrap; }
.season__tbl th small { font-family: var(--ja); font-weight: 700; font-size: 13px; }
.season__tbl td { padding: 10px 18px; background: var(--white); border-radius: 0 99px 99px 0; font-size: 15px; }
.season__ph img { width: 100%; height: auto; }
@media (max-width: 760px) { .season { grid-template-columns: 1fr; } .season__ph { width: 220px; margin: 0 auto; order: -1; } .season__tbl th { width: 5.6em; padding: 10px 8px; } .season__tbl td { padding: 10px 14px; } }

.callbox { margin-top: 30px; display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: center; background: var(--white); border: 2px solid var(--choco); border-radius: 26px; padding: 24px 28px; }
.callbox svg { width: 56px; height: 56px; }
.callbox__tel { display: inline-block; margin-top: 8px; font-family: var(--en); font-weight: 600; font-size: 26px; text-decoration: none; letter-spacing: .04em; }
.callbox__tel small { font-family: var(--ja); font-size: 13px; font-weight: 500; margin-left: 6px; }
.sec--white .callbox { background: var(--mint-l); border-color: var(--choco); }
@media (max-width: 560px) { .callbox { grid-template-columns: 1fr; text-align: center; } .callbox svg { margin: 0 auto; } }

/* ページの下のリンク */
.next { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; padding: 56px 0 72px; background: var(--mint); }

/* ---------- ホールケーキのページ ---------- */
.price-tbl-wrap { margin-top: 30px; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 22px; border: 2px solid var(--choco); background: var(--white); }
.price-tbl { width: 100%; min-width: 600px; border-collapse: collapse; font-size: 15px; }
.price-tbl th, .price-tbl td { padding: 14px 12px; text-align: center; border-bottom: 1.5px dashed var(--mint-d); line-height: 1.5; }
.price-tbl thead th { background: var(--mint); font-weight: 700; border-bottom: 2px solid var(--choco); }
.price-tbl thead th .en { display: block; font-size: 20px; }
.price-tbl thead th small { font-family: var(--en); font-weight: 500; font-size: 12px; }
.price-tbl tbody th { text-align: left; font-weight: 700; padding-left: 20px; }
.price-tbl tbody tr:last-child th, .price-tbl tbody tr:last-child td { border-bottom: 0; }
.price-tbl td { font-family: var(--en); font-weight: 600; font-size: 17px; color: var(--ichigo-d); }
.price-tbl td.none { color: var(--choco-s); font-weight: 500; }
.scroll-hint { display: none; font-size: 12px; color: var(--choco-s); margin-top: 8px; }
@media (max-width: 640px) { .scroll-hint { display: block; } }

.opts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.opt { background: var(--white); border-radius: 40px; padding: 26px 24px 24px; text-align: center; }
.opt__ic { width: 58px; height: 58px; margin: 0 auto 8px; }
.opt b { display: block; font-size: 18px; }
.opt p { margin-top: 8px; font-size: 14px; line-height: 1.8; text-align: left; }
@media (max-width: 760px) { .opts { grid-template-columns: 1fr; } }

.steps5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 30px; counter-reset: s; }
.steps5 li { position: relative; background: var(--white); border: 2px solid var(--choco); border-radius: 20px; padding: 38px 10px 16px; text-align: center; font-weight: 700; font-size: 15px; line-height: 1.5; }
.steps5 li::before { counter-increment: s; content: counter(s); position: absolute; left: 50%; top: -18px; transform: translateX(-50%); width: 38px; height: 38px; border-radius: 50%; background: var(--ichigo); color: var(--white); font-family: var(--en); font-weight: 600; font-size: 19px; display: grid; place-items: center; line-height: 1; }
@media (max-width: 760px) { .steps5 { grid-template-columns: 1fr 1fr; gap: 28px 12px; } .steps5 li:last-child { grid-column: 1 / -1; } }
.line-box { margin-top: 36px; text-align: center; }
.btn--line { min-height: 60px; padding: 14px 34px; font-size: 16px; }
.btn--line svg { width: 22px; height: 22px; }
.line-box .note { margin-top: 14px; max-width: 34em; margin-inline: auto; }

.chara { display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: center; }
.chara svg { width: 100%; height: auto; }
.chara .stroke { fill: none; stroke: var(--choco); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 760px) { .chara { grid-template-columns: 1fr; } .chara svg { width: 240px; margin: 0 auto; } }

/* ---------- 焼き菓子の表 ---------- */
.bake-list { margin-top: 36px; display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.bk { background: var(--white); border-radius: 28px; padding: 18px 14px 20px; text-align: center; }
.bk__ph { height: 120px; display: grid; place-items: center; }
.bk__ph img { max-height: 120px; width: auto; }
.bk__ph svg { width: 92px; height: auto; }
.bk__name { margin-top: 10px; font-weight: 700; font-size: 15px; line-height: 1.5; }
.bk__price { margin-top: 2px; }
.bk__keep { display: inline-block; margin-top: 8px; font-size: 12px; padding: 0 10px; border-radius: 99px; background: var(--mint); }
@media (max-width: 980px) { .bake-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .bake-list { grid-template-columns: 1fr 1fr; gap: 12px; } .bake-list .bk:last-child { grid-column: 1 / -1; } }

.boxes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 34px; align-items: end; }
.box { text-align: center; }
.box svg { margin: 0 auto; height: auto; }
.box:nth-child(1) svg { width: 46%; } .box:nth-child(2) svg { width: 64%; } .box:nth-child(3) svg { width: 82%; }
.box b { display: block; margin-top: 12px; font-size: 18px; }
.box span { display: block; font-size: 14px; color: var(--choco-s); }
.box .price { margin-top: 4px; display: block; }
@media (max-width: 560px) { .boxes { grid-template-columns: 1fr 1fr 1fr; gap: 10px; } .box b { font-size: 15px; } .box span { font-size: 12px; } }

.blurb { margin-top: 30px; background: var(--white); border-radius: 30px; padding: 28px 32px; }
.sec--white .blurb { background: var(--mint-l); }

/* ---------- 子ども・お店のページの文 ---------- */
.prose p + p { margin-top: 0; }
.prose { margin-top: 18px; }
.block + .block { margin-top: 72px; }
.twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.card { background: var(--white); border-radius: 34px; padding: 30px 32px 32px; }
.sec--white .card { background: var(--mint-l); }
.card .h3 { display: flex; align-items: center; gap: 10px; }
.card .h3 svg { width: 34px; height: 34px; flex: none; }
@media (max-width: 760px) { .twocol { grid-template-columns: 1fr; } .card { padding: 24px 22px 26px; } }

.story { position: relative; background: var(--white); border-radius: 40px; padding: 40px 44px; margin-top: 30px; }
.story .leaf { width: 46px; }
.story .leaf--a { right: 28px; top: -18px; transform: rotate(30deg); }
@media (max-width: 560px) { .story { padding: 28px 22px; } }

/* ---------- フッター ---------- */
.ft { background: var(--choco); color: #F4ECE6; padding: 64px 0 40px; }
.ft__in { display: grid; grid-template-columns: auto 1fr; gap: 40px 64px; align-items: start; }
.ft .logo { color: #F4ECE6; }
.ft .logo svg { width: 200px; }
.ft__addr { margin-top: 16px; font-size: 14px; line-height: 1.9; }
.ft__addr .en { font-weight: 500; }
.ft__nav { display: flex; flex-wrap: wrap; gap: 6px 22px; justify-content: flex-end; font-size: 14px; font-weight: 700; }
.ft__nav a { text-decoration: none; padding: 4px 0; border-bottom: 1.5px solid transparent; }
.ft__nav a:hover, .ft__nav a[aria-current="page"] { border-bottom-color: var(--mint-d); }
.ft__copy { grid-column: 1 / -1; font-size: 12px; opacity: .8; border-top: 1px solid rgba(255,255,255,.18); padding-top: 18px; }
@media (max-width: 760px) { .ft__in { grid-template-columns: 1fr; } .ft__nav { justify-content: flex-start; } }

/* ---------- 動きを減らす設定 ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.berries--m { display: none; }
@media (max-width: 760px) { .berries--m { display: flex; } }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.price small { font-family: var(--ja); font-size: 11px; color: var(--choco-s); margin-left: 3px; font-weight: 500; }
.box .price b { font-size: 1.35em; }
@media (max-width: 640px) {
  .price-tbl { min-width: 0; font-size: 13px; }
  .price-tbl th, .price-tbl td { padding: 10px 4px; }
  .price-tbl tbody th { padding-left: 10px; font-size: 13px; }
  .price-tbl td { font-size: 13px; }
  .price-tbl thead th .en { font-size: 16px; }
  .price-tbl thead th small { font-size: 10px; }
}

/* 日本語の改行は文節で */
h1, h2, h3, p, dt, dd, li, td, th, figcaption { word-break: auto-phrase; }
@media (max-width: 760px) {
  .hero__txt { margin-top: 150px; }
  .fl--cookie { top: 262px; } .fl--pound { top: 286px; } .fl--tart { top: 250px; }
  .hero h1 { font-size: 22px; letter-spacing: .05em; }
  .item__name { font-size: 14px; letter-spacing: 0; }
  .fig { padding-top: 46px; }
  .sizes { gap: 44px 14px; }
  .size__ppl { gap: 2px; }
  .size__ppl i { width: 10px; height: 15px; }
}
.opt__ic { display: block; color: var(--choco); }
.opt__ic svg { width: 58px; height: 58px; }
.sec--mint + .next { padding-top: 0; }
.dm--today { text-align: right; padding-right: 0; }
@media (max-width: 760px) { .dm--today { text-align: left; } }
@media (max-width: 640px) {
  .price-tbl td { white-space: nowrap; font-size: 12px; letter-spacing: 0; }
  .price-tbl tbody th { width: 30%; }
}
@media (max-width: 760px) {
  .days { grid-template-columns: 96px 1fr; }
  .days__strip li.is-day { font-size: 12px; white-space: nowrap; }
  .ph .leaf--a { right: 4%; top: auto; bottom: 18%; }
}
.plan svg { max-width: 640px; margin-inline: auto; }
