@charset "UTF-8";

header .mv{
	background: url("../images/mv.png") no-repeat top;
	background-size: cover;
	position: relative;
	height: 480px;
}
header .mv h1{
	display: block;
	max-width: 782px;
	width: 80%;
	position: absolute;
	top: 50px;
	left: 0;
	right: 0;
	margin: auto;
}
header .mv h1 img{
	display: block;
	width: 100%;
}
header .mv::before{
	content: "";
	border-style: solid;
	border-width: 150px 0 0 99vw;
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	border-color: transparent transparent transparent #fff;
}
h2 {
	font-size: 34px;
	line-height: 1.4;
	margin-bottom: 20px;
}
h2.size40 {
	font-size: 40px;
	line-height: 1.4;
	margin-bottom: 20px;
}
h2 span,.simulation h5 span{
	display: block;
	margin: 15px auto 0;
	font-family: laca, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 22px;
	color: #467cb9;
	text-indent: 2px;
	letter-spacing: 2px;
	line-height: 1;
}
.simulation h5 span{
	color: #fff;
	font-size: 18px;
}
h2 span img{
	display: block;
	margin: 0 auto;
}
.box01{
	margin-top: 40px;
}
.box01 .cont_txt{
	padding: 40px;
	box-sizing: border-box;
	
	position: relative;
}
.box01 .cont_txt .icn01{
	position: absolute;
	bottom: 0;
	right: 0;
}
.box01 .cont_txt .icn02{
	position: absolute;
	top: 0;
	left: 0;
}
.box01 .cont_txt p{
	position: relative;
	z-index: 2;
	font-size: 20px;
	letter-spacing: 1px;
	text-indent: 1px;
	line-height: 2.6;
}


