@charset "utf-8";
.map_section {
		background: #FAFAFA;
		color: #022F7A;
		padding: 130px 0;
}
.map_hdr {
		display: flex;
		max-width: 1200px;
		margin: 0 auto -30px;
		padding: 0 40px
}
.map_hdr hgroup {
		margin-right: 60px;
}
.map_total {
		background: #EFEFF0;
		padding: 20px;
		color: #022F7A;
}
.map_total dl {
		display: flex;
		align-items: center;
}
.map_total dt {
		font-family: "Poppins", sans-serif;
		font-weight: 700;
}
.map_total dd {
		border-left: 1px solid #BEC9DD;
		padding-left: 15px;
		flex: 1;
		line-height: 1.8;
		font-size: 18px;
		margin-left: 15px;
		font-weight: 500;
}
.map_inner {
		max-width: 1220px;
		margin: 0 auto;
		padding: 0 40px
}
.map_base {
		position: relative;
}
.map_base img {
		width: 100%;
		height: auto;
}
.map_base .memberArea {
		position: absolute;
		width: 160px;
		color: #fff;
		padding: 25px 10px 30px;
		box-sizing: border-box;
		background-position: center center;
		background-size: 250px;
}
.map_base .hokkaido {
		width: 180px;
		left: 1007px;
		top: 37px;
		background-image: url("../images/hokkaido_bg.png")
}
.map_base .tohoku {
		left: 998px;
		top: 225px;
		width: 180px;
		background-image: url("../images/tohoku_bg.png")
}
.map_base .kanto {
		left: 889px;
		top: 414px;
		width: 220px;
		background-image: url("../images/kanto_bg.png")
}
.map_base .chubu {
		left: 630px;
		top: 530px;
		width: 200px;
		background-image: url("../images/chubu_bg.png")
}
.map_base .kinki {
		left: 440px;
		top: 143px;
		width: 200px;
		background-image: url("../images/kinki_bg.png")
}
.map_base .chugoku {
		left: 177px;
		top: 260px;
		width: 200px;
		background-image: url("../images/chugoku_bg.png")
}
.map_base .shikoku {
		left: 403px;
		top: 585px;
		width: 160px;
		background-image: url("../images/shikoku_bg.png")
}
.map_base .kyushu-okinawa {
		left: 20px;
		top: 446px;
		width: 220px;
		background-image: url("../images/kyushu-okinawa_bg.png")
}
.memberArea h5 {
		text-align: center;
		font-size: 18px;
		font-weight: 700;
		margin: 0 0 20px;
}
.memberList {
		display: flex;
		justify-content: center;
}
.memberList ul {
		list-style: none;
}
.memberList ul li {
		font-weight: 500;
		margin: 0 0 8px;
		position: relative;
		padding-left: 0.75em;
}
.memberList ul li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: 0
}
.memberList ul li:last-child {
		margin-bottom: 0;
}
.map_base .current {
		position: absolute;
		text-align: right;
		right: 0;
		bottom: 20px;
		font-size: 90%;
}
@media(max-width: 1320px) {
		.map_inner {
				padding-left: 3.25vw;
				padding-right: 3.25vw;
		}
		.map_base .memberArea {
				width: 160px;
				color: #fff;
				padding: 15px 10px
		}
		.map_base .hokkaido {
				width: 14vw;
				left: 75.5vw;
				top: 3vw;
		}
		.map_base .tohoku {
				left: 75vw;
				top: 16.9vw;
				width: 13.8vw;
		}
		.map_base .kanto {
				left: 66.8vw;
				top: 30.9vw;
				width: 17vw;
		}
		.map_base .chubu {
				left: 47.4vw;
				top: 40vw;
				width: 15.3vw;
		}
		.map_base .kinki {
				left: 33.3vw;
				top: 10.9vw;
				width: 15.1vw;
		}
		.map_base .chugoku {
				left: 13.3vw;
				top: 19.7vw;
				width: 15.3vw;
		}
		.map_base .shikoku {
				left: 30.4vw;
				top: 44.3vw;
				width: 12.3vw;
		}
		.map_base .kyushu-okinawa {
				left: 1.4vw;
				top: 33.7vw;
				width: 16.8vw;
		}
		.memberArea h5 {
				text-align: center;
				font-size: 16px;
				font-weight: 700;
				margin: 0 0 15px;
		}
		.memberList ul {
				font-size: 14px;
		}
}
@media(max-width: 960px) {
		.memberArea h5 {
				font-size: 15px;
				margin: 0 0 10px;
		}
		.memberList ul {
				font-size: 12px;
		}
		.map_base .kanto {
				left: 66.8vw;
				top: 31.7vw;
				width: 19vw;
		}
		.map_base .chubu {
				width: 17.5vw;
		}
		.map_base .kinki {
				left: 33vw;
				width: 17vw;
		}
		.map_base .chugoku {
				left: 13vw;
				width: 16.9vw;
		}
}
@media(max-width: 767px) {
		.map_section {
				padding: 60px 0;
		}
		.map_hdr {
				display: block;
				margin: 0 auto -30px;
				padding: 0 20px
		}
		.map_hdr hgroup {
				margin: 0 0 20px;
		}
		.map_total_wrap {
				display: flex
		}
		.map_total {
				padding: 12px;
		}
		.map_total dt {
				font-size: 14px;
				letter-spacing: 0
		}
		.map_total dd {
				font-size: 15px;
				padding-left: 10px;
				margin-left: 10px;
				line-height: 1.8;
		}
		.map_inner {
				padding-left: 0;
				padding-right: 0;
		}
		.map_base .memberArea {
				position: static;
				width: auto;
				padding: 15px 20px !important;
				background-size: 250px;
				margin: 0 25px 10px;
		}
		.map_base .memberArea.hokkaido {
				margin-top: 20px;
		}
		.memberArea h5 {
				font-size: 16px;
				margin: 0 0 15px;
				text-align: left;
		}
		.memberList {
				display: block;
		}
		.memberList ul {
				font-size: 14px;
				display: flex;
				align-items: center;
		}
		.memberList ul li {
				margin: 0 15px 0 0;
		}
		.memberList ul li:last-child {
				margin-right: 0
		}
		.map_base .current {
				position: static;
				text-align: right;
				font-size: 12px;
				margin: 20px 25px 0;
		}
}