@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: 103px;
	margin: -1em 0 0 3em;
}
header h1{
	letter-spacing: 0.1em;
	line-height: 1.2;
}
header h1 a{
	color: #333;
}
header .header_text{
	overflow: hidden;
}
header .sab{
	float: left;
}
header .tel{
	float: right;
	letter-spacing: 0.1em;
}
header .tel a{
	color: #333;
}
header .tel span{
	margin-left: 0.5em;
}
/*==================================================
メニュー
===================================*/
.header_right{
    float: right;
    padding-top: 1em;
}
.menu li {
    float: left;
    margin-right: 7em;
}
.menu li a{
	color: #333;
}
.from{
	background: #2382cb;
}
.from a{
	padding: 2em;
	display: block;
	color:#fff!important;
}
.from img{
	margin-right: 1em;
}
/*==================================================
TOP画像
===================================*/
#mainvisual{
	background: url("../img/mainvisual.png");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 22em 2em 23em;
}
#mainvisual .wrap{
	width: 95%;
}
#mainvisual h2{
    color: #fff;
    text-align: left;
    position: absolute;
    top: 20em;
    left: 3.5em;
    line-height: 2;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 0.5em 0;
}

/*==================================================
about
===================================*/
#about{
	background: url("../img/about_bg.png");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
    padding-bottom: 5em;
	overflow: hidden;
}
#about h3{
	letter-spacing: 0.1em;
}
#about .right p{
	margin-top: 6em;
}
/* ボタン */
#about .about_btn{
	background: url("../img/img_btn.jpg");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	width:219px;
	height: 52px;
	margin-top: 6em;
}
#about .about_btn a{
	color: #fff;
	padding: 0.8em 0.5em 0.5em 2em;
    display: block;
    letter-spacing: 0.1em;
}
#about .about_btn p{
margin-top: 0!important;
}
/*==================================================
business
===================================*/
#business{
	background: url("../img/business_bg.png");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 6em;
	overflow: hidden;	
}
#business ul{
	margin-left: 2em;
	overflow: hidden;
}
#business ul li{
	float: left;
	width: 30%;
}
/* ボタン */
#business .business_btn{
	background: url("../img/img_btn.jpg");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	width:219px;
	height: 52px;
	margin: 0 auto;
	margin-top: 6em;
}
#business .business_btn a{
	color: #fff;
	padding: 0.8em 0 0.8em 2em;
    display: block;
    letter-spacing: 0.1em;
}

/*==================================================
NEWS
===================================*/
#news{
    width: 90%;
    margin: 0 auto;
	padding: 2em;
	margin-bottom: 5em;
	background: #e3f3ff;
    overflow: hidden;
}
.news_inner{
	background: #fff;
	padding: 2em;
}
#news .news_hr{
	border: 2px solid #2382cb;
    width: 20%;
    margin: 1em 0 2em;
}
#news .news_left{
	float: left;
}
#news dl{
	float: left;
	width: 70%;
    margin-left: 5em;
    margin-top: 1em;
}
#news dl a{
	color: #333;
}
#news dt{
	margin-right: 3em;
}
#news dt{
	color: #2382cb;
	font-weight: bold;
}
#news dd{
	margin-left: 8em;
}
.dot_hr{
	border: none;
	border-top: 2px dotted #707070;
	margin: 2em 0;
}

/* スクロールバー
--------------------------------*/
.scroller {
	height: 140px;
	overflow-y: scroll;
}
.scroller::-webkit-scrollbar {
    width: 16px;
}
.scroller::-webkit-scrollbar-track {
    background-color: #e4e4e4;
/*   border-radius: 100px;*/
}
.scroller::-webkit-scrollbar-thumb {
    background-color: #2382cb;
/*   border-radius: 100px;*/
}
/*==================================================
CONTACT
==================================*/
#contact{
	background: url("../img/contact_bg.jpg");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	color: #fff;
    padding: 5em 0 6em;
	overflow: hidden;
}

/* ボタン */
.contact_btn{
	background: #2382cb;
	width: 20%;
    margin: 0 auto;
    margin-top: 5em;
}
.contact_btn a{
	padding: 2em;
	display: block;
	color:#fff!important;
}
/*==================================================
footer nav
===================================*/
#footer_nav{
	padding: 2em;
	overflow: hidden;
}
#footer_nav h3{
	letter-spacing: 0.1em;
	line-height: 1.2;
}
#footer_nav h3 a{
	color: #333;
}
#footer_nav p{
	line-height: 2.5;
	margin-left: -0.5em;
}



/*==================================================
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 {
	background: #2382cb;
	padding: 15px 0;
	color: #fff;
	text-align: center;
	letter-spacing: 0.1em;
}

/*==================================================
ページトップボタン
===================================*/
#page_top{
	width: 160px;
    height: 115px;
    position: fixed;
    right: 0px;
    bottom: 60px;
    background: url(../img/back_top.png);
    background-repeat: no-repeat;
    z-index: 999;
}
#page_top a{
	position: relative;
	display: block;
	width: 160px;
    height: 115px;
	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;
}












