@charset "utf-8";
/* CSS Document */


.head-border {
    display: flex;
    align-items: center;
	font-size: 220%;
	letter-spacing: 0.025em;
	color: #1a7aa5;
}

.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #1a7aa5;
}

.head-border:before {
    margin-right: 1rem;
}

.head-border:after {
    margin-left: 1rem;
}

#page_ttl{
	padding: 80px 0 20px;
}
.page_ttl{
	text-align: center;
	color: #1a7aa5;
	font-weight: bold;
	letter-spacing: 0.025em;
	font-size: 350%;
}

/*----------------- challenge ------------------*/


#challenge{
	padding: 80px 0 130px;
}
#challenge .wrap{
	background-image: url("../images/road/challenge_bg.png");
	background-repeat: no-repeat;
	background-position: center top 25px;
}
.ch_ttl{
	text-align: center;
	color: #1a7aa5;
	font-size: 270%;
	letter-spacing: 0.025em;
	margin-bottom: 30px;
}
.ch_txt{
	font-size: 140%;
	color: #000;
	line-height: 2.38;
	letter-spacing: 0.05em;
	text-align: center;
}
.ch_list{
	background-color: #fff;
	border-radius: 10px;
	width: 735px;
	max-width: 100%;
	margin: 40px auto 35px;
	padding: 15px 10px 14px 27px;
}
.ch_list li{
	color:#f49c00;
	font-weight: bold;
	font-size: 140%;
	letter-spacing: 0.025em;
	background-image: url("../images/road/challenge_chk.png");
	background-repeat: no-repeat;
	background-size: 32px;
	background-position: left top 3px;
	padding-left: 37px;
	padding-bottom: 8px;
	padding-top: 2px;
}
.ch_list li + li{
	margin-top: 5px;
}

.olympic{
	width: 1030px;
	max-width: 100%;
	margin: 100px auto auto;
}
.olympic_list{
	display: flex;
	justify-content: space-between;
	margin: 25px auto auto;
}


/*------------------- izanai -------------------*/

#izanai{
	color: #000;
	padding: 120px 0 160px;
}

.iza_ttl{
	text-align: center;
	color: #1a7aa5;
	font-size: 240%;
	letter-spacing: 0.05em;
	font-weight: bold;
}
.iza_ttl span{
	font-size: 70%;
}

.iza_box{
	padding: 5px;
	width: 1040px;
	max-width: 100%;
	margin: 125px auto auto;
	
}
.iza_box_inn{
	background-color: #fff;
	padding-bottom: 55px;
}
.iza_profile{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	top: -80px;
	position: relative;
	margin-bottom: -80px;
}
.iza_box + .iza_box .iza_profile{
	top: -55px;
	margin-bottom: -55px;
}
.iza_photo{
	margin-right: 38px;
}
.iza_name{
	font-size: 160%;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.iza_status{
	font-size: 110%;
	letter-spacing: 0.05em;
	line-height: 1.7;
}

.iza_txt{
	font-size: 140%;
	line-height: 2.38;
	text-align: center;
	letter-spacing: 0.05em;
}
.iza_subttl{
	margin-top: 70px;
	margin-bottom: 15px;
}
.iza_txt + .iza_subttl{
	margin-top: 50px;
}
@media screen and (min-width: 769px){
.iza_subttl img.pc{
	display: block;
	margin: auto;
}
}
.iza_box + .iza_box .iza_txt{
	margin-top: 55px;
}



/*-----------------step -----------------*/


#step{
	background: rgb(255,255,255);
background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,243,182,1) 25%, rgba(167,214,226,1) 87%, rgba(255,255,255,1) 100%);
background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(246,243,182,1) 25%,rgba(167,214,226,1) 87%,rgba(255,255,255,1) 100%);
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(246,243,182,1) 25%,rgba(167,214,226,1) 87%,rgba(255,255,255,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff',GradientType=0 );
	padding: 120px 0 180px;
}

#step .wrap{
	position: relative;

}
#step .wrap::before{
	content: "";
	width: 20px;
	height: calc( 100% - 140px );
	position: absolute;
	top: 140px;
	left: 50%;
	transform: translateX(-50%);
