@charset "utf-8";

/* CSS Document */


/*********************************
　基本フォーマット
*********************************/
.dotarea {
    text-align: center;
    position: relative;
    line-height:1em;
    vertical-align:middle;
    margin-top: 20px;
}
.slick-dots{
    line-height:0;
    vertical-align:middle;
}

.slick-dots li{
    line-height:1em;
    vertical-align:middle;
}

.dotarea a.bk ,.dotarea a.nx {
    position: relative;
    display: inline-block;
    color: rgba(255,255,255,0);
    
    line-height:1em;
    vertical-align:middle;
    
	text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    width: 1.2em;
    height: 1.4em;
    margin-top: -3px;
}

.dotarea a.bk::after {
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    border-left: 2px solid #939393;
    border-top: 2px solid #939393;
    position: absolute;
    top: 50%;
    left: 3px;
    margin-top:-7px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    cursor: pointer;
    line-height:1em;
    vertical-align:middle;
}

.dotarea a.nx::after {
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid #939393;
    border-top: 2px solid #939393;
    position: absolute;
    top: 50%;
    right: 3px;
    margin-top:-7px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    cursor: pointer;
    line-height:1em;
    vertical-align:middle;
}

/*.slick-slide{max-width:1400px;margin:auto;}*/

/*.sliderbg {
  position: relative;
  background-position: center;
}*/
.main_catch {
  font-size: 26px;
  color: #fff;
  position: absolute;
  top: 35px;
  left: 2.5%;
  line-height: 1.3em;
  letter-spacing: 0.07em;
  font-weight: normal;
  text-shadow: #2d6fd8 0px 0 20px, #2d6fd8 0px 0 5px;
}

.sliderimg img{ width:100%;}


/*[main]----------------------------------*/

a.button01, a.button02{margin: 30px auto 20px;}


#top .sec01A{
   max-width:1264px;
   margin:0 auto 50px;
}


#top .sec01A img {
    width: 100%;
    box-shadow:rgba(0,0,0,0.1)3px 3px 3px -1px;
    margin-bottom: 20px;
    position: relative;
    text-align: center;
}

#top .sec01A p {
    /*font-size:16px;*/
    line-height: 1.6em;
}

#top .sec01A a.syosai, #top .sec01A a.syosai2{
    /*font-size:16px;*/
    color:#eb5527;
    text-decoration:underline;
    line-height: 2em;
    display:block;
    position: relative;
}

#top .sec01A a.syosai:before{
    content: "";
    position: absolute;
    display: block;
    width: 12px;
    height: 12px;
    background: #eb5527;
    border-radius: 6px;
    left: 46%;
    top: calc(50% - 6px);
}

#top .sec01A a.syosai:after{
    content: "";
    position: absolute;
    display: block;
    width: 4px;
    height: 4px;
    border-right: solid 1px #fff;
    border-top: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 46.8%;
    top: calc(50% - 2px);
}

#top .sec01A a.syosai2:before{
    content: "";
    position: absolute;
    display: block;
    width: 12px;
    height: 12px;
    background: #eb5527;
    border-radius: 6px;
    left: 65%;
    top: calc(50% - 6px);
}

#top .sec01A a.syosai2:after{
    content: "";
    position: absolute;
    display: block;
    width: 4px;
    height: 4px;
    border-right: solid 1px #fff;
    border-top: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 65.8%;
    top: calc(50% - 2px);
}

#top .sec01B{
    max-width:1060px;
    margin:0 auto 100px;
}


#top .sec01B .newscategory {
    border-bottom: 2px solid #d5d6d7;
    padding-bottom: 50px;
}


#top .sec01B .newscategory li{
    float:left;
    cursor: pointer;
}

#top .sec01B .newscategory li p{
    /*font-size:16px;*/
    height:50px;
    padding: 0 20px;
    line-height: 50px;
    color:#bebebe;

}

#top .sec01B .newscategory li:hover, #top .sec01B .newscategory .active{
    border-bottom: 2px solid #eb5527;
}

#top .sec01B .newscategory .active p{
    font-weight:bold;
    color:#282828;
}

#top .sec01B .summarybox{
	margin:24px auto 30px;
}
   
#top .sec01B .newssummary li{
    padding:12px 0;
    /*font-size:16px;*/
}   



#top .sec01B .newssummary li.category_newsrelease .cate-mark{background:#2385b8;}
#top .sec01B .newssummary li.category_updateinfo .cate-mark{background:#4fa883;}

#top .sec01B .newssummary li .time{ vertical-align: middle;}


#top .sec01B .newssummary li a{
    text-decoration:underline;
}

#top .sec01B .newssummary .cate-time, #top .sec01B .newssummary li a, #top .sec01B .newssummary li span.title{
    display: table-cell;
    vertical-align: top;
}


