
section ul.niretsu{display:flex;flex-wrap:wrap;margin:50px auto;}
section ul.final{display:block;flex-wrap:wrap;margin:50px auto;}
section ul.yonretsu li{width:calc(100%/4 - 40px);margin:20px 20px 40px;}
section ul.sanretsu li{width:calc(100%/3 - 40px);margin:20px 20px 40px;}
section ul.niretsu li{width:calc(100%/2 - 40px);margin:20px 20px 40px;}
section ul.final li{width: calc(70%);margin: 20px auto 0;}

section#gallery ul{text-align: center; align-items: baseline;}
section#gallery ul img{width: auto; max-height: 100%; max-width: 100%;}
section#gallery ul li h4{border-bottom:1px solid #FAA403;font-size:22px;font-weight:normal;margin:0px;}
section#gallery ul li p{font-size:16px;line-height:1.5em;margin:10px 0;padding:0px;}

section h3{border-bottom:1px solid #FAA403;font-size:22px;font-weight:normal;margin:0 auto 10px; color: #FAA403;}
section h2.final {color: #DA2D30; }
.submain section h2.final::after{   border-bottom: 2px solid #DA2D30;}
.submain section > h3::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 0px solid transparent;
    border-right: 0px solid transparent;
    border-top: 0px solid #FAA403;
    position: absolute;
    bottom: 12px;
    left: calc(50% - 4px);
}

@media all and (min-width: 0px) and (max-width: 767px) {
section ul.yonretsu li,
section ul.sanretsu li,
section ul.niretsu li{width:44%;margin:2vw 3% 4vw;}
section ul.final li{width:100%;margin:2vw 3% 4vw;}
section#gallery ul img{width: 100%;}
section#gallery ul li h4{font-size:4vw;line-height:1.5em;}
section#gallery ul li p{font-size:2.5vw;margin:1vw 0;}
}

.niretsu {}
.niretsu li h3 {
	color: #FAA403;
	text-align: center;
	font-size: 22px;
	border-bottom: 2px solid #FAA403;
	font-weight: bold;
}
.niretsu li h3 span {
	font-size: 14px;
	margin-left: 10px;
}
.niretsu li p {
	font-size: 18px;
	line-height: 1.4;
}

.niretsu li div {
    clear: both;
    display: flex;
    flex-wrap: wrap;
}
.niretsu li div a {
	width: calc(100%/3 - 21px);
	padding: 2px 5px;
	margin: 5px 5px 10px;
	text-align: center;
	display: block;
	background: #FAA403;
	border-radius: 3px;
	color: white;
	line-height: 1.25em;
}
.niretsu li div a.keibajo {
	padding-top: 3%;
}




.final li h3 {
	color: #DA2D30;
	text-align: center;
	font-size: 22px;
	border-bottom: 2px solid #DA2D30;
	font-weight: bold;
}
.final li h3 span {
	font-size: 14px;
	margin-left: 10px;
}
.final li p {
	font-size: 18px;
	line-height: 1.4;
}

.final li div {
    clear: both;
    display: flex;
    flex-wrap: wrap;
}
.final li div a {
	width: calc(100%/3 - 21px);
	padding: 2px 5px;
	margin: 5px 5px 10px;
	text-align: center;
	display: block;
	background: #DA2D30;
	border-radius: 3px;
	color: white;
	line-height: 1.25em;
}
.final li div a.keibajo {
	padding-top: 2%;
}

@media all and (min-width: 0px) and (max-width: 767px) {
	section ul.niretsu li{width:100%;margin:2vw 0 4vw;}
	.niretsu li div a {
		width: calc(100%/3 - 23px);
		padding: 5px 5px;
		margin: 5px 5px 10px;
		font-size: 13px;
	}
	section ul.niretsu li{width:100%;margin:2vw 0 4vw;}
	.final li div a {
		width: calc(100%/3 - 23px);
		padding: 5px 5px;
		margin: 5px 5px 10px;
		font-size: 13px;
	}
}
.niretsu {}
.niretsu {}
.niretsu {}

