@charset "utf-8";
.sec1{
	max-width: 1000px;
    margin: 80px auto;
}
.sec1 .heading {
	display: block;
	width: max-content;
	margin: 0 auto 30px;
}
.sec1 table{
	width: 100%;
}
.sec1 table,.sec1 table th,.sec1 table td{
	border-collapse: collapse;
	border: 1px solid #212529;
}
.sec1 table th{
	width: 20%;
	padding: 15px 0px;
	background: #f5f5f5;
}
.sec1 table td{
	width: 80%;
	padding: 15px;
}
.sec1 table td ul li{
	margin-bottom: 10px;
}
.sec1 table td ul li:last-of-type{
	margin-bottom: 0;
}
.sec1 table td dl{
	line-height: 1.6;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.sec1 table td dl div{
	display: flex;
	gap: 20px;
}
.sec1 table td dl dt{
	color: #376042;
	display: flex;
}
.sec1 table td dl dt .wareki{
    width: 75px;
}
.sec1 table td dl dt .wareki.shrink{
    letter-spacing: -0.03em;
}
.sec1 table td dl dt .seireki{
    width: 85px;
}
.sec1 table td dl dt .month{
    width: 40px;
    text-align: right;
}
.sec1 table td dl dd{
  width: calc(100% - 200px);
}
@media screen and (max-width: 1024px) {
	.sec1{
		margin: 60px 4%;
	}
	.sec1 table,.sec1 table tr,.sec1 table tbody,.sec1 table th,.sec1 table td{
		display: block;
		line-height: 1.6;
	}
	.sec1 table tr{
		border-bottom: 1px solid #212529;
	}
	.sec1 table tr:last-of-type{
		border: 0;
	}
	.sec1 table th{
		width: 100%;
		border: 0;
	}
	.sec1 table td{
		width: 100%;
		border: 0;
		text-align: center;
		line-height: 1.3;
	}
	.sec1 table td ul li{
		margin-bottom: 10px;
		text-align: left;
		line-height: 1.3;
	}
	.sec1 table td dl{
		line-height: 1.6;
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	.sec1 table td dl div{
		gap: 5px;
		flex-direction: column;
	}
	.sec1 table td dl dt{
		width: auto;
		text-align: left;
	}
	.sec1 table td dl dt .wareki{
    width: auto;
 }
	.sec1 table td dl dt .seireki{
		width: auto;
	}
	.sec1 table td dl dt .month{
		width: auto;
		text-align: left;
	}
	.sec1 table td dl dd{
		width: auto;
		text-align: left;
	}
}

.sec2{
	text-align: center;
}
.sec2 .heading{
	display: inline-block;
}
.sec2 .map{
	width: 100%;
	height: 0;
	padding-top: 20%;
}
@media screen and (max-width: 1024px) {
	.sec2 .map{
		padding-top: 70%;
	}
}

.partner {
	text-align: center;
	max-width: 1000px;
	margin: 0 auto 80px;
}
.partner .heading {
	display: inline-block;
}
.partner__list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
}
.partner__item {
	text-align: center;
	padding: 20px 0;
	border: solid 1px #000;
	margin-right: -1px;
  margin-bottom: -1px;
	line-height: calc(20 / 16);
	place-content: center;
}
.partner__text {
	text-align: left;
	margin-top: 20px;
	font-size: 14px;
}
@media screen and (max-width: 1024px) {
	.partner {
		padding: 0 4%;
	}
	.partner__list {
		grid-template-columns: 1fr 1fr 1fr;
	}
}
@media screen and (max-width: 700px) {
	.partner__list {
		grid-template-columns: 1fr 1fr;
	}
	.partner__item {
		padding: 16px 0;
	}
	.partner__item br {
		display: none;
	}
}