@charset "utf-8";
.sp{
	display: none!important;
}
.container{
	width: 80%;
	max-width: 1300px;
	margin: 0 auto;
	position: relative;
}
h1 a{
	display: block;
	padding: 25px 0;
}
header{
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	background: #FFFFFF;
	position: relative;
	z-index: 10;
}
header .container{
	display: flex;
	align-items: center;
	justify-content: space-between;

}
#front main{
	padding-top: 900px;
}
header nav ul{
	display: flex;
	align-items: center;
}
header nav ul li a{
	color: inherit;
	display: block;
	text-decoration: none;
	padding-left: 30px;
}
header nav ul li a:hover{
	text-decoration: underline;
}
#mainvisual{
	position: relative;
}

#mainvisual .mvWrap{
	background: url(../images/mv_bg.jpg) center center / cover no-repeat;
	position: relative;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 900px;
}
#mainvisual figure{
	text-align: center;
	padding-top: 180px;
}

#c1{
	position: relative;
}
#mvbg1{
	content: "";
	display: block;
	width: 100%;
	height: 340px;
	background: url(../images/mv_bg03.svg) top center / 100% 100% no-repeat;
	position: absolute;
	top: -400px;
	left: 0;
}
#mvbg2{
	content: "";
	display: block;
	width: 100%;
	height: 410px;
	background: url(../images/mv_bg04.svg) top center / 100% 100% no-repeat;
	position: absolute;
	top: -400px;
	left: 0;
}
.mvnews{
	position: absolute;
	bottom: 40px;
	right: 0;
	background: #FFFFFF;
	z-index: 200;
	width: 35%;
	padding: 30px 30px 30px 60px;
	border-radius: 100px 0 0 100px;
}
.mvnews ul li a{
	display: block;
	color: inherit;
	text-decoration: none;
}
.mvnews ul li a span{
	display: inline-block;
	font-size: 0.9em;
}
.mvnews ul li a strong{
	display: block;

  background-color: #fff; /* 背景色 */
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), /* 点線1の色 */
                    linear-gradient(180deg, #707070 1px, transparent 1px); /* 点線2の色と太さ */
  background-size: 8px 100%, /* 点線1のサイズ */
                   100% 2em; /* 点線2のサイズ */
  line-height: 2em; /* 文字の高さ */
  padding-bottom: 1px; /* 最終行の下にも罫線を引く */
  position: relative;
}
.mvnews ul li a strong:before{
	content: "";
	width: 100%;
	height: 1px;
	background: #FFFFFF;
	position: absolute;
	top: 0;
	left: 0;
}

.mvnews ul li a span.cat{
	color: #2772BC;
	margin-left: 30px;
}
.mvnews:after{
	content: "";
	display: block;
	width: 25px;
	height: 25px;
	background: url(../images/lm02.png) top left / cover no-repeat;
	position: absolute;
	top: calc(50% - 10px);
	left: -50px;
}
.cont1{
	position: relative;
}
.cont1 h2{
	color: #2069B2;
	font-size: 2em;
	font-weight: bold;
	margin-bottom: 40px;
}
.tac{
	text-align: center;
}
.tar{
	text-align: right;
}
.cont1{
	padding: 50px 0;
}
.areaMenu{
	width: 860px;
	margin: 40px auto 0  auto;
	display: flex;
	justify-content: space-between;
}
.areaMenu li{
	width: 420px;
}

.areaMenu li a{
	display: block;
	background: #FFFFFF;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	padding: 40px 40px 40px 80px;
	border-radius: 100px 0 0 100px;
	color: #2069B2;
	text-decoration: none;
	position: relative;
}
.areaMenu li a img{
	margin-left: 30px;
}
.areaMenu li:first-child a:before{
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../images/lm02.png) top left / cover no-repeat;
	position: absolute;
	top: calc(50% - 8px);
	left: 20px;
}
.areaMenu li:last-child a{
	display: block;
	background: #FFFFFF;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	padding: 40px 80px 40px 40px;
	border-radius: 0 100px 100px 0;
	color: #2069B2;
	text-decoration: none;
	position: relative;
}
.areaMenu li:last-child a:before{
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../images/lm02.png) top left / cover no-repeat;
	position: absolute;
	top: calc(50% - 8px);
	right: 20px;
}
#front section.main{
	background: url(../images/bg01.svg) top -150px left -300px / 120% auto repeat-y;
	background-color: #FFFFFF;
	position: relative;
	z-index: 20;
}