@media screen and (min-width: 751px) {
	#top .topsp_only{
		display: none;
	}
}
#top .top_first_txt{
	text-align: center;
	margin-top: 50px;
}
#top #online_bnr .online_link {
	margin: 0 auto 50px auto;
	background-color: #fef6f4;
	padding: 20px 30px;
	width: 80%;
	max-width: 680px;
	border: 2px solid #eb5527;
	text-align: center;
}
#top #online_bnr .online_link a.button01 {
	border: 1px solid #eb5527;
	color: #eb5527;
	margin: 8px auto 0px;
	max-width: 250px;
	padding: 5px 0;
}
#top #online_bnr .online_link a:hover.button01 {
    color: #fff;
}
#top #online_bnr .online_link a.button01::after {
    border-top: solid 1px #eb5527;
    border-right: solid 1px #eb5527;
}
#top #online_bnr .online_link a:hover.button01::after {
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
}
#top #online_bnr .online_link p.title{
	font-size: 1.2rem;
	font-weight: bold;
	color: #eb5527;
	text-align: center;
}
#top #online_bnr .online_link p.bnr_t{
	font-size: 0.95rem;
	letter-spacing: 0.08em;
	font-weight: normal;
    color: #eb5527;
}
#top #section02{
	margin:50px auto 30px;
}


.main_contents{
	max-width: 1062px;
    width: 98%;
    margin: auto;
    padding:70px 0 50px;
    
}

.recordgraph .sec02{
	width:100%;
	max-width:1062px;
	margin:auto;
	position:relative;
	
}

.recordgraph .sec02_bg{
	width:100%;
}

.achieve_arrow.show{
	position:absolute;
	top:290px;
	right:30px;
	animation-name:arrow_ani;
	
	animation-duration:1s;
	animation-timing-function:ease;
	animation-delay:.6s;
	animation-fill-mode:forwards;
	opacity:0;
}


@keyframes arrow_ani{
	0%{opacity:0.5;width:5%;top:420px;right:340px}
	100%{opacity:1;width:33%;top:290px;right:30px;}
}

.achieve_no1.show{
	width:31.45%;
	position:absolute;
	top:220px;
	left:7px;
	opacity:0;
	animation-name:no1_ani;
	
	animation-duration:0.8s;
	animation-delay:.6s;
	animation-timing-function:ease;
	animation-fill-mode:forwards;
}

@keyframes no1_ani{
	0%{opacity:0.2;margin-top:-20px;}
	100%{opacity:1;margin-top:0px;}
}

.achieve_counter{
	position:absolute;
	top:120px;
	left:400px;
}
.achieve_c.anime{
	bottom: 0;
    left: 76px;
    position: absolute;
    opacity: 0;
    animation-name: comma_ani;
    animation-duration: .4s;
    animation-delay: 1.6s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
}


@keyframes comma_ani{
	0%{opacity:0.2;margin-top:-20px;}
	100%{opacity:1;margin-top:0px;}
}


.achieve_n{
	bottom: 5px;
    right: -55px;
    position: absolute;
}



.achieve_counter .counter{
	display:block;
	float:left;
	margin:0 -6px;
	width:100px;
	height:130px;
	overflow:hidden;
	background:url("../img2/sec02_achieve_num.png") repeat-y 0 0;
	font-size:0;
	animation-duration:0.7s;
	animation-timing-function:linear;
	animation-iteration-count:2;
}

.achieve_counter.show .cnt-0{background-position:0 -1170px; animation-name:countup0;}
.achieve_counter.show .cnt-1{background-position:0 -1040px; animation-name:countup1;}
.achieve_counter.show .cnt-2{background-position:0 -910px; animation-name:countup2;}
.achieve_counter.show .cnt-3{background-position:0 -780px; animation-name:countup3;}
.achieve_counter.show .cnt-4{background-position:0 -650px; animation-name:countup4;}
.achieve_counter.show .cnt-5{background-position:0 -520px; animation-name:countup5;}
.achieve_counter.show .cnt-6{background-position:0 -390px; animation-name:countup6;}
.achieve_counter.show .cnt-7{background-position:0 -260px; animation-name:countup7;}
.achieve_counter.show .cnt-8{background-position:0 -130px; animation-name:countup8;}
.achieve_counter.show .cnt-9{background-position:0 0; animation-name:countup9;}


@keyframes countup0{
	0%{background-position:0 -1170px;}
	100%{background-position:0 0;}
}
@keyframes countup1{
	0%{background-position:0 -1040px;}
	100%{background-position:0 130px;}
}
@keyframes countup2{
	0%{background-position:0 -910px;}
	100%{background-position:0 260px;}
}
@keyframes countup3{
	0%{background-position:0 -780px;}
	100%{background-position:0 390px;}
}
@keyframes countup4{
	0%{background-position:0 -650px;}
	100%{background-position:0 520px;}
}
@keyframes countup5{
	0%{background-position:0 -520px;}
	100%{background-position:0 650px;}
}
@keyframes countup6{
	0%{background-position:0 -390px;}
	100%{background-position:0 780px;}
}
@keyframes countup7{
	0%{background-position:0 -260px;}
	100%{background-position:0 910px;}
}
@keyframes countup8{
	0%{background-position:0 -130px;}
	100%{background-position:0 1040px;}
}
@keyframes countup9{
	0%{background-position:0 0;}
	100%{background-position:0 1170px;}
}