.box01 .bg-box{
	background: #f5eb97;
	font-size: 24px;
	text-align: center;
	padding: 40px;
	line-height: 1;
	margin: 40px 0;
}
.box01 .bg-box span.bb_fff{
	display: inline-block;
	position: relative;
	z-index: 2;
	background:linear-gradient(transparent 70%, #fff 0%);
	 display: inline;
}
/*.box01 .bg-box span.bb_fff::after{
	z-index: 1;
	position: absolute;
	content: "";
	width: 100%;
	background: #fff;
	height: 10px;
	display: block;
	bottom: -2px;
	left: 0;
}*/
.box01 .bg-box span.txt{
	position: relative;
	z-index: 2;
}
.box01 .border-box .icn{
	position: absolute;
	left: 0;
	right: 0;
	top: -80px;
	margin: auto;
	width: 250px;
	background: #fff;
	padding: 0 30px;
}
.box01 .border-box h4{
	font-size: 26px;
}
.box01 .border-box h4 span{
	display: block;
	font-size: 60px;
	color: #FF8C00;
	background: -webkit-linear-gradient(90deg, #03456a, #177db6);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin: 20px auto;
}
.box01 .border-box p{
	font-size: 20px;
	line-height: 2.2;
}


.notice{

	padding: 75px 0 30px;
}
.notice h2{
	margin-bottom: 35px;
}
.notice h2 span{
	font-size: 18px;
	margin-top: 10px;
}
.notice ul li{
	list-style: disc;
	line-height: 2;
	font-size: 16px;
	margin-left: 1em;
}

.contact h2{
	margin-bottom: 60px;
}
.contact p{
	text-align: center;
	font-size: 20px;
}
.contact .link_box{
	background: #f0f0f0;
	text-align: center;
	font-size: 22px;
	padding: 20px 10px;
	margin: 40px auto;
}
.contact .link_box a{
	font-size: 18px;
	color: #177db6;
}
.contact .link_box a.tel{
	font-size: 26px;
	font-weight: bold;
	color: #177db6;
	margin-left: 2rem;
}
.contact .a-left{
	text-align: left;
	font-size: 18px;
}
footer{
	background: #005280;
	color: #fff;
	text-align: center;
	padding: 130px 10px 70px;
	position: relative;
	font-size: 14px;
	margin-top: 70px;
}
footer .retop{
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
}
footer a{
	color: #fff;
	text-decoration: none;
	display: block;
}
footer li{
	display: inline-block;
	margin: 0 10px 20px;
}
footer::before{
	content: "";
	border-style: solid;
	border-width: 0 0 80px 100vw;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	border-color: transparent transparent transparent #fff;
}
footer .logo{
	margin: 20px auto;
}
footer p{
	font-weight: bold;
	font-family: laca, sans-serif;
	font-weight: 700;
	font-style: normal;
}



.application{
	background: #f7f7f7;
	border-radius: 6px;
	position: relative;
	padding: 40px;
	padding-top: 50px;
	padding-bottom: 75px;
	box-sizing: border-box;
	margin-top: 63px;
}
.application.gold {
	background: #f3e18f;
	padding-top: 65px;
}
.application h2 span,#schedule h2 span{
	font-size: 18px;
}
.application h3 {
	font-size: 30px;
}
.application .inner{
	background: #fff;
	padding: 45px 40px 10px;
	box-sizing: border-box;
	width: 100%;
	margin-top:35px;
}
.application.gold .inner{
	margin-top:40px;
}
.application .inner .flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	align-items: flex-start;
	margin-bottom: 18px;
}
.application .inner .flex .txt ol li{
	list-style: none;
	margin-left: 1em;
	text-indent: -.5em;
}
.application .inner .flex .txt ol li::before{
	content: "◎";
	display: inline-block;
}
.application .inner .flex .card{
	width: 331px;  
}
.application .inner .flex .card img{
	width: 100%;
	display: block;
}
.application .inner .flex .txt{
	margin-left: 40px;
	font-size: 16px;
	flex: 1;
	position: relative;
}
.application.gold .inner .flex .txt::before {
	position: absolute;
	top: -37px;
	left: -61px;
	width: 111px;
	height: 49px;
	line-height: 50px;
	box-shadow: 1px 2px 4px #b1adad;
	border-radius: 50%;
	background: #db2707;
	color: white;
	font-size: 1.1rem;
	text-align: center;
	text-transform: uppercase;
	content: 'おすすめ';
	font-weight: bold;
	transform: rotate(-9deg);
}
.application .inner .flex .txt h3{
	text-align: left;
	border-left: 8px solid #467cb9;
	padding-left: 20px;
	font-size: 20px;
	margin-bottom: 15px;
	letter-spacing: 1px;
}
.application .inner .flex .txt ol{
	border-top: 3px solid #2e2e2e;
	padding-top: 10px;
}
.application .inner .flex .txt ol li{
	margin-bottom: 15px;
}
.application .inner .flex .txt ol li a{
	color: #1062be;
	font-size: 14px;
}
.application .btn a{
		font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #000;
	text-decoration: none;
	display: block;
	max-width: 480px;
	width: 90%;
	margin: 50px auto;
	border: 2px solid #000;
	border-radius: 5px;
	padding: 15px 10px;
	box-shadow: 5px 5px 0px 0px rgb(0 0 0 / 20%);
	position: relative;
	box-sizing: border-box;
	background: #f5eb97;
}
.application .btn a::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	width: 17px;
	height: 17px;
	background: url("../images/plus.svg") no-repeat;
	background-size: cover;
}
.application .toggle_inner{
	padding-top: 8px;
	display: none;
}
.application .toggle_inner h4{
	font-size: 20px;
	border-bottom: 1px solid #2e2e2e;
	padding-bottom: 20px;
	margin-bottom: 26px;
}
.application .toggle_inner p{
	line-height: 2.2;
	font-size: 16px;
}
.application .toggle_inner h5{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	margin-top: 35px;
	margin-bottom: 12px;
}
.application .border-box{
	border: 3px solid #d6d6d6;
	border-radius: 10px;
	padding:20px 20px;
	max-width: 840px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
	margin-top:15px;
	font-size: 16px;
	margin-bottom: 45px;
}
.application .border-box li{
	list-style: disc;
	margin-left: 1em;
	margin-bottom: 10px;
}
.application .border-box p{
	font-size: 16px;
	line-height: 2.2;
}
.application .btn_agree a{
		font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #000;
	text-decoration: none;
	display: block;
	max-width: 480px;
	width: 90%;
	margin: 45px auto 10px;
	border: 2px solid #000;
	border-radius: 5px;
	padding: 15px 10px;
	box-shadow: 5px 5px 0px 0px rgb(0 0 0 / 20%);
	position: relative;
	box-sizing: border-box;
	background: #f8ed7f;
}
.application .btn_agree a.loop {
	background: #ffa42c;
}
.application .btn_agree + .kirikae_link{
	text-align: center;
	line-height: 1.8;
}
.application .btn_agree + .kirikae_link + .btn_agree a{
	margin: 25px auto 45px;
}

