@charset "utf-8";

.tenga_link li {
	max-width: 300px;
}

.pc_only {
	display: block;
}

.sp_only {
	display: none;
}

.o-title-lv2::after {
	content: '';
	display: block;
	position: absolute;
	width: 42px;
	height: 1px;
	background: #0072BC;
	bottom: 0;
	left: 50%;
	margin-left: -21px;
}

.o-title-lv3 {
	border: none;
}

.map_area {
	padding: 0 0 100px;
}

.map_area .l-sec__inner {
	background: url("../img/map.png") no-repeat center top 120px /contain;
	position: relative;
	min-height: 700px;
	max-width: 1080px;
	margin: 0 auto;
}

.map_area_ttl li {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	border: 2px solid #0072bc;
	background: #fff;
	position: absolute;
	padding: 0;
	cursor: pointer;
	width: 130px;
	line-height: 40px;
}

.map_area_ttl li a {
	color: #0072bc;
	text-decoration: none;
	display: block;
}

.map_area_ttl li a:hover {
	background: #0072bc;
	color: #fff;
}

/*北陸*/
.map_type01 li {
	top: 230px;
	left: 58%;
}

.map_type01:hover+.map_box {
	background: #B5DEFF;
}

/*東海*/
.map_type02 li {
	top: 500px;
	left: 62%;
}

.map_type02:hover+.map_box {
	background: #B5DEFF;
}

/*関西*/
.map_type03 li {
	top: 410px;
	left: 47%;
}

.map_type03:hover+.map_box {
	background: #B5DEFF;
}

/*四国*/
.map_type04 li {
	top: 550px;
	left: 33%;
}

.map_type04:hover+.map_box {
	background: #B5DEFF;
}

/*中国*/
.map_type05 li {
	top: 400px;
	left: 30%;
}

.map_type05:hover+.map_box {
	background: #B5DEFF;
}

/*九州*/
.map_type06 li {
	top: 470px;
	left: 10%;
}

.map_type06:hover+.map_box {
	background: #B5DEFF;
}

.map_box {
	background: #fff;
	padding: 8px 12px;
	position: absolute;
	width: 100%;
	box-shadow: 0 3px 15px rgba(0, 0, 0, .2);
}

.map_box dt {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0;
	text-align: center;
	margin-bottom: 10px;
}

.map_box dt a {
	color: #fff;
	display: block;
	text-decoration: none;
}

.map_box dt a:hover {
	color: #fff;
	opacity: .8;
}

.map_box dd ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}

.map_box dd li {
	width: 75px;
	height: 34px;
	border-radius: 10px;
	text-align: center;
	line-height: 34px;
	font-size: 14px;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
	font-weight: bold;
	background: #F5F7FA;
}

.map_box dd li a {
	color: #1a1311;
	display: block;
	text-decoration: none;
	white-space: nowrap;
}

.map_box dd li a:hover {
	border-radius: 10px;
	color: #fff;
	background: #0072BC;
}

/*中国*/
.map_box.type01 {
	max-width: 260px;
	top: 0;
	left: 0;
}

.map_box.type01 dt {
	background: #1565C0;
}

.map_box.type01 dd ul::after {
	content: "";
	display: block;
	width: 74px;
}

/*四国*/
.map_box.type02 {
	max-width: 180px;
	top: 0;
	left: 280px;
}

.map_box.type02 dt {
	background: #1976D2;
}

/*近畿*/
.map_box.type03 {
	max-width: 260px;
	top: 0;
	left: 480px;
}

.map_box.type03 dt {
	background: #1E88E5;
}

/*北陸*/
.map_box.type04 {
	max-width: 180px;
	top: 0;
	right: 0;
}

.map_box.type04 dt {
	background: #42A5F5;
}

.map_box.type04 dd ul::after {
	content: "";
	display: block;
	width: calc(100% / 4 - 5px);
}

/*東海*/
.map_box.type05 {
	max-width: 180px;
	right: 0;
	top: 160px;
}

.map_box.type05 dt {
	background: #64B5F6;
}


