/* ===================================================================
 * 2. 決まった日に、3 か月（2026-10-04。旧「共感」の区画を置き換え）
 * 飲み会 1 回分の明細 → 3 か月のカレンダー → 生花 / はじめにやること → トークルーム。
 * 色と書体は taste.css のトークンを使う。月ごとの色は 12 か月の花（flowers.js）と同じ。
 * =================================================================== */
.p3{
  --m10:#3F434A; --m11:#E0703A; --m12:#C9404A; --m1:#D96F92;
  padding:150px 0 130px;
  background:linear-gradient(var(--bg),var(--pink) 14%,var(--pink) 86%,var(--bg));
}
.p3-head{margin-bottom:64px}
.p3 h3{font-size:clamp(20px,2.1vw,27px);line-height:1.55;margin:0 0 14px;letter-spacing:.02em}
.p3 p{margin:0;color:var(--ink-2);font-size:16px}
.p3 p + p{margin-top:12px}
.p3 .num{font-family:var(--latin);font-variant-numeric:tabular-nums;font-size:1.15em;color:var(--ink)}

/* ---------- 飲み会 1 回分（明細） ---------- */
.p3-money{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.stmt{margin:0;background:#fff;border-radius:var(--r-card);box-shadow:var(--shadow);padding:22px 26px 14px;max-width:470px;justify-self:end;width:100%}
.stmt-h{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--line);font-weight:700;font-size:14px}
.stmt-h small{font-weight:400;font-size:12px;color:var(--ink-3)}
.stmt ul{list-style:none;margin:0;padding:0}
.stmt li{position:relative;display:flex;align-items:baseline;gap:14px;padding:12px 4px;border-bottom:1px dashed var(--line);font-size:14px}
.stmt li:last-child{border-bottom:none}
.stmt .d{font-family:var(--latin);font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.stmt .n{flex:1;min-width:0}
.stmt b{font-family:var(--latin);font-weight:500;font-variant-numeric:tabular-nums}
.stmt-old{color:var(--ink-3)}
.stmt-strike{position:absolute;left:0;right:0;top:50%;height:2px;background:var(--accent);border-radius:2px;transform-origin:0 50%}
.stmt-new{background:var(--accent-soft);border-radius:10px;border-bottom:none!important;margin:4px -8px;padding:12px 12px!important;color:var(--accent-deep);font-weight:700}
.stmt-new .d{color:var(--accent-deep)}
.stmt-new b{font-weight:600}
.stmt-new .n::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:.1em}

/* ---------- 3 か月のカレンダー ---------- */
.p3-cal{margin-top:120px}
.p3-cal-copy{text-align:center;max-width:34em;margin:0 auto 48px}
/* 卓上カレンダーの 4 枚（注文日と 3 回のお届け）を 1 列に。下の線に間隔（16 日後、1 か月後）を置く */
.cal-wrap{--cg:clamp(10px,2.4vw,34px);max-width:1040px;margin:0 auto}
.cal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cg);align-items:end}
.cal-page{position:relative;display:grid;text-align:center;filter:drop-shadow(0 14px 26px rgba(47,51,56,.12))}
/* めくる前の紙が重なっている様子 */
.cal-page::before,.cal-page::after{content:"";position:absolute;left:6%;right:6%;bottom:-6px;height:20px;background:#fff;border-radius:0 0 14px 14px;opacity:.75;z-index:-1}
.cal-page::after{left:12%;right:12%;bottom:-11px;opacity:.5}
.cal-rings{position:absolute;top:-8px;left:0;right:0;display:flex;justify-content:center;gap:42%;z-index:2}
.cal-rings i{width:clamp(7px,1vw,11px);height:clamp(14px,2vw,22px);border-radius:7px;background:var(--ink)}
.cal-band{display:flex;align-items:baseline;justify-content:center;gap:8px;background:var(--mc);color:#fff;border-radius:16px 16px 0 0;padding:clamp(12px,1.6vw,18px) 8px clamp(8px,1vw,12px)}
.cal-mo{font-size:clamp(11px,1.3vw,15px);font-weight:700}
.cal-mo b{font-family:var(--latin);font-weight:500;font-size:clamp(17px,2.4vw,28px);margin-right:1px}
.cal-yr{font-family:var(--latin);font-size:12px;opacity:.75}
.cal-body{position:relative;background:#fff;display:grid;justify-items:center;padding:clamp(10px,1.8vw,22px) 4px clamp(8px,1.4vw,16px)}
.cal-d{font-family:var(--latin);font-weight:600;font-size:clamp(34px,7.4vw,92px);line-height:1;color:var(--mc);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cal-w{margin-top:clamp(4px,.8vw,10px);font-size:clamp(9.5px,1.1vw,13px);color:var(--ink-2);letter-spacing:.06em}
.cal-lb{margin:0!important;background:#fff;border-top:1px dashed var(--line);border-radius:0 0 16px 16px;padding:clamp(8px,1.1vw,12px) 4px;font-size:clamp(10px,1.2vw,14px)!important;font-weight:700;color:var(--ink)!important;line-height:1.3!important;white-space:nowrap}
.cal-lb .sm{display:none}
.cal-fl{position:absolute;right:clamp(-14px,-1vw,-6px);top:clamp(-30px,-2.4vw,-16px);width:clamp(30px,4.6vw,56px);height:clamp(30px,4.6vw,56px);padding:clamp(2px,.4vw,5px);border-radius:50%;background:#fff;box-shadow:0 6px 16px rgba(47,51,56,.14);z-index:2}
.cal-fl svg{width:100%;height:100%;overflow:visible}
/* ご注文の日: 地は白、数字と帯は墨色。「注文」のはんこ */
.is-order .cal-band{background:var(--ink)}
.is-order .cal-d{color:var(--ink)}
.cal-stamp{position:absolute;right:clamp(4px,1vw,14px);top:clamp(6px,1vw,14px);font-size:clamp(9px,1vw,12px);font-weight:700;color:var(--accent-deep);border:1.5px solid var(--accent-deep);border-radius:6px;padding:2px 5px;rotate:-10deg;line-height:1.2}
/* 下の線: 点はページの真下、間隔の文字は点と点のまん中 */
.cal-rail{list-style:none;margin:clamp(22px,3vw,36px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cg);position:relative}
.cal-rail::before{content:"";position:absolute;top:50%;left:12.5%;right:12.5%;height:2px;margin-top:-1px;background:repeating-linear-gradient(90deg,var(--ink-3) 0 6px,transparent 6px 11px);transform-origin:0 50%}
.cal-rail li{position:relative;display:grid;place-items:center;height:28px}
.cal-rail i{width:14px;height:14px;border-radius:50%;background:var(--mc);box-shadow:0 0 0 4px var(--pink);position:relative;z-index:1}
.cal-rail .is-order i{background:var(--pink);border:2px solid var(--ink)}
.cal-rail span{position:absolute;left:calc(100% + var(--cg) / 2);top:50%;transform:translate(-50%,-50%);z-index:1;white-space:nowrap;width:max-content;font-size:clamp(10px,1.1vw,13px);font-weight:700;color:var(--accent-deep);background:var(--pink);padding:2px 10px;border-radius:999px}
.p3-cal-note{text-align:center;margin-top:30px!important;font-size:12.5px!important}

/* ---------- 生花 / はじめにやること ---------- */
.p3-pair{margin-top:120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
.p3-card{background:#fff;border-radius:22px;box-shadow:var(--shadow-sm);padding:34px 34px 30px}
.p3-fresh{display:grid;grid-template-columns:110px minmax(0,1fr);gap:22px 26px;align-items:start}
.p3-fresh .circle{width:110px}
@media (max-width:1100px) and (min-width:901px){.p3-fresh{grid-template-columns:1fr}}
.p3-fresh .circle{box-shadow:none}
.p3-steps{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:16px}
.p3-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:center}
.p3-steps b{display:block;font-size:16px}
.p3-steps small{display:block;font-size:13px;color:var(--ink-2);line-height:1.6}
.p3-n{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-deep);font-family:var(--latin);font-weight:600}
.p3-check{background:var(--accent);color:#fff}
.p3-check svg{width:15px;height:15px}
.p3-done{padding-top:16px;border-top:1px dashed var(--line)}

/* ---------- トークルーム ---------- */
.p3-talk{margin-top:120px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:72px;align-items:center;max-width:980px;margin-left:auto;margin-right:auto}
.phone{margin:0;width:300px;border-radius:44px;padding:10px;background:var(--ink);box-shadow:0 30px 70px rgba(47,51,56,.22)}
.phone-in{border-radius:34px;overflow:hidden;background:var(--bg)}
.phone-top{display:grid;gap:1px;padding:22px 18px 12px;background:#fff;border-bottom:1px solid var(--line)}
.phone-top b{font-size:13.5px}
.phone-top small{font-size:11px;color:var(--ink-3)}
.talk{display:grid;gap:12px;padding:16px 14px 18px}
.t-sys{display:grid;justify-items:center;gap:8px}
.t-sys span{font-size:11px;color:var(--ink-2);background:#fff;border-radius:999px;padding:3px 12px}
.t-sys img{width:72%;aspect-ratio:3/2;object-fit:cover;border-radius:14px}
.t-msg{display:flex;align-items:flex-end;gap:8px}
.t-msg i{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--pink-deep);color:#fff;font-style:normal;font-size:11px;font-weight:700}
.t-msg p{margin:0;max-width:78%;background:#fff;color:var(--ink)!important;font-size:13px!important;line-height:1.6;padding:9px 12px;border-radius:16px 16px 16px 4px}
.t-msg p img{display:block;margin-top:8px;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.t-me{justify-content:flex-end}
.t-me p{background:var(--accent-soft);border-radius:16px 16px 4px 16px}
.phone-input{display:flex;align-items:center;gap:8px;padding:10px 14px 16px;background:#fff;border-top:1px solid var(--line)}
.phone-input span{flex:1;font-size:12px;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.phone-input i{width:28px;height:28px;border-radius:50%;background:var(--accent-btn)}

.p3-cta{margin-top:90px;text-align:center}

/* ---------- 小さな画面 ---------- */
@media (max-width:900px){
  .p3{padding:100px 0 90px}
  .p3-head{margin-bottom:44px}
  .p3-money{grid-template-columns:1fr;gap:36px}
  .stmt{justify-self:center}
  .p3-money-copy{text-align:left}
  .p3-cal,.p3-pair,.p3-talk{margin-top:84px}
  .p3-pair{grid-template-columns:1fr;gap:18px}
  .p3-talk{grid-template-columns:1fr;gap:40px}
  .phone{justify-self:center}
}
@media (max-width:640px){
  .p3-cal-copy{text-align:left;margin-bottom:30px}
  .cal-yr{display:none}
  .cal-band{border-radius:10px 10px 0 0}
  .cal-lb{border-radius:0 0 10px 10px}
  .cal-lb .lg{display:none}
  .cal-lb .sm{display:inline}
  .cal-page::before{bottom:-4px;height:12px;border-radius:0 0 9px 9px}
  .cal-page::after{bottom:-7px;height:12px;border-radius:0 0 9px 9px}
  .cal-rail span{padding:2px 6px}
  .cal-stamp{display:none}
  .p3-card{padding:26px 22px 24px}
  .p3-fresh{grid-template-columns:1fr;gap:16px}
  .p3-fresh .circle{width:96px}
  .p3 p{font-size:15px}
}

/* ===================================================================
 * お花の手配は月 2 回（2026-10-12）
 * 第 2・第 4 土曜日が手配日、締切はその 1 週間前の土曜日。
 * 受付の期間を蛍光ペンのマーカー（オレンジ / 黄色）、手配日をブーケのイラストで示す。
 * =================================================================== */
.p3-order{
  --mk-a:rgba(240,122,69,.34); --mk-a-solid:#F07A45;
  --mk-b:rgba(255,206,64,.5);  --mk-b-solid:#F2B81F;
  margin-top:120px;
}
.p3-order-copy{text-align:center;max-width:34em;margin:0 auto 44px}
.oc-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;max-width:1000px;margin:0 auto}
.oc{margin:0;background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:22px 22px 18px}
.oc-cap{display:flex;align-items:baseline;gap:6px;margin:0 4px 12px;font-size:14px;color:var(--ink-2)}
.oc-cap b{font-weight:700;color:var(--ink);font-size:15px}
.oc-head,.oc-wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.oc-head{padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.oc-head span{text-align:center;font-size:12px;font-weight:700;color:var(--ink-3)}
.oc .is-sun{color:#C9404A}
.oc .is-sat{color:#3D6FB0}
.oc-grid{display:grid}
.oc-wk{position:relative;min-height:64px;align-items:start}
.oc-wk + .oc-wk{border-top:1px dashed var(--line)}
/* マーカー: 週ごとに 1 本。少し傾けて、手で引いた線に */
.oc-wk[data-p]::before{content:"";position:absolute;left:calc(var(--s,0) / 7 * 100% + 3px);right:calc((7 - var(--e,7)) / 7 * 100% + 3px);top:12px;height:26px;border-radius:4px 10px 6px 12px / 12px 6px 10px 4px;background:var(--mk);transform:scaleX(var(--mx,1)) rotate(-.6deg);transform-origin:0 50%;z-index:0}
.oc-wk[data-p]:nth-child(even)::before{transform:scaleX(var(--mx,1)) rotate(.5deg)}
.oc-wk[data-p="a"]{--mk:var(--mk-a)}
.oc-wk[data-p="b"]{--mk:var(--mk-b)}
/* 前の月から続く期間: 左端をぼかす */
.oc-wk[data-cont]::before{left:calc(var(--s,0) / 7 * 100% - 18px);border-radius:0 10px 6px 0 / 0 6px 10px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
.oc-d{position:relative;z-index:1;display:grid;justify-items:center;gap:2px;padding:14px 0 8px;font-variant-numeric:tabular-nums}
.oc-d b{font-family:var(--latin);font-weight:500;font-size:clamp(15px,1.6vw,19px);line-height:1;color:var(--ink);white-space:nowrap}
.oc-d.is-sun b{color:#C9404A}
.oc-d.is-sat b{color:#3D6FB0}
.oc-tag{font-size:10.5px;font-weight:700;line-height:1.2;white-space:nowrap;color:var(--ink-2)}
/* 締切: 数字を丸で囲む */
.oc-d.is-dl b{outline:2px solid var(--ink);outline-offset:4px;border-radius:50%;width:1.6em;text-align:center}
.oc-d.is-dl .oc-tag{margin-top:6px;color:var(--ink)}
/* 手配日: ブーケのイラスト */
.oc-d.is-bq b{opacity:0;height:0;overflow:hidden}
.oc-bq{display:block;width:clamp(36px,4.4vw,48px);height:clamp(36px,4.4vw,48px);margin-top:-8px;border-radius:50%;background:#fff;box-shadow:0 6px 16px rgba(47,51,56,.14),0 0 0 2.5px var(--ring,#fff);padding:3px}
.oc-bq svg,.oc-bq-s svg{width:100%;height:100%;display:block}
.oc-bq[data-p="a"]{--ring:var(--mk-a-solid);--bq-wrap:#FBE0D2;--bq-line:#E4683A}
.oc-bq[data-p="b"]{--ring:var(--mk-b-solid);--bq-wrap:#FDF0C4;--bq-line:#D9A112}
.oc-d.is-bq .oc-tag{color:var(--ink)}

/* 凡例: マーカーの色 → 手配日 → お届け */
.oc-legend{list-style:none;margin:0;padding:0;display:grid;gap:26px}
.oc-legend li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start}
.oc-sw{display:block;height:22px;margin-top:3px;border-radius:4px 10px 6px 12px / 12px 6px 10px 4px;transform:rotate(-2deg)}
.oc-legend [data-p="a"] .oc-sw{background:var(--mk-a)}
.oc-legend [data-p="b"] .oc-sw{background:var(--mk-b)}
.oc-legend b{display:block;font-size:16.5px;line-height:1.5}
.p3 .oc-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;font-size:14.5px;color:var(--ink-2)}
.oc-flow i{font-style:normal;color:var(--ink-3)}
.oc-bq-s{width:30px;height:30px;flex:none;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--ring);padding:2px}
.oc-legend [data-p="a"] .oc-bq-s{--ring:var(--mk-a-solid);--bq-wrap:#FBE0D2;--bq-line:#E4683A}
.oc-legend [data-p="b"] .oc-bq-s{--ring:var(--mk-b-solid);--bq-wrap:#FDF0C4;--bq-line:#D9A112}
.p3-order-note{text-align:center;max-width:44em;margin:30px auto 0!important;font-size:12.5px!important}

@media (max-width:900px){
  .p3-order{margin-top:84px}
  .oc-wrap{grid-template-columns:1fr;gap:32px}
}
@media (max-width:640px){
  .p3-order-copy{text-align:left;margin-bottom:28px}
  .oc{padding:16px 10px 12px;border-radius:18px}
  .oc-wk{min-height:58px}
  .oc-wk[data-p]::before{top:10px;height:22px;left:calc(var(--s,0) / 7 * 100% + 1px);right:calc((7 - var(--e,7)) / 7 * 100% + 1px)}
  .oc-d{padding-top:12px}
  .oc-tag{font-size:9.5px}
  .oc-legend li{grid-template-columns:32px minmax(0,1fr);gap:12px}
  .p3-order-note{text-align:left}
}

/* 2026-10-24 の並び替え: 3 か月プランの区画はカレンダーから始め、「飲み会 1 回分」は生花・はじめにの後ろ */
.p3 > .wrap > :first-child{margin-top:0}
.p3-head-mid{margin-top:120px}
@media (max-width:900px){.p3-head-mid{margin-top:84px}}
