@charset "utf-8";
/* CSS Document */

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body{
  margin: 0;
  min-width: 1240px;
  background-color: #f0f0f0;
  color:#484e4e;
  font: normal 400 1.4em/2 'Shippori Mincho B1', serif;
  /* font-family: 'Zen Old Mincho',游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif; */
  letter-spacing: 0.025em;
  -webkit-text-size-adjust: 100%;
}
body.fixed {
  overflow: hidden;
}

a{
  color:#484e4e;
  transition: 0.5s;
	text-decoration:none;
}
a:visited{
}
a:hover {
	text-decoration:none;
  opacity: .7;

}

p {
    font-size: 100%;
    line-height: 2;
    margin-bottom: 0.2em;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
.img {
  width: 100%;
  height: auto;
}
.shadows {
  box-shadow: 3px 3px #1a1a1a;
}

iframe {
  border: 0;
}

/* common
---------------------------------------------------------- */
.flex {
  display: flex;
  flex-wrap: wrap;
}
.between {
  justify-content: space-between;
}
.flex_end {
  justify-content: flex-end;
}

.only_pc {
  display:block;
}
.only_sp {
  display:none;
}


#wrapper {
	width:100%;
  overflow: hidden;
}

.center {text-align: center;}
.right {text-align: right;}
.left {text-align: left;}
.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.mb40 {margin-bottom: 40px;}
.mb50 {margin-bottom: 50px;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px;}
.mt50 {margin-top: 50px;}
.mr10 {margin-right: 10px;}
.mr20 {margin-right: 20px;}
.mr30 {margin-right: 30px;}
.mr40 {margin-right: 40px;}
.mr50 {margin-right: 50px;}
.ml10 {margin-left: 10px;}
.ml20 {margin-left: 20px;}
.ml30 {margin-left: 30px;}
.ml40 {margin-left: 40px;}
.ml50 {margin-left: 50px;}
.pb10 {padding-bottom: 10px;}
.pb20 {padding-bottom: 20px;}
.pb30 {padding-bottom: 30px;}
.pb40 {padding-bottom: 40px;}
.pb50 {padding-bottom: 50px;}
.pt10 {padding-top: 10px;}
.pt20 {padding-top: 20px;}
.pt30 {padding-top: 30px;}
.pt40 {padding-top: 40px;}
.pt50 {padding-top: 50px;}
.pr10 {padding-right: 10px;}
.pr20 {padding-right: 20px;}
.pr30 {padding-right: 30px;}
.pr40 {padding-right: 40px;}
.pr50 {padding-right: 50px;}
.pl10 {padding-left: 10px;}
.pl20 {padding-left: 20px;}
.pl30 {padding-left: 30px;}
.pl40 {padding-left: 40px;}
.pml50 {padding-left: 50px;}


/* header
---------------------------------------------------------- */
.area_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  /* z-index: 95; */
  width: 100%;
  height: 100px;
  background-image: url("/assets/img/bg_header.png");
  background-repeat: repeat-x !important;
}
.area_header .header_date {
  position: absolute;
  left: 50px;
  top: 40px;
  z-index: 1;
  margin: 0;
  padding: 0 0 0 30px;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 16px;
  color: #f8f8f8;
}
.area_header .header_date::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  background: url(../img/icon_sun.svg) no-repeat center center;
}

.page_under .area_ttl .line_scroll {
  position: absolute;
  right: 45px;
  bottom: 30px;
  z-index: 5;
  /* width: 9px; */
}


/*　ハンバーガーボタン　*/
.hamburger {
  -webkit-appearance: none;
  appearance: none;
  display : block;
  position: fixed;
  z-index: 100;
  right : 0;
  top   : 0;
  border: 0;
  width : 60px;
  height: 60px;
  background: #484e4e;
  text-align: center;
  cursor: pointer;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 20px;
  height  : 1px ;
  left    : 50%;
  top     : 50%;
  background : #f8f8f8;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform   : translate(-50%, -50%);
  transform        : translate(-50%, -50%);
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 25px;
}
.hamburger span:nth-child(2) {
  top: 31px;
}
.hamburger span:nth-child(3) {
  top: 37px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -moz-transform   : translate(-50%, -50%) rotate(-45deg);
  transform        : translate(-50%, -50%) rotate(-45deg);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  top: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -moz-transform   : translate(-50%, -50%) rotate(45deg);
  transform        : translate(-50%, -50%) rotate(45deg);
}