.achieve_counter .counter:nth-child(2){animation-delay:.1s;}
.achieve_counter .counter:nth-child(3){animation-delay:.3s;}
.achieve_counter .counter:nth-child(4){animation-delay:.5s;}

.recordgraph .atention{
	font-size:12px;
	text-align:right;
	width:100%;
	max-width:1062px;
	margin:15px auto 0;
	line-height:1.3em;
}



.pass_method h2.anime.show.slideU {
	-webkit-animation: slide_up 6s ease 0.4s 1 forwards;
	-ms-animation: slide_up 6s ease 0.4s 1 forwards;
	animation: slide_up 6s ease 0.4s 1 forwards;
}

.pass_method p.anime.show.slideU, .sidemenu_l.anime.show.slideU {
	-webkit-animation: slide_up 2s ease 0.5s 1 forwards;
	-ms-animation: slide_up 2s ease 0.5s 1 forwards;
	animation: slide_up 2s ease 0.5s 1 forwards;
}

.pass_method h4.anime.show.slideU,.pass_method .copy_2nd.anime.show.slideU {
	-webkit-animation: slide_up 1s ease 0.4s 1 forwards;
	-ms-animation: slide_up 1s ease 0.4s 1 forwards;
	animation: slide_up 1s ease 0.4s 1 forwards;
}

.recordgraph .sec02.anime.show,.recordgraph .achieve_counter.anime.show{
	-webkit-animation: animedef 0.4s ease 0.1s 1 forwards;
	-ms-animation: animedef 0.4s ease 0.1s 1 forwards;
	animation: animedef slide_up 0.4s ease 0.1s 1 forwards;
}

.imgR .img-side.anime.show {
	-webkit-animation: slideR 2s ease 0.5s 1 forwards;
	-ms-animation: slideR 2s ease 0.5s 1 forwards;
	animation: slideR 2s ease 0.5s 1 forwards;
}

.imgL .img-side.anime.show{
	-webkit-animation: slideL 2s ease 0.5s 1 forwards;
	-ms-animation: slideL 2s ease 0.5s 1 forwards;
	animation: slideL 2s ease 0.5s 1 forwards;
}

.imgL .text-side.anime.show,.imgR .text-side.anime.show{
	-webkit-animation: slide_up 1s ease 1s 1 forwards;
	-ms-animation: slide_up 1s ease 1s 1 forwards;
	animation: slide_up 1s ease 1s 1 forwards;
}

#top .top_pv{width:100%;max-width:800px;margin:20px auto 0;}
#top .top_pv a.button01{margin:20px auto 0;}


/*==PC小画面からタブレットまで=================================================================*/

@media screen and (max-width: 1100px) and (min-width: 751px) {

.achieve_arrow.show{
	top:62%;
	right:3%;
}


@keyframes arrow_ani{
	0%{opacity:0.5;width:5%;top:88%;right:31%;}
	100%{opacity:1;width:33%;top:62%;right:3%;}
}

.achieve_no1.show{
	top:47%;
	left:1%;
}

.achieve_counter{
	top:25%;
	left:38%;
}

.achieve_c.anime{left:17%;width:3.8%;}

.achieve_n{
	bottom: 2%;
    right: 3%;
    width: 12%;
}

.achieve_counter .counter{
	margin:0 -1.9%;
	width:9vw;
	height:11.7vw;
	background-size: 100%;
}

.achieve_counter.show .cnt-0{background-position:0 -105.3vw; animation-name:countup0;}
.achieve_counter.show .cnt-1{background-position:0 -93.6vw; animation-name:countup1;}
.achieve_counter.show .cnt-2{background-position:0 -81.9vw; animation-name:countup2;}
.achieve_counter.show .cnt-3{background-position:0 -70.2vw; animation-name:countup3;}
.achieve_counter.show .cnt-4{background-position:0 -58.5vw; animation-name:countup4;}
.achieve_counter.show .cnt-5{background-position:0 -46.8vw; animation-name:countup5;}
.achieve_counter.show .cnt-6{background-position:0 -35.1vw; animation-name:countup6;}
.achieve_counter.show .cnt-7{background-position:0 -23.4vw; animation-name:countup7;}
.achieve_counter.show .cnt-8{background-position:0 -11.7vw; animation-name:countup8;}
.achieve_counter.show .cnt-9{background-position:0 0; animation-name:countup9;}


@keyframes countup0{
	0%{background-position:0 -105.3vw;}
	100%{background-position:0 0;}
}
@keyframes countup1{
	0%{background-position:0 -93.6vw;}
	100%{background-position:0 11.7vw;}
}
@keyframes countup2{
	0%{background-position:0 -81.9vw;}
	100%{background-position:0 23.4vw;}
}
@keyframes countup3{
	0%{background-position:0 -70.2vw;}
	100%{background-position:0 35.1vw;}
}
@keyframes countup4{
	0%{background-position:0 -58.5vw;}
	100%{background-position:0 46.8vw;}
}
@keyframes countup5{
	0%{background-position:0 -46.8vw;}
	100%{background-position:0 58.5vw;}
}
@keyframes countup6{
	0%{background-position:0 -35.1vw;}
	100%{background-position:0 70.2vw;}
}
@keyframes countup7{
	0%{background-position:0 -23.4vw;}
	100%{background-position:0 81.9vw;}
}
@keyframes countup8{
	0%{background-position:0 -11.7vw;}
	100%{background-position:0 93.6vw;}
}
@keyframes countup9{
	0%{background-position:0 0;}
	100%{background-position:0 105.3vw;}
}

}



