@charset "utf-8";
/* CSS Document */


/* header
   ========================================================================== */
header{
	position: relative;
	background: rgba(255,255,255,.9);
	border-top: 5px solid #26494D;
}

header .inner{
	padding: 15px 10px 10px;
}

header h1{
	width: 65px;
	line-height: 0;
}

header h1 a{
	display: inline-block;
}

header .text_box{
	margin: 0 0 0;
	padding: 10px 0 0;
	text-align: center;
}

header .text_box .text{
	margin: 0 0 0;
	font-size: 3.8vw;
	line-height: 150%;
	color: #EC7300;
	font-weight: bold;
}

header .text_box .sub{
	margin: 0 0 0;
	font-size: 2.7vw;
	line-height: 150%;
	color: #26474C;
	font-weight: bold;
}


/* main_view
   ========================================================================== */
.main_view{
	margin-top: -27vw;
	padding: 31vw 2vw 0;
	background: url("../images/main_view/bg.jpg") no-repeat center center;
	background-size: cover;
	line-height: 0;
	text-align: center;
}


/* cv
   ========================================================================== */
.cv{
	position: relative;
}

.cv .inner{
	padding: 8vw 0 6vw;
	position: relative;
}

.cv .inner::after{
	content: "";
	background: url("../images/common/arrow.png") no-repeat center center;
	background-size: 100%;
	width: 17vw;
    height: 18vw;
    position: absolute;
    top: -6vw;
    right: 1vw;
}

.cv .text_box{
	margin: 0 0 0;
	text-align: center;
}

.cv .text_box .text{
	margin: 0 0 0;
	font-size: 3.5vw;
	line-height: 150%;
	color: #EC7300;
	font-weight: bold;
}

.cv .text_box .sub{
	margin: 0 0 0;
	font-size: 2.5vw;
	line-height: 150%;
	color: #26474C;
	font-weight: bold;
}

.cv .btn{
	margin: 3vw 0 0;
	text-align: center;
	line-height: 0;
	position: relative;
}

.cv .btn::after{
	content: "";
	background: url("../images/common/click.png") no-repeat center center;
	background-size: 100%;
	width: 11vw;
    height: 8vw;
    position: absolute;
    top: 11vw;
    right: -5vw;
}

.cv .btn a{
	display: inline-block;
}


/* note
   ========================================================================== */
.note{
	margin: 0 0 10vw;
	position: relative;
}

.note .inner{
	padding: 0 3vw;
	position: relative;
}

.note p{
	font-size: 3vw;
	line-height: 170%;
	color: #26464C;
}

.note p span{
	color: inherit;
}

.note ul{
	margin: 0 0 5vw;
}

.note ul li{
	margin: 1vw 0 0;
	padding-left: 10vw;
	position: relative;
}

.note ul li::before{
	content: "※1";
	font-size: 3vw;
	line-height: 170%;
	color: #26464C;
	position: absolute;
	left: 0;
	top: 0;
}

.note ul li:nth-child(2)::before{
	content: "※2";
}

.note ul li:nth-child(3)::before{
	content: "※3";
}

.note ul li:nth-child(4)::before{
	content: "※4";
}


/* under_block
   ========================================================================== */
.under_block{
	margin: 10vw 0;
}

.under_block h2{
	font-size: 5vw;
	line-height: 170%;
	color: #26464C;
	font-weight: bold;
	text-align: center;
}

.under_block h3{
	margin: 0 0 5vw;
	padding: 0 3vw 2vw;
	font-size: 4vw;
	line-height: 170%;
	font-weight: bold;
	border-bottom: 1px solid #26494D;
}

.under_block h4{
	margin: 0 0 5vw;
	padding: 0 3vw 2vw;
	font-size: 4vw;
	line-height: 170%;
	font-weight: bold;
	border-bottom: 1px dashed #ccc;
}

.under_block .no{
	font-size: 6vw;
	color: #BABABA;
	font-weight: normal;
	font-family: 'Lato', sans-serif;
}

.under_block p{
	padding: 0 3vw;
}

.under_block .white_box > ul{
	margin: 0 0 0;
}