/* nav
---------------------------------------------------------- */
.header_nav {
  visibility: hidden;
  position: fixed;
  z-index : 99;
  overflow: hidden;
  top  : 0;
  right : 0;
  width: 38%;
  max-width: 520px;
  height: 0;
  color: #fff;
  background: #484e4e;
  font-family: 'Zen Old Mincho', serif;
  opacity: 0;
  transition: all .6s ease;
  transform: translateX(100%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.header_nav.active {
  visibility: visible;
  overflow-y: auto;
  height: 100vh;
  opacity: 1;
  transform: translateX(0);
}
.header_nav .inner {
  padding: 80px 22%;
  width: auto;
  min-width: 295px;
}
.header_nav ul {
  list-style-type: none;
  margin: 40px 0 0;
  padding: 0;
  line-height: 0;
}
.header_nav li {
  margin: 0 0 30px;
  padding: 0;
  width: 100%;
  line-height: 1;
  transition: .4s all;
}
.header_nav li:last-child {
  margin-bottom: 0;
}
.header_nav ul li a {
  display: inline-block;
  position: relative;
  color: #fff;
  font-size: 2.2rem;
  text-decoration: none;
}
/*
.header_nav li a::after {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  content: '';
  width: 80%;
  height: 1px;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: .7s;
}
.header_nav li a:hover::after {
  bottom: 15px;
  opacity: 1;
  visibility: visible;
}
.header_nav li a:hover {
  opacity: 1;
}
*/
.header_nav a.reservation {
  display: block;
  padding: 12px 10px 15px;
  margin: 60px auto 0;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background-color: #8abbcc;
  color: #484e4e;
  font-size: 1.8rem;
  line-height: 1;
  text-align: center;
}


/* contents
---------------------------------------------------------- */
.inner {
  width: 1166px;
  margin: 0 auto;
}


/* .page_under .area_ttl
---------------------------------------------------------- */
.page_under .area_ttl {
  position: relative;
  height: 450px;
  border: 10px solid #484e4e;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
/* .page_under .area_ttl::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: url(../img/ttl_frame.svg) no-repeat center center / contain;
} */
.page_under .area_ttl::before,
.page_under .area_ttl::after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}
.page_under .area_ttl::before {
  left: -4px;
  bottom: -3px;
  width: 107px;
  height: 221px;
  background-image: url(../img/deco_left.png);
  background-position: left bottom;
}
.page_under .area_ttl::after {
  right: 0;
  top: 0;
  width: 147px;
  height: 331px;
  background-image: url(../img/deco_right.png);
  background-position: right top;
}
.page_under .area_ttl .ttl {
  position: absolute;
  top: 45%;
  left: 50%;
  padding: 0 30px 20px;
  color: #f8f8f8;
  font-weight: 700;
  font-size: 8rem;
  line-height: 1;
  text-align: center;
  text-shadow: 0 3px 30px rgba(26, 26, 26, 0.5);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}


/* footer_stay
---------------------------------------------------------- */
.footer_stay {
  padding: 130px 0 100px;
  min-height: 220px;
  background: url(/assets/img/bg_footer_stay_pc.jpg) no-repeat center center / cover;
  color: #f8f8f8;
}
.footer_stay h2.ttl {
  margin: 0 0 50px;
  font-weight: 700;
  font-size: 8rem;
  line-height: 1;
  text-align: center;
}
.footer_stay .txt_01 {
  margin: 0 auto;
  width: 580px;
}


/* area_footer
---------------------------------------------------------- */
.area_footer {
  position: relative;
  height: 300px;
  background-color: #484e4e;
  color: #f8f8f8;
}
.area_footer .inner {
  padding: 50px 0 0;

}
.area_footer .inner .nav_footer {
  display: flex;
  font-size: 1.6rem;
  margin: 0 0 25px;
}
.area_footer .inner .nav_footer li {
  margin: 0 30px 0 0;
}
.area_footer .inner .nav_footer li a {
  color: #f8f8f8;
}

.area_footer .inner .copyright {
  display: block;
  font-weight: 500;
  font-size: 1.2rem;
  opacity: 0.5;
}


/* pagetop
---------------------------------------------------------- */
#page-top {
  display: inline-block;
  position: absolute;
  top: -73px;
  right: 40px;
}
#page-top:hover {
  text-decoration: none;
  opacity: .5;
}
#page-top img {
  width: 17px;
  height: auto;
}


