@charset "utf-8"; 




/*=============================== main_visual ================================*/

.hero {
	background-color: #eee;
	background-size: cover;
	height: 100vh; 
	position:relative;
}
.hero_catch {
	font-size:3rem;
	color:#fff;
	letter-spacing:0.5em;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	z-index:5;
}
.hero_catch br {
	display:none;
}


/* スライダー */
.hero_body {
	width:100%;
	height:100%;
}
.hero_slide {
	width:100%;
	height:100%;
	margin:0 auto;
	position:relative;
	z-index:1;
}
.hero_slide_body {
	height:100%;
}
.hero_slide_inner {
	height:100%;
}
.hero_slide_item {
	width:100%!important;
	height:100%;
	background-repeat:no-repeat;
	background-position:center 0;
	background-size:cover;
	will-change: transform;
}
.bx-viewport,
.bx-wrapper,
.bx-window {
	width: 100%!important;
	height:100%!important;
}


/* video */
.hero_movie {
	height: 100%;
	background-image: url("../images/loading.gif");
	background-repeat: no-repeat;
	background-position: center;
}
.bg_video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%,-50%);
	z-index: 1;
}
.hero_movie::before {
	content: " ";
	display: block;
	position: absolute;
	height: 100%;
	width: 100%;
	background-image: url("../images/dot01.png");
	background-repeat: repeat;
	background-position: 0 0;
	z-index: 2;
	opacity: .3;
}




.hero .btn_scroll {
	position:absolute;
	left:50%;
	bottom:20px;
	margin-left:-100px;
	z-index:2;
}
.hero .btn_scroll img {
	-webkit-animation: bound 1.5s ease-in infinite;
	-moz-animation: bound 1.5s ease-in infinite;
	-ms-animation: bound 1.5s ease-in infinite;
	-o-animation: bound 1.5s ease-in infinite;
	animation: bound 1.5s ease-in infinite;
}

@-webkit-keyframes bound {
    0%,
    100% {
        -webkit-transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 5px)
    }
}

@-moz-keyframes bound {
    0%,
    100% {
        -webkit-transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 5px)
    }
}

@-ms-keyframes bound {
    0%,
    100% {
        -webkit-transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 5px)
    }
}

@-o-keyframes bound {
    0%,
    100% {
        -webkit-transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 5px)
    }
}

@keyframes bound {
    0%,
    100% {
        -webkit-transform: translate(0, 0)
    }
    50% {
        -webkit-transform: translate(0, 5px)
    }
}





/*=============================== レイアウト ===============================*/
.l-container {
	width: 100%;
	margin: 0 auto;
}
.l-section {
	position: relative;
	width: 100%;
	overflow:hidden;
}



/*=============================== メイン ================================*/

section .inner {
	width:960px;
	margin:0 auto;
	position:relative;
}
section h2 {
	text-align:left;
	font-weight:bold;
}
section h2 > span {
	display:block;
}
section h2 a {
	outline-style:none;
}
#main .btn_more a {
	outline-style:none;
}









/*
* メイン／intro
*/

.intro .inner {
	width:500px;
	padding:75px 0;
}
.intro_ttl {
	text-align:center;
	font-size:4rem;
	text-align:center;
	margin-bottom:15px;
	font-weight:bold;
}
.intro_txt {
}




/*
* メイン／ビジネス
*/

.business {
	color:#fff;
	background-image: url(../images/bg_business_area.jpg);
	background-repeat: no-repeat;
	background-position: center 0px;
	background-size:cover;
	min-width:960px;
}
.business .inner {
	padding:70px 0 0;
	min-height:500px;
}
.business_contents {
	width:312px;
	margin-left:40px;
}
.business_ttl {
	font-weight:bold;
	margin-bottom:30px;
}
.business_ttl .ttl_en {
	font-size:4.5rem;
	line-height:1.5em;
}
.business_ttl .ttl_jp {
	font-size:2rem;
}
.business_txt {
	font-size:1.6rem;
	letter-spacing:0;
}
.business_image {
	position:absolute;
	right:-95px;
	top:58px;
	width:601px;
	height:367px;
}
.business_image img {
	width:100%;
	height:auto;
}




/*
* メイン／NEW
*/

.new {
	background-image: url(../images/bg_new_area.jpg);
	background-repeat: no-repeat;
	background-position: center 0px;
	background-size:auto 413px;
}
.new .inner {
	min-height:413px;
	padding-top:65px;
}
.new_contents {
	width:390px;
	margin:0 auto;
}
.new_ttl {
	text-align:center;
	color:#fff;
	margin-bottom:50px;
}
.new_ttl .ttl_en {
	font-size:4.5rem;
	line-height:1em;
}
.new_ttl .ttl_jp {
	font-size:2rem;
}
.new_txt {
	letter-spacing:0.05em;
}





/*
* メイン／WORK
*/

#anchor_work {
	padding-top:150px;
	margin-top:-150px;
}





















