/* 基本CSS */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    grid-template: none;
   }
body{
    font-family: fot-tsukubrdgothic-std, sans-serif;
    font-style: normal;
    font-weight: 400;
}
h1,h2{
    color:#684e4d;
}
ul{
    list-style:none;
    color:#684E4D;

}
a{
    font-weight:500;
    margin:0 15px;
    color: #FFF;
    text-decoration: none;
}
a:hover{
    /*color:#878F98;*/
    opacity:0.6;
}
p{
    padding-bottom:1px;
    font-size: 16px;
    color:#684E4D;

}
td{
    color: #684E4D;
}
section{
    padding:60px 0;
}
/* header */
.header{
    position: relative
    left: 0;
    top: 0;
    width: 100%;
    height: 100px;
    background-color: #CAB9AF;
}
/*.header-inner {
    position: relative
    padding: 15px;
}*/
.logo{
    width: 100px;
    position: absolute;
    top: 0;
    left: 0;
}  
.nav-list{
    position: absolute;
    justify-content: right;
    top: 30px;
    right: 30px;
    flex-wrap: wrap;
}
/*.header-nav{
    position: absolute;
    top: 30px;
    right: 70px;
}
.header-nav ul{
    display: flex;
    flex-direction: row;
    justify-content:right;

}
*/
/* メインの内容 */
#main{
    background: url(images/yukasan10I9A9351_TP_V.jpg);
    background-size: cover;
    background-position: center;
    height: 800px;
    position: relative;
    text-align: center;
}
#main::before{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    display: block;
    background-color: rgba(0,0,0,0.4);
}
#mainlogo{
    width: 400px;
    /*position: absolute;*/
    margin: 0 auto;
    /*top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);*/
    animation: fadein-top 1.5s ease-out forwards;
  }
  @keyframes fadein-top {
    0% {
      opacity: 0;
      transform: translateY(200px);
    }
    100% {
      opacity: 1;
      transform: translateY(100px);
    }
  }
