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

body {
	font-family: /*-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, */"ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: 1px;
	word-break: break-all;
	font-feature-settings:palt;
	text-align: justify;
}



a {	
	text-decoration: none;
	color: #000;
}

a:hover { opacity: 0.7;}

#wrapper { 
	width: 100%;
	overflow:hidden;
}

header {
	width: calc(100% - 40px);
    position: relative;
	max-width: 940px;
	margin: 0 auto;
}

h1 {
    position: absolute;
    top: 30px;
    left: 0;
    z-index: 1000;
}

h1 a :hover{ opacity: 0.8;}

h1 a img{
    width: 100%;
}

.red{color: #ee1b3b; font-weight: 700;}
.blue{color: #6bc1e9; font-weight: 700;}


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

	.pc { display:block;}
	.sp { display:none!important;}

}

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

	.pc { display:block;}
	.tb { display:none!important;}
	.sp { display:none!important;}

}

@media screen and (max-width: 900px) and (min-width: 751px) {

	h2 .pc { display:none!important;}
	h2 .tb { display:block!important;}
	h2 .sp { display:none!important;}

}

@media screen and (max-width: 750px) {
	
	body {
		font-size: 14px;
		line-height: 30px;
	}
	
	.pc { display:none!important;}
	.tb { display:none!important;}
	.sp { display:block;}
	
	h1 {
		max-width: 180px;
		min-width: 115px;
		width: 31%;
	}
	
	h1 a{ 
		width: 100%;
		display: block;
	}
	
	header { width: calc(100% - 30px);}

}

/*---------------------------------------------------------------------
						動き
----------------------------------------------------------------------*/

.bounce { opacity:0;}
section.sec02 div.inner02 .left { float: left; animation-delay: 0.3s;}
section.sec02 div.inner02 .right { float: right; animation-delay: 0.8s;}
section.sec05 .inner .text { animation-delay: 0.8s;}

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

	section.sec02 div.inner02 .left { animation-delay: 0.2s;}
	section.sec02 div.inner02 .right { animation-delay: 0.2s;}
	section.sec05 .inner .text { animation-delay: 0.2s;}

}

/*---------------------------------------------------------------------
						共通
----------------------------------------------------------------------*/

.list-mv01{
	opacity: 0;
	transition-delay:4s;
	-webkit-transition-delay:4s;
	-moz-transition-delay:4s;
    -ms-transition-delay:4s;
	-webkit-transition: all 1s;
	-moz-transition: all 1s;
    -ms-transition: all 1s;
	transform: translate(-150px,0); 
	-webkit-transform: translate(-150px,0);
	-moz-transition: translate(-150px,0);
    -ms-transition: translate(-150px,0);
}

.mv01{
	opacity: 1.0;
	transition-delay:4s;
	-webkit-transition-delay:4s;
	-moz-transition-delay:4s;
    -ms-transition-delay:4s;
	-webkit-transition: all 1.5s;
	-moz-transition: all 1.5s;
    -ms-transition: all 1.5s;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
	-webkit-transition: translate(0,0);
	-moz-transition: translate(0,0);
    -ms-transition: translate(0,0);
}

.next {
	animation-duration: 1s;
	transition-delay:4s;
	-webkit-transition-delay:4s;
	-moz-transition-delay:4s;
    -ms-transition-delay:4s;
	-webkit-transition: all 2s;
	-moz-transition: all 2s;
    -ms-transition: all 2s;
}

.list-mv09{
	-webkit-transition: all 2s;
  	-moz-transition: all 2s;
    -ms-transition: all 2s;
	opacity: 0;
}
.mv09{
	-webkit-transition: all 2s;
 	-moz-transition: all 2s;
    -ms-transition: all 2s;
	opacity: 1;
}

