@charset "utf-8";
/* ****************************

front-page.php 用スタイルシート

******************************* */










/* =============================================================================
   コンテンツスタイル
   ========================================================================== */

/* mv */
.front .mv {
	margin-bottom: 50px;
}
.front .mv figure {
	text-align: center;
}
.front .mv h1 {
	text-align: center;
	padding-top: 30px;
}
@media only screen and (max-width: 767px) {
	.front .mv {
		margin-bottom: 30px;
	}
	.front .mv h1 {
		padding-top: 20px;
	}
}






/* sec01 */
.front .sec01 {}
.front .secBox.sec01 {}
.front .secBox.sec01 hgroup figure img {
	border-color: #339cc8;
}
.front .secBox.sec01 hgroup h2 span {
	box-shadow: 5px 7px 0px 0 #fbb03b;
}
.front .secBox.sec01 .inner {
	background-color: #339cc8;
}
.front .sec01 .headline {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 50px;
}
.front .sec01 .headline figure {
	width: 49%;
}
.front .sec01 .headline .text {
	width: 48%;
}
.front .sec01 .headline .text h3 {
	font-size: 1.5em;
	margin-bottom: 10px;
}
.front .sec01 .headline .text h4 {
	font-size: 1.25em;
	margin-top: 30px;
	margin-bottom: 10px;
}
@media only screen and (max-width: 1000px) {
	.front .sec01 .headline figure {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	.front .sec01 .headline .text {
		width: 100%;
	}
}
@media only screen and (max-width: 767px) {
	.front .sec01 .headline {
		padding: 0 20px;
	}
}

.front .sec01 h3.point {
	text-align: center;
	font-size: 1.5em;
	line-height: 1;
}
.front .sec01 h3.point span {
	background: #fbb03b;
	color: #fff;
	display: inline-block;
	padding: 20px 25px;
	border-radius: 10px;
}
.front .sec01 ul.list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.front .sec01 ul.list li {
	width: 48%;
	box-sizing: border-box;
	margin-top: 30px;
}
.front .sec01 ul.list li h4 {
	font-size: 1.25em;
	margin-bottom: 10px;
}
.front .sec01 ul.list li .flex {
	display: flex;
}
.front .sec01 ul.list li .flex figure {
	width: 38%;
	margin-right: 4%;
}
.front .sec01 ul.list li .flex .text {
	flex: 1;
	font-size: 0.875em;
}
@media only screen and (max-width: 1000px) {
	.front .sec01 ul.list li {
		width: 100%;
		margin-top: 20px;
	}
	.front .sec01 ul.list li .flex figure {
		width: 34%;
		max-width: 180px;
		margin-right: 4%;
	}
}






/* sec02 */
.front .sec02 {}
.front .secBox.sec02 {}
.front .secBox.sec02 hgroup figure img {
	border-color: #ffbc5c;
}
.front .secBox.sec02 hgroup h2 span {
	box-shadow: 5px 7px 0px 0 #ed1c24;
}
.front .secBox.sec02 .inner {
	background-color: #ffbc5c;
	color: #000;
}
.front .sec02 .headline {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 50px;
}
.front .sec02 .headline figure {
	width: 49%;
}
.front .sec02 .headline .text {
	width: 48%;
}
.front .sec02 .headline .text h3 {
	font-size: 1.5em;
	margin-bottom: 10px;
}
.front .sec02 .headline .text h4 {
	font-size: 1.25em;
	margin-top: 30px;
	margin-bottom: 10px;
}
@media only screen and (max-width: 1000px) {
	.front .sec02 .headline figure {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
	.front .sec02 .headline .text {
		width: 100%;
	}
}
@media only screen and (max-width: 767px) {
	.front .sec02 .headline {
		padding: 0 20px;
	}
}

.front .sec02 .detail {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
}
.front .sec02 .detail .col {
	width: 48%;
}
.front .sec02 .detail .col h4 {
	margin-bottom: 10px;
	font-size: 1.5em;
}
.front .sec02 .detail .col h4.third {
	margin-top: 30px;
}
.front .sec02 .detail .col p.note {
	font-size: 0.875em;
}
.front .sec02 .detail .col table {
	border: 1px solid #000;
}
.front .sec02 .detail .col table th,
.front .sec02 .detail .col table td {
	padding: 15px 15px;
	font-size: 0.875em;
	font-weight: 500;
	border: 1px solid #c5c5c5;
	background: #fff;
}

.front .sec02 h3.point {
	text-align: center;
	font-size: 1.5em;
	line-height: 1;
}
.front .sec02 h3.point span {
	background: #ed1c24;
	color: #fff;
	display: inline-block;
	padding: 20px 25px;
	border-radius: 10px;
}
.front .sec02 ul.list1 {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 50px;
}
.front .sec02 ul.list1 li {
	width: 48%;
	box-sizing: border-box;
	background: #fff;
	color: #000;
	border-radius: 10px;
	padding: 20px 20px;
	margin-top: 30px;
}
.front .sec02 ul.list1 li h4 {
	font-size: 1.5em;
	margin-bottom: 10px;
	border-left: 4px solid #ed1c24;
	color: #ed1c24;
	padding-left: 10px;
}
.front .sec02 ul.list1 li p {
	font-size: 0.875em;
}
.front .sec02 ul.list2 {
	margin: 0;
	padding: 0;
	list-style: none;
	margin-top: 20px;
}
.front .sec02 ul.list2 li {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	color: #000;
	border-radius: 10px;
	padding: 20px 20px;
	margin-bottom: 30px;
}
.front .sec02 ul.list2 li::after {
	content: "";
	background: #fff;
	width: 4px;
	height: 30px;
	position: absolute;
	bottom: -30px;
	left: 50%;
	transform: translateX(-50%);
}
.front .sec02 ul.list2 li.end {
	margin-bottom: 0;
}
.front .sec02 ul.list2 li.end::after {
	content: none;
}
.front .sec02 ul.list2 li h4 {
	font-size: 1.5em;
	margin-bottom: 10px;
	color: #ed1c24;
}
.front .sec02 ul.list2 li p {
	font-size: 0.875em;
}
@media only screen and (max-width: 800px) {
	.front .sec02 .detail .col {
		width: 100%;
	}
	.front .sec02 .detail .col h4 {
		font-size: 1.4em;
	}
	.front .sec02 .detail .col h4.second,
	.front .sec02 .detail .col h4.third {
		margin-top: 20px;
	}
	.front .sec02 ul.list1 li {
		width: 100%;
		margin-top: 20px;
	}
	.front .sec02 ul.list2 li {
		margin-bottom: 20px;
	}
	.front .sec02 ul.list2 li::after {
		height: 20px;
		bottom: -20px;
	}
}





/* sec03 */
.front .sec03 {}
.front .secBox.sec03 {}
.front .secBox.sec03 hgroup figure img {
	border-color: #f15a24;
}
.front .secBox.sec03 hgroup h2 span {
	box-shadow: 5px 7px 0px 0 #1a1a1a;
}
.front .secBox.sec03 .inner {
	background-color: #f15a24;
}
.front .sec03 h3 {
	text-align: center;
	font-size: 1.5em;
	line-height: 1;
	margin-bottom: 20px;
}
.front .sec03 h3 span {
	background: #000;
	display: inline-block;
	padding: 20px 25px;
	border-radius: 10px;
}
.front .sec03 ul.list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 50px;
}
.front .sec03 ul.list li {
	width: 32%;
	box-sizing: border-box;
	background: #fff;
	color: #000;
	border-radius: 10px;
	padding: 15px 15px;
}
.front .sec03 ul.list li figure {
	text-align: center;
}
.front .sec03 ul.list li h4 {
	font-size: 1.25em;
	text-align: center;
	margin: 10px 0;
}
.front .sec03 ul.list li p {
	font-size: 0.875em;
}
.front .sec03 p.catch {
	text-align: center;
	font-size: 1.5em;
}
.front .sec03 p.catch strong {
	font-size: 1.25em;
	color: #fcee21;
}
@media only screen and (max-width: 880px) {
	.front .sec03 ul.list li h4 {
		font-size: 1.125em;
	}
}
@media only screen and (max-width: 800px) {
	.front .sec03 h3 {
		font-size: 1.25em;
		margin-bottom: 10px;
	}
	.front .sec03 h3 span {
		padding: 15px 20px;
	}
	.front .sec03 ul.list {
		margin-bottom: 40px;
	}
	.front .sec03 ul.list li {
		width: 100%;
		margin-top: 10px;
	}
	.front .sec03 ul.list li h4 {
		font-size: 1.25em;
	}
	.front .sec03 p.catch {
		padding: 0;
		font-size: 1.25em;
	}
}





/* sec04 */
.front .sec04 {}
.front .secBox.sec04 {}
.front .secBox.sec04 hgroup figure img {
	border-color: #339cc8;
}
.front .secBox.sec04 hgroup h2 span {
	box-shadow: 5px 7px 0px 0 #fbb03b;
}
.front .secBox.sec04 .inner {
	background-color: #339cc8;
}
.front .sec04 .col {
	display: flex;
	flex-wrap: wrap;
	background: #003255;
	padding-right: 20px;
	margin-top: 40px;
}
.front .sec04 .col figure {
	width: 36%;
}
.front .sec04 .col figure .pc {
	display: inline;
}
.front .sec04 .col figure .sp {
	display: none;
}
.front .sec04 .col .text {
	width: 32%;
	box-sizing: border-box;
	padding-top: 20px;
	padding-left: 30px;
	font-size: 0.875em;
}
.front .sec04 .col .text h3 {
	font-size: 1.25em;
	margin: 0;
	margin-bottom: 15px;
}
.front .sec04 .col .text h4 {
	font-size: 1.0em;
	margin: 0;
	margin-bottom: 15px;
}
.front .sec04 .col .text table th {
	font-size: 1.0em;
	font-weight: 700;
	padding: 3px 0;
	padding-right: 10px;
	border: none;
}
.front .sec04 .col .text table td {
	padding: 5px 0;
	border: none;
}
.front .sec04 .map {
	height: 200px;
}
.front .sec04 .col.blue {
	background: #006899;
}
.front .sec04 .col.blue nav.btnStyle01 a {
	color: #006899;
}
.front .sec04 .col.red {
	background: #df3800;
}
.front .sec04 .col.red nav.btnStyle01 a {
	color: #df3800;
}
.front .sec04 .col.green {
	background: #60a743;
}
.front .sec04 .col.green nav.btnStyle01 a {
	color: #60a743;
}
.front .sec04 .col.orange {
	background: #f19430;
}
.front .sec04 .col.orange nav.btnStyle01 a {
	color: #f19430;
}
@media only screen and (max-width: 1050px) {
	.front .sec04 .col {
		padding-right: 0;
		padding-bottom: 30px
	}
	.front .sec04 .col figure {
		width: 100%;
	}
	.front .sec04 .col figure .pc {
		display: none;
	}
	.front .sec04 .col figure .sp {
		display: inline;
	}
	.front .sec04 .col .text {
		width: 50%;
		padding: 0 20px;
		padding-top: 20px;
	}
	.front .sec04 .map {
		height: 360px;
	}
}
@media only screen and (max-width: 500px) {
	.front .sec04 .col .text {
		width: 100%;
	}
	.front .sec04 .col .text h3 {
		margin-bottom: 10px;
	}
	.front .sec04 .col .text h4 {
		margin-bottom: 10px;
	}
}





/* sec05 */
.front .sec05 {}
.front .secBox.sec05 {}
.front .secBox.sec05 hgroup figure img {
	border-color: #339cc8;
}
.front .secBox.sec05 hgroup h2 span {
	box-shadow: 5px 7px 0px 0 #fbb03b;
}
.front .secBox.sec05 .inner {
	background-color: #339cc8;
}
.front .sec05 .col {
	display: flex;
	flex-wrap: wrap;
	background: #003255;
	padding-right: 20px;
}
.front .sec05 .col figure {
	width: 36%;
}
.front .sec05 .col figure .pc {
	display: inline;
}
.front .sec05 .col figure .sp {
	display: none;
}
.front .sec05 .col .text {
	width: 32%;
	box-sizing: border-box;
	padding-top: 20px;
	padding-left: 30px;
	font-size: 0.875em;
}
.front .sec05 .col .text h3 {
	font-size: 1.25em;
	margin: 0;
	margin-bottom: 15px;
}
.front .sec05 .col .text h4 {
	font-size: 1.0em;
	margin: 0;
	margin-bottom: 15px;
}
.front .sec05 .col .text table th {
	font-size: 1.0em;
	font-weight: 700;
	padding: 3px 0;
	padding-right: 10px;
	border: none;
}
.front .sec05 .col .text table td {
	padding: 5px 0;
	border: none;
}
.front .sec05 .map {
	height: 200px;
}
@media only screen and (max-width: 1050px) {
	.front .sec05 .col {
		padding-right: 0;
		padding-bottom: 30px
	}
	.front .sec05 .col figure {
		width: 100%;
	}
	.front .sec05 .col figure .pc {
		display: none;
	}
	.front .sec05 .col figure .sp {
		display: inline;
	}
	.front .sec05 .col .text {
		width: 50%;
		padding: 0 20px;
		padding-top: 20px;
	}
	.front .sec05 .map {
		height: 360px;
	}
}
@media only screen and (max-width: 500px) {
	.front .sec05 .col .text {
		width: 100%;
	}
	.front .sec05 .col .text h3 {
		margin-bottom: 10px;
	}
	.front .sec05 .col .text h4 {
		margin-bottom: 10px;
	}
}






/* sec06 */
.front .sec06 {}
.front .secBox.sec06 {}
.front .secBox.sec06 hgroup figure img {
	border-color: #ffbc5c;
}
.front .secBox.sec06 hgroup h2 span {
	box-shadow: 5px 7px 0px 0 #ed1c24;
}
.front .secBox.sec06 .inner {
	background-color: #ffbc5c;
	color: #000;
}
.front .sec06 .flex {
	display: flex;
	justify-content: space-between;
}
.front .sec06 .flex .left {
	width: 48%;
}
.front .sec06 .flex .right {
	width: 46%;
	display: flex;
	flex-direction: column;
}
.front .sec06 .flex .right .map {
	height: 100%;
}
.front .sec06 .flex h3 {
	margin-bottom: 10px;
	font-size: 1.5em;
}
.front .sec06 .flex table {
	border: 1px solid #000;
}
.front .sec06 .flex table th,
.front .sec06 .flex table td {
	padding: 20px 15px;
	font-size: 0.875em;
	font-weight: 500;
	border: 1px solid #c5c5c5;
	background: #fff;
}
@media only screen and (max-width: 1000px) {
	.front .sec06 .flex {
		flex-direction: column;
	}
	.front .sec06 .flex .left {
		width: 100%;
		margin-bottom: 30px;
	}
	.front .sec06 .flex .right {
		width: 100%;
	}
	.front .sec06 .flex .right .map {
		height: 360px;
	}
}



