@charset "UTF-8";
/* Clearfix
=================================*/
.clearfix:after { content: " "; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: inline-block; }
/* Hide from Mac IE \*/

.clearfix { display: block; }
* html .clearfix { height: 1%; }
/* Hide from Mac IE */

/* Centering */
.ver_center { position: relative; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.hor_center { position: relative; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
.center { position: relative; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
nav.sp_menu { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background-color: transparent; z-index: 9; display: none; }
.menu_overlay { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background-color: #FFFFFF; opacity: 0.95; z-index: -1; }
.menu_btn { width: 60px; height: 60px; position: fixed; overflow: visible; line-height: 13px; font-size: 1px; cursor: pointer; -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; top: 0px; right: 0px; z-index: 999; background-color: #FFFFFF; }
.menu_btn .line { position: fixed; background-color: #433F3F; overflow: hidden; z-index: 999; width: 31px; height: 1px; -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; bottom: 20px; right: 15px; }
.menu_btn .line:nth-child(1) { top: 20px; z-index: 2; }
.menu_btn .line:nth-child(2) { top: 30px; z-index: 2; }
.menu_btn .line:nth-child(3) { top: 40px; z-index: 2; width: 20px; }
.btn_wrapper .menu { color: #333333; font-family: bebas; font-size: 0.6em; padding-top: 1em; text-align: center; display: block; clear: both; width: 31px; margin-left: 15px; position: fixed; left: 0px; top: 0px; }
.btn_wrapper { z-index: 999; position: fixed; }
/*
メニューオープン時のクリックボタン
*/
.btn_wrapper.clicked .menu_btn .line:nth-child(1) { -webkit-transform: translateY(10px) rotate(45deg); transform: translateY(10px) 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(-10px) rotate(-45deg); transform: translateY(-10px) 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; width: 31px; }
nav.sp_menu .sp_menu__nav { position: relative; display: flex; flex-direction: column; justify-content: center; width: 100%; padding: 0 6rem; }
nav.sp_menu .sp_menu__nav li { font-family: YakuHanRP, "Kosugi Maru", Helvetica, sans-serif; font-size: 2.2em; line-height: 1em; font-weight: 400; text-align: left; margin-bottom: 1em; letter-spacing: 0.03em; display: block; }
nav.sp_menu .sp_menu__nav li:nth-child(3) { margin-bottom: 2.5em; }
nav.sp_menu .sp_menu__nav li.nav-sub { font-size: 1.2em; line-height: 1em; }

@media screen and (max-width: 800px) {
nav.sp_menu .sp_menu__nav { position: relative; display: flex; flex-direction: column; justify-content: center;  width: 100%; padding: 0 6rem; }
nav.sp_menu .sp_menu__nav li { font-size: 2em; line-height: 1em; font-weight: 400; text-align: left; margin-bottom: 1em; letter-spacing: 0.03em; display: block; }
nav.sp_menu .sp_menu__nav li.nav-sub { font-size: 1.2em; line-height: 1em; }

}
@media screen and (max-width: 600px) {
nav.sp_menu .sp_menu__nav { position: relative; display: flex; flex-direction: column; justify-content: center; width: 100%; height: 100vh; height: 100dvh; padding: 0 6rem; }
nav.sp_menu .sp_menu__nav li { font-size: 2.2em; line-height: 1em; font-weight: 400; text-align: left; margin-bottom: 1em; letter-spacing: 0.03em; display: block; }
nav.sp_menu .sp_menu__nav li.nav-sub { font-size: 1.2em; line-height: 1em; }

}
