@charset "UTF-8";

nav.sp_menu { color: #007C36; position: fixed; width: 100%; height: 100vh; top: 0; z-index: 9999; right: 0; text-align: left; }
nav.sp_menu .sp_menu__logo { position: fixed; bottom:3rem; left:4rem; width:5.5rem; }
nav.sp_menu .sp_menu__nav { position: absolute; top:0; bottom:0; right:18rem; display: flex; align-items: center; }
nav.sp_menu .sp_menu__nav ul { display:flex; flex-direction: column; font-size: 2rem; font-weight: 500; line-height: 1.8em; }
nav.sp_menu .sp_menu__nav ul .sp_menu__nav--sub { font-size: 1.2rem; line-height: 2em; }
nav.sp_menu .sp_menu__nav ul .sp_menu__nav--sub.sp_menu__nav--subtop { margin-top:2em; }

.menu_overlay { position: fixed; width: 100%; height: 100vh; top: 0; right: 0; background-color: #ffffff; opacity: 0.95; z-index: -1;  }
.menu_btn { width: 4.4rem; height: 4.4rem; background-color: #007C36; position: fixed; overflow: visible; line-height: 10px; font-size: 1px; float: right; 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: 0; right: 0; z-index: 999; }
.menu_btn .line { position: fixed; background-color: #fff; overflow: hidden; z-index: 999; width: 2.4rem; 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; top: 0; right: 0.95rem; }
.menu_btn .line:nth-child(1) { top: 1.4rem; z-index: 2; }
.menu_btn .line:nth-child(2) { top: 2.1rem; z-index: 2; }
.menu_btn .line:nth-child(3) { top: 2.8rem; z-index: 2; }
.btn_wrapper { z-index: 99999; position: fixed; }
.btn_wrapper.clicked .menu_btn .line:nth-child(1) { -webkit-transform: translateY(0.7rem) rotate(45deg); transform: translateY(0.7rem) 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.7rem) rotate(-45deg); transform: translateY(-0.7rem) 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; }

@media screen and (min-width: 1741px) {
  nav.sp_menu { right: calc((100vw - 1740px) / 2); }
  nav.sp_menu .sp_menu__logo { left: calc((100vw - 1740px) / 2 + 4rem); }
  .menu_overlay { left: calc((100vw - 1740px) / 2); right: calc((100vw - 1740px) / 2); }
  .menu_btn { right: calc((100vw - 1740px) / 2); }
  .menu_btn .line { right: calc((100vw - 1740px) / 2 + 0.95rem); }

}

/* sp */
@media screen and (max-width: 600px) {

nav.sp_menu { color: #007C36; position: fixed; width: 100%; height: 100vh; height: 100dvh; top: 0; z-index: 9999; right: auto; left: 0; text-align: left; }
nav.sp_menu .sp_menu__logo { position: fixed; bottom:auto; top:1.5rem; left:1.5rem; width:6rem; padding:0.75rem; }
nav.sp_menu .sp_menu__nav { position: absolute; top:auto; bottom:4rem; right:2rem; }
nav.sp_menu .sp_menu__nav ul { display:flex; flex-direction: column; font-size: 1.6rem; font-weight: 500; line-height: 1.8em; text-align: right; }
nav.sp_menu .sp_menu__nav ul .sp_menu__nav--sub { font-size: 1rem; line-height: 2em; }
nav.sp_menu .sp_menu__nav ul .sp_menu__nav--sub.sp_menu__nav--subtop { margin-top:2em; }

.menu_overlay { position: fixed; width: 100%; height: 100vh; height: 100dvh; top: 0; right: 0; background-color: #ffffff; opacity: 0.95; z-index: -1;  }
.menu_btn { width: 4rem; height: 4rem; background-color: #007C36; position: fixed; overflow: visible; line-height: 10px; 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: auto; left: 0; bottom: 0; right: auto; z-index: 999; }
.menu_btn .line { position: fixed; background-color: #fff; overflow: hidden; z-index: 999; width: 2.2rem; 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; top: 0; left: 0.85rem; right:auto; }
.menu_btn .line:nth-child(1) { top: auto; bottom: 1.2rem; z-index: 2; }
.menu_btn .line:nth-child(2) { top: auto; bottom: 1.9rem; z-index: 2; }
.menu_btn .line:nth-child(3) { top: auto; bottom: 2.6rem; z-index: 2; }
.btn_wrapper { z-index: 99999; position: fixed; }
.btn_wrapper.clicked .menu_btn .line:nth-child(1) { -webkit-transform: translateY(-0.7rem) rotate(-45deg); transform: translateY(-0.7rem) 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.7rem) rotate(45deg); transform: translateY(0.7rem) 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; }

}