background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,245,117,1) 11%, rgba(217,223,117,1) 44%, rgba(88,185,211,1) 100%);
background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,245,117,1) 11%,rgba(217,223,117,1) 44%,rgba(88,185,211,1) 100%);
background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,245,117,1) 11%,rgba(217,223,117,1) 44%,rgba(88,185,211,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#58b9d3',GradientType=0 );

	display: block;
}
.step_ttl{
	font-size: 330%;
	color: #f49c00;
	letter-spacing: 0.05em;
	text-align: center;
	position: relative;
	margin-bottom: 190px;
}
.step_ttl span{
	font-size: 70%;
}
.step_box{
	background: rgb(0,214,173);
background: -moz-linear-gradient(left,  rgba(0,214,173,1) 0%, rgba(0,177,233,1) 86%);
background: -webkit-linear-gradient(left,  rgba(0,214,173,1) 0%,rgba(0,177,233,1) 86%);
background: linear-gradient(to right,  rgba(0,214,173,1) 0%,rgba(0,177,233,1) 86%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00d6ad', endColorstr='#00b1e9',GradientType=1 );
	padding: 2px;
	position: relative;
	width: 985px;
	max-width: 100%;
	margin: auto;

}
.step_box.step04{
	margin-top: 210px;
}
.step_box.step05{
	width: 100%;
	padding: 10px;
}
.step_box_inn{
	background-color: #fff;
	background: url("../images/road/step_box_bg_right.png") right top , url("../images/road/step_box_bg_left.png") bottom left ,
		 #ffffff;
	background-repeat: no-repeat;
	padding: 17px 45px 55px;
	
}
.step03 .step_box_inn{
	padding-bottom: 45px;
}
.step02 .step_box_inn{
	padding-bottom: 40px;
}
.step_box_ttl{
	text-align: center;
	font-size: 310%;
	color: #1a7aa5;
	letter-spacing: 0.05em;
	font-weight: bold;
	margin-bottom: 30px;
}
.step_no{
	position: absolute;
	top: -23px;
	left: -40px;
}

.step_txt01{
	color: #000;
	font-size: 150%;
	line-height: 1.9;
	letter-spacing: 0.025em;
}
.step_txt01 a{
	color: #000;
}
.step_blue_box{
	background: rgb(0,214,173);
background: -moz-linear-gradient(left,  rgba(0,214,173,1) 0%, rgba(0,177,233,1) 86%);
background: -webkit-linear-gradient(left,  rgba(0,214,173,1) 0%,rgba(0,177,233,1) 86%);
background: linear-gradient(to right,  rgba(0,214,173,1) 0%,rgba(0,177,233,1) 86%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00d6ad', endColorstr='#00b1e9',GradientType=1 );	
	margin: 25px 0 0;
	padding: 20px 0 25px 22px;
	position: relative;
}
.step04 .step_blue_box{
	margin-top: 50px;
}
.step_txt02{
	color: #fff;
	font-size: 125%;
	line-height: 1.9;
	letter-spacing: 0.05em;
}
.step_cnt{
	width: 535px;
	max-width: 100%;
}
.step03 .step_cnt{
	width: 620px;
}
.step_img01{
	position: absolute;
	right: -50px;
	top: 85px;
}
.step02 .step_img01{
	top: 120px;
}
.step03 .step_img01{
	top: 28px;
}
.step04 .step_img01{
	top: 115px;
}
.step01 .step_blue_box{
	padding-right: 22px;
	padding-bottom: 15px;
}
.step03 .step_blue_box{
	padding-top: 30px;
	padding-bottom: 30px;
}
.step03 .step_blue_box{
	margin-top: 50px;
}
.step_blue_box.flex{

}
.step_img02{
	position: absolute;
	bottom: 15px;
	right: 0;
}
.step04 .step_img02{
	right: 15px;
}
.step02 .step_txt02{
	width: calc( 100% - 210px);
}
.step03 .step_txt02{
	width: calc( 100% - 244px);
}
.step04 .step_txt02{
	width: calc( 100% - 229px);
}


.step_math01{
	padding-left: 138px;
	margin: 65px auto 75px;
}
.step_math02{
	margin: 40px auto 36px;
}
.step_math02 img{
	display: block;
	margin-right: 0;
	margin-left: auto;
}
.step_math03{
	padding-left: 67px;
	margin: 40px auto 56px;
}
.step05 .step_box_inn{
}
.step05 .step_box_ttl{
	font-size: 430%;
}
.step05 .step_cnt{
	width: 680px;
	padding-bottom: 200px;
	position: relative;
}
.step05 .step_blue_box{
	width: 478px;
	max-width: 100%;
	padding-right: 22px;
	padding-bottom: 17px;
}
.step05 .step_img01{
	right: 57px;
	top: 70px;
}
.step05 .step_img02{
	top: auto;
	bottom: 20px;
}

#offshot{
	padding: 40px 0 240px;
}
#offshot .off_ttl{
	font-size: 420%;
	font-weight: 500;
	margin-bottom: 50px;
}
.off_img img{
	margin: auto;
}
@media screen and (min-width: 769px){
.off_img img.pc{
	display: block;
	margin: auto;
}
}