.application .abso img{
	width: 100%;
	display: block;
}
.application .abso01{
	top: 30px;
	right: 20px;
	max-width: 250px;
}
.application .abso02{
	max-width: 103px;
	bottom: -45px;
	left: 40px;
}


#schedule {
	margin-top: 30px;
}
#schedule h2{
	margin-bottom: 25px;
}
#schedule p{
	font-size: 20px;
	
	line-height: 2.2;
}
#schedule p span{
	display: block;
	margin-top: 18px;
}
#schedule p small{
	display: block;
	font-size: 16px;
	line-height: 2;
}
#schedule img{
	width: 100%;
	display: block;
	margin: 0 auto;
}
#schedule .zu{
	margin-top: 50px;
	margin-bottom: 35px;
}
#schedule .img{
	margin-top: 10px;
}
@media(max-width:870px){
	.cont_100_box{
		width: 100%;
	}
	.bnr_area a{
		width: 100%;
	}
	.box01,.procedure,.notice,.contact,.bnr_area{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	header .mv::before{
		border-width: 30px 0 0 100vw;
	}
	header .mv h1{
		position: static;
		padding: 80px 0;
		width: 100%;
	}
	header .mv{
		height: auto;
		background: url("../images/mvsp.png") no-repeat;
		background-size: cover;
	}
	h2.size40{
		font-size: 5vw
	}
	.box01 .cont_txt p{
		font-size: 15px;
	}
	.box01 .border-box h4 span{
		font-size: 10vw;
	}
	.box01 .border-box h4{
		font-size: 22px;
	}
	.box01 .border-box p{
		font-size: 17px;
	}
	footer{
		padding: 60px 10px;
	}
	footer::before{
		border-width: 0 0 30px 100vw;
	}
	.box01 .bg-box{
		line-height: 1.9;
		font-size: 17px;
		padding: 20px;
		text-align: left;
		
	}
	.point .icn{
		width: 100px;
	}
	.point .icn img{
		width: 100%;
	}
	.point::before{
			border-width: 0 100vw 30px 0;
	}
	.point{
		padding-top: 80px;
	}
	.bnr_area{
		padding-top: 0;
		padding-bottom: 0;
		border: none;
		margin: 60px auto;
		text-align: left;
	}
	.application {
		padding-top: 30px;
		padding-left: 10px;
		padding-right: 10px;
	}
	.application.gold {
		padding-top: 30px;
		padding-bottom: 45px;
	}
	.application .inner .flex .card{
		width: 100%;
		max-width: 331px;
		margin: 0 auto;
	}
	.application .inner .flex{
		display: block;
	}
	.application .inner .flex .txt{
		margin-left: 0;
		margin-top: 20px;
	}
	.application.gold .inner .flex .txt{
		margin-top: 40px;
	}
	.application.gold .inner .flex .txt::before {
		top: -40px;
		left: -18px;
		width: 77px;
		height: 42px;
		line-height: 42px;
		font-size: 0.8rem;
		transform: rotate(-10deg);
	}
	.application .abso01 {
		width: 200px;
		top: 10px;
		right: 0;
	}
	h2{
		font-size: 24px;
	}
	.application h3 {
		font-size: 20px;
	}
	.application .inner .flex .txt h3,.application .toggle_inner h4{
		font-size: 17px;
	}
	.application .toggle_inner h5{
		font-size: 15px;
	}
	.application .toggle_inner p,#schedule p,.notice ul li{
		font-size: 14px;
	}
	#schedule p small{
		font-size: 13px;
	}
	.application .inner{
		padding: 20px 10px;
		margin-top: 25px;
	}
	.application.gold .inner {
		margin-top: 35px;
	}
	.application .inner .flex .txt ol li{
		font-size: 14px;
	}
	.application .btn a,.application .btn_agree a{
		font-size: 14px;
		padding-right: 40px;
		padding-left: 40px;
	}
}
@media(max-width:780px){
	.box01 .border-box .icn{
		width: 170px;
		top: -60px;
	}
	.box01 .border-box .icn img{
		width: 100%;
	}
	.sim_box .simulation .abso{
		width: 110px;
		left: 10%;
		top: 80px;
	}
	.notice{
			padding: 40px 0;
	margin-bottom: 40px;
	margin-top: 40px;
	}
	.contact h2{
		margin-bottom: 40px;
	}
	
}
@media(max-width:640px){
	h2.size40{
		font-size: 24px;
		margin-bottom: 30px!important;
	}
	.box01 .cont_txt{padding: 20px 20px;}
	.box01 .border-box{
		width: 95%;
	}
	.box01 .border-box h4{
		font-size: 20px;
	}
	.box01 .border-box h4 span{
		font-size: 30px;
	}
	footer a{
		font-size: 12px;
	}
	footer p{
		font-size: 11px;
	}
	.toggle_box01 .check,.toggle_box02 .check{
		width: 100px;
	}
	.toggle_box01 .check img,.toggle_box02 .check img{
		width: 100%;
	}
	.toggle_box01 .bg .img{
		width: 230px;
	}
	.toggle_box01 .bg .img img{
		width: 100%;
	}
	.toggle_box01 .bg .name{
		font-size: 17px;
		display: block;
		margin-left: auto;
		text-align: center;
	}
	.toggle_box01 .bg .cont-2-box p{
		font-size: 13px;
	}
	.toggle_box01 .bg .logo{
		display: block;
		margin: 0 auto 10px;
	}
	.toggle_box01 .bg .logo img{
		max-width: 100%;
		display: block;
		margin: 0 auto;
	}
	.sim_box .abso{
		width: 13%;
	}
	.procedure a.toggle::after{
		width: 20px;
		height: 20px;
		background-size: cover;
	}
	.procedure a.toggle.active::after{
		width: 20px;
		height: 20px;
		background-size: cover;
	}
	h2 span{
		font-size: 13px!important;
		margin-top: 5px;
	}
	.procedure{
		margin-top: 65px;
	}
	footer .retop{
		width: 58px;
		right: 15px;
		bottom: 15px;
	}
	footer .retop img{
		display: block;
		width: 100%;
		
	}
	.application .abso01{
		width: 80px;
		top: 60px;
	}
	.application .abso02{
		width: 80px;
		bottom: -20px;
		left: 10px;
	}
	.application .inner .flex .card img{
		max-width: 80%;
		margin: auto;
	}
	a.toggle_normal span,
	a.toggle span,
	a.toggle2 span {
		display: block;
		margin-top: 5px;
	}
}




