@charset "UTF-8";

/*
 * サイトヘッダー・フッター共通用のCSSです。
 *
 */
/* ---------------------------
 mod-header
 --------------------------- */
.mod-header-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.mod-header-logo {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1;
}

.mod-header-logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #fff;
}

.mod-header-h {
  font-size: 0.8rem;
}

.mod-header-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mod-header-links-item.is-access {
  font-size: 0.8rem;
}

.mod-header-contactLinks {
  z-index: 10;
}

.mod-header-contactLinks-item a {
  display: block;
  /*color: #fff;*/
  line-height: 1;

}
.mod-header-contactLinks-item a span {
	font-weight:bold;
	font-size:1.1rem;
	letter-spacing:2px;
	color:#fff;
}
.mod-header-contactLinks-item.item-contact a {

}

.mod-header-contactLinks-item.item-reserve a {
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
}

.mod-header-contactLinks-item img {
  width: 14px;
  margin-bottom: 5px;
  margin-right:10px;
}



/* ---------------------------
mod-gnav
--------------------------- */
.mod-gnav-links2 {
  display: none;
}

.mod-gnav-btn {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #fff;
}

.mod-gnav-btn svg {
  width: 40px;
}

.mod-gnav-btn-lines {
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.on .mod-gnav-btn-lines {
  -webkit-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
}

.mod-gnav-btn-lines-item {
  height: 2px;
  background: #34a587;
  width: 20px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

#cat-special .mod-gnav-btn-lines-item {
  background: #444444;
}

.mod-gnav-btn-lines-item:not(:last-child) {
  margin-bottom: 7px;
}

.mod-gnav-tel {
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.1em;
}




@media screen and (min-width: 1299px) {
  /* ==========================================================================
   Large
   ========================================================================== */
  .wrapin {
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
  }
  /* ---------------------------
module
--------------------------- */
  html {
    font-size: 16px;
  }
  body {
    line-height: 2;
  }
  /* ---------------------------
mod-header
--------------------------- */
  .mod-header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    padding: 15px 80px;
    padding-left: 200px;
    height: 120px;
    background: #fff;
    -webkit-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
  }
  .is-scrolled .mod-header {
    top: -50px;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
  }
  .mod-header-top {
    margin-bottom: 5px;
  }
  .mod-header-logo a {
    width: 180px;
    height: 200px;
  }
  .mod-header-logo img {
    width: 100px;
  }
  .mod-header-links {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-links-item {
    margin-left: 40px;
  }
  .mod-header-links-item div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-links-item img {
    width: 16px;
    margin-right: 8px;
    vertical-align: sub;
  }
  .mod-header-links-item.is-tel {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .mod-header-links-item.is-line {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .mod-header-contactLinks {
    position: fixed;
    right: 0;
    top: 210px;
	display:none;
  }
  .mod-header-contactLinks-item a {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    width: 60px;
    height: 160px;
    padding: 15px;
  }
  .mod-header-contactLinks-item div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-contactLinks-item.item-gnavBtn {
    display: none;
  }
  /* ---------------------------
mod-megaNav
--------------------------- */
 .mod-megaNav-cats-item {
   background: rgba(27, 161, 230, 0.9);
   color: #fff;
   padding: 30px 40px;
   position: absolute;
   right: 80px;
   top: 100%;
   width: calc(50% - 80px);
   min-width: 680px;
   z-index: 2;
   opacity: 0;
   pointer-events: none;
 }
 .mod-megaNav-cats-item a {
   color: #fff;
 }
 .mod-megaNav-cats-item.on {
   opacity: 1;
   pointer-events: auto;
 }
 .mod-megaNav-largeLink {
   font-size: 1.4rem;
   border-bottom: 1px solid #fff;
   margin-bottom: 20px;
 }
 .mod-megaNav-largeLink a {
   display: block;
   padding: 8px 0;
   position: relative;
 }
 .mod-megaNav-largeLink a:after {
   content: "";
   position: absolute;
   right: 0;
   top: 50%;
   width: 12px;
   height: 12px;
   background: url("../img/base/ico_arrow2_wh.svg") center no-repeat;
   background-size: contain;
 }
 .mod-megaNav-links2 {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
 }
 .mod-megaNav-links2-item {
   width: 50%;
   padding-right: 20px;
   margin-bottom: 1em;
 }
 .mod-megaNav-lifestyle {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
 }
 .mod-megaNav-lifestyle dt {
   line-height: 1.4;
 }
 .mod-megaNav-lifestyle dd {
   -webkit-box-flex: 1;
   -ms-flex: 1;
   flex: 1;
   margin-left: 40px;
 }
 .mod-megaNav-lifestyle-links {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
 }
 .mod-megaNav-lifestyle-links-item {
   text-align: center;
   font-size: 0.8rem;
   line-height: 1.4;
 }
 .mod-megaNav-lifestyle-links-item:not(:last-child) {
   margin-right: 30px;
 }
 .mod-megaNav-lifestyle-links-item i {
   display: block;
   text-align: center;
   margin-bottom: 10px;
 }
 .mod-megaNav-lifestyle-links-item i img {
   border-radius: 50%;
   border: 2px solid #fff;
   width: 64px;
 }

/* ---------------------------
mod-gnav
--------------------------- */

 .mod-gnav { margin-top:20px; }
 .mod-gnav-logo {
   display: none;
 }
 .mod-gnav-links {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-pack: end;
   -ms-flex-pack: end;
   justify-content: flex-end;
 }
 .mod-gnav-links-item {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
 }
 .mod-gnav-links-item:not(:last-child):after {
   content: "｜";
   margin: 0 10px;
   color: #c7c7c7;
 }
 .mod-gnav-links-item.on a {
   color: #1ba1e6;
   font-weight: bold;
 }
 .mod-gnav-links2 {
   display: none !important;
 }
 .mod-gnav-btn {
   right: 10px;
   height: 80px;
   display: none;
 }
 .mod-gnav-close {
   display: none;
 }
 .mod-gnav-contactLinks {
   display: none;
 }
 .mod-gnav-tel {
   display: none;
 }

}

@media screen and (min-width: 1025px) and (max-width: 1299px), print {
  /* ==========================================================================
   PC
   ========================================================================== */
  .wrapin {
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
  }
  /* ---------------------------
module
--------------------------- */
  html {
    font-size: 16px;
  }
  body {
    line-height: 2;
  }
  /* ---------------------------
mod-header
--------------------------- */
  .mod-header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    padding: 15px 80px;
    padding-left: 200px;
    height: 120px;
    background: #fff;
    -webkit-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
  }
  .is-scrolled .mod-header {
    top: -50px;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
  }
  .mod-header-top {
    margin-bottom: 5px;
  }
  .mod-header-logo a {
    width: 180px;
    height: 200px;
  }
  .mod-header-logo img {
    width: 100px;
  }
  .mod-header-links {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-links-item {
    margin-left: 40px;
  }
  .mod-header-links-item div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-links-item img {
    width: 16px;
    margin-right: 8px;
    vertical-align: sub;
  }
  .mod-header-links-item.is-tel {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .mod-header-links-item.is-line {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .mod-header-contactLinks {
    position: fixed;
    right: 0;
    top: 210px;
	display:none;
  }
  .mod-header-contactLinks-item a {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    width: 60px;
    height: 160px;
    padding: 15px;
  }
  .mod-header-contactLinks-item div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-contactLinks-item.item-gnavBtn {
    display: none;
  }
  /* ---------------------------
  mod-gnav
  --------------------------- */
 	.mod-gnav { margin-top:20px; }
    .mod-gnav-logo {
      display: none;
    }
    .mod-gnav-links {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
    }
    .mod-gnav-links-item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    .mod-gnav-links-item:not(:last-child):after {
      content: "｜";
      margin: 0 10px;
      color: #c7c7c7;
    }
    .mod-gnav-links-item.on a {
      color: #1ba1e6;
      font-weight: bold;
    }
    .mod-gnav-links2 {
      display: none !important;
    }
    .mod-gnav-btn {
      right: 10px;
      height: 80px;
      display: none;
    }
    .mod-gnav-close {
      display: none;
    }
    .mod-gnav-contactLinks {
      display: none;
    }
    .mod-gnav-tel {
      display: none;
    }
    /* ---------------------------
mod-megaNav
--------------------------- */
  .mod-megaNav-cats-item {
    background: rgba(27, 161, 230, 0.9);
    color: #fff;
    padding: 30px 40px;
    position: absolute;
    right: 80px;
    top: 100%;
    width: calc(50% - 80px);
    min-width: 680px;
    z-index: 2;
    opacity: 0;
    pointer-events: none;
  }
  .mod-megaNav-cats-item a {
    color: #fff;
  }
  .mod-megaNav-cats-item.on {
    opacity: 1;
    pointer-events: auto;
  }
  .mod-megaNav-largeLink {
    font-size: 1.4rem;
    border-bottom: 1px solid #fff;
    margin-bottom: 20px;
  }
  .mod-megaNav-largeLink a {
    display: block;
    padding: 8px 0;
    position: relative;
  }
  .mod-megaNav-largeLink a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 12px;
    height: 12px;
    background: url("../img/base/ico_arrow2_wh.svg") center no-repeat;
    background-size: contain;
  }
  .mod-megaNav-links2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .mod-megaNav-links2-item {
    width: 50%;
    padding-right: 20px;
    margin-bottom: 1em;
  }
  .mod-megaNav-lifestyle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .mod-megaNav-lifestyle dt {
    line-height: 1.4;
  }
  .mod-megaNav-lifestyle dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 40px;
  }
  .mod-megaNav-lifestyle-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .mod-megaNav-lifestyle-links-item {
    text-align: center;
    font-size: 0.8rem;
    line-height: 1.4;
  }
  .mod-megaNav-lifestyle-links-item:not(:last-child) {
    margin-right: 30px;
  }
  .mod-megaNav-lifestyle-links-item i {
    display: block;
    text-align: center;
    margin-bottom: 10px;
  }
  .mod-megaNav-lifestyle-links-item i img {
    border-radius: 50%;
    border: 2px solid #fff;
    width: 64px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* ==========================================================================
   TB
   ========================================================================== */
  .wrapin {
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    padding: 0 4%;
  }
  /* ---------------------------
module
--------------------------- */
  html {
    font-size: 14px;
  }
  body {
    line-height: 2;
  }
  /* ---------------------------
mod-header
--------------------------- */
  .mod-header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    padding: 15px;
    padding-left: 0;
    height: 95px;
    background: #fff;
    -webkit-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
  }
  .is-scrolled .mod-header {
    top: -50px;
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
  }
  .mod-header-top {
    margin-bottom: 5px;
  }
  .mod-header-logo a {
    width: 180px;
    height: 200px;
  }
  .mod-header-logo img {
    width: 100px;
  }
  .mod-header-links {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-links-item {
    margin-left: 40px;
  }
  .mod-header-links-item div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-links-item img {
    width: 16px;
    margin-right: 8px;
    vertical-align: sub;
  }
  .mod-header-links-item.is-tel {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .mod-header-links-item.is-line {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
  }
  .mod-header-contactLinks {
    position: fixed;
    right: 0;
    top: 210px;
	display:none;
  }
  .mod-header-contactLinks-item a {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    width: 60px;
    height: 160px;
    padding: 15px;
  }
  .mod-header-contactLinks-item div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .mod-header-contactLinks-item.item-gnavBtn {
    display: none;
  }
  /* ---------------------------
 mod-gnav
 --------------------------- */
   .mod-gnav {
	   margin-right:20px;
   }
   .mod-gnav-logo {
     display: none;
   }
   .mod-gnav-links {
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -webkit-box-pack: end;
     -ms-flex-pack: end;
     justify-content: flex-end;
   }
   .mod-gnav-links-item {
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
   }
   .mod-gnav-links-item:not(:last-child):after {
     content: "｜";
     margin: 0 10px;
     color: #c7c7c7;
   }
   .mod-gnav-links-item.on a {
     color: #1ba1e6;
     font-weight: bold;
   }
   .mod-gnav-links2 {
     display: none !important;
   }
   .mod-gnav-btn {
     right: 10px;
     height: 80px;
     display: none;
   }
   .mod-gnav-close {
     display: none;
   }
   .mod-gnav-contactLinks {
     display: none;
   }
   .mod-gnav-tel {
     display: none;
   }
   /* ---------------------------
mod-megaNav
--------------------------- */
 .mod-megaNav-cats-item {
   background: rgba(27, 161, 230, 0.9);
   color: #fff;
   padding: 30px 40px;
   position: absolute;
   right: 80px;
   top: 100%;
   width: calc(50% - 80px);
   min-width: 680px;
   z-index: 2;
   opacity: 0;
   pointer-events: none;
 }
 .mod-megaNav-cats-item a {
   color: #fff;
 }
 .mod-megaNav-cats-item.on {
   opacity: 1;
   pointer-events: auto;
 }
 .mod-megaNav-largeLink {
   font-size: 1.4rem;
   border-bottom: 1px solid #fff;
   margin-bottom: 20px;
 }
 .mod-megaNav-largeLink a {
   display: block;
   padding: 8px 0;
   position: relative;
 }
 .mod-megaNav-largeLink a:after {
   content: "";
   position: absolute;
   right: 0;
   top: 50%;
   width: 12px;
   height: 12px;
   background: url("../img/base/ico_arrow2_wh.svg") center no-repeat;
   background-size: contain;
 }
 .mod-megaNav-links2 {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
 }
 .mod-megaNav-links2-item {
   width: 50%;
   padding-right: 20px;
   margin-bottom: 1em;
 }
 .mod-megaNav-lifestyle {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
 }
 .mod-megaNav-lifestyle dt {
   line-height: 1.4;
 }
 .mod-megaNav-lifestyle dd {
   -webkit-box-flex: 1;
   -ms-flex: 1;
   flex: 1;
   margin-left: 40px;
 }
 .mod-megaNav-lifestyle-links {
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
 }
 .mod-megaNav-lifestyle-links-item {
   text-align: center;
   font-size: 0.8rem;
   line-height: 1.4;
 }
 .mod-megaNav-lifestyle-links-item:not(:last-child) {
   margin-right: 30px;
 }
 .mod-megaNav-lifestyle-links-item i {
   display: block;
   text-align: center;
   margin-bottom: 10px;
 }
 .mod-megaNav-lifestyle-links-item i img {
   border-radius: 50%;
   border: 2px solid #fff;
   width: 64px;
 }
}

@media screen and (max-width: 767px) {
  /* ==========================================================================
   SP
   ========================================================================== */
  .wrapin-sp {
    padding: 0 20px;
  }
  /* ---------------------------
module
--------------------------- */
  html {
    font-size: 14px;
  }
  body {
    line-height: 1.8;
  }
  /* ---------------------------
mod-header
--------------------------- */
  .mod-header-logo a {
    width: 60px;
    height: 60px;
  }
  .mod-header-logo img {
    width: 40px;
  }
  .mod-header-h {
    display: none;
  }
  .mod-header-col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .mod-header-links {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1;
  }
  .mod-header-links-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    font-size: 0.85rem;
  }
  .mod-header-links-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    color: #1ba1e6;
    width: 60px;
    height: 60px;
  }
  .mod-header-links-item img {
    width: 14px;
    display: block;
    margin: 0 auto;
  }
  .mod-header-contactLinks {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	background-color: #34a587;
  }
  .mod-header-contactLinks-item {
    width: 50%;
  }
  .mod-header-contactLinks-item img {
    vertical-align: middle;
  }
  .mod-header-contactLinks-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  .mod-header-contactLinks-item.item-gnavBtn {
    width: 50px;
  }
  /* ---------------------------
  mod-gnav
  --------------------------- */
    .mod-gnav {
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      /*height: 100vh;*/
      height: 100%;
      -webkit-transition: 0.4s;
      -o-transition: 0.4s;
      transition: 0.4s;
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%);
      z-index: 11;
      background: #34a587;
      color: #fff;
      padding: 20px;
	  margin-top:0;
    }
    .mod-gnav.on {
      -webkit-transform: translateX(0%);
      -ms-transform: translateX(0%);
      transform: translateX(0%);
    }
    .mod-gnav-scroll {
      height: calc(100vh - 100px);
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch;
    }
    .mod-gnav-logo {
      width: 80%;
      margin-bottom: 35px;
    }
    .mod-gnav-links {

      margin-bottom: 20px;
    }
    .mod-gnav-links-item {
      border-bottom: 1px solid rgba(255, 255, 255, 0.47);
      font-size: 1.1rem;
    }
    .mod-gnav-links-item a {
      color: #fff;
      display: block;
      padding: 10px 0;
	  font-weight:bold;
    }
    .mod-gnav-links-item.on a {
      color: #82c7e6;
      font-weight: bold;
    }
    .mod-gnav-foldingBtn {
      position: relative;
    }
    .mod-gnav-foldingBtn-btn {
      position: absolute;
      right: 0;
      top: 0;
      width: 38px;
      height: 100%;
    }
    .mod-gnav-foldingBtn-btn:before, .mod-gnav-foldingBtn-btn:after {
      content: "";
      display: block;
      width: 46%;
      height: 1px;
      background: #fff;
      position: absolute;
      left: 50%;
      top: 50%;
      margin-left: -7px;
      margin-top: -1px;
    }
    .mod-gnav-foldingBtn-btn:after {
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg);
    }
    .mod-gnav-foldingBtn-btn.on:after {
      display: none;
    }
    .mod-gnav-links2 {
      background: rgba(0, 0, 0, 0.1);
    }
    .mod-gnav-links2 a {
      color: #fff !important;
      padding-left: 8px;
      padding-right: 8px;
      font-weight: normal !important;
    }
    .mod-gnav-btn {
      right: 0;
      top: 0;
      width: 50px;
      height: 50px;
    }
    .mod-gnav-close {
      position: fixed;
      right: 20px;
      bottom: 20px;
      width: 20px;
	  cursor: pointer;
    }
    .mod-gnav-contactLinks {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      margin-bottom: 20px;
    }
    .mod-gnav-contactLinks-item {
      width: 48%;
    }
    .mod-gnav-contactLinks-item a {
      display: block;
      color: #1ba1e6;
      background: #fff;
      padding: 6px;
      text-align: center;
      border-radius: 4px;
    }
    .mod-gnav-contactLinks-item img {
      width: 24px;
      vertical-align: middle;
    }
    .mod-gnav-contactLinks-item i, .mod-gnav-contactLinks-item span {
      display: block;
    }
    .mod-gnav-tel {
      text-align: center;
      font-size: 1.6rem;
    }
    .mod-gnav-tel i {
      display: inline-block;
      width: 20px;
      margin-right: 10px;
    }
    .mod-gnav-tel img {
      vertical-align: middle;
    }
    .mod-gnav-tel a {
      color: #fff;
    }
    /* ---------------------------
mod-megaNav
--------------------------- */
  .mod-megaNav-cats {
    display: none;
  }
}



/* ---------------------------
header
--------------------------- */
.header-top {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between;}
.header-logo {  position: fixed;  top: 0;  z-index: 1;}
.header-logo a {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  background: #fff; border-radius:10px;}
.header-h { font-size: 0.8rem;}
.header-h h1 { color:#00442C; font-weight:bold; }
.header-links ul {  display: -webkit-box;  display: -ms-flexbox;  display: flex;}
.header-links-item.is-access {  font-size: 0.8rem;}
.header-contactLinks {  z-index: 10;}
.header-contactLinks-item a {  display: block;  color: #fff;  line-height: 1;}
.header-contactLinks-item.item-contact a {  background: #81d4ad;}
.header-contactLinks-item.item-reserve a {  background: #b7eab8;}
.header-contactLinks-item img {  width: 32px;  margin-bottom: 7px;}


   @media screen and (min-width: 1299px) {
  .header { position: fixed;  top: 0; width: 100%;	margin:0 auto; z-index: 10; padding: 15px 80px; height: 120px; background: #fff;  -webkit-transition: 0.4s; -o-transition: 0.4s; transition: 0.4s; }
  .header-wrapper { width: 1200px;	margin:0 auto;  }
  .is-scrolled .header {  top: -50px;  -webkit-box-shadow: 0 0 2px 0 rgb(0 0 0 / 15%);  box-shadow: 0 0 2px 0 rgb(0 0 0 / 15%) ; }
  .header-top {    margin-bottom: 5px; padding-left:194px;  }
  .header-logo a {    width: 180px;    height: 200px;  }
  .header-logo img {}
  .header-links {    -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;  }
  .header-links-item {    margin-left: 40px;  }
  .header-links-item div {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;  }
  .header-links-item img {    width: 16px;    margin-right: 8px;    vertical-align: sub;  }
  .header-links-item.h-tel {    font-size: 1.5rem;    letter-spacing: 0.05em;  }
  .header-links-item.h-tel:before { content: url(../images/ico_deco01.jpg); margin-right: 10px; position: relative; top: 2px; left: 0;}
  .header-links-item.h-acc {    font-size: 1.5rem;    letter-spacing: 0.05em;  }
  .header-links-item.h-acc:before { content: url(../images/ico_deco01.jpg); margin-right: 10px; position: relative; top: 2px; left: 0;}
  .header-contactLinks { display:none;}
  .header-contactLinks-item a {    -webkit-writing-mode: vertical-rl;    -ms-writing-mode: tb-rl;    writing-mode: vertical-rl;    width: 60px;    height: 160px;    padding: 15px;  }
  .header-contactLinks-item div {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;  }
  .header-contactLinks-item.item-gnavBtn {    display: none;  }

  }
  @media screen and (min-width: 1025px) and (max-width: 1299px), print {
  .header {position: fixed;left: 0;	top: 0;	width: 100%;	z-index: 10;	padding: 15px 80px;	height: 120px;	background: #fff;	-webkit-transition: 0.4s;	-o-transition: 0.4s;	transition: 0.4s;
  }
  .is-scrolled .header {    top: -50px;    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);  }
  .header-top { padding-left: 194px;  margin-bottom: 5px;  }
  .header-logo a {    width: 180px;    height: 200px;  }
  .header-logo img {    width: 100px;  }
  .header-links {    -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;  }
  .header-links-item {    margin-left: 40px;  }
  .header-links-item div {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;  }
  .header-links-item img {    width: 16px;    margin-right: 8px;    vertical-align: sub;  }
  .header-links-item.is-tel {    font-size: 1.5rem;    letter-spacing: 0.05em;  }
  .header-links-item.is-line {    font-size: 1.5rem;    letter-spacing: 0.05em;  }
  .header-contactLinks { display:none;}
  .header-contactLinks-item a {    -webkit-writing-mode: vertical-rl;    -ms-writing-mode: tb-rl;    writing-mode: vertical-rl;    width: 60px;    height: 160px;    padding: 15px;  }
  .header-contactLinks-item div {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;  }
  .header-contactLinks-item.item-gnavBtn {    display: none;  }
  }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
  .header-logo img { width: 100px; padding:15px;  }
  .header-top {    margin-bottom: 20px; padding-left:130px;  }
  .header-links { position:unset; right: 30px; top: 15px; z-index: 1;  }
  .header-links-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; font-size: 0.85rem;  }
  .header-links-item a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: #fff; color: #000; margin-left:20px; }
  .header-links-item img { width: 14px;    display: block;    margin: 0 auto;  }
  .header-contactLinks { position: fixed; left: 0; bottom: 0; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; }
  .header-contactLinks-item { width: 50%;  }
  .header-contactLinks-item img { vertical-align: middle;  }
  .header-contactLinks-item a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center;    justify-content: center; width: 100%; height: 100%;  }
  .header-contactLinks-item.item-gnavBtn { width: 50px;  }
  .header-logo a { border-radius: 0;}
  }

  @media screen and (max-width: 767px) {
  .header-logo a {width: 75px; height: 75px;  }
  .header-logo img { width: 40px;  }
  .header-h { display: none;  }
  .header-col2 { display: -webkit-box; display: -ms-flexbox; display: flex;  }
  .header-links { display:none;  }
  .header-links-item { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; font-size: 0.85rem;  }
  .header-links-item a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; background: #fff; color: #1ba1e6; width: 60px; height: 60px;  }
  .header-links-item img { width: 14px;    display: block;    margin: 0 auto;  }
  .header-contactLinks { position: fixed; left: 0; bottom: 0; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; }
  .header-contactLinks-item { width: 50%;  }
  .header-contactLinks-item img { vertical-align: middle;  }
  .header-contactLinks-item a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center;    justify-content: center; width: 100%; height: 100%;  }
  .header-contactLinks-item.item-gnavBtn { width: 50px;  }
  .header-logo a { border-radius: 0;}
  }





/* ---------------------------
footer
--------------------------- */
footer{ margin-top: 100px;}

.footer-head { margin-bottom: 50px;}
.footer-col1 {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between;}
.footer-info-h {  margin-bottom: 1em; font-weight:600;}
.footer-info-address {  margin-bottom: 1em;  font-size: 0.9rem;}
.footer-info-tel {  font-family: 'Roboto', sans-serif;  letter-spacing: 0.1em;  line-height: 1;  letter-spacing: 0.1em;}
.footer-info-tel img {  width: 18px;  margin-right: 8px;  vertical-align: middle;}
.footer-foot {  font-size: 0.8rem;}
.footer-links {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;}
.footer-links-item:not(:last-child):after {  content: "｜";  margin: 0 10px;}
.footer-pagetop {  position: fixed;  border-radius: 50%;  background: #34a587;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;}
.footer-pagetop img {  width: 24px;  height: 28px; }
.footer-copyright{ font-size: 0.7rem; text-align: right; margin: 60px 0 0;}
    @media screen and (min-width: 1299px) {
	.footer {   padding: 50px 0;  }
	.footer-head { display: -webkit-box; display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between; border-top: 1px solid #34a587; padding-top: 65px; }
	.footer-col1 { width: 45%; margin-left: 3%;}
	.footer-info { }
	.footer-info-h {}
	.footer-info-en { font-size: 3rem; font-weight: 600; line-height: 1.3; color: #34a587;}
	.footer-info-tel { font-size: 1.8rem;  }
	.footer-col2 { width: 47%;  }
	.footer-foot { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-orient: horizontal; -webkit-box-direction: reverse;    -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
	.footer-pagetop { width: 64px; height: 64px; right: 60px;  bottom: 40px;  }
	}
	@media screen and (min-width: 1025px) and (max-width: 1299px), print {
	footer { margin-top: 80px;}
	.footer-head {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-pack: justify;    -ms-flex-pack: justify;    justify-content: space-between;  }
	.footer-col1 {    width: 45%;    margin-left: 3%;  }
	.footer-info { }
	.footer-info-h {}
	.footer-info-en { font-size: 3rem; font-weight: 600; line-height: 1.3; color: #34a587;}
	.footer-info-tel {    font-size: 1.8rem;  }
	.footer-col2 {    width: 46%;
	}  .footer-foot {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-pack: justify;    -ms-flex-pack: justify;    justify-content: space-between;    -webkit-box-orient: horizontal;    -webkit-box-direction: reverse;    -ms-flex-direction: row-reverse;    flex-direction: row-reverse;  }
	.footer-pagetop {    width: 64px;    height: 64px;    right: 60px;    bottom: 40px;  }
	}
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	footer { margin-top: 80px; }
	.footer-head {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-pack: justify;    -ms-flex-pack: justify;    justify-content: space-between;  }
	.footer-col1 {    width: 43%;    margin-left: 3%;  }
	.footer-info { }
	.footer-info-h {}
	.footer-info-en { font-size: 2.3rem; font-weight: 600; line-height: 1.3; color: #34a587;}
	.footer-info-tel {    font-size: 1.8rem;  }
	.footer-col2 {    width: 55%;  }
	.footer-foot {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-pack: justify;    -ms-flex-pack: justify;    justify-content: space-between;    -webkit-box-orient: horizontal;    -webkit-box-direction: reverse;    -ms-flex-direction: row-reverse;    flex-direction: row-reverse;  }
	.footer-pagetop {    width: 64px;    height: 64px;    right: 60px;    bottom: 40px;  }
	}
	@media screen and (max-width: 767px) {
	footer { margin-top: 50px; padding-bottom:20px;  }
	.footer {    padding: 30px 0 110px;  }
	.footer-col1 { }
	.footer-col2 { display:none; }
	.footer-info { }
	.footer-info-h {  }
	.footer-info-en { font-size: 2.3rem; font-weight: 600; line-height: 1.3; color: #34a587;}
	.footer-info-tel { display:none;  }
	.footer-foot {    text-align: center;  }
	.footer-links {    margin-bottom: 1em;  }
	.footer-pagetop {    display: none;    width: 50px;    height: 50px;    right: 30px;    bottom: 20px;  }
	.footer-copyright{ text-align: center; margin: 50px 0 0;}
	}