.offshot_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.offshot_list li{
	width: 441px;
	margin-bottom: 95px;
}
.offshot_list li:nth-of-type(2n){
	margin-left: 150px;
}
.offshot_list li:nth-last-of-type(-n+2){
	margin-bottom: 0;
	
}
@media screen and (max-width: 768px){
	
	.head-border {
		font-size: 4.8vw;
	}
	
	#page_ttl {
		padding: 9vw 0 2.6vw;
	}
	.page_ttl{
		font-size: 5.4vw;
	}
	#challenge{
		padding: 10vw 0 0;
	}
	
	#challenge .wrap{
		background-image: url("../images/road/challenge_bg_sp.png");
		background-size: 86%;
		background-position: top center;
		padding: 0 7.0% 12.8vw;
	}
	.ch_ttl{
		font-size: 4.3vw;
		margin-bottom: 10px;
	}
	.ch_txt{
		font-size: 3.1vw;
		line-height: 2;
		text-align: left;
	}
	.ch_list{
		padding: 3.2vw 0 1.8vw 3.2vw;
		margin: 5.3vw auto 6vw;
	}
	.ch_list li{
		font-size: 3.1vw;
		background-size: 5.8vw;
		padding-left: 6.8vw;
	}
	.ch_list li + li{
		margin-top: 1vw;
	}
	
	.olympic {
		width: 100%;
		margin: 16vw auto auto;
	}
	
	.olympic_list{
		flex-wrap: wrap;
		justify-content: center;
		margin: 1.9vw auto auto;
	}
	.olympic_list li{
		width: 19.2vw;
		margin-right: 2vw;
		margin-bottom: 2.1vw;
	}
	.olympic_list li:nth-of-type(4){
		margin-right: 0;
	}
	.olympic_list li img{
		display: block;
	}
	#izanai {
		padding: 26vw 0 0;
	}
	.iza_box {
		padding: 0.6vw;
		width: 100%;
		margin: 4vw auto auto;
	}
	.iza_box_inn{
		padding: 3.2vw 6.4vw 6.4vw;
	}
	.iza_ttl{
		font-size: 5.4vw;
	}
	
	.iza_profile,
	.iza_box + .iza_box .iza_profile{
		position: static;
		margin: auto;
	}
	.iza_photo{
		width: 18.6vw;
		margin-right:2.6vw;
	}
	.iza_name{
		font-size: 3.1vw;
	}
	.iza_status{
		font-size: 2.3vw;
	}
	.iza_status li{
		line-height: 1.2;
	}
	.iza_status li + li{
		margin-top: 0.5vw;
	}
	.iza_subttl {
		margin-top: 8vw;
		margin-bottom: 1.6vw;
		width: 52.3vw;
	}
	.iza_txt{
		line-height: 1.95;
		font-size: 3.1vw;
		text-align: left;
	}
	.iza_txt + .iza_subttl{
		margin-top: 6.9vw;
		width: 25.3vw;
	}
	.iza_box + .iza_box{
		margin-top: 6vw;
	}
	.iza_box + .iza_box .iza_txt{
		margin-top: 6vw;
	}
	
	
	
	#step{
		padding: 32vw 0 32vw;
	}
	.step_ttl{
		font-size: 5.5vw;
		margin-bottom: 20vw;
		
	}
	#step .wrap::before {
		height: calc( 100% - 24vw );
		top: 24vw;
	}
	.step_no{
		width: 34vw;
		left: 3.4vw;
		top: -9.1vw;
	}
	.step03 .step_box_inn,
	.step02 .step_box_inn,
	.step05 .step_box_inn,
	.step_box_inn{
		padding: 4.5vw 7.4vw 6.4vw;
	}
	.step05 .step_box_inn{
		padding-bottom: 4.3vw;
	}
	
	.step_box_ttl{
		font-size: 5.5vw;
		margin-bottom: 1.3vw;
	}
	.step_img01{
		position: static;
		margin: 6.1vw 0 0;
		width: 100%;
	}
	.step_img01.sp img{
		display: block;
		margin: auto;
	}
	.step_cnt{
		width: 100%;
	}
	.step_txt01{
		font-size: 3.1vw;
		line-height: 1.47;
	}
	.step_txt02{
		font-size: 2.8vw;
	}
	.step01 .step_blue_box{
		padding: 0;
	}
	.step03 .step_blue_box,
	.step04 .step_blue_box,
	.step01 .step_blue_box,
	.step_blue_box{
		margin: 4.6vw 0 0;
		padding: 2.4vw 3.2vw 2.3vw;
	}
	.step02 .step_blue_box,
	.step03 .step_blue_box,
	.step04 .step_blue_box{
		padding-right: 0;
	}
	.step_blue_box.flex{
		display: flex;
		justify-content: space-between;
	}
	.step_img02{
		width: 29.5vw;
		position: static;
	}
	.step02 .step_txt02{
		width: calc( 100% - 29.5vw);
	}
	.step03 .step_img02{
		width: 34vw;
	}
	.step03 .step_txt02{
		width: calc( 100% - 34vw);
		
	}
	.step04 .step_img02{
		width: 35.8vw;
		position: relative;
		right: auto;
		top: 5vw;
	}
	.step04 .step_txt02{
		width: calc( 100% - 36vw);
		
	}	
	.step03.step_box{
		margin-top: 26vw;
	}
	.step03 .step_img01{
		width: 51vw;
		margin-left: auto;
		margin-right: auto;
	}
	
	
	.step_math02{
		margin: 6.4vw 0 7.2vw auto;
		width: 41vw;
	}
	
	.step_box.step04{
		margin-top: 0;
	}
	
	
	
	
	
	
	.step_math01 {
    padding-left: 0;
    margin: 7.4vw 0 12vw;
		width: 34.7vw;
}
	.step_math03{
		padding-left: 0;
		width: 38vw;
		margin: 4.8vw 0 12vw 0;
	}
	
	.step_box.step05{
		padding: 1.6vw;
	}
	.step05 .step_box_ttl{
		font-size: 9.6vw;
	}
	
	.step05 .step_cnt{
		padding-bottom: 0;
	}
	.step05 .step_img02{
		width: 100%;
		position: relative;
		top: -4.5vw;
		right: auto;
		bottom: auto;
	}
	.step05 .step_blue_box{
		width: 65.7vw;
		padding: 2.4vw 3.2vw 4vw;
	}

	.step_box_inn{
		background-size: 50%;
	}
	#offshot {
		padding: 10vw 0 29vw;
	}
	
	#offshot .off_ttl{
		font-size: 9.3vw;
		margin-bottom: 2.6vw;
	}
	.offshot_list{
		justify-content: space-between;
	}
	.offshot_list li{
		width: 48.7%;
		margin-bottom: 5.2vw;
	}
	.offshot_list li:nth-of-type(2n){
		margin-left: 0;
	}
	
}