.cont {
	max-width: 1060px;
	text-align: center;
	margin: 80px auto;
}
.cont h3{
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 50px;
}
.cont h3 img{
	display: block;
	margin: 15px auto 0;
}
.cont p{
	font-size: 18px;
	line-height: 2;
}
.cont .check{
	width: 100%;
	text-align: left;
	background: #f8f8f8;
	padding: 50px;
	margin: 50px auto;
	box-sizing: border-box;
}
.cont .check h4{
	text-align: left;
	font-size: 26px;
	margin-bottom: 30px;
}
.cont .check ul li{
	list-style: disc;
	margin-left: 1rem;
	font-size: 18px;
	line-height: 2.4;
}
.cont .check ul li span{
	font-weight: bold;
	background: linear-gradient(transparent 40%, #fbf2c7 40%);
	
}
.cont .check .left{
	width: calc(100% - 290px);
}
.cont .check img.sp{
	display: none;
}
.cont{
	margin: 50px auto;
}
.cont .icn{
	
	text-align: center;
	display: flex;
	align-items: center;

	margin: auto;

}
.cont .icn::before, .cont .icn::after {
	content: "";
	flex-grow: 1;
	height: 5px;
	background: #e2e2e2;
	display: block;
}
.cont .icn::after {
	margin-left: 2em;
}
.cont .icn::before {
	margin-right: 2em;
}
.cont h4{
	font-size: 26px;
	margin: 30px auto;
}
.cont p{
	font-size: 18px;
	line-height: 2;
}
.cont p a{
	color: #0a8e89!important;
}

.cont .flow{
	width: 100%;
	border-top: 1px solid #e2e2e2;
	text-align: left;
	margin-top: 50px;
	position: relative;
}
.cont .flow::before{
	content: "▶";
	position: absolute;
	top: -11px;
	right: -2px;
	font-size: 20px;
	line-height: 20px;
	color: #e2e2e2;
	
}
.cont .flow .step{
	margin-top: -15px;
}
.cont .flow .left{
	width: 60%;
	
}
.cont .flow .left .img img{
	max-width: 616px;
	width: 100%;
	display: block;
	margin: 20px auto 0;
}
.cont .flow .right{
	width: 37%;
	margin-left: 3%;
}
.cont .flow .right .img img{
	margin: 20px auto 0;
	max-width: 385px;
	width: 100%;
	display: block;
}
.cont .schedule{
	text-align: left;
}
.cont .schedule h4{
	text-align: left;
	font-size: 22px;
	margin-bottom: 10px;
}
.btn a {
	color:#fff;
	font-size: 22px;
	display: block;
	width: 90%;
	margin: 30px auto 80px;
	background: linear-gradient(-90deg, #751007, #a00f03);
	text-decoration: none;
	font-weight: bold;
	border-radius: 8px;
	padding: 35px 10px;
	box-sizing: border-box;
	line-height: 1;
	max-width: 570px;
	box-shadow: 6px 6px rgba(0, 0, 0, .15);
}
.cont h3 img{
	max-width: 317px;
	width: 90%;
}
@media(max-width:1060px){
	.cont{
		width: 90%;
		
	}
}
@media(max-width:980px) {
  header .mv {
		background: url("../images/mvsp.png") no-repeat;
	background-size: cover;
  }
	.cont h3{
		font-size: 23px;
	}
	.cont p{
		font-size: 15px;
	}
	.cont .check{
		padding: 30px 10px;
	}
	.cont .check h4,.cont h4{
		font-size: 20px;
	}
	.cont .check .left{
		float: none;
		width: 100%;
	}
	.cont .check ul li,.cont p{
		font-size: 15px;
	}
	.cont .check .right{
		float: none;
		width: 100%;
	}
	.cont .check .right img{
		display: block;
		margin: 30px auto 0;
		max-width: 278px;
		width: 90%;
	}
	.cont .flow{
		border-top: none;
		border-left:1px solid #e2e2e2;
	}
	.cont .flow .left{
		float: none;
		width: 100%;
		margin: 20px 0 40px;
		padding: 0 ;
		padding-left: 30px;
		box-sizing: border-box;
		
	}
	.cont .flow .right{
		float: none;
		width: 100%;
		margin: 20px 0;
		padding: 0 10px;
		padding-left: 30px;
		box-sizing: border-box;
	}
	.cont .flow .step{
		margin-top: 0;
		margin-left: -45px;
		margin-bottom: 20px;
	}
	.cont .flow::before{
		content: "▼";
		position: absolute;
		top: auto;
		bottom: -2px;
		left: -11px;
		font-size: 20px;
		line-height: 20px;
		color: #e2e2e2;

	}
	.cont .flow .step .st-img {
	display: inline-block;
	vertical-align: middle;
}
	.cont .flow .step .st-img::before{
	content: "";
	display: inline-block;
	width: 30px;
	margin-top: 15px;
	border-top: 2px solid #dbcf0d;
	vertical-align: top;
	margin-left: 5px;
	margin-right: 5px;
}
	.cont .flow .step img{
		display: inline-block;
		vertical-align: middle;
	}
	.cont .flow .step span {
	margin-left: 70px!important;
	margin-right: 0;
	display: block;
	margin-top: 5px;
	line-height: 31px;
	vertical-align: top;
	font-weight: bold;
		font-size: 18px;
}
	.cont .btn a{
		font-size: 17px;
		line-height: 1.5;
	}
	.cont .check img.pc{
	display: none;
}
	.cont .check img.sp{
	display: block;
		width:100%;
		max-width: 343px;
}
	
}

.schedule{
	text-align: left;
}
.schedule h4{
	text-align: left;
	font-size: 22px;
	margin-bottom: 10px;
}

.schedule{
	text-align: left;
}
.schedule h4{
	text-align: left;
	font-size: 22px;
	margin-bottom: 10px;
}
.btn a {
	font-size: 22px;
	display: block;
	width: 90%;
	margin: 30px auto 80px;
	background: linear-gradient(-90deg, #751007, #a00f03);
	text-decoration: none;
	font-weight: bold;
	border-radius: 8px;
	padding: 35px 10px;
	box-sizing: border-box;
	line-height: 1;
	max-width: 570px;
	box-shadow: 6px 6px rgba(0, 0, 0, .15);
   text-align:center;
}
h3 img{
	max-width: 317px;
	width: 90%;
}

.schedule .img01 .sp {
  display: none;
}
.schedule .img01 {
  text-align: center;
  padding: 15px 0;
}
.schedule .img01 img {
  width: 100%;
}
@media (max-width: 980px){
  .schedule .img01 .pc {
	display: block !important;
  }
  .schedule .img01 .sp {
	display: none;
  }
}
@media (max-width: 680px) {
  .schedule .img01 .pc {
	display: none !important;
  }
  .schedule .img01 .sp {
	display: block;
	width: 100%;
  }
}









.application.normal{
	background: #f7f7f7;
	border-radius: 6px;
	position: relative;
	padding: 40px;
	padding-top: 65px;
	padding-bottom: 75px;
	box-sizing: border-box;
	margin-top: 63px;
}
.application.normal h2 span,#schedule h2 span{
	font-size: 18px;
}
.application.normal .inner{
	background: #fff;
	padding: 45px 40px 10px;
	box-sizing: border-box;
	width: 100%;
	margin-top:40px;
}
.application.normal .inner .flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	align-items: flex-start;
	margin-bottom: 18px;
}
.application.normal .inner .flex .txt ol li{
	list-style: none;
	margin-left: 1em;
	text-indent: -.5em;
}
.application.normal .inner .flex .txt ol li::before{
	content: "◎";
	display: inline-block;
}
.application.normal .inner .flex .card{
	width: 331px;  
}
.application.normal .inner .flex .card img{
	width: 100%;
	display: block;
}
.application.normal .inner .flex .txt{
	margin-left: 40px;
	font-size: 16px;
	flex: 1;
}
.application.normal .inner .flex .txt h3{
	text-align: left;
	border-left: 8px solid #467cb9;
	padding-left: 20px;
	font-size: 20px;
	margin-bottom: 15px;
	letter-spacing: 1px;
}
.application.normal .inner .flex .txt ol{
--	border-top:! 3px solid #2e2e2e--;
	padding-top: 10px;
}
.application.normal .inner .flex .txt ol li{
	margin-bottom: 15px;
}
.application.normal .inner .flex .txt ol li a{
	color: #1062be;
	font-size: 14px;
}
.application.normal .btn a{
		font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #000;
	text-decoration: none;
	display: block;
	max-width: 480px;
	width: 90%;
	margin: 50px auto;
	border: 2px solid #000;
	border-radius: 5px;
	padding: 15px 10px;
	box-shadow: 5px 5px 0px 0px rgb(0 0 0 / 20%);
	position: relative;
	box-sizing: border-box;
	background: #f5eb97;
}
.application.normal .btn a::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	width: 17px;
	height: 17px;
	background: url("../images/plus.svg") no-repeat;
	background-size: cover;
}
.application.normal .toggle_inner{
	padding-top: 8px;
	display: none;
}
.application.normal .toggle_inner h4{
	font-size: 20px;
	border-bottom: 1px solid #2e2e2e;
	padding-bottom: 20px;
	margin-bottom: 26px;
}
.application.normal .toggle_inner p{
	line-height: 2.2;
	font-size: 16px;
}
.application.normal .toggle_inner h5{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	margin-top: 35px;
	margin-bottom: 12px;
}
.application.normal .border-box{
	border: 3px solid #d6d6d6;
	border-radius: 10px;
	padding:20px 20px;
	max-width: 840px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
	margin-top:15px;
	font-size: 16px;
	margin-bottom: 45px;
}
.application.normal .border-box li{
	list-style: disc;
	margin-left: 1em;
	margin-bottom: 10px;
}
.application.normal .border-box p{
	font-size: 16px;
	line-height: 2.2;
}
.application.normal .btn_agree a{
		font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #000;
	text-decoration: none;
	display: block;
	max-width: 480px;
	width: 90%;
	margin: 45px auto;
	border: 2px solid #000;
	border-radius: 5px;
	padding: 15px 10px;
	box-shadow: 5px 5px 0px 0px rgb(0 0 0 / 20%);
	position: relative;
	box-sizing: border-box;
	background: #7fc4f8;
}
.application.normal .abso img{
	width: 100%;
	display: block;
}
.application.normal .abso01{
	top: 30px;
	right: 20px;
	max-width: 250px;
}
.application.normal .abso02{
	max-width: 103px;
	bottom: -45px;
	left: 40px;
}
@media(max-width:870px){
	.application.normal{
		padding-top: 30px;
		padding-left: 10px;
		padding-right: 10px;
	}
	.application.normal .inner .flex .card{
		width: 100%;
		max-width: 331px;
		margin: 0 auto;
	}
	.application.normal .inner .flex{
		display: block;
	}
	.application.normal .inner .flex .txt{
		margin-left: 0;
		margin-top: 20px;
	}
	.application.normal .abso01 {
		width: 200px;
		top: 10px;
		right: 0;
	}
	.application.normal .inner .flex .txt h3,
	.application.normal .toggle_inner h4{
		font-size: 17px;
	}
	.application.normal .toggle_inner h5{
		font-size: 15px;
	}
	.application.normal .toggle_inner p,#schedule p,.notice ul li{
		font-size: 14px;
	}
	.application.normal .inner{
		padding: 20px 10px;
	}
	.application.normal .inner .flex .txt ol li{
		font-size: 14px;
	}
	.application.normal .btn a,
	.application.normal .btn_agree a{
		font-size: 14px;
		padding-right: 40px;
		padding-left: 40px;
	}
}
@media(max-width:640px){
	.application.normal .abso01{
		width: 80px;
		top: 60px;
	}
	.application.normal .abso02{
		width: 80px;
		bottom: -20px;
		left: 10px;
	}
}

