*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#202823;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.9}
a{color:inherit;text-decoration:none}
.content{width:min(1100px,calc(100% - 48px));margin:auto}

/* Header */
.site-header{position:relative;z-index:1000;height:86px;background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}
.header-inner{width:min(1100px,calc(100% - 48px));height:86px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{display:block;flex:0 0 auto;line-height:1}
.logo strong{display:block;font:400 29px/1 Georgia,"Times New Roman",serif;letter-spacing:.03em}
.logo small{display:block;margin-top:5px;font:7px/1.2 Arial,sans-serif;letter-spacing:.11em;color:#68736e;text-transform:uppercase}
.desktop-nav{display:flex;align-items:center;gap:22px;font-size:13px;white-space:nowrap}
.desktop-nav>a:not(.shop-button){padding:10px 0}
.shop-button{margin-left:4px;padding:10px 17px;border:1px solid #ccd4cf;border-radius:999px}
.hamburger,.mobile-nav{display:none}

/* Generic lower-page styles */
.page-hero{padding:100px 0 78px;background:#faf8f2;border-bottom:1px solid #dfe4e0}
.eyebrow{font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.14em;color:#6e7f76;font-size:14px}
.page-hero h1{margin:12px 0 14px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(2.5rem,6vw,5.2rem);font-weight:500;line-height:1.25;letter-spacing:.06em}
.page-hero p{max-width:700px;color:#68736e}
.section{padding:86px 0}
.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.intro h2,.section-title{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.5;margin:0}
.soft{background:#f4f5f1}
.company-table{margin-top:30px;border-top:1px solid #bdc7c1}
.row{display:grid;grid-template-columns:210px 1fr;padding:22px 8px;border-bottom:1px solid #cfd6d2}
.row dt{font-weight:600}.row dd{margin:0}
.business-list{margin:0;padding-left:1.3em}
.policy{max-width:900px}
.policy h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.45rem;font-weight:500;margin:50px 0 10px}
.policy p,.policy li{color:#4f5a54}
.contact{padding:75px 0;background:#284b3d;color:#fff;text-align:center}
.contact h2{font:400 42px/1.3 Georgia,serif;margin:5px 0}
.contact-button{display:inline-block;margin-top:15px;padding:11px 25px;border:1px solid rgba(255,255,255,.65);border-radius:999px}
.site-footer{padding:46px 0;background:#18221e;color:#dfe6e2}
.footer-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;flex-wrap:wrap}
.footer-logo{font:400 27px/1 Georgia,serif}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}
.copyright{width:100%;font-size:11px;color:#9eaaa4}

/* Mobile: hamburger is intentionally explicit so it cannot disappear. */
@media (max-width:760px){
  .content{width:calc(100% - 32px)}
  .site-header,.header-inner{height:70px}
  .header-inner{width:calc(100% - 28px)}
  .logo strong{font-size:25px}.logo small{font-size:6px}
  .desktop-nav{display:none!important}
  .hamburger{
    display:flex!important;flex-direction:column;justify-content:center;align-items:center;
    width:46px;height:46px;margin:0;padding:0;border:0;background:transparent;
    appearance:none;-webkit-appearance:none;cursor:pointer;position:relative;z-index:1002
  }
  .hamburger span{display:block!important;width:25px;height:2px;background:#202823;margin:3.5px 0;transition:.25s}
  .hamburger.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .hamburger.is-open span:nth-child(2){opacity:0}
  .hamburger.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
  .mobile-nav{
    display:block!important;position:absolute;top:70px;left:0;right:0;
    background:#fff;border-top:1px solid #e5e9e6;box-shadow:0 12px 24px rgba(0,0,0,.08);
    max-height:0;overflow:hidden;opacity:0;visibility:hidden;
    transition:max-height .32s ease,opacity .22s ease,visibility .22s ease
  }
  .mobile-nav.is-open{max-height:500px;opacity:1;visibility:visible}
  .mobile-nav nav{width:calc(100% - 32px);margin:auto;padding:10px 0 24px}
  .mobile-nav a{display:block;padding:14px 3px;border-bottom:1px solid #edf0ee;font-size:14px}
  .mobile-nav .mobile-shop{margin-top:17px;padding:12px 17px;text-align:center;border:1px solid #ccd4cf;border-radius:999px}
  .page-hero{padding:66px 0 54px}
  .section{padding:60px 0}.intro{grid-template-columns:1fr;gap:25px}
  .row{grid-template-columns:1fr;gap:5px;padding:17px 3px}
}