.under_block .white_box > ul > li{
	margin: 8vw 0 0;
}

.under_block .white_box > ul > li > ul{
	padding: 0 3vw;
}

.under_block .white_box > ul > li > ul > li{
	padding-left: 4vw;
	font-size: 3.5vw;
	line-height: 170%;
	position: relative;
}

.under_block .white_box > ul > li > ul > li::before{
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.under_block .white_box > ul > li > ul.number_list{
	margin: 10vw 0 0;
}

.under_block .white_box > ul > li > ul.number_list > li{
	margin: 4vw 0 0;
	padding-left: 0;
}

.under_block .white_box > ul > li > ul.number_list > li::before{
	display: none;
}

.under_block .white_box > ul > li > ul.number_list > li p{
	margin: 2vw 0 0;
	padding: 0;
}

.under_block .table_block{
	margin: 8vw 0 0;
}

.under_block .table_block table{
	width: 100%;
}

.under_block .table_block table th,
.under_block .table_block table td{
	padding: 3vw;
	border: 1px solid #ccc;
	border-top: none;
	font-size: 3.5vw;
	line-height: 170%;
	letter-spacing: 0;
	font-weight: normal;
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.under_block .table_block table tr th{
	border-top: 1px solid #ccc;
}

.under_block .table_block table th{
	background: #eee;
	text-align: center;
}

.under_block .table_block table td.none{
	display: none;
	border: none;
}


/* footer
   ========================================================================== */
footer{
	margin: 0;
	padding: 1vw 0 0;
	background: #26494D;
}

footer .block{
	margin: 6vw 0 0;
}

footer .text_area{
	padding: 0 3vw;
}

footer .text_area h3{
	color: #FFFFBF;
	font-weight: normal;
	font-size: 4vw;
	letter-spacing: .1;
	line-height: 170%;
}

footer .text_area p{
	color: #fff;
	font-size: 4vw;
	letter-spacing: .1;
	line-height: 170%;
}

footer .text_area p.add{
	margin-top: 3vw;
	font-size: 3.7vw;
}

footer .text_area p a{
	color: inherit;
}

footer .registration{
	padding: 8vw 3vw;
	text-align: center;
}

footer .registration div{
	color: #fff;
	font-size: 4vw;
	text-align: center;
	border: 1px solid #eee;
	display: flex;
	height: 14vw;
	justify-content: center;
	align-items: center;
}

footer .footer_nav ul{
	margin: 0 0 0;
}

footer .footer_nav ul li{
	margin: 0;
}

footer .footer_nav ul li a{
	padding: 5px 0 5px 8vw;
	background: url(../images/common/footer_arrow.png) no-repeat 3vw center;
	background-size: 2vw;
	display: block;
	color: #FFF;
	font-size: 4vw;
	line-height: 170%;
}

footer .footer_nav ul li a span{
	color: inherit;
}

footer address{
	padding: 5vw 3vw;
	font-size: 10px;
	letter-spacing: 0.10em;
	background: #fff;
	color: #777;
	text-align: center;
}


/* TOPへ戻るボタン
   ========================================================================== */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 40px;
    z-index: 4;
	line-height: 0;
	display: none;
}

#page-top img{
	width: 100%;
}

#page-top span{
	display: none;
}

#page-top a{
	display: block;
	height: auto;
}