.list-mv10{
	opacity: 0;
	-webkit-transition: all 1s;
  	-moz-transition: all 1s;
    -ms-transition: all 1s;
	transform: translate(0,40px); 
	-webkit-transform: translate(0,40px); 
}
.mv10{
	opacity: 1;
	-webkit-transition: all 1s;
 	-moz-transition: all 1s;
    -ms-transition: all 1s;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

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

	.list-mv05{
		opacity: 0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(100px,0); 
		-webkit-transform: translate(100px,0); 
	}

	.mv05{
		opacity: 1.0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(0,0); 
		-webkit-transform: translate(0,0);
	}

	.list-mv06{
		opacity: 0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(100px,0); 
		-webkit-transform: translate(100px,0); 
	}

	.mv06{
		opacity: 1.0;
	  -webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transition-delay:1s;
		-webkit-transition-delay:1s;
		-moz-transition-delay:1s;
		-ms-transition-delay:1s;
		transform: translate(0,0); 
		-webkit-transform: translate(0,0);
	}

	.list-mv07{
		opacity: 0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(-100px,0); 
		-webkit-transform: translate(-100px,0); 
	}

	.mv07{
		opacity: 1.0;
	  -webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transition-delay:1s;
		-webkit-transition-delay:1s;
		-moz-transition-delay:1s;
		-ms-transition-delay:1s;
		transform: translate(0,0); 
		-webkit-transform: translate(0,0);
	}

	.list-mv08{
		opacity: 0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(-100px,0); 
		-webkit-transform: translate(-100px,0); 
	}
	.mv08{
		opacity: 1.0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(0,0); 
		-webkit-transform: translate(0,0);
	}
	
}


/*---------------------------------------------------------------------
						main
----------------------------------------------------------------------*/

main {
    width: 100%;
    margin: 0 auto ;
    position: relative;
	display: table;
	z-index: -1;
}

main {
	height: 790px;
	background: url("../img/mv_bg.jpg") no-repeat center/cover;
}
.bold {
	font-family: 'Noto Sans JP', sans-serif;	
	font-style: normal;
	font-weight: 600;
	text-align: center;
    color: #fff;
    font-size: 50px;
	line-height: 1.5;
	display: table-cell;
	vertical-align: middle;
}

@media screen and (max-width: 750px) {.bold {font-size: 6vw;} main {height: 500px;}}

@media screen and (max-width: 750px) {h1{top: 20px;}}

@media screen and (max-width: 500px) {.bold {font-size: 9vw;}}

/*---------------------------------------------------------------------
						.sec01
----------------------------------------------------------------------*/


/*---------------------------------------------------------------------
						.sec02
----------------------------------------------------------------------*/


/*---------------------------------------------------------------------
						.sec03
----------------------------------------------------------------------*/

.sec03 {
	overflow: hidden;
	background: url("../img/bg02.gif") ;
	padding-top: 150px;
	padding-bottom: 150px;
}

.sec03 > span{
	display: table;
	margin: 0 auto 100px;
}

.sec03 > ul {
	max-width: 940px;
	overflow: hidden;
	margin: 0 auto;
}

.sec03 > ul li{	position: relative;}

.sec03 > ul li h4{
    position: absolute;
    top: 0;
    left: 30%;
    margin: 0 auto;
    display: table;
	z-index: 5;
}

.sec03 > ul li .box{
	padding: 75px 30px 45px;
	background-color: #f5fafc;
	border-radius: 20px;
    margin-top: 90px;
	position: relative;
}

.sec03 > ul li .txt{ 
	letter-spacing: 0;
    line-height: 36px;
	margin-bottom: 30px;
}
.sec03 > ul li .txt q{ 
	font-size: 14px;
	line-height: 28px;
}

.sec03 .box .txt a,
.sec03 .box i { background-color: #ffff00;}

.sec03 .box .txt a{
	background-color: #ffff00;
	display: table;
	padding: 0 10px;
	margin-top: 20px;
	line-height: 120%;
	letter-spacing: 0;
}



.sec03 .box i{ 
	padding: 0 5px;
	font-style: normal;
}

.sec03 .box img{
	margin: 0 auto;
	display: block;
}


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

	.sec03 li:nth-child(2)::after,
	.sec03 li:nth-child(3)::after{ 
		content: "";
		width: 190px;
		height: 184px;
		position: absolute;
	}

}

@media screen and (min-width: 1161px) {
	
	.sec03 > ul li{
		max-width: 450px;
		width: 48%;
	}

	.sec03 > ul li:nth-child(odd){ 
		margin-right: 4%;
		float: left;
	}
	.sec03 > ul li:nth-child(even){ float: right;}
	.sec03 > ul li:nth-child(n+3) { margin-top: 6%; }
	
	.sec03 > ul li.next { transition-delay: 0.8s;}

}

