/* Mobile storefront – HTML/CSS recreation of the supplied Japanese shopping reference.
   Page assets, copy and coupon conditions remain editable and are not a rasterized webpage. */
body.site-front{--ink:#1e2026;--sub:#696b73;--line:#ece8e2;--bg:#faf8f4;--blue:#d80d15;--blue2:#a8000a;--gold:#bc8e49;--shadow:0 8px 28px rgba(83,61,39,.055);background:#faf8f4}
.site-front .container{max-width:1312px}
.site-front .ui-icon{display:block;width:1.35em;height:1.35em;flex-shrink:0}
.site-front .top{background:#fff;border-bottom:1px solid #eee9e2;z-index:80}
.site-front .navline{min-height:72px;gap:24px}
.site-front .brand{font-family:Arial,'Hiragino Sans',sans-serif;font-size:27px;font-weight:900;letter-spacing:-1.3px;gap:8px;color:#0d0d0e}
.site-front .brandword em{font-style:normal;color:#e31318}
.site-front .brandmark{background:linear-gradient(160deg,#fa1627,#cc000d);width:36px;height:39px;border-radius:8px;box-shadow:0 3px 10px #da081122;font-size:22px}
.site-front .brandmark .ui-icon{width:25px;height:25px;stroke-width:2.2}
.site-front .mainnav{display:flex;align-items:center;gap:24px;flex:1;border:0;margin:0;overflow:visible}
.site-front .mainnav a{border:0;color:#242424;font-size:13px;font-weight:700;padding:12px 3px;transition:color .15s}
.site-front .mainnav a:hover,.site-front .mainnav a.active{color:#d90914}
.site-front .nav-auth{gap:12px;flex-shrink:0}
.site-front .nav-auth a{white-space:nowrap}
.site-front .nav-auth .nav-search{display:grid;place-items:center;width:32px;height:36px;margin-right:6px;color:#141414}
.site-front .nav-auth .header-login{background:#dc0c17;color:white;border-radius:9px;padding:9px 18px;font-size:12px;font-weight:800}
.site-front .navlogin{background:#fff;border:1px solid #ef1224;border-radius:9px;color:#d81019;padding:8px 16px;font-size:12px;font-weight:800}
.site-front .site-main{padding-top:14px}
.site-front .mobile-bottom-nav{display:none}
.site-front .footer{color:#9b948a;background:#fff;border-top:1px solid #ede7df;text-align:center}
.site-front .btn-primary{background:#d80d15;color:white}
/* Promotional hero */
.campaign-hero{position:relative;display:grid;grid-template-columns:54% 46%;overflow:hidden;min-height:337px;border-radius:17px;background:radial-gradient(circle at 8% 19%,#fffdf8 10%,transparent 43%),linear-gradient(114deg,#fff5df 0%,#f8edd8 49%,#e7c895 100%);border:1px solid #f0e0c3;isolation:isolate;box-shadow:0 8px 34px #aa865f16}
.campaign-hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 86% 50%,#fff8d5aa 2%,transparent 40%),repeating-linear-gradient(90deg,transparent 0px,transparent 91px,#ffffff28 92px,#ffffff28 93px);pointer-events:none}
.campaign-hero-copy{position:relative;z-index:3;padding:40px 0 86px 8%;align-self:center}
.hero-premium-label{display:inline-block;font-size:11px;letter-spacing:.15em;font-weight:800;color:#8f703c;margin-bottom:12px}
.campaign-hero h1{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;font-weight:900;letter-spacing:-.055em;line-height:1.4;font-size:clamp(25px,3.1vw,41px);color:#141213;white-space:nowrap}
.campaign-hero h1 strong{color:#c70c12;font-weight:900;font-size:1.51em;letter-spacing:-.09em}
.campaign-hero-copy>p{color:#4c3e36;font-size:12px;line-height:1.7;margin-top:10px;font-weight:600}
.hero-view-products{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:white;background:#bd0611;border-radius:7px;padding:9px 19px;font-size:12px;font-weight:800;margin-top:16px}
.campaign-hero-products{position:relative;z-index:2;min-height:310px;overflow:hidden}
.hero-photo{position:absolute;display:grid;place-items:center;background:linear-gradient(#fffcf9,#f9f0e2);border:1px solid #f1e1cb;border-radius:13px;box-shadow:0 18px 29px #79562e30;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.hero-phone{left:1%;top:9%;width:36%;height:62%;transform:rotate(-9deg)}
.hero-headphones{left:37%;top:4%;width:38%;height:66%;transform:rotate(9deg)}
.hero-switch{left:26%;top:49%;width:37%;height:39%;transform:rotate(-4deg)}
.hero-watch{left:65%;top:44%;width:30%;height:45%;transform:rotate(9deg)}
.hero-sale-seal{position:absolute;top:8%;right:1.5%;height:91px;width:91px;display:flex;justify-content:center;align-items:center;border:5px double #ffdf8c;border-radius:50%;background:radial-gradient(circle at 30% 20%,#f53c36,#b50004);box-shadow:0 4px 9px #8d331c66;color:#fff7da;font-size:39px;font-weight:950;font-style:italic;line-height:1;text-shadow:0 2px 3px #8c0007}
.hero-sale-seal small{font-size:13px;line-height:1.13;text-align:left}
.campaign-benefit-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;gap:8px;background:linear-gradient(95deg,#ac000c,#ee1518,#a8000a);min-height:55px;color:#fff;font-size:13px;font-weight:800;z-index:4;padding:9px 14px}
.campaign-benefit-bar span{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.campaign-benefit-bar .ui-icon{width:19px;height:19px}
/* Catalogue */
.campaign-shop{margin:20px 0 45px}
.shop-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:8px 1px 12px}
.shop-eyebrow{color:#b79055;font-size:10px;font-weight:800;letter-spacing:.11em}
.shop-section-heading h2{font-size:22px;color:#272325;letter-spacing:-.03em;margin-top:2px}
.shop-count{font-size:10px;font-weight:800;background:#f1e9da;border-radius:25px;padding:5px 11px;color:#8c704a;white-space:nowrap}
.shop-filter-bar{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 1px 15px;white-space:nowrap;-webkit-overflow-scrolling:touch}
.shop-filter-bar::-webkit-scrollbar{display:none}
.shop-filter-chip{border:1px solid #ece7df;background:white;border-radius:24px;padding:9px 21px;color:#343438;font-weight:700;font-size:12px;flex-shrink:0;min-height:41px;transition:background .15s}
.shop-filter-chip.is-selected{background:linear-gradient(110deg,#ed1a23,#d60b14);color:white;border-color:#d60b14;box-shadow:0 3px 8px #da07121b}
.site-front .product-catalog-grid.campaign-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:0}
.site-front .campaign-card{background:white;border:1px solid #eae7e2;border-radius:13px;box-shadow:0 4px 14px #7f66551b;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.site-front .campaign-card-image{display:block;height:168px;background:linear-gradient(140deg,#fff 50%,#f8f6f3);position:relative;overflow:hidden}
.site-front .campaign-card-image img{position:absolute;right:2%;bottom:2%;width:77%;height:93%;object-fit:contain;mix-blend-mode:multiply;transform:none;transition:transform .2s}
.site-front .campaign-card:hover .campaign-card-image img{transform:scale(1.035)}
.site-front .promo-rank{position:absolute;top:8px;left:7px;z-index:2;border-radius:4px;padding:1px 7px;background:linear-gradient(#fcebbd,#d9b46b);color:#372b1d;font-size:13px;line-height:1.4;font-weight:900;box-shadow:0 1px 4px #886b473b}
.site-front .promo-sale-badge{position:absolute;top:9px;left:32px;z-index:2;background:linear-gradient(140deg,#ff1820,#e6000c 70%);color:#fff;font-size:20px;font-weight:950;line-height:1;text-align:center;padding:5px 5px 0;min-width:55px;border-radius:4px 4px 1px 1px;transform:skew(-7deg);box-shadow:0 3px 7px #ca071c29}
.site-front .promo-sale-badge small{font-size:11px;display:block;margin:3px 0 4px}
.site-front .promo-sale-badge em{display:block;white-space:nowrap;transform:skew(7deg);margin:0 -4px -16px;background:#dc0411;padding:3px 2px;font-style:normal;font-size:8px;font-weight:900;border-radius:3px}
.site-front .campaign-card-info{padding:10px 11px 11px;display:flex;flex:1;flex-direction:column;gap:8px}
.site-front .campaign-card-name{font-size:12px;line-height:1.38;letter-spacing:-.02em;color:#171717;min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.site-front .campaign-card-prices{display:flex;align-items:baseline;gap:4px;justify-content:space-between;flex-wrap:nowrap;min-width:0;margin-top:auto}
.site-front .campaign-original{color:#555;font-size:11px;white-space:nowrap;letter-spacing:-.045em;flex-shrink:1}
.site-front .campaign-current{font-size:20px;color:#e0000b;font-weight:950;white-space:nowrap;letter-spacing:-.05em}
.site-front .campaign-price-arrow{color:#d80d15;font-size:24px;line-height:1}
.site-front .campaign-claim-btn{min-height:39px!important;border-radius:7px!important;width:100%;background:linear-gradient(#f4141e,#d9000b)!important;border:0!important;color:white!important;font-size:11px!important;padding:7px 3px!important;gap:5px!important;box-shadow:0 2px 0 #ff90931e}
.site-front .campaign-claim-btn span{font-size:20px;line-height:14px}
.site-front .offer-disclaimer{background:#fff7ec;border-color:#f0e5d1;color:#745f4b;font-size:11px;margin-top:17px;padding:14px 17px}
.shop-empty{background:white;border:1px solid #eee;border-radius:8px;padding:25px;text-align:center;color:#777}
.shop-empty[hidden],.campaign-card[hidden]{display:none!important}
/* Remaining existing membership screens */
.site-front .service-title{margin-top:26px}
.site-front .cta-grid{margin-top:12px}
.site-front .cta-card .cta-symbol{right:18px;top:17px;width:110px;height:110px;display:flex;justify-content:end;align-items:start;color:#15735224}
.site-front .cta-card .cta-symbol .ui-icon{width:90px;height:90px}
.site-front .cta-card.vip .cta-symbol{color:#bd812328}
.site-front .company-preview{margin:25px 0 58px}
/* Responsive desktop / tablet */
@media(max-width:1140px){.site-front .mainnav{gap:11px}.site-front .mainnav a{font-size:11px}.site-front .brand{font-size:24px}.site-front .product-catalog-grid.campaign-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.site-front .campaign-current{font-size:19px}}
@media(max-width:900px){.site-front .mainnav{display:none}.site-front .campaign-benefit-bar{font-size:11px}.site-front .product-catalog-grid.campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 body.site-front{font-size:13px;padding-bottom:calc(74px + env(safe-area-inset-bottom))}
 .site-front .top{position:sticky;top:0;box-shadow:0 3px 10px #5d463b0c}
 .site-front .site-main{padding:0 12px;max-width:580px}
 .site-front .navline{padding:0 13px;min-height:64px;gap:8px}
 .site-front .brand{font-size:clamp(19px,5vw,25px);letter-spacing:-1.2px;gap:6px}
 .site-front .brandmark{width:28px;height:32px;border-radius:7px}
 .site-front .brandmark .ui-icon{width:21px;height:21px}
 .site-front .nav-auth{gap:7px}
 .site-front .nav-auth .nav-search{width:29px;height:33px;margin-right:0}
 .site-front .nav-auth .nav-search .ui-icon{width:20px;height:20px}
 .site-front .nav-auth .header-login{padding:8px 10px;border-radius:9px;font-size:10.5px}
 .site-front .navlogin{padding:7px 9px;font-size:10.5px;border-radius:9px}
 .site-front .nav-auth .welcome,.site-front .nav-auth form{display:none}
 .site-front .campaign-hero{border:0;border-radius:0;min-height:254px;grid-template-columns:58% 42%;margin:0 -12px}
 .site-front .campaign-hero-copy{padding:21px 0 64px 15px;align-self:start}
 .hero-premium-label{font-size:8px;letter-spacing:0;margin-bottom:5px}
 .campaign-hero h1{font-size:clamp(14px,4.0vw,20px);line-height:1.42;letter-spacing:-.07em}
 .campaign-hero h1 strong{font-size:2.16em}
 .campaign-hero-copy>p{font-size:9px;line-height:1.55;margin:5px 0 0;max-width:220px}
 .hero-view-products{font-size:10px;margin-top:7px;padding:7px 11px}
 .campaign-hero-products{min-height:201px;margin-left:-12px}
 .hero-phone{left:2%;top:21%;width:48%;height:49%}
 .hero-headphones{left:47%;top:23%;width:50%;height:51%}
 .hero-switch{left:8%;top:63%;width:55%;height:34%}
 .hero-watch{left:54%;top:66%;width:40%;height:32%}
 .hero-photo{border-radius:8px;box-shadow:0 6px 16px #704c2430}
 .hero-sale-seal{height:60px;width:60px;border-width:3px;top:4%;right:2%;font-size:26px}
 .hero-sale-seal small{font-size:9px}
 .campaign-benefit-bar{min-height:39px;padding:7px 3px;gap:2px;font-size:9px}
 .campaign-benefit-bar span{gap:3px}
 .campaign-benefit-bar .ui-icon{height:14px;width:14px}
 .campaign-shop{margin:15px 0 30px}
 .shop-section-heading{padding:0 1px;margin:0 0 9px}
 .shop-eyebrow{font-size:9px}
 .shop-section-heading h2{font-size:16px;margin-top:1px}
 .shop-count{font-size:9px;padding:4px 8px}
 .shop-filter-bar{margin:0 -2px;padding:2px 1px 13px;gap:7px}
 .shop-filter-chip{padding:8px 15px;font-size:11px;min-height:36px}
 .site-front .product-catalog-grid.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .site-front .campaign-card{border-radius:12px}
 .site-front .campaign-card-image{height:clamp(116px,34vw,175px)}
 .site-front .campaign-card-image img{height:90%;width:78%;bottom:1%;right:0}
 .site-front .promo-rank{font-size:11px;top:8px;left:7px;padding:1px 5px}
 .site-front .promo-sale-badge{font-size:17px;min-width:47px;left:28px;top:9px;padding:4px 3px 0}
 .site-front .promo-sale-badge small{font-size:9px;margin:2px 0 3px}
 .site-front .promo-sale-badge em{font-size:7px;margin-bottom:-13px}
 .site-front .campaign-card-info{padding:8px;gap:7px}
 .site-front .campaign-card-name{font-size:11px;min-height:2.8em}
 .site-front .campaign-original{font-size:10px}
 .site-front .campaign-current{font-size:clamp(16px,4.2vw,21px)}
 .site-front .campaign-price-arrow{font-size:17px}
 .site-front .campaign-claim-btn{min-height:38px!important;font-size:10px!important}
 .site-front .offer-disclaimer{margin-top:12px;font-size:10px;line-height:1.7;padding:12px}
 .site-front .service-title{margin-top:14px}
 .site-front .cta-grid{gap:10px}
 .site-front .cta-card{min-height:192px;padding:19px}
 .site-front .cta-card h2{font-size:21px}
 .site-front .cta-card .cta-symbol .ui-icon{height:65px;width:65px}
 .site-front .company-preview{margin-bottom:36px}
 .site-front .mobile-bottom-nav{position:fixed;z-index:100;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffcfa;border-top:1px solid #eae2dc;box-shadow:0 -4px 16px #33281e17;min-height:67px;padding:7px max(4px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))}
 .site-front .mobile-bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#606473;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap}
 .site-front .mobile-bottom-nav .ui-icon{width:24px;height:24px}
 .site-front .mobile-bottom-nav a.is-active{color:#e50918}
 .site-front .footer{margin-top:14px;padding:20px 0}
}
@media(max-width:365px){
 .site-front .brand{font-size:19px}
 .site-front .nav-auth .header-login,.site-front .navlogin{font-size:9.5px;padding:8px 7px}
 .campaign-benefit-bar{font-size:8px}
 .campaign-benefit-bar .ui-icon{width:12px;height:12px}
 .site-front .campaign-hero{min-height:235px}
 .site-front .campaign-card-prices{gap:2px}
 .site-front .campaign-original{font-size:9px}
 .site-front .campaign-current{font-size:16px}
 .site-front .campaign-price-arrow{font-size:14px}
}

/* Admin-customized promotional titles wrap safely on mobile */
.site-front .campaign-hero h1{white-space:normal;overflow-wrap:anywhere}

/* LINE contact + floating onsite chat: all elements stay editable HTML/CSS. */
.site-front .header-line-btn{
 display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;
 min-height:39px;padding:6px 13px;border:1px solid #05ab47;border-radius:11px;
 background:linear-gradient(130deg,#0bdf69,#06bf53);color:#fff;
 font-size:13px;font-weight:900;letter-spacing:.02em;white-space:nowrap;
 box-shadow:0 4px 12px rgba(5,186,77,.22);transition:filter .15s,transform .15s;
}
.site-front .header-line-btn:not(.line-not-set):hover{filter:brightness(1.04);transform:translateY(-1px);opacity:1}
.site-front .line-emblem{display:grid;place-items:center;color:#07ba51;background:#fff;border-radius:7px;font-family:Arial,sans-serif;font-weight:1000;letter-spacing:-.08em;font-size:8.5px;width:32px;height:23px;position:relative}
.site-front .line-emblem:after{content:"";position:absolute;left:6px;bottom:-4px;border-style:solid;border-width:5px 5px 0 0;border-color:#fff transparent transparent transparent}
.site-front .header-line-btn.line-not-set{background:#8cbca2;border-color:#8cbca2;box-shadow:none;cursor:not-allowed;opacity:.85}
.site-front .floating-support{position:fixed;z-index:111;right:23px;bottom:24px;display:flex;align-items:center;gap:9px;background:linear-gradient(140deg,#ed1e30,#d40817);color:#fff;min-height:53px;padding:7px 15px 7px 9px;border:2px solid #fff;border-radius:99px;box-shadow:0 8px 25px rgba(187,0,20,.32);font-size:13px;font-weight:800;white-space:nowrap}
.site-front .floating-support:hover{opacity:1;filter:brightness(1.05)}
.site-front .floating-support-icon{height:37px;width:37px;background:#fff2f2;color:#db101d;border-radius:50%;display:grid;place-items:center;font-size:21px}
.site-front .floating-support-icon .ui-icon{width:22px;height:22px}
.site-front .floating-support-label{letter-spacing:.01em}
.site-front .guest-support-page{max-width:850px;margin-inline:auto}
.site-front .guest-support-head{display:flex;align-items:center;gap:15px;padding-bottom:18px;border-bottom:1px solid #ebedf0}
.site-front .guest-support-head h2{font-size:21px;margin-bottom:4px}
.site-front .guest-support-head p{font-size:13px}
.site-front .guest-support-round{display:grid;place-items:center;width:53px;height:53px;border-radius:15px;flex:0 0 53px;background:#fce5e7;color:#d80e1e;font-size:26px}
.site-front .guest-chat-thread{min-height:135px}
.site-front .guest-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:15px}
.site-front .guest-contact-grid input{display:block;width:100%;min-width:0;border:1px solid #d6dfeb;border-radius:10px;padding:11px 12px;margin-top:5px;font-size:14px}
.site-front .guest-chat-note{font-size:12px;color:#6b7280;line-height:1.6;margin:7px 0}
.site-front .website-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);left:-9999px}
@media (max-width:900px){
 .site-front .navline{gap:12px}
}
@media (max-width:760px){
 .site-front .navline{gap:5px;padding:0 9px;min-width:0}
 .site-front .brand{font-size:clamp(16px,4.4vw,22px);gap:5px;letter-spacing:-1px}
 .site-front .brandmark{width:26px;height:29px}
 .site-front .brandmark .ui-icon{width:19px;height:19px}
 .site-front .header-line-btn{min-height:35px;padding:6px 9px;border-radius:9px;margin-left:auto}
 .site-front .line-btn-copy{display:none}
 .site-front .nav-auth{gap:5px}
 .site-front .nav-auth .nav-search{display:none}
 .site-front .nav-auth .header-login{padding:7px 9px;font-size:10px}
 .site-front .navlogin{padding:7px 8px;font-size:10px}
 .site-front .floating-support{right:13px;bottom:calc(81px + env(safe-area-inset-bottom));min-height:49px;padding:6px 11px 6px 7px;font-size:12px}
 .site-front .floating-support-icon{width:34px;height:34px}
 .site-front .guest-contact-grid{grid-template-columns:1fr}
 .site-front .guest-support-head h2{font-size:18px}
}
@media(max-width:370px){
 .site-front .navline{padding:0 7px;gap:4px}
 .site-front .brand{font-size:16px;letter-spacing:-.7px}
 .site-front .brandmark{width:24px;height:28px}
 .site-front .header-line-btn{padding:5px 7px;min-height:31px}
 .site-front .line-emblem{width:28px;height:22px;font-size:8px}
 .site-front .nav-auth .header-login,.site-front .navlogin{font-size:9px;padding:7px 6px}
 .site-front .floating-support{right:9px}
}


/* 2026-10 prominent LINE action: dedicated wide mobile row, visible text on every screen size. */
.site-front .header-line-btn{
  position:relative;isolation:isolate;min-height:49px;padding:8px 14px;gap:10px;
  border:2px solid #00a945;border-radius:14px;
  background:linear-gradient(120deg,#09bd53 0%,#06c755 50%,#00ae47 100%);
  box-shadow:0 5px 0 rgba(0,116,45,.17),0 10px 20px rgba(1,155,58,.22);
  color:#fff;line-height:1.2;text-decoration:none;
}
.site-front .line-emblem{width:39px;height:28px;font-size:10px;flex-shrink:0;border-radius:8px;letter-spacing:-.06em}
.site-front .line-btn-copy{display:flex!important;min-width:0;flex-direction:column;justify-content:center;gap:1px;text-align:left;line-height:1.18}
.site-front .line-btn-copy strong{font-size:14px;font-weight:950;white-space:nowrap}
.site-front .line-btn-copy small{font-size:9.5px;font-weight:650;color:rgba(255,255,255,.92);white-space:nowrap}
.site-front .line-btn-arrow{font-size:21px;line-height:1;font-weight:900;margin-left:1px}
.site-front .header-line-btn:focus-visible{outline:3px solid #094b2a;outline-offset:3px}
.site-front .header-line-btn.line-not-set{border-color:#7bafa0;background:#93ada2;box-shadow:none;opacity:1;cursor:not-allowed}
.site-front .line-not-set .line-emblem{color:#66857a}
@media(max-width:760px){
  /* LINE occupies its own clear, prominent center row, so Login/Registration remain legible. */
  .site-front .navline{
    display:grid;grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;column-gap:8px;row-gap:8px;
    padding:8px 12px 11px;min-height:0;align-items:center;
  }
  .site-front .mainnav{display:none}
  .site-front .brand{grid-column:1;grid-row:1;min-width:0;white-space:nowrap;margin:0;font-size:clamp(17px,4.7vw,22px)}
  .site-front .nav-auth{grid-column:2;grid-row:1;gap:5px;justify-self:end}
  .site-front .header-line-btn{
    grid-column:1/-1;grid-row:2;min-height:49px;width:100%;margin:0;
    padding:8px 14px;justify-content:center;gap:12px;border-radius:13px;
  }
  .site-front .line-btn-copy strong{font-size:16px;letter-spacing:.02em}
  .site-front .line-btn-copy small{font-size:10px}
  .site-front .line-btn-arrow{position:absolute;right:17px;top:50%;transform:translateY(-50%)}
  .site-front .line-emblem{width:40px;height:28px;font-size:10px}
}
@media(max-width:370px){
  .site-front .navline{padding:8px 9px 10px;column-gap:5px;row-gap:7px}
  .site-front .brand{font-size:17px}
  .site-front .nav-auth .header-login,.site-front .navlogin{font-size:10px;padding:7px 7px}
  .site-front .header-line-btn{min-height:47px;padding:7px 12px}
  .site-front .line-btn-copy strong{font-size:15px}
  .site-front .line-btn-arrow{right:13px}
}
@media(min-width:761px) and (max-width:1150px){
  .site-front .mainnav{gap:8px}
  .site-front .navline{gap:11px}
  .site-front .header-line-btn{padding:7px 10px}
  .site-front .nav-auth{gap:7px}
}
@media(prefers-reduced-motion:reduce){.site-front .header-line-btn{transition:none}}


/* Kokoromall: premium, database-backed member identity card (2026-10-22). */
.site-front .account-info-premium {
  padding:22px;
  overflow:hidden;
  border-radius:22px;
  border:1px solid #e9e1d3;
  background:#fff;
  box-shadow:0 16px 42px rgba(62,41,21,.09);
}
.site-front .member-card-heading {display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 18px}
.site-front .member-card-heading h2 {font-size:24px;font-weight:900;line-height:1.3;color:#262b31}
.site-front .member-card-heading-sub {color:#a58a63;font-weight:750;font-size:10px;letter-spacing:.12em;white-space:nowrap}
.site-front .member-identity-card {
  position:relative;isolation:isolate;overflow:hidden;
  min-height:220px;border-radius:18px;color:#fff;
  padding:22px 24px;
  background:radial-gradient(circle at 105% -5%,rgba(208,185,137,.25) 0,transparent 35%),linear-gradient(132deg,#293344 0%,#151f2e 55%,#0e1523 100%);
  border:1px solid rgba(230,215,183,.32);
  box-shadow:0 17px 32px rgba(11,19,33,.18),inset 0 1px rgba(255,255,255,.18);
  display:flex;flex-direction:column;justify-content:space-between;
}
.site-front .member-identity-card::before {
  content:"";position:absolute;z-index:-1;width:240px;height:240px;right:-84px;top:-92px;
  border:1px solid rgba(233,206,156,.17);border-radius:50%;
  box-shadow:0 0 0 29px rgba(225,195,144,.035),0 0 0 65px rgba(225,195,144,.025);
}
.site-front .member-identity-card::after {
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.04) 46%,transparent 65%);
}
.site-front .member-identity-card.identity-regular {background:radial-gradient(circle at 115% -10%,rgba(207,218,231,.2),transparent 43%),linear-gradient(132deg,#3a495f,#232d40 58%,#192233);border-color:rgba(190,205,226,.45)}
.site-front .identity-top {display:flex;align-items:center;justify-content:space-between;gap:10px}
.site-front .identity-brand {display:flex;align-items:center;gap:10px;min-width:0}
.site-front .identity-brand-icon {width:35px;height:35px;border:1px solid #dcb878;color:#f2dcae;border-radius:11px;display:grid;place-items:center;font:800 20px Georgia,serif;background:rgba(220,184,120,.12);flex-shrink:0}
.site-front .identity-brand-text {display:flex;flex-direction:column;gap:2px;min-width:0}
.site-front .identity-brand-text strong {font-size:18px;font-weight:950;letter-spacing:-.5px;line-height:1.2;white-space:nowrap}
.site-front .identity-brand-text em {font-style:normal;color:#f0d395}
.site-front .identity-brand-text small {font-size:9px;letter-spacing:.18em;color:#cec4b6;font-weight:750}
.site-front .identity-tier {display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;padding:7px 11px;font-size:12px;font-weight:850;white-space:nowrap;border-radius:99px;color:#4d3411;background:linear-gradient(118deg,#fbebc7,#d9b36d);box-shadow:0 3px 15px rgba(0,0,0,.12)}
.site-front .identity-regular .identity-tier {background:linear-gradient(118deg,#f7f9fd,#cad4e5);color:#33455d}
.site-front .identity-mid {padding:20px 0 18px;display:flex;flex-direction:column;gap:1px}
.site-front .identity-label {font-size:10px;letter-spacing:.16em;color:rgba(255,255,255,.65);font-weight:750}
.site-front .identity-number {font-variant-numeric:tabular-nums;font-size:clamp(32px,4vw,43px);line-height:1.15;letter-spacing:.07em;font-weight:780;color:#f7dfac;text-shadow:0 2px 15px rgba(0,0,0,.22)}
.site-front .identity-regular .identity-number {color:#e8eef8}
.site-front .identity-bottom {display:flex;align-items:flex-end;justify-content:space-between;gap:15px;min-width:0}
.site-front .identity-bottom > div {min-width:0;display:flex;flex-direction:column;gap:2px}
.site-front .identity-bottom strong {font-size:15px;font-weight:800;color:#fff;line-height:1.45;overflow-wrap:anywhere}
.site-front .identity-bottom .identity-join strong {font-size:12px;font-weight:700;text-align:right;white-space:nowrap}
.site-front .identity-bottom .identity-join .identity-label {text-align:right}
.site-front .premium-member-details {margin:15px 2px 0}
.site-front .premium-member-details div {min-height:49px;padding:11px 4px;align-items:center;border-color:#eee8df}
.site-front .premium-member-details div:last-child {border-bottom:0}
.site-front .account-info-premium .premium-member-details dt {font-size:14px;color:#767573;font-weight:550}
.site-front .account-info-premium .premium-member-details dd {font-size:15px;color:#2b3037;font-weight:790;max-width:70%}
.site-front .account-info-premium .premium-member-details dd.premium-member-no {color:#9d7330;font-size:18px;letter-spacing:.02em}
@media(max-width:760px){
 .site-front .account-info-premium {padding:16px;border-radius:18px}
 .site-front .member-card-heading {margin-bottom:13px}
 .site-front .member-card-heading h2 {font-size:22px}
 .site-front .member-identity-card {min-height:210px;padding:18px;border-radius:16px}
 .site-front .identity-brand-text strong {font-size:17px}
 .site-front .identity-brand-text small {font-size:8px}
 .site-front .identity-tier {font-size:11px;padding:6px 9px}
 .site-front .identity-number {font-size:36px}
 .site-front .account-info-premium .premium-member-details dt {font-size:14px}
 .site-front .account-info-premium .premium-member-details dd {font-size:15px}
}
@media(max-width:360px){
 .site-front .account-info-premium {padding:12px}
 .site-front .member-identity-card {padding:15px;min-height:196px}
 .site-front .identity-brand-icon {height:30px;width:30px;font-size:18px}
 .site-front .identity-brand-text strong {font-size:15px}
 .site-front .identity-brand-text small {font-size:7px}
 .site-front .identity-tier {font-size:10px;padding:6px}
 .site-front .identity-number {font-size:32px}
 .site-front .identity-bottom strong {font-size:13px}
 .site-front .identity-bottom .identity-join strong {font-size:10px}
}
