@charset "utf-8";

#menu__list{
  width: 100vw;
  height: 101vh;
  background-image: url(../img/bg_menu.jpg);
  background-size: cover;
  background-color: rgba(42, 93, 105, 1);
  opacity: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  transition: all 0.4s ease-in-out;
  visibility: hidden;
  z-index: 1000;
	display: flex;
  align-items: center;
	justify-content: center;
}


#menu__list.open{
  opacity: 1;
  visibility: visible;
}
#menu__list.open li:nth-child(1) {
  animation-delay: 0.1s;
}
#menu__list.open li:nth-child(2) {
  animation-delay: 0.2s;
}
#menu__list.open li:nth-child(3) {
  animation-delay: 0.3s;
}
#menu__list.open li:nth-child(4) {
  animation-delay: 0.4s;
}
#menu__list.open li:nth-child(5) {
  animation-delay: 0.5s;
}
#menu__list.open li:nth-child(6) {
  animation-delay: 0.6s;
}
#menu__list.open li:nth-child(7) {
  animation-delay: 0.7s;
}
#menu__list.open li:nth-child(8) {
  animation-delay: 0.8s;
}
#menu__list.open li:nth-child(9) {
  animation-delay: 0.9s;
}
#menu__list.open li:nth-child(10) {
  animation-delay: 1s;
}

#menu__list.open li {
  animation-duration: 0.2s;
  animation-fill-mode: both;
  animation-name: fadeInRight;
  animation-timing-function:ease-out;
}

@keyframes fadeInRight{
	0% {
	opacity: 0;
  transform: translate3d(40px, 0, 0)
	}
	100% {
	opacity: 1;
  transform: translate3d(0, 0, 0)
}
}

#menu__list .main-nav{
  width: 100%;
  margin: 0 0 0 18vw;
  display: flex;
	flex-direction: row;
	align-items: flex-start;
  justify-content: flex-start;
  position: relative;
}
@media (min-width: 415px){
#menu__list .main-nav{
}
}
@media (min-width: 960px){
#menu__list .main-nav{
}
}
/*@media (min-width: 1500px){
#menu__list .main-nav{
  max-width: calc(800px + 10vw + 10vw);
}
}
@media (min-width: 2000px){
#menu__list .main-nav{
  max-width: calc(1200px + 10vw + 10vw);
}
}*/

/*#menu__list ul.nav{
  width: 150px;
	display: block;
	position: relative;
}
@media (min-width: 415px){
#menu__list ul.nav{
  width: 300px;
}
}
@media (min-width: 960px){
#menu__list ul.nav{
  width: 800px;
}
}*/

#menu__list ul.nav:hover a,
#menu__list ul.nav:hover p{
  opacity: 0.2;
}

#menu__list ul.nav li p,
#menu__list ul.nav li a{
  color: #FFF;
  fill: #FFF;
  font-size: clamp(1.8rem, 2.8vw, 9.2rem);
	font-family: 'Montserrat', sans-serif;
  font-weight: 300;
	line-height: 1.2em;
  letter-spacing: 0.04em;
  white-space: nowrap;
	box-sizing: border-box;
  display: block;
  position: relative;
	transition: all 0.3s ease;
  margin-bottom: 20px;
  opacity: 0.6;
}
@media (min-width: 415px){
#menu__list ul.nav li p,
#menu__list ul.nav li a{
  font-weight: 200;
}
}
@media (min-width: 960px){
#menu__list ul.nav li p,
#menu__list ul.nav li a{
}
}

#menu__list ul.nav li a .e-link svg{
  width: 12px;
  height: auto;
  padding: 1px 0 0 8px;
}
@media (min-width: 415px){
#menu__list ul.nav li a .e-link svg{
  width: 16px;
  height: auto;
  padding: 2px 0 0 10px;
}
}
@media (min-width: 960px){
#menu__list ul.nav li a .e-link svg{
  width: 20px;
  height: auto;
  padding: 2px 0 0 12px;
}
}

#menu__list ul.nav li.c_menu a{
  font-size: clamp(1.8rem, 2.0vw, 8.2rem);
  line-height: 0.8em;
  padding-left: 16px;
}
@media (min-width: 960px){
#menu__list ul.nav li.c_menu a{
  padding-left: 25px;
}
}