@media screen and (max-width: 1160px) {
	
	.sec03 > ul {
		max-width: 800px;
		width: calc(100% - 40px);
		margin: 0 auto;
	}
	
	.sec03 > ul li { overflow: hidden; }
	.sec03 > ul li:nth-child(n+2) {	margin-top: 6%;	}	
	
	.sec03 > ul li h4 {	left: 38%;	}
	
	.sec03 > ul li .txt {
		overflow: hidden;
		position: relative;
	}

	.sec03 li:first-child .box .txt::after {
		margin: 0 auto 0;
		position: absolute;
		bottom: 0;
		right: 30%;
	}
	
	.sec03 li:nth-child(2)::after {
		right: auto ;
		left: 68%;
	}

	.sec03 li:nth-child(3)::after {
		left: auto;
		right: 67%;
	}
}

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

	.sec03 { padding-bottom: 70px; padding-top: 70px;}

	.sec03 > span {
		max-width: 80px;
	    width: 11%;
		margin-bottom: 40px;
	}

	.sec03 > span img,
	.sec03 > h3 img,
	.sec03 .box > img{ width: 60%;	}
	
	.sec03 > ul {width: calc(100% - 30px);}
	.sec03 > ul li .box {
		padding: 40px 15px 40px;
		border-radius: 10px;
		margin-top: 14%;
	}
	
	.sec03 > ul li h4 { 
		max-width: 178px;
		width: 26.5%;
		left: 0;
		right: 0;
		display: block;
	}
	
	.sec03 > ul li h4 img{ width: 100%;}
	
	.sec03 > ul li .txt { line-height: 24px;}
	.sec03 .box .txt a {
		padding: 0 5px;
		margin-top: 20px;
	}
.sec03 > ul li .txt{ 
	margin-bottom: 20px;
}
}

/*---------------------------------------------------------------------
						#pageTop
----------------------------------------------------------------------*/

.top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	display:block;
	z-index: 999;
}

.top a {
	background:url("../img/pagetop.png") center no-repeat;
    display: block;
    width: 65px;
    height: 65px;
	border: solid 2px #858585;
	border-radius: 50%;
}

.top a:hover { opacity: 0.8; }


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

	.top a {
		background:url("../img/pagetop_sp.png") center/50% no-repeat;
		width: 40px;
		height: 40px;
		border: solid 1px #858585;
	}


}

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

footer {
	overflow:hidden;
	background: #232f3e;
}

footer .inner{
	width: calc(100% - 40px);
	font-size: 12px;
	margin: 40px auto;
	color: #fff;
	opacity: 0.6;
}

footer .inner a{ color: #fff;}

footer small {
    font-size: 12px;
	line-height: 120%;
    padding: 10px 0 ;
    display: block;
    text-align: center;
    width: 100%;
	color: #fff;
	opacity: 0.6;
	background-color: #131a22;
}

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

	footer .inner{
	    width: calc(100% - 30px);
		font-size: 10px;
		line-height: 18px;
		margin: 25px auto;
	}

	footer small {
		font-size: 10px;
		line-height: 16px;
		padding: 15px 0;
	}
	
}

/*---------------------------------------------------------------------
						追加
----------------------------------------------------------------------*/

.procedure{
	width: 940px;
	padding: 20px;
	overflow: hidden;
	margin: 50px auto 0px;
	display: block;
	background:rgba(0,0,0,0.3);
	/*background-color: #0092c6;*/
	box-sizing: border-box;
}




.procedure >h3{
	font-size: 28px;
	color: #fff;
	margin: 0 auto 20px;
	text-align: center;
	display: block;
}


.procedure > p{
	font-size: 16px;
	line-height: 1.5;
	color: #ffd813;
	font-weight: 700;
	margin: 0 auto 20px;
	text-align: left;
	display: block;
}


.procedure > small{
	font-size: 12px;
	color: #fff;
	padding-left:1em;
	text-indent:-1em;
	line-height: normal;
	display: block;
}


@media screen and (max-width: 1000px) {
.procedure{
	width: 100%;
	padding: 5%;
}	
}

@media screen and (max-width: 750px) {
.procedure > small{
	font-size: 10px;
}
}



@media screen and (max-width: 600px) {
	
.procedure >h3{
	font-size: 6vw;
}	
}





