:root{--ink:#202a3b;--sub:#687589;--line:#e6ebf2;--bg:#f7f9fc;--white:#fff;--blue:#233f73;--blue2:#1d3159;--gold:#a9792a;--green:#18846b;--shadow:0 15px 42px rgba(26,45,75,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.7;font-size:15px}a{text-decoration:none;color:var(--blue)}a:hover{opacity:.87}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.35}p{color:var(--sub)}.container{max-width:1160px;padding:0 24px;margin:0 auto}.top{background:white;border-bottom:1px solid var(--line)}.navline{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{color:var(--ink);font-family:Georgia,"Yu Mincho",serif;font-weight:700;font-size:25px;letter-spacing:.03em;display:flex;align-items:center;gap:10px;white-space:nowrap}.brandmark{height:39px;width:39px;background:var(--blue);border-radius:12px;display:grid;place-items:center;color:#fff;font-size:20px}.nav-auth{display:flex;align-items:center;gap:18px;font-size:13px}.nav-auth form{display:inline}.navlogin{background:#edf2f8;border-radius:99px;padding:8px 16px;font-weight:700}.welcome{color:var(--sub)}.linkbutton{background:none;border:0;padding:0;color:var(--sub);font-size:13px}.mainnav{display:flex;align-items:center;gap:34px;white-space:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin-bottom:28px}.mainnav::-webkit-scrollbar{display:none}.mainnav a{padding:15px 0;color:#68758a;font-size:13px;font-weight:700;border-bottom:3px solid transparent}.mainnav a.active{border-color:var(--blue);color:var(--blue)}.hero{display:grid;grid-template-columns:1.18fr .82fr;min-height:370px;border-radius:24px;background:linear-gradient(115deg,#1b3159,#3d5682);position:relative;overflow:hidden;color:#fff;box-shadow:var(--shadow)}.hero:before{content:"";position:absolute;width:280px;height:280px;border:1px solid #ffffff18;border-radius:50%;top:-110px;right:90px}.hero-text{padding:58px 8% 58px 9%;align-self:center;position:relative;z-index:1}.hero-eyebrow{display:block;color:#d5b679;letter-spacing:.24em;font-size:12px;font-weight:700;margin-bottom:23px}.hero h1{font-size:36px;font-family:"Yu Mincho",Georgia,serif;letter-spacing:.04em;line-height:1.52;max-width:550px}.hero p{color:#edf1f8;margin:19px 0 25px;max-width:500px}.hero-art{display:grid;place-items:center;position:relative;background:radial-gradient(circle at 55% 50%,#7c90b24a,transparent 62%)}.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid #ffffff30;border-radius:50%;width:350px;height:350px}.hero-art:after{width:280px;height:280px}.hero-art-circle{position:relative;z-index:1;width:215px;height:215px;border-radius:50%;background:linear-gradient(145deg,#f9eccf,#b98f52);box-shadow:0 20px 80px #0004, inset 0 0 0 12px #ffffff36;color:#795925;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:60px}.hero-art-circle span{font-size:13px;text-align:center;line-height:1.5;letter-spacing:.2em;font-weight:800;color:#6a522f}.btn{border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:10px 22px;font-weight:800;font-size:14px;text-align:center;transition:filter .15s,transform .15s;white-space:normal}.btn:hover{filter:brightness(1.05);transform:translateY(-1px);opacity:1}.btn-primary{background:var(--blue);color:white}.btn-green{background:#16785f;color:white}.btn-gold{background:linear-gradient(110deg,#b98528,#e8c581);color:#452e0d;box-shadow:0 7px 20px #9e74273a}.btn-outline-light{border:1px solid #d5deed;color:white}.btn-block{display:flex;width:100%}.btn-large{min-width:235px;min-height:55px;font-size:16px}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:41px 0 20px}.heading h2{font-size:25px;margin-top:6px}.eyebrow{color:var(--gold);letter-spacing:.14em;font-size:11px;font-weight:800}.hint,.seeall{font-size:13px;color:var(--sub)}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cta-card{min-height:265px;border:1px solid #dcece4;border-radius:20px;padding:29px 32px;box-shadow:var(--shadow);position:relative;overflow:hidden}.cta-card.daily{background:linear-gradient(130deg,#e9f6f0,#fdfefd)}.cta-card.vip{background:linear-gradient(135deg,#fff7e5,#fefcf7);border-color:#efdfbf}.cta-symbol{position:absolute;top:0;right:20px;font-size:150px;color:#1b765918;line-height:1}.cta-card.vip .cta-symbol{color:#9c791f1c}.cta-card h2{position:relative;font-size:27px;margin:10px 0}.cta-card p{position:relative;max-width:390px;margin-bottom:19px;font-size:13px}.cta-card .btn{position:relative}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.quick-links a{min-height:83px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;gap:12px;align-items:center;color:var(--ink);font-weight:700;font-size:13px}.quick-links span{background:#f0f3f9;border-radius:9px;width:36px;height:36px;display:grid;place-items:center;font-size:20px;color:var(--blue)}.quick-links strong{margin-left:auto;color:#9ca6b5}.section{margin:54px 0 80px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-page-grid{margin-bottom:70px}.product-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:block;color:var(--ink);box-shadow:0 7px 22px #15203908}.product-cover{height:185px;background:linear-gradient(135deg,#e7edf6,#d3ddea);display:grid;place-items:center;color:#b5c2d8;font-size:62px;overflow:hidden}.product-cover img{height:100%;width:100%;object-fit:cover}.product-content{padding:16px}.product-content strong{font-size:14px;display:block;min-height:40px}.product-content span{display:block;color:var(--blue);font-weight:800;font-size:20px;margin-top:5px}.page-heading{text-align:center;margin:42px auto 30px}.page-heading h1{font-size:32px;margin:8px auto}.page-heading p{margin-top:10px}.content-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:32px;box-shadow:var(--shadow);margin-bottom:38px}.content-card h2{font-size:22px;margin-bottom:20px}.company-card{display:grid;grid-template-columns:.75fr 1fr;align-items:center;gap:35px;margin-bottom:75px;min-height:340px}.company-illustration{height:260px;border-radius:15px;background:linear-gradient(120deg,#203b6a,#7188b4);color:#d7b16c;display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;font-size:80px}.company-illustration span{font-size:12px;letter-spacing:.2em;color:white}.preline{white-space:pre-wrap;overflow-wrap:anywhere}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start;margin-bottom:75px}.detail-image{height:360px;border-radius:13px;background:#e9eef5;display:grid;place-items:center;color:#abbdd5;font-size:110px;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.product-detail h2{font-size:30px;margin:12px 0}.big-price{font-size:30px;color:var(--blue);font-weight:800;margin-bottom:18px}.small{font-size:12px}.muted{color:var(--sub)}.product-detail .btn{margin-top:18px}.authbox{max-width:475px;margin:55px auto 100px;background:white;padding:39px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.authbox h1{font-size:27px;margin:10px 0}.authbox p{font-size:13px;margin:10px 0 22px}.stack{display:flex;flex-direction:column;gap:17px}.stack label,.message-form label{display:block;color:#3f4b5c;font-weight:700;font-size:13px}.stack input,.stack textarea,.stack select,.message-form textarea{margin-top:6px;width:100%;display:block;min-height:44px;border:1px solid #d6dfeb;border-radius:10px;padding:10px 13px;background:#fff;color:#26344d;outline:none;resize:vertical}.stack input:focus,.stack textarea:focus,.message-form textarea:focus{border-color:#6284bc;box-shadow:0 0 0 3px #b7c9e933}.text-center{text-align:center}.text-center a{text-decoration:underline}.flash{margin:14px 0;padding:12px 16px;border-radius:10px;border:1px solid #d5e7f4;background:#edf5fc;color:#285b8a;font-size:13px;overflow-wrap:anywhere}.flash.error{color:#a2353b;background:#fff0f0;border-color:#f5d8da}.flash.success{color:#19734e;background:#e9f9ef;border-color:#c6e7d3}.flash.info{color:#365b97;background:#eef4ff}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:50px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.status{font-size:11px;background:#edf2f8;color:var(--blue);padding:6px 10px;border-radius:99px;font-weight:700;white-space:nowrap}.status.is-vip{color:#825913;background:#fff2d4}.detail-list{margin:0}.detail-list div{border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:14px 0}.detail-list dt{color:var(--sub);font-size:13px}.detail-list dd{margin:0;font-weight:700;overflow-wrap:anywhere;text-align:right}.menu-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}.menu-tile b{color:var(--blue);font-size:12px}.checkin-panel,.vip-panel{max-width:740px;margin:0 auto 80px;text-align:center;padding:44px}.checkin-icon{height:95px;width:95px;background:#e3f5ec;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;color:var(--green);font-size:50px}.checkin-panel p{margin:10px auto 23px}.checkin-panel .small{margin:23px 0 0}.stats-inline{display:flex;max-width:370px;justify-content:center;gap:60px;margin:31px auto 10px;padding:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-inline strong{display:block;font-size:28px}.stats-inline span{display:block;font-size:12px;color:var(--sub)}.vip-panel{border-top:5px solid #bd9047;background:linear-gradient(#fffaf1,#fff 140px)}.vip-crown{color:#b99143;font-size:80px}.vip-panel p{max-width:550px;margin:5px auto 25px}.vip-form{max-width:440px;margin:0 auto}.coupon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:80px}.coupon-card{border:1px solid #e5d2ad;background:linear-gradient(150deg,#fff,#fffaf0);border-radius:17px;padding:24px;box-shadow:var(--shadow)}.coupon-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700}.coupon-value{font-size:34px;color:#977127;font-weight:900;margin:15px 0}.coupon-code{background:#f6f0e3;border:1px dashed #cfaf74;padding:11px;border-radius:10px;font-size:13px;margin:14px 0}.coupon-code strong{overflow-wrap:anywhere}.coupon-muted{opacity:.65;filter:grayscale(.6)}.locked{text-align:center;max-width:700px;margin:0 auto 80px;padding:58px 25px}.locked span{font-size:75px;color:#bf964f}.locked p{margin:10px auto 25px}.chat-thread{min-height:280px;max-height:520px;overflow:auto;padding:10px 2px 25px;display:flex;flex-direction:column;gap:13px}.bubble-row{display:flex}.bubble-row.mine{justify-content:flex-end}.bubble-row.theirs{justify-content:flex-start}.bubble{max-width:80%;padding:13px 16px;border-radius:15px;background:#eef2f8;overflow-wrap:anywhere}.mine .bubble{background:#e4f0e9}.bubble small{font-size:11px;color:var(--sub);display:block;margin-bottom:7px}.message-form{border-top:1px solid var(--line);padding-top:24px}.message-form textarea{margin:7px 0 13px}.table-scroll{overflow-x:auto}.clean-table{width:100%;border-collapse:collapse;text-align:left;min-width:650px}.clean-table th,.clean-table td{padding:15px 12px;border-bottom:1px solid var(--line);font-size:13px}.clean-table th{color:#657389;background:#f8f9fc}.empty{text-align:center;padding:42px 14px;color:var(--sub);border:1px dashed #d3ddeb;border-radius:13px;background:#fff}.empty.wide{grid-column:1/-1}.footer{background:white;border-top:1px solid var(--line);color:#98a0ae;padding:30px 0;font-size:12px;margin-top:25px}@media(max-width:850px){.hero{min-height:300px;grid-template-columns:1fr}.hero-text{padding:50px 40px;max-width:700px}.hero-art{display:none}.quick-links{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}.company-card{grid-template-columns:1fr}.company-illustration{height:175px}.mainnav{gap:24px}.coupon-grid{grid-template-columns:1fr}}@media(max-width:580px){body{font-size:14px}.container{padding:0 16px}.navline{min-height:64px}.brand{font-size:19px}.brandmark{height:34px;width:34px}.nav-auth{gap:8px;font-size:11px}.nav-auth .welcome{display:none}.navlogin{padding:6px 9px}.mainnav{gap:20px;margin-bottom:17px}.mainnav a{font-size:12px;padding:12px 0}.hero{border-radius:16px;min-height:290px}.hero-text{padding:34px 24px}.hero h1{font-size:26px}.hero p{font-size:13px}.hero-eyebrow{margin-bottom:13px}.heading{margin:30px 0 16px}.heading h2{font-size:22px}.hint{display:none}.cta-grid{grid-template-columns:1fr;gap:12px}.cta-card{min-height:230px;padding:22px}.cta-card h2{font-size:24px}.cta-card p{font-size:12px}.cta-card .btn{min-height:51px;width:100%}.quick-links{gap:9px;margin-top:12px}.quick-links a{padding:11px;min-height:74px;gap:6px;font-size:12px}.quick-links span{height:31px;width:31px;font-size:18px}.quick-links strong{display:none}.product-grid{gap:11px}.product-cover{height:135px}.product-content{padding:11px}.product-content strong{font-size:12px}.product-content span{font-size:17px}.section{margin:32px 0 55px}.page-heading{margin:30px 0 23px}.page-heading h1{font-size:26px}.content-card{padding:20px;border-radius:14px}.authbox{padding:27px 21px;margin:20px auto 70px}.company-card{gap:22px}.product-detail{grid-template-columns:1fr}.detail-image{height:265px}.product-detail h2{font-size:22px}.checkin-panel,.vip-panel{padding:31px 20px}.bubble{max-width:92%}.footer{margin-top:12px}}

.company-preview{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:29px 33px;margin:22px 0 0}.company-preview h2{font-size:23px;margin:8px 0}.company-preview p{max-width:700px;font-size:13px}.company-preview .btn{flex-shrink:0}@media(max-width:580px){.company-preview{display:block;padding:22px}.company-preview .btn{margin-top:18px;width:100%}}

/* Public coupon showcase — promotional display, NOT issued user coupons. */
.offer-showcase{margin-top:40px}
.offer-head{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:23px;padding:27px 33px;border-radius:19px;background:linear-gradient(115deg,#202f50,#3a4e73);color:white;box-shadow:var(--shadow)}
.offer-head .eyebrow{color:#e8c991}.offer-head h2{font-size:27px;margin:7px 0 6px}.offer-head p{font-size:13px;color:#d5deed}
.offer-count{font-size:12px;font-weight:700;display:inline-block;vertical-align:middle;margin-left:6px;background:#ffffff22;padding:6px 10px;border-radius:100px}
.offer-head-icon{font-size:60px;color:#eac991;background:#ffffff13;border:1px solid #ffffff26;border-radius:17px;width:100px;height:96px;display:grid;place-items:center;flex-shrink:0}
.offer-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.offer-card{--offer-accent:#294f8d;--offer-soft:#eaf1fa;--offer-ink:#203a65;min-width:0;border:1px solid #e5eaf3;background:white;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(26,43,70,.06);transition:transform .15s,box-shadow .15s}
.offer-card:hover{transform:translateY(-3px);box-shadow:0 15px 36px rgba(26,43,70,.1)}
.offer-theme-rose{--offer-accent:#a64e70;--offer-soft:#fbeef3;--offer-ink:#87324f}
.offer-theme-gold{--offer-accent:#947027;--offer-soft:#fff5db;--offer-ink:#7a551a}
.offer-theme-mint{--offer-accent:#217a69;--offer-soft:#e4f6ef;--offer-ink:#135b4d}
.offer-theme-violet{--offer-accent:#70569b;--offer-soft:#f2edfa;--offer-ink:#5b407f}
.offer-ticket{background:linear-gradient(125deg,#fff,var(--offer-soft));padding:19px 24px 18px;min-height:179px;position:relative;border-bottom:2px dashed #d9dce6}
.offer-ticket:before,.offer-ticket:after{content:"";position:absolute;width:16px;height:16px;background:white;border-radius:50%;bottom:-9px;z-index:1;border:1px solid #e5eaf3}
.offer-ticket:before{left:-9px}.offer-ticket:after{right:-9px}
.offer-ticket-meta{display:flex;justify-content:space-between;gap:10px;color:var(--offer-accent);font-size:10px;font-weight:900;letter-spacing:.06em}
.offer-ticket-meta span:last-child{font-weight:700;letter-spacing:0;border-radius:99px;border:1px solid currentColor;padding:1px 9px}
.offer-amount{margin:11px 0 4px;display:flex;gap:7px;align-items:baseline;color:var(--offer-ink)}
.offer-amount strong{font-size:45px;line-height:1.2;letter-spacing:-.04em;font-weight:900}
.offer-amount span{font-size:18px;font-weight:900;letter-spacing:.05em}
.offer-ticket-title{color:#27354b;font-size:15px;font-weight:800}
.offer-details{padding:18px 22px 22px}.offer-details p{font-size:12px;line-height:1.65;min-height:40px;margin:0 0 14px}
.offer-claim-btn{display:flex;width:100%;border:1px solid var(--offer-accent);background:var(--offer-accent);color:#fff;border-radius:10px;min-height:45px;justify-content:space-between;font-size:13px;padding:9px 17px}
.offer-claim-btn span{font-size:18px;line-height:1}
.offer-disclaimer{font-size:12px;line-height:1.9;color:#69758a;background:#f1f3f7;border:1px solid #e4e9f1;border-radius:12px;padding:15px 19px;margin-top:23px}
.registration-offer-note{border:1px solid #e8d5ac;border-left:4px solid #b28843;border-radius:12px;background:#fffbf1;padding:13px 16px;margin:12px 0 20px}
.registration-offer-note>span{display:block;font-size:11px;color:#986c20;font-weight:700;letter-spacing:.06em}
.registration-offer-note strong{display:block;font-size:16px;margin-top:3px;color:#46331f}
.registration-offer-note p{margin:7px 0 0;font-size:12px;line-height:1.6;color:#796a50}
@media(max-width:960px){.offer-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.offer-showcase{margin-top:29px}.offer-head{padding:22px 19px;margin-bottom:13px}.offer-head h2{font-size:22px}.offer-head-icon{display:none}.offer-count{font-size:10px;margin-top:4px}.offer-list{gap:11px;grid-template-columns:1fr}.offer-ticket{min-height:150px;padding:16px 20px}.offer-amount strong{font-size:40px}.offer-details{padding:14px 20px 18px}.offer-details p{min-height:0}.offer-claim-btn{min-height:48px}.offer-disclaimer{padding:13px;font-size:11px;margin-top:18px}}

/* 20-product Japanese coupon storefront */
.product-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}
.product-promo-card{min-width:0;background:white;border:1px solid #e6eaf1;border-radius:17px;overflow:hidden;box-shadow:0 8px 30px rgba(30,44,70,.045);display:flex;flex-direction:column}
.product-promo-image{display:block;position:relative;aspect-ratio:4/3;background:#edf1f8;overflow:hidden}
.product-promo-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.product-promo-card:hover img{transform:scale(1.035)}
.product-promo-placeholder{height:100%;display:grid;place-items:center;font-size:80px;color:#8c9fc1}
.product-discount-badge{position:absolute;top:12px;left:12px;padding:6px 10px;border-radius:8px;color:white;background:#b74545;font-size:12px;font-weight:900;box-shadow:0 3px 14px rgba(0,0,0,.16)}
.product-promo-info{display:flex;flex-direction:column;padding:14px 15px 15px;gap:8px;flex:1}
.product-promo-category{font-size:10px;color:#697992;font-weight:700}.product-promo-info h3{font-size:14px;line-height:1.4;min-height:38px;margin:0}.product-promo-info h3 a{color:#1e304f}
.product-promo-price{font-size:19px;font-weight:900;color:#1e314d}.product-promo-price small{font-size:10px;font-weight:500;color:#8290a3;margin-left:7px}
.product-offer-line{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:auto}.product-offer-line strong{font-size:11px;color:#a94b3c}.product-offer-line span{font-size:10px;font-weight:800;color:#a94b3c;background:#fff0ec;border-radius:6px;padding:4px 6px}
.product-promo-cta{width:100%;font-size:12px;min-height:43px;padding:10px 10px;display:flex;align-items:center;justify-content:space-between;margin-top:4px;gap:6px;line-height:1.3}
.detail-benefit{border:1px solid #ecd7ad;background:#fffbf3;border-radius:12px;padding:16px;margin:18px 0;display:flex;flex-direction:column;gap:5px}.detail-benefit span{font-size:11px;color:#947232;font-weight:700}.detail-benefit strong{font-size:16px;color:#2c344b}.detail-benefit b{font-size:22px;color:#a34437}.detail-benefit small{font-size:12px;color:#806f55}
.claim-panel{display:grid;grid-template-columns:270px 1fr;gap:30px;max-width:860px;margin:0 auto 65px}.claim-image img{width:100%;border-radius:15px}
.requested-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.request-tile{display:flex;align-items:center;justify-content:space-between;gap:13px;border:1px solid #e0e7f2;padding:15px;border-radius:12px;background:#fff}.request-tile strong{display:block}.request-tile small{display:block;font-size:12px;color:#6d7a8f;margin-top:4px}
@media(max-width:1100px){.product-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.product-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.claim-panel{grid-template-columns:1fr}.claim-image{max-width:330px}.requested-benefits{grid-template-columns:1fr}}
@media(max-width:470px){.product-catalog-grid{gap:9px}.product-promo-info{padding:11px;gap:6px}.product-promo-info h3{font-size:12px;min-height:35px}.product-promo-price{font-size:16px}.product-offer-line strong{font-size:10px}.product-promo-cta{font-size:11px;padding:9px 7px;min-height:46px}.product-discount-badge{font-size:10px;top:8px;left:8px;padding:5px 7px}.product-promo-price small{display:block;margin-left:0}.claim-panel{padding:16px}.request-tile{align-items:flex-start;flex-wrap:wrap}}

/* 4割商品企画：元画像を各商品に1枚ずつ等倍比率で表示する */
.campaign-section{margin-top:46px}.campaign-heading{overflow:hidden;border-radius:14px;background:#f7f0e3;border:1px solid #e4dccc;margin:0 0 20px}.campaign-title-image{display:block;width:100%;height:auto;object-fit:contain}.campaign-title-mobile{display:none}
.product-catalog-grid.campaign-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:0 0 20px}.campaign-card{background:#fff;border:1px solid #e8e4db;border-radius:12px;overflow:hidden;min-width:0;display:flex;flex-direction:column;box-shadow:0 5px 14px #2d324011}.campaign-card-image{position:relative;display:block;background:#f6f3ed;overflow:hidden}.campaign-card-image img{display:block;width:100%;height:auto;object-fit:contain}.campaign-card-image:hover img{filter:brightness(.99)}.campaign-empty-image{display:grid;place-items:center;aspect-ratio:270/242;color:#777}.campaign-discount-overlay{position:absolute;top:8px;left:8px;background:#dd1419;color:#fff;font-weight:900;padding:3px 8px;font-size:12px;border-radius:4px}.campaign-card-info{padding:9px;display:flex;flex-direction:column;gap:7px;flex:1}.campaign-card-name{margin:0;font-size:12px;line-height:1.45;min-height:36px;color:#242424;overflow-wrap:anywhere}.campaign-card-prices{display:flex;align-items:center;gap:6px;justify-content:space-between;flex-wrap:wrap}.campaign-original{color:#8b8b8b;text-decoration:line-through;font-size:12px}.campaign-current{color:#d20a10;font-size:20px;line-height:1.15;font-weight:900}.campaign-claim-btn{border-radius:8px!important;min-height:42px!important;display:flex;justify-content:center;gap:6px;align-items:center;padding:7px 4px!important;font-size:11px!important;white-space:normal;text-align:center;color:#fff!important;background:#d21b20!important;border:1px solid #cb161b!important;margin-top:auto}.campaign-claim-btn:hover{background:#aa1318!important}.campaign-grid-heading{margin:16px 0}.campaign-grid-heading h2{font-size:22px}.campaign-grid-heading .hint{font-size:12px}@media(max-width:1160px){.product-catalog-grid.campaign-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:860px){.product-catalog-grid.campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-current{font-size:18px}}@media(max-width:600px){.product-catalog-grid.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.campaign-card-info{padding:8px 7px}.campaign-card-name{font-size:11px;min-height:33px}.campaign-original{font-size:11px}.campaign-current{font-size:17px}.campaign-claim-btn{font-size:11px!important;min-height:44px!important}.campaign-title-image{display:none}.campaign-title-mobile{display:block;text-align:center;padding:17px 10px}.campaign-title-mobile span{color:#927855;font-size:10px;letter-spacing:.16em}.campaign-title-mobile h2{font-size:22px;line-height:1.4;margin:5px 0 0;font-family:serif}.campaign-title-mobile h2 b{color:#c1000b}.campaign-grid-heading h2{font-size:20px}.campaign-section{margin-top:28px}}

.selected-price-line{font-size:13px;margin:8px 0;color:#5a5a5a}.selected-price-line strong{color:#d31a22;font-size:18px}

/* Message history navigation */
.thread-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0}.thread-pagination a{text-decoration:none}.discounted-detail-price{display:block;color:#cf1423;font-size:.76em;margin-top:5px}


/* 2026-10 VIP conversion UX: readable Japanese account actions + direct support CTA. */
.site-front .account-menu-card > h2 { font-size:25px; margin-bottom:20px; }
.site-front .account-info-card .detail-list dt { font-size:15px; }
.site-front .account-info-card .detail-list dd { font-size:16px; }
.site-front .account-menu-card .menu-tile { min-height:59px; padding:16px 3px; font-size:16px; font-weight:700; }
.site-front .account-menu-card .menu-tile b { font-size:14px; color:#b50010; }
.member-important-actions { display:grid; gap:13px; margin:0 0 16px; }
.member-action { display:flex; align-items:center; gap:13px; min-width:0; padding:18px 16px; border:2px solid transparent; border-radius:17px; text-decoration:none; box-shadow:0 5px 17px rgba(40,30,17,.07); transition:transform .12s, box-shadow .12s; }
.member-action:hover { transform:translateY(-1px); box-shadow:0 9px 22px rgba(40,30,17,.13); opacity:1; }
.member-action:focus-visible, .vip-support-button:focus-visible { outline:3px solid #152c6e; outline-offset:4px; }
.member-action-checkin { background:linear-gradient(105deg,#f0fbf4,#fff); border-color:#b8e3ca; }
.member-action-vip { background:linear-gradient(105deg,#fff8e8,#fff1d2); border-color:#dfb75e; }
.member-action-icon { display:grid; place-items:center; flex:0 0 45px; height:45px; width:45px; border-radius:13px; background:#dcf6e6; color:#12643a; }
.member-action-vip .member-action-icon { background:#f7dfad; color:#966017; }
.member-action-icon .ui-icon { width:27px; height:27px; }
.member-action-content { display:flex; flex-direction:column; flex:1; min-width:0; line-height:1.45; }
.member-action-content strong { color:#16221e; font-size:20px; font-weight:850; }
.member-action-content small { color:#57645a; font-size:12px; line-height:1.55; margin-top:3px; }
.member-action-button { display:inline-flex; justify-content:center; align-items:center; text-align:center; padding:11px 14px; flex:0 0 auto; background:#187b51; border-radius:10px; color:#fff; font-size:14px; font-weight:850; line-height:1.4; }
.member-action-vip .member-action-button { background:linear-gradient(100deg,#d50716,#f23025); box-shadow:0 5px 13px #cb0c1833; }
.site-front .vip-page-heading h1 { font-size:clamp(30px,5vw,39px); }
.site-front .vip-page-heading p { font-size:16px; }
.site-front .vip-panel { max-width:800px; }
.site-front .vip-panel h2 { font-size:clamp(25px,4.5vw,32px); line-height:1.35; }
.site-front .vip-panel .vip-description { font-size:16px; line-height:1.95; color:#4b5464; }
.site-front .vip-panel .vip-status-notice { font-size:16px; line-height:1.8; }
.vip-review-status { background:#eaf2ff; border:1px solid #cadcf7; color:#204f8d; padding:17px 20px; border-radius:12px; font-weight:800; margin:22px auto; }
.vip-review-status small { font-size:13px; font-weight:500; }
.vip-contact-box { background:linear-gradient(125deg,#fff7e9,#fffdf8); border:2px solid #e7be70; border-radius:19px; padding:27px 25px; margin-top:23px; text-align:center; box-shadow:0 10px 20px #b58f4720; }
.vip-contact-tag { display:inline-block; font-size:13px; letter-spacing:.06em; font-weight:850; color:#8b530b; background:#ffe4ad; padding:5px 15px; border-radius:99px; margin-bottom:13px; }
.site-front .vip-panel .vip-contact-box h3 { font-size:clamp(21px,3vw,27px); color:#3c2819; margin:0 auto 11px; }
.site-front .vip-panel .vip-contact-box p { font-size:16px; line-height:1.85; color:#594938; margin:0 auto 22px; }
.site-front .vip-panel .vip-contact-box small { display:block; font-size:12px; line-height:1.8; color:#75654d; margin-top:16px; }
.site-front .vip-panel .vip-support-button { display:flex; width:100%; gap:10px; min-height:65px; border-radius:13px; padding:14px 16px; background:linear-gradient(100deg,#db0918,#f03b25); box-shadow:0 8px 16px #db0b1733; color:#fff; font-size:19px; font-weight:900; white-space:normal; }
.vip-support-button .ui-icon { width:25px; height:25px; flex-shrink:0; }
.vip-large-button { font-size:18px; min-height:60px; }
.vip-next-step { margin:23px auto 0; max-width:470px; display:flex; text-align:left; gap:12px; padding:15px 18px; background:#fff6df; border:1px solid #f0d79b; border-radius:12px; font-size:15px; line-height:1.7; color:#5b4a30; }
.vip-next-step-icon { color:#aa7d30; flex:0 0 24px; }
.vip-next-step-icon .ui-icon { width:24px; height:24px; }
.support-context-banner { display:flex; align-items:flex-start; gap:13px; max-width:820px; margin:0 auto 20px; padding:17px 20px; background:#fff6e5; border:1px solid #ead8b7; border-radius:15px; }
.support-context-icon { color:#b78523; flex:0 0 25px; }
.support-context-icon .ui-icon { width:25px; height:25px; }
.support-context-banner strong { font-size:18px; }
.support-context-banner p { font-size:14px; line-height:1.7; margin-top:3px; }
@media (max-width:760px) {
 .site-front .account-info-card .detail-list dt { font-size:14px; }
 .site-front .account-info-card .detail-list dd { font-size:15px; }
 .site-front .account-menu-card > h2 { font-size:23px; }
 .site-front .account-menu-card .menu-tile { font-size:16px; min-height:63px; }
 .member-action { gap:10px; padding:15px 11px; border-radius:14px; }
 .member-action-icon { flex-basis:37px; width:37px; height:37px; border-radius:10px; }
 .member-action-icon .ui-icon { width:23px; height:23px; }
 .member-action-content strong { font-size:17px; }
 .member-action-content small { font-size:11.5px; }
 .member-action-button { font-size:12px; padding:10px 10px; max-width:100px; }
 .site-front .vip-panel { padding:32px 18px; }
 .site-front .vip-panel .vip-description { font-size:15px; }
 .site-front .vip-panel .vip-contact-box h3 { font-size:22px; }
 .site-front .vip-panel .vip-contact-box p { font-size:15px; }
 .vip-contact-box { padding:24px 15px; }
 .site-front .vip-panel .vip-support-button { font-size:17px; min-height:60px; }
}
@media (max-width:360px) {
 .member-action { flex-wrap:wrap; }
 .member-action-content { flex-basis:calc(100% - 50px); }
 .member-action-button { flex-basis:100%; max-width:none; }
 .site-front .vip-panel .vip-support-button { font-size:15px; }
}
