@charset "UTF-8";

body { -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; }
.sp_menu { display: none; overflow: scroll; position: fixed; width: 100%; height: 100vh; z-index: 77; top: 0; left: 0; right:0; min-width: 1280px; max-width:1680px; padding:1.5rem 8.5% 1.5rem 3.5%; margin:auto; }
.sp_menu .sp_gnav { position: relative; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.sp_menu .sp_gnav .header__title { width:60%; }
.sp_menu .sp_gnav nav { width:100%; }
.sp_menu .sp_gnav nav .header__hnav { position: absolute; top:0.75rem; right:0; text-align: left; border-left:solid 1px #333; padding:0 0 0 1.5rem; }
.sp_menu .sp_gnav nav .header__hnav li { font-size: 1em; line-height: 1; margin:0 0 1em 0; }
.sp_menu .sp_gnav nav .header__hnav li:last-child { margin:0 0 0 0; }
.sp_menu .sp_gnav nav .header__search { margin:1.5rem 0 0 0; background-color: #333; color:#fff; }
.sp_menu .sp_gnav nav .header__search form { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
.sp_menu .sp_gnav nav .header__search img { width:2em; line-height: 1; color:#fff; margin:0 0 0 1.5rem; }
.sp_menu .sp_gnav nav .header__search input[type="text"] { font-family: 'Noto Serif JP', serif; font-weight: 600; width:95%; font-size: 1.25em; line-height: 1; padding:1.3em; background-color: #333; color:#fff; }
.sp_menu .sp_gnav nav .header__search input[type="text"]::placeholder { font-family: 'Noto Serif JP', serif; font-weight: 600; }
.sp_menu .sp_gnav nav .header__snav { width:100%; margin:0 0 0 0; padding:1.5em 0 0 0; border-top:solid 1px #333; position: relative; display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center; }
.sp_menu .sp_gnav nav .header__snav li a { border-right:solid 1px #333; font-size: 1.25em; line-height: 1; padding:0 1.2em; }
.sp_menu .sp_gnav nav .header__snav li button { border-right:solid 1px #333; font-size: 1.25em; line-height: 1; padding:0 1.2em; cursor: pointer; transition: 0.2s linear; }
.sp_menu .sp_gnav nav .header__snav li button:hover { color:#999; }
.sp_menu .sp_gnav nav .header__snav li:last-child a { border-right:none; }
.sp_menu .sp_gnav nav .header__snav li.navi__snav-line a { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; }
.sp_menu .sp_gnav nav .header__snav li.navi__snav-line button { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; }
.sp_menu .sp_gnav nav .header__snav li.navi__snav-line i { display: block; width:1.2em; line-height: 1; margin:0 0.5em 0 auto; }
.sp_menu .sp_gnav nav .header__snav li.navi__snav-line span { font-size: 0.9em; line-height: 1; margin:0 auto 0 auto; }
.sp_menu .sp_gnav nav .header__snav li.navi__snav-line span::after { content:"向けLINE"; }
.sp_menu .sp_gnav nav .header__gnav { width:100%; margin:1rem 0 0 0; padding:0; border-top:solid 1px #333; position: relative; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: center; }
.sp_menu .sp_gnav nav .header__gnav > li { width:100%; }
.sp_menu .sp_gnav nav .header__gnav > li > a,
.sp_menu .sp_gnav nav .header__gnav > li > button {
  cursor:pointer; font-family: 'Noto Serif JP', serif; font-weight: 600; width:100%;
  display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center;
  border-bottom:solid 1px #333; font-size: 1.25em; line-height: 1; padding:1.2em 2.5% 1.2em 2.5%; text-align: left; }
.sp_menu .sp_gnav nav .header__gnav > li:last-child > a { border-bottom:none; }
.sp_menu .sp_gnav nav .header__gnav > li > a:hover,
.sp_menu .sp_gnav nav .header__gnav > li > button.is-open,
.sp_menu .sp_gnav nav .header__gnav > li > button:hover { background-color: #333; color:#fff; }
.sp_menu .sp_gnav nav .header__gnav > li > button .sp_gnav_li_mark { padding:0 0.5em 0 0; }
.sp_menu .sp_gnav nav .header__gnav > li > button .sp_gnav_li_mark::before { content: "＋"; }
.sp_menu .sp_gnav nav .header__gnav > li > button.is-open .sp_gnav_li_mark::before { content: "−"; }
.sp_menu .sp_gnav nav .header__gnav > li > ul { display:none; }
.sp_menu .sp_gnav nav .header__gnav > li > ul.is-open { border-bottom:solid 1px #333; width:100%; padding:2em 2.5%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; gap:0 2rem; }
.sp_menu .sp_gnav nav .header__gnav > li > ul.is-open > li { width:calc((100% - 4rem) / 3); text-align: left; font-size:1.1em; line-height: 1.5; margin:0 0 1em 0; display:flex; align-items: center; gap:0 0.75em; }
.sp_menu .sp_gnav nav .header__gnav > li > ul.is-open > li > a { display: flex; align-items: center; gap:0 0.75em; }
.sp_menu .sp_gnav nav .header__gnav > li > ul.is-open > li > a i { font-size: 0.65em; }
.menu_overlay { position: fixed; width: 100%; height: 100vh; top: 0; left: 0; background-color: #fff; opacity: 1; z-index: -1; }
.menu_btn { background-color: transparent; width: 5.25rem; height: 9.45em; position: fixed; overflow: visible; line-height: 1em; font-size: 1em; cursor: pointer; top: 0; right: 0; z-index: 778; }
.menu_btn .line { position: fixed; background-color: #fff; overflow: hidden; z-index: 779; width: 2.5rem; height: 1px; right: 1.35rem; }
.menu_btn .line:nth-child(1) { top: 1.5em; z-index: 2; }
.menu_btn .line:nth-child(2) { top: 2.25em; z-index: 2; }
.menu_btn .line:nth-child(3) { top: 3em; z-index: 2; }
.btn_wrapper { z-index: 777; position: fixed; }
.btn_wrapper .menu_btn { -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper .menu_btn .line { -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .line:nth-child(1) { -webkit-transform: translateY(0.75em) rotate(45deg); transform: translateY(0.75em) rotate(45deg); -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .line:nth-child(2) { opacity: 0; -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }
.btn_wrapper.clicked .menu_btn .line:nth-child(3) { -webkit-transform: translateY(-0.75em) rotate(-45deg); transform: translateY(-0.75em) rotate(-45deg); -webkit-transition: all 400ms ease-out 0ms; -moz-transition: all 400ms ease-out 0ms; -o-transition: all 400ms ease-out 0ms; transition: all 400ms ease-out 0ms; }

/* sp */
@media screen and (max-width: 600px) {
  .sp_menu { min-width: 0; padding:0; }
  .sp_menu .sp_gnav { align-items: flex-start; }
  .sp_menu .sp_gnav .header__title { width:auto; padding:1.25em; }
  .sp_menu .sp_gnav .header__title img { height:5.5em; width:auto; }
  .sp_menu .sp_gnav nav { display:block; }
  .sp_menu .sp_gnav nav .header__hnav { display:none; }
  .sp_menu .sp_gnav nav .header__search { margin:0 0 0 0; }
  .sp_menu .sp_gnav nav .header__search img { margin:0 0 0 1rem; }
  .sp_menu .sp_gnav nav .header__search input[type="text"] { width:85%; padding:1.1em; }
  .sp_menu .sp_gnav nav .header__snav { flex-wrap: wrap; justify-content: space-between; }
  .sp_menu .sp_gnav nav .header__snav li { margin:0 0 1.5em 0; width:calc(100% / 6); }
  .sp_menu .sp_gnav nav .header__snav li a { display:block; padding:0; }
  .sp_menu .sp_gnav nav .header__snav li:nth-child(6) a,
  .sp_menu .sp_gnav nav .header__snav li:last-child a { border-right:none; }
  .sp_menu .sp_gnav nav .header__snav li:nth-child(7),
  .sp_menu .sp_gnav nav .header__snav li:nth-child(8) { width:50%; }
  .sp_menu .sp_gnav nav .header__snav li.navi__snav-line i { width:1.6em; }
  .sp_menu .sp_gnav nav .header__gnav { margin:0 0 0 0; }
  .sp_menu .sp_gnav nav .header__gnav > li > a,
  .sp_menu .sp_gnav nav .header__gnav > li > button { cursor:pointer; font-family: 'Noto Serif JP', serif; font-weight: 600; width:100%; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; border-bottom:solid 1px #333; font-size: 1.25em; line-height: 1; padding:1.2em 5% 1.2em 5%; text-align: left; }
  .sp_menu .sp_gnav nav .header__gnav > li > a:hover,
  .sp_menu .sp_gnav nav .header__gnav > li > button.is-open,
  .sp_menu .sp_gnav nav .header__gnav > li > button:hover { background-color: #333; color:#fff; }
  .sp_menu .sp_gnav nav .header__gnav > li > ul.is-open { padding:2em 5%; flex-direction: column; }
  .sp_menu .sp_gnav nav .header__gnav > li > ul.is-open > li { width:100%; }
  .menu_overlay { opacity: 0.95; }
  .menu_btn { width: 4em; height: 8em; }
  .menu_btn .line { width: 2em; right: 1em; }
  .menu_btn .line:nth-child(1) { top: 1.25em; }
  .menu_btn .line:nth-child(2) { top: 2em; }
  .menu_btn .line:nth-child(3) { top: 2.75em; }

}
