@charset "UTF-8";
.btn_wrapper, nav.sp_menu { display: none; }
@media screen and (max-width: 600px) {
  body.menu-open { overflow: hidden; }
  .btn_wrapper { display: block; position: fixed; top: 0; right: 0; z-index: 1202; }
  .menu_btn { width: 3.5rem; height: 3.5rem; background: #3e3a39; position: relative; display: block; cursor: pointer; }
  .menu_btn .line { position: absolute; left: 50%; width: 1.6rem; height: 1px; background: #fff; transform: translateX(-50%); transition: transform 0.25s ease, opacity 0.25s ease, top 0.25s ease; }
  .menu_btn .line:nth-child(1) { top: 1.15rem; }
  .menu_btn .line:nth-child(2) { top: 1.72rem; }
  .menu_btn .line:nth-child(3) { top: 2.29rem; }
  .btn_wrapper.clicked .menu_btn .line:nth-child(1) { top: 1.72rem; transform: translateX(-50%) rotate(45deg); }
  .btn_wrapper.clicked .menu_btn .line:nth-child(2) { opacity: 0; }
  .btn_wrapper.clicked .menu_btn .line:nth-child(3) { top: 1.72rem; transform: translateX(-50%) rotate(-45deg); }
  nav.sp_menu { display: none; position: fixed; inset: 0; background: #f8f7f3; z-index: 1200; overflow-y: auto; }
  nav.sp_menu .sp_menu_box { min-height: 100svh; padding: 4.9rem 1.5rem 1.6rem; display: flex; flex-direction: column; }
  nav.sp_menu a { color: #3e3a39; text-decoration: none; }
  nav.sp_menu .sp_menu__nav li a:hover { color: #ea5532; }
  nav.sp_menu .sp_menu__nav li.is-current > a { color: #ea5532; }
  nav.sp_menu .sp_menu__nav + .sp_menu__nav { margin-top: 1rem; }
  /* nav.sp_menu .sp_menu__nav li + li { margin-top: 0.55rem; } */
  nav.sp_menu .sp_menu__nav--primary li a { font-size: 2.6rem; line-height: 1.25; }
  nav.sp_menu .sp_menu__nav--secondary li a { font-size: 2.2rem; line-height: 1.25; }
  nav.sp_menu .sp_menu__nav--tertiary li a { font-size: 1.6rem; line-height: 1.4; }
  nav.sp_menu .sp_menu__sns { display: flex; align-items: center; gap: 1.5rem; margin-top: auto; padding-top: 2rem; }
  nav.sp_menu .sp_menu__sns li a { display: inline-flex; align-items: center; justify-content: center; }
  nav.sp_menu .sp_menu__sns li a img { width: 2.2rem; }
  nav.sp_menu .sp_menu__sns li:last-child a img { width: 8.5rem; }
  nav.sp_menu .sp_menu__search { margin-top: 1.5rem; }
  nav.sp_menu .sp_menu__search form { display: flex; align-items: stretch; gap: 0.55rem; }
  nav.sp_menu .sp_menu__search form { position: relative; }
  nav.sp_menu .sp_menu__search form::before { content: ''; position: absolute; left: 0.75rem; top: 50%; width: 1rem; height: 1rem; background: url('../../img/common/search.svg') center / contain no-repeat; transform: translateY(-50%); pointer-events: none; }
  nav.sp_menu .sp_menu__search input[type="text"] { flex: 1 1 auto; min-width: 0; background: #3e3a39; color: #f8f7f3; padding: 0.4rem 0.5rem 0.4rem 2rem; font-size: 1.2rem; line-height: 1; border: none; outline: none; border-radius: 0; }
  nav.sp_menu .sp_menu__search input[type="text"]:focus { outline: none; box-shadow: none; background: #3e3a39; color: #f8f7f3; border: none; }
  nav.sp_menu .sp_menu__search input[type="text"]:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #3e3a39 inset; -webkit-text-fill-color: #f8f7f3; }
  nav.sp_menu .sp_menu__search button { flex-shrink: 0; min-width: 3rem; background: #3e3a39; color: #f8f7f3; padding: 0.4rem 0.5rem; font-size: 1.3rem; line-height: 1; border: none; outline: none; }
  nav.sp_menu .sp_menu__search button:focus { outline: none; box-shadow: none; }
  nav.sp_menu .sp_menu__policy { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
  nav.sp_menu .sp_menu__policy li a { font-size: 1rem; line-height: 1.45; }
  nav.sp_menu .sp_menu__nav li { transform: scaleY(0.9); }
}
