@charset "UTF-8";

/* **************************
	共通
************************** */
h2 {
	font-size: 46px;
	margin: 0 0 40px 0;
	}

@media screen and (max-width: 768px) {
h2 {
	font-size: 38px;
	margin: 0 0 35px 0;
	}
}
@media screen and (max-width: 600px) {
.wbr-none {
	display: none;
	}
}


/* **************************
	ビジョン
************************** */
	.contentsWrap .vision {
		margin: 0 auto 50px auto;
		}

		.contentsWrap .vision h2 {
			text-align: center;
			line-height: 1.1;
			border-bottom: 1px solid #ddd;
			margin: 0 auto 40px;
			padding: 30px 0;
			position: relative;
			}

			.contentsWrap .vision h2 span {
				display: inline-block;
				}

			.contentsWrap .vision h2 .sub {
				font-size: 60%;
				}

		.contentsWrap .vision h3 {
			display: inline-block;
			background-color: #fff;
			border-radius: 8px 8px 0px 0px;
			-webkit-border-radius: 8px 8px 0px 0px;
			-moz-border-radius: 8px 8px 0px 0px;
			padding: 36px 0 0.45em 0;
			color: #232088;
			line-height: 1;
			font-size: 42px;
			margin: 0;
			width: 100%;
			text-align: center;
			}

			.contentsWrap .vision h3 span {
				color: #d70000;
				}

		.contentsWrap .vision p {
			font-size: 22px;
			line-height: 1.75;
			margin: 0 0 22px 0;
			padding: 0px;
			width: 100%;
			text-align: center;
			}

			.contentsWrap .vision p span {
				display: inline-block;
				}

@media screen and (max-width: 1100px) {
		.contentsWrap .vision h3 {
			font-size: 7.2vw;
			}
}

@media screen and (max-width: 1000px) {
			.contentsWrap .vision p span {
				display: inline;
				}
}

@media screen and (max-width: 768px) {
		.contentsWrap .vision h2 {
			padding: 15px 0 30px;
			margin: 0 auto 30px;
			}

		.contentsWrap .vision h2:before {
			width: 130px;
			height: 108px;
			}

		.contentsWrap .vision h3 {
			line-height: 1.2;
			font-size: 9.7vw;
			padding: 20px 0px 0.45em;
			}

			.contentsWrap .vision h3 span {
				display: block;
				}

		.contentsWrap .vision p {
			font-size: 18px;
			padding: 0 0 0 0px;
			}
}

@media screen and (max-width: 600px) {
		.contentsWrap .vision h2 {
			padding: 0 0 30px;
			font-size: 22px;
			line-height: 1.2;
			}

		.contentsWrap .vision h2:before {
			left: calc(50% - 40px);
			top: -25px;
			width: 80px;
			height: 66px;
			}
}



/* **************************
	政策
************************** */
	.contentsWrap .msn-d {
		margin: 0;
		padding: 150px 0 30px;
		width: 100%;
		position: relative;
		}

		.contentsWrap .msn-d .photo {
			border-radius: 16px;
			width: 60.6vw;
			height: 560px;
			margin: 0 auto 20px;
			}

		.contentsWrap .msn-d .txtBlock {
			width: 60.6vw;
			padding: 0 10px;
			}

			.contentsWrap .msn-d .txtBlock .icon {
				position: absolute;
				top: 90px;
				left: 17.5vw;
				width: 304px;
				margin: 0;
				}

			.contentsWrap .msn-d .txtBlock h2 {
				font-size: 36px;
				margin: 0 0 15px 0;
				line-height: 1.1;
				}

				.contentsWrap .msn-d .txtBlock h2 em {
					font-size: 48px;
					display: inline-block;
					background: #fff;
					padding: 10px 20px 15px 0;
					border-radius: 0px 8px 8px 0px;
					}

					.contentsWrap .msn-d .txtBlock h2 em span {
						color: #d70000;
						}

					.contentsWrap .msn-d .txtBlock h2 em ul {
						margin: 30px 0 0;
						padding: 0;
						font-size: 28px;
						text-align: left;
						color: #000;
						}
						.contentsWrap .msn-d .txtBlock h2 em ul li {
							margin: 20px 0 0;
							line-height: 1.4;
							color: #000;
							}
							.contentsWrap .msn-d .txtBlock h2 em ul li small {
								font-size: 80%;
								}

			.contentsWrap .msn-d .txtBlock .ctg {
				width: 360px;
				line-height: 1.75;
				margin: 0 0 30px 0;
				}

				.contentsWrap .msn-d .txtBlock .ctg span {
					display: inline-block;
					}

			.contentsWrap .msn-d .txtBlock .btnL {
				margin: 0 0;
				text-align: left;
				}

		.contentsWrap .msn-d1 .photo {
			background: url("../_images/index/msn02_pic.png") no-repeat center top;
			background-size: cover;
			}
		.contentsWrap .msn-d2 .photo {
			background: url("../_images/index/msn03_pic.png") no-repeat center top;
			background-size: cover;
			}
		.contentsWrap .msn-d3 .photo {
			background: url("../_images/index/msn01_pic.png") no-repeat center top;
			background-size: cover;
			}
		.contentsWrap .msn-d4 .photo {
			background: url("../_images/index/msn05_pic.png") no-repeat center top;
			background-size: cover;
			}
		.contentsWrap .msn-d5 .photo {
			background: url("../_images/index/kamiichi.png") no-repeat center top;
			background-size: cover;
			}
		.contentsWrap .msn-d6 .photo {
			background: url("../_images/index/msn06_pic.jpg") no-repeat center top;
			background-size: cover;
			}

	.contentsWrap .msn-d6 {
		margin: 0 0 120px 0;
		}