.pass_method{
    text-align:center;
    margin:0 auto;
}


.pass_method .main-copy{
	position: relative;
	margin-bottom:44px;
}

.pass_method .main-copy h2{
    font-size: 40px;
    letter-spacing: 0.12em;
    line-height: 1.8em;
    border-bottom: 4px solid #eb5527;
    padding-bottom: 1.4px;
    display: inline;
}

.pass_method .main-copy p{
    line-height: 2.8em;
    margin-top: 30px;
    font-size:20px;
}

.pass_method .main-copy h4{
    font-size:1.875rem;
    letter-spacing:0.1em;
    position: relative;
    margin-top: 148px;
    color:#282828;
}

.pass_method .main-copy h4::before {
    content: '';
    position: absolute;
    top: calc(100% - 142px) ;;
    left: 0;
    right: 0;
    width: 1px;
    height: 73px;
    margin: auto;
    background-color: #282828;
}

.pass_method .copy_2nd{
	position: relative;
    margin-top: 220px;
}

.pass_method .copy_2nd::before{
    content: '';
    position: absolute;
    top: -140px;
    left: 0;
    right: 0;
    width: 1px;
    height: 73px;
    margin: auto;
    background-color: #282828;
}

.pass_method .copy_2nd p{
	font-size:24px;
}


.pass_method > div{
    position: relative;
    margin-bottom: 90px;
}



.pass_method h3{
	font-size:28px;
	line-height: 1.5em;
	margin-bottom:30px;
	padding-bottom:30px;
	position:relative;
	font-weight:bold;
}

.pass_method h3::after{
	content: '';
    position: absolute;
    bottom: 0;;
    left: 0;
    right: 0;
    width: 40px;
    height: 1px;
    margin: auto;
    background-color: #282828;
}

.pass_method .img-side {
    width: 82%;
}

.pass_method .text-side {

}

#top #section04{
	background:#FEF6F4;
	text-align:center;
	padding:60px 0 50px;
}

#top #section04 .slidebnr a img{cursor:pointer;}

#top #section04 .slidebnr a img:hover{opacity:0.8;}

#top #section05 {
	position:relative;
}

#top #section05 img{
	width:100%;
	max-width:1060px;
}
#top #section07 {
	position:relative;
}
#top #section07 .main_contents{
	width:100%;
    padding-top:0;
}
#top #section07 img{
	width:100%;
	max-width:1060px;
}
#top a.linkwrap{
	display:block;
	cursor:pointer;
}



#top #section05 .sec05{
	text-align:center;
	position:absolute;
	bottom:80px;
	left:0;
	right:0;
}

#top #section05 .sec05 p{
	font-size:16px;
}
#top #section07 .sec07{
	text-align:center;
	position:absolute;
	bottom:80px;
	left:0;
	right:0;
}

#top #section07 .sec07 p{
	font-size:16px;
}


/*PC+タブレット==========================================*/

