@import url("sub.css");


.sub01 .grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.sub01 .grid > div {
	position: relative;
	background: #fff;
	font-size: 0;
}
.sub01 .grid > div:before {
	content: '';
	display: block;
	background: #132761;
	position: absolute;
	top: 0;
	left: 0;
	width: 90px;
	height: 100%;
}
.sub01 .grid > div strong {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 90px;
	text-align: center;
	background: #132761;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	padding: 24px 0 20px;
	box-sizing: border-box;
}
.sub01 .grid > div p {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 90px);
	font-size: 16px;
	line-height: 1.3;
	padding: 5px 10px 0 30px;
	word-break: keep-all;
	box-sizing: border-box;
}
.sub01 .grid > div img {
	vertical-align: middle;
	height: 35px;
	margin-right: 30px;
}
.sub01 .grid > div img:last-child {
	margin-right: 0;
}
.sub01 .desc {
	margin-top: 15px;
}


.sub01 .map .grid > div:before {
	display: none;
}
.sub01 .map .grid > div strong {
	width: 140px;
}
.sub01 .map .grid > div p {
	width: calc(100% - 140px);
}
.sub01 .map .grid > div p + div {
	border-top: 10px solid #f7f7f7;
	width: 100%;
}
.sub01 .map .grid > div p + div.map_img {
	display: block;
	width: 100%;
	height: 430px;
}
.sub01 .map .grid > div p + div.map_img .wrap_map {
	height: 430px;
}
.sub01 .map .grid > div p + div.youtube a {
	position: relative;
	display: block;
	height: 430px;
	font-size: 16px;
	text-align: center;
	background: url("../images/ico-youtube.svg")no-repeat 50% 40%;
}
.sub01 .map .grid > div p + div.youtube a span {
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%,-50%);
}



@media screen and (max-width: 1400px){
	.sub01 .grid > div img {
		vertical-align: top;
	    height: 30px;
	    margin-right: 25px;
	}
}
@media screen and (max-width: 1140px){
	.sub01 .grid > div strong {
		font-size: 14px;
	}
	.sub01 .grid > div p {
		padding: 5px 10px 0 15px;
		font-size: 14px;
	}
	.sub01 .grid > div img {
	    height: 25px;
	    margin-right: 20px;
	}
	.sub01 .desc {
		font-size: 14px;
	}
	.sub01 .map .grid > div p + div.map_img,
	.sub01 .map .grid > div p + div.map_img .wrap_map,
	.sub01 .map .grid > div p + div.youtube a {
		height: 355px;
	}
	.sub01 .map .grid > div p + div.youtube a span {
		top: 60%;
		width: 100%;
	}
}
@media screen and (max-width: 768px){
	.sub01 .grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.sub01 .grid > div:before {
		width: 70px;
	}
	.sub01 .grid > div strong {
		width: 70px;
		padding: 16px 0 12px;
	}
	.sub01 .desc {
	    font-size: 12px;
	}

	.sub01 .map .grid {
		gap: 20px;
	}
	.sub01 .map .grid > div strong {
	    width: 100px;
	}
	.sub01 .map .grid > div p + div.youtube a {
	    height: 200px;
	}
	.sub01 .map .grid > div p + div.youtube a span {
	    top: 70%;
	    font-size: 14px;
	}
}
@media screen and (max-width: 380px){
	.sub01 .grid > div strong {
		font-size: 12px;
	}
	.sub01 .grid > div p {
		font-size: 12px;
		padding: 5px 10px 0 10px;
	}
	.sub01 .grid > div img {
	    height: 20px;
	    margin-right: 15px;
	}
}