.top01{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.top01 .top01l{
	border-radius: 44px;
	background: #E9F6FB;
	padding: 40px 60px;
	width: calc(68% - 120px);
}
.cont1 .top01l h2{
	font-size: 1.3em;
}
.cont1 .top01l ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.cont1 .top01l ul li {
	color: #2069B2;
	width: calc(24%);
	font-weight: bold;
}

.top01 .top01r{
	display: block;
	width: calc(28% - 60px);
	background: #FFFFFF;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	padding: 0 30px;
}
.top01 .top01r ul li a{
	display: block;
	color: #2069B2;
	font-weight: bold;
	text-decoration: none;
	padding: 30px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.top01 .top01r ul{
	position: relative;
}

.top01 .top01r ul:after{
	content: "";
	display: block;
	width: calc(100% + 100px);
	height: 1px;
	background: #66ACEF;
	position: absolute;
	top: 50%;
	right: 0px;
}
.top01 .top01r ul:before{
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: #FFFFFF;
	border:1px solid #66ACEF;
	border-radius: 100px;
	position: absolute;
	top: calc(50% - 10px);
	left: -110px;
	z-index: 10;
}
.newsList li a{
	display: block;
	padding: 15px 0;
	border-bottom: 1px dashed #66ACEF;
	color: inherit;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap:20px;
	flex-wrap: wrap;
}
.newsList li a>*{
	display: block;
}
.newsList strong{
	width: calc(100% - 16em - 40px);
}
.newsList li a span{
	width: 8em;
}

.newsList li a span.cat{
	color: #2069B2;
}

.alink a{
	display: block;
	margin-top: 40px;
	color: #2069B2;
	font-weight: bold;
	text-decoration: none;
}
.alink a img{
	margin-left: 8px;
}
#nfooter25{
	position: relative;
}
#nfooter25{
	padding-top: 50px;
	padding-bottom: 120px;
	background: url(../images/foot_bg.png) bottom center / auto 108px repeat-x #FFFFFF;
}
#nfooter25 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 40px;
	margin-bottom: 20px;
}
#nfooter25 ul li a{
	font-size: 0.8em;
	color: inherit;
	text-decoration: none;
	border-left: 1px solid #000000;
	padding-left: 10px;
}
#nfooter25 ul li:first-child a{
	border: none;
	padding-left: 0;
}
#nfooter25 #copyright{
	text-align: right;
	font-size: 0.8em;
}
#nfooter25 #pagetop{
position: absolute;
top: 20px;
right: 50px;
}
#sub main .cont1:first-child{
	padding-top: 0;
}
.subHead{
	background: url(../images/mv_bg.jpg) center center / cover no-repeat;
	padding: 80px 0 0 0;
	margin-bottom: 50px;
}
.subHead h2{
	text-align: center;
	font-size: 1em!important;
	margin: 0!important;
	color: inherit!important;
}
.subHead h2 strong{
	padding: 50px 50px;
	border-radius: 30px 30px 0 0;
	background: rgba(255,255,255,0.85);
	font-size: 2em;
	font-weight: nomal;
	display:inline-block;
	min-width: calc(560px);
	max-width: calc(860px);
	margin: 0 auto;
	text-align: center;
	color: inherit;
}
.parag{
	max-width: 960px;
	margin: 0 auto;
}
.parag h3{
	margin-bottom: 50px;
}

.parag h3 strong{
	display: block;
	font-size: 1.8em;
	font-weight: bold;
	color: #517DCF;
	line-height: 166%;
	margin-bottom: 30px;
}
.parag h3 span{
	font-size: 0.9em;
	line-height: 166%;
}
.parag p{
	margin-bottom: 1em;
}
.page .parag{
	max-width: inherit;
}
.parag table{
	width: 100%;
	margin-bottom: 50px;
}
.parag table th{
	padding: 25px;
	border-bottom: 1px dashed #517DCF;
	color: #517DCF;
	font-weight: bold;
	text-align: left;
	width: 8em;
	vertical-align: top;
}
.parag table td{
	padding: 25px;
	border-bottom: 1px dashed #517DCF;
}
.parag .wp-block-image{
		margin: 40px 0;
}
.parag figcaption{
	text-align: center;
	padding: 5px 0;
}

.parag .wp-block-gallery{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 3%;
	margin: 40px 0;
}
.parag .wp-block-gallery figure{
	width: calc(94% / 4);
}
.parag .wp-block-buttons{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 50px 0;
}
.parag .wp-block-buttons .wp-block-button a{
	display: inline-block;
	border:1px solid #2069B2;
	background: #2069B2;
	color: #FFFFFF;
	text-decoration: none;
	font-size: 1.3em;
	padding: 20px 60px;
	border-radius: 100px;
}
.parag .wp-block-buttons .wp-block-button.is-style-outline a{
	background: #FFFFFF;
	color: #2069B2;
}

.parag .wp-block-media-text{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 50px 0;
}
.parag .wp-block-media-text>*{
	width: 48%;
}



.etable table{
	border-collapse:separate;
	border-spacing:40px 0;
	table-layout:fixed;
	width:calc(100% + 80px);
	position:relative;
	left:-40px;
	margin-bottom:60px;
}
.etable tbody tr:first-child td{
	border-top:1px dashed #517DCF;
}
.etable td{
	padding:30px 0;
	border-bottom:1px dashed #517DCF;
	vertical-align:top;
}
.etable td strong{
	color:#417BBF;
}
.etable td a{
	display:inline-block;
	background:#ffffff;
	padding:6px 80px;
	font-weight:bold;
	text-decoration:none;
	color:#417BBF;
	font-size:1em;
	border:1px solid #417BBF;
	border-radius:100px;
	margin-top:20px;
	box-shadow:0 3px 6px rgba(0,0,0,0.16);
}

.etable iframe{
	max-width:100%;
}