/* arrow-btn
---------------------------------------------------------- */
.arrow-btn {
  display: inline-block;
  position: relative;
  padding: 0 80px 15px 0;
  border-bottom: 1px solid rgba(72,78,78,0.1);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1;
  text-align: left;
}
.arrow-btn::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  background-image: url("/assets/img/icon_link_01.svg");
  background-size: cover;
}


/* area_access
---------------------------------------------------------- */
.area_access {
  position: relative;
  margin: 0 auto;
  padding: 200px 0 170px;
  width: 966px;
}
.area_access h2 {
  position: relative;
  margin: 0 0 50px;
  padding: 0;
  font-weight: 700;
  font-size: 4.8rem;
  line-height: 1;
  text-align: center;
}
.area_access .box_access {
  display: flex;
  justify-content: space-between;
  position: relative;
  width: 967px;
  margin: 0 auto;
}
.area_access .box_access::before {
  content: "";
  display: inline-block;
  position: absolute;
  right: -44px;
  top: -13px;
  z-index: 2;
  width: 110px;
  height: 85px;
  background: url(/img/pict_footprints.svg) no-repeat center center / contain;
}
.area_access .box_access::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 40px;
  z-index: -1;
  width: 528px;
  height: calc(100% - 40px);
  /* min-height: 680px; */
  background-color: #eaeaea;
}
.area_access .box_access .gmap {
  position: relative;
  overflow: hidden;
  padding-bottom: 680px;
  width: 478px;
  height: 0;
}
.area_access .box_access .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.area_access .box_access .box_txt {
  margin-top: 40px;
  padding: 60px;
  width: 368px;
}
.area_access .box_access .box_txt .ttl {
  display: block;
  margin: 0 0 40px;
  height: auto;
}
.area_access .box_access .box_txt dl {
  margin: 20px 0 18px;
}
.area_access .box_access .box_txt dl dt,
.area_access .box_access .box_txt dl dd {
  font-weight: 500;
  line-height: 1.9;
}
.area_access .box_access .box_txt dl dt {
  margin: 0 0 3px;
}
.area_access .box_access .box_txt dl dd {
  position: relative;
  font-size: 1.6rem;
}
.area_access .box_access .box_txt dl dd.flow_icon {
  padding: 0 0 0 20px;
}
.area_access .box_access .box_txt dl dd a.mail_to {
  text-decoration: underline;
}
.area_access .box_access .box_txt dl dd.flow_icon::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 13px;
  left: 5px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #484e4e;
  font-size: 3rem;
}
.area_access .box_access .box_txt .txt_01 {
  margin: 0 0 25px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.area_access .box_txt .link_gmap {
  margin: 60px 0 0;
  text-align: right;
}




/* ==========================================================================//
//
//　767px以上
//  ※TELリンク設定
//
// ========================================================================== */

@media screen and (min-width: 767px) {
  a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  }
}


/* ==========================================================================//
//
//　SP 767px以下
//
// ========================================================================== */