@media print, screen and (min-width:751px) {
	.sidemenu_l{
		width:230px;
		position:absolute;
		/*top:calc(90vh - 120px);*/
		top:calc(90vh - 60px);
		left:0;
		z-index:600;
		font-size:0.875rem;
	}
	

	
	.smallheader + #top .sidemenu_l{
	/*	top:380px;*/
	    top:600px;
	}
	
	.sidemenu_l ul{
		position:relative;
		background:#fff;	
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	    -ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	}
	
	.sidemenu_l ul li{
		height:68px;
		text-align:center;
		z-index:600;
	}
	
	.sidemenu_l ul li span{
		display:inline-block;
		padding:15px 0 25px 28px;
		position:relative;
	}
	
	.sidemenu_l ul li span::after{
	    content: "";
	    display: block;
	    border-right: 1px solid #fff;
	    border-bottom: 1px solid #fff;
	    display: block;
	    width: 6px;
	    height: 6px;
	    transform: rotate(45deg);
	    position: absolute;
	    left: calc(50% - 2px);
	    bottom: 15px;
	}
	
	.sidemenu_l div.open{
		width:100%;
		padding: 23px 26px;
		color:#282828;
		font-size:14px;
	}
	
	.sidemenu_l div.open .button01{
		border: solid 1px #fff;
	    border-radius: 20px;
	    background: transparent;
	    width:100%;
	    font-weight: bold;
	    padding: 5px 20px;
	    margin-top: 0;
	    display: inline-block;
	    color: #fff;
	    position: relative;
	    cursor: pointer;
	    -webkit-transition: all 0.2s ease-in-out;
	    -ms-transition: all 0.2s ease-in-out;
	    -o-transition: all 0.2s ease-in-out;
	    transition: all 0.2s ease-in-out;
	}
	.sidemenu_l div.open .button01:hover {
	    opacity: 1;
	    background-color:rgba(255,255,255,0.4);
	}
	
	.sidemenu_l div.open .selectwrap {
	    width: 100%;
	    position: relative;
	    display: inline-block;
	    margin-bottom: 15px;
	    background: #F0F0F0;
	}
	
	.sidemenu_l .selectwrap::after, .sidemenu_s .selectwrap::after {
	    content: '';
	    width: 6px;
	    height: 6px;
	    border: 0px;
	    border-bottom: solid 1px #282828;
	    border-right: solid 1px #282828;
	    -ms-transform: rotate(45deg);
	    -webkit-transform: rotate(45deg);
	    transform: rotate(45deg);
	    position: absolute;
	    top: 50%;
	    right: 10px;
	    margin-top: -4px;
	}
	
	.sidemenu_l div.open .selectwrap select {
	    border: none;
	    color: #282828;
	    padding: 5px 20px 5px 5px;
	    width: 100%;
	    -webkit-appearance: none;
	    -moz-appearance: none;
	    appearance: none;
	    background: transparent;
	    position: relative;
	    z-index: 1;
	    font-size:0.875rem;
	}
	
	
	.sidemenu_l ul li.request{
		width:50%;
		display:inline-block;
		background:#DC0000;
		color:#fff;
		float:left;
		order: -1;
	}
	.sidemenu_l ul li.request + div.open{
		background:#DC0000;
		height:200px;
	}
	
	.sidemenu_l ul li.request span::before{
		width:16px;
		height:18px;
		content:"";
		background:url("../img2/icon_sidemenu_01.png") top left no-repeat;
		position:absolute;
		top:calc(50% - 16px);
		left:0;
	}
	
	.sidemenu_l ul li.briefing{
		width:50%;
		display:inline-block;
		background:#7D0022;
		color:#fff;
	    order: -1;
	}
	
	.sidemenu_l ul li.briefing + div.open{
		background:#7D0022;
		height:200px;
	}
	
	.sidemenu_l ul li.briefing span::before{
		width:18px;
		height:18px;
		content:"";
		background:url("../img2/icon_sidemenu_02.png") top left no-repeat;
		position:absolute;
		top:calc(50% - 16px);
		left:0;
	}
	
	.sidemenu_l ul li.school{
		width:100%;
		background:#005981;
		color:#fff;
		height:48px;
		border-top:solid 2px #fff;
	}
	.sidemenu_l ul li.school.active{
		background:#001f41;
	}
	.sidemenu_l ul li.school + div.open{
		background:#005981;
		height:150px;
	}
	
	.sidemenu_l ul li.school span{
		padding:10px 0 ;
	}
	
	.sidemenu_l ul li.school span::after{
		top: calc(50% - 6px);
		right: -20px;
		left:auto;
	}
	
	.sidemenu_l ul li.school span::before{
		width:16px;
		height:16px;
		content:"";
		background:url("../img2/icon_sidemenu_03.png") top left no-repeat;
		position:absolute;
		top:calc(50% - 8px);
		left:-20px;
	}
	

/*[main]----------------------------------*/	
	
#top .sec01A .bnrs ,#top .sec01A .bnrs .sp-slides{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    position: relative;
    margin:0 auto;
}

#top .sec01A .box4{
    /*max-width:290px;
    margin-right:30px;*/
    max-width:23.5%;
    margin-right:2%;
}

#top .sec01A .box4:last-child{margin-right:0;}

#top .sec01B .newssummary li .cate-mark{
    color: #fff;
    font-size: 12px;
    border-radius: 4px;
    margin-right: 24px;
    vertical-align: middle;
    width: 114px;
    /* height: 26px; */
    display: inline-block;
    text-align: center;
}


#top .sec01B .newssummary li .cate-time{width: 294px;}

#top #section02{
	max-width:1200px;
	background:#F4F5F5;
}


.pass_method .imgR .img-side{text-align:right;}
.pass_method .imgL .img-side{text-align:left;}

.pass_method .imgR .text-side{left:0;}
.pass_method .imgL .text-side{right:0;}

.pass_method .img-side {
    width: 100%;
    margin-bottom: 90px;
}

.pass_method .img-side img{
	width:71.56%;
}

.pass_method .text-side {
    box-sizing: border-box;
    width: 50%;
    padding: 8% 2%;
    background:rgba(255,255,255,0.8);
    position:absolute;
    top:50px;
}

