@charset "utf-8";
/* CSS Document */
/* 汎用 */
body {
	font-family: "Zen Old Mincho";
	font-size: 16px;
	color: #333333;
	background: url("../img/body_bg.jpg");
	background-position: top;
	background-repeat: repeat-y;
	background-size: cover;
}
html{scroll-padding-top: 170px;}
.wrap {
	width: 90%;
	margin: 0 auto;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
a {text-decoration: none;}
img {
	max-width: 100%;
	vertical-align: bottom;
}
ul {list-style: none;}

.center {text-align: center;}
.even {flex-direction: row-reverse;}

.pc_only {display: block;}
.sp_only {display: none;}
	
.Futura{font-family: "Futura PT";}
.FuturaC{font-family: "Futura PT Condensed";}
.Noto{font-family: "Noto Sans JP";}
.Zen{font-family: "Zen Old Mincho";}
.ZenK{font-family: "Zen Kaku Gothic New";}
.Kokuyou{font-family: "A P-OTF Kokuyou StdN H"}
.Kso{font-family: "KSO心龍爽"}
.A_K{font-family: "A_KsoGinryu"}
 
.b{font-weight: bold;}
.n{font-weight: normal;}
.l{font-weight: lighter;}

.fs14{font-size: 14px;}
.fs20{font-size: 20px;}
.fs22{font-size: 22px;}
.fs24{font-size: 24px;}
.fs26{font-size: 26px;}
.fs28{font-size: 28px;}
.fs30{font-size: 30px;}
.fs36{font-size: 36px;}
.fs40{font-size: 40px;}
.fs50{font-size: 50px;}
.fs60{font-size: 60px;}
.fs70{font-size: 70px;}
.fs75{font-size: 75px;}
.fs80{font-size: 80px;}
.fs90{font-size: 90px;}
.fs100{font-size: 100px;}
.fs110{font-size: 110px;}
/*==================================================
ヘッダー
===================================*/
header {
/*	width: 100%;
	position: fixed;/*画面上部に固定表示*/
	height: 100px;
    z-index: 100;
	margin: 2em 1em 1em 3em;
	position: relative;
}
header h1{
	float: left;
}
header h1 a{
	color: #fff;
}
.header_wrap {
/*	display: flex;*/
	align-items: center;
}
.header_left {
	width: 40%;
	margin-left: 2em;
}
.header_right {
	width: 60%;
}
/*==================================================
メニュー
===================================*/
.menu li {
    float: left;
    margin-right: 3em;
}
.header_wrap .menu_nav{
	position: relative;
    top: 1em;
    left: 500px;
}
.menu li a{
	color: #fff;
}

/*==================================================
TOP画像
===================================*/
#mainvisual{
	background: url("../img/bg_img001.jpg");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
    width: 100%;
	clear: both;
}
#mainvisual h2{
    color: #fff;
    text-align: center;
	padding: 3em 0 3.5em;
}

/*==================================================
山形県天童市乱川
===================================*/
#handmade_soba{
	background: url("../img/menu_img001.jpg");
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
    margin-top: 45em;
	overflow: hidden;
}
/*#handmade_soba .flex {
	display: inline-block;
}*/
#handmade_soba .handmade_ttl{
	background: url("../img/menu_uzu.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	float: right;
	width: 40%;
    padding: 8em;
    margin: 8em 0;
}
#handmade_soba .handmade_ttl h3,
#handmade_soba .handmade_ttl p{
	float: left;
	color: #fff;
	position: relative;
	writing-mode: vertical-rl;/* 縦書き*/
}
#handmade_soba .handmade_ttl h3{
    bottom: 5em;
    left: 3em;
	letter-spacing: 0.3em;
}
#handmade_soba .handmade_ttl .Kso{
	bottom: 1.8em;
    left: 1em;
}
#handmade_soba .handmade_ttl .A_K{
	top: 0.4em;
	left: 0.5em;
}
.handmade_text{
	width: 50%;
    float: left;
    color: #fff;
    padding: 10em 0 0 5em;
    line-height: 2;
    letter-spacing: 2px;
}

/*==================================================
山里のこだわり
===================================*/
#kodawari{
	padding: 8em 0;
}
#kodawari img{
	width: 55%;
}
#kodawari .text_area{
	float: right;
	width: 40%;
	margin-top: 4em;
}
#kodawari .text_area h3{
	letter-spacing: 5px;
}
#kodawari .text_area .text{
	margin-top: 4em;
    line-height: 1.8;
}
/* ボタン */
#kodawari .kodawari_btn{
	background: url("../img/btn_bg.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 274px;
    height: 62px;
	margin-top: 5em;
}
#kodawari .kodawari_btn a{
	color: #fff;
	padding: 1em 6em 1em 4em;
	display: block;
}
/*==================================================
店内紹介
===================================*/
#introduction{
	background: url("../img/introduction_nami.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #2e2e2e;
	padding: 5em 0 0;
}
#introduction .flex {
	display: inline-block;
}
#introduction .introduction_text{
	float: right;
	padding: 6em 6em 0 0;
}
#introduction .introduction_text h3,
#introduction .introduction_text p{
	writing-mode: vertical-rl;/* 縦書き*/
	color: #fff;
	float: left;
}
#introduction .introduction_text p{
	letter-spacing: 0.4em;
    line-height: 2.5;
}
#introduction .introduction_text h3{
	border-left: 1px solid;
    margin-left: 1em;
    padding-left: 0.5em;
}
/* 画像 */
#introduction .img01{
    width: 60%;
	float: left;
}
#introduction .img02,#introduction .img03{
	position: relative;
	width: 35%;
}
#introduction .img02{    
	top: 5em;
    left: 10em;
}
#introduction .img03{
    float: right;
    bottom: 9em;
    right: 10em;
}
/*==================================================
店舗概要
===================================*/
#store_overview .store_inner{
	background: url("../img/bg_img002.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 5em 0;
}
#store_overview h3{
	color: #fff;
	text-align: center;
	width: 100%;
    padding: 2em 0;
	letter-spacing: 0.1em;
}
/* table */
#store_overview table {
	border-collapse: collapse;
	width: 55%;
	margin: 0 auto;
	margin-bottom: 5em;
	letter-spacing: 0.2em;
}
#store_overview table th,
#store_overview table td{
	padding: 2em 0;
	border-color: #2e2e2e;
	border-bottom: 1px solid;
}
#store_overview table th{
	text-align: left;
	width: 25%;
}
#store_overview table td{

}

/*==================================================
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: 60px;
	height: 60px;
	position: fixed;
	right: 20px;
    bottom: 50px;
	background: #000;
	z-index: 999;
    border-radius: 50%;
    box-shadow: 0 0 7px 0 #fff;
}
#page_top a{
	position: relative;
	display: block;
	width: 60px;
	height: 60px;
	text-decoration: none;
}
#page_top a::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f106';
	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;
}












