:root{
  --navy:#092858;
  --blue:#123d78;
  --red:#d92f2f;
  --gold:#c49a55;
  --ink:#14213d;
  --muted:#667085;
  --line:#e7ebf1;
  --soft:#f7f9fc;
  --cream:#faf6ef;
  --white:#fff;
  --shadow:0 18px 45px rgba(9,40,88,.10);
}
.rakugou-subpage-wrap *{box-sizing:border-box}
.rakugou-subpage-wrap{color:var(--ink);background:#fff;line-height:1.75}
.rakugou-subpage-wrap a,.rakugou-subpage-wrap a:hover,.rakugou-subpage-wrap a:focus{text-decoration:none;color:inherit}
.rakugou-subpage-wrap img{max-width:100%;display:block}
.rakugou-subpage-wrap .container{width:min(1180px,calc(100% - 48px));margin:auto;padding-left:24px;padding-right:24px}
.rakugou-subpage-wrap .site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(231,235,241,.86)}
.rakugou-subpage-wrap .site-header .container{width:min(1180px,calc(100% - 48px)) !important;max-width:1180px !important;margin:auto;padding-left:24px !important;padding-right:24px !important}
.rakugou-subpage-wrap .header-inner{height:96px;display:flex;align-items:center;gap:22px}
.rakugou-subpage-wrap .brand{display:flex;align-items:center;gap:14px;min-width:0;width:250px;flex:0 0 250px}
.rakugou-subpage-wrap .brand img{width:74px;height:74px;object-fit:cover;border-radius:14px;box-shadow:0 10px 22px rgba(9,40,88,.10);background:#fff;flex:0 0 74px}
.rakugou-subpage-wrap .brand-copy{display:flex;flex-direction:column;justify-content:center;line-height:1.2}
.rakugou-subpage-wrap .brand-copy .zip{font-size:11px;letter-spacing:.14em;color:#9a6d4f;text-transform:uppercase;margin-bottom:4px}
.rakugou-subpage-wrap .brand-copy strong{font-size:20px;color:#172033;white-space:nowrap}
.rakugou-subpage-wrap .site-nav{margin-left:auto;display:flex;align-items:center;justify-content:space-between;gap:0;width:440px;flex:0 0 440px;font-weight:700;font-size:15px}
.rakugou-subpage-wrap .site-nav a{position:relative;padding:28px 0}
.rakugou-subpage-wrap .site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:18px;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:.25s}
.rakugou-subpage-wrap .site-nav a:hover::after,.rakugou-subpage-wrap .site-nav a.active::after{transform:scaleX(1)}
.rakugou-subpage-wrap .header-contact{background:var(--red);color:#fff;padding:13px 22px;border-radius:6px;font-weight:700;box-shadow:0 10px 24px rgba(217,47,47,.24);width:124px;flex:0 0 124px;text-align:center}
.rakugou-subpage-wrap .header-contact:hover{background:#b92424;color:#fff}
.rakugou-subpage-wrap .menu-btn{display:none;margin-left:auto;background:none;border:0;font-size:26px;color:var(--navy)}
.rakugou-subpage-wrap .page-hero{background:linear-gradient(135deg,#f8fbff 0%,#eef4fb 55%,#faf1e8 100%);padding:72px 0 48px;border-bottom:1px solid var(--line)}
.rakugou-subpage-wrap .page-hero.compact{padding:56px 0 34px}
.rakugou-subpage-wrap .eyebrow{margin:0 0 10px;color:var(--red);font-weight:800;letter-spacing:.14em;font-size:13px}
.rakugou-subpage-wrap .page-title{font-family:Georgia,"Times New Roman","Hiragino Mincho ProN",serif;color:var(--navy);font-size:46px;line-height:1.2;margin:0 0 14px}
.rakugou-subpage-wrap .page-summary{margin:0;max-width:760px;color:#334155;font-size:17px}
.rakugou-subpage-wrap .page-main{padding:54px 0 80px;background:#fff}
.rakugou-subpage-wrap .content-card,.rakugou-subpage-wrap .list-card,.rakugou-subpage-wrap .contact-card,.rakugou-subpage-wrap .product-card-clean{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(9,40,88,.06)}
.rakugou-subpage-wrap .content-card{padding:34px}
.rakugou-subpage-wrap .article-content,.rakugou-subpage-wrap .rich-content{font-size:16px;color:#23395d}
.rakugou-subpage-wrap .article-content h1,.rakugou-subpage-wrap .article-content h2,.rakugou-subpage-wrap .article-content h3,.rakugou-subpage-wrap .rich-content h1,.rakugou-subpage-wrap .rich-content h2,.rakugou-subpage-wrap .rich-content h3{color:var(--navy);line-height:1.35}
.rakugou-subpage-wrap .article-content img,.rakugou-subpage-wrap .rich-content img{border-radius:10px;height:auto}
.rakugou-subpage-wrap .info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rakugou-subpage-wrap .contact-card{padding:24px}
.rakugou-subpage-wrap .contact-card small{display:block;color:var(--muted);font-weight:700;margin-bottom:8px}
.rakugou-subpage-wrap .contact-card strong,.rakugou-subpage-wrap .contact-card div{display:block;color:var(--ink);font-size:16px;line-height:1.7;word-break:break-word}
.rakugou-subpage-wrap .article-list,.rakugou-subpage-wrap .product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rakugou-subpage-wrap .list-card{padding:24px;display:block;min-width:0}
.rakugou-subpage-wrap .list-card time,.rakugou-subpage-wrap .meta-line{display:block;color:var(--muted);font-size:13px;font-weight:800;margin-bottom:10px}
.rakugou-subpage-wrap .list-card h3,.rakugou-subpage-wrap .product-card-clean h3{margin:0 0 10px;color:var(--navy);font-size:20px;line-height:1.45}
.rakugou-subpage-wrap .list-card p,.rakugou-subpage-wrap .product-card-clean p{margin:0;color:#475569;font-size:14px}
.rakugou-subpage-wrap .list-card .arrow{margin-top:14px;color:var(--navy);font-weight:800}
.rakugou-subpage-wrap .product-card-clean{overflow:hidden}
.rakugou-subpage-wrap .product-card-clean .thumb{aspect-ratio:1/1;background:#f4f6fa;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rakugou-subpage-wrap .product-card-clean .thumb img{width:100%;height:100%;object-fit:cover}
.rakugou-subpage-wrap .product-card-clean .body{padding:18px 18px 20px}
.rakugou-subpage-wrap .product-detail{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:32px;align-items:start}
.rakugou-subpage-wrap .product-gallery,.rakugou-subpage-wrap .product-info{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(9,40,88,.06)}
.rakugou-subpage-wrap .product-gallery{padding:16px}
.rakugou-subpage-wrap .product-gallery img{width:100%;border-radius:10px;object-fit:cover}
.rakugou-subpage-wrap .product-info{padding:28px}
.rakugou-subpage-wrap .product-info h1{margin:0 0 14px;color:var(--navy);font-size:34px;line-height:1.35}
.rakugou-subpage-wrap .meta-table{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;margin:18px 0 0}
.rakugou-subpage-wrap .meta-table dt{color:var(--muted);font-weight:700}
.rakugou-subpage-wrap .meta-table dd{margin:0;color:var(--ink)}
.rakugou-subpage-wrap .article-detail header{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.rakugou-subpage-wrap .article-detail h1{margin:0 0 12px;color:var(--navy);font-size:38px;line-height:1.3}
.rakugou-subpage-wrap .article-detail .meta-row{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:14px}
.rakugou-subpage-wrap .pager-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.rakugou-subpage-wrap .pager-links a,.rakugou-subpage-wrap .pager-links span{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:var(--navy);font-weight:700;min-height:78px}
.rakugou-subpage-wrap .pager-links span.disabled{color:#94a3b8}
/* footer uses homepage style.css on purpose; avoid fighting the working homepage rules */
@media(max-width:980px){
  .rakugou-subpage-wrap .header-contact{display:none}
  .rakugou-subpage-wrap .menu-btn{display:block}
  .rakugou-subpage-wrap .site-nav{position:fixed;left:0;right:0;top:82px;background:#fff;display:none;flex-direction:column;align-items:flex-start;gap:0;padding:18px 24px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .rakugou-subpage-wrap .site-nav.open{display:flex}
  .rakugou-subpage-wrap .site-nav a{padding:12px 0}
  .rakugou-subpage-wrap .site-nav a::after{bottom:7px}
  .rakugou-subpage-wrap .article-list,.rakugou-subpage-wrap .product-grid{grid-template-columns:1fr 1fr}
  .rakugou-subpage-wrap .product-detail,.rakugou-subpage-wrap .footer-grid,.rakugou-subpage-wrap .info-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .rakugou-subpage-wrap .container{width:min(100% - 28px,1180px);padding-left:14px;padding-right:14px}
  .rakugou-subpage-wrap .site-header .container{padding-left:14px !important;padding-right:14px !important}
  .rakugou-subpage-wrap .header-inner{height:auto;min-height:72px;gap:14px}
  .rakugou-subpage-wrap .brand img{width:58px;height:58px;border-radius:12px}
  .rakugou-subpage-wrap .brand-copy strong{font-size:16px}
  .rakugou-subpage-wrap .site-nav{top:72px}
  .rakugou-subpage-wrap .page-hero{padding:52px 0 30px}
  .rakugou-subpage-wrap .page-title{font-size:34px}
  .rakugou-subpage-wrap .page-summary{font-size:15px}
  .rakugou-subpage-wrap .content-card{padding:22px}
  .rakugou-subpage-wrap .article-list,.rakugou-subpage-wrap .product-grid,.rakugou-subpage-wrap .footer-grid,.rakugou-subpage-wrap .info-grid,.rakugou-subpage-wrap .pager-links{grid-template-columns:1fr}
  .rakugou-subpage-wrap .article-detail h1,.rakugou-subpage-wrap .product-info h1{font-size:28px}
 }

/* footer fixes based on live browser computed styles */
.rakugou-subpage-wrap .site-footer .container{width:min(1180px,calc(100% - 48px)) !important;max-width:1180px !important;margin:auto;padding-left:24px !important;padding-right:24px !important}
.rakugou-subpage-wrap .site-footer .footer-grid{display:grid !important;grid-template-columns:353px 289px 401px !important;gap:45px !important;align-items:start !important;text-align:left !important;justify-content:start !important}
.rakugou-subpage-wrap .site-footer .footer-grid > div:first-child{grid-column:1 !important;grid-row:1 !important;justify-self:start !important;align-self:start !important}
.rakugou-subpage-wrap .site-footer .footer-grid > nav.footer-nav{grid-column:2 !important;grid-row:1 !important;justify-self:start !important;align-self:start !important}
.rakugou-subpage-wrap .site-footer .footer-grid > address{grid-column:3 !important;grid-row:1 !important;justify-self:start !important;align-self:start !important}
.rakugou-subpage-wrap .site-footer .footer-brand{display:flex !important;align-items:center !important;gap:14px !important;margin-bottom:12px !important;text-align:left !important;width:230px !important;max-width:100% !important}
.rakugou-subpage-wrap .site-footer .footer-brand img{width:68px !important;height:68px !important;min-width:68px !important;max-width:68px !important;object-fit:cover !important;border-radius:12px !important;display:block !important;margin:0 !important;flex:0 0 68px !important}
.rakugou-subpage-wrap .site-footer .footer-brand-copy{display:block !important;text-align:left !important}
.rakugou-subpage-wrap .site-footer .footer-brand-copy .zip{display:block !important;margin-bottom:4px !important;font-size:11px !important;letter-spacing:.14em !important;color:#d2b28f !important;text-transform:uppercase !important}
.rakugou-subpage-wrap .site-footer .footer-brand-copy strong{display:block !important;font-size:18px !important;line-height:1.35 !important;white-space:nowrap !important;color:#fff !important}

.rakugou-subpage-wrap .site-footer .footer-grid > div p{margin:0 !important;color:#d9e4f5 !important;font-size:13px !important;line-height:2 !important}
.rakugou-subpage-wrap .site-footer .footer-nav{font-size:13px !important;line-height:1.75 !important}
.rakugou-subpage-wrap .site-footer address{font-size:13px !important;line-height:2 !important}

.rakugou-subpage-wrap .site-footer .footer-brand-copy strong,
.rakugou-subpage-wrap .site-footer .footer-grid > div p,
.rakugou-subpage-wrap .site-footer .footer-nav,
.rakugou-subpage-wrap .site-footer .footer-nav a,
.rakugou-subpage-wrap .site-footer address,
.rakugou-subpage-wrap .site-footer .copyright{letter-spacing:normal !important}

@media (max-width: 640px){
  .rakugou-subpage-wrap .container{width:min(100% - 28px,1180px) !important;padding-left:14px !important;padding-right:14px !important}
  .rakugou-subpage-wrap .site-header .container{width:min(100% - 28px,1180px) !important;max-width:none !important;margin:auto !important;padding-left:14px !important;padding-right:14px !important}
  .rakugou-subpage-wrap .header-inner{height:72px !important;min-height:72px !important;gap:22px !important;width:347px !important;max-width:100% !important;padding:0 14px !important}
  .rakugou-subpage-wrap .brand{gap:12px !important;min-width:0 !important;width:auto !important;flex:0 1 auto !important}
  .rakugou-subpage-wrap .brand img{width:58px !important;height:58px !important;border-radius:12px !important;box-shadow:0 8px 18px rgba(9,40,88,.10) !important;background:#fff !important;flex:0 0 58px !important}
  .rakugou-subpage-wrap .brand-copy{display:flex !important;flex-direction:column !important;line-height:1.15 !important}
  .rakugou-subpage-wrap .brand-copy .zip{font-size:11px !important;line-height:13.2px !important;letter-spacing:.14em !important;color:#9a6d4f !important;text-transform:uppercase !important;margin-bottom:2px !important}
  .rakugou-subpage-wrap .brand-copy strong{font-size:16px !important;line-height:19.2px !important;letter-spacing:normal !important;color:#172033 !important;white-space:nowrap !important}
  .rakugou-subpage-wrap .menu-btn{display:block !important;margin-left:auto !important;background:none !important;border:0 !important;font-size:26px !important;line-height:45.5px !important;color:var(--navy) !important;padding:1px 6px !important}
  .rakugou-subpage-wrap .header-contact{display:none !important}
  .rakugou-subpage-wrap .site-nav{position:fixed !important;left:0 !important;right:0 !important;top:72px !important;background:#fff !important;display:none !important;flex-direction:column !important;align-items:flex-start !important;gap:0 !important;padding:18px 24px !important;border-bottom:1px solid var(--line) !important;box-shadow:var(--shadow) !important;width:auto !important;height:auto !important;margin-left:0 !important;flex:none !important}
  .rakugou-subpage-wrap .site-nav.open{display:flex !important}
  .rakugou-subpage-wrap .site-nav a{padding:12px 0 !important}
  .rakugou-subpage-wrap .site-nav a::after{bottom:7px !important}
  .rakugou-subpage-wrap .site-footer .container{padding-left:14px !important;padding-right:14px !important}
  .rakugou-subpage-wrap .site-footer .footer-grid{display:block !important;grid-template-columns:none !important;width:347px !important;max-width:100% !important}
  .rakugou-subpage-wrap .site-footer .footer-grid > div,
  .rakugou-subpage-wrap .site-footer .footer-grid > address{grid-column:auto !important;grid-row:auto !important;display:block !important;width:auto !important;margin-bottom:22px !important}
  .rakugou-subpage-wrap .site-footer .footer-grid > nav.footer-nav{grid-column:auto !important;grid-row:auto !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px 24px !important;width:319px !important;max-width:100% !important;margin-bottom:22px !important}
  .rakugou-subpage-wrap .site-footer address{width:319px !important;max-width:100% !important}
  .rakugou-subpage-wrap .footer-brand{display:flex !important;align-items:center !important;gap:14px !important;margin-bottom:12px !important;width:230px !important;max-width:100% !important}
  .rakugou-subpage-wrap .footer-brand img{width:68px !important;height:68px !important;min-width:68px !important;max-width:68px !important;border-radius:12px !important;object-fit:cover !important}
  .rakugou-subpage-wrap .site-footer .footer-brand-copy .zip{display:block !important;font-size:11px !important;line-height:19.25px !important;letter-spacing:.14em !important;color:#d2b28f !important;text-transform:uppercase !important;margin-bottom:4px !important}
  .rakugou-subpage-wrap .site-footer .footer-brand-copy strong{display:block !important;font-size:18px !important;line-height:24.3px !important;letter-spacing:normal !important;color:#fff !important;white-space:nowrap !important}
  .rakugou-subpage-wrap .site-footer .footer-nav{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px 24px !important;font-size:13px !important;line-height:22.75px !important}
  .rakugou-subpage-wrap .site-footer address{font-size:13px !important;line-height:26px !important}
}

@media (max-width: 640px){
  .rakugou-subpage-wrap .header-inner,
  .rakugou-subpage-wrap .brand,
  .rakugou-subpage-wrap .site-nav,
  .rakugou-subpage-wrap .site-nav a,
  .rakugou-subpage-wrap .site-footer .footer-grid,
  .rakugou-subpage-wrap .site-footer .footer-grid > div,
  .rakugou-subpage-wrap .site-footer .footer-grid > nav,
  .rakugou-subpage-wrap .site-footer .footer-grid > address,
  .rakugou-subpage-wrap .site-footer .footer-brand,
  .rakugou-subpage-wrap .site-footer .footer-nav,
  .rakugou-subpage-wrap .site-footer .footer-nav a,
  .rakugou-subpage-wrap .site-footer address,
  .rakugou-subpage-wrap .site-footer .copyright{letter-spacing:normal !important}
}
