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

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	color: #000;
	font-family:  "Helvetica", Arial,'Noto Sans JP', sans-serif;
}
a{
	color: #000;
	text-decoration: none;
}
li{
	list-style-type: none;
}
img{
	vertical-align: bottom;
}

.cf:after{
	content: "";
	display: block;
	clear: both;
	visibility: hidden;
}

.no-scroll{
	overflow: hidden;
}


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

main{
	position: relative;
	display: block;
	z-index: 60;
}


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

	body {
		font-size: 15px;
		line-height: 1.5;
		width: 100%;

	}
	.ignore-pc{
		display: none;
	}

	#wrap{
		position: relative;
		width: 100%;
		overflow: hidden;
	}

	main{
		display: block;
		margin: auto;
		padding: 100px 10px 150px;
		max-width: 1000px;
	}


/* kv
------------------------------------------------------*/
	
	#kv{
		position: relative;
		display: block;
		width: 100vw;
		height: 100vh;
	}
	#kv{
		position: relative;
		display: block;
		width: 100vw;
		height: 100vh;
	}
	#kv header {
		position: absolute;
		margin: 50px 50px 0;
		top: 0;
		left: 0;
	}
	#kv header h1{
		position: absolute;
		top: 0;
		left: 0;
	}
	#kv header h1 img{
		width: auto;
		height: 50px;
	}


	.wave{
		position: fixed;
		left: 0;
		top: 50%;
		margin-top: -250px;
		width: 100%;
		height: 500px;
		z-index: 50;
	}

	.kv-elm{
		position: absolute;
		left: 50%;
		top: 50%;
		text-align: center;
		transform: translate(-50%,-50%);
		z-index: 100;
	}
	.kv-elm .kv-lead{
		margin-top: 60px;
	}
	.kv-elm .kv-lead img{
		width: auto;
		height: 47px;
	}

	.kv-elm .btn-sd{
		margin: 60px auto 0;
		width: 29px;
		height: 29px;
	}
	.kv-elm .btn-sd a{
		display: block;
		width: 29px;
		height: 29px;
		background: url(../img/btn_sd.png);
		background-size: 100% 100%;
		transition: opacity 300ms ease;
	}
	.kv-elm .btn-sd a:hover{
		opacity: 0.7;
	}


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

	#gfooter {
		position: relative;
		margin: 50px;
	}
	#gfooter .btn-pt{
		position: fixed;
		right: 50px;
		bottom: 50px;
		width: 29px;
		height: 29px;
		opacity: 0;
		transition: opacity 300ms ease;
	}
	#gfooter .btn-pt.on{
		opacity: 1;
	}
	#gfooter .btn-pt a{
		display: block;
		width: 29px;
		height: 29px;
		background: url(../img/btn_pt.png);
		background-size: 100% 100%;
	}




/* contents
------------------------------------------------------*/

	.sec-header h2 img{
		width: auto;
		height: 57px;
	}
	.sec-header + article{
		margin: 70px 0 0;
	}
	.sec-header + article img{
		width: 100%;
		height: auto;
	}
	section + section{
		margin-top: 280px;
	}

	.col1{
		display: flex;
	}
	.col + .col{
		margin-top: 130px;
	}



/* mission
------------------------------------------------------*/

	#mission p.lead{
		font-size: 22px;
		line-height: 1.8;
	}
	#mission p.lead + p{
		margin-top: 50px;
		font-size: 16px;
		line-height: 2.2;
	}
	#mission .col1{
		justify-content: space-between;
	}
	#mission .col1 .col-box:nth-child(1){
		width: 530px;
	}
	#mission .col1 .col-box:nth-child(2){
		max-width: 380px;
		width: calc(100% - 540px);
	}


/* company
------------------------------------------------------*/

	#company .col1{
		justify-content: space-between;
	}
	#company .col1 .col-box{
		width: calc(50% - 40px);
	}
	#company .col1 dt{
		display: table-cell;
		width: 130px;
	}
	#company .col1 dd{
		display: table-cell;
		line-height: 1.8;
	}
	#company .col1 dl + dl{
		margin-top: 30px;
	}



/* service
------------------------------------------------------*/

	#service .col1{
		justify-content: space-between;
		align-items: center;
	}
	#service .col1 .col-box{
		width: calc(50% - 25px);
	}
	#service .col1 .col-box figure{
		padding: 0 10%;
		box-sizing: border-box;
	}
	#service .col1 .col-box .txt{
		padding: 0 0 0 30px;
		box-sizing: border-box;
	}
	#service .col1 .col-box .txt p + p{
		margin-top: 20px;
	}
	#service .col1 .col-box .txt a{
		text-decoration: underline;
	}
	#service .col1 .col-box .txt a:hover{
		text-decoration: none;
	}