.pass_method .text-side p{
	font-size:24px;
}
#top #section04 p{
padding:34px 0 70px;
font-size:16px;
}

#top #section04 a.button01{
	margin-top:70px;
}

footer #section06 ul{
	width:98%;
	max-width:1280px;
	margin:30px auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

#top .sec04 .sp-horizontal .sp-next-arrow {
    right: 6%;
}


#top .sec04 .sp-horizontal .sp-previous-arrow {
    left: 6%;
}


#top .top_pv{display: -webkit-box;display: -ms-flexbox;-webkit-box-pack: justify;-ms-flex-pack: justify;justify-content: space-between;}
#top .top_pv li{width:48%;}


footer #section06 ul li img{
	width:100%;
	border-right: 1px solid #fff;
}

footer #section06 ul li a img:hover{opacity:0.7;}

}



/*タブレットのみ==========================================*/

@media screen and (min-width:751px) and ( max-width:1024px) {

	.pass_method h3{
	    font-size: 2.5vw;
	}
	.pass_method .text-side{
		padding: 5% 2%;
	}
	
	.pass_method .text-side p{
	font-size:2.3vw;
	}
	
	.pass_method .main-copy p{
	font-size:2.2vw;
	}
	.pass_method .main-copy h2{
	font-size:4vw;
	}
	
	.pass_method .copy_2nd p{
	font-size:2.4vw;
	}
	
	#top .sec01B .summarybox{
	margin:24px auto 30px;
	width:98%;
	}
	
	#top #section05 .sec05{
	bottom: 17%;
	}
	
	#top #section05 .sec05 a.button01{
	margin-top:2%;
	}
    #top #section07 .sec07{
	bottom: 17%;
	}
	
	#top #section07 .sec07 a.button01{
	margin-top:2%;
	}


	#top .sec01A a.syosai:before{left: 50%;}

	#top .sec01A a.syosai:after{left: 51%;}

	#top .sec01A a.syosai2:before{left: 73%;}

	#top .sec01A a.syosai2:after{left: 74.5%;}
}


/*スマホ==========================================*/
@media screen and (min-width: 601px) {
#top #online_bnr .online_link .bnr_sp {
    display: none;
}
}
@media screen and (max-width: 750px) {
	.main_contents{
	padding:7% 0;
	width:90%;
	}


  .sliderbg {
    position: relative;
    width: 100%;
  }
  .sliderbg img {
    width: 100%;
  }
	.dotarea a.bk ,.dotarea a.nx {
	margin-top:0;
	}
	.sp-buttons {
    display: inline-block;
    width: 80%;
	}

/*[main]----------------------------------*/

#top .sectiontitle{
	font-size:3.2vw;
}

#top .sectiontitle .font-en{
	font-size:6.2vw;
}


#top #section01 .sp-horizontal .sp-arrows{top: 100px;}

#top #section01 .main_contents{width:100%;}


#top .sec01A{
   margin:0 auto;
}

#top .sec01A p{
	font-size:4.vw;
}

#top .sec01A .box4{
    /*width: 100%;
    max-width:290px;
    margin-right:30px;*/
    display: block;
    width: 23.5%;
    margin-right: 2%;
}
#top #section01 .bnrs .slick-list {
  margin-right: -30px; 
  margin-right: -2%; /* ガター分ネガティブマージン */
}

#top #section01 .bnrs .slick-slide {
  margin-right: 30px;
  margin-right: 2%;  /* ガター */
}

#top .sec01A a.syosai:before{left: 23vw;}

#top .sec01A a.syosai:after{left: 23.6vw;}

#top .sec01A a.syosai2:before{left: 33vw;}

#top .sec01A a.syosai2:after{left: 33.6vw;}


#top .sec01B{margin-bottom:6%;}

#top #section01b{overflow: hidden;}

#top .sec01B .newscategory{padding-bottom:60px;}

#top .sec01B .newscategory li{width:33%;}

#top .sec01B .newscategory li p {
    padding: 0 0;
    text-align: center;
    height:60px;
}

#top .sec01B .summarybox{
    margin:30px 0 36px;
    padding:0 26px;
}
#top .sec01B .newscategory {
    border-bottom: 4px solid #D5D6D7;
}

#top .sec01B .newscategory li:hover, #top .sec01B .newscategory .active{
    border-bottom: 4px solid #eb5527;
}

#top .sec01B .newssummary li{padding:20px 0;}

#top .sec01B .newssummary li .cate-mark{
    color: #fff;
    border-radius: 4px;
    margin-right: 14px;
    vertical-align: middle;
    /* height: 26px; */
    display: inline-block;
    text-align: center;
    font-size:3.2vw;
    width: 30vw;
	padding: 1%;
}

#top .sec01B .newssummary li a, #top .sec01B .newssummary li span.title{
    
    display:block;
    margin-top:18px;
    text-decoration:none;
}

#top #section02{margin:4% auto 2%;background:#F4F5F5;}

#top #section02 a.button01{width:80%;}

