@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%); }
body { -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; }
nav.sp_menu { color: #000; position: fixed; width: 100%; height: 100vh; top: 0px; background-color: transparent; z-index: 9999; display: none; right: 0px; }
nav.sp_menu ul { position: relative; width: 100%; height: 100vh; display: flex; align-items: center; }
.menu_overlay { position: fixed; width: 100%; height: 100vh; top: 0; left: 0; background-color: #FFF; opacity: 0.95; z-index: -1; }
.menu_btn { width: 3em; height: 4em; position: fixed; overflow: visible; line-height: 13px; font-size: 1em; float: left; 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: 0em; z-index: 999; right: 0em; }
.menu_btn .line { position: fixed; background-color: #000; overflow: hidden; z-index: 999; width: 1.5em; 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; right: 5%; }
.menu_btn .line:nth-child(1) { top: 2em; z-index: 2; }
.menu_btn .line:nth-child(2) { top: 2.5em; z-index: 2; }
.menu_btn .line:nth-child(3) { top: 3em; z-index: 2; }
.btn_wrapper { z-index: 99999; position: fixed; }
/*
メニューオープン時のクリックボタン
*/
.btn_wrapper.clicked .menu_btn .line:nth-child(1) { -webkit-transform: translateY(0.5em) rotate(45deg); transform: translateY(0.5em) 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.5em) rotate(-45deg); transform: translateY(-0.5em) 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; }
nav.sp_menu ul { position: relative; display: inline-block; margin-top: 15vh; margin-right: auto; margin-bottom: 0; margin-left: auto; width: 100%; }
nav.sp_menu ul li { font-size: 1.1em; line-height: 1em; text-align: center; margin-bottom: 1.5em; letter-spacing: 0.15em; }
nav.sp_menu ul li i { margin-right: 0.2em; margin-left: 0.2em; }
nav.sp_menu ul li i img { height: auto; width: 1em; padding-bottom: 0.2em; margin-right: 0.2em; }
nav.sp_menu ul li.gnavi { font-size: 1.4em; }
nav.sp_menu ul li.sep { margin-top: 2em; }
nav.sp_menu ul li.sns { margin-top: 2em; font-size: 1.6em; }
nav.sp_menu ul li a { color: #000; text-decoration: none; }
