@charset "UTF-8";
/* 既存のPCヘッダーを維持し、スマートフォン専用メニューだけを変更 */
@media (min-width:751px) { .mobile-menu {display:none !important;} }
@media (max-width:750px) {
  body.mobile-menu-open {overflow:hidden !important;}
  header.c-hamburger-menu {z-index:2000 !important;}
  .c-hamburger-menu__button {position:relative; z-index:2010 !important; cursor:pointer;}
  .c-hamburger-menu__bg {z-index:1998 !important;}
  .c-hamburger-menu__list.mobile-menu {
    position:fixed !important; inset:0 !important; top:0 !important; left:0 !important;
    width:100vw !important; max-width:none !important; height:100dvh !important;
    min-height:100vh; box-sizing:border-box !important; margin:0 !important;
    padding:0 !important; border:0 !important; border-radius:0 !important;
    background:linear-gradient(145deg,#fff9f2 0%,#fffdf9 48%,#e7f6ed 100%) !important;
    z-index:2002 !important; overflow-y:auto !important; overscroll-behavior:contain;
    opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
    transform:translateX(22px) !important; transition:opacity .3s ease,transform .35s ease,visibility .3s !important;
    display:block !important; text-align:left !important;
  }
  #hamburger:checked ~ .mobile-menu,
  body.mobile-menu-open .mobile-menu {
    opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
    transform:translateX(0) !important;
  }
  .mobile-menu, .mobile-menu * {box-sizing:border-box;}
  .mobile-menu__inner {max-width:620px; margin:0 auto; padding:clamp(105px,15vh,135px) 25px 32px; min-height:100%; display:flex; flex-direction:column;}
  .mobile-menu__heading {margin:0 0 25px; padding:0 2px;}
  .mobile-menu__eyebrow {display:block; font:700 11px/1.4 'Noto Sans JP',sans-serif; letter-spacing:.23em; color:#b97a60;}
  .mobile-menu__heading p {font:700 clamp(32px,9vw,42px)/1.25 'Noto Sans JP',sans-serif; letter-spacing:.13em; color:#344a3d; margin:8px 0 0;}
  .mobile-menu__sections {display:grid; gap:11px;}
  .mobile-menu__section, .mobile-menu__contact {display:block; background:rgba(255,255,255,.9); border:1px solid #e7e8dd; border-radius:17px; box-shadow:0 6px 24px rgba(78,91,72,.055); overflow:hidden;}
  .mobile-menu__section summary, .mobile-menu__contact {min-height:80px; display:flex; align-items:center; gap:16px; padding:16px 20px; cursor:pointer; list-style:none; text-decoration:none !important;}
  .mobile-menu__section summary::-webkit-details-marker {display:none;}
  .mobile-menu__number {font:700 14px/1.3 'Noto Sans JP',sans-serif; color:#ce987d; min-width:24px;}
  .mobile-menu__section-title {flex:1; font:700 18px/1.35 'Noto Sans JP',sans-serif; color:#324d40;}
  .mobile-menu__section-title small {display:block; margin-top:5px; font:600 10px/1.2 'Noto Sans JP',sans-serif; letter-spacing:.16em; color:#9a9f92;}
  .mobile-menu__plus {width:27px;height:27px; flex:none; border-radius:50%; background:#e9f5ec; position:relative;}
  .mobile-menu__plus::before,.mobile-menu__plus::after {content:'';position:absolute;background:#54866c;left:8px;right:8px;top:13px;height:1.5px;transition:transform .2s;}
  .mobile-menu__plus::after {transform:rotate(90deg);}
  .mobile-menu__section[open] .mobile-menu__plus::after {transform:rotate(0);}
  .mobile-menu__section[open] {border-color:#b7d9c1;}
  .mobile-menu__section ul {list-style:none; padding:3px 18px 17px 60px !important; margin:0 !important; display:grid; gap:4px;}
  .mobile-menu__section li {margin:0 !important; padding:0 !important; list-style:none;}
  .mobile-menu__section li a {display:block; padding:12px 10px; border-top:1px solid #eef1e9; font:500 14px/1.5 'Noto Sans JP',sans-serif; color:#4d5e52 !important; text-decoration:none !important;}
  .mobile-menu__section li a::after {content:'›';float:right;color:#7fa88c;font-size:20px;line-height:1;}
  .mobile-menu__contact {background:#e6f3e8; border-color:#cde6d2;}
  .mobile-menu__arrow {font-size:24px; color:#54866c;}
  .mobile-menu__footer {margin-top:auto; padding:35px 3px 5px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#829489; font:500 10px/1.5 'Noto Sans JP',sans-serif; letter-spacing:.06em;}
  .mobile-menu__section summary:focus-visible,.mobile-menu a:focus-visible {outline:3px solid #7dbb98;outline-offset:-3px;}
}
@media (max-width:360px) {
  .mobile-menu__inner {padding-left:16px;padding-right:16px;}
  .mobile-menu__section summary,.mobile-menu__contact {padding:13px 14px;gap:11px;}
  .mobile-menu__section ul {padding-left:46px !important;}
}
@media (prefers-reduced-motion:reduce) {
  .c-hamburger-menu__list.mobile-menu {transition:none !important;}
}
