:root{
  --header-bg:#e56886;
  --accent1:#c04562;
  --accent2:#f7b6d6;
  --base:#313165;
  --ink:#4a3b45;
  --paper:#fff9fb;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);line-height:1.8;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}

/* header */
.header-top{background:var(--header-bg);color:#fff;font-size:12px;padding:8px 20px;text-align:center;font-weight:700;letter-spacing:.05em;}
.header-main{background:#fff;padding:16px 24px;position:sticky;top:0;z-index:1000;box-shadow:0 4px 16px rgba(192,69,98,.12);}
.header-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;}
.logo{font-family:'Baloo 2',sans-serif;font-size:26px;font-weight:800;color:var(--accent1);}
.logo::before{content:'♡ ';color:var(--accent2);}
.header-right{display:flex;align-items:center;gap:22px;}
.nav-desktop{display:flex;gap:30px;}
.nav-desktop a{color:var(--base);font-size:14px;font-weight:700;background:#fff0f5;padding:10px 18px;border-radius:30px;transition:.25s;}
.nav-desktop a:hover{background:var(--accent2);color:#fff;}
.nav-desktop a.active{background:var(--accent1);color:#fff;}
.lang-toggle{display:flex;gap:8px;}
.lang-btn{width:34px;height:34px;border-radius:50%;background:var(--accent2);color:#fff;border:none;font-size:11px;font-weight:800;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:'Noto Sans JP',sans-serif;transition:.25s;}
.lang-btn:hover{opacity:.85;}
.lang-btn.active{background:var(--accent1);color:#fff;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.hamburger span{width:24px;height:3px;background:var(--accent1);border-radius:3px;transition:.25s;}
.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* mobile nav dropdown */
.mobile-nav{display:none;flex-direction:column;background:#fff;position:absolute;left:0;right:0;top:100%;box-shadow:0 10px 24px rgba(192,69,98,.15);z-index:999;}
.mobile-nav.active{display:flex;}
.mobile-nav a{color:var(--base);font-size:15px;font-weight:700;padding:16px 24px;border-bottom:1px solid #fff0f5;}
.mobile-nav a:last-child{border-bottom:none;}
.mobile-nav a:hover,.mobile-nav a.active{background:#fff0f5;color:var(--accent1);}

/* footer */
.footer{background:var(--header-bg);color:#fff;padding:60px 24px 24px;border-radius:60px 60px 0 0;}
.footer-inner{max-width:1160px;margin:0 auto;}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:40px;}
.footer-col h4{margin-bottom:14px;}
.footer-col p,.footer-col a{display:block;font-size:.85rem;color:#ffe3ec;margin-bottom:8px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.3);padding-top:18px;text-align:center;font-size:.78rem;}

@media (max-width:860px){
  .nav-desktop{display:none;}
  .hamburger{display:flex;}
  .footer-grid{grid-template-columns:1fr;}
}
@media (min-width:861px){
  .mobile-nav{display:none !important;}
}
