@charset "utf-8";/* CSS Document *//* 汎用 */html{scroll-padding-top: 170px;}.wrap {	width: 90%;	margin: 0 auto;}.flex {	display: flex;	flex-wrap: wrap;	justify-content: space-between;}.even {flex-direction: row-reverse;}/*==================================================ヘッダー===================================*/header {	height: 70px;    z-index: 100;	margin: 0.5em 1em 0.5em 3em;	position: relative;}header h1{	float: left;}header h1 img{	width: 90%;}/*==================================================メニュー===================================*/.header_right{    float: right;    margin-right: 5em;    padding-top: 1em;}.menu li {    float: left;    margin-right: 3em;}.menu li a{	color: #333;}.menu.menu_nav {  display: flex;  align-items: center;}/*==================================================TOP画像===================================*/#mainvisual{    margin-bottom: 10em;    height: 100vh;}#u_mainvisual{    margin-bottom: 10em;}#u_mainvisual h2{    color: #fff;    text-align: left;    letter-spacing: 8px;	position: absolute;	top: 13em;    left: 2em;    z-index: 5;}#mainvisual h2{    color: #fff;    text-align: left;    letter-spacing: 8px;	position: absolute;	top: 13em;    left: 2em;    z-index: 5;}#video-area{    overflow: hidden;}#video {    /*天地中央配置*/    position: absolute;    z-index: -1;    top: 50%;    left: 50%;    transform: translate(-50%, -50%);    /*縦横幅指定*/    width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */    height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */    min-height: 100%;    min-width: 100%;}/*==================================================about===================================*/#about{	overflow: hidden;	margin: 10em 0;}#about .about_left{	float: left;	width: 50%;	background: url("../img/logo03.png");	background-position: right;	background-repeat: no-repeat;	background-size: contain;    padding: 10em 0;}#about .about_left span{	position: relative;    top: -3em;}#about .about_left h3{	margin-left: 0.8em;    letter-spacing: 0.1em;    position: relative;    top: -0.6em;}#about .about_sab{    margin-left: 1.4em;    position: relative;    top: 0.5em;}#about .about_text{	width: 480px;    margin-left: 3em;	position: relative;    top: 3em;}#about .about_right{	float: right;	width: 50%;}#about .about_right img{	width: 90%;}/* ボタン------------------------*/.about_btn{	background: url("../img/btn01.jpg");	background-position: center;	background-repeat: no-repeat;	width: 200px;	height: 47px;	position: relative;    top: 4em;    left: 3em;}.about_btn a{	color: #fff;	padding: 0.4em 1em;	display: block;}/*==================================================business===================================*/#business{	background: url("../img/business_bg.jpg");	background-position: top;	background-repeat: no-repeat;	background-size: cover;	padding: 10em 5em;	overflow: hidden;}#business .business_right{	float: right;	width: 40%;    color: #fff;    padding: 5em 0 0 3em;}#business .business_left{	float: left;	width: 45%;}#business .business_right h3{    letter-spacing: 0.1em;}#business .business_sab{	margin-top: 1em;	letter-spacing: 0.1em;}#business .business_text{	margin-top: 2em;}/* ボタン------------------------*/.business_btn{	background: url("../img/btn01.jpg");	background-position: center;	background-repeat: no-repeat;	width: 200px;	height: 47px;	margin-top: 4em;}.business_btn a{	color: #fff;	padding: 0.4em 1em;	display: block;}/*==================================================NEWS===================================*/#news{	padding: 10em 5em 0;	overflow: hidden;}#news .news_left{	float: left;	background: #3693A6;	width: 35%;	height: 400px;	color: #fff;	padding: 4em 0 0 7em;}#news .news_left h3,#news .news_sab{    letter-spacing: 0.1em;}#news .news_sab{	margin-top: 1em;}#news .news_right{	float: right;	width: 60%;    max-height: 380px;  overflow-y: scroll;}#news .news_right img{	float: left;}#news .news_right ul{	margin-top: 2em;}#news .news_right li{	float:left;	width: 100%;	margin-bottom: 2em;	border-bottom: 2px dotted #707070;    padding-bottom: 2em;}#news .news_right li img{	margin-right: 2em;}#news .news_right a{	color: #333;}/*==================================================WORKS===================================*/#works{	padding: 10em 5em;	overflow: hidden;}#works .works_left{	float: left;	background: #333333;	width: 35%;	height: 400px;	color: #fff;	padding: 4em 0 0 7em;}#works .works_left h3,#works .works_sab{    letter-spacing: 0.1em;}#works .works_sab{	margin-top: 1em;}#works .works_right{	float: right;	width: 60%;    max-height: 380px;  overflow-y: scroll;}#works .works_right img{	float: left;}#works .works_right ul{	margin-top: 2em;}#works .works_right li{	float:left;	width: 100%;	margin-bottom: 2em;	border-bottom: 2px dotted #707070;    padding-bottom: 2em;}#works .works_right li img{	margin-right: 2em;}#works .works_right a{	color: #333;}/*==================================================RECRUIT==================================*/#recruit{	background: url("../img/recruit_bg.jpg");	background-position: top;	background-repeat: no-repeat;	background-size: cover;	padding: 10em 5em;}#recruit h3,#recruit .recruit_sab{	text-align: center;	letter-spacing: 0.1em;	color: #fff;	margin-bottom: 0.5em;}#recruit .recruit_text{	width: 70%;	margin: 0 auto;	color: #fff;	margin-top: 5em;}/* ボタン------------------------*/.recruit_btn{	background: url("../img/btn02.jpg");	background-position: center;	background-repeat: no-repeat;	width: 200px;	height: 47px;	margin: 0 auto;    margin-top: 6em;}.recruit_btn a{	color: #fff;	padding: 0.4em 1em;	display: block;}/*==================================================CONTACT==================================*/#contact{	background: url("../img/contact_bg.jpg");	background-position: center;	background-repeat: no-repeat;	background-size: cover;	padding: 3em;	margin: 3em 0;	overflow: hidden;}#contact .contact_left{	float: left;	width: 30%;	margin-left: 10em;}#contact .contact_right{	float: right;	width: 20%;    margin-top: 3em;}#contact h3,#contact .contact_sab{	letter-spacing: 0.1em;	color: #fff;	margin-bottom: 0.5em;}/* ボタン------------------------*/.contact_btn{	background: url("../img/btn03.jpg");	background-position: center;	background-repeat: no-repeat;	width: 200px;	height: 47px;    margin-top: 2em;}.contact_btn a{	color: #333;	padding: 0.4em 1em;	display: block;}/*==================================================footer nav===================================*/#footer_nav{	width: 50%;    margin: 0 auto;	padding: 5em 0;	overflow: hidden;}#footer_nav h3,#footer_nav p{	text-align: center;}#footer_nav p{	margin: 2em 0;}.footer_menu li{	float: left;	}.footer_menu li span{	margin: 0 2em 0 2em;}/*==================================================Goole map===================================*/#store_map{	margin-bottom: 10em;}#store_map iframe{	margin: 0 auto;}/*右から左へ----------------------------*/@keyframes infinity-scroll-left {  from {    transform: translateX(0);  }  to {    transform: translateX(-100%);  }}/*IE11対策----------------------------*/_:-ms-lang(x)::-ms-backdrop,.d-demo {  display: -ms-grid;  overflow: hidden;}/*----------------------------*/.d-demo__wrap {  display: flex;  overflow: hidden;}.d-demo__list {  display: flex;  list-style: none;}.d-demo__list--left{animation :infinity-scroll-left 95s infinite linear 0.5s both;}.d-demo__item {  width: calc(150vw / 6);}.d-demo__item > img{   width: 95%;}/*==================================================フッター===================================*/#footer {}.copyright {	padding: 15px 0;	background: #000;	color: #FFFFFF;	text-align: center;	font-size: 14px;}/*==================================================ページトップボタン===================================*/#page_top{	width: 35px;    height: 112px;    position: fixed;    right: 0px;    bottom: 60px;    background: url(../img/pagetop.png);    background-repeat: no-repeat;    z-index: 999;}#page_top a{	position: relative;	display: block;	width: 60px;	height: 60px;	text-decoration: none;}#page_top a::before{	font-size: 30px;	color: #fff;	position: absolute;	width: 30px;	height: 30px;	top: -5px;	bottom: 0;	right: 0;	left: 0;	margin: auto;	text-align: center;}/*==================================================ふわっ===================================*//* その場で */.fadeIn{animation-name:fadeInAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeInAnime{  from {    opacity: 0;  }  to {    opacity: 1;  }}/* 下から */.fadeUp{animation-name:fadeUpAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 上から */.fadeDown{animation-name:fadeDownAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeDownAnime{  from {    opacity: 0;  transform: translateY(-100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 左から */.fadeLeft{animation-name:fadeLeftAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeLeftAnime{  from {    opacity: 0;  transform: translateX(-100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* 右から */.fadeRight{animation-name:fadeRightAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeRightAnime{  from {    opacity: 0;  transform: translateX(100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* スクロールをしたら出現する要素にはじめに透過0を指定　*/ .fadeInTrigger,.fadeUpTrigger,.fadeDownTrigger,.fadeLeftTrigger,.fadeRightTrigger{    opacity: 0;}.f_icon{    display: flex;    align-items: center;    justify-content: center;    gap: 30px;    padding: 3rem 0 0;}