footer{
	background: #005280;
	color: #fff;
	text-align: center;
	padding: 130px 10px 70px;
	position: relative;
	font-size: 14px;
	margin-top: 70px;
}
footer .retop{
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
}
footer a{
	color: #fff;
	text-decoration: none;
	display: block;
}
footer li{
	display: inline-block;
	margin: 0 10px 20px;
}
footer::before{
	content: "";
    border-style: solid;
	border-width: 0 0 80px 100vw;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-color: transparent transparent transparent #f9f9f9;
}
footer .logo{
	margin: 20px auto;
}
footer .logo img{
	margin: 0 auto;
}
footer p{
	font-weight: bold;
	font-family: laca, sans-serif;
	font-weight: 700;
	font-style: normal;
}



.tab_inner_cont{
   
    border-radius: 6px;
    position: relative;
    padding: 40px;
    padding-top: 65px;
    padding-bottom: 75px;
    box-sizing: border-box;
    margin-top: 63px;
}
.tab_inner_cont h2 span.en,#schedule h2 span{
    font-size: 18px;
}
.tab_inner_cont .inner{
    background: #fff;
    padding: 45px 40px 40px;
    box-sizing: border-box;
    width: 100%;
    margin-top:40px;
}
.tab_inner_cont .inner .flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;
    margin-bottom: 18px;
}
.tab_inner_cont .inner .flex .txt ol li{
    list-style: none;
    margin-left: 1em;
    text-indent: -.5em;
}
.tab_inner_cont .inner .flex .txt ol li::before{
    content: "◎";
    display: inline-block;
}
.tab_inner_cont .inner .flex .card{
    width: 331px;  
}
.tab_inner_cont .inner .flex .card img{
    width: 100%;
    display: block;
}
.tab_inner_cont .inner .flex .txt{
    margin-left: 40px;
    font-size: 16px;
    flex: 1;
}
.tab_inner_cont .inner .flex .txt h3{
    text-align: left;
    border-left: 8px solid #d1bf2c;
    padding-left: 20px;
    font-size: 20px;
    margin-bottom: 15px;
    letter-spacing: 1px;
}
.tab_inner_cont .inner .flex .txt ol{
    border-top: 3px solid #2e2e2e;
    padding-top: 10px;
}
.tab_inner_cont .inner .flex .txt ol li{
    margin-bottom: 15px;
}
.tab_inner_cont .inner .flex .txt ol li a{
    color: #1062be;
    font-size: 14px;
}
.tab_inner_cont .toggle_inner{
    padding-top: 8px;
    display: none;
}
.tab_inner_cont .toggle_inner h4{
    font-size: 20px;
    border-bottom: 1px solid #2e2e2e;
    padding-bottom: 20px;
    margin-bottom: 26px;
}
.tab_inner_cont .toggle_inner p{
    line-height: 2.2;
    font-size: 16px;
}
.tab_inner_cont .toggle_inner h5{
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1px;
    margin-top: 35px;
    margin-bottom: 12px;
}
.tab_inner_cont .border-box{
	border: 3px solid #d6d6d6;
	border-radius: 10px;
	padding:20px 20px;
	max-width: 840px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
    margin-top:15px;
    font-size: 16px;
    margin-bottom: 45px;
}
.tab_inner_cont .border-box li{
    list-style: disc;
    margin-left: 1em;
    margin-bottom: 10px;
}
.tab_inner_cont .border-box p{
    font-size: 16px;
    line-height: 2.2;
}
.tab_inner_cont .btn_agree a{
        font-size: 18px;
    font-weight: bold;
    text-align: center;
    color: #000;
    text-decoration: none;
    display: block;
    max-width: 480px;
    width: 90%;
    margin: 45px auto;
    border: 2px solid #000;
    border-radius: 5px;
    padding: 15px 10px;
    box-shadow: 5px 5px 0px 0px rgb(0 0 0 / 20%);
    position: relative;
    box-sizing: border-box;
    background: #7fc4f8;
}
.tab_inner_cont .abso img{
    width: 100%;
    display: block;
}
.tab_inner_cont .abso01{
    top: 30px;
    right: 20px;
    max-width: 250px;
}
.tab_inner_cont .abso02{
    max-width: 103px;
    bottom: -45px;
    left: 40px;
}

