: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}}
