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

/*----------------------------
common
----------------------------*/
html {
    font-size: 62.5%;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.8rem;
    color: #333;
    margin: 0;
    padding: 0;
    text-align: left;
    line-height: 180%;
    z-index: 1;
    position: relative;
	font-weight: normal;
}

b,strong {
    font-weight: bold;
}

section {
    width: 100%;
}

img{
    line-height: 1;
	width: auto;
	height: 100%;
}
a {
    color: #595959;
    transition: 0.8s;
    outline:none;
}
a:hover,
#contact .btn button:hover{
    opacity: 0.6;
}

.inner {
    width: 96%;
    max-width: 1200px;
    margin: 0 auto;
}

.sp_hide {
    display: block;
}
.sp_show {
    display: none;
}
.sp_hide2 {
    display: block;
}
.sp_show2 {
    display: none;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}

/*title*/
h2,h3,h4,h5{
	font-weight:700;
}
.sub_title{
	text-align: center;
	font-size: 4rem;
	font-weight: bold;
	padding: 80px 0 60px;
	letter-spacing: 0.1em;
}
.sub_title span{
	font-size: 2rem;
	color: #86adde;
	padding-top: 30px;
	display: block;
	letter-spacing: 0.5em;
}

/*font*/
.serif{ font-family: 'Noto Serif JP', serif;}
.sans{ font-family: 'Noto Sans JP', sans-serif;}

/*color*/
.color01{ color:#ed7c17;}/*orange*/
.color02{ color:#f8dd61;}/*yellow*/
.color03{ color:#0a3570;}/*blue*/
.color04{ color:#e9574c;}/*red*/

/*font-size*/
.f_small{ font-size:85%;}
.f_big  { font-size:120%;}

.bold{ font-weight: bold;}


/*box*/
.flex_box{
	display:flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}

/* btn */
a.btn {
    width: 280px;
	display: block;
	background: url("../images/btn_bg01.png") no-repeat center right #1c293f;
	background-size: 90px 8px;
	padding: 10px;
	text-align: left;
	color: #FFF;
	font-weight: bold;
}

a.btn img{
    vertical-align: bottom;
}

a.contact_btn{
	display:block;
	width: 624px;
	height: auto;
	margin: 0 auto;
}


/*ホバー時*/
a.btn.up:hover{	transform: scale(1.2); }

/*----------------------------
header
----------------------------*/
header {
    height:800px;
    width: 100%;
	position: relative;
}

header h1{
	height: 100px;
	position: absolute;
	top: 30px;
	left:30px;
	z-index: 10;
}
header h1 a{
	display: block;
	width: 100%;
	height: 100%;
}
header h1 img{
	display: block;
}

header.thanks {
    height:300px!important;
}

/*----------------------------
contents
----------------------------*/
.flex_box.icon_list {
	align-items:stretch;
}
.icon_list li{
	color:#002d6a;
	width: 19%;
	font-size: 1.4rem;
	text-align: center;
}
.icon_list li img{
	display: block;
	height: 40px;
	width: auto;
	margin: 0 auto;
}
.icon_list.icon_list_sp li img.sp_hide{
	display:block;
}
.icon_list.icon_list_sp li img.sp_show{
	display:none;
}
.u_line01{
	background: linear-gradient(transparent 50%, #f8dd61 50%);
}

/*----------------------------
footer
----------------------------*/

footer{
	color:#FFF;
	background:#002d6a;
	padding: 80px 190px 30px; 
}
footer .inner{
	margin: 0 auto 50px;
	justify-content: flex-start;
}

footer .f_logo{
	width:68px;
	height: 80px;
	margin-right: 20px;
}

footer .company{
	margin:0 40px 0 0;
}

footer .company a{
	width:228px;
	height: 40px;
	margin:20px 0 0;
	display: block;
}

footer > p {
	text-align: center;
	font-size: 1.2rem;
	color: #FFF;
	padding: 5px 0;
}


.pagetop{
	width: 60px;
	height: 60px;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 10;
}
.pagetop a{
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	height: 100%;
	background: #002d6a;
	color:#FFF;
	text-decoration: none;
	border: 1px solid #FFF;
}
.pagetop a img{
	width: 30px;
	height: 15px;
}

@media only screen and (max-width: 1200px) {
	.sp_hide2 {
		display: none;
	}
	.sp_show2 {
		display: block;
	}

	a.contact_btn{
		display:block;
		width: 80%;
		height: auto;
		margin: 0 auto;
	}
	a.contact_btn img{
		width: 100%;
		height: auto;
	}
	
	.icon_list li{
		width: 19%;
		font-size: 1.2rem;
		line-height: 1.2rem;
	}
	.icon_list li img{
		display: block;
		height: 30px;
		width: auto;
		margin: 0 auto 10px;
	}
	
	
	footer{
		color:#FFF;
		background:#002d6a;
		padding: 40px 70px 30px; 
	}
	.pagetop{
		width: 40px;
		height: 40px;
		position: fixed;
		bottom: 20px;
		right: 20px;
		z-index: 10;
	}
	.pagetop a img{
		width:20px;
		height: 10px;
	}

}

@media screen and (max-width: 815px) {
	
    /*----------------------------
    common
    ----------------------------*/
	body { font-size: 1.4rem;}
	
    img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    .sp_hide {
        display: none !important;
    }
    .sp_show {
        display: block !important;
    }
   		
    .inner {
        width: 90%;
        margin: 0 auto;
    }
	
    a {
        transition: 0s;
    }
    a:hover {
        opacity: 1.0;
    }
    h2{
        margin: 0 auto 4% auto;
    }

	a.contact_btn{
		display:block;
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	
	/*title*/
	.sub_title{
		text-align: center;
		font-size: 2.8rem;
		font-weight: bold;
		padding: 40px 0 30px;
		letter-spacing: 0.1em;
	}
	.sub_title span{
		font-size: 1.4rem;
		color: #86adde;
		padding-top: 15px;
		display: block;
		letter-spacing: 0.5em;
	}
	
	
	/*box*/
	.flex_box{
		display:flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-content: center;
		align-items: center;
	}
	

	/*----------------------------
	header
	----------------------------*/
	header {
		height:auto;
		width: 100%;
	}

	header h1{
		width: 100%;
		height:auto;
		padding: 0;
		position: relative;
		top: 0px;
		left:0px;
		z-index: 10;
	}
	
	header h1 a{
		width: 100%x;
		height: auto;
		display: block;
		margin: 0 auto;
	}

	header.thanks {
		height:auto!important;
	}
	/*----------------------------
	contents
	----------------------------*/
	
	.icon_list_sp li{
		color:#FFF;
	}

	/*----------------------------
	footer
	----------------------------*/

	footer{
		color:#FFF;
		background:#002d6a;
		padding:40px 40px 20px;
		text-align: center;
	}
	footer .inner{
		margin: 0 auto 20px;
		justify-content: center;
	}

	footer .f_logo{
		width:34px;
		height: 40px;
		margin:0 auto;
	}

	footer .company{
		width: 100%;
		text-align: center;
		margin:0 ;
	}

	footer .company a{
		width:228px;
		height: 40px;
		margin:20px auto 0;
		display: block;
	}
	footer address{
		margin:40px 0 0 ;
	}
	footer > p {
		text-align: center;
		font-size: 1.2rem;
		color: #FFF;
		padding: 5px 0;
	}

	/* btn */
	a.btn {
		width:90%;
		padding:10px 5%;
	}

	
}


@media screen and (max-width: 480px) {}