@media screen and (max-width: 767px) {
  body {
    /*min-width: 100% !important;*/
    min-width: initial;
    min-height: 100vh !important;
    min-height: -webkit-fill-available;
  }
  html {
    height: -webkit-fill-available;
  }


  .only_pc {
    display: none !important;
  }

  .only_sp {
    display: block !important;
  }


  /* header
  ---------------------------------------------------------- */
  .area_header {
    position: absolute;
    width: 100%;
    height: 60px;
    background-image: none;
  }
  .area_header .header_date {
    left: 20px;
    top: 20px;
    padding-left: 23px;
    font-size: 1.1rem;
  }
  .area_header .header_date:before {
    /* top: 3px; */
  }



  /* nav-スマホ
  ---------------------------------------------------------- */
  .header_nav {
    width: 100%;
    max-width: 100%;
  }
  .header_nav .inner {
    padding: 20px 10%;
    min-width: unset;
  }
  .header_nav ul {
    margin-top: 30px;
  }
  .header_nav li {
    /* margin: 0 0 30px; */
  }
  .header_nav li:last-child {
    /* margin-bottom: 0; */
  }
  .header_nav ul li a {
    /* font-size: 2.2rem; */
  }
  /*
  .header_nav li a::after {
    display: none;
  }
  */
  .header_nav a.reservation {
    /* padding: 12px 10px 15px; */
    /* font-size: 1.8rem; */
  }


  /* contents
  ---------------------------------------------------------- */
  .inner {
    width: 100%;
  }
  .inner_sp {
    width: 80%;
    margin: 0 auto;
  }


  /* .page_under .area_ttl
  ---------------------------------------------------------- */
  .page_under .area_ttl {
    position: relative;
    height: 300px;
    border-width: 5px;
  }
  .page_under .area_ttl::before {
    width: 87px;
    height: 180px;
  }
  .page_under .area_ttl::after {
    width: 120px;
    height: 270px;
  }
  .page_under .area_ttl .ttl {
    top: 46%;
    font-size: 4rem;
  }
  .page_under .area_ttl .line_scroll {
    /*display: none;*/
    right: 15px;
    bottom: 13px;
  }


  /* footer_stay
  ---------------------------------------------------------- */
  .footer_stay {
    background-image: url(/assets/img/bg_footer_stay_sp.jpg);
    min-height: 250px;
    padding: 50px 0 30px;
  }
  .footer_stay h2.ttl {
    margin-bottom: 30px;
    font-size: 4rem;
  }
  .footer_stay .txt_01 {
    width: 80%;
    margin: 0 auto;
  }


  /* area_footer
  ---------------------------------------------------------- */
  .area_footer {
    height: 150px;
  }
  .area_footer .inner {
    padding-top: 40px;
    /* padding: 0; */
  }
  .area_footer .inner .copyright {
    width: 80%;
    margin: 0 auto;
  }


  /* pagetop
  ---------------------------------------------------------- */
  #page-top {
    position: absolute;
    top: -43px;
    right: 20px;
  }
  #page-top img {
    width: 10px;
    height: auto;
  }


  /* arrow-btn
  ---------------------------------------------------------- */
  .arrow-btn {
    padding-right: 55px;
  }


  /* area_access
  ---------------------------------------------------------- */
  .area_access {
    margin: 0 auto;
    padding: 180px 0;
    width: 80%;
  }
  .area_access h2 {
    margin-bottom: 30px;
    font-size: 3.6rem;
    text-align: left;
  }
  .area_access .box_access {
    display: block;
    width: 100%;
  }
  .area_access .box_access::before {
    right: -8px;
    top: -75px;
    width: 57px;
    height: 44px;
  }
  .area_access .box_access::after {
    left: -10vw;
    top: 44.53vw;
    width: 100vw;
    height: calc(100% - 44.53vw + 60px);
  }
  .area_access .box_access .gmap {
    margin: 0 0 40px -10vw;
    /* padding-bottom: 56.25%; */
    padding-bottom: 75%;
    width: 90vw;
  }
  .area_access .box_access .box_txt {
    padding: 0;
    width: 100%;
  }
  .area_access .box_access .box_txt .ttl {
    margin: 0 0 30px;
    padding: 20px 0 0;
    /* width: 180px; */
  }
  .area_access .box_access .box_txt dl {
    margin: 20px 0 18px;
  }
  .area_access .box_access .box_txt dl dt,
  .area_access .box_access .box_txt dl dd {
    line-height: 1.9;
  }
  .area_access .box_access .box_txt dl dt {}
  .area_access .box_access .box_txt dl dd {
    font-size: 1.4rem;
  }
  .area_access .box_access .box_txt dl dd.flow_icon {}
  .area_access .box_access .box_txt dl dd a.mail_to {}
  .area_access .box_access .box_txt dl dd.flow_icon::before {
    top: 11px;
  }
  .area_access .box_access .box_txt .txt_01 {
    margin: 0 0 25px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .area_access .box_txt .link_gmap {
    margin-top: 40px;
  }

}
