@charset "utf-8";
.title{
	width: 100%;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 35px;
	line-height: 55px;
	letter-spacing: calc((120/1000)*1em);
}
@media only screen and (max-width: 767px){
	.title{
		font-size: 25px;
		line-height: 35px;
	}
}
.title img{
	width: 26px;
	height: auto;
	display: block;
	margin-bottom: 5px;
}
@media only screen and (max-width: 767px){
	.title img{
		width: 22px;
	}
}
.sub_title{
	color: #0E1646;
	font-family: "din-2014", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	line-height: 24px;
	letter-spacing: calc((120/1000)*1em);
}
@media only screen and (max-width: 767px){
	.sub_title{
		font-style: normal;
		font-size: 11px;
		line-height: 21px;
	}
}

/*-----------------------------------------------------
contents01ここから
-----------------------------------------------------*/
.contents01{
	width: 100%;
	height: auto;
	display: block;
}
.contents01 .contents01_01{
	width: 1120px;
	height: auto;
	margin: 0 auto;
	background-color: #fff;
	padding: 25px 0 0;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01{
		width: 90%;
		max-width: 320px;
		padding: 0;
		padding: 7px 0 0;
	}
}
/*.contents01 .contents01_01 h2{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 25px;
	letter-spacing: 0.01em;
	line-height: 34px;
	margin-bottom: 42px;
}
@media only screen and (max-width: 767px) {
	.contents01 .contents01_01 h2{
		font-size: 20px;
		line-height: 25px;
		margin-bottom: 28px;
	}
}*/
.contents01 .contents01_01 table{
	width: 860px;
	height: auto;
	margin: 65px auto 0;
	table-layout: fixed;
	text-align: left;
	border: 1px solid #A09E9E;
}
@media only screen and (max-width: 767px) {
	.contents01 .contents01_01 table{
		width: 100%;
		margin: 35px auto 0;
	}
}
.contents01 .contents01_01 table tr th{
	width: 295px;
	height: auto;
	padding: 20px 18px;
	border-bottom: 1px solid #A09E9E;
	font-size: 15px;
	line-height: 25px;
	vertical-align: top;
	vertical-align: middle;
	background-color: #0E1646;
	color: #fff;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01 table tr th{
		width: 75px;
		text-align: center;
		font-size: 14px;
		line-height: 24px;
		padding: 24px 9px;
	}
}
.contents01 .contents01_01 table tr td{
	width: auto;
	height: auto;
	padding: 21px 28px 21px 28px;
	border-bottom: 1px solid #A09E9E;
	font-size: 15px;
	line-height: 25px;
	vertical-align: middle;
}
@media only screen and (max-width: 767px) {
	.contents01 .contents01_01 table tr td{
		width: auto;
		height: auto;
		padding: 12px 13px;
		font-size: 15px;
		line-height: 25px;
		vertical-align: middle;
	}
}
.contents01 .contents01_01 table tr td p{
	font-size: 15px;
	line-height: 25px;
	margin-top: 15px;
}
.contents01 .contents01_01 table tr td p.add01{
	margin-top: 0;
}
.contents01 .contents01_01 table tr td p span{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.contents01 .contents01_01 table tr td p a{
	background-color: #023C91;
	width: 40px;
	height: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 12px;
	margin-left: 20px;
}
.contents01 .contents01_01 table tr td a{
	font-size: 15px;
	line-height: 25px;
	margin: 0;
	display: inline-block;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01 table tr td a{
		pointer-events: auto;
	}
}
.contents01 .contents01_01 ul{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
	margin-top: 64px;
}
@media only screen and (max-width: 767px) {
	.contents01 .contents01_01 ul{
		margin-top: 55px;
		display: block;
	}
}
.contents01 .contents01_01 ul li{
	width: 350px;
	height: auto;
	display: block;
	font-size: 16px;
	line-height: 18px;
	letter-spacing: 0.01em;
}
@media only screen and (max-width: 767px) {
	.contents01 .contents01_01 ul li{
		width: 100%;
		font-size: 15px;
		line-height: 16px;
		margin-top: 20px;
	}
}
.contents01 .contents01_01 ul li img{
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 15px;
}
.contents01 .contents01_01 .map{
	width: 100%;
	height: 400px;
	position: relative;
	margin-top: 100px;
}
@media only screen and (max-width: 767px){
	.contents01 .contents01_01 .map{
		width: 100%;
		height: 400px;
		position: relative;
		margin-top: 40px;
	}
}
.contents01 .contents01_01 .map .iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;	
	left: 0;
}
.contents01 .contents01_01 .text03{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 15px;
	line-height: 25px;
	margin-top: 15px;
}
@media only screen and (max-width: 767px) {
	.contents01 .contents01_01 .text03{
		justify-content: flex-start;
		align-items: center;
		font-size: 14px;
		line-height: 24px;
		margin-top: 15px;
	}
}

