@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
}

*{
	-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: 14px;
	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;
    }

}

/* -------- title -------- */

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

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

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


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

    .title{
        min-width: 960px;
    }

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

	.title .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(han0203-049.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: 24px;
	text-align: center;
}

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