section h2{
    text-align:center;
    margin-bottom:25px;
    font-size:36px;
}
#sec1,#sec3,#sec5{
    background-color: #F0E9E1;
}
#sec2,#sec4{
    background-color: #FFFFFF;
}
#sec1,#sec2,#sec3,#sec4{
    width: 100%;
    /*height: 800px;*/
}
#sec5{
    width: 100%;
    /*height: 400px;*/
}
.concept{
    display:flex;
    flex-wrap:wrap;
    justify-content: center;
}
.conceptimg{
    width: 650px;
}
.concepttext{
    width:50%;
    padding:30px;
    text-align: center;
}
.concepttext p{
    padding:20px;
    font-size: 16px;
}
strong{
    font-size: 20px;
}
 .box-wrap{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
}
.box{
    background-color:#CAB9AF;
    width:250px;
    /*height: 400px;*/
    padding:15px;
    margin: 20px;
}
.box h3{
    text-align:center;
    color: #684E4D;
}
.box img{
    width:100%;
}
.box p{
    font-size:0.9em;
    padding:5px;
    margin: 5px;
    text-align:justify;
    line-height: 24px;
}
.btn{
    background-color:#2F8494;
    display: flex;
    justify-content: center;
    align-items: center;
    width:150px;
    height: 50px;
    padding:15px 20px;
    box-shadow:6px 6px 10px 0 rgba(0,0,0,.4);
    margin:50px auto 0;
    font-size: 18px;   
}
.info{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.info-text{
    background-color: #878F98;
    display:block;
    width:550px;
    height: 400px;
    padding:20px;
    margin-top: 100px;
    text-align: center;
    color: #FFFFFF;
}
.info-text b{
    color: #FFFFFF;
    text-align: center;
}
.syousai{
    text-align: left;
    font-size: 18px;
    margin: 0 auto;
    line-height: 28px;
}
.syousai td{
    color: #FFFFFF;
}
.eigyou{
    vertical-align: top;
}
.sns{
    display: grid;
    grid-template-rows: 300px 300px;
    grid-template-columns: 550px 550px;
    justify-content: center;
}
.facebook{
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    text-align: center;
}
.twitter{
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    text-align: center;
}
.blog{
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    text-align: center;
}
.twitter-timeline{
    margin-left: 50px;
}
/*#FB-title{
    text-align: center;
}
#FB{
    display: block;
    text-align: center;
}*/
.reservation{
    display: flex;
    flex-wrap:wrap;
    justify-content:center;
}
.r-btn{
    background-color:#2F8494;
    display:block;
    width:330px;
    height: 100px;
    padding:10px 15px;
    box-shadow:6px 6px 10px 0 rgba(0,0,0,.4);
    margin:30px auto 0;
    text-align: center;
    font-size: 20px;
    font-weight: 600;   
}
.tyui{
    text-align: center;
    margin: 30px;
}
/* footer */
footer{
    background-color:#CAB9AF;
    padding:10px 0;
    width: 100%;
    /*height: 300px;*/
}
footer p{
    color: #FFF;
    font-size: 18px;
    line-height: 22px;
}
.footer-nav ul{
    display:flex;
    flex-direction: column;
    padding:20px;
    font-size: 18px;
    line-height: 36px;
    margin-left: 130px;
}
#facebook-btn{
    width: 23px;
    margin-top: 10px;
}
#twitter-btn{
    width: 23px;
    margin-top: 10px;
}
.f-box-wrap{
    display: flex;
}
.f-box{
    margin: 10px 0px;
}
#footer-logo{
    width: 180px;
    margin: 50px 50px 0 50px;
}
.copy{
    text-align: center;
    font-size: 12px;
}
#pagetop{
    position:fixed;
    bottom:30px;
    right:30px;
}
#pagetop img{
    width:60px;
}
/* お知らせページのCSS */
.h1{
    text-align: center;
    font-size: 38px;
}
.hr{
    color: #684E4D;
    margin: 30px 80px;
}
.news p,h2{
    text-align: center;
    margin: 0 10px;
}
.map-text{
    margin: 10px 80px;
}
.ivent-map{
    display: block;
    margin: 50px auto;
}
/* メニューページのCSS */
.t-menu{
    margin: 50px 100px;
}
.th-menu{
    background-color: #684E4D;
    color: #FFF;
    width: 200px;

}
.td-menu{
    background-color: #FFF;
    color: #684E4D;
    padding: 10px;
}
.setumei{
    margin: 10px 100px;
}
.giftcard{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
/*.giftcard-img{
}*/
.giftcard-text{
    padding: 30px;
}
.giftcard-text li{
    position: relative;
    padding-left: 15px;
}
.giftcard-text li::before{
    content: "";
    position: absolute;
    top: .9em;
    left: 0;
    width: 7px;
    height: 7px;
    background-color: #8b6b4e;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
#sec4 h3{
    text-align: center;
    margin: 20px auto;
    color: #FFF;
}
.t-kouza{
    border-collapse: collapse;
    width: 100%;
    max-width: 800px;
    margin: 20px 100px;
}
.t-kouza th,.t-kouza td{
    padding: 0.5em;
}
.th-kouza{
    color: #2F8494;
    font-weight: bold;
    text-align: center;
    width: 20%;
    min-width: 4em;
    position: relative;
}
.th-kouza::after {
    content: '';
    background-color: #878F98;
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    width: 1px;
    height: 60%;
}
@keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }
      to {
      transform: translateX(-100%);
    }
    }
    .scroll-wrap {
      display: flex;
      overflow: hidden;
    }
    .scroll-list {
      display: flex;
      list-style: none;
      padding: 0
    }
    .scroll-left {
      animation: infinity-scroll-left 40s infinite linear 0.5s both;
    }
    .scroll-item {
      width: calc(100vw / 3);
    }
    .scroll-item>img {
      width: 100%;
    }
    .kouza-box{
        background-color: #878F98;
        width: 800px;
        padding: 15px;
        margin: 20px auto;
    }
    .kouza-box h3{
        text-align: center;
        margin: 20px auto;
        color: #FFF;
    }
    .kouza-box p{
        padding: 5px;
        margin: 5px;
        color: #FFF;
    }
