@charset "UTF-8";

.v2xmodal-container {
	position: relative;
	margin-bottom: 80px;
}
.v2xmodal-btnwrap {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.v2xmodal-btn {
	position: absolute;
	display: inline-block;
	padding: 12px 30px 12px 16px;
	background-color: #fff;
	background-clip: padding-box;
	color: #003f65;
	font-size: clamp(1.3rem, 1.3vw, 1.5rem);
	font-weight: bold;
	line-height: 1;
	text-align: left;
	text-decoration: none;
	border: 1px solid #d3d3d3;
	border-radius: 999em;
	cursor: pointer;
	transition: .3s;
}
.v2xmodal-btn::after {
	content: '+';
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}
.v2xmodal-btn#select_v2l {
	top: 57.2%;
	left: 3.1%;
}
.v2xmodal-btn#select_v2h {
	top: 36.7%;
	left: 21.6%;
}
.v2xmodal-btn#select_v2b {
	top: 19.3%;
	left: 43.3%;
}
.v2xmodal-btn#select_v2g {
	top: 33.3%;
	left: 84.8%;
}

.v2xmodal-window {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9998;

	display: none;
	justify-content: center;
	align-items: center;

	overscroll-behavior: contain;
	overflow-y: scroll;
	scrollbar-width: none;
	-ms-overflow-style: none;
	touch-action: none;
}
.v2xmodal-window::before,
.v2xmodal-window::after {
	content: "";
	width: 1px;
	height: calc(100vh + 1px);
	display: flex;
}
.v2xmodal-window::-webkit-scrollbar {
	display: none;
}
.v2xmodal-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.6);
}
.v2xmodal-item {
	width: calc(100% - 40px);
	max-width: 980px;
	background: #142d5a linear-gradient(45deg, #142d5a 0%, #133cb0 100%);
	display: none;
	z-index: 9999;
	position: relative;
}
.v2xmodal-item-content {
	max-height: 80vh;
	padding: 40px;
	overflow-y: auto;
}
.v2xmodal-item-content h3 {
	margin-bottom: 40px;
	padding-bottom: 12px;
	font-size: 3rem;
	line-height: 1.323;
	position: relative;
}
.v2xmodal-item-content h3::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 5px;
	width: 140px;
	height: 1px;
	background-color: #5795bb;
}
.v2xmodal-item-text {
	margin-bottom: 40px;
}
.v2xmodal-item-text li {
	padding-left: .875em;
	position: relative;
}
.v2xmodal-item-text li::before {
	content: '●';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	color: #5795bb;
	transform: scale(.6);
}
.v2xmodal-item-notes {
	display: flex;
	justify-content: flex-end;
}
.v2xmodal-item-notes li {
	padding-left: 1.714em;
	position: relative;
	font-size: 1.3rem;
	font-weight: 100;
}
.v2xmodal-item-notes.en li {
	padding-left: 1em;
}
.v2xmodal-item-notes li::before {
	content: '※';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	color: #5795bb;
}
.v2xmodal-item-notes.en li::before {
	content: '*';
}

.v2xmodal-close {
	position: absolute;
	z-index: 100;
	bottom: calc(100% + 10px);
	right: 0;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
.v2xmodal-close::before,
.v2xmodal-close::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 30px;
	height: 1px;
	background-color: #fff;
	transform: rotate(45deg);
}
.v2xmodal-close::after {
	transform: rotate(-45deg);
}

@media screen and (max-width: 767px) {
	body:not(.s_touchDevice) .v2xmodal-btn:hover {
		background: #003F65 linear-gradient(90deg, #003F65 0%, #5795bb 100%);
		background-clip: padding-box;
		border-color: transparent;
		color: #fff;
	}
	.v2xmodal-item-content h3 {
		font-size: 2.4rem;
	}
	.v2xmodal-item-content {
		padding: 6vw;
	}
	.v2xmodal-btn#select_v2l {
		top: auto;
		left: auto;
		bottom: 37.5%;
		right: 0;
	}
	.v2xmodal-btn#select_v2h {
		top: auto;
		left: auto;
		bottom: 25.8%;
		right: 0;
	}
	.v2xmodal-btn#select_v2b {
		top: auto;
		left: auto;
		bottom: 12.7%;
		right: 0;
	}
	.v2xmodal-btn#select_v2g {
		top: auto;
		left: auto;
		bottom: 0%;
		right: 0;
	}
}