/*202310追加*/
.benefits {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.benefits li {
    width: 49%;
    text-align: center;
    margin-bottom: 10px;
    color: #fff;
}
.benefits li/*:not(:last-child)*/ {
    background: linear-gradient(to right, #394854, #022746);
    padding: 5px;
    border-radius: 5px;
    box-sizing: border-box;
    font-weight: bold;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.benefits li a {
    width: 100%;
    text-align: center;
    background: linear-gradient(to right, #394854, #022746);
    color: #fff;
    padding: 5px;
    border-radius: 5px;
    box-sizing: border-box;
    font-weight: bold;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
.benefits li:last-child a::after {
  content: "";
  margin-left: 0.5em;
  display: inline-block;
  border-style: solid;
  border-width: 0.5em 0 0.5em 0.865em;
  border-color: transparent transparent transparent #fff;
  transform: translateY(0.1em) scale(0.8) rotate(90deg);
}
.tab_inner_cont p.benefits_txt small {
    font-size: 13px;
    text-indent: -1em;
    padding-left: 1em;
}
.n-table04 {
  max-width: 916px;
  width: 100%;
  margin: 0 auto;
  margin-top: 40px;
  border: 1px solid #e6e6e6;
}
.n-table04 th {
  padding: 10px;
  font-size: 20px;
  background: #f8f7e8;
  line-height: 1.8;
}
.n-table04 td {
  padding: 20px;
}
.n-table04 td img {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.n-table04 td p {
  font-size: 20px;
  text-align: center;
  margin: 30px 0 20px;
  font-weight: bold;
}
.n-table04 td p span {
  font-weight: normal;
  display: block;
  font-size: 18px;
  margin-top: 5px;
}

footer{
	background: #005280;
	color: #fff;
	text-align: center;
	padding: 130px 10px 70px;
	position: relative;
	font-size: 14px;
	margin-top: 70px;
}
footer .retop{
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
}
footer a{
	color: #fff;
	text-decoration: none;
	display: block;
}
footer li{
	display: inline-block;
	margin: 0 10px 20px;
}
footer::before{
	content: "";
    border-style: solid;
	border-width: 0 0 80px 99vw;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-color: transparent transparent transparent #f9f9f9;
}
footer .logo{
	margin: 20px auto;
}
footer .logo img{
	margin: 0 auto;
}
footer p{
	font-weight: bold;
	font-family: laca, sans-serif;
	font-weight: 700;
	font-style: normal;
}
.ft-info_wrap{
    display: grid;
    justify-content: center;
    margin: 10px auto 0;
    gap: 50px;
}
.ft-info_corporate{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
.ft-info_registration{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    display: flex;
    gap: 20px;
    text-align: left;
}
.ft-info_registration .text{
    font-size: 12px;
}
.ft-info_registration .text a{
    color: #ccc;
}
@media (max-width: 870px) {
    .ft-info_wrap{
        gap: 20px;
    }
    .ft-info_corporate{
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    .ft-info_registration{
        grid-column: 1 / 2;
        grid-row: 1 / 2;
        gap: 10px;
    }
}

.border-box-red{
	border: 3px solid #a00f03;
	border-radius: 10px;
	padding:20px 20px;
	max-width: 840px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
	margin-top:15px;
	margin-bottom:15px;
	font-size: 16px;
}
.border-box-red .text-bold{
	font-weight: bold;
}
.border-box-red .text-red{
	color: #a00f03;
}
.border-box-red .text-blue{
	color: #467cb9;
}
.border-box-red p + p{
	margin-top: 1em;
}
@media (max-width: 870px) {
	.border-box-red{
		width: 95%;
	}
}