*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#111110;--dark:#0f0f0e;--dark2:#1c1a17;--gold:#d4a017;--gold-lt:#f0d060;--gold-dk:#a07810;--brand:#d4a017;--text:#e8e4dd;--sub:#a09080}
body{font-family:'Noto Sans JP',sans-serif;background:var(--dark);color:var(--text);max-width:430px;margin:0 auto;overflow-x:hidden}
.serif{font-family:'Noto Serif JP',serif}

/* 起: 伊藤さんの手紙 */
.ki{min-height:100vh;background:linear-gradient(160deg,#141210,var(--dark2));padding:48px 28px;display:flex;flex-direction:column;justify-content:center;position:relative;color:#e8e4dd}
.ki::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");pointer-events:none;z-index:1}
.ki::after{content:'';position:absolute;right:-40px;bottom:-20px;width:380px;height:500px;background:url('/images/subscription/ito_masayuki.png') center bottom / contain no-repeat;opacity:.12;pointer-events:none;z-index:0}
.ki *{position:relative;z-index:1}
.ki__dear{font-size:11px;color:var(--gold);opacity:.5;margin-bottom:32px;letter-spacing:2px}
.ki__body{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:500;line-height:2.4;color:rgba(255,255,255,.75)}
.ki__body em{font-style:normal;color:var(--gold);font-weight:700}
.ki__body .p{display:block;height:22px}
.ki__sign{margin-top:40px;display:flex;align-items:center;justify-content:flex-end;gap:14px;font-size:11px;color:rgba(255,255,255,.4);line-height:1.8}
.ki__sign-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(212,160,23,.25);flex-shrink:0}
.ki__sign-text{text-align:right}
.ki__sign strong{display:block;font-family:'Noto Serif JP',serif;font-size:13px;font-weight:900;color:rgba(255,255,255,.8)}
.ki__scroll{text-align:center;margin-top:36px;font-size:9px;color:rgba(255,255,255,.2);letter-spacing:2px}
.ki__scroll .material-symbols-outlined{display:block;font-size:18px;animation:bounce 2s infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* 承-1: 居場所 */
.sho{background:linear-gradient(160deg,#0e0e0d,#181614);color:#fff;padding:48px 24px;position:relative}
.sho__noren{text-align:center;font-family:'Noto Serif JP',serif;font-size:11px;color:var(--gold);letter-spacing:3px;opacity:.6;margin-bottom:8px}
.sho__title{text-align:center;font-family:'Noto Serif JP',serif;font-size:22px;font-weight:900;line-height:1.7;margin-bottom:20px}
.sho__title strong{background:linear-gradient(90deg,var(--gold),var(--gold-lt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sho__desc{font-size:12px;color:rgba(255,255,255,.4);line-height:2;text-align:center;margin-bottom:28px}
.nomilog{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.nl{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px}
.nl-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.nl-av{width:30px;height:30px;border-radius:50%;background:rgba(212,160,23,.15);display:flex;align-items:center;justify-content:center;font-size:13px}
.nl-nm{font-size:11px;font-weight:700;color:rgba(255,255,255,.7)}
.nl-nm small{display:block;font-weight:400;font-size:9px;color:rgba(255,255,255,.25);margin-top:1px}
.nl-tx{font-size:12px;color:rgba(255,255,255,.5);line-height:1.8}
.nl-re{display:flex;gap:12px;margin-top:8px;font-size:10px;color:rgba(255,255,255,.3)}
.goshuin-row{display:flex;gap:8px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}
.gs{width:38px;height:38px;border-radius:50%;border:1px solid rgba(212,160,23,.2);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:900;color:var(--gold);opacity:.35;font-family:'Noto Serif JP',serif}
.gs.on{opacity:1;background:rgba(212,160,23,.1)}
.sho__msg{text-align:center;font-family:'Noto Serif JP',serif;font-size:12px;color:rgba(255,255,255,.3);line-height:2}
/* 銘柄紹介 */
.sho__intro{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:14px;margin-bottom:16px}
.sake-card{display:flex;gap:14px;align-items:flex-start;padding:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:14px;margin-bottom:10px}
.sake-card__img{width:72px;height:auto;border-radius:8px;border:1px solid rgba(212,160,23,.15);flex-shrink:0}
.sake-card__info{flex:1;min-width:0}
.sake-card__name{font-family:'Noto Serif JP',serif;font-size:13px;font-weight:900;color:rgba(255,255,255,.85);margin-bottom:2px}
.sake-card__name small{font-size:10px;font-weight:400;color:rgba(255,255,255,.3)}
.sake-card__brewery{font-size:10px;color:var(--gold);opacity:.7;margin-bottom:6px}
.sake-card__desc{font-size:10px;color:rgba(255,255,255,.4);line-height:1.7}
/* 御酒印スタンプ2列 */
.stamp-label{text-align:center;font-size:12px;color:var(--gold);line-height:1.8;margin-bottom:14px;padding:10px 16px;border:1px solid rgba(212,160,23,.2);border-radius:12px;background:rgba(212,160,23,.04)}
.stamp-label strong{font-family:'Noto Serif JP',serif;font-size:15px;display:block;margin-top:2px}
.stamp-row{display:flex;gap:10px;margin-bottom:4px}
.brief--stamp{flex:1;margin-bottom:0}
/* Premium特典メモ */
.plan__premium-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(212,160,23,.06);font-size:10px;color:rgba(255,255,255,.5);line-height:1.7;text-align:center}

/* 承-2: 開封体験 */
.exp{padding:48px 24px;background:linear-gradient(160deg,#131210,var(--dark2));color:#e8e4dd}
.exp__title{font-family:'Noto Serif JP',serif;font-size:20px;font-weight:900;text-align:center;line-height:1.7;margin-bottom:24px;color:#fff}
.exp__flow{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.exp__step{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:rgba(255,255,255,.04);border-radius:14px;border:1px solid rgba(255,255,255,.06)}
.exp__step-icon{font-size:22px;flex-shrink:0;margin-top:2px}
.exp__step-body h4{font-size:12px;font-weight:800;margin-bottom:2px;color:rgba(255,255,255,.8)}
.exp__step-body p{font-size:10px;color:rgba(255,255,255,.35);line-height:1.6}

/* 冒険指令書サンプル */
.brief{margin:0 auto 24px;max-width:340px;border:1px solid rgba(212,160,23,.2);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.03)}
.brief__head{background:var(--dark);color:var(--gold);padding:10px 16px;font-size:10px;font-weight:700;letter-spacing:2px;display:flex;justify-content:space-between;align-items:center}
.brief__body{padding:16px}
.brief__row{display:flex;justify-content:space-between;font-size:11px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.brief__row:last-child{border-bottom:none}
.brief__row dt{color:rgba(255,255,255,.4);font-weight:700}
.brief__row dd{font-weight:700;text-align:right;color:rgba(255,255,255,.8)}
.brief__pair{margin-top:10px;padding:10px 12px;background:rgba(212,160,23,.06);border-radius:10px;font-size:10px;color:rgba(255,255,255,.45);line-height:1.7}
.brief__pair strong{display:block;font-size:11px;color:var(--gold);margin-bottom:4px}
.brief__msg{margin-top:10px;padding:10px 12px;background:rgba(255,255,255,.03);border-radius:10px;font-size:10px;color:rgba(255,255,255,.45);line-height:1.7;font-style:italic}
.brief__msg strong{display:block;font-style:normal;font-size:11px;color:rgba(255,255,255,.7);margin-bottom:4px}

.exp__price{text-align:center;font-family:'Noto Serif JP',serif;font-size:14px;font-weight:900;color:rgba(255,255,255,.6);margin-top:8px}
.exp__price span{font-family:'Spline Sans',sans-serif;font-size:28px;color:var(--gold)}

/* 転: プラン + 循環 + オーナー */
.ten{padding:48px 24px;background:linear-gradient(160deg,var(--dark),var(--dark2));color:#fff}
.ten__header{text-align:center;margin-bottom:24px}
.ten__badge{font-size:9px;font-weight:700;letter-spacing:2px;color:var(--gold);margin-bottom:8px}
.ten__title{font-family:'Noto Serif JP',serif;font-size:20px;font-weight:900}
.plan{border-radius:16px;padding:20px;margin-bottom:12px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);position:relative}
.plan--rec{border-color:var(--gold);background:linear-gradient(160deg,rgba(212,160,23,.08),rgba(212,160,23,.02))}
.plan--rec::after{content:'おすすめ';position:absolute;top:10px;right:10px;font-size:8px;font-weight:700;background:var(--gold);color:var(--dark);padding:3px 10px;border-radius:10px}
.plan__tier{font-size:9px;font-weight:700;letter-spacing:2px;color:var(--gold);opacity:.7}
.plan__name{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:900;margin:3px 0 5px}
.plan__price{font-family:'Spline Sans',sans-serif;font-size:24px;font-weight:700}
.plan__price small{font-size:11px;color:rgba(255,255,255,.4);font-weight:400}
.plan__list{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:5px}
.plan__list li{font-size:10px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:5px}
.plan__list .material-symbols-outlined{font-size:14px;color:var(--gold)}

.cycle{margin:28px 0;text-align:center}
.cycle__title{font-family:'Noto Serif JP',serif;font-size:13px;font-weight:900;margin-bottom:14px;color:var(--gold)}
.cy{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border-radius:10px;padding:10px 12px;margin-bottom:6px}
.cy-icon{font-size:18px;flex-shrink:0}
.cy-text{font-size:10px;color:rgba(255,255,255,.5);text-align:left}
.cy-text strong{color:#fff}
.cy-arr{text-align:center;font-size:14px;color:rgba(212,160,23,.3);margin-bottom:6px}

/* オーナー */
.owner{margin-top:28px;padding:20px;border-radius:16px;border:1px solid rgba(212,160,23,.15);background:rgba(212,160,23,.03)}
.owner__label{font-size:8px;font-weight:700;letter-spacing:2px;color:var(--gold);margin-bottom:8px}
.owner__name{font-family:'Noto Serif JP',serif;font-size:14px;font-weight:900;margin-bottom:4px}
.owner__co{font-size:10px;color:rgba(255,255,255,.4);margin-bottom:10px}
.owner__text{font-size:11px;color:rgba(255,255,255,.45);line-height:1.9}
.owner__text strong{color:#fff}
.owner__cert{margin-top:12px;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,.04);font-size:9px;color:rgba(255,255,255,.35);line-height:1.6}
.owner__cert strong{color:var(--gold);font-weight:700}

/* VIP */
.vip-box{margin-top:20px;padding:18px;border-radius:14px;border:1px solid rgba(212,160,23,.12);background:rgba(212,160,23,.02)}
.vip-box__title{font-family:'Noto Serif JP',serif;font-size:12px;font-weight:900;color:var(--gold);margin-bottom:6px}
.vip-box__text{font-size:10px;color:rgba(255,255,255,.4);line-height:1.8}
.vip-box__text strong{color:#fff}

/* 結 */
.ketsu{padding:56px 24px;background:linear-gradient(160deg,var(--dark),#1a1410);color:#fff;text-align:center;position:relative;overflow:hidden}
.ketsu::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");pointer-events:none}
.ketsu *{position:relative;z-index:1}
.ketsu__tate{position:absolute;top:20px;right:14px;bottom:20px;writing-mode:vertical-rl;font-family:'Noto Serif JP',serif;font-size:20px;font-weight:900;color:rgba(255,255,255,.03);letter-spacing:.15em;pointer-events:none;z-index:0!important;overflow:hidden}
.ketsu__copy{font-family:'Noto Serif JP',serif;font-size:24px;font-weight:900;line-height:1.8;margin-bottom:10px}
.ketsu__copy strong{background:linear-gradient(90deg,var(--gold),var(--gold-lt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ketsu__sub{font-size:12px;color:rgba(255,255,255,.35);line-height:2;margin-bottom:28px}
.beta{margin-bottom:20px;display:inline-block;padding:10px 20px;border-radius:12px;border:1px solid rgba(212,160,23,.3);background:rgba(212,160,23,.06)}
.beta__label{font-size:8px;font-weight:700;letter-spacing:2px;color:var(--gold);margin-bottom:3px}
.beta__deal{font-family:'Spline Sans',sans-serif;font-size:18px;font-weight:700;color:#fff}
.beta__deal s{font-size:13px;color:rgba(255,255,255,.3);margin-right:6px}
.beta__note{font-size:9px;color:rgba(255,255,255,.3);margin-top:3px}
.ketsu__btn{display:inline-flex;align-items:center;gap:6px;padding:16px 36px;background:linear-gradient(135deg,#b8860b,#d4a017);border-radius:16px;font-size:15px;font-weight:900;color:#fff;text-decoration:none;transition:transform .2s;box-shadow:0 4px 20px rgba(212,160,23,.3)}
.ketsu__btn:active{transform:scale(.96)}
.ketsu__price{margin-top:12px;font-size:11px;color:rgba(255,255,255,.25)}
.ketsu__price b{font-size:16px;color:#fff;font-family:'Spline Sans',sans-serif}
.trust{margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.trust__badge{font-size:8px;color:rgba(255,255,255,.3);padding:4px 10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;gap:4px}
.trust__badge .material-symbols-outlined{font-size:12px;color:var(--gold)}

/* カウンター */
.counter{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}
.counter__label{font-size:10px;color:rgba(255,255,255,.4);letter-spacing:1px}
.counter__digits{display:flex;gap:4px}
.counter__cell{display:inline-flex;align-items:center;justify-content:center;width:36px;height:48px;background:linear-gradient(180deg,#1a1816,#0e0d0c);border:1px solid rgba(212,160,23,.35);border-radius:6px;font-family:'Spline Sans',sans-serif;font-size:28px;font-weight:700;color:var(--gold);box-shadow:0 2px 8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);position:relative}
.counter__cell::after{content:'';position:absolute;left:2px;right:2px;top:50%;height:1px;background:rgba(0,0,0,.5)}
.counter__unit{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:700;color:rgba(255,255,255,.5);margin-left:2px}