@media screen and (max-width: 1160px) {
		.contentsWrap .msn-d .txtBlock {
			left: 0;
			}
}

@media screen and (max-width: 1000px) {
		.contentsWrap .msn-d .photo {
			height: 56vw;
			}

			.contentsWrap .msn-d .txtBlock .icon {
				width: 30%;
				}
}

@media screen and (max-width: 768px) {
	.contentsWrap .msn-d {
		margin: 0 0 50px 0;
		}

		.contentsWrap .msn-d .photo {
			position: relative;
			width: 95vw;
			left: 5vw;
			}

		.contentsWrap .msn-d .txtBlock {
			position: relative;
			top: -50px;
			width: auto;
			padding: 0 30px 0 50px;
			}

			.contentsWrap .msn-d .txtBlock .icon {
				position: relative;
				top: auto;
				left: auto;
				width: 45%;
				border-radius: 8px 8px 0px 0px;
				padding: 10px 20px 0 20px;
				background-color: #fff;
				margin: 0 0 20px 0;
				}
}

@media screen and (max-width: 640px) {
		.contentsWrap .msn-d .txtBlock {
			padding: 0 30px 0 40px;
			}
}

@media screen and (max-width: 600px) {
	.contentsWrap .msn-d {
		margin: 0;
		padding: 0 0 50px;
		}
			.contentsWrap .msn-d .txtBlock h2 {
				font-size: calc(6vw + 2px);
				}

				.contentsWrap .msn-d .txtBlock h2 em {
					font-size: 24px;
					}
						.contentsWrap .msn-d .txtBlock h2 em ul li {
							font-size: 18px;	
							}
}

.policy {
	margin: 80px 0;
	text-align: center;
	font-size: 48px;
	line-height: 1.2;
	color: #232088;
	}
	.policy span {
		font-size: 100px;
		color: #df1815;
		}

.policy-list {
	width: 60.6vw;
	margin: 0 auto;
	padding: 0 0 0 40px;
	font-size: 24px;
	line-height: 1.4;
	}
	.policy-list li {
		margin: 30px 0;
		list-style-type: disc;
		}

@media screen and (max-width: 600px) {
.policy {
	margin: 80px 0;
	text-align: center;
	font-size: 24px;
	line-height: 1.2;
	color: #232088;
	}
	.policy span {
		font-size: 48px;
		color: #df1815;
		}

.policy-list {
	width: calc(100% - 50px);
	margin: 0 25px;
	padding: 0 0 0 25px;
	font-size: 22px;
	line-height: 1.4;
	}
	.policy-list li {
		font-size: 18px;
		}
}

.policy-link a {
	display: block;
	width: 90%;
	max-width: 600px;
	margin: 15px auto;
	padding: 30px;
	border: 2px solid #232088;
	border-radius: 5px;
	background-color: #232088;
	color: #fff;
	font-size: 21px;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	transition: 0.5s;
	}
.policy-link a:hover {
	background-color: #fff;
	color: #232088;
	text-decoration: none;
	transition: 0.5s;
	}