.recordgraph .sec02{padding-top:5%;}


#top #section04{padding: 11vw 0 9vw;}


#top #section05 .sec05{bottom:/*12vw*/5.8vw;}


#top #section05 img{max-width:750px;}

#top #section05 .sec05 a.button01{margin:6vw auto 7vw;}

#top #section07 .sec07{bottom:/*12vw*/5.8vw;}

#top #section07 img{max-width:750px;}

#top #section07 .sec05 a.button01{margin:6vw auto 7vw;}
    
#top #online_bnr .online_link {
	padding: 4vw 2vw;
	width: 100%;
}
#top #online_bnr .online_link p.title {
    font-size: 3.5vw;
	letter-spacing: 0.08em;
	line-height: 1.35em;
}
#top #online_bnr .online_link p.bnr_t {
    font-size: 2.7vw;
	line-height: 1.7;
	margin-top: 4px;
}
#online_bnr .online_link a.button01 {
    font-size: 100%;
}
.achieve_arrow.show{
	top:75%;
	right:3%;
	width:54.3%;
}


@keyframes arrow_ani{
	0%{opacity:0.5;width:5%;top:93%;right:53%;}
	100%{opacity:1;width:54.3%;top:75%;right:3%;}
}

.achieve_no1.show{
	top:16.8%;
	left:59%;
	width:40.5%;
}

.achieve_counter{
	top:55%;
	left:0%;
}

.achieve_c.anime{
    left:17%;
    bottom: -4%;
    width: 4.3%;
}


.achieve_n{
	bottom: 2%;
    right: 2%;
    width: 12%;
}

.achieve_counter .counter{
	margin:0 -1.8%;
	width:12vw;
	height:15.6vw;
	background-size: 100%;
}

.achieve_counter.show .cnt-0{background-position:0 -140.4vw; animation-name:countup0;}
.achieve_counter.show .cnt-1{background-position:0 -124.8vw; animation-name:countup1;}
.achieve_counter.show .cnt-2{background-position:0 -109.2vw; animation-name:countup2;}
.achieve_counter.show .cnt-3{background-position:0 -93.6vw; animation-name:countup3;}
.achieve_counter.show .cnt-4{background-position:0 -78vw; animation-name:countup4;}
.achieve_counter.show .cnt-5{background-position:0 -62.4vw; animation-name:countup5;}
.achieve_counter.show .cnt-6{background-position:0 -46.8vw; animation-name:countup6;}
.achieve_counter.show .cnt-7{background-position:0 -31.2vw; animation-name:countup7;}
.achieve_counter.show .cnt-8{background-position:0 -15.6vw; animation-name:countup8;}
.achieve_counter.show .cnt-9{background-position:0 0; animation-name:countup9;}


@keyframes countup0{
	0%{background-position:0 -140.4vw;}
	100%{background-position:0 0;}
}
@keyframes countup1{
	0%{background-position:0 -124.8vw;}
	100%{background-position:0 15.6vw;}
}
@keyframes countup2{
	0%{background-position:0 -109.2vw;}
	100%{background-position:0 31.2vw;}
}
@keyframes countup3{
	0%{background-position:0 -93.6vw;}
	100%{background-position:0 46.8vw;}
}
@keyframes countup4{
	0%{background-position:0 -78vw;}
	100%{background-position:0 62.4vw;}
}
@keyframes countup5{
	0%{background-position:0 -62.4vw;}
	100%{background-position:0 78vw;}
}
@keyframes countup6{
	0%{background-position:0 -46.8vw;}
	100%{background-position:0 93.6vw;}
}
@keyframes countup7{
	0%{background-position:0 -31.2vw;}
	100%{background-position:0 109.2vw;}
}
@keyframes countup8{
	0%{background-position:0 -15.6vw;}
	100%{background-position:0 124.8vw;}
}
@keyframes countup9{
	0%{background-position:0 0;}
	100%{background-position:0 140.4vw;}
}

.recordgraph .atention{font-size:2.3vw;text-align:right;margin:10px auto 0;line-height:1.2em;}

#top .sec03 a.button01{width:80%;}

.pass_method .main-copy h2{font-size:6.8vw;}

.pass_method .main-copy p{line-height:2.3em;font-size:3.65vw;}   

.pass_method .main-copy h4 {
    font-size: 1.307rem;
    margin-top: 140px;
}

.pass_method .main-copy h4::before{
    top: calc(100% - 146px);
    height:96px;
}
.pass_method .copy_2nd{
	padding-top: 170px;
}
.pass_method .copy_2nd::before{
    top: 40px;
    height:96px;
}
.pass_method .copy_2nd p{font-size:4.8vw;}

.pass_method > div{
    margin-bottom: 54%;
}

.pass_method h3{
    font-size: 4.6vw;
    margin:5% 0 8%;
    padding-bottom:8%;
}

.pass_method h3::after{
	height:2px;
}
.pass_method .text-side{
	padding: 5% 2%;
	top:60%;
	position:absolute;
	background:rgba(255,255,255,0.8);
}