@media screen and (min-width : 768px){


	/* header
	   ========================================================================== */
	header{
		height: 80px;
		box-sizing: border-box;
	}
	
	header .inner{
		padding: 23px 10px 0;
		font-size: 0;
	}
	
	.index header .inner{
		padding: 10px 10px 0;
	}
	
	header h1{
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 26%;
	}
	
	header h1 a{
		width: 40%;
	}
	
	header .text_box{
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 74%;
		padding: 0 0 0;
	}
	
	header .text_box .text{
		font-size: 20px;
	}
	
	header .text_box .sub{
		font-size: 15px;
	}
	
	
	/* main_view
	   ========================================================================== */
	.main_view{
		margin-top: -80px;
		padding: 115px 10px 0;
	}


	/* cv
	   ========================================================================== */
	.cv{
		position: relative;
	}
	
	.cv .inner{
		padding: 35px 0 20px;
	}
	
	.cv .inner::after{
		width: 110px;
    	height: 115px;
    	top: -50px;
    	right: 10px;
	}
	
	.cv .text_box{
		margin: 0 0 0;
	}
	
	.cv .text_box .text{
		font-size: 25px;
	}
	
	.cv .text_box .sub{
		margin: 0 0 0;
		font-size: 18px;
	}
	
	.cv .btn{
		margin: 15px 0 0;
	}
	
	.cv .btn::after{
		width: 85px;
	    height: 62px;
	    top: 56px;
    	right: -54px;
	}
	

	/* note
	   ========================================================================== */
	.note{
		margin: 0 auto 40px;
		width: 90%;
	}
	
	.note .inner{
		padding: 0;
	}
	
	.note p{
		font-size: 12px;
	}
	
	.note ul{
		margin: 0 0 15px;
	}
	
	.note ul li{
		margin: 10px 0 0;
		padding-left: 40px;
	}
	
	.note ul li::before{
		font-size: 12px;
	}


	/* under_block
	   ========================================================================== */
	.under_block{
		margin: 40px 0;
	}
	
	.under_block.recommendation{
		margin-bottom: 70px;
	}
	
	.under_block h2{
		margin-bottom: -5px;
		font-size: 30px;
	}
	
	.under_block h3{
		margin: 0 0 20px;
		padding: 0 20px 15px;
		font-size: 17px;
	}
	
	.under_block h4{
		margin: 0 0 20px;
		padding: 0 20px 15px;
		font-size: 17px;
	}

	.under_block .no{
		font-size: 26px;
	}
	
	.under_block p{
		padding: 0 20px;
		font-size: 15px;
	}
	
	.under_block .white_box > ul{
		margin: 0 0 0;
	}
	
	.under_block .white_box > ul > li{
		margin: 35px 0 0;
	}

	.under_block .white_box > ul > li > ul{
		padding: 0 20px;
	}

	.under_block .white_box > ul > li > ul > li{
		padding-left: 18px;
		font-size: 15px;
	}

	.under_block .white_box > ul > li > ul.number_list{
		margin: 40px 0 20px;
	}

	.under_block .white_box > ul > li > ul.number_list > li{
		margin: 20px 0 0;
	}
	
	.under_block .white_box > ul > li > ul.number_list > li p{
		margin: 10px 0 0;
	}

	.under_block .table_block{
		margin: 60px 0 0;
	}
	
	.under_block .table_block table th,
	.under_block .table_block table td{
		padding: 20px 10px;
		border: 1px solid #ccc;
		font-size: 14px;
		display: table-cell;
		vertical-align: middle;
		width: 23%;
	}
	
	.under_block .table_block table tr th{
		width: 15%;
	}
	
	.under_block .table_block table th{
		background: #eee;
		text-align: center;
	}
	
	.under_block .table_block table td.none{
		display: table-cell;
		border: 1px solid #ccc;
	}


	/* footer
	   ========================================================================== */
	footer{
		margin: 0;
		padding: 40px 0 0;
	}
	
	footer .inner{
		padding: 0 20px 50px;
		font-size: 0;
	}
	
	footer .block{
		margin: 0 0 0;
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
		width: 50%;
	}
	
	footer .block.footer_nav{
		margin-left: 50%;
	}
	
	footer .text_area{
		padding: 0;
	}
	
	footer .text_area h3{
		font-size: 16px;
	}
	
	footer .text_area p{
		font-size: 16px;
	}

	footer .text_area p.add{
		margin-top: 12px;
		font-size: 15px;
	}
	
	footer .registration{
		padding: 50px 0 0;
	}
	
	footer .registration div{
		font-size: 16px;
		height: 50px;
		width: 290px;
	}
	
	footer .footer_nav ul{
		margin: 0 0 0;
		font-size: 0;
	}
	
	footer .footer_nav ul li{
		margin: 10px 25px 0 0;
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
		width: auto;
	}
	
	footer .footer_nav ul li a{
		padding: 0;
		background: none;
		font-size: 16px;
	}
	
	footer .footer_nav ul li a span{
		color: inherit;
	}
	
	footer address{
		padding: 25px 0;
		font-size: 14px;
	}
    

}
@media screen and (min-width : 769px){


	/* header
	   ========================================================================== */
	header{
		height: 100px;
		box-sizing: border-box;
	}
	
	header .inner{
		padding: 20px 10px 0;
	}
	
	.index header .inner{
		padding: 20px 10px 0;
	}
	
	header h1{
		width: 26%;
	}
	
	header h1 a{
		width: 40%;
	}
	
	header .text_box{
		width: 74%;
	}
	
	header .text_box .text{
		font-size: 23px;
	}
	
	header .text_box .sub{
		font-size: 15px;
	}
	
	
	/* main_view
	   ========================================================================== */
	.main_view{
		margin-top: -80px;
		padding: 115px 0 0;
	}


	/* cv
	   ========================================================================== */
	.cv{
		position: relative;
	}
	
	.cv .inner{
		padding: 35px 0 30px;
	}
	
	.cv .inner::after{
		width: 151px;
    	height: 156px;
    	top: -20px;
    	right: 14px;
	}
	
	.cv .white_box{
		padding: 35px 0 30px;
	}
	
	.cv .text_box{
		margin: 0 0 0;
	}
	
	.cv .text_box .text{
		font-size: 30px;
	}
	
	.cv .text_box .sub{
		margin: 0 0 0;
		font-size: 23px;
	}
	
	.cv .btn{
		margin: 15px auto 0;
		width: 702px;
	}
	
	.cv .btn::after{
		width: 90px;
	    height: 68px;
	    top: 64px;
    	right: -53px;
	}
	

	/* note
	   ========================================================================== */
	.note{
		margin: 0 auto 40px;
		width: auto;
	}
	
	.note .inner{
		padding: 0;
		width: 900px;
	}
	
	.note p{
		font-size: 12px;
	}
	
	.note ul{
		margin: 0 0 15px;
	}
	
	.note ul li{
		margin: 10px 0 0;
		padding-left: 40px;
	}
	
	.note ul li::before{
		font-size: 12px;
	}


	/* under_block
	   ========================================================================== */
	.under_block .table_block table th,
	.under_block .table_block table td{
		padding: 20px 16px;
	}


	/* footer
	   ========================================================================== */
	footer{
		margin: 0;
		padding: 40px 0 0;
	}
	
	footer .inner{
		padding: 0 30px 50px;
		font-size: 0;
	}
	
	footer .block{
		margin: 0 0 0;
		width: 32%;
	}
	
	footer .inner .block:nth-child(2){
		margin-left: 3%;
		margin-right: 1%;
	}
	
	footer .block.footer_nav{
		margin-left: 0;
	}
	
	footer .text_area{
		padding: 0;
	}
	
	footer .text_area h3{
		font-size: 16px;
	}
	
	footer .text_area p{
		font-size: 16px;
	}
	
	footer .text_area p a:hover{
		text-decoration: underline;
	}
	
	footer .registration{
		padding: 75px 0 0;
	}
	
	footer .registration div{
		font-size: 16px;
		height: 50px;
		width: 290px;
	}
	
	footer .footer_nav ul{
		margin: 0 0 0;
		font-size: 0;
	}
	
	footer .footer_nav ul li{
		margin: 10px 25px 0 0;
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
		width: auto;
	}
	
	footer .footer_nav ul li a{
		padding: 0;
		background: none;
		font-size: 16px;
	}
	
	footer .footer_nav ul li a:hover{
		opacity: .6;
	}
	
	footer .footer_nav ul li a span{
		color: inherit;
	}
	
	footer address{
		padding: 25px 0;
		font-size: 14px;
	}
	
    
    /* TOPへ戻るボタン
       ========================================================================== */
    #page-top {
    	position: fixed;
    	bottom: 20px;
    	right: 40px;
    	z-index: 100;
		width: auto;
    }
    	
    #page-top a{
    	display: block;
    	transition: ease-in 0.3s;
    }
    	
    #page-top a:hover{
    	opacity: 0.8;
    }

}