#menu__list ul.nav li.c_menu a:last-child{
  margin-bottom: 30px;
}

#menu__list ul.nav li a:hover,
#menu__list ul.nav li p:hover{
	opacity: 1;
}

/*#menu__list .sns{
	height: 20px;
	display: block;
  position: absolute;
  bottom: -60px;
  left: 0;
}
@media (min-width: 415px){
#menu__list .sns{
	height: 20px;
  bottom: -60px;
  right: 0;
}
}
@media (min-width: 960px){
#menu__list .sns{
	height: 20px;
  bottom: 14px;
  right: 0;
  left: inherit;
}
}

#menu__list .sns a{
	width: 17px;
	height: 17px;
	display: block;
	float: left;
	transition: all 0.2s ease;
	margin: 0 22px 0 0;
}
@media (min-width: 415px){
#menu__list .sns a{
	width: 18px;
	height: 18px;
	margin: 0 22px 0 0;
}
}
@media (min-width: 960px){
#menu__list .sns a{
	width: 20px;
	height: 20px;
	margin: 0 0 0 22px;
}
}

@media (min-width: 960px){
#menu__list .sns a:hover{
	opacity: 0.3;
}
}*/


.drawer_menu{
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1100;
}
@media (min-width: 960px){
.drawer_menu{
  top: 50%;
  left: 6.8vw;
  right: auto;
  margin: -40px 0 0 0;
}
}

.toggle-menu{
  width: 60px;
  height: 60px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: inline-block;
  float: right;
  outline: none;
  padding: 0;
  pointer-events: initial;
  position: relative;
  vertical-align: middle;
  background: rgba(255, 255, 255, 0);
}
@media (min-width: 415px){
.toggle-menu{
  width: 80px;
  height: 80px;
}
}
@media (min-width: 960px){
.toggle-menu{
  width: 30px;
  height: 80px;
}
}

.toggle-menu.active{
  background: rgba(255, 255, 255, 0);
}

.toggle-menu span{
  background-color: #5B767B;
  content: "";
  display: block;
  height: 2px;
  left: calc(50% - 15px);
  position: absolute;
  top: calc(50% - 1px);
  transform-origin: 50% 50%;
  transition: background-color 0.1s ease-in-out, top 0.1s 0.1s ease-out, transform 0.1s linear;
  width: 30px;
}

.toggle-menu span:before,
.toggle-menu span:after{
  background-color: #5B767B;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  transform-origin: 50% 50%;
  transition: background-color 0.1s ease-in-out, top 0.1s 0.1s ease-out, transform 0.1s linear;
  width: 30px;
}

#top .toggle-menu span,
#top .toggle-menu span:before,
#top .toggle-menu span:after,
#page__promise .toggle-menu span,
#page__promise .toggle-menu span:before,
#page__promise .toggle-menu span:after{
  background-color: #FFF;
}

#top .toggle-menu.opacity span,
#top .toggle-menu.opacity span:before,
#top .toggle-menu.opacity span:after,
#page__promise .toggle-menu.opacity span,
#page__promise .toggle-menu.opacity span:before,
#page__promise .toggle-menu.opacity span:after{
	background-color: #5B767B;
}


.toggle-menu span:before{
  top: 7px;
}

.toggle-menu span:after{
  top: -7px;
}

.toggle-menu.active span,
#top .toggle-menu.active span,
#page__promise .toggle-menu.active span{
  background-color: transparent;
  transition: background-color 0.2s ease-out;
}

.toggle-menu.active span:before,
.toggle-menu.active span:after,
#top .toggle-menu.active span:before,
#top .toggle-menu.active span:after,
#page__promise .toggle-menu.active span:before,
#page__promise .toggle-menu.active span:after{
  background-color: #FFF;
  transition: top 0.1s ease-out, transform 0.1s 0.1s ease-out;
}

.toggle-menu.active span:before{
  top: 0;
  transform: rotate3d(0, 0, 1, -45deg);
}

.toggle-menu.active span:after{
  top: 0;
  transform: rotate3d(0, 0, 1, 45deg);
}