.pass_method .text-side p{
	font-size: 4.5vw;
    width: 100%;
}


.pass_method .img-side{
	width:100%;
}

.pass_method .img-side img{
	width: 120%;
    margin-left: -10%;
    margin-right: -10%;
}

.pass_method .text-side{
	width:100%;
	padding:2%;
}

#top #section04 p{
	font-size: 3.8vw;
    padding: 0 3% 10%;
}

#top #section04 a.button01{
	margin-top:8%;
}

#top #section05 .main_contents{
	width:100%;
}

#top #section05 .sec05 p{
	font-size:3.6vw;
}
#top #section07 .main_contents{
	width:100%;
}
#top #section07 .sec07 p{
	font-size:3.6vw;
}
#top .top_pv{
	margin:4vw auto 8vw auto;
	max-width:auto;
	}
#top .top_pv li:first-child{margin-bottom:7vw;padding-bottom:7vw;border-bottom:1px dashed #eb5527;}

#top .top_pv a.button01{margin:4vw auto 4vw;}

footer {margin-top:3vw;padding-top:0;}
footer #section06 ul{
	width:90%;
	margin:0 auto 3vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

footer #section06 ul li{
	width:calc(50% - 1px);
	margin:0 2px 2px 0;
}

footer #section06 ul li:nth-of-type(2n){margin:0;}

footer #section06 ul li a{line-height:0;display:block;}

footer #section06 ul li img{
	width:100%;
}

}
@media screen and (min-width: 751px) {
	#top #online_bnr .online_link .bnr_t .br_750 {
		display: none;
	}
}
@media screen and (max-width: 750px) {
	#top #online_bnr .online_link span.bnr_pc {
		display: none;
	}
}
@media screen and (max-width: 500px) {
	#top #online_bnr .online_link p.title {
		font-size: 4.2vw;
	}
	#top #online_bnr .online_link a.button01 {
		padding: 8px 0;
	}
}

#top #online_bnr .online_link.top_bnr p.title {
    font-size: 2.8rem;
	line-height: 1.1;
	margin-bottom: 5px;
}
#top #online_bnr .online_link.top_bnr p.bnr_t {
    font-size: 1.4em;
	letter-spacing: 0;
}


@media screen and (max-width: 750px) {
	#top #online_bnr .online_link.top_bnr p.title {
		font-size: 5.8vw;
	}
	#top #online_bnr .online_link.top_bnr p.bnr_t {
		font-size: 3.7vw;
		line-height: 1.2;
	}
}


/*20210623追記*/
#top #event_bnr {
	position:relative;
}
#top #event_bnr img{
	width:80%;
	max-width: 680px;
	margin: 0 auto;
}
#top #event_bnr .sec05{
	text-align:center;
	position:absolute;
	bottom:90px;
	left:0;
	right:0;
}
#top #event_bnr .main_contents {
	padding-top: 0;
}
#top #event_bnr .main_contents a.button01 {
    margin: 8px auto 0px;
    max-width: 250px;
    padding: 5px 0;
}
/*タブレットのみ==========================================*/

@media screen and (min-width:751px) and ( max-width:1024px) {
	#top #event_bnr .sec05{
		bottom: 17%;
	}
	#top #event_bnr .sec05 a.button01{
		margin-top:2%;
	}
    #top #event_bnr .sec07{
		bottom: 17%;
	}
	#top #event_bnr .sec07 a.button01{
		margin-top:2%;
	}
}

@media screen and (max-width: 750px) {
	#top #event_bnr .sec05{bottom:/*12vw*/5.8vw;}
    #top #event_bnr .sec07{bottom:/*12vw*/5.8vw;}
	#top #event_bnr img{max-width:750px;}
	#top #event_bnr .sec05 a.button01{margin:6vw auto 10vw;}
    #top #event_bnr .sec07 a.button01{margin:6vw auto 10vw;}
	#top #event_bnr img{
		width:100%;
	}
	#top #online_bnr .online_link {
		margin-bottom: 7vw;
	}
	#top #event_bnr .main_contents a.button01 {
		padding: 8px 0;
	}
}


#top #online_bnr .online_link.top_bnr p.title span {
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.2;
}

@media screen and (max-width: 750px) {
	#top #online_bnr .online_link.top_bnr p.title span{
		font-size: 7.4vw;
	}
}

#top #online_bnr .online_link.top_bnr p.title span.font_s {
	font-size: 2.1rem;
}
@media screen and (max-width: 750px) {
	#top #online_bnr .online_link.top_bnr p.title span.font_s{
		font-size: 4.8vw;
	}
}
/*TOP QA==========================================*/
#section_tfaq a{
	text-decoration: underline;
	color: #eb5527;
}
#section_tfaq .faq_other{
	text-align: center;
}

#top .sectiontitle {
	margin-bottom: 10px;
}

@media screen and (max-width: 750px){
	#top .sec01B .summarybox {
		margin-top: 0px !important;
	}
}