/* お問い合わせページのCSS */
.Form {
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
    max-width: 720px;
  }
  @media screen and (max-width: 480px) {
    .Form {
      margin-top: 40px;
    }
  }
  .Form-Item {
    border-top: 1px solid #ddd;
    padding-top: 24px;
    padding-bottom: 24px;
    width: 100%;
    display: flex;
    align-items: center;
  }
  @media screen and (max-width: 480px) {
    .Form-Item {
      padding-left: 14px;
      padding-right: 14px;
      padding-top: 16px;
      padding-bottom: 16px;
      flex-wrap: wrap;
    }
  }
  .Form-Item:nth-child(5) {
    border-bottom: 1px solid #ddd;
  }
  .Form-Item-Label {
    width: 100%;
    max-width: 248px;
    letter-spacing: 0.05em;
    font-weight: bold;
    font-size: 18px;
  }
  @media screen and (max-width: 480px) {
    .Form-Item-Label {
      max-width: inherit;
      display: flex;
      align-items: center;
      font-size: 15px;
    }
  }
  .Form-Item-Label.isMsg {
    margin-top: 8px;
    margin-bottom: auto;
  }
  @media screen and (max-width: 480px) {
    .Form-Item-Label.isMsg {
      margin-top: 0;
    }
  }
  .Form-Item-Label-Required {
    border-radius: 6px;
    margin-right: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 48px;
    display: inline-block;
    text-align: center;
    background: #2F8494;
    color: #fff;
    font-size: 14px;
  }
  @media screen and (max-width: 480px) {
    .Form-Item-Label-Required {
      border-radius: 4px;
      padding-top: 4px;
      padding-bottom: 4px;
      width: 32px;
      font-size: 10px;
    }
  }
  .Form-Item-Input {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
  }
  @media screen and (max-width: 480px) {
    .Form-Item-Input {
      margin-left: 0;
      margin-top: 18px;
      height: 40px;
      flex: inherit;
      font-size: 15px;
    }
  }
  .Form-Item-Textarea {
    border: 1px solid #ddd;
    border-radius: 6px;
    margin-left: 40px;
    padding-left: 1em;
    padding-right: 1em;
    height: 216px;
    flex: 1;
    width: 100%;
    max-width: 410px;
    background: #eaedf2;
    font-size: 18px;
  }
  .check{
    color: #684E4D;
  }
  @media screen and (max-width: 480px) {
    .Form-Item-Textarea {
      margin-top: 18px;
      margin-left: 0;
      height: 200px;
      flex: inherit;
      font-size: 15px;
    }
  }
  .Form-Btn {
    border-radius: 6px;
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 280px;
    display: block;
    letter-spacing: 0.05em;
    background: #2F8494;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
  }
  @media screen and (max-width: 480px) {
    .Form-Btn {
      margin-top: 24px;
      padding-top: 8px;
      padding-bottom: 8px;
      width: 160px;
      font-size: 16px;
    }
  }
