@charset "UTF-8";


/* -------------------- */
/* ------ common ------ */
/* -------------------- */


html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

*{
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	box-sizing: border-box;
}

body{
	line-height: 1.6;
	font-size: 12px;
	line-height: 2;
}

a{
	text-decoration: none;
	color: inherit;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.wrap{
	width: 90%;
	margin: 0 auto;
}

.pc{
    display: none;
}

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

	body{
		font-size: 14px;
	}

	.wrap{
		width: 960px;
	}

    .pc{
        display: block;
    }

}


/* -------------------- */
/* -------- kv -------- */
/* -------------------- */


.kv{
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

.kv .main-copy{
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    letter-spacing: .2em;
}

.kv .sub-copy{
    color: #fff;
    font-size: 20px;
    text-align: center;
}


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

    .kv{
        min-width: 960px;
    }

	.kv .main-copy{
		font-size: 60px;
	}

	.kv .sub-copy{
        font-size: 30px;
        margin-top: 10px;
	}

}


/* ----------------------- */
/* -------- video -------- */
/* ----------------------- */


.video{
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: -1;
    background: url(../img/kv-alternative-image.jpg) no-repeat center/cover;
}

.video::after{
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(16, 57, 75, .3);
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}

.video video{
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

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

    .video{
        min-width: 960px;
    }

}


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


main{
	padding: 80px 0;
}

.block:not(:first-child){
	margin-top: 60px;
}

.block h2{
	font-weight: bold;
	font-size: 20px;
	text-align: center;
}

.block p{
	max-width: 600px;
	margin: 20px auto 0;
	text-align: center;
}
