@charset "utf-8";

@media screen and (max-width: 999px) {
  /* tag */
  body { font-size: 14rem; }
  input,
  textarea,
  select,
  button { font-size: 14rem; }
  article { padding-bottom: 80px; }
  section {
    margin: 80px 0 0 0;
    border-left: 15px solid #fff;
    border-right: 15px solid #fff;
  }
  h2,
  h3 {
    margin-bottom: 30px;
    line-height: 1.7;
  }
  h2:before,
  h3:before { height: 40px; }
  h2 { font-size: 22rem; }
  h3 { font-size: 18rem; }
  h4 { font-size: 13rem; }

  /* common */
  .btnwrap {
    display: block;
    margin: 30px 0 0 0;
  }
  .btnwrap li:nth-child(n+2) .btn { margin: 15px 0 0 0; }
  .btn {
    width: 100%;
    padding: 15px;
    font-size: 16rem;
  }
  .inner {
    max-width: 100%;
    margin: 0 auto;
  }
  .inner p { margin-top: 30px; }
  .small { font-size: 12rem; }
  .loopslider_wrap { height: 95px; }
  .loopslider { height: 95px; }
  .loopslider ul { height: 95px; }
  .loopslider ul li {
    width: 150px;
    height: 95px;
  }
  .mb160 { margin-bottom: 120px!important; }

  /* header */
  header h1 { display: none; }
  header .reserve_gnav { display: none; }
  header .info { display: none; }
  header .sns { display: none; }
  #gnav { display: none; }
  #snav { display: none; }
  #hnav {
    display: block;
    position: fixed;
    width: 100%;
    height: 80px;
    background: rgba(255, 255, 255, 0);
    z-index: 99;
    -webkit-transition: all .5s cubic-bezier(.215, .61, .355, 1);
    transition: all .5s cubic-bezier(.215, .61, .355, 1);
  }
  #hnav .logo {
    position: fixed;
    top: 22px;
    left: 25px;
    pointer-events: auto;
  }
  #hnav .logo img {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: 36px;
    -webkit-transition: all .5s cubic-bezier(.215, .61, .355, 1);
    transition: all .5s cubic-bezier(.215, .61, .355, 1);
  }
  #hnav .logo img.white { opacity: 1; }
  #hnav .logo img.black { opacity: 0; }
  header.scrolled #hnav { background: rgba(255, 255, 255, .9); }
  header.scrolled #hnav .logo img.white { opacity: 0; }
  header.scrolled #hnav .logo img.black { opacity: 1; }
  #hnav_btn {
    display: block;
    position: fixed;
    top: 14px;
    right: 10px;
    width: 60px;
    height: 51px;
    padding: 15px;
    pointer-events: auto;
    z-index: 1;
  }
  #hnav .hnav_icon,
  #hnav .hnav_icon span {
    display: block;
    -webkit-transition: all .5s cubic-bezier(.215, .61, .355, 1);
    transition: all .5s cubic-bezier(.215, .61, .355, 1);
  }
  #hnav .hnav_icon {
    position: relative;
    width: 30px;
    height: 21px;
  }
  #hnav .hnav_icon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
  }
  header.scrolled #hnav .hnav_icon span { background: #000; }
  #hnav .hnav_icon span:first-child { top: 0; }
  #hnav .hnav_icon span:nth-child(2) { top: 10px; }
  #hnav .hnav_icon span:last-child { bottom: 0; }
  #hnav.active .hnav_icon span { background: #000; }
  #hnav.active .hnav_icon span:first-child {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }
  #hnav.active .hnav_icon span:nth-child(2) { opacity: 0; }
  #hnav.active .hnav_icon span:last-child {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
  }
  #hnav_content {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    text-align: center;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events: auto;
  }
  #hnav_content .inner {
    margin: 0;
    padding: 125px 0 0 0;
  }
  #hnav_content .btn {
    width: auto;
    padding: 15px 40px;
  }
  #hnav_content ul.nav_sp { margin: 40px 0; }
  #hnav_content ul.nav_sp li {
    margin-bottom: 40px;
    font-size: 16rem;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
  }
  #hnav_content ul.nav_sp li:last-child { margin-bottom: 0; }
  #hnav_content ul.nav_sp a {
    display: inline-block;
    text-decoration: none;
    color: #000;
  }
  #hnav_content .reserve_hnav { font-size: 0; }
  #hnav_content .reserve_hnav i {
    width: 16px;
    height: 16px;
    margin-bottom: -1px;
  }
  #hnav_content .info_sp {
    background: #f2f2f2;
    margin: 0 15px;
    padding: 30px 0;
    font-size: 12rem;
  }
  #hnav_content .info_sp li:first-child { margin-bottom: 20px; }
  #hnav_content .info_sp i {
    width: 14px;
    height: 14px;
    margin-bottom: -2px;
  }
  #hnav_content .info_sp .en {
    display: inline-block;
    font-size: 18rem;
    letter-spacing: .2em;
  }
  #hnav_content .sns_sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px 0;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  #hnav_content .sns_sp li {
    margin-left: 10px;
    font-size: 0;
  }
  #hnav_content .sns_sp li:first-child { margin-left: 0; }
  #hnav_content .sns_sp i {
    width: 30px;
    height: 30px;
    margin: 0;
  }
  #mv { height: 300px; }
  #mv .mvlower { height: 300px; }
  #mv .scroll {
    margin-left: -20px;
    width: 40px;
  }
  #mv .scroll:before { left: 20px; }
  #mv .scroll:after { left: 20px; }

  /* footer */
  footer {
    height: 300px;
    background-size: 960px 300px;
  }
  footer .scrolltop {
    width: 40px;
    height: 40px;
    margin-left: -20px;
  }
  footer .scrolltop div:before { left: 20px; }
  footer .scrolltop div:after { left: 20px; }
  footer .scrolltop span { display: none; }
  footer address {
    top: 100px;
    bottom: auto;
    left: 0;
    width: 100%;
    padding: 0 15px;
    font-size: 10rem;
    text-align: center;
  }
  footer address img {
    height: 30px;
    margin: 0 auto 10px auto;
  }
  footer .sns {
    top: 210px;
    bottom: auto;
    right: auto;
    width: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  footer .sns i {
    width: 20px;
    height: 20px;
  }
  footer small {
    font-size: 10rem;
    bottom: 15px;
    padding: 0 15px;
  }

  /* home */
  .home_outline { position: relative; }
  .home_outline li {
    height: 24.5em;
    margin-left: 1em;
    font-size: 16rem;
  }
  .home_outline .inview-zoom {
    border-top: 15px solid #fff;
    border-bottom: 15px solid #fff;
  }
  .home_news p { text-align: center; }
  .home_news dl {
    display: block;
    margin: 0 15px;
  }
  .home_news dt {
    width: 100%;
    margin-top: 2em;
  }
  .home_news dd {
    width: 100%;
    margin-top: 0;
  }

  /* access */
  #map_canvas { height: 300px; }
  .googlemap iframe { height: 300px; }
  #access h3 { margin: 0 0 40px 0; }
  #access i.car,
  #access i.train {
    width: 48px;
    height: 20px;
  }
  #access .access_route { padding: 40px 0; }
  #access .access_route p {
    width: auto;
    margin: 0 15px;
    font-size: 12rem;
  }
  #access .access_route p:before {
    display: block;
    width: 1px;
    height: 20px;
    background: #000;
    margin: 0 auto 30px auto;
    content: "";
  }
  #access .access_route.train {
    margin-top: 40px;
    padding: 40px 0;
    border-top: 1px solid #e5e5e5;
  }
  #access .access_route.car h3 { padding-top: 40px; }
  #access .access_route.car .access_detail { width: 100%; }
  #access .access_route.train .access_detail { width: 100%; }
  #access .access_detail_wrap {
    display: block;
    width: 100%;
  }
  #access .access_detail {
    max-width: 260px;
    margin: 0 auto;
    padding: 0 0 40px 0;
  }
  #access .access_detail h4 {
    margin: 0 0 30px 0;
    font-size: 19rem;
  }
  #access .access_detail h4:before {
    display: block;
    width: 1px;
    height: 20px;
    background: #000;
    margin: 0 auto 30px auto;
    content: "";
  }
  #access .access_detail ul li:nth-child(odd) { font-size: 16rem; }
  #access .access_detail ul li:nth-child(even) {
    height: 60px;
    font-size: 12rem;
  }

  /* layout */
  .layout_title h2 {
    margin: 80px auto;
    font-size: 22rem;
  }
  .layout_title h2:before { top: -80px; }
  .layout_outline_forward { margin-top: 120px; }
  .layout_outline_forward:before {
    height: 40px;
    top: -40px;
  }
  .layout_outline_forward:after { height: 40px; }
  .layout_outline {
    display: block;
    height: auto;
    border: none;
  }
  .layout_outline .wrap {
    width: auto;
    margin: 160px 30px 0 0;
    padding: 30px 30px 0 30px;
  }
  .layout_outline .wrap .btn {
    width: auto;
    padding: 15px 40px;
  }
  .layout_outline .wrap h2 {
    margin-bottom: 15px;
    font-size: 18rem;
    line-height: 1.5;
  }
  .layout_outline .inview-zoom {
    left: 30px;
    height: 320px;
    margin: 0;
  }
  .layout_outline.r .wrap { margin: 160px 0 0 30px; }
  .layout_outline.r .inview-zoom {
    right: 30px;
    margin: 0;
  }
  .layout_column { margin: 80px auto 0 auto; }
  .layout_column .inner { height: 520px; }
  .layout_column .wrap { margin: 0 15px; }
  .layout_column .wrap ul {
    height: 360px;
    font-size: 11rem;
  }
  .layout_column .wrap li { margin-right: 0; }
  .layout_column .wrap li:before { right: 10px; }
  .layout_column .wrap li.mr { margin-right: 0; }
  .layout_column .wrap p {
    margin: 0 0 2em 0;
    font-size: 11rem;
    line-height: 2;
  }
  .layout_column .wrap p:last-child { margin-bottom: 0; }
  .layout_column .wrap p.small { font-size: 11rem; }
  .layout_column .wrap .btn {
    margin-top: 0;
    font-size: 12rem;
  }
  .layout_column .inview-zoom { height: 520px; }
  .layout_column .inview-zoom img {
    width: auto;
    height: 100%;
  }
  .layout_slideshow .inview-zoom { height: 200px; }
  .layout_slideshow.kominka { margin: 65px 0 80px 0; }

  /* bnr */
  .bnr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 40px 15px 25px 15px;
  }
  .bnr img {
    width: 100%;
    height: auto;
  }
}