/* members.css — members.html 固有スタイル */
main{max-width:800px;margin:0 auto;padding:72px 80px 96px;}
.view{display:none;}
.view.active{display:block;animation:fadeUp 0.45s ease;}
.sec-lbl{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;letter-spacing:0.42em;color:var(--gold);display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:16px;}
.sec-lbl::before,.sec-lbl::after{content:'';flex:1;max-width:40px;height:1px;background:var(--gold);}
.member-intro{text-align:center;margin-bottom:52px;}
.member-intro-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(22px,3vw,32px);font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:20px;}
.member-intro-body{font-size:13.5px;line-height:2.6;letter-spacing:0.07em;color:var(--text-m);}
.discount-img-wrap{margin-bottom:52px;}
.discount-img-ttl{font-family:'Shippori Mincho',serif;font-size:15px;font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--sand);}
.discount-img{width:100%;display:block;object-fit:cover;}
.discount-img-placeholder{width:100%;aspect-ratio:16/7;background:var(--warm);border:1px dashed var(--tan);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;}
.discount-img-placeholder-icon{font-size:32px;color:var(--tan);}
.discount-img-placeholder-txt{font-size:12px;letter-spacing:0.14em;color:var(--text-l);}
.price-block{text-align:center;background:var(--espresso);padding:40px 48px;margin-bottom:52px;}
.price-lbl{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;letter-spacing:0.36em;color:var(--gold);margin-bottom:12px;}
.price-num{font-family:'Noto Serif JP',serif;font-size:52px;font-weight:300;color:var(--cream);letter-spacing:0.04em;}
.price-num small{font-family:'Noto Serif JP',serif;font-size:13px;font-weight:300;color:rgba(250,247,242,0.5);margin-left:8px;vertical-align:middle;letter-spacing:0.06em;}
.price-note{font-size:11.5px;letter-spacing:0.1em;color:rgba(250,247,242,0.4);margin-top:10px;}
.auth-panels{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-bottom:48px;}
.auth-panel{background:var(--warm);padding:40px 36px;}
.auth-panel-ttl{font-family:'Shippori Mincho',serif;font-size:17px;font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:6px;}
.auth-panel-sub{font-size:11.5px;letter-spacing:0.08em;color:var(--text-l);margin-bottom:28px;}
.btn-gold{display:block;width:100%;font-size:11px;letter-spacing:0.26em;color:var(--espresso);background:var(--gold);border:none;padding:16px;cursor:pointer;font-family:'Noto Serif JP',serif;transition:all 0.3s;text-align:center;margin-top:24px;text-decoration:none;}
.btn-gold:hover{background:var(--gold-l);}
.btn-outline{display:block;width:100%;font-size:11px;letter-spacing:0.22em;color:var(--text-m);background:transparent;border:1px solid var(--sand);padding:15px;cursor:pointer;font-family:'Noto Serif JP',serif;transition:all 0.3s;text-align:center;margin-top:12px;text-decoration:none;}
.btn-outline:hover{border-color:var(--tan);color:var(--text);}
.register-form{display:none;margin-top:24px;padding-top:24px;border-top:1px solid var(--sand);}
.register-form.open{display:block;}
.register-note{font-size:11.5px;line-height:2.1;letter-spacing:0.06em;color:var(--text-l);background:var(--cream);padding:16px 18px;margin-top:16px;border:1px solid var(--sand);}
.register-note strong{color:var(--text-m);}
.reg-complete{display:none;text-align:center;padding:32px 20px;background:var(--warm);border:1px solid var(--sand);margin-top:20px;}
.reg-complete.show{display:block;}
.reg-complete-icon{font-size:32px;margin-bottom:14px;}
.reg-complete-ttl{font-family:'Shippori Mincho',serif;font-size:17px;font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:10px;}
.reg-complete-body{font-size:12.5px;line-height:2.3;letter-spacing:0.07em;color:var(--text-m);}
.member-num-preview{font-family:'Noto Serif JP',serif;font-size:28px;font-weight:300;letter-spacing:0.06em;color:var(--espresso);background:var(--cream);border:1px solid var(--sand);display:inline-block;padding:14px 40px;margin:18px 0;}
.member-card{background:var(--espresso);padding:48px 48px 40px;margin-bottom:36px;position:relative;overflow:hidden;}
.member-card::before{content:'會';position:absolute;right:-10px;bottom:-20px;font-family:'Shippori Mincho',serif;font-size:200px;font-weight:700;color:rgba(255,255,255,0.03);pointer-events:none;line-height:1;}
.card-greeting{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:12px;letter-spacing:0.32em;color:var(--gold);margin-bottom:10px;}
.card-name{font-family:'Shippori Mincho',serif;font-size:clamp(20px,3vw,26px);font-weight:600;letter-spacing:0.14em;color:var(--cream);margin-bottom:28px;}
.card-name small{font-size:13px;color:rgba(250,247,242,0.5);margin-left:8px;font-weight:400;}
.card-info{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid rgba(196,169,107,0.2);padding-top:24px;}
.card-info-item{padding:0 24px;}
.card-info-item:first-child{padding-left:0;}
.card-info-item:not(:last-child){border-right:1px solid rgba(196,169,107,0.15);}
.card-info-label{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:10px;letter-spacing:0.28em;color:rgba(196,169,107,0.6);margin-bottom:8px;}
.card-info-val{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:300;letter-spacing:0.06em;color:var(--cream);}
.card-info-val.badge-active{color:var(--gold);}
.card-info-val.badge-expired{color:#E07070;}
.sec-ttl-sm{font-family:'Shippori Mincho',serif;font-size:15px;font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--sand);}
.btn-logout{display:block;width:100%;font-size:11px;letter-spacing:0.22em;color:var(--text-l);background:transparent;border:1px solid var(--sand);padding:14px;cursor:pointer;font-family:'Noto Serif JP',serif;transition:all 0.3s;text-align:center;margin-top:10px;}
.btn-logout:hover{border-color:var(--tan);color:var(--text-m);}
.expired-wrap{text-align:center;padding:20px 0 40px;}
.expired-icon{width:72px;height:72px;border:1px solid rgba(192,57,43,0.4);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:28px;color:var(--err);}
.expired-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(18px,2.5vw,24px);font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:14px;}
.expired-body{font-size:13px;line-height:2.4;letter-spacing:0.07em;color:var(--text-m);margin-bottom:36px;}
.expired-card-mini{background:var(--warm);border:1px solid var(--sand);padding:20px 28px;display:inline-block;text-align:left;margin-bottom:36px;}
.expired-card-row{display:flex;gap:20px;padding:8px 0;border-bottom:1px solid rgba(232,221,208,0.6);}
.expired-card-row:last-child{border-bottom:none;}
.expired-card-key{font-size:11px;letter-spacing:0.1em;color:var(--text-l);min-width:90px;}
.expired-card-val{font-size:13px;letter-spacing:0.08em;color:var(--text-m);}
.renew-panel{background:var(--warm);border:1px solid var(--sand);padding:36px;margin-bottom:28px;display:none;text-align:left;}
.renew-panel.show{display:block;}
.renew-panel-ttl{font-family:'Shippori Mincho',serif;font-size:15px;font-weight:600;letter-spacing:0.1em;color:var(--espresso);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--sand);}
.renew-row{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid rgba(232,221,208,0.5);}
.renew-row:last-of-type{border-bottom:none;}
.renew-key{font-size:11.5px;letter-spacing:0.1em;color:var(--text-l);min-width:110px;}
.renew-val{font-size:13px;letter-spacing:0.07em;color:var(--text-m);}
.renew-note{font-size:12px;line-height:2.2;letter-spacing:0.07em;color:var(--text-m);background:var(--cream);padding:16px 18px;border:1px solid var(--sand);margin-top:20px;margin-bottom:20px;}
.renew-note strong{color:var(--espresso);}
.renew-complete{display:none;text-align:center;padding:36px 24px;background:var(--warm);border:1px solid var(--sand);margin-bottom:28px;}
.renew-complete.show{display:block;}
.renew-complete-icon{font-size:32px;margin-bottom:14px;}
.renew-complete-ttl{font-family:'Shippori Mincho',serif;font-size:17px;font-weight:600;letter-spacing:0.12em;color:var(--espresso);margin-bottom:10px;}
.renew-complete-body{font-size:13px;line-height:2.3;letter-spacing:0.07em;color:var(--text-m);}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.email-caution{font-size:11px;line-height:1.9;letter-spacing:0.06em;color:var(--err);margin-top:6px;opacity:0.85;}
@media(max-width:900px){
  .page-header{padding:80px 24px 36px;}
  main{padding:48px 24px 72px;}
  .auth-panels{grid-template-columns:1fr;}
  .form-grid-2{grid-template-columns:1fr;}
  .card-info{grid-template-columns:1fr;gap:16px;}
  .card-info-item{padding:0;border-right:none !important;border-bottom:1px solid rgba(196,169,107,0.15);padding-bottom:16px;}
  .card-info-item:last-child{border-bottom:none;padding-bottom:0;}
  .price-block{padding:32px 24px;}
}