/*-----------------------------------------------------
contents02ここから
-----------------------------------------------------*/
.contents02{
	width: 100%;
	height: auto;
	display: block;
	position: relative;
	overflow: hidden;
}
.contents02 .bg01{
	width: 100%;
	height: auto;
	position: absolute;
	top: 450px;
	left: 0;
}
@media only screen and (max-width: 767px){
	.contents02 .bg01{
		width: 100%;
		height: auto;
		position: absolute;
		top: 358px;
		left: 0;
	}
}
.contents02 .bg01 .bg01_01{
	width: auto;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.contents02 .bg01 .bg01_01 .bg01_01_01{
	width: 120vw;
	min-width: 1370px;
	height: 460px;
	background-image: url(../img/index/bg01.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	transform: rotate(-12deg); /* 画像を-45度（または必要な角度）回転させる */
	transform-origin: center center;
}
@media only screen and (max-width: 767px){
	.contents02 .bg01 .bg01_01 .bg01_01_01{
		width: 120vw;
		min-width: 320px;
		height: 160px;
		background-image: url(../img/index/bg01.png);
		background-repeat: no-repeat;
		background-size: 100%;
		background-position: center;
		transform: rotate(-12deg); /* 画像を-45度（または必要な角度）回転させる */
		transform-origin: center center;
	}
}
.contents02 .bg02{
	width: calc((100% - 1220px) / 2 + 311px);
	height: 100%;
	background-color: #fff;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
}
@media only screen and (max-width: 767px){
	.contents02 .bg02{
		width: calc((100% - 320px) / 2 + 67px);
	}
}
.contents02 .contents02_01{
	width: 1120px;
	height: auto;
	margin: 0 auto;
	padding: 140px 0 0;
	display: block;
	position: relative;
	z-index: 10;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01{
		width: 90%;
		padding: 0;
		display: block;
		position: relative;
		z-index: 10;
		margin-top: 70px;
	}
}
.contents02 .contents02_01 .contents02_01_01{
	width: 100%;
	height: auto;
	margin-top: 62px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-bottom: 100px;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .contents02_01_01{
		width: 100%;
		height: auto;
		margin-top: 19px;
		display: block;
		padding-bottom: 0;
	}
}
.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_01{
	width: 397px;
	height: auto;
	display: block;
	flex-shrink: 0;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_01{
		width: 245px;
		display: block;
		margin: 0 auto;
	}
}
.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_01 img{
	width: 100%;
	height: auto;
	display: block;
}
.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_01 .text04{
	font-size: 13px;
	line-height: 29px;
	letter-spacing: calc((56/1000)*1em);
	margin-top: 14px;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_01 .text04{
		font-size: 12px;
		line-height: 22px;
		margin-top: 11px;
	}
}
.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_02{
	width: 643px;
	height: auto;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_02{
		width: 90%;
		margin: 0 auto;
	}
}
.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_02 h3{
	font-size: 39px;
	line-height: 62px;
	letter-spacing: calc((120/1000)*1em);
	margin-top: -13px;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_02 h3{
		font-size: 22px;
		line-height: 36px;
		margin-top: 30px;
	}
}
.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_02 .text05{
	font-size: 14px;
	line-height: 29px;
	letter-spacing: calc((56/1000)*1em);
	margin-top: 26px;
}
@media only screen and (max-width: 767px){
	.contents02 .contents02_01 .contents02_01_01 .contents02_01_01_02 .text05{
		margin-top: 17px;
	}
}

/*-----------------------------------------------------
contents03ここから
-----------------------------------------------------*/
.contents03{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
	padding: 60px 0 0;
}
@media only screen and (max-width: 767px) {
	.contents03{
		padding: 40px 0 0;
	}
}
/*.contents03 h2{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 25px;
	letter-spacing: 0.01em;
	line-height: 34px;
	margin-bottom: 42px;
}
@media only screen and (max-width: 767px) {
	.contents03 h2{
		font-size: 20px;
		line-height: 25px;
		margin-bottom: 28px;
	}
}*/
.contents03 .contents03_01{
	width: 1120px;
	height: auto;
	margin: 0 auto;
	background-color: #F1F4F8;
	padding: 65px 0;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01{
		width: 90%;
		max-width: 320px;
		padding: 30px;
	}
}
.contents03 .contents03_01 table{
	width: 860px;
	height: auto;
	margin: 0 auto;
	table-layout: fixed;
	text-align: left;
}
@media only screen and (max-width: 767px) {
	.contents03 .contents03_01 table{
		width: 100%;
	}
}
.contents03 .contents03_01 table tr th{
	width: 295px;
	height: auto;
	padding: 20px 18px;
	border-bottom: 1px dotted #0E1646;
	font-size: 15px;
	line-height: 25px;
	color: #0E1646;
	vertical-align: top;
	vertical-align: middle;
}
@media only screen and (max-width: 767px){
	.contents03 .contents03_01 table tr th{
		display: block;
		width: 100%;
		padding: 18px 0 0;
		border-bottom: none;
		font-size: 14px;
		line-height: 24px;
	}
}
.contents03 .contents03_01 table tr td{
	width: auto;
	height: auto;
	padding: 20px 18px 20px 0;
	border-bottom: 1px dotted #0E1646;
	font-size: 15px;
	line-height: 25px;
	vertical-align: middle;
}
@media only screen and (max-width: 767px) {
	.contents03 .contents03_01 table tr td{
		display: block;
		width: 100%;
		padding: 5px 0 18px;
		font-size: 14px;
		line-height: 24px;
	}
}

.contents03 .contents03_01 table tr td a{
	font-size: 15px;
	line-height: 25px;
	text-decoration: underline;
	color: #023c91;
}
@media only screen and (max-width: 767px) {
	.contents03 .contents03_01 table tr td a{
		font-size: 14px;
		line-height: 24px;
	}
}
/*.contents03 .contents03_01 table tr:nth-of-type(1) th,
.contents03 .contents03_01 table tr:nth-of-type(1) td{
	border-top: 1px dotted #E6E6E6;
}
@media only screen and (max-width: 767px) {
	.contents03 .contents03_01 table tr:nth-of-type(1) th,
	.contents03 .contents03_01 table tr:nth-of-type(1) td{
		border-top: none;
	}
}*/

.contents04{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display: block;
	background-color: #fff;
}
.contents04 .contents04_01{
	width: 1120px;
	height: auto;
	margin: 0 auto;
	background-color: #fff;
	padding: 127px 0;
}
@media only screen and (max-width: 767px){
	.contents04 .contents04_01{
		width: 90%;
		max-width: 320px;
		padding: 55px 0;
	}
}
.contents04 .contents04_01 h2{
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 25px;
	letter-spacing: 0.01em;
	line-height: 34px;
	margin-bottom: 42px;
}
@media only screen and (max-width: 767px) {
	.contents04 .contents04_01 h2{
		font-size: 20px;
		line-height: 35px;
		margin-bottom: 28px;
	}
}