/*九州・沖縄*/
.map_box.type06 {
	max-width: 260px;
	top: 160px;
	left: 0;
}

.map_box.type06 dt {
	background: #0D47A1;
}

.map_box.type06 dd ul::after {
	content: "";
	display: block;
	width: 74px;
}

@media (max-width: 1030px) {
	.map_type02 li {
		top: 450px;
	}

	.map_type03 li {
		top: 380px;
	}

	.map_type04 li {
		top: 72%;
	}

	.map_type05 li {
		top: 370px;
	}

	.map_type06 li {
		top: 420px;
	}
}

@media (max-width: 968px) {
	html, body.cmn2 {
		overflow-x: visible;
	}
}

@media (max-width: 950px) {
	.map_area .l-sec__inner {
		min-height: 650px;
	}

	.map_box.type04 {
		top: 160px;
	}

	.map_box.type05 {
		top: 320px;
	}

	.map_type05 li {
		top: 340px;
		left: 28%;
	}

	.map_type04 li {
		top: 72%;
	}
}


@media (max-width: 850px) {

	.map_area .l-sec__inner {
		position: inherit;
	}

	.pc_only {
		display: none;
	}

	.sp_only {
		display: block;
	}

	.map_area {
		padding: 0 15px;
	}

	.map_area .l-sec__inner {
		position: inherit;
		min-height: inherit;
		background-size: contain;
		background-position: top center;
	}

	.map_list_zu {
		position: relative;
		height: 50vw;
		max-height: 400px;
	}

	.map-list li {
		/* overflow: hidden; */
		position: absolute;
		font-size: 12px;
		font-weight: bold;
		letter-spacing: 0.05em;
		text-align: center;
		border: 2px solid #0072bc;
		background: #fff;
		position: absolute;
		color: #0072bc;
		padding: 0;
		cursor: pointer;
		width: 76px;
		height: 24px;
	}

	.map-list li a {
		display: block;
		height: 100%;
		width: 100%;
		text-decoration: none;
	}

	.map-list li:nth-of-type(1) {
		top: 5vw;
		right: 28vw;
	}

	.map-list li:nth-of-type(2) {
		bottom: 17vw;
		right: 25vw;
	}

	.map-list li:nth-of-type(3) {
		top: 23vw;
		right: 40vw;
	}

	.map-list li:nth-of-type(4) {
		top: 33vw;
		left: 33vw;
	}

	.map-list li:nth-of-type(5) {
		top: 19vw;
		left: 30vw;
	}

	.map-list li:nth-of-type(6) {
		top: 25vw;
		left: 12vw;
	}

	.map_box dd li a {
		outline: none;
	}

	.map_box {
		position: inherit;
		margin-bottom: 20px;
	}

	.map_box.type01, .map_box.type02, .map_box.type03, .map_box.type04, .map_box.type05, .map_box.type06 {
		max-width: inherit;
	}

	.map_box.type03 dd ul::after {
		content: "";
		display: block;
		width: calc((100% / 4 - 2px) * 2);
	}

	.map_box dd li {
		width: calc(100% / 4 - 5px);
	}

}

@media (max-width: 650px) {
	.map-list li:nth-of-type(1) {
		top: 2vw;
		right: 22vw;
	}

	.map-list li:nth-of-type(2) {
		bottom: 20vw;
		right: 17vw;
	}

	.map-list li:nth-of-type(3) {
		top: 16vw;
		right: 35vw;
	}

	.map-list li:nth-of-type(4) {
		top: 27vw;
		left: 27vw;
	}

	.map-list li:nth-of-type(5) {
		top: 10vw;
		left: 25vw;
	}

	.map-list li:nth-of-type(6) {
		top: 20vw;
		left: 8vw;
	}
}

@media (max-width: 374px) {
	.map-list li:nth-of-type(1) {
		top: 0vw;
	}

	.map-list li:nth-of-type(3) {
		top: 15vw;
	}

	.map-list li:nth-of-type(5) {
		top: 8vw;
	}

}