/* affiliate
------------------------------------------------------*/

	#affiliate .col1{
		justify-content: space-between;
		align-items: center;
	}
	#affiliate .col1 .col-box{
		width: calc(50% - 25px);
	}
	#affiliate .col1 .col-box figure{
		padding: 0 10%;
		box-sizing: border-box;
	}
	#affiliate .col1 .col-box .txt{
		padding: 0 0 0 30px;
		box-sizing: border-box;
	}
	#affiliate .col1 .col-box .txt p + p{
		margin-top: 20px;
	}
	#affiliate .col1 .col-box .txt a{
		text-decoration: underline;
	}
	#affiliate .col1 .col-box .txt a:hover{
		text-decoration: none;
	}



}



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

	body {
		width: 100%;
		line-height: 1.5;
		font-size: 12px;
	}

	.ignore-sp{
		display: none;
	}

	#wrap{
		position: relative;
		width: 100%;
		overflow: hidden;
	}


	main{
		display: block;
		margin: auto;
		padding: 50px 15px 100px;
		max-width: 1000px;
	}


/* kv
------------------------------------------------------*/
	
	#kv{
		position: relative;
		display: block;
		width: 100vw;
		height: 100vh;
	}
	#kv{
		position: relative;
		display: block;
		width: 100vw;
		height: 100vh;
	}
	#kv header {
		position: absolute;
		margin: 20px 20px 0;
		top: 0;
		left: 0;
	}
	#kv header h1{
		position: absolute;
		top: 0;
		left: 0;
	}
	#kv header h1 img{
		width: auto;
		height: 25px;
	}


	.kv-elm .kv-logo img{
		width: auto;
		height: 240px;
	}

	.wave{
		position: fixed;
		left: 0;
		top: 50%;
		margin-top: -250px;
		width: 100%;
		height: 500px;
		z-index: 50;
		transform: scale(0.5);
		transform-origin: center left;
	}


	.kv-elm{
		position: absolute;
		left: 50%;
		top: 50%;
		text-align: center;
		transform: translate(-50%,-50%);
		z-index: 100;
	}
	.kv-elm .kv-lead{
		margin-top: 30px;
	}
	.kv-elm .kv-lead img{
		width: auto;
		height: 36px;
	}

	.kv-elm .btn-sd{
		margin: 30px auto 0;
		width: 29px;
		height: 29px;
	}
	.kv-elm .btn-sd a{
		display: block;
		width: 29px;
		height: 29px;
		background: url(../img/btn_sd.png);
		background-size: 100% 100%;
	}

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

	#gfooter {
		position: relative;
		margin: 0 15px 30px;
	}
	#gfooter .btn-pt{
		position: absolute;
		right: 0;
		bottom: 0;
		width: 29px;
		height: 29px;
	}

	#gfooter .btn-pt a{
		display: block;
		width: 29px;
		height: 29px;
		background: url(../img/btn_pt.png);
		background-size: 100% 100%;
	}

/* contents
------------------------------------------------------*/

	.sec-header h2 img{
		width: auto;
		height: 30px;
	}
	.sec-header + article{
		margin: 40px 0 0;
	}
	.sec-header + article img{
		width: 100%;
		height: auto;
	}
	section + section{
		margin-top: 140px;
	}

	.col + .col{
		margin-top: 60px;
	}



/* mission
------------------------------------------------------*/

	#mission p.lead{
		font-size: 14px;
		line-height: 1.8;
	}
	#mission p.lead + p{
		margin-top: 20px;
		line-height: 2.2;
	}
	#mission .col1 .col-box:nth-child(2){
		margin: 30px auto 0;
		max-width: 200px;
	}
	#mission .col1 .col-box:nth-child(2) img{
		width: 100%;
		height: auto;
	}

/* company
------------------------------------------------------*/

	#company .col1 dt{
		display: table-cell;
		width: 130px;
	}
	#company .col1 dd{
		display: table-cell;
		line-height: 1.8;
	}
	#company .col1 dl + dl{
		margin-top: 20px;
	}
	#company .col1 .col-box + .col-box{
		margin-top: 40px;
	}


/* service
------------------------------------------------------*/

	#service .col1 .col-box figure{
		margin: auto;
		max-width: 380px;
		padding: 0 15px;
	}
	#service .col1 .col-box .txt{
		padding: 30px 0 0;
		box-sizing: border-box;
	}
	#service .col1 .col-box .txt p + p{
		margin-top: 20px;
	}
	#service .col1 .col-box .txt a{
		text-decoration: underline;
	}


/* affiliate
------------------------------------------------------*/

	#affiliate .col1 .col-box figure{
		margin: auto;
		max-width: 380px;
		padding: 0 15px;
	}
	#affiliate .col1 .col-box .txt{
		padding: 30px 0 0;
		box-sizing: border-box;
	}
	#affiliate .col1 .col-box .txt p + p{
		margin-top: 20px;
	}
	#affiliate .col1 .col-box .txt a{
		text-decoration: underline;
	}


}


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


}




