@charset "UTF-8";
/* PPW リデザイン本番スタイル（テスト用） /css/party-wedding/common_test.css
   新セクションは .ppw2 配下に名前空間化。本番反映時は common.css 末尾へ。
   料理(outWeddingCourse)・会場(outVenue) は既存CSSで表示されます。 */
:root{
  --base:#FBF6F4; --band:#F6ECE9; --ink:#2A2025; --muted:#7C6A70;
  --rose:#db5575; --rose-d:#bf3e60; --wine:#7C2E48; --gold:#C2AC50; --teal:#80b1b0;
  --soft:#FCEBF0; --line:#EBDCDF; --card:#FFFFFF;--demo:url("https://www.grace-bali.com/images/wedding/kv_party-wedding.webp");
  --serif:"Noto Serif JP",serif; --sans:"Noto Sans JP",sans-serif;
}
.ppw2 *{box-sizing:border-box;}
html{scroll-behavior:smooth;}
.ppw2{margin:0;background:var(--base);color:var(--ink);font-family:var(--sans);line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.ppw2 img:not([class]){width: 100%;
    display: block;
    object-fit: cover;
    height: 100%;}
.ppw2 a{color:inherit;}
.ppw2 .wrap{max-width:1040px;margin:0 auto;padding:0 24px;}
.ppw2 .eyebrow{font-size:12px;letter-spacing:.32em;color:var(--gold);font-weight:700;display:inline-block;margin-bottom:14px;}
.ppw2 .eyebrow::before{content:"";display:inline-block;width:22px;height:1px;background:var(--gold);vertical-align:middle;margin-right:10px;}
.ppw2 h2.sec_ttl{font-family:var(--serif);font-weight:600;font-size:31px;line-height:1.45;text-align:center;letter-spacing:.02em;margin:0 0 8px;}
.ppw2 .sec_ttl .accent{color:var(--rose);}
.ppw2 .sec_lead{text-align:center;color:var(--muted);font-size:15px;margin:0 auto 44px;max-width:680px;}
.ppw2 section{padding:84px 0;}
.ppw2 .band{background:var(--band);}
.ppw2 .band-soft{background:linear-gradient(180deg,#fff,var(--soft));}
.ppw2 .center{text-align:center;}
.ppw2 .ph{position:relative;border-radius:14px;overflow:hidden;background:repeating-linear-gradient(45deg,#f1e6e8,#f1e6e8 11px,#ede0e3 11px,#ede0e3 22px);border:1px solid var(--line);}
.ppw2 .ph.ratio-wide{aspect-ratio:16/8;}
.ppw2 .ph.ratio-43{aspect-ratio:4/3;}
.ppw2 .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:700;font-size:15px;text-decoration:none;padding:15px 30px;border-radius:999px;cursor:pointer;border:1.5px solid transparent;transition:transform .15s ease,background .15s ease;}
.ppw2 .btn-primary{background:var(--rose);color:#fff;box-shadow:0 8px 22px rgba(219,85,117,.28);}
.ppw2 .btn-primary:hover{background:var(--rose-d);transform:translateY(-2px);}
.ppw2 .btn-ghost{background:transparent;color:var(--wine);border-color:var(--wine);}
.ppw2 .btn-ghost:hover{background:var(--wine);color:#fff;}
.ppw2 .btn-white{background:#fff;color:var(--rose);}
.ppw2 .btn-line{background:transparent;color:#fff;border-color:#fff;}
.ppw2 .btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
.ppw2 /* HEADER */
.site-head{position:sticky;top:0;z-index:50;background:rgba(251,246,244,.86);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.ppw2 .site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;}
.ppw2 .brand{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.04em;text-decoration:none;}
.ppw2 .brand small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.2em;color:var(--muted);font-weight:400;}
.ppw2 .head-cta{display:flex;gap:10px;}
.ppw2 .head-cta .btn{padding:9px 18px;font-size:13px;box-shadow:none;}
@media(max-width:620px){.ppw2 .head-cta .btn-ghost{display:none;}}
.ppw2 /* HERO 案B : 全面写真＋左テキスト */
.hero{position:relative;min-height:620px;display:flex;align-items:center;padding:0;overflow: hidden;}
.ppw2 .hero .photo{position:absolute;inset:0;background:var(--demo) 72% center/cover no-repeat;}
.ppw2 .hero .photo::after{content:none;}
.ppw2 .hero .scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,32,37,.74) 0%,rgba(42,32,37,.5) 42%,rgba(42,32,37,.04) 76%);}
.ppw2 .hero .wrap{position:relative;width:100%;}
.ppw2 .hero-copy{max-width:580px;color:#fff;padding:64px 0;}
.ppw2 .hero-copy .eyebrow{color:#ffd9e3;}
.ppw2 .hero-copy .eyebrow::before{background:#ffd9e3;}
.ppw2 .hero h1{font-family:var(--serif);font-weight:700;font-size:46px;line-height:1.42;letter-spacing:.02em;margin:0 0 22px;color:#fff;}
.ppw2 .hero h1 .q{color:#ffb7cb;}
.ppw2 .hero-sub{font-size:15.5px;color:rgba(255,255,255,.92);margin:0 0 30px;max-width:30em;}
.ppw2 .hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.ppw2 .hero-strip{display:flex;margin-top:34px;border-top:1px solid rgba(255,255,255,.3);max-width:440px;}
.ppw2 .hero-strip div{flex:1;padding:14px 8px 0;}
.ppw2 .hero-strip dt{font-size:11px;color:rgba(255,255,255,.7);letter-spacing:.08em;margin:0;}
.ppw2 .hero-strip dd{margin:2px 0 0;font-family:var(--serif);font-weight:600;font-size:17px;color:#fff;}
@media(max-width:880px){.ppw2 .hero{min-height:540px;}.ppw2 .hero-copy{padding:48px 0;}.ppw2 .hero h1{font-size:33px;}}
.ppw2 /* お悩み */
.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.ppw2 .worry-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:32px 26px;text-align:center;}
.ppw2 .worry-card .no{font-family:var(--serif);font-size:13px;color:var(--gold);letter-spacing:.2em;}
.ppw2 .worry-card p{margin:14px 0 0;font-size:15.5px;font-weight:500;}
@media(max-width:760px){.ppw2 .worry-grid{grid-template-columns:1fr;gap:14px;}}
.ppw2 /* 会長コメント：新しいお披露目のカタチ */
.concept-kv{max-width:920px;margin:0 auto 34px;}
.ppw2 .concept-lead{max-width:760px;margin:0 auto 8px;text-align:center;font-size:15.5px;line-height:2;}
.ppw2 .concept-h3{font-family:var(--serif);font-weight:600;font-size:21px;text-align:center;margin:46px 0 28px;}
.ppw2 .voice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:900px;margin:0 auto 32px;}
.ppw2 .voice{text-align:center;}
.ppw2 .voice .vimg{width:120px;height:120px;border-radius:50%;margin:0 auto 12px;overflow:hidden;border:1px solid var(--line);}
.ppw2 .voice .vimg img{width:100%;height:100%;object-fit:cover;}
.ppw2 .voice p{font-size:13.5px;color:#54454b;line-height:1.7;}
.ppw2 .voice-quote{text-align:center;font-family:var(--serif);font-size:16px;color:var(--wine);line-height:2;margin:0 0 22px;}
.ppw2 .concept-close{max-width:760px;margin:0 auto;text-align:center;font-size:15px;line-height:2;color:#4a3a40;}
@media(max-width:780px){.ppw2 .voice-grid{grid-template-columns:repeat(2,1fr);}}
.ppw2 /* しくみ formula */
.formula{display:flex;align-items:stretch;justify-content:center;gap:0;max-width:860px;margin:0 auto;}
.ppw2 .formula-card{flex:1;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ppw2 .formula-card.total{background:var(--soft);border-color:var(--rose);}
.ppw2 .formula-card .lbl{font-size:12.5px;color:var(--muted);}
.ppw2 .formula-card .val{font-family:var(--serif);font-weight:600;font-size:25px;color:var(--ink);margin:8px 0;line-height:1.3;}
.ppw2 .formula-card .val small{font-size:14px;display: inline-block;}
.ppw2 .formula-card .val .or{font-size:13px;color:var(--rose);margin:0 3px;}
.ppw2 .formula-card.total .val{font-size:15px;color:var(--rose);}
.ppw2 .formula-card .pill{font-size:11px;color:#fff;background:var(--rose);border-radius:999px;padding:3px 12px;}
.ppw2 .formula-op{align-self:center;font-family:var(--serif);font-size:26px;color:var(--rose);padding:0 12px;}
.ppw2 .formula-note{text-align:center;max-width:660px;margin:22px auto 0;font-size:15px;}
.ppw2 .formula-note b{color:var(--rose);}
@media(max-width:760px){.ppw2 .formula{flex-direction:column;gap:8px;}.ppw2 .formula-op{padding:4px 0;}}
.ppw2 /* SIMULATOR */
.sim{background:linear-gradient(160deg,#fff,#fbeef2);border:1px solid var(--line);border-radius:22px;max-width:920px;margin:0 auto;padding:40px 44px;box-shadow:0 20px 60px rgba(124,46,72,.08);}
.ppw2 .sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.ppw2 .sim-controls .field{margin-bottom:24px;}
.ppw2 .sim-controls .field > span{display:block;font-size:12.5px;color:var(--muted);margin-bottom:10px;letter-spacing:.04em;}
.ppw2 .seg{display:flex;gap:8px;}
.ppw2 .seg button{flex:1;padding:13px 6px;border-radius:12px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink);transition:all .15s ease;line-height:1.4;}
.ppw2 .seg button b{font-family:var(--serif);font-size:18px;display:block;}
.ppw2 .seg button small{font-size:11px;color:var(--muted);display:block;margin-top:2px;}
.ppw2 .seg button[aria-pressed="true"]{border-color:var(--rose);background:var(--soft);color:var(--rose);box-shadow:0 4px 14px rgba(219,85,117,.18);}
.ppw2 .seg button[aria-pressed="true"] small{color:var(--rose-d);}
.ppw2 .seg button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.ppw2 .slider-row{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;}
.ppw2 .slider-row .num{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--wine);}
.ppw2 .slider-row .unit{font-size:13px;color:var(--muted);}
.ppw2 input[type=range]{width:100%;accent-color:var(--rose);height:6px;}
.ppw2 input[type=range]:focus-visible{outline:3px solid var(--gold);outline-offset:4px;}
.ppw2 .sim-out{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px;}
.ppw2 .sim-out .row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px dashed var(--line);}
.ppw2 .sim-out .row:nth-of-type(3){border-bottom:none;}
.ppw2 .sim-out .row .k{font-size:13.5px;color:var(--muted);}
.ppw2 .sim-out .row .v{font-family:var(--serif);font-weight:600;font-size:22px;}
.ppw2 .sim-out .row.hl .k{color:var(--rose);font-weight:700;}
.ppw2 .sim-out .row.hl .v{color:var(--rose);font-size:26px;}
.ppw2 .sim-out .total{padding-top:16px;border-top:2px solid var(--rose);display:flex;justify-content:space-between;align-items:baseline;}
.ppw2 .sim-out .total .k{font-size:14px;font-weight:700;}
.ppw2 .sim-out .total .v{font-family:var(--serif);font-weight:700;font-size:30px;color:var(--wine);}
.ppw2 .sim-note{font-size:11.5px;color:var(--muted);margin:14px 0 0;line-height:1.6;}
.ppw2 .sim-cta{margin-top:22px;text-align:center;}
@media(max-width:820px){.ppw2 .sim{padding:30px 22px;}.ppw2 .sim-grid{grid-template-columns:1fr;gap:28px;}}
.ppw2 /* ご祝儀制比較表 */
.cmp{max-width:780px;margin:0 auto;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;}
.ppw2 .cmp table{width:100%;border-collapse:collapse;}
.ppw2 .cmp th,.ppw2 .cmp td{padding:16px 18px;font-size:14px;text-align:center;border-bottom:1px solid var(--line);}
.ppw2 .cmp thead th{font-weight:700;font-size:13px;}
.ppw2 .cmp thead .other{background:#f3eef0;color:var(--muted);}
.ppw2 .cmp thead .ours{background:var(--rose);color:#fff;font-size:15px;}
.ppw2 .cmp thead .ours span{font-size:11px;font-weight:400;display:block;}
.ppw2 .cmp tbody th{text-align:left;background:#faf5f6;font-weight:600;white-space:nowrap;}
.ppw2 .cmp tbody td.other{color:var(--muted);}
.ppw2 .cmp tbody td.ours{background:var(--soft);}
.ppw2 .cmp tbody td.ours b{color:var(--rose);}
.ppw2 .cmp tr:last-child th,.ppw2 .cmp tr:last-child td{border-bottom:none;}
@media(max-width:680px){.ppw2 .cmp th,.ppw2 .cmp td{padding:12px 9px;font-size:12.5px;}.ppw2 .cmp tbody th{white-space:normal;}}
.ppw2 /* 費用比較（バー：kaihiwedding風） */
.savecmp{max-width:860px;margin:0 auto;}
.ppw2 .savecmp-head{text-align:center;margin-bottom:36px;}
.ppw2 .savecmp-pill{display:inline-block;background:var(--gold);color:#fff;font-weight:700;font-size:15px;padding:8px 26px;border-radius:999px;}
.ppw2 .savecmp-row{display:flex;align-items:flex-end;justify-content:center;gap:18px;}
.ppw2 .savecol{flex:1 1 0;max-width:330px;text-align:center;}
.ppw2 .savecol h4{font-family:var(--serif);font-size:16px;font-weight:600;margin:0 0 14px;color:var(--ink);}
.ppw2 .savebar{border-radius:14px 14px 0 0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:24px 18px;color:#fff;}
.ppw2 .savebar.normal{background:#9cc8cb;min-height:330px;}
.ppw2 .savebar.ppw{background:var(--rose);min-height:188px;}
.ppw2 .savebar .cap{font-size:12px;opacity:.95;}
.ppw2 .savebar .amt{font-family:var(--serif);font-weight:700;line-height:1;margin:4px 0 16px;}
.ppw2 .savebar .amt b{font-size:44px;}
.ppw2 .savebar .amt small{font-size:18px;}
.ppw2 .savebar .breakdown{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);border-radius:10px;padding:12px 16px;font-size:14px;line-height:1.9;width:100%;max-width:240px;}
.ppw2 .savebar .breakdown .bt{font-size:11px;letter-spacing:.1em;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:4px;margin-bottom:6px;display:inline-block;}
.ppw2 .savedown{flex:0 0 auto;align-self:center;background:#fff;border:2px solid var(--rose);border-radius:14px;padding:12px 18px;text-align:center;box-shadow:0 10px 26px rgba(219,85,117,.2);}
.ppw2 .savedown b{display:block;font-family:var(--serif);font-weight:700;font-size:24px;color:var(--rose);line-height:1.1;}
.ppw2 .savedown b small{font-size:14px;}
.ppw2 .savedown span{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--rose);}
.ppw2 .savedown span.font_lg{font-size:24px;}
.ppw2 .savecmp-note{text-align:center;font-size:11.5px;color:var(--muted);margin-top:22px;}
@media(max-width:680px){.ppw2 .savecmp-row{flex-direction:column;align-items:center;gap:14px;}.ppw2 .savecol{width:100%;max-width:none;}.ppw2 .savebar.normal{min-height:170px;}.ppw2 .savebar.ppw{min-height:150px;}.ppw2 .savebar .amt b{font-size:34px;}.ppw2 .savedown{order:2;}}
.ppw2 /* おすすめ / シーン */
.reco{max-width:820px;margin:0 auto 56px;display:grid;gap:12px;}
.ppw2 .reco li{list-style:none;position:relative;padding:16px 20px 16px 54px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:15.5px;}
.ppw2 .reco li::before{content:"";position:absolute;left:20px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:var(--rose);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.5z'/></svg>") center/14px no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.5z'/></svg>") center/14px no-repeat;}
.ppw2 .reco strong{color:var(--rose);}
.ppw2 .scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.ppw2 .scene figcaption{margin-top:12px;}
.ppw2 .scene .st{font-family:var(--serif);font-weight:600;font-size:16px;}
.ppw2 .scene .sx{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.7;}
@media(max-width:860px){.ppw2 .scene-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.ppw2 .scene-grid{grid-template-columns:1fr;}}
.ppw2 /* STEP */
.steps{max-width:760px;margin:0 auto;}
.ppw2 .step{position:relative;display:flex;gap:22px;padding-bottom:30px;}
.ppw2 .step::before{content:"";position:absolute;left:27px;top:56px;bottom:-4px;width:2px;background:var(--line);}
.ppw2 .step:last-child{padding-bottom:0;}
.ppw2 .step:last-child::before{display:none;}
.ppw2 .step .dot{flex:0 0 auto;width:56px;height:56px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;text-align:center;line-height:1.3;}
.ppw2 .step .c .t{font-family:var(--serif);font-weight:600;font-size:18px;margin:6px 0 4px;}
.ppw2 .step .c .d{font-size:14.5px;color:var(--muted);}
@media(max-width:560px){.ppw2 .step .dot{width:46px;height:46px;}.ppw2 .step::before{left:22px;}}
.ppw2 /* プラン */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin:0 auto 32px;}
.ppw2 .plan{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 30px;position:relative;}
.ppw2 .plan.premium{border-color:var(--rose);box-shadow:0 16px 44px rgba(219,85,117,.12);}
.ppw2 .plan .tag{position:absolute;top:-13px;left:30px;background:var(--rose);color:#fff;font-size:11px;font-weight:700;padding:5px 14px;border-radius:999px;letter-spacing:.06em;}
.ppw2 .plan .pn{font-family:var(--serif);font-size:17px;font-weight:600;}
.ppw2 .plan .pp{font-family:var(--serif);font-weight:700;font-size:42px;color:var(--wine);margin:10px 0 2px;}
.ppw2 .plan .pp small,
.ppw2 .plan .pp .font_sm{font-size:15px;}
.ppw2 .plan .pd{font-size:13px;color:var(--muted);margin-bottom:18px;}
.ppw2 .plan ul{margin:0;padding:0;list-style:none;}
.ppw2 .plan li{font-size:14px;padding:9px 0 9px 26px;position:relative;border-top:1px solid var(--line);}
.ppw2 .plan li::before{content:"";position:absolute;left:0;top:14px;width:16px;height:16px;border-radius:50%;background:var(--soft);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.5z'/></svg>") center/11px no-repeat;mask:none;}
.ppw2 .plan li b{color:var(--rose);}
.ppw2 /* プラン比較表 */
.ptable{max-width:860px;margin:0 auto;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;}
.ppw2 .ptable table{width:100%;border-collapse:collapse;}
.ppw2 .ptable th,.ppw2 .ptable td{padding:13px 14px;font-size:14px;text-align:center;border-bottom:1px solid var(--line);}
.ppw2 .ptable thead th{background:#faf5f6;}
.ppw2 .ptable thead .h30{font-family:var(--serif);font-weight:700;color:var(--ink);}
.ppw2 .ptable thead .h50{font-family:var(--serif);font-weight:700;color:var(--rose);}
.ppw2 .ptable tbody th{text-align:left;font-weight:500;color:#54454b;background:#fff;}
.ppw2 .ptable .grp td{background:var(--soft);font-weight:700;color:var(--wine);font-size:12.5px;text-align:left;letter-spacing:.06em;}
.ppw2 .ptable .o{color:var(--rose);font-weight:700;}
.ppw2 .ptable .up{color:var(--rose);font-weight:700;font-size:12.5px;}
.ppw2 .ptable tr:last-child th,.ppw2 .ptable tr:last-child td{border-bottom:none;}
@media(max-width:760px){.ppw2 .plans{grid-template-columns:1fr;}.ppw2 .ptable th,.ppw2 .ptable td{padding:10px 8px;font-size:12.5px;}}
.ppw2 /* ギャラリー（プラン内・横スクロール） */
.gallery{max-width:1040px;margin:54px auto 0;}
.ppw2 .gallery .gtitle{font-family:var(--serif);font-weight:600;font-size:21px;text-align:center;margin:0 0 6px;}
.ppw2 .gallery .gsub{text-align:center;color:var(--muted);font-size:13px;margin:0 0 24px;}
.ppw2 .gal-wrap{position:relative;}
.ppw2 .gal-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line) transparent;}
.ppw2 .gal-track::-webkit-scrollbar{height:6px;}
.ppw2 .gal-track::-webkit-scrollbar-track{background:transparent;}
.ppw2 .gal-track::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px;}
.ppw2 .gal-item{flex:0 0 auto;width:300px;scroll-snap-align:center;}
.ppw2 .gal-item .ph{aspect-ratio:4/3;border-radius:12px;transition:transform .25s ease;}
.ppw2 .gal-item .ph:hover{transform:translateY(-4px);}
.ppw2 .gal-item figcaption{margin-top:8px;font-size:12.5px;color:var(--muted);text-align:center;}
.ppw2 .gal-btn{position:absolute;top:36%;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.95);color:var(--rose);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(124,46,72,.12);transition:transform .15s ease,background .15s ease,color .15s ease;z-index:2;}
.ppw2 .gal-btn:hover{background:var(--rose);color:#fff;transform:scale(1.06);}
.ppw2 .gal-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.ppw2 .gal-btn.prev{left:-10px;}
.ppw2 .gal-btn.next{right:-10px;}
@media(max-width:560px){.ppw2 .gal-item{width:240px;}.ppw2 .gal-btn{width:40px;height:40px;}.ppw2 .gal-btn.prev{left:0;}.ppw2 .gal-btn.next{right:0;}}
.ppw2 .gal-item:nth-child(-n+3) .ph::after{content:none;}
.ppw2 /* INCLUDE 枠 */
.incl{max-width:920px;margin:0 auto;border:1px dashed var(--rose);border-radius:14px;background:var(--soft);padding:30px;text-align:center;}
.ppw2 .incl .it{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--wine);}
.ppw2 .incl .ix{font-size:13px;color:var(--muted);margin-top:6px;}
.ppw2 /* 設備 できること（画像入り） */
.can-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:920px;margin:0 auto 50px;}
.ppw2 .can{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.ppw2 .can .cimg{aspect-ratio:4/3;overflow:hidden;background:#f1e6e8;}
.ppw2 .can .cimg img{width:100%;height:100%;object-fit:cover;}
.ppw2 .can .cbody{padding:18px 18px 20px;}
.ppw2 .can .ct{font-family:var(--serif);font-weight:600;font-size:16px;color:var(--rose);margin-bottom:8px;}
.ppw2 .can .cx{font-size:13px;color:var(--muted);line-height:1.75;}
.ppw2 .equip{max-width:920px;margin:0 auto;}
.ppw2 .equip-cat{margin-bottom:22px;}
.ppw2 .equip-cat h4{font-size:13px;font-weight:700;color:var(--wine);margin:0 0 12px;letter-spacing:.06em;display:flex;align-items:center;gap:10px;}
.ppw2 .equip-cat h4::after{content:"";flex:1;height:1px;background:var(--line);}
.ppw2 .chips{display:flex;flex-wrap:wrap;gap:8px;}
.ppw2 .chips span{font-size:13px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;color:#54454b;}
.ppw2 .equip-note{text-align:center;font-size:12px;color:var(--muted);margin-top:18px;}
.ppw2 /* 設備：シーン別カード */
.eqs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:920px;margin:0 auto;}
.ppw2 .eqs-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--rose);border-radius:14px;padding:22px 24px;transition:transform .25s ease,box-shadow .25s ease;}
.ppw2 .eqs-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(124,46,72,.10);}
.ppw2 .eqs-ttl{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--ink);margin:0 0 14px;line-height:1.5;}
.ppw2 .eqs-gear{display:flex;flex-wrap:wrap;gap:7px;}
.ppw2 .eqs-gear span{font-size:12.5px;background:var(--soft);color:#9a3f59;border-radius:7px;padding:6px 11px;line-height:1.35;}
.ppw2 .eqs-note{text-align:center;font-size:12px;color:var(--muted);margin:24px auto 0;max-width:920px;}
@media(max-width:760px){.ppw2 .eqs-grid{grid-template-columns:1fr;}}
@media(max-width:560px){.ppw2 .eqs-card{padding:18px 18px;}}
@media(max-width:860px){.ppw2 .can-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.ppw2 .can-grid{grid-template-columns:1fr;}}
.ppw2 /* FAQ */
.faq{max-width:760px;margin:0 auto;}
.ppw2 .faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden;}
.ppw2 .faq summary{position:relative;cursor:pointer;list-style:none;padding:18px 54px 18px 52px;font-weight:600;font-size:15.5px;}
.ppw2 .faq summary::-webkit-details-marker{display:none;}
.ppw2 .faq summary::before{content:"Q";position:absolute;left:18px;top:16px;width:24px;height:24px;line-height:24px;text-align:center;font-family:var(--serif);font-size:13px;color:#fff;background:var(--rose);border-radius:50%;}
.ppw2 .faq summary::after{content:"";position:absolute;right:22px;top:50%;width:11px;height:11px;margin-top:-8px;border-right:2px solid var(--rose);border-bottom:2px solid var(--rose);transform:rotate(45deg);transition:transform .2s ease;}
.ppw2 .faq details[open] summary::after{transform:rotate(-135deg);}
.ppw2 .faq details p{margin:0;padding:0 24px 20px 52px;font-size:14.5px;color:var(--muted);line-height:1.85;}
.ppw2 .faq summary:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;}
.ppw2 /* CTA band */
.cta-band{background:linear-gradient(135deg,var(--rose),var(--wine));text-align:center;}
.ppw2 .cta-band h2{font-family:var(--serif);font-weight:700;font-size:30px;color:#fff;margin:0 0 12px;}
.ppw2 .cta-band p{color:#fff;opacity:.92;font-size:15px;margin:0 auto 28px;max-width:30em;}
.ppw2 .cta-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
@media(max-width:560px){.ppw2 .cta-band h2{font-size:23px;}.ppw2 .cta-band .btn{width:100%;}}
.ppw2 footer{background:#2A2025;color:#cdbfc4;padding:40px 0;text-align:center;font-size:12px;}
.ppw2 footer .brand{color:#fff;}
.ppw2 /* ===== motion ===== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform;}
.ppw2 .reveal.in{opacity:1;transform:none;}
.ppw2 .worry-card,.ppw2 .can,.ppw2 .plan,.ppw2 .scene .ph,.ppw2 .formula-card{transition:transform .25s ease,box-shadow .25s ease;}
.ppw2 .worry-card:hover,.ppw2 .can:hover,.ppw2 .plan:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(124,46,72,.10);}
.ppw2 .scene .ph:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(124,46,72,.10);}
.ppw2 .hero .photo{animation:kenburns 9s ease-out forwards;will-change:transform;}
@keyframes kenburns{from{transform:scale(1.12);}to{transform:scale(1);}}
.ppw2 .hero-copy>*{opacity:0;transform:translateY(16px);animation:heroIn .85s cubic-bezier(.2,.7,.2,1) forwards;}
.ppw2 .hero-copy>*:nth-child(1){animation-delay:.15s;}
.ppw2 .hero-copy>*:nth-child(2){animation-delay:.30s;}
.ppw2 .hero-copy>*:nth-child(3){animation-delay:.45s;}
.ppw2 .hero-copy>*:nth-child(4){animation-delay:.60s;}
.ppw2 .hero-copy>*:nth-child(5){animation-delay:.75s;}
@keyframes heroIn{to{opacity:1;transform:none;}}
html.js .ppw2 .savebar{min-height:0;height:0;overflow:hidden;transition:height 1.7s cubic-bezier(.22,.61,.36,1);}
@media (prefers-reduced-motion:reduce){.ppw2 .reveal{opacity:1 !important;transform:none !important;transition:none !important;}.ppw2 .hero .photo{animation:none;}.ppw2 .hero-copy>*{opacity:1;transform:none;animation:none;}html.js .ppw2 .savebar{transition:none;}.ppw2 *{scroll-behavior:auto;}}

/* ===== テスト調整（フィードバック対応） ===== */

/* 会費制のしくみ：金額を「30万円 / or / 50万円」と整列 */
.ppw2 .formula-card:not(.total) .val{display:flex;flex-direction:column;align-items:center;gap:2px;}
.ppw2 .formula-card .val .amt{display:block;white-space:nowrap;font-family:var(--serif);font-weight:600;font-size:25px;line-height:1.25;}
.ppw2 .formula-card .val .or{display:block;font-size:13px;color:var(--rose);margin:1px 0;}

/* ご祝儀制との違い：PPW側を「お得・優位」に見せる */
.ppw2 .cmp td.ours{font-size:15px;}
.ppw2 .cmp td.ours::before{content:"\2713";color:var(--rose);font-weight:700;margin-right:6px;}
.ppw2 .cmp td.other::before{content:"\25B3";color:#c7b8bd;font-size:12px;margin-right:6px;}
.ppw2 .cmp-sum{text-align:center;margin:20px auto 0;max-width:760px;font-size:15px;color:var(--ink);line-height:1.7;}
.ppw2 .cmp-sum b{color:var(--rose);font-size:18px;}

/* 費用比較バー：見出し上揃え・バー下揃え・DOWN中央で崩れ防止 */
.ppw2 .savecmp-row{display:flex;align-items:stretch;justify-content:center;gap:18px;}
.ppw2 .savecol{flex:1 1 0;max-width:330px;display:flex;flex-direction:column;text-align:center;}
.ppw2 .savecol h4{flex:0 0 auto;}
.ppw2 .savebar{margin-top:auto;}
.ppw2 .savedown{align-self:center;flex:0 0 auto;}
@media (max-width:680px){
  .ppw2 .savecmp-row{flex-direction:column;align-items:center;}
  .ppw2 .savecol{width:100%;max-width:none;}
  .ppw2 .savebar{margin-top:0;}
  .ppw2 .savedown{order:0;}
}

/* ===== コース別メニュー（タブ） ===== */
.ppw2 .menu-tabs{display:flex;gap:12px;justify-content:center;max-width:680px;margin:0 auto 30px;}
.ppw2 .menu-tab{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:16px 10px;cursor:pointer;font-family:var(--sans);font-size:16px;font-weight:700;color:var(--ink);line-height:1.4;transition:all .15s ease;}
.ppw2 .menu-tab span{display:block;font-size:11.5px;font-weight:400;color:var(--muted);margin-top:4px;}
.ppw2 .menu-tab.is-active{border-color:var(--rose);background:var(--soft);color:var(--rose);box-shadow:0 6px 18px rgba(219,85,117,.16);}
.ppw2 .menu-tab.is-active span{color:var(--rose-d);}
.ppw2 .menu-tab:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
.ppw2 .menu-panel{display:none;}
.ppw2 .menu-panel.is-active{display:block;animation:menuFade .4s ease;}
@keyframes menuFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.ppw2 .menu-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:34px;max-width:920px;margin:0 auto;}
.ppw2 .menu-h{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.ppw2 .menu-dishes{margin:0;padding:0;list-style:none;counter-reset:d;}
.ppw2 .menu-dishes li{counter-increment:d;position:relative;padding:10px 0 10px 36px;border-bottom:1px dashed var(--line);font-size:14.5px;line-height:1.6;list-style-type: none;}
.ppw2 .menu-dishes li::before{content:counter(d,decimal-leading-zero);position:absolute;left:0;top:10px;font-family:var(--serif);font-size:13px;color:var(--rose);font-weight:600;}
.ppw2 .menu-dishes small{display:block;font-size:12px;color:var(--muted);margin-top:1px;}
.ppw2 .menu-pdf{margin-top:18px;}
.ppw2 .menu-pdf a{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--rose);text-decoration:none;border:1.5px solid var(--rose);border-radius:999px;padding:9px 18px;transition:all .15s ease;}
.ppw2 .menu-pdf a::before{content:"";width:15px;height:15px;background:var(--rose);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 16l-5-5h3V4h4v7h3l-5 5zm-7 2h14v2H5z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 16l-5-5h3V4h4v7h3l-5 5zm-7 2h14v2H5z'/></svg>") center/contain no-repeat;}
.ppw2 .menu-pdf a:hover{background:var(--rose);color:#fff;}
.ppw2 .menu-pdf a:hover::before{background:#fff;}
.ppw2 .drink-cat{margin-bottom:14px;}
.ppw2 .drink-cat h4{font-size:13px;font-weight:700;color:var(--wine);margin:0 0 5px;letter-spacing:.04em;}
.ppw2 .drink-cat p{font-size:13px;color:#54454b;line-height:1.9;margin:0;}
.ppw2 .menu-note2{text-align:center;font-size:12px;color:var(--muted);margin:26px auto 0;max-width:920px;}
@media (max-width:760px){
  .ppw2 .menu-grid{grid-template-columns:1fr;gap:26px;}
  .ppw2 .menu-tab{font-size:14px;padding:13px 8px;}
}

/* ===== 費用比較：金額をバー上に出して目立たせる ===== */
.ppw2 .bar-wrap{margin-top:auto;display:flex;flex-direction:column;}
.ppw2 .bar-amt{margin:0 0 10px;font-family:var(--serif);text-align:center;line-height:1.15;}
.ppw2 .bar-amt .cap{display:block;font-family:var(--sans);font-size:12px;color:var(--muted);margin-bottom:3px;}
.ppw2 .bar-amt .amt-num{font-weight:700;font-size:34px;color:var(--ink);}
.ppw2 .bar-amt .amt-num small{font-size:16px;font-weight:600;}
/* PPW側を一回り大きく・ローズで強調 */
.ppw2 .bar-amt.is-ppw .cap{color:var(--rose);font-weight:700;}
.ppw2 .bar-amt.is-ppw .amt-num{color:var(--rose);font-size:46px;}
.ppw2 .bar-amt.is-ppw .amt-num small{font-size:20px;}
/* バーは内訳のみを中央に保持（数字は外に出した） */
.ppw2 .savebar{justify-content:center;padding:18px 16px;}
@media (max-width:680px){
  .ppw2 .bar-amt .amt-num{font-size:30px;}
  .ppw2 .bar-amt.is-ppw .amt-num{font-size:38px;}
}

/* ===== プランに含まれるもの・オプション ===== */
.ppw2 .opt-block{margin-bottom:50px;}
.ppw2 .opt-block:last-child{margin-bottom:0;}
.ppw2 .opt-h{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--ink);text-align:center;margin:0 0 10px;}
.ppw2 .opt-lead{text-align:center;color:var(--muted);font-size:14px;max-width:780px;margin:0 auto 26px;line-height:1.85;}
.ppw2 .opt-grid{display:grid;gap:20px;margin:0 auto;}
.ppw2 .opt-grid.cols-2{grid-template-columns:repeat(2,1fr);max-width:680px;}
.ppw2 .opt-grid.cols-3{grid-template-columns:repeat(3,1fr);max-width:960px;}
.ppw2 .opt-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.ppw2 .opt-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(124,46,72,.10);}
.ppw2 .opt-card.is-incl{border-color:var(--rose);}
.ppw2 .opt-card.is-incl::before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 50px 50px 0;border-color:transparent var(--rose) transparent transparent;z-index:2;}
.ppw2 .opt-check{position:absolute;top:8px;right:8px;width:17px;height:17px;z-index:3;background:#fff;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.5z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.5z'/></svg>") center/contain no-repeat;}
.ppw2 .opt-img{aspect-ratio:4/3;position:relative;background:repeating-linear-gradient(45deg,#f1e6e8,#f1e6e8 11px,#ede0e3 11px,#ede0e3 22px);}
.ppw2 .opt-img.ratio-34{aspect-ratio:3/4;}
.ppw2 .opt-img img{width:100%;height:100%;object-fit:cover;position:relative;}
.ppw2 .opt-body{padding:18px 20px 22px;}
.ppw2 .opt-tag{display:inline-block;font-size:11px;font-weight:700;color:var(--rose);background:var(--soft);border-radius:999px;padding:5px 13px;margin:0 0 10px;}
.ppw2 .opt-tag.is-free{color:#fff;background:var(--teal);}
.ppw2 .opt-price{font-family:var(--serif);font-weight:700;font-size:21px;color:var(--rose);margin:0 0 8px;line-height:1.2;}
.ppw2 .opt-ttl{font-family:var(--serif);font-weight:600;font-size:15.5px;color:var(--ink);margin:0 0 8px;line-height:1.5;}
.ppw2 .opt-desc{font-size:13px;color:var(--muted);line-height:1.85;}
.ppw2 .pg-off{display:none!important;}
@media (max-width:760px){
  .ppw2 .opt-grid.cols-2,.ppw2 .opt-grid.cols-3{grid-template-columns:1fr;max-width:420px;}
  .ppw2 .opt-h{font-size:20px;}
}

/* ===== お料理オーバービュー（インクル置き換え・新デザイン） ===== */
.ppw2 .cuisine-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center;max-width:960px;margin:0 auto 46px;}
.ppw2 .cuisine-photo{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 40px rgba(124,46,72,.08);}
.ppw2 .cuisine-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.ppw2 .cfeat{display:flex;gap:15px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line);}
.ppw2 .cfeat:last-child{border-bottom:none;}
.ppw2 .cfeat-ic{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;}
.ppw2 .cfeat-ic::before{content:"";width:24px;height:24px;background:var(--rose);
  -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat;}
.ppw2 .cfeat-buffet .cfeat-ic{--ic:url("/images/shop/common/enkai/plan/plan_menu_ico_01.svg");}
.ppw2 .cfeat-drink .cfeat-ic{--ic:url("/images/shop/common/enkai/plan/plan_menu_ico_05.svg");}
.ppw2 .cfeat-dessert .cfeat-ic{--ic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 2c-.8 1.2-.8 2.4 0 3.6.8-1.2.8-2.4 0-3.6zM7 7h2v3H7V7zm8 0h2v3h-2V7zm-4 0h2v3h-2V7zM5 11h14a2 2 0 0 1 2 2v1H3v-1a2 2 0 0 1 2-2zM3 16h18l-1.2 5.2a1 1 0 0 1-1 .8H5.2a1 1 0 0 1-1-.8L3 16z'/></svg>");}
.ppw2 .cfeat-t{font-family:var(--serif);font-weight:600;font-size:16px;color:var(--rose);margin:0 0 3px;}
.ppw2 .cfeat-d{font-size:13px;color:var(--muted);line-height:1.85;margin:0;}
.ppw2 .menu-coursehead{font-family:var(--serif);font-weight:600;font-size:21px;text-align:center;color:var(--ink);margin:0 0 4px;}
.ppw2 .menu-coursehead::before{content:"";display:block;width:34px;height:1px;background:var(--gold);margin:0 auto 14px;}
.ppw2 .menu-coursesub{text-align:center;color:var(--muted);font-size:13px;margin:0 0 26px;}
@media (max-width:760px){
  .ppw2 .cuisine-grid{grid-template-columns:1fr;gap:22px;}
}

/* ===== シミュレーター：2ボタン並び ===== */
.ppw2 .sim-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.ppw2 .sim-pdf-btn{box-shadow:none;}

/* ===== PDF出力用サマリー（画面外でレンダリング → html2canvasで取得） ===== */
#pdf-summary{position:fixed;left:-10000px;top:0;width:640px;box-sizing:border-box;background:#fff;color:#2A2025;font-family:"Noto Sans JP",sans-serif;padding:42px 46px;}
#pdf-summary .ps-brand{font-family:"Noto Serif JP",serif;font-weight:600;font-size:25px;letter-spacing:.06em;margin:0;color:#7C2E48;}
#pdf-summary .ps-sub{font-size:13px;color:#7C6A70;letter-spacing:.04em;margin:5px 0 26px;}
#pdf-summary .ps-table{width:100%;border-collapse:collapse;}
#pdf-summary .ps-table td{font-size:14px;color:#54454b;padding:13px 0;border-bottom:1px solid #EBDCDF;}
#pdf-summary .ps-table td.v{text-align:right;font-family:"Noto Serif JP",serif;font-size:18px;color:#2A2025;}
#pdf-summary .ps-table td.v b{font-weight:700;}
#pdf-summary .ps-table tr.hl td{color:#db5575;font-weight:700;}
#pdf-summary .ps-total{display:flex;align-items:baseline;margin-top:18px;padding-top:16px;border-top:2px solid #db5575;}
#pdf-summary .ps-total span{font-size:15px;font-weight:700;}
#pdf-summary .ps-total b{font-family:"Noto Serif JP",serif;font-size:34px;color:#7C2E48;margin-left:auto;line-height:1;}
#pdf-summary .ps-total .u{font-size:16px;font-weight:400;margin-left:5px;}
#pdf-summary .ps-note{font-size:11px;color:#7C6A70;line-height:1.7;margin:20px 0 0;}
#pdf-summary .ps-date{font-size:11px;color:#9a8a90;margin:6px 0 0;}

/* ===== SP（スマホ）見出しサイズ調整 ===== */
@media (max-width:600px){
  .ppw2 h2.sec_ttl{font-size:22px;line-height:1.5;}
  .ppw2 .sec_lead{font-size:13.5px;margin-bottom:32px;}
  .ppw2 .hero h1{font-size:25px;line-height:1.5;}
  .ppw2 .hero-sub{font-size:14px;}
  .ppw2 .concept-lead{font-size:14px;}
  .ppw2 .concept-h3{font-size:17px;}
  .ppw2 .concept-close{font-size:14px;}
  .ppw2 .opt-h{font-size:18px;}
  .ppw2 .opt-lead{font-size:13px;}
  .ppw2 .menu-coursehead{font-size:18px;}
  .ppw2 .gallery .gtitle{font-size:18px;}
  .ppw2 .cta-band h2{font-size:21px;}
  .ppw2 .menu-h{font-size:16px;}
  .ppw2 .eqs-ttl{font-size:16px;}
  .ppw2 .opt-ttl{font-size:15px;}
  .ppw2 .formula-note,.ppw2 .reco li{font-size:14px;}
  .ppw2 .eyebrow{font-size:11px;letter-spacing:.24em;}
}

/* ===== シミュレーター内に統合した「含まれるもの・オプション」 ===== */
.ppw2 .sim-incl{margin-top:64px;padding-top:50px;border-top:1px solid var(--line);}
@media (max-width:600px){ .ppw2 .sim-incl{margin-top:48px;padding-top:40px;} }

/* ===== オプション選択トグル・サマリーバー ===== */
.ppw2 .opt-selectable{cursor:default;}
.ppw2 .opt-card.is-selected{border-color:var(--rose);box-shadow:0 12px 30px rgba(219,85,117,.14);}
.ppw2 .opt-card.is-selected::before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 50px 50px 0;border-color:transparent var(--rose) transparent transparent;z-index:2;}
.ppw2 .opt-card.is-selected::after{content:"";position:absolute;top:8px;right:8px;width:17px;height:17px;z-index:3;background:#fff;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.5z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2l-3.5-3.5L4 14.2l5 5 11-11-1.5-1.5z'/></svg>") center/contain no-repeat;}
/* ブロック内でオプションを選んだら、プラン内カードの✓は隠す（✓が選択側へ移る） */
.ppw2 .opt-block.has-sel .opt-card.is-incl::before{display:none;}
.ppw2 .opt-block.has-sel .opt-card.is-incl .opt-check{display:none;}
.ppw2 .opt-add{margin-top:12px;width:100%;border:1px solid var(--rose);background:#fff;color:var(--rose-d);
  font-family:var(--sans);font-weight:700;font-size:13px;padding:9px 12px;border-radius:999px;cursor:pointer;transition:.18s;}
.ppw2 .opt-add:hover{background:var(--soft);}
.ppw2 .opt-add[aria-pressed="true"]{background:var(--rose);border-color:var(--rose);color:#fff;}
.ppw2 .opt-summary{margin-top:30px;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:20px 24px;box-shadow:0 12px 34px rgba(124,46,72,.08);max-width:560px;margin-left:auto;margin-right:auto;}
.ppw2 .opt-summary .os-row{display:flex;align-items:baseline;justify-content:space-between;padding:8px 0;}
.ppw2 .opt-summary .os-row span{font-size:14px;color:var(--muted);font-weight:600;}
.ppw2 .opt-summary .os-row b{font-family:var(--serif);font-size:18px;color:var(--ink);}
.ppw2 .opt-summary .os-grand{border-top:2px solid var(--rose);margin-top:4px;padding-top:14px;}
.ppw2 .opt-summary .os-grand span{color:var(--ink);font-size:15px;}
.ppw2 .opt-summary .os-grand b{font-size:26px;color:var(--rose-d);}
.ppw2 .opt-summary .os-note{font-size:11px;color:var(--muted);line-height:1.7;margin:10px 0 0;}
@media (max-width:600px){
  .ppw2 .opt-summary{padding:16px 18px;}
  .ppw2 .opt-summary .os-grand b{font-size:22px;}
}

/* PDF: 選択オプションのリスト */
#pdf-summary .ps-opts{margin-top:14px;}
#pdf-summary .ps-opts-h{font-size:12px;color:#7C2E48;font-weight:700;margin:0 0 6px;}
#pdf-summary .ps-opts ul{margin:0;padding-left:18px;}
#pdf-summary .ps-opts li{font-size:12px;color:#54454b;line-height:1.7;}

/* オプションサマリー内のPDFボタン */
.ppw2 .opt-summary .os-pdf{display:block;width:100%;margin-top:18px;}

/* ===== オプション・スライドウィザード ===== */
.ppw2 .wiz-intro{text-align:center;margin-bottom:24px;}
.ppw2 .wiz-title{font-family:var(--serif);font-weight:600;font-size:20px;color:var(--ink);margin:0 0 6px;}
.ppw2 .wiz-title::before{content:"";display:block;width:34px;height:1px;background:var(--gold);margin:0 auto 12px;}
.ppw2 .wiz-sub{font-size:13px;color:var(--muted);margin:0;max-width:560px;margin-left:auto;margin-right:auto;}
.ppw2 .optwiz{max-width:860px;margin:0 auto;}
.ppw2 .optwiz-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.ppw2 .optwiz-arrow{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--rose);background:#fff;color:var(--rose-d);font-size:22px;line-height:1;cursor:pointer;transition:.18s;}
.ppw2 .optwiz-arrow:hover:not(:disabled){background:var(--soft);}
.ppw2 .optwiz-arrow:disabled{opacity:.3;cursor:default;border-color:var(--line);color:var(--muted);}
.ppw2 .optwiz-prog{flex:1;min-width:0;}
.ppw2 .optwiz-cat{font-family:var(--serif);font-size:15px;color:var(--ink);margin-bottom:9px;}
.ppw2 .optwiz-cat b{color:var(--rose-d);}
.ppw2 .optwiz-bar{height:4px;background:var(--line);border-radius:99px;overflow:hidden;}
.ppw2 .optwiz-bar i{display:block;height:100%;width:12.5%;background:var(--rose);border-radius:99px;transition:width .4s ease;}
.ppw2 .optwiz-view{overflow:hidden;}
.ppw2 .optwiz-track{display:flex;align-items:flex-start;transition:transform .42s cubic-bezier(.4,0,.2,1);}
.ppw2 .optwiz-track>.opt-block{flex:0 0 100%;width:100%;margin:0;padding:4px 4px 2px;box-sizing:border-box;}
.ppw2 .optwiz-foot{display:flex;justify-content:space-between;gap:12px;margin-top:24px;}
.ppw2 .optwiz-foot .btn{min-width:140px;}
@media (max-width:600px){
  .ppw2 .optwiz-arrow{width:36px;height:36px;font-size:19px;}
  .ppw2 .optwiz-foot .btn{min-width:0;flex:1;}
  .ppw2 .wiz-title{font-size:18px;}
}

/* スライダー下の注釈（20名以下の相談導線） */
.ppw2 .sim-mininote{font-size:11.5px;color:var(--muted);line-height:1.7;margin:10px 0 0;}
.ppw2 .sim-mininote a{color:var(--rose-d);text-decoration:underline;}

/* PDF：明細テーブル化（既存お見積りPDF風） */
#pdf-summary .ps-meta{width:100%;border-collapse:collapse;margin-bottom:14px;}
#pdf-summary .ps-meta td{font-size:14px;color:#54454b;padding:8px 0;border-bottom:1px solid #EBDCDF;}
#pdf-summary .ps-meta td.v{text-align:right;font-family:"Noto Serif JP",serif;color:#2A2025;}
#pdf-summary .ps-items{width:100%;border-collapse:collapse;margin-top:4px;}
#pdf-summary .ps-items th{font-size:12px;color:#7C2E48;text-align:left;padding:9px 8px;background:#FCEBF0;border-bottom:2px solid #db5575;}
#pdf-summary .ps-items th.c,#pdf-summary .ps-items td.c{text-align:center;white-space:nowrap;}
#pdf-summary .ps-items th.r,#pdf-summary .ps-items td.r{text-align:right;white-space:nowrap;}
#pdf-summary .ps-items td{font-size:12.5px;color:#2A2025;padding:9px 8px;border-bottom:1px solid #EBDCDF;vertical-align:top;}
#pdf-summary .ps-items td.cat{color:#7C2E48;font-weight:700;width:26%;}
#pdf-summary .ps-items td.det{color:#54454b;}
#pdf-summary .ps-items td.r{font-family:"Noto Serif JP",serif;}

/* ===== 開催希望エリア（人数で絞り込み） ===== */
.ppw2 .sim-area{max-width:860px;margin:38px auto 0;padding-top:34px;border-top:1px solid var(--line);}
.ppw2 .sim-area-h{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--ink);margin:0 0 4px;}
.ppw2 .sim-area-h span{font-size:12px;color:var(--muted);font-weight:400;}
.ppw2 .sim-area-sub{font-size:12.5px;color:var(--muted);margin:0 0 16px;}
.ppw2 .sim-area-sub #area-cap{color:var(--rose-d);font-weight:700;}
.ppw2 .area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.ppw2 .area-chip{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:13px;color:var(--ink);cursor:pointer;transition:.15s;}
.ppw2 .area-chip:hover{border-color:var(--rose);}
.ppw2 .area-chip.is-on{border-color:var(--rose);background:var(--soft);}
.ppw2 .area-chip input{accent-color:var(--rose);width:16px;height:16px;flex:0 0 auto;}
.ppw2 .area-chip span{line-height:1.4;}
@media (max-width:760px){ .ppw2 .area-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:430px){ .ppw2 .area-grid{grid-template-columns:1fr;} }

/* ===== PDF：プラン見積りデザイン（フォーム発行PDFに準拠） ===== */
#pdf-summary{width:700px;padding:40px 44px;}
#pdf-summary .ps-doc-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #7C2E48;padding-bottom:12px;margin-bottom:20px;}
#pdf-summary .ps-title{font-family:"Noto Serif JP",serif;font-size:19px;font-weight:600;color:#2A2025;margin:0;}
#pdf-summary .ps-issue{font-size:10.5px;color:#7C6A70;text-align:right;line-height:1.8;white-space:nowrap;}
#pdf-summary .ps-meta2{width:100%;border-collapse:collapse;margin-bottom:18px;border:1px solid #E2D5D8;}
#pdf-summary .ps-meta2 th{background:#F1E7E9;text-align:left;font-size:12px;color:#7C2E48;padding:7px 12px;border:1px solid #E2D5D8;}
#pdf-summary .ps-meta2 td{font-size:13px;color:#2A2025;padding:8px 12px;border:1px solid #E2D5D8;width:50%;}
#pdf-summary .ps-meta2 td.v{font-family:"Noto Serif JP",serif;}
#pdf-summary .ps-items{width:100%;border-collapse:collapse;}
#pdf-summary .ps-items thead th{background:#F1E7E9;font-size:12px;color:#7C2E48;text-align:left;padding:8px 12px;border:1px solid #E2D5D8;}
#pdf-summary .ps-items th.c,#pdf-summary .ps-items td.c{text-align:center;white-space:nowrap;width:50px;}
#pdf-summary .ps-items th.r,#pdf-summary .ps-items td.r{text-align:right;white-space:nowrap;width:115px;}
#pdf-summary .ps-items td{font-size:12px;color:#2A2025;padding:9px 12px;border:1px solid #E2D5D8;vertical-align:top;line-height:1.6;}
#pdf-summary .ps-items td.item .cat{font-weight:700;color:#2A2025;}
#pdf-summary .ps-items td.item .det{color:#54454b;}
#pdf-summary .ps-items td.r{font-family:"Noto Serif JP",serif;}
#pdf-summary .ps-items tfoot td{background:#FCF4F6;font-weight:700;padding:11px 12px;border:1px solid #E2D5D8;}
#pdf-summary .ps-items tfoot .ttl-l{text-align:left;color:#7C2E48;}
#pdf-summary .ps-items tfoot .ttl-a{text-align:right;}
#pdf-summary .ps-items tfoot .ttl-a b{font-family:"Noto Serif JP",serif;font-size:17px;color:#7C2E48;}
#pdf-summary .ps-foot{font-size:11px;color:#54454b;line-height:1.85;margin:18px 0 0;}
#pdf-summary .ps-foot .ps-link{color:#bf3e60;text-decoration:underline;}
#pdf-summary .ps-copy{font-size:10px;color:#9a8a90;text-align:center;margin:22px 0 0;}

/* PDF：字詰まり対策（html2canvasの日本語レンダリング保険） */
#pdf-summary{letter-spacing:.02em;}
#pdf-summary .ps-items td.item .cat{margin-right:2px;}

/* アンカーのスムーススクロール＋ヘッダー分のオフセット */
html{scroll-behavior:smooth;}
.ppw2 #ppw-options{scroll-margin-top:84px;}

/* PDF：「（プラン内）」の全角カッコの詰まり対策 */
#pdf-summary .ps-items .incl{letter-spacing:.08em;padding:0 1px;}