@charset "utf-8";
/* =================== */
.menu_modal {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 7000;
		display: none;
}
.menu_modal_inner {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		padding: 40px;
}
.menu_modal .menu_overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 110vh;
		background: rgba(0, 0, 0, 0.8);
		display: none;
}
.menu_cont {
		border: 2px solid #D000DF;
		background: url("../images/menu_wrap_bg.png") no-repeat center bottom;
		background-size: cover;
		height: 710px;
		width: 148vh;
		max-width: 1200px;
		padding: 120px 130px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		box-sizing: border-box;
		z-index: 9000;
		transform: scale(1.15);
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.isOpen .menu_cont {
		transform: scale(1);
}
.menu_cont .menu_inner_hd {
		position: absolute;
		top: 45px;
		left: 45px;
}
.menu_inner_hd .menu_en {
		font-size: 36px;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		line-height: 1;
		margin: 0 0 5px;
}
.menu_inner_hd .menu_jp {
		font-size: 16px;
}
.menu_inner {
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
}
.menu_inner_left {
		width: 50%;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
}
.menu_inner_right {
		width: 44%;
}
.menu_inner_left_upper {
		display: flex;
		align-items: center;
		height: 300px;
}
.menu_inner_left_upper_figure {
		width: 73px;
		margin-right: 30px;
}
.menu_inner_left_upper_figure img {
		width: 100%;
		height: auto;
}
.menu_inner_left_upper_caption_en {
		font-size: 32px;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		line-height: 1;
		margin: 0 0 5px;
}
.menu_inner_left_upper_caption_jp {
		font-size: 14px;
		line-height: 1;
}
.menu_inner_left_guide {
		border: 2px solid #D000DF;
		background: #310140;
		position: relative;
}
.menu_inner_left_guide .menu_inner_left_guide_up, .menu_inner_left_guide .menu_inner_left_guide_bottom {
		position: absolute;
		pointer-events: none;
		width: 100%;
}
.menu_inner_left_guide .menu_inner_left_guide_up {
		top: 0;
		left: 0;
}
.menu_inner_left_guide .menu_inner_left_guide_bottom {
		bottom: 0;
		left: 0;
}
.menu_inner_left_guide .menu_inner_left_guide_up::before, .menu_inner_left_guide .menu_inner_left_guide_up::after, .menu_inner_left_guide .menu_inner_left_guide_bottom::before, .menu_inner_left_guide .menu_inner_left_guide_bottom::after {
		content: '';
		display: block;
		position: absolute;
		width: 8px;
		height: 8px;
}
.menu_inner_left_guide .menu_inner_left_guide_up::before {
		border-top: 1px solid #ffde00;
		border-left: 1px solid #ffde00;
		top: -2px;
		left: -2px;
}
.menu_inner_left_guide .menu_inner_left_guide_up::after {
		border-top: 1px solid #ffde00;
		border-right: 1px solid #ffde00;
		top: -2px;
		right: -2px;
}
.menu_inner_left_guide .menu_inner_left_guide_bottom::before {
		border-bottom: 1px solid #ffde00;
		border-left: 1px solid #ffde00;
		bottom: -2px;
		left: -2px;
}
.menu_inner_left_guide .menu_inner_left_guide_bottom::after {
		border-bottom: 1px solid #ffde00;
		border-right: 1px solid #ffde00;
		bottom: -2px;
		right: -2px;
}
.menu_inner_left_guide_cont {
		padding: 25px;
		box-sizing: border-box;
		height: 150px;
}
.menu_inner_right ul.global {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
}
.menu_inner_right li {
		list-style: none;
}
.menu_inner_right ul.global li {
		width: calc(50% - 8px);
		margin: 0 0 16px;
}
ul.global li:not(.extra) a {
		color: #fff;
		text-decoration: none;
		display: flex;
		width: 100%;
		height: 80px;
		align-items: center;
		justify-content: center;
		text-align: center;
		background: #D000DF;
		position: relative;
		transition: color 0.3s;
}
ul.global li a .menu_btn_upper::before, ul.global li a .menu_btn_upper::after, ul.global li a .menu_btn_bottom::before, ul.global li a .menu_btn_bottom::after {
		content: '';
		display: block;
		position: absolute;
		width: 8px;
		height: 8px;
		z-index: 5;
		pointer-events: none;
		opacity: 0;
		transition: opacity 0.4s;
}
ul.global li.extra {
		height: 80px;
		display: flex;
		align-items: center;
		justify-content: center;
}
ul.global li.last {
		margin-bottom: 0;
}
ul.global li.extra div {
		font-size: 16px;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		line-height: 1;
		margin: 15px 0;
}
ul.global li.extra a, .subLink div a {
		color: #fff;
		text-decoration: none;
		display: inline-block;
		position: relative;
}
ul.global li.extra a::after, .subLink div a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		right: -15px;
		width: 6px;
		height: 10px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/menu_arw.png")
}
@media (hover: hover) {
		ul.global li a:hover {
				color: #FFDE00;
		}
		ul.global li.extra a:hover {
				color: #FFDE00;
		}
		ul.global li.extra a:hover::after {
				background-image: url("../images/menu_arw_on.png")
		}
		ul.global li a:hover .menu_btn_upper::before, ul.global li a:hover .menu_btn_upper::after, ul.global li a:hover .menu_btn_bottom::before, ul.global li a:hover .menu_btn_bottom::after {
				opacity: 1;
		}
}
ul.global li a .menu_btn_upper::before {
		top: 0px;
		left: 0;
		border-top: 1px solid #FFDE00;
		border-left: 1px solid #FFDE00;
}
ul.global li a .menu_btn_upper::after {
		top: 0px;
		right: 0;
		border-top: 1px solid #FFDE00;
		border-right: 1px solid #FFDE00;
}
ul.global li a .menu_btn_bottom::before {
		bottom: 0px;
		left: 0;
		border-bottom: 1px solid #FFDE00;
		border-left: 1px solid #FFDE00;
}
ul.global li a .menu_btn_bottom::after {
		bottom: 0px;
		right: 0;
		border-bottom: 1px solid #FFDE00;
		border-right: 1px solid #FFDE00;
}
li.main div.menu_en {
		font-size: 30px;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		line-height: 1;
		margin: 0 0 3px;
}
ul.global li .menu_en.small {
		font-size: 24px;
}
li.main div.menu_jp {
		font-size: 14px;
}
li.extra span.menu_jp {
		display: none;
}
.menu_cont {
		position: relative;
}
.isActive .menu_inner_left_guide_hd, .isActive .menu_inner_left_guide_caption {
		opacity: 1;
}
.menu_inner_left_guide_hd {
		border-bottom: 1px solid #d000df;
		padding-bottom: 13px;
		width: 100%;
		display: flex;
		align-items: center;
		position: relative;
		transition: opacity 0.4s;
		height: 50%;
		box-sizing: border-box;
}
.menu_inner_left_guide_hd p {
		opacity: 0;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		margin: 0;
		padding: 0;
		line-height: 1;
}
.menu_inner_left_guide_hd_inner {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		display: flex;
		align-items: center;
}
#guideHd {
		font-size: 30px;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		margin-right: 8px;
}
#guideHdSub {
		display: inline-block;
		transform: translateY(-2px);
}
.menu_inner_left_guide_caption {
		font-size: 15px;
		transition: opacity 0.4s;
		padding-top: 16px;
}
.menu_cont .menu_close {
		position: absolute;
		bottom: 28px;
		right: 28px;
		width: 64px;
		height: 64px;
		border: 2px solid #C106DA;
		background: url("../images/menu_close_bg.png") no-repeat center center;
		background-size: 64px;
		cursor: pointer;
		box-sizing: border-box;
}
.menu_close .menu_close_txt {
		position: absolute;
		left: 0;
		bottom: 7px;
		width: 100%;
		text-align: center;
		color: #fff;
		font-size: 14px;
		font-family: 'Rajdhani', sans-serif;
		font-weight: 400;
		transition: color 0.4s;
		line-height: 1;
}
.menu_close::before, .menu_close::after {
		content: '';
		display: block;
		position: absolute;
		top: 22px;
		left: 20px;
		width: 20px;
		height: 1px;
		background: #fff;
		border-radius: 0;
		transition: background 0.4s;
}
.menu_close::before {
		transform: rotate(45deg);
}
.menu_close::after {
		transform: rotate(-45deg);
}
@media (hover: hover) {
		.menu_close:hover .menu_close_txt {
				color: #FFDE00;
		}
		.menu_close:hover::before, .menu_close:hover::after {
				background: #FFDE00;
		}
}
@media(max-height: 870px) and (min-width: 1195px) {
		.menu_modal_inner {
				padding: 40px;
		}
		.menu_cont {
				min-height: 500px;
				height: calc(100vh - 80px);
				width: 148vh;
				max-height: inherit;
				max-width: inherit;
				padding: 3.7vh 15vh;
				box-sizing: border-box;
		}
		.menu_cont .menu_inner_hd {
				position: absolute;
				top: 45px;
				left: 45px;
		}
		.menu_inner_hd .menu_en {
				font-size: 36px;
				margin: 0 0 5px;
		}
		.menu_inner_hd .menu_jp {
				font-size: 16px;
		}
		.menu_inner_left {
				width: 50%;
		}
		.menu_inner_right {
				width: 44%;
		}
		.menu_inner_left_upper {
				height: calc(34.3vh + 16px)
		}
		.menu_inner_left_upper_figure {
				width: 9vh;
				margin-right: 35px;
		}
		.menu_inner_left_upper_caption_en {
				font-size: 22px;
				margin: 0 0 5px;
		}
		.menu_inner_left_upper_caption_jp {
				font-size: 14px;
				line-height: 1;
		}
		.menu_inner_left_guide .menu_inner_left_guide_up {
				top: 0;
				left: 0;
		}
		.menu_inner_left_guide .menu_inner_left_guide_bottom {
				bottom: 0;
				left: 0;
		}
		.menu_inner_left_guide_cont {
				padding: 3vh 6.2vh;
				height: 18.5vh
		}
		.menu_inner_right ul.global li {
				width: calc(50% - 6px);
				margin: 0 0 12px;
		}
		ul.global li:not(.extra) a {
				width: 100%;
				height: 9.8vh;
		}
		ul.global li.extra {
				height: 9.8vh;
		}
		ul.global li.last {
				margin-bottom: 0;
		}
		ul.global li.extra div {
				font-size: 13px;
				margin: 15px 0;
		}
		ul.global li.extra a::after, .subLink div a::after {
				top: calc(50% - 5px);
				right: -15px;
				width: 6px;
				height: 10px;
				background-image: url("../images/menu_arw.png")
		}
		ul.global li a .menu_btn_bottom::before {
				bottom: 0px;
				left: 0;
		}
		li.main div.menu_en {
				font-size: 21px;
				margin: 0;
		}
		ul.global li .menu_en.small {
				font-size: 16px;
		}
		li.main div.menu_jp {
				font-size: 12px;
		}
		.menu_inner_left_guide_hd {
				padding-bottom: 2.2vh;
				margin-bottom: 0;
		}
		.menu_inner_left_guide_hd p {
				font-size: 14px;
		}
		#guideHd {
				font-size: 27px;
				margin-right: 8px;
		}
		#guideHdSub {
				font-size: 13px;
				transform: translateY(-3px);
		}
		.menu_inner_left_guide_caption {
				font-size: 13px;
				padding-top: 10px;
		}
		.menu_cont .menu_close {
				bottom: 18px;
				right: 18px;
				width: 64px;
				height: 64px;
		}
		.menu_close::before, .menu_close::after {
				top: 22px;
				left: 20px;
				width: 20px;
		}
}
@media(min-width: 1195px) {
		.subLink {
				display: none;
		}
}
@media(max-width: 1194px) {
		.menu_modal_inner {
				display: block;
				padding: 40px;
		}
		.menu_cont {
				border: 2px solid #D000DF;
				background: #310140 url("../images/menu_wrap_bg_sp.jpg") no-repeat center bottom;
				background-size: 100%;
				min-height: inherit;
				width: 100%;
				max-width: 100%;
				padding: 40px 20px;
		}
		.menu_cont .menu_inner_hd {
				position: absolute;
				top: 25px;
				left: 25px;
		}
		.menu_inner_hd .menu_en {
				font-size: 36px;
				margin: 0 0 5px;
		}
		.menu_inner_hd .menu_jp {
				font-size: 14px;
		}
		.menu_inner {
				display: block;
				padding: 0;
		}
		.menu_inner_left {
				width: 100%;
		}
		.menu_inner_right {
				width: 100%;
		}
		.menu_inner_left_upper {
				display: flex;
				align-items: center;
				justify-content: center;
				margin-bottom: 30px;
				height: auto;
		}
		.menu_inner_left_upper_figure {
				width: 36px;
				margin-right: 13px;
		}
		.menu_inner_left_upper_caption_en {
				font-size: 24px;
				margin: 0 0 5px;
		}
		.menu_inner_left_upper_caption_jp {
				font-size: 14px;
		}
		.menu_inner_left_guide {
				display: none;
		}
		.menu_inner_left_guide_cont {
				display: none
		}
		.menu_inner_left_guide .menu_inner_left_guide_up, .menu_inner_left_guide .menu_inner_left_guide_bottom {
				display: none;
		}
		.menu_inner_left_guide .menu_inner_left_guide_up::before, .menu_inner_left_guide .menu_inner_left_guide_up::after, .menu_inner_left_guide .menu_inner_left_guide_bottom::before, .menu_inner_left_guide .menu_inner_left_guide_bottom::after {
				display: none;
		}
		.menu_inner_right ul.global li {
				width: calc(50% - 5px);
				margin: 0 0 10px;
		}
		ul.global li:not(.extra) a {
				height: 54px;
		}
		ul.global li a .menu_btn_upper::before, ul.global li a .menu_btn_upper::after, ul.global li a .menu_btn_bottom::before, ul.global li a .menu_btn_bottom::after {
				opacity: 1;
		}
		li.main div.menu_en {
				font-size: 22px;
				margin: 0 0 -2px;
		}
		ul.global li .menu_en.small {
				font-size: 15px;
		}
		li.main div.menu_jp {
				font-size: 14px;
		}
		.menu_cont {
				position: relative;
		}
		.isActive .menu_inner_left_guide_hd, .isActive .menu_inner_left_guide_caption {
				opacity: 1;
		}
		.menu_inner_left_guide_hd {
				display: none;
		}
		.menu_cont .menu_close {
				position: absolute;
				bottom: inherit;
				top: 20px;
				right: 20px;
				width: 48px;
				height: 48px;
				border: 2px solid #C106DA;
				background: url("../images/menu_close_bg_sp.png") no-repeat center center;
				background-size: 48px;
		}
		.menu_close .menu_close_txt {
				bottom: 4px;
				font-size: 12px;
		}
		.menu_close::before, .menu_close::after {
				top: 14px;
				left: 12px;
				width: 20px;
				height: 1px;
		}
		ul.global li.extra {
				display: none;
		}
		.subLink {
				margin-top: 25px;
				padding-bottom: 10px;
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 100%;
				font-family: 'Rajdhani', sans-serif;
		}
		.subLink div {
				width: 50%;
				text-align: center;
		}
}
@media(max-width: 767px) {
		.menu_modal_inner {
				padding: 40px 20px;
		}
		.mobileAndroid .menu_modal_inner {
				padding: 0 !important;
		}
		.mobileAndroid .menu_cont {
				border-top: none;
				border-bottom: none;
				min-height: 100vh;
		}
		.menu_cont {
				display: block;
				padding-bottom: 0px;
				height: 150vw;
				min-height: inherit;
		}
		.menu_inner {
				display: block;
				padding: 70px 0 0;
				height: auto;
		}
		.menu_inner_left_upper {
				margin-bottom: 40px;
				height: auto;
		}
		li.main div.menu_jp {
				font-size: 13px;
				padding-top: 2px;
		}
		.subLink div:first-child {
				text-align: left;
		}
		.verLandscape .subLink div:first-child {
				text-align: center;
		}
}
@media(max-width: 400px) {
		.menu_modal_inner {
				padding: 25px 20px;
		}
		.menu_cont {
				height: 140vw;
		}
		.menu_cont .menu_inner_hd {
				position: absolute;
				top: 20px;
				left: 25px;
		}
		.menu_inner_hd .menu_en {
				font-size: 30px;
				margin: 0;
		}
		.menu_inner_hd .menu_jp {
				font-size: 13px;
		}
		.menu_inner {
				padding: 50px 0 0;
		}
		.menu_inner_left_upper {
				margin-bottom: 30px;
		}
		.menu_inner_left_upper_figure {
				width: 32px;
				margin-right: 10px;
		}
		.menu_inner_left_upper_caption_en {
				font-size: 20px;
		}
		.menu_inner_left_upper_caption_jp {
				font-size: 12px;
		}
		ul.global li:not(.extra) a {
				height: 46px;
		}
		li.main div.menu_en {
				font-size: 20px;
				margin: 0 0 -3px;
		}
		ul.global li .menu_en.small {
				font-size: 14px;
		}
		li.main div.menu_jp {
				font-size: 12px;
		}
		.subLink {
				margin-top: 20px;
				padding-bottom: 5px;
		}
}
@media(max-width: 840px) {
		.verLandscape .menu_cont .menu_inner_hd {
				top: 20px;
		}
		.verLandscape .menu_inner {
				padding-top: 25px;
		}
		.verLandscape .menu_inner_left_upper {
				margin-bottom: 30px;
		}
		.verLandscape .menu_modal_inner {
				padding: 0px 40px !important;
		}
		.verLandscape .menu_cont {
				height: 100vh !important;
				border-top: none;
				border-bottom: none;
				border-left: 2px solid #D000DF;
				border-right: 2px solid #D000DF;
				background: #310140 url("../images/menu_wrap_bg_sp.jpg") no-repeat center 50%;
				background-size: 100%;
		}
		.verLandscape .menu_modal_cont {
				height: calc(100vh - 100px);
				overflow: auto;
				margin-top: 50px;
		}
		.verLandscape .menu_modal_cont .subLink {
				margin-top: 15px !important;
				padding-bottom: 80px !important;
		}
		.verLandscape ul.global li:not(.extra) a {
				height: 62px;
		}
}