/* 当店についてのCSS */
.about{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.about-img{
    width: 650px;
}
.about-text{
    width: 50%;
    padding: 30px;
    text-align: center;
}
.syoukai{
    margin-top: 40px;
    margin-left: 30px;
    color: #684E4D;
}
.tamami{
    display: flex;
    flex-wrap: wrap;
    margin: 10px 40px;
}
.tamami-img{
    margin-right: 20px;
}
.tamami-shikaku{
    margin-right: 30px;
}
.wrapper p{
    text-align: center;
    margin-bottom: 30px;
}
.gallery{
    columns: 4;/*段組みの数*/
    padding:0 15px;/*ギャラリー左右に余白をつける*/
    }
    .gallery li {
        margin-bottom: 20px;/*各画像下に余白をつける*/
    }
    /*ギャラリー内のイメージは横幅100%にする*/
    .gallery img{
      width:100%;
      height:auto;
      vertical-align: bottom;/*画像の下にできる余白を削除*/
    }    
    /*　横幅900px以下の段組み設定　*/
    @media only screen and (max-width: 900px) {
      .gallery{
      columns:3;
      width: 90%;
      } 
    }
    @media only screen and (max-width: 768px) {
      .gallery{
      columns: 2;
      width: 90%;
      } 
    }    
    /*
    ul{
      margin:0;
      padding: 0;
      list-style: none;
    }
    
    a{
      color: #333;
    }
    
    a:hover,
    a:active{
      text-decoration: none;
    }*/
    
    /*画像を出現させるアニメーションCSS*/
    .flipLeft{
    animation-name: flipLeft;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    perspective-origin: left center;
    opacity: 0;
    }
    @keyframes flipLeft{
      from {
       transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
      opacity: 0;
      }
      to {
      transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
      opacity: 1;
      }
    }
/* タブレットCSS */
@media(max-width:768px){
.header{
    width: 100%;
    height: 50px;
}
.header-nav{
    right: 10px;
}
.logo{
    width: 50px;
}
#main{
    width:100%;
}
#sec1{
    width: 100%;
    /*: 1100px;*/
}
.concept{
    text-align: center;
}
.concepttext{
    width: 100%;
    line-height: 22px;
}
.btn{
    margin: 10px auto;
}
#sec2{
    width: 100%;
    /*height: 1100px;*/
}
.box{
    width:40%;
    margin:10px 20px;
}
#sec3{
    width: 100%;
    /*height: 1000px;*/
}
.info iframe{
    margin-right: 100px;
}
.info-text{
    margin-top: 0;
    margin-left: 100px;
}
#sec4{
    width: 100%;
    /* height: 1300px; */
}
.sns{
    display: flex;
    flex-direction: column;
}
#FB{
    margin: 0 auto;
}
.twitter-timeline{
    margin-left: 0;
    margin: 0 auto;
}
#sec5{
    width: 100%;
    /* height: 600px; */
}
.reservation{
    display: flex;
    flex-direction: column;
}
.r-btn{
    margin-top: 15px;
}
footer{
    width: 100%;
    /*height: 350px;*/
}
#footer-logo{
    width: 150px;
    margin: 0;
}
.footer-nav ul{
    margin-left: 0;
}
.ivent-map{
    width: 80%;
}
.hr{
    margin: 30px 10px;
}
.t-menu{
    width: 90%;
    margin: 10px auto;
}
.th-menu{
    width: 30%;
}
.giftcard-img{
    text-align: center;
}
.giftcard-img img{
    width: 90%;
}
.t-kouza{
    width: 90%;
    margin: 15px auto;
}
.kouza-box{
    width: 80%;
}
.about{
    text-align: center;
}
.about-img{
    width: 90%;
}
.about-text{
    width: 90%;
    margin: 0 auto;
}
.setumei{
    margin: 10px 20px;
}
}
/* スマホCSS */
 @media(max-width:640px){
    .header{
        width: 100%;
        height: 50px;
    }
    .header-nav{
        right: 10px;
    }
    .logo{
        width: 50px;
    }
    #main{
        width:100%;
    }
    #mainlogo{
        width: 90%;
    }
    #sec1{
        width: 100%;
        /*height: 1000px;*/
    }
    .conceptimg{
        width: 100%;
    }
    .concept{
        text-align: center;
    }
    .concepttext{
        width: 100%;
        line-height: 22px;
    }
    .btn{
        margin: 10px auto;
    }
    #sec2{
        width: 100%;
        /*height: 1950px;*/
    }
    .box{
        width:72%;
        margin:10px 20px;
    }
    #sec3{
        width: 100%;
        /*height: 1100px;*/
    }
    .info iframe{
        margin-right: 0;
        width: 88%;
    }
    .info-text{
        margin-top: 10px;
        margin-left: 0;
        width: 88%;
    }
    .syousai{
        line-height: 25px;
    }
    #sec4{
        width: 100%;
        /*height: 1300px;*/
    }
    .sns{
        display: flex;
        flex-direction: column;
    }
    #FB{
        width: 90%;
    }
    .twitter-timeline{
        width: 90%;
    }
    #b-logo{
        width: 90%;
    }
    #sec5{
        width: 100%;
        /* height: 600px; */
    }
    .reservation{
        display: flex;
        flex-direction: column;
    }
    .r-btn{
        margin-top: 15px;
    }
    footer{
        width: 100%;
        /*height: 750px;*/
    }
    #footer-logo{
        width: 150px;
        margin: 0;
    }
    .footer-nav ul{
        margin-left: 0;
    }
    .f-box-wrap{
        flex-direction: column;
    }
    .footer-nav ul{
        padding: 0;
    }
    .f-box{
        padding-left: 20px;
    }
    #pagetop{
        bottom:10px;
        right:10px;
    }
    #pagetop img{
        width:45px;
    }
    
    .ivent-map{
        width: 80%;
    }
    .hr{
        margin: 30px 10px;
    }
    .t-menu{
        width: 90%;
        margin: 10px;
    }
    .th-menu{
        width: 40%;
    }
    .giftcard-img{
        text-align: center;
    }
    .giftcard-img img{
        width: 90%;
    }
    .t-kouza{
        width: 90%;
        margin: 10px;
    }
    .kouza-box{
        width: 80%;
    }    
    .about{
        text-align: center;
    }
    .about img{
        width: 90%;
    }
    .about-text{
        width: 90%;
        margin: 0 auto;
    }
    .setumei{
        margin: 10px 20px;
    }    
}    
/* ハンバーガーメニュー */
@media only screen and (max-width: 768px) {
    .header-nav {
      position: fixed;
      right: -320px; /* 右から出てくる */
      top: 0;
      width: 250px; /* スマホに収まるサイズ */
      height: 100vh;
      padding-top: 60px;
      background-color: #CAB9AF;
      transition: all .7s;
      z-index: 200;
      overflow-y: auto; /* メニューが多くなったらスクロールできるように */
    }
    .hamburger {
      position: absolute;
      right: 15px;
      top: 8px;
      width: 40px; /* クリックしやすい幅 */
      height: 40px; /* クリックしやすい高さ */
      cursor: pointer;
      z-index: 300;
    }
    .nav-list {
      margin: 0;
      padding: 0;
      list-style: none;
    }
    .nav_item {
      text-align: center;
      padding: 0 14px;
    }
    .nav_item a {
      display: block;
      padding: 8px 0;
      border-bottom: 1px solid #FFF;
      text-decoration: none;
      color: #FFF;
    }
    .nav_item a:hover {
      background-color: #684E4D;
    }
    .hamburger_border {
      position: absolute;
      left: 11px;
      width: 18px;
      height: 2px;
      background-color: #FFF;
      transition: all .7s;
    }
    .hamburger_border_top {
      top: 14px;
    }
    .hamburger_border_center {
      top: 20px;
    }
    .hamburger_border_bottom {
      top: 26px;
    }
    .black_bg {
      position: fixed;
      left: 0;
      top: 0;
      width: 100vw;
      height: 100vh;
      z-index: 100;
      background-color: #333;
      opacity: 0;
      visibility: hidden;
      transition: all .6s;
      cursor: pointer;
    }
/* 表示された時用のCSS */
    .nav-open .header-nav {
      right: 0;
    }
    .nav-open .black_bg {
      opacity: .8;
      visibility: visible;
    }
    .nav-open .hamburger_border_top {
      transform: rotate(45deg);
      top: 20px;
    }
    .nav-open .hamburger_border_center {
      width: 0;
      left: 50%;
    }
    .nav-open .hamburger_border_bottom {
      transform: rotate(-45deg);
      top: 20px;
    }
}
/* sp */
@media only screen and (min-width: 769px) {
    .header-inner{
      max-width: 980px;
      width: 100%;
      /*padding: 15px 30px;
      margin-left: auto;
      margin-right: auto;*/
    }
    .logo{
      /*padding: 12px 30px:*/
      width: 100px;
    }

    .nav-list{
      text-align: right;
    }
    .nav-list li{
      display: inline-block;
      text-align: right;
      /*padding-left: 20px;*/
    }
    .nav-list li a{
      color: #FFF;
      font-weight: 600;
    }
}