@charset "UTF-8";
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
html {
  color: #000;
  background: #FFF;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: "";
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%;
}

legend {
  color: #000;
}

#yui3-css-stamp.cssreset {
  display: none;
}

/*--HTML5-----------------------------------------------------------*/
article, aside, details, footer, header, main, menu, nav, section, summary {
  display: block;
}

img {
  vertical-align: bottom;
}

/******************************************************
  foundation
******************************************************/
/******************************************************
  変数
******************************************************/
/******************************************************
  global
******************************************************/
/******************************************************
  header
******************************************************/
header {
  display: flex;
  justify-content: space-between;
  /* ハンバーガーメニュー：ナビゲーション *****************/
}
header .l-hd__logo {
  padding: 22px 30px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  header .l-hd__logo {
    padding: 17px clamp(10px, 2.08vw, 20px);
  }
}
header .l-hd__logo a img {
  width: 18.9dvw;
  aspect-ratio: 318/38;
  max-width: 318px;
}
@media screen and (max-width: 1024px) {
  header .l-hd__logo a img {
    width: 318px;
  }
}
@media screen and (max-width: 767px) {
  header .l-hd__logo a img {
    width: 220px;
  }
}
@media screen and (max-width: 420px) {
  header .l-hd__logo a img {
    width: 200px;
  }
}
@media screen and (max-width: 400px) {
  header .l-hd__logo a img {
    width: 190px;
  }
}
@media screen and (max-width: 384px) {
  header .l-hd__logo a img {
    width: 182px;
  }
}
header nav {
  width: 49dvw;
  min-width: clamp(740px, 72.27vw, 840px);
  height: clamp(100px, 9.77vw, 105px);
  display: grid;
  grid-template-columns: auto clamp(94px, 9.18vw, 144px);
  grid-template-rows: clamp(40px, 3.91vw, 43px) clamp(60px, 5.86vw, 62px);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
}
@media screen and (max-width: 1024px) {
  header nav {
    width: auto;
    min-width: unset;
    grid-template-columns: auto;
    align-items: start;
  }
}
header nav .l-hd__guidebook {
  grid-column: 1/2;
  grid-row: 1/2;
  padding: 0 0 0 clamp(10px, 0.98vw, 22px);
  background-color: #889A63;
}
@media screen and (max-width: 1024px) {
  header nav .l-hd__guidebook {
    display: none;
  }
}
header nav .l-hd__guidebook .l-hd__guidebook__menu {
  display: flex;
  gap: 0 clamp(10px, 0.98vw, 16px);
  justify-content: flex-end;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu li p {
  height: 100%;
  color: #FFFFFF;
  font-size: 1.3rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu li a {
  height: 100%;
  color: #FFFFFF;
  font-size: clamp(1.3rem, 1.27vw, 1.4rem);
  font-weight: 700;
  letter-spacing: 0.035em;
  display: flex;
  gap: 0 5px;
  align-items: center;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu li a::before {
  content: "";
  width: 19px;
  aspect-ratio: 19/18;
  background-image: url(../img/common/footer_icon_book.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu .drop-menu {
  height: clamp(40px, 3.91vw, 43px);
  padding: 0 clamp(12px, 1.17vw, 14px);
  background-color: #FFDE76;
  position: relative;
  text-align: left;
  cursor: pointer;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu .drop-menu p {
  color: #889A63;
  font-size: 1.6rem;
  font-weight: 700;
  gap: 0 5px;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu .drop-menu p::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #889A63;
  line-height: 1;
  width: 10px;
  aspect-ratio: 1/1;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  transition: transform 0.3s ease;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu .drop-menu .child-menu {
  width: 100%;
  padding: 5px 15px;
  position: absolute;
  left: 0;
  display: flex;
  flex-direction: column;
  visibility: hidden;
  transform: scale(1, 0);
  transform-origin: top;
  transition: 0.3s;
  background-color: #FFDE76;
  opacity: 0.9;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu .drop-menu .child-menu li a {
  color: #889A63;
  font-size: 1.6rem;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu .drop-menu .child-menu li a::before {
  content: none;
}
header nav .l-hd__guidebook .l-hd__guidebook__menu .drop-menu.open p::after {
  transform: translateY(25%) rotate(-45deg);
}
header nav .drop-menu.open .drop-nav-txt + .child-menu,
header nav .drop-menu.open .icon_earth + .child-menu {
  visibility: visible;
  z-index: 20;
  transform: scale(1, 1);
}
header nav .l-hd__menu {
  grid-column: 1/2;
  grid-row: 2/3;
  background-color: #F2F2F2;
  border-radius: 0 0 0 10px;
}
@media screen and (max-width: 1024px) {
  header nav .l-hd__menu {
    display: none;
  }
}
header nav .l-hd__menu ul {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header nav .l-hd__menu ul li {
  flex: auto;
}
header nav .l-hd__menu ul li a {
  height: 100%;
  padding: 0 clamp(12px, 1.17vw, 22px) 6px;
  border-right: solid 1px #889A63;
  color: #333333;
  font-size: clamp(1.6rem, 1.56vw, 1.9rem);
  font-weight: 700;
  display: flex;
  gap: 0 6px;
  justify-content: center;
  align-items: center;
}
header nav .l-hd__menu ul li a::before {
  content: "";
  width: 27px;
  aspect-ratio: 1/1;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
}
header nav .l-hd__menu ul li:nth-of-type(1) a {
  padding-left: 20px;
}
header nav .l-hd__menu ul li:nth-of-type(1) a::before {
  background-image: url(../img/common/icon_home.svg);
}
header nav .l-hd__menu ul li:nth-of-type(2) a::before {
  background-image: url(../img/common/icon_info.svg);
}
header nav .l-hd__menu ul li:nth-of-type(3) a::before {
  background-image: url(../img/common/icon_sightseeing.svg);
}
header nav .l-hd__menu ul li:nth-of-type(4) a::before {
  background-image: url(../img/common/icon_stay.svg);
}
header nav .l-hd__menu ul li:nth-of-type(5) a::before {
  background-image: url(../img/common/icon_visit.svg);
}
header nav .drop-menu-sp {
  display: none;
}
@media screen and (max-width: 1024px) {
  header nav .drop-menu-sp {
    display: block;
    padding: 0 clamp(12px, 1.17vw, 14px);
    margin-top: 20px;
    background-color: #FFDE76;
    position: relative;
    text-align: left;
    cursor: pointer;
    border-radius: 20px;
  }
  header nav .drop-menu-sp details::details-content {
    content-visibility: unset;
    display: block grid;
  }
}
@media screen and (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
  header nav .drop-menu-sp details::details-content {
    transition-duration: 300ms;
    transition-property: grid-template-rows;
  }
}
@media screen and (max-width: 1024px) {
  header nav .drop-menu-sp details:not([open])::details-content {
    grid-template-rows: 0fr;
  }
}
@media screen and (max-width: 1024px) {
  header nav .drop-menu-sp details[open]::details-content {
    grid-template-rows: 1fr;
  }
}
@media screen and (max-width: 1024px) {
  header nav .drop-menu-sp details summary .icon_earth {
    height: 40px;
    color: #889A63;
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 700;
    display: flex;
    gap: 0 5px;
    align-items: center;
  }
  header nav .drop-menu-sp details summary .icon_earth::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: #889A63;
    line-height: 1;
    width: 10px;
    aspect-ratio: 1/1;
    border: 2px solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
    transition: transform 0.3s ease;
  }
}
@media screen and (max-width: 1024px) {
  header nav .drop-menu-sp details .menu-wrap {
    overflow: hidden;
  }
  header nav .drop-menu-sp details .menu-wrap .child-menu {
    width: 100%;
    padding: 0 0 10px;
    border-radius: 0 0 20px 20px;
    transition: 0.3s;
    opacity: 1;
  }
  header nav .drop-menu-sp details .menu-wrap .child-menu li {
    line-height: 1.4;
  }
  header nav .drop-menu-sp details .menu-wrap .child-menu li a {
    color: #889A63;
    font-size: clamp(1.2rem, 2.5vw, 1.6rem);
    font-weight: 700;
  }
  header nav .drop-menu-sp details .menu-wrap .child-menu li a::before {
    content: none;
  }
  header nav .drop-menu-sp details .menu-wrap.open p::after {
    transform: translateY(25%) rotate(-45deg);
  }
}
@media screen and (max-width: 767px) {
  header nav .drop-menu-sp {
    margin-top: 10px;
  }
  header nav .drop-menu-sp details summary .icon_earth {
    height: 36px;
  }
  header nav .drop-menu-sp details summary .icon_earth::after {
    width: 8px;
  }
}
@media screen and (max-width: 400px) {
  header nav .drop-menu-sp {
    margin-top: 9px;
  }
}
header nav .drop-menu.open .drop-nav-txt + .child-menu,
header nav .drop-menu.open .icon_earth + .child-menu {
  visibility: visible;
  z-index: 20;
  transform: scale(1, 1);
  transform-origin: top;
}
header nav .l-hd__hamburger {
  grid-column: 2/3;
  grid-row: 1/3;
  background-color: #F2F2F2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  header nav .l-hd__hamburger {
    padding: 16px 20px 0;
    background-color: unset;
  }
}
@media screen and (max-width: 767px) {
  header nav .l-hd__hamburger {
    padding: 10px clamp(10px, 2.08vw, 14px) 0;
  }
}
@media screen and (max-width: 400px) {
  header nav .l-hd__hamburger {
    padding: 9px clamp(9px, 2.08vw, 14px) 0;
  }
}
header nav .l-hd__hamburger .hamburger {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  border: none;
  margin-bottom: 20px;
  background-color: #F2F2F2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  header nav .l-hd__hamburger .hamburger {
    max-width: 80px;
    border-radius: 100px;
    background-color: #889A63;
  }
}
@media screen and (max-width: 767px) {
  header nav .l-hd__hamburger .hamburger {
    width: clamp(55px, 11.46vw, 70px);
    max-width: none;
  }
}
header nav .l-hd__hamburger .hamburger .hamburger__line {
  width: 40px;
  height: 11px;
  border-top: solid 1px #889A63;
  display: block;
  position: relative;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 1024px) {
  header nav .l-hd__hamburger .hamburger .hamburger__line {
    border-color: #FFFFFF;
  }
}
@media screen and (max-width: 767px) {
  header nav .l-hd__hamburger .hamburger .hamburger__line {
    width: clamp(28px, 5.83vw, 40px);
    height: 20px;
  }
}
header nav .l-hd__hamburger .hamburger .hamburger__line::before, header nav .l-hd__hamburger .hamburger .hamburger__line::after {
  content: "";
  width: 100%;
  border-top: solid 1px #889A63;
  position: absolute;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1024px) {
  header nav .l-hd__hamburger .hamburger .hamburger__line::before, header nav .l-hd__hamburger .hamburger .hamburger__line::after {
    border-color: #FFFFFF;
  }
}
header nav .l-hd__hamburger .hamburger .hamburger__line::before {
  top: 5px;
  left: 0;
}
header nav .l-hd__hamburger .hamburger .hamburger__line::after {
  top: 11px;
  left: 0;
}
header nav .l-hd__hamburger .hamburger .hamburger__text {
  width: 70px;
  margin-top: 7px;
  display: block;
  position: relative;
}
@media screen and (max-width: 767px) {
  header nav .l-hd__hamburger .hamburger .hamburger__text {
    margin-top: 4px;
  }
}
header nav .l-hd__hamburger .hamburger .hamburger__text::before, header nav .l-hd__hamburger .hamburger .hamburger__text::after {
  color: #889A63;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 1024px) {
  header nav .l-hd__hamburger .hamburger .hamburger__text::before, header nav .l-hd__hamburger .hamburger .hamburger__text::after {
    color: #FFFFFF;
  }
}
@media screen and (max-width: 767px) {
  header nav .l-hd__hamburger .hamburger .hamburger__text::before, header nav .l-hd__hamburger .hamburger .hamburger__text::after {
    font-size: clamp(1.1rem, 2.29vw, 1.5rem);
  }
}
header nav .l-hd__hamburger .hamburger .hamburger__text::before {
  content: "MENU";
  opacity: 1;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  header nav .l-hd__hamburger .hamburger .hamburger__text::before {
    top: -8px;
  }
}
header nav .l-hd__hamburger .hamburger .hamburger__text::after {
  content: "CLOSE";
  font-family: "M PLUS Rounded 1c", sans-serif;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  header nav .l-hd__hamburger .hamburger .hamburger__text::after {
    top: -8px;
  }
}
header nav .l-hd__hamburger .hamburger.-active .hamburger__line {
  transform: rotate(30deg) translate(-2px, 3px);
}
@media screen and (max-width: 767px) {
  header nav .l-hd__hamburger .hamburger.-active .hamburger__line {
    transform: rotate(30deg) translate(-4px, 3px);
  }
}
header nav .l-hd__hamburger .hamburger.-active .hamburger__line::before {
  top: 0;
  opacity: 0;
}
header nav .l-hd__hamburger .hamburger.-active .hamburger__line::after {
  top: 0;
  transform: rotate(-60deg);
}
header nav .l-hd__hamburger .hamburger.-active .hamburger__text::before {
  opacity: 0;
  visibility: hidden;
}
header nav .l-hd__hamburger .hamburger.-active .hamburger__text::after {
  opacity: 1;
  visibility: visible;
}
header .header__nav-area {
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -10;
  height: 100dvh;
  width: 100%;
  visibility: hidden;
  background-color: #8ec181;
  display: grid;
  align-items: center;
  transition: 0.4s;
}
@media screen and (max-width: 600px) {
  header .header__nav-area {
    align-items: start;
  }
}
header .header__nav-area.-active {
  opacity: 1;
  z-index: 20;
  visibility: visible;
  overflow-y: scroll;
}
header .header__nav-area .global-navigation {
  display: block;
  inset: 0;
  margin: 0 auto;
  width: 75%;
  height: auto;
  position: relative;
}
@media screen and (max-width: 1200px) {
  header .header__nav-area .global-navigation {
    width: 85%;
  }
}
@media screen and (max-width: 600px) {
  header .header__nav-area .global-navigation {
    width: 90%;
    padding: 100px 0 40px 0;
    margin: auto;
  }
}
header .header__nav-area .global-navigation .nav_logo {
  width: 376px;
  height: auto;
  display: block;
}
@media screen and (max-width: 600px) {
  header .header__nav-area .global-navigation .nav_logo {
    display: none;
  }
}
header .header__nav-area .global-navigation .nav_link-container {
  display: flex;
  gap: 0 clamp(24px, 2.34vw, 32px);
  justify-content: center;
  letter-spacing: 0em;
}
@media screen and (max-width: 1024px) {
  header .header__nav-area .global-navigation .nav_link-container {
    gap: 60px 32px;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 600px) {
  header .header__nav-area .global-navigation .nav_link-container {
    margin-top: 0;
    gap: 32px 32px;
  }
}
header .header__nav-area .global-navigation .nav_link-container .nav-01, header .header__nav-area .global-navigation .nav_link-container .nav-02-03-wrapper, header .header__nav-area .global-navigation .nav_link-container .nav-04 {
  width: calc((100% - clamp(24px, 2.34vw, 32px) * 3) / 4);
}
@media screen and (max-width: 1024px) {
  header .header__nav-area .global-navigation .nav_link-container .nav-01, header .header__nav-area .global-navigation .nav_link-container .nav-02-03-wrapper, header .header__nav-area .global-navigation .nav_link-container .nav-04 {
    width: calc((100% - 64px) / 3);
  }
}
@media screen and (max-width: 600px) {
  header .header__nav-area .global-navigation .nav_link-container .nav-01, header .header__nav-area .global-navigation .nav_link-container .nav-02-03-wrapper, header .header__nav-area .global-navigation .nav_link-container .nav-04 {
    width: 100%;
  }
}
header .header__nav-area .global-navigation .nav_link-container .nav-05 {
  width: calc((100% - clamp(24px, 2.34vw, 32px) * 3) / 4);
}
@media screen and (max-width: 1024px) {
  header .header__nav-area .global-navigation .nav_link-container .nav-05 {
    width: 100%;
  }
}
header .header__nav-area .global-navigation .nav_link-container ul {
  display: flex;
  gap: 16px 0;
  flex-direction: column;
}
@media screen and (max-width: 600px) {
  header .header__nav-area .global-navigation .nav_link-container ul {
    gap: 12px 0;
  }
}
header .header__nav-area .global-navigation .nav_link-container ul li {
  height: auto;
}
header .header__nav-area .global-navigation .nav_link-container ul li a {
  color: #FFFFFF;
  font-size: clamp(1.4rem, 1.56vw, 1.6rem);
  display: block;
}
@media screen and (max-width: 600px) {
  header .header__nav-area .global-navigation .nav_link-container ul li a {
    font-size: 1.6rem;
  }
}
header .header__nav-area .global-navigation .nav_link-container ul li .nav_title {
  padding: 4px 0;
  border-top: dashed 1px #FFFFFF;
  border-bottom: dashed 1px #FFFFFF;
  margin-bottom: 4px;
}
header .header__nav-area .global-navigation .nav_link-container ul li .nav_title:nth-of-type(3) {
  border-bottom: none;
}
header .header__nav-area .global-navigation .nav_link-container ul li .nav_title a {
  font-size: 2rem;
  font-weight: 700;
}
header .header__nav-area .global-navigation .nav_link-container .nav-03 {
  margin-top: 48px;
}
@media screen and (max-width: 1024px) {
  header .header__nav-area .global-navigation .nav_link-container .nav-05 ul {
    flex-direction: row;
    gap: 0 32px;
  }
}
@media screen and (max-width: 600px) {
  header .header__nav-area .global-navigation .nav_link-container .nav-05 ul {
    gap: 12px 24px;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 600px) {
  header .header__nav-area .global-navigation .nav_link-container .nav-05 ul li {
    width: 100%;
  }
}
header .header__nav-area .global-navigation .nav_link-container .nav-05 ul li a {
  font-weight: 700;
}
header .header__nav-area .global-navigation .nav_sns {
  width: 184px;
  display: inline-block;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 768px) {
  header .header__nav-area .global-navigation .nav_sns {
    width: 100%;
    margin-top: 40px;
  }
}
header .header__nav-area .global-navigation .nav_sns .slash {
  color: #FFFFFF;
  font-size: 1.8rem;
}
header .header__nav-area .global-navigation .nav_sns .slash::before, header .header__nav-area .global-navigation .nav_sns .slash::after {
  background-color: #ffffff;
}
header .header__nav-area .global-navigation .nav_sns .nav_sns_icons {
  margin: 20px auto 0;
  width: 110px;
}
@media screen and (max-width: 768px) {
  header .header__nav-area .global-navigation .nav_sns .nav_sns_icons {
    margin: 12px auto 0;
  }
}
header .header__nav-area .global-navigation .nav_sns .nav_sns_icons ul {
  display: flex;
  justify-content: space-between;
}
header .header__nav-area .global-navigation .nav_sns .nav_sns_icons ul img:hover {
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;
}
header .header__nav-area .global-navigation .nav_train {
  display: block;
  position: relative;
  margin: 0 auto;
  margin-top: 116px;
  width: 90%;
  height: auto;
}
@media screen and (max-width: 768px) {
  header .header__nav-area .global-navigation .nav_train {
    margin-top: 126px;
  }
}
header .fixed-box {
  width: 96%;
  max-width: 1190px;
  position: fixed;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
}

/******************************************************
  header（下層ページ）
******************************************************/
/******************************************************
  footer
******************************************************/
footer {
  font-family: "Noto Sans JP", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  padding: 0;
}

a:hover {
  cursor: pointer;
  text-decoration: none;
}

/* == footer ============================================== */
footer {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #6e7b6f;
  color: #ffffff;
  z-index: 5;
}

footer::before {
  content: "";
  background-image: url(../img/common/footer_mori.svg);
  background-size: cover;
  background-repeat: repeat-x;
  width: 100%;
  height: 105px;
  position: absolute;
  top: -105px;
  left: 0;
}

footer::after {
  content: "";
  background-image: url(../img/common/footer_train.svg);
  background-size: contain;
  width: 518px;
  height: 62px;
  position: absolute;
  top: -60px;
  right: min(10.42vw, 150px);
}

.footer-wrapper {
  position: relative;
  width: 90%;
  height: 100%;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 67px;
  display: flex;
}

.footer_contents-left {
  padding-right: clamp(32px, 2.67vw, 48px);
  flex-shrink: 0;
}
.footer_contents-left .info .footer_logo {
  width: 100%;
  max-width: 340px;
  height: auto;
  aspect-ratio: 340/41;
  margin-bottom: 44px;
}
.footer_contents-left .info address {
  font-size: 1.4rem;
  letter-spacing: 0em;
  margin-bottom: 100px;
}
.footer_contents-left .info address a {
  color: #fff !important;
  border-bottom: 1px solid #fff;
}
.footer_contents-left .info address a:hover {
  opacity: 0.6;
}
.footer_contents-left .guidebook {
  display: flex;
}
.footer_contents-left .guidebook img {
  width: 96px;
  height: 135px;
}
.footer_contents-left .guidebook ul {
  margin-left: 15px;
}
.footer_contents-left .guidebook ul li {
  line-height: 22px;
  margin-bottom: 7px;
  position: relative;
}
.footer_contents-left .guidebook ul li p {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0em;
  margin-bottom: 4px;
}
.footer_contents-left .guidebook ul li a {
  color: #8ec181;
  font-size: 1.2rem;
  border-bottom: solid 1px #8ec181;
  letter-spacing: 0em;
  padding-left: 20px;
  padding-bottom: 2px;
}
.footer_contents-left .guidebook ul li a::before {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 0;
  background-image: url(../img/common/footer_icon_book.svg);
  background-size: 15px 15px;
  width: 15px;
  height: 15px;
}

.guidebook ul a .guidebook ul li:hover,
.footer_nav a:hover,
.btn_to-top:hover {
  opacity: 0.7;
  transition: 0.3s;
}

.footer_nav {
  display: flex;
  gap: 60px clamp(32px, 2.67vw, 48px);
  justify-content: left;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-left: clamp(32px, 2.67vw, 48px);
  height: auto;
}
.footer_nav .footer_nav-group01,
.footer_nav .footer_nav-group02,
.footer_nav .footer_nav-group03 {
  display: flex;
  gap: 32px clamp(32px, 2.67vw, 48px);
}
.footer_nav .footer_nav-group03 {
  width: 100%;
}

.footer_nav a {
  color: #fff !important;
  border-bottom: 1px solid #fff;
}

.footer_nav .title {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0em;
}

.footer_nav li {
  font-size: 1.4rem;
  padding-top: 12px;
  padding-left: clamp(14px, 1.17vw, 20px);
  border-left: dashed 1px #FFFFFF;
  letter-spacing: 0em;
}
@media screen and (max-width: 440px) {
  .footer_nav li {
    border-left: none;
  }
}

.footer_nav li:first-child {
  padding-top: 0;
  padding-left: 0;
  border-left: none;
}

.footer_nav li:nth-of-type(2) {
  padding-top: 0;
  margin-top: 12px;
}

.footer_nav-03 {
  min-width: 100px;
}

.footer_nav-05 ul li,
.footer_nav-06 ul li {
  padding-left: 0;
  border-left: none;
  margin-left: 0;
}
.footer_nav-05 ul li a,
.footer_nav-06 ul li a {
  font-size: 1.6rem;
  font-weight: 500;
}

.btn_to-top {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 81px;
  height: 66px;
}

.btn_to-top a {
  display: block;
  width: 100%;
  height: auto;
}

.btn_to-top img {
  width: 100%;
  height: auto;
}

.copyright-wrapper {
  width: 100%;
  height: 88px;
  padding-top: 18px;
  background-color: #6e7b6f;
  border-top: solid 1px #8c9a8c;
}

.copyright {
  width: 90%;
  margin: 0 auto;
  line-height: 1rem;
}
@media screen and (max-width: 480px) {
  .copyright {
    text-align: center;
  }
}

small {
  text-align: left;
  display: inline-block;
  font-size: 1rem;
  letter-spacing: 0em;
  text-align: left;
}

@media screen and (max-width: 1300px) {
  .footer_nav-group02 {
    flex-direction: column;
  }
}
@media screen and (max-width: 1100px) {
  .footer-wrapper {
    flex-direction: column;
  }
  .footer-wrapper .footer_contents-left {
    padding-right: 0;
    display: flex;
    gap: 0 clamp(60px, 7.81vw, 80px);
  }
  .footer-wrapper .footer_contents-left .info address {
    margin-bottom: clamp(60px, 7.81vw, 100px);
  }
  .footer-wrapper .footer_nav {
    padding-left: 0;
  }
  .footer-wrapper .footer_nav .footer_nav-group02 {
    flex-direction: row;
  }
}
@media screen and (max-width: 820px) {
  .footer-wrapper .footer_nav .footer_nav-group02 {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  footer {
    height: auto;
  }

  footer::before {
    content: "";
    background-image: url(../img/common/footer_mori-sp.svg);
    background-size: cover;
    background-repeat: repeat-x;
    width: 100%;
    height: 110px;
    position: absolute;
    top: -110px;
    left: 0;
  }

  footer::after {
    content: "";
    background-image: url(../img/common/footer_train-sp.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 345px;
    height: 62px;
    position: absolute;
    top: -55px;
    right: 0;
  }

  .footer-wrapper {
    width: 90%;
    padding-top: 50px;
  }

  .footer_nav {
    gap: 40px 36px;
  }

  .footer_nav-group02 {
    gap: 40px 36px;
  }

  .copyright-wrapper {
    height: 60px;
  }
}
@media screen and (max-width: 700px) {
  .footer-wrapper {
    gap: 60px 0;
  }
  .footer-wrapper .footer_contents-left {
    flex-direction: column;
  }
  .footer-wrapper .footer_nav .footer_nav-01,
.footer-wrapper .footer_nav .footer_nav-02,
.footer-wrapper .footer_nav .footer_nav-03,
.footer-wrapper .footer_nav .footer_nav-04 {
    min-width: 190px;
  }
  .footer-wrapper .footer_nav .footer_nav-group02 {
    flex-direction: row;
  }
}
@media screen and (max-width: 440px) {
  .footer-wrapper .footer_nav {
    flex-direction: column;
  }
  .footer-wrapper .footer_nav .footer_nav-group01,
.footer-wrapper .footer_nav .footer_nav-group02,
.footer-wrapper .footer_nav .footer_nav-group03 {
    flex-direction: column;
  }
  .footer-wrapper .footer_nav .footer_nav-group03 {
    gap: 0;
  }
  .footer-wrapper .footer_nav .footer_nav-06 {
    margin-top: 12px;
  }
}
/******************************************************
  layout
******************************************************/
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  background-color: #fff;
  color: #333;
  -webkit-text-size-adjust: 100%;
  /* -webkit-font-smoothing: antialiased; */
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  line-height: 1.7;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a:link {
  transition: 0.3s;
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:active {
  color: #50C355;
  text-decoration: none;
}

a.btn img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}

a:hover.btn img {
  -ms-filter: "alpha(opacity=60)";
  filter: alpha(opacity=30);
  -moz-opacity: 0.4;
  opacity: 0.4;
}

::selection {
  background: #50C355;
  color: #FFFFFF;
}

::-moz-selection {
  background: #50C355;
  color: #FFFFFF;
}

::-webkit-selection {
  background: #50C355;
  color: #FFFFFF;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #DDDDDD;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #8EC181;
  border-radius: 4px;
}

/* SimpleBar：スクロールバーカスタマイズ */
.simplebar-track.simplebar-horizontal {
  height: 8px !important;
  background: #DDDDDD;
  border-radius: 4px;
  max-width: 302px;
  margin: 0 auto;
}

.simplebar-track .simplebar-scrollbar::before {
  background: #889A63;
  opacity: 1;
  width: 8px;
  left: 0;
}

.simplebar-horizontal .simplebar-scrollbar {
  height: 8px !important;
  background: #889A63;
  border-radius: 4px;
  top: 0;
}

.simplebar-horizontal .simplebar-scrollbar {
  height: 280px;
}

.simplebar-track.simplebar-vertical {
  top: 10px;
  right: 8px;
  height: 280px;
  background-color: #ddd;
  border-radius: 4px;
  width: 8px;
}

/* スクロールバー本体の透明度（デフォルトだと透過） */
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

strong {
  font-weight: bold;
}

.pc {
  display: inherit;
}

.sp {
  display: none !important;
}

#wrapper {
  overflow: hidden;
}

.c-feature {
  position: relative;
}

.c-feature::before {
  content: "";
  background-image: url(../img/index/heading_tokushu.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  width: 97px;
  height: 29px;
  top: 0;
  left: 0;
  z-index: 3;
}

/*--CONTENTS-------------*/
#contents {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}

.cFix:after {
  content: none !important;
}

.c-Reserve {
  flex-direction: row-reverse;
}

h1 {
  font-size: 18px;
}

.view_all {
  background-color: #FFF;
}

.view_all a {
  background-color: #50C355;
  color: #FFF;
  text-decoration: none;
  font-size: 12px;
  padding: 2px 20px;
  border-radius: 30px;
}

.view_all a:hover {
  opacity: 0.4;
}

.btn_green {
  display: block;
  text-align: center;
}

.btn_green a {
  text-decoration: none;
  border-radius: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: auto;
  max-width: 310px;
  height: 48px;
  margin: 0 auto;
  border: none;
  background-color: #879a63;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  z-index: 1;
  transition: 0.3s;
  overflow: hidden;
  padding: 5px 50px;
}

.btn_green a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: solid 2px #879a63;
  border-radius: 24px;
  box-sizing: border-box;
  z-index: -1;
  transform: scale(0);
  opacity: 0;
  transition: transform ease 0.3s, opacity 0.3s;
}

.btn_green a::after {
  content: "";
  position: absolute;
  right: 24px;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.btn_green a:hover {
  color: #ffffff;
  background: #697b48;
  opacity: 1;
}

.btn_green a:hover::before {
  transform: scale(1.1);
  opacity: 1;
}

/*--SUB_PAGE-------------*/
.dir_path {
  margin-bottom: 75px;
  font-size: 14px;
  height: 30px;
  border-bottom: none;
  height: auto;
}

.dir_path ul {
  display: flex;
  flex-wrap: wrap;
}

.dir_path li {
  background-color: #FFF;
  font-weight: 200;
  margin-left: 20px;
}

.dir_path li:first-child {
  margin-left: 0;
}

.dir_path li a {
  padding: 0px 22px;
  border-radius: 30px;
  border: 1px solid #50C355;
  line-height: 1;
}

.dir_path li a:hover {
  background-color: #50C355;
  color: #FFF;
  text-decoration: none;
}

.dir_path li.st a {
  padding: 0px 22px;
  border-radius: 0px;
  border: 1px solid #50C355;
  line-height: 1;
  background-color: #50C355;
  color: #FFF;
  pointer-events: none;
}

.dir_path li a:hover {
  background-color: #FFF;
  color: #50C355;
  text-decoration: none;
}

.sub_ttl {
  font-size: 32px;
  font-weight: 400;
  padding-bottom: 60px;
  letter-spacing: 0.15em;
  line-height: 1.5em;
}

.sub_ttl_bottom {
  font-size: 16px;
  font-weight: 400;
  padding-bottom: 60px;
  letter-spacing: 0em;
  margin-left: 10px;
}

.sub_line {
  font-size: 2.2rem;
  border-bottom: 2px solid #889A63;
  padding-bottom: 3px;
  margin-bottom: 48px;
  color: #889A63;
  font-weight: 500;
  padding-top: 110px;
}
@media screen and (max-width: 480px) {
  .sub_line {
    font-size: 1.8rem;
  }
}

.sub_line.first {
  padding-top: 0px;
}

.sub_line .bk {
  color: #000;
}

.sub_line .notice {
  color: #000;
  font-size: 12px;
  font-weight: 100;
}

.sub_line span.gr {
  background-color: #50C355;
  color: #FFF;
  font-size: 20px;
  border-radius: 30px;
  margin-left: 20px;
  margin-right: 20px;
  padding: 0px 20px;
}

.bx_green {
  background-color: #E5F3E1;
  text-align: center;
  position: relative;
  letter-spacing: 0em;
  padding: 40px 32px 50px;
  position: relative;
}

.bx_green .heding_label {
  font-size: 16px;
  position: relative;
  display: inline-block;
  padding: 0 45px;
  margin-bottom: 20px;
  font-weight: 500;
}

.bx_green h3.heding_label {
  font-size: 28px;
}

.bx_green .heding_label:before,
.bx_green .heding_label:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: #50C355;
}

.bx_green .heding_label:before {
  left: 0;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}

.bx_green .heding_label:after {
  right: 0;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}

.bx_green h3 {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  line-height: 1.5;
}

.bx_green h3 img {
  margin-bottom: 56px;
}

.bx_green p {
  font-size: 16px;
  font-weight: 400;
}

/*--SUB_ABOUT-------------*/
.use_policy_list .ttl {
  background-color: #6E7B6F;
  color: #fff;
  padding: 12px 32px;
  margin-bottom: 20px;
  font-size: 18px;
  letter-spacing: 0.15em;
  font-weight: 400;
  position: relative;
}

/*--SUB_USE-------------*/
.bx_green .mv_ph {
  margin-top: 48px;
}

.bx_green .mv_ph img {
  border-radius: 16px;
}

.bx_green .idea {
  background-color: #FFFFFF;
  border-radius: 8px;
  width: min(90%, 700px);
  margin-left: auto;
  margin-right: auto;
  padding: 25px 20px;
  margin-top: 48px;
}

.bx_green .idea table {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.4;
}

.bx_green .idea table th {
  padding-right: 20px;
}

.bx_green .idea table th span {
  font-size: 22px;
}

/*--SUB_SUPPORT-------------*/
.bx_green .support_bx {
  margin-left: auto;
  margin-right: auto;
  padding-top: 24px;
  padding-bottom: 70px;
}

.bx_green .support_bx .sp_about {
  width: 90%;
  margin: 0 auto;
  text-align: left;
  display: flex;
  justify-content: space-between;
}

.bx_green .support_bx .sp_about p {
  padding-top: 28px;
  width: 80%;
  text-align: justify;
}

.bx_green .support_bx figure {
  width: clamp(340px, 44.27vw, 400px);
  position: absolute;
  bottom: -80px;
  right: 40px;
}
@media screen and (max-width: 767px) {
  .bx_green .support_bx figure {
    bottom: -100px;
    right: auto;
    left: 50%;
    translate: -50% 0;
  }
}
@media screen and (max-width: 480px) {
  .bx_green .support_bx figure {
    max-width: calc(100% - 40px);
    left: -50%;
    right: -50%;
    margin: auto;
    translate: none;
  }
}
@media screen and (max-width: 400px) {
  .bx_green .support_bx figure {
    bottom: -75px;
  }
}
@media screen and (max-width: 375px) {
  .bx_green .support_bx figure {
    bottom: -62px;
  }
}

.support_small {
  font-size: 16px;
}

.label {
  display: inline-block;
  font-size: 16px;
  font-weight: 400;
}

.price {
  display: inline-block;
  font-size: 16px;
  margin-left: 20px;
}

.bx_green .support_bx .sp_about .label {
  background-color: #FFF;
  color: #50C355;
  text-align: center;
  width: 150px;
  height: 150px;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  border-radius: 100%;
  margin-right: 16px;
  flex-shrink: 0;
}

.bx_green .support_bx .sp_about .label span {
  display: table-cell;
  vertical-align: middle;
  width: 150px;
  height: 150px;
}

/*.arealabel {
  width: 100%;
  text-align: left;
  padding: 0;
  position: relative;
  font-size: 18px;
  margin-top: 0;
  margin-bottom: 42px;
}
.arealabel::after {
  content: "";
  position: absolute;
  bottom: -22px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}*/
/*--SUB_GALLERY-------------*/
/*#gal_photo,
#gal_aw_photo {
  padding-top: 30px;
  padding-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
  letter-spacing: 0;
}
#gal_photo li,
#gal_aw_photo li {
  width: 22%;
  margin-right: 4%;
  font-size: 12px;
  margin-bottom: 2%;
}
#gal_photo li:nth-child(4n),
#gal_aw_photo li:nth-child(4n) {
  margin-right: 0%;
}
#gal_photo li p {
  display: block;
  min-height: 5em;
  padding-top: 10px
}
#gal_aw_photo li p {
  display: block;
  min-height: 9em;
  padding-top: 10px
}
#gal_photo li .thum img,
#gal_aw_photo li .thum img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
#gal_photo li a:hover,
#gal_aw_photo li a:hover {
  opacity: 0.4;
}
#gal_movie {
  display: flex;
  flex-wrap: wrap;
}
#gal_movie li {
  width: 22%;
  margin-right: 4%;
  font-size: 12px;
  padding-bottom: 30px;
}
#gal_movie li:nth-child(4n) {
  margin-right: 0%;
}
#gal_movie li p.ttl {
  width: 100%;
  text-align: left;
  padding: 0;
  position: relative;
  font-size: 14px;
  margin-top: 10px;
  margin-bottom: 20px;
}
#gal_movie li p.ttl::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}
#gal_movie li .thum img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
#gal_movie li a:hover {
  opacity: 0.4;
}
.gal_motice {
  margin-top: 140px;
  margin-bottom: 60px;
  clear: both;
  border-top: 2px solid #50c355;
  border-bottom: 2px solid #50c355;
  padding: 20px 110px;
  font-size: 12px;
}
.gal_end {
  margin-bottom: 80px;
}*/
/*--SUB_ACCESS-------------*/
.p-access__anchorLink {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 80px;
}

.p-access__anchorLink__item {
  text-align: left;
  margin-bottom: 38px;
}

.p-access__anchorLink__item:not(:nth-child(3n)) {
  margin-right: 24px;
}

.p-access__anchorLink__item a {
  position: relative;
  display: block;
  width: 317px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  padding: 8px 20px 16px;
  border-bottom: 2px solid #879A63;
}

.p-access__anchorLink__item a::before {
  content: "";
  background-image: url(../img/access/anchor_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  right: 10px;
  width: 30px;
  height: 30px;
}

.p-access__anchorLink__item--link a::before {
  transform: rotateZ(-90deg);
}

.access_list {
  margin-bottom: 100px;
  display: flex;
  justify-content: space-between;
}

.access_list li {
  width: 18%;
  margin-right: 2%;
}

.access_list li:last-child {
  margin-right: 0%;
}

.access_list li .label {
  width: 100%;
  text-align: left;
  padding: 0;
  position: relative;
  font-size: 22px;
  line-height: 1.2em;
  margin-top: 20px;
  margin-bottom: 20px;
}

.access_list li .label::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 4px;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

.access_list li .label span {
  font-size: 18px;
}

.access_list li .way_line {
  width: 48%;
  margin-left: 1%;
  margin-right: 1%;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
}

.access_list li .way_line .name {
  background-color: #50C355;
  color: #FFF;
  border-radius: 4px;
  margin-bottom: 10px;
  padding: 2px 0;
  font-size: 14px;
}

.access_list li .notice {
  font-size: 12px;
}

.wayBlock {
  display: flex;
  justify-content: space-between;
}

.access_map .map {
  position: relative;
  display: block;
  width: 510px;
  height: 100%;
  margin: 48px auto;
}

.access_map .map::before {
  content: "";
  background-image: url(../img/access/circle_plus.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  width: 56px;
  height: 56px;
  bottom: 0;
  right: -48px;
}

.access_map .map img {
  width: 100%;
  height: auto;
  position: relative;
}

.access_map .vehicle {
  width: 100%;
  letter-spacing: 0;
}

.access_map .vehicle .ttl {
  width: 100%;
  text-align: left;
  padding-left: 36px;
  position: relative;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2em;
  margin-top: 56px;
  margin-bottom: 40px;
}

.access_map .vehicle .ttl::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  background-size: cover;
  background-repeat: no-repeat;
  width: 26px;
  height: 26px;
}

.access_map .vehicle .ttl.taxi::before {
  background-image: url(../img/access/ico_taxi.svg);
}

.access_map .vehicle .ttl.bus::before {
  background-image: url(../img/access/ico_bus.svg);
}

.access_map .vehicle .ttl.rentcycle::before {
  background-image: url(../img/access/ico_rent_cycle.svg);
}

.access_map .vehicle .ttl.rentcar::before {
  background-image: url(../img/access/ico_rentacar.svg);
}

.access_map .vehicle .ttl.carshare::before {
  background-image: url(../img/access/ico_rent_share.svg);
}

.access_map .vehicle .ttl::after {
  content: "";
  position: absolute;
  bottom: -22px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

.access_map .vehicle .city {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
  margin-top: 20px;
  margin-bottom: 6px;
}

.access_map .vehicle .vehicle__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.access_map .vehicle .vehicle__list.carshare {
  display: block;
}

.access_map .vehicle .vehicle__list__item {
  display: flex;
  justify-content: space-between;
  width: 440px;
  margin-bottom: 6px;
  letter-spacing: 0;
}

.access_map .vehicle .vehicle__list.carshare .vehicle__list__item {
  width: 574px;
  justify-content: flex-start;
}

.access_map .vehicle .vehicle__list__item .name {
  width: 210px;
  position: relative;
}

.access_map .vehicle .vehicle__list__item .name::before {
  content: "";
  background-color: #aaa;
  position: absolute;
  top: 14px;
  right: -95px;
  width: 75px;
  height: 1px;
}

.access_map .vehicle .vehicle__list__item img {
  width: 18px;
  vertical-align: middle;
  margin-right: 5px;
  margin-top: -2px;
}

.access_map .vehicle .vehicle__list__item .popup {
  width: 12px;
  height: 12px;
}

.access_map .vehicle .vehicle__list.carshare .vehicle__list__item .name {
  margin-right: 119px;
}

.access_map .vehicle .vehicle__list.carshare a {
  color: #879A63;
  display: inline-block;
  border-bottom: solid 1px #879A63;
  line-height: 1.4;
}

.timetable_list li {
  width: 48%;
  margin-right: 4%;
  text-align: center;
}

.timetable_list li:last-child {
  margin-right: 0%;
}

.timetable_list li .label {
  margin-bottom: 20px;
  margin-top: 30px;
  font-weight: 500;
  padding: 10px 10px;
  border-radius: 80px;
  border: 2px solid #50C355;
  font-size: 18px;
  line-height: 1.2;
}

.timetable_list li .label span {
  font-size: 15px;
  margin-left: 20px;
}

.timetable_list li .timetable_fig img {
  width: 100%;
  height: auto;
  max-width: 720px;
  text-align: center;
}

.timetable_p_style a {
  color: #879A63;
}

.timetable_p_style a span {
  line-height: 2em;
  border-bottom: solid 1px #879A63;
}

.timetable_p_style a img {
  width: 18px;
  margin-left: 16px;
  margin-bottom: 6px;
  vertical-align: middle;
}

.access_notice {
  font-size: 12px;
  padding-top: 50px;
}

.access_notice p {
  margin-bottom: 2em;
}

.access_notice a {
  color: #879A63;
}

.access_notice a span {
  line-height: 2em;
  border-bottom: solid 1px #879A63;
}

.access_notice a img {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin: 0 4px 4px 8px;
}

.title {
  display: inline-block;
  position: relative;
}

.title .main {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
}

.title .sub {
  position: relative;
  font-size: 1.6rem;
  letter-spacing: 0em;
  font-weight: 500;
  font-family: "Noto Sans JP";
}

.title .sub::before,
.title .sub::after {
  content: "";
  position: absolute;
  top: 2px;
  width: 80px;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

.sub::before {
  left: 0;
}

.sub::after {
  right: 0;
}

/*.tadami_navi .title .sub::before,
.tadami_navi .title .sub::after {
  width: 88px;
}*/
/*--SUB_STATION-------------*/
.c-stationSubTitle {
  font-size: 2.4rem;
  font-weight: 500;
  margin-top: 24px;
}

.c-stationNew {
  margin-top: 48px;
  padding: 40px 48px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  background-color: #EDF1EC;
}

.c-stationNew__img {
  margin-right: 24px;
  min-width: 244px;
}

.c-stationNew__img img {
  width: 100%;
}

.c-stationNew__txt {
  min-width: 320px;
}

.c-stationNew__txt__title {
  position: relative;
  font-size: clamp(1.8rem, 1.81vw, 2.6rem);
  font-weight: 500;
  line-height: 1.46;
  padding-bottom: 12px;
  padding-left: clamp(80px, 6.94vw, 100px);
}

.c-stationNew__txt__title::before {
  content: "";
  background-image: url(../img/station/icon_new_pc.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: clamp(60px, 5.28vw, 76px);
  height: clamp(60px, 5.28vw, 76px);
  position: absolute;
  top: calc(50% - 6px);
  left: 8px;
  transform: translateY(-50%);
}

.c-stationNew__txt__desc {
  font-size: clamp(1.4rem, 1.6vw, 1.6rem);
  font-weight: 500;
  margin-top: 32px;
}

.station_map {
  margin-top: -120px;
  padding-bottom: 50px;
}

.station_map img {
  width: 100%;
  height: auto;
}

.station_header {
  border-bottom: 5px solid #50C355;
  width: 100%;
  height: 160px;
  margin-bottom: 50px;
}

.station_header td {
  vertical-align: bottom;
  font-weight: 500;
  padding-bottom: 7px;
}

.station_header .next {
  text-align: left;
  background-image: url(../img/station/arrow_left.svg);
  background-repeat: no-repeat;
  background-position: left 0px bottom 10px;
  padding-left: 20px;
  width: 30%;
}

.station_header .prev {
  text-align: right;
  background-image: url(../img/station/arrow_right.svg);
  background-repeat: no-repeat;
  background-position: right 0px bottom 10px;
  padding-right: 20px;
  width: 30%;
}

.station_header .end {
  background-image: none !important;
}

.station_header td a {
  margin-left: 10px;
  margin-right: 10px;
}

.station_header td span {
  margin-left: 10px;
  margin-right: 10px;
  color: #B6B6B6;
  display: inline-block;
  font-size: 12px;
}

.plate_wrap {
  border: 2px solid #50C355;
  background-color: #FFF;
  border-radius: 8px;
  text-align: center;
  padding: 20px 10px;
  letter-spacing: 0.15em;
  margin-bottom: -45px;
  position: relative;
  z-index: 10;
}

.plate_wrap .name {
  font-size: 36px;
  margin-bottom: 15px;
}

.plate_wrap .hira {
  margin-bottom: 20px;
}

.plate_wrap .eng {
  background-color: #50C355;
  color: #FFF;
  border-radius: 20px;
}

.ft .plate_wrap {
  padding: 10px 10px;
  width: 310px;
  margin-left: auto;
  margin-right: auto;
}

.ft .plate_wrap .name {
  font-size: 22px;
  margin-bottom: 0px;
}

.ft .plate_wrap .hira {
  margin-bottom: 10px;
  font-size: 13px;
}

.ft .plate_wrap .eng {
  background-color: #50C355;
  color: #FFF;
  border-radius: 20px;
  font-size: 11px;
}

.station_read {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.15em;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .c-stationSubTitle {
    font-size: 2.2rem;
    margin-top: 16px;
  }

  .c-stationNew {
    display: block;
    padding: 32px 16px;
    width: 80.53vw;
    margin: 48px auto 0;
  }

  .c-stationNew__img {
    width: 100%;
    margin-right: 0;
  }

  .c-stationNew__txt {
    width: 100%;
    min-width: auto;
    margin-top: 24px;
  }

  .c-stationNew__txt__title {
    padding-left: clamp(46px, 11.8vw, 80px);
  }

  .c-stationNew__txt__title:before {
    background-image: url(../img/station/icon_new_sp.svg);
    width: clamp(40px, 10.67vw, 60px);
    height: clamp(40px, 10.67vw, 60px);
    left: 0;
  }
}
/*--SUB_MODEL-------------*/
.model_read {
  font-size: 20px;
  letter-spacing: 0.15em;
  margin-bottom: 20px;
}

.model_course {
  width: 47%;
  margin-right: 6%;
}

.model_course.right {
  margin-right: 0%;
  margin-left: 3%;
}

.model_course .ttl {
  border-bottom: 2px solid #000;
  margin-bottom: 30px;
  font-weight: 500;
}

.model_course .thum {
  width: 100%;
  height: 350px;
  border-radius: 8px;
  background-position: center center;
  background-size: cover;
}

.model_course .thum_cap {
  font-size: 13px;
  text-align: right;
  margin-bottom: 30px;
}

.model_course ul .place {
  background-color: #889A63;
  color: #FFF;
  padding: 5px 10px 5px 30px;
  border-radius: 50px;
  font-weight: 500;
}

.model_course ul .time {
  background-color: #FFF;
  color: #50C355;
  padding: 1px 15px;
  border: 1px solid #50C355;
  border-radius: 50px;
  font-size: 12px;
  font-weight: 500;
  margin-top: 1px;
}

.model_course ul .way {
  padding: 15px 30px 15px 50px;
  font-size: 13px;
}

.model_course ul .event {
  background-color: #FFF;
  color: #000;
  padding: 5px 10px 5px 30px;
  border-radius: 50px;
  border: 1px solid #889A63;
  font-weight: 500;
}

.model_course ul .event .time {
  border: 1px solid #50C355;
  background-color: #FFF;
  color: #50C355;
}

.model_course ul li table {
  width: 100%;
}

.model_course ul th {
  width: 60px;
}

.model_course ul td {
  padding: 0 0 5px;
  width: calc(100% - 60px);
}

.model_course ul img {
  vertical-align: middle;
  width: 50px;
  height: auto;
  margin-bottom: 5px;
}

.model_list_ftnav {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 100px;
}
@media screen and (max-width: 600px) {
  .model_list_ftnav {
    padding-bottom: 60px;
  }
}
.model_list_ftnav li {
  width: calc((100% - 60px) / 3);
  margin-right: 30px;
  margin-bottom: 30px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .model_list_ftnav li {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (max-width: 480px) {
  .model_list_ftnav li {
    width: calc((100% - 20px) / 2);
    margin-right: 20px;
    margin-bottom: 20px;
  }
}
.model_list_ftnav li:nth-of-type(3n) {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .model_list_ftnav li:nth-of-type(3n) {
    margin-right: 30px;
  }
}
@media screen and (max-width: 480px) {
  .model_list_ftnav li:nth-of-type(3n) {
    margin-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .model_list_ftnav li:nth-of-type(2n) {
    margin-right: 0;
  }
}
.model_list_ftnav li .thum {
  width: 100%;
  aspect-ratio: 5/3;
  background-size: cover;
  background-position: center center;
  border-radius: 16px;
}
.model_list_ftnav li .label {
  color: #FFF;
  font-size: 12px;
  margin-bottom: 10px;
  margin-top: 16px;
  color: #50c355;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .model_list_ftnav li .label {
    margin-bottom: 5px;
    margin-top: 10px;
  }
}
@media screen and (max-width: 480px) {
  .model_list_ftnav li .label {
    margin-bottom: 4px;
    margin-top: 8px;
  }
}
.model_list_ftnav li .name a {
  font-weight: 500;
  color: #333;
}
@media screen and (max-width: 768px) {
  .model_list_ftnav li .name a {
    font-size: 1.4rem;
  }
}

/*--SUB_ZEKKEI-------------*/
.zekkei_nav {
  margin-top: 50px;
}

.zekkei_nav li {
  border: 2px solid #50C355;
  padding: 20px 0px;
  text-align: center;
  width: calc(50% - 4px);
  min-height: 230px;
}

.zekkei_nav li a {
  color: #50C355;
}

.zekkei_nav li .ttl {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 20px;
}

.zekkei_nav li .point {
  margin-top: 3px;
}

.zekkei_nav li.active {
  background-color: #50C355;
}

.zekkei_nav li.active a {
  color: #FFF;
}

.zekkei_nav li:first-child {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

.zekkei_nav li:last-child {
  border-radius: 0px 10px 10px 0px;
}

.view_spot {
  margin-bottom: 10px;
}

.view_spot .slide_area {
  width: 48%;
}

.view_spot .swiper-container {
  margin-bottom: 20px;
}

.view_spot .swiper-wrapper,
.view_spot .swiper-slide,
.view_spot .thum {
  border-radius: 8px;
  height: 360px;
  background-size: cover;
  background-position: center center;
}

.view_spot .thum {
  margin-bottom: 40px;
}

.view_spot .detail {
  width: 48%;
}

.view_spot .detail iframe {
  width: 100%;
  height: 360px;
  margin-bottom: 40px;
}

.vew_timetable {
  border: 1px solid #50C355;
  font-size: 12px;
}

.vew_timetable .heading {
  border-bottom: 1px solid #50C355;
  padding: 5px;
  margin-bottom: 5px;
}

.vew_timetable table {
  width: 46%;
  margin-left: 2%;
  margin-right: 2%;
  margin-bottom: 10px;
  text-align: center;
}

.vew_timetable table .label {
  font-weight: 500;
  border-bottom: 2px solid #50C355;
}

.vew_timetable table tr {
  border-bottom: 1px dotted #D1D1D1;
}

.vew_timetable table th,
.vew_timetable table td {
  padding-top: 2px;
  padding-bottom: 2px;
}

/*--SUB_FEATURE-------------*/
.feature_list {
  padding-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
}

.feature_list li {
  width: 48%;
  margin-right: 4%;
}
@media screen and (max-width: 767px) {
  .feature_list li {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 30px;
  }
}

.feature_list li:nth-child(2n) {
  margin-right: 0%;
}

.feature_list li .ttl {
  margin-bottom: 10px;
  margin-top: 30px;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .feature_list li .ttl {
    font-size: 16px;
  }
}

.model_list li .exp {
  font-size: 13px;
}

.p-feature__txt {
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  margin: 24px auto 80px;
}

.p-feature__spotList__item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .p-feature__spotList__item {
    justify-content: center;
  }
}

.p-feature__spotList__item--reserve {
  flex-direction: row-reverse;
}

.p-feature__spotList__item__img {
  width: 48.5%;
}
.p-feature__spotList__item__img img {
  border-radius: 8px;
}

.p-feature__spotList__item__txt {
  width: 48.5%;
}
@media screen and (max-width: 767px) {
  .p-feature__spotList__item__txt {
    width: 100%;
  }
}
.p-feature__spotList__item__txt .title {
  display: block;
  color: #889A63;
  font-size: 2.2rem;
  font-weight: 700;
  border-bottom: 2px solid #889A63;
  padding-bottom: 4px;
}
.p-feature__spotList__item__txt .tag {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 6px 12px 6px 38px;
  border-radius: 8px;
  text-align: right;
  margin: 32px auto 12px;
}
.p-feature__spotList__item__txt .tag::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  left: 12px;
}
.p-feature__spotList__item__txt .tag.power {
  background-color: #D3A303;
}
.p-feature__spotList__item__txt .tag.power::before {
  background-image: url(../img/feature/icon_powerspot.svg);
  width: 17px;
  height: 23px;
  top: 7px;
}
.p-feature__spotList__item__txt .tag.cool {
  background-color: #266993;
  padding-left: 30px;
}
.p-feature__spotList__item__txt .tag.cool::before {
  background-image: url(../img/feature/icon_fuurin.svg);
  width: 10px;
  height: 22px;
  top: 6px;
}
.p-feature__spotList__item__txt .tag.zekkei {
  background-color: #912929;
}
.p-feature__spotList__item__txt .tag.zekkei::before {
  background-image: url(../img/feature/icon_zekkei.svg);
  width: 23px;
  height: 19px;
  top: 9px;
  left: 10px;
}
.p-feature__spotList__item__txt .tag.city {
  padding: 6px 12px;
  color: #333;
  background-color: #EAEAEA;
}
.p-feature__spotList__item__txt .description {
  font-size: clamp(1.8rem, 1.53vw, 2.2rem);
}

#feature_single .p-feature__btn__wrap.btn_green {
  margin-top: 32px;
}

.p-feature__btn__wrap.btn_green a {
  margin: 0;
  width: 218px;
}

.p-feature__spotpro {
  position: relative;
  display: flex;
  background-color: #EDF1EC;
  width: 99.2%;
  justify-content: center;
  align-items: center;
  padding: 40px 0;
}

.p-feature__spotpro::before {
  content: "";
  background-image: url(../img/feature/season_ribbon.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  width: 133px;
  height: 134px;
  top: -8px;
  right: -8px;
}

.p-feature__spotpro--fall::before {
  background-image: url(../img/feature/season_ribbon-fall.svg);
}

.p-feature__spotpro__img {
  width: 45.3%;
}

.p-feature__spotpro__txt {
  width: 41.8%;
  margin-left: 30px;
}

.p-feature__spotpro__txt .title {
  position: relative;
  display: block;
  font-size: clamp(2rem, 1.81vw, 2.6rem);
  line-height: 1.4;
  text-align: left;
  padding-left: clamp(70px, 5.56vw, 80px);
}

.p-feature__spotpro__txt .title::before {
  content: "";
  position: absolute;
  background-image: url(../img/feature/illustration_camera.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(60px, 5.21vw, 75px);
  height: 70px;
  top: 10px;
  left: 0;
}

.p-feature__spotpro__txt .title::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 0;
  width: 100%;
  height: 4px;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

.p-feature__spotpro__txt .title--mini {
  font-size: clamp(1.4rem, 1.25vw, 1.8rem);
}

.p-feature__spotpro__txt .subTitle {
  color: #879A63;
  font-size: 2rem;
  font-weight: 700;
  margin: 46px auto 16px;
}

.p-feature__spotpro__txt .description {
  font-size: clamp(1.4rem, 1.25vw, 1.8rem);
}

.p-feature__btn__wrap--spot.btn_green a::after {
  background-image: url(../img/feature/icon_newtab.svg);
  width: 15px;
  height: 15px;
  border: none;
  transform: none;
}

@media screen and (max-width: 767px) {
  .p-feature__txt {
    font-size: 1.6rem;
  }

  .p-feature__spotList__item__img,
.p-feature__spotList__item__img img,
.p-feature__spotList__item__txt {
    width: 100%;
  }

  .p-feature__spotList__item__txt .title {
    font-size: 2rem;
  }

  .p-feature__spotList__item__txt .description {
    font-size: 1.8rem;
    margin-bottom: 16px;
  }

  .p-feature__btn__wrap.btn_green a {
    margin: 0 auto;
    height: 48px;
  }

  .p-feature__spotpro {
    width: 100%;
    padding: 50px 0;
  }

  .p-feature__spotpro::before {
    width: 100px;
    height: 101px;
    top: -6px;
    right: -6px;
  }

  .p-feature__spotpro__txt {
    width: 86%;
    margin: 0 auto;
  }

  .p-feature__spotpro__txt .title {
    font-size: 2rem;
    padding-left: 68px;
  }

  .p-feature__spotpro__txt .title--mini {
    font-size: 1.6rem;
  }

  .p-feature__spotpro__txt .title::before {
    width: 62px;
    height: 60px;
    top: 6px;
  }

  .p-feature__spotpro__txt .subTitle {
    font-size: 1.8rem;
  }

  .p-feature__spotpro__txt .description {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }

  .p-feature__spotpro__img {
    width: 100%;
  }

  .p-feature__spotpro__img img {
    width: 100%;
  }
}
/* --SUB_BLOG-------------*/
.blog_list {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  .blog_list {
    margin-top: 70px;
  }
}
.blog_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 60px 30px;
}
.blog_list ul::after {
  content: "";
  display: block;
  width: 28%;
}
.blog_list ul li {
  display: flex;
  flex-direction: column;
  width: calc((100% - 60px) / 3);
}
@media screen and (max-width: 767px) {
  .blog_list ul li {
    width: 100%;
  }
}
.blog_list ul li:nth-child(3n) {
  margin-right: 0%;
}
.blog_list ul li .meta {
  margin-top: 20px;
  margin-bottom: 14px;
  letter-spacing: 0em;
}
.blog_list ul li p {
  font-size: 14px;
  letter-spacing: 0em;
}
.blog_list ul li .ttl {
  font-size: 18px;
  line-height: 1.4em;
  letter-spacing: 0em;
  font-weight: 400;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .blog_list ul li .ttl {
    height: auto;
    margin-bottom: 16px;
  }
}
.blog_list ul li .thum {
  width: 100%;
  height: 200px;
  background-position: center center;
  background-size: cover;
  background-color: #e1f3df;
  border-radius: 0;
  border: 4px solid #879a63;
  box-sizing: border-box;
}
.blog_list ul li .exp {
  font-size: 13px;
  margin-bottom: 20px;
}
.blog_list ul li .view_all {
  display: block;
  left: auto;
  transform: none;
  margin: auto auto 0 auto;
}

.exp_em {
  font-weight: 500;
}

/*--お知らせの横-------------*/
#sidebar {
  width: 25%;
}

#sidebar h4 {
  font-weight: 500;
  width: 100%;
  border: none;
  text-align: left;
  padding: 0;
  position: relative;
  margin-bottom: 16px;
}

#sidebar h4::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

#sidebar ul {
  margin-bottom: 30px;
  margin-left: 10px;
}

.veu_postList .postList_date {
  margin-right: 10px;
  color: #000 !important;
}

.p-single {
  padding-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-single {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-single .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-single .c-parts__pagehead {
    margin-bottom: 40px;
  }
}

.entry {
  width: 100%;
}

.entry--secondary {
  width: 100%;
}

.entry img {
  max-width: 100%;
  height: auto;
}

.entry a {
  text-decoration: underline;
  color: #879A63;
}

.entry a:hover {
  color: #50C355;
}

.entry p {
  margin: 0 0 20px 0;
  zoom: 1;
}

.entry_eye-img {
  margin-bottom: 38px;
  text-align: center;
}

.entry_eye-img img {
  width: 100%;
  height: auto;
}

.wp-caption {
  margin: 0 !important;
  text-align: center;
  font-size: 12px;
}

.aligncenter {
  display: block;
  padding: 0px 0px 20px 0px;
  margin-left: auto;
  margin-right: auto;
}

.alignleft {
  padding: 0px 50px 0px 0px;
}

.alignright {
  padding: 0px 0px 0px 50px;
}

.entry h1 {
  font-size: 1.3em;
  font-weight: bold;
  margin: 0 0 20px 0;
}

.entry h2 {
  font-size: 1.2em;
  font-weight: bold;
  margin: 0 0 20px 0;
}

.entry h3 {
  font-size: 1.1em;
  font-weight: bold;
  margin: 0 0 20px 0;
}

.entry h4 {
  font-size: 1em;
  font-weight: bold;
  margin: 0 0 20px 0;
}

.entry h5 {
  font-size: 0.8em;
  font-weight: bold;
  margin: 0 0 20px 0;
  vertical-align: middle;
}

.entry h6 {
  font-size: 0.7em;
  font-weight: bold;
  margin: 0 0 20px 0;
}

.entry ul li {
  list-style: disc;
  margin: 5px 0 5px 20px;
}

.entry ol li {
  list-style: decimal;
  margin: 5px 0 5px 20px;
}

/* clearfix */
.entry p:before,
.entry p:after {
  content: "";
  display: table;
}

.entry p:after {
  clear: both;
}

.entry .date {
  font-weight: bold;
}

.entry .cat-data {
  font-size: 0.6em;
  padding: 3px 5px;
  text-align: center;
  white-space: nowrap;
  color: #fff;
  border-radius: 3px;
  background-color: #464646;
}

.entry .tag li {
  font-size: 0.6em;
  padding: 3px 5px;
  text-align: center;
  color: #fff;
  border-radius: 3px;
  background-color: #464646;
  display: inline-block;
}

.entry .tag li:first-child {
  color: #464646;
  background-color: #FFF;
}

.entry .btn_green {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .entry .btn_green {
    margin-bottom: 60px;
  }
}

.entry .btn_green a {
  color: #FFF !important;
  text-decoration: none;
}

/*--FEATURE-------------*/
#feature_single .ttl {
  max-width: 1080px;
  width: 100%;
  padding-bottom: 10px;
  margin: 0 auto 20px auto;
  font-size: 22px;
  line-height: 1.5;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  #feature_single .ttl {
    font-size: 18px;
  }
}
#feature_single .read {
  font-size: 2.4rem;
  margin: 0 auto 30px auto;
  max-width: 1080px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #feature_single .read {
    font-size: 1.8rem;
  }
}
#feature_single .mv {
  height: 540px;
  border-radius: 8px;
  background-size: cover;
  background-position: center center;
  margin: 0 auto 50px auto;
  max-width: 1080px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #feature_single .mv {
    height: 100vw;
    margin-bottom: 30px;
  }
}
#feature_single .btn_green {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  #feature_single .btn_green {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
  }
}
#feature_single .btn_green a {
  color: #fff;
}
#feature_single table {
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
  margin-bottom: 100px;
  border-top: 2px solid #D7D7D7;
  border-bottom: 2px solid #D7D7D7;
}
@media screen and (max-width: 767px) {
  #feature_single table {
    margin-bottom: 50px;
  }
}
#feature_single table th, #feature_single table td {
  border-bottom: 1px solid #D7D7D7;
  padding: 15px 20px;
}
@media screen and (max-width: 767px) {
  #feature_single table th, #feature_single table td {
    display: block;
    width: calc(100% - 40px) !important;
    height: auto !important;
  }
}
#feature_single table th {
  border-right: 1px solid #D7D7D7;
}
@media screen and (max-width: 767px) {
  #feature_single table th {
    border-right: none;
  }
}

/*--COMMENT-------------*/
.comments {
  background-color: #e1f3df;
  text-align: left;
  margin-bottom: 50px;
  margin-top: 100px;
}

.comment-respond {
  padding: 20px 50px;
}

.comments h3 {
  font-size: 18px;
  border-bottom: 2px solid #50C355;
  padding-bottom: 3px;
  margin-bottom: 20px;
  color: #50C355;
  font-weight: 500;
}

.comments label {
  display: block;
  font-weight: 500;
}

.comment-meta {
  background-color: transparent;
  clear: none;
  padding-top: 0px;
  padding-bottom: 0px;
  color: #000;
}

.commets-list {
  padding-bottom: 50px !important;
}

.commets-list li {
  border-top: 1px dashed #50C355;
  padding-top: 15px;
  padding-bottom: 15px;
}

.commets-list li:first-child {
  border-top: none;
  padding-top: 15px;
  padding-bottom: 15px;
}

#submit {
  width: 218px;
  height: 48px;
  cursor: pointer;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #fff;
  font-size: 14px;
}

.form-submit {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 218px;
  height: 48px;
  border: none;
  border-radius: 35px;
  background-color: #879a63;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  z-index: 1;
  transition: 0.3s;
  overflow: hidden;
}

.form-submit::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: solid 2px #879a63;
  border-radius: 24px;
  box-sizing: border-box;
  z-index: -1;
  transform: scale(0);
  opacity: 0;
  transition: transform ease 0.3s, opacity 0.3s;
}

.form-submit::after {
  content: "";
  position: absolute;
  right: 24px;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.form-submit:hover {
  color: #ffffff;
  background: #697b48;
  opacity: 1;
}

.form-submit:hover::before {
  transform: scale(1.1);
  opacity: 1;
}

#comment,
#author,
#email,
#url {
  max-width: 100%;
}

/*--PAGENATION-------------*/
.pagination {
  text-align: center;
  clear: both;
  padding-top: 60px;
}

.pagination ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pagination li {
  display: inline-block;
  width: auto;
}

.pagination li a,
.pagination li > span {
  font-size: 0.9em;
  line-height: 2.5rem;
  display: block;
  width: 50%;
  margin-right: 24px;
  text-decoration: none;
  color: #333333;
}

.pagination li a img {
  height: 21px;
  vertical-align: middle;
}

.pagination li > span {
  color: #697B48;
  border-bottom: 2px solid #697B48;
}

.pagination li .dots {
  width: 15px;
  padding: 0;
  color: #000;
  border-color: transparent;
  background-color: transparent;
}

/*** SP ****************************/
@media screen and (max-width: 767px) {
  .dir_path .link_feature {
    width: 100%;
  }

  .title .main {
    font-size: 3.2rem;
  }

  .title .sub {
    font-size: 1.4rem;
  }

  .title .sub::before,
.title .sub::after {
    width: 60px;
  }

  .pagination li a img {
    height: 16px;
  }

  body {
    min-width: 320px;
    font-size: 14px;
    font-weight: 400;
  }

  .pc {
    display: none !important;
  }

  .sp {
    display: inherit !important;
  }

  /*--CONTENTS-------------*/
  .btn_green a {
    max-width: 272px;
    height: 40px;
    font-size: 13px;
  }

  /*--SUB_PAGE-------------*/
  .sub_ttl {
    font-size: 20px;
    font-weight: 100;
    padding-bottom: 40px;
    letter-spacing: 0em;
  }

  .sub_ttl_bottom {
    font-size: 12px;
    margin-top: 0;
    padding-bottom: 40px;
    letter-spacing: 0.15em;
  }

  .sub_line .bk {
    display: block;
    font-size: 14px;
  }

  .sub_line span.gr {
    font-size: 14px;
    margin-left: 0px;
    margin-right: 0px;
    padding: 0px 10px;
    display: block;
    text-align: center;
  }

  .bx_green {
    text-align: center;
    letter-spacing: 0em;
    padding: 40px 18px 50px;
  }

  .bx_green .heding_label {
    font-size: 14px;
    display: inline-block;
    padding: 0 40px;
  }

  .bx_green h3.heding_label {
    font-size: 28px;
  }

  .bx_green h3 {
    font-size: 28px;
    letter-spacing: 0.05em;
    margin-bottom: 30px;
  }

  .bx_green h3 img {
    margin-bottom: 56px;
  }

  .bx_green p {
    text-align: left;
  }

  /*--SUB_USE-------------*/
  .bx_green .mv_ph {
    margin-top: 20px;
  }

  .bx_green .mv_ph img {
    width: 100%;
    height: auto;
  }

  .bx_green .idea {
    border: none;
    border-radius: 8px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 24px 16px;
    margin-top: 40px;
  }

  .bx_green .idea table th {
    padding-right: 0px;
    display: block;
    text-align: center;
    padding-bottom: 15px;
  }

  .bx_green .idea table td {
    display: block;
  }

  .bx_green .idea table th span {
    font-size: 18px;
  }

  /*--SUB_SUPPORT-------------*/
  .bx_green .support_bx {
    width: 100%;
    padding-top: 0px;
    padding-bottom: 50px;
  }

  .bx_green .support_bx .sp_about {
    width: 100%;
    text-align: center;
    display: block;
  }

  .bx_green .support_bx .sp_about .label {
    width: 110px;
    height: 110px;
    font-size: 14px;
    margin-right: auto;
    margin-left: auto;
  }

  .bx_green .support_bx .sp_about .label span {
    width: 110px;
    height: 110px;
    font-size: 16px;
  }

  .bx_green .support_bx .sp_about p {
    width: 100%;
  }

  .support_small {
    font-size: 14px;
  }

  .bx_green .support_bx .ill {
    padding-top: 20px;
  }

  .bx_green .support_bx .ill img {
    width: 100%;
    height: auto;
  }

  .bx_green .cordinator {
    text-align: right;
  }

  .bx_green .cordinator img {
    width: 50%;
    height: auto;
  }

  /*--SUB_ACCESS-------------*/
  .access_list {
    display: block;
  }

  .access_list li {
    width: 100%;
    margin-right: 0%;
    text-align: center;
  }

  .access_list li .label {
    font-size: 20px;
    margin-bottom: 34px;
  }

  .access_list li .label::after {
    bottom: -22px;
  }

  .access_list li .label span {
    font-size: 16px;
  }

  .member_list_price_notice {
    padding-top: 32px;
  }

  .access_map .map {
    width: 100%;
    height: auto;
    overflow: auto;
    left: 50%;
    transform: translateX(-50%);
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .access_map .map::-webkit-scrollbar {
    display: none;
  }

  .access_map .map img {
    margin-bottom: 30px;
    left: 0;
    width: 595px;
    max-width: unset;
  }

  .access_map .vehicle .trafficTable {
    font-size: 13px;
    width: 100%;
  }

  .access_map .vehicle .trafficTable th {
    padding: 3px 0px;
    font-weight: 500;
    display: block;
    width: 100%;
    padding-top: 20px;
  }

  .access_map .vehicle .trafficTable td {
    padding: 3px 0 3px 16px;
    display: block;
    width: 45%;
  }

  .access_map .vehicle .trafficTable td img {
    width: 18px;
    vertical-align: middle;
    margin-right: 5px;
    margin-top: -2px;
  }

  .timetable_list li {
    width: 100%;
    margin-right: 0%;
  }

  .timetable_list li .label {
    font-size: 15px;
  }

  .timetable_list li .label span {
    font-size: 13px;
  }

  /*--SUB_MODEL-------------*/
  .model_list {
    padding-bottom: 50px;
    justify-content: center;
  }

  .model_list li {
    width: 100%;
    margin-right: 0%;
  }

  .model_list li .label {
    font-size: 16px;
  }

  /*.model_list li:last-child {
    margin-bottom: 0;
  }*/
  .model_list li .txt {
    font-size: 13px;
  }

  .model_list.three li {
    width: 100%;
    margin-right: 0%;
  }

  .model_list.three li:nth-child(2n) {
    margin-right: 0%;
  }

  .model_read {
    font-size: 15px;
  }

  .model_course {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 90px;
  }

  .model_course.right {
    margin-left: 0%;
  }

  .model_course .ttl {
    border-bottom: 2px solid #000;
    padding-bottom: 3px;
    margin-bottom: 15px;
  }

  .model_course .thum {
    width: 100%;
    height: 220px;
  }

  .model_course .thum_cap {
    margin-bottom: 20px;
  }

  .model_course ul .time {
    font-size: 11px;
    margin-top: -1px;
  }

  .model_course ul .way {
    font-size: 12px;
    line-height: 1.4;
  }

  .model_course ul img {
    width: 40px;
  }

  .stay_list li {
    width: 100%;
    margin: 0 0 40px 0;
  }

  /*--SUB_ZEKKEI-------------*/
  .zekkei_nav li {
    padding: 20px 20px;
    width: 100%;
    min-height: auto;
    box-sizing: border-box;
  }

  .zekkei_nav li .ttl {
    font-size: 18px;
  }

  .zekkei_nav li:first-child {
    border-radius: 10px 10px 0px 0px;
  }

  .zekkei_nav li:last-child {
    border-radius: 0px 0px 10px 10px;
  }

  .view_spot .slide_area {
    width: 100%;
  }

  .view_spot .thum {
    margin-bottom: 20px;
  }

  .view_spot .detail {
    width: 100%;
  }

  .view_spot .detail iframe {
    height: 220px;
  }

  .vew_timetable {
    font-size: 11px;
  }

  /*--CMS-------------*/
  /*--ASIDE-------------*/
  #sidebar {
    width: 100%;
  }

  .entry {
    width: 100%;
    word-break: break-all;
  }

  .aligncenter {
    padding: 50px 10px 10px 50px;
  }

  .alignleft {
    padding: 0px 0px 0px 0px;
  }

  .alignright {
    padding: 0px 0px 0px 0px;
  }

  .alignleft img,
.alignright img {
    width: 100%;
    height: auto;
  }

  /*--COMMENT-------------*/
  .comments {
    margin-top: 50px;
  }

  .comments h3 {
    font-size: 16px;
  }

  #comment,
#author,
#email,
#url {
    width: 100%;
  }

  /*--PAGENATION-------------*/
  .pagination li a,
.pagination li > span {
    width: 16px;
    margin-right: 8px;
  }

  input {
    font-size: 16px;
  }

  /*フォームのフォーカスOFF*/
  /* iOSでのデフォルトスタイルをリセット */
  input[type=submit],
input[type=button] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
    font-size: 16px;
  }

  input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
    display: none;
  }

  input[type=submit]::focus,
input[type=button]::focus {
    outline-offset: -2px;
  }

  /*SP NAV*/
  #panel-btn {
    display: inline-block;
    position: fixed;
    width: 40px;
    height: 40px;
    margin: 5px 0 10px;
    border-radius: 50%;
    right: 20px;
    top: 10px;
    z-index: 9999999;
    animation-duration: 2s;
  }

  #panel-btn-icon {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    margin: -1px 0 0 -7px;
    background: #50C355;
    transition: 0.2s;
  }

  #panel-btn-icon:before,
#panel-btn-icon:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 2px;
    background: #50C355;
    transition: 0.3s;
  }

  #panel-btn-icon:before {
    margin-top: -6px;
  }

  #panel-btn-icon:after {
    margin-top: 4px;
  }

  #panel-btn .close {
    background: transparent;
  }

  #panel-btn .close:before,
#panel-btn .close:after {
    margin-top: 0;
  }

  #panel-btn .close:before {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    background: #FFF;
  }

  #panel-btn .close:after {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    background: #FFF;
  }

  .youtube.doboku_detail iframe {
    width: 100%;
    height: 170px;
  }
}
/******************************************************
  layout
******************************************************/
/******************************************************
  フォント
******************************************************/
html {
  font-size: 62.5%;
}

body {
  /* for IE6/7 */
  *font-size: small;
  /* for IE Quirks Mode */
  *font: x-small;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.9;
}

select,
input,
button,
textarea,
button {
  font: 99%;
}

table {
  font-size: inherit;
  font: 100%;
}

pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%;
}

li {
  list-style: none;
}

em {
  font-style: normal;
  display: block;
}

a {
  text-decoration: none;
}

.c-ft__round {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-style: normal;
}

/******************************************************
  general
******************************************************/
/*-----------------------------------------------------
YUI Font-size Adjustment
※基準サイズは13pxです。

10px = 77%     11px = 85%	  12px = 93%     13px = 100%
14px = 108%	   15px = 116%    16px = 123.1%  17px = 131%
18px = 138.5%  19px = 146.5%  20px = 153.9%  21px = 161.6%
22px = 167%    23px = 174%    24px = 182%    25px = 189%
26px = 197%
------------------------------------------------------*/
.tx10 {
  font-size: 77%;
}

.tx11 {
  font-size: 85%;
}

.tx12 {
  font-size: 93%;
}

.tx14 {
  font-size: 108%;
}

.tx15 {
  font-size: 116%;
}

.tx16 {
  font-size: 123.1%;
}

.tx17 {
  font-size: 131%;
}

.tx18 {
  font-size: 138.5%;
}

.tx19 {
  font-size: 146.5%;
}

.tx20 {
  font-size: 153.9%;
}

.tx21 {
  font-size: 161.6%;
}

.tx22 {
  font-size: 167%;
}

.tx23 {
  font-size: 174%;
}

.tx24 {
  font-size: 182%;
}

.tx25 {
  font-size: 189%;
}

.tx26 {
  font-size: 197%;
}

.tx_L {
  text-align: left;
}

.tx_C {
  text-align: center;
}

.tx_R {
  text-align: right;
}

.tx_j {
  text-align: justify;
  text-justify: inter-ideograph;
}

.fl_L {
  float: left;
}

.fl_R {
  float: right;
}

.fl_n {
  float: none;
}

.clear {
  clear: both;
}

.hidden {
  overflow: hidden;
}

.scroll {
  overflow: scroll;
}

.lh0 {
  line-height: 0;
}

.lh10 {
  line-height: 1;
}

.lh11 {
  line-height: 1.1;
}

.lh12 {
  line-height: 1.2;
}

.lh13 {
  line-height: 1.3;
}

.lh14 {
  line-height: 1.4;
}

.lh15 {
  line-height: 1.5;
}

.lh16 {
  line-height: 1.6;
}

.lh17 {
  line-height: 1.7;
}

.lh175 {
  line-height: 1.75;
}

.lh18 {
  line-height: 1.8;
}

.lh19 {
  line-height: 1.9;
}

.lh20 {
  line-height: 2;
}

.cFix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.cFix {
  min-height: 1px;
}

* html .cFix {
  height: 1px;
}

.m0 {
  margin: 0;
}

.m0A {
  margin: 0 auto;
}

.mt0 {
  margin-top: 0;
}

.mt1 {
  margin-top: 1px;
}

.mt3 {
  margin-top: 3px;
}

.mt5 {
  margin-top: 5px;
}

.mt7 {
  margin-top: 7px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt90 {
  margin-top: 90px;
}

.mt95 {
  margin-top: 95px;
}

.mt100 {
  margin-top: 100px;
}

.mrA {
  margin-right: auto;
}

.mr0 {
  margin-right: 0;
}

.mr1 {
  margin-right: 1px;
}

.mr3 {
  margin-right: 3px;
}

.mr5 {
  margin-right: 5px;
}

.mr7 {
  margin-right: 7px;
}

.mr10 {
  margin-right: 10px;
}

.mr15 {
  margin-right: 15px;
}

.mr20 {
  margin-right: 20px;
}

.mr25 {
  margin-right: 25px;
}

.mr30 {
  margin-right: 30px;
}

.mr35 {
  margin-right: 35px;
}

.mr40 {
  margin-right: 40px;
}

.mr45 {
  margin-right: 45px;
}

.mr50 {
  margin-right: 50px;
}

.mr55 {
  margin-right: 55px;
}

.mr60 {
  margin-right: 60px;
}

.mr65 {
  margin-right: 65px;
}

.mr70 {
  margin-right: 70px;
}

.mr75 {
  margin-right: 75px;
}

.mr80 {
  margin-right: 80px;
}

.mr85 {
  margin-right: 85px;
}

.mr90 {
  margin-right: 90px;
}

.mr95 {
  margin-right: 95px;
}

.mr100 {
  margin-right: 100px;
}

.mb0 {
  margin-bottom: 0;
}

.mb1 {
  margin-bottom: 1px;
}

.mb3 {
  margin-bottom: 3px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb7 {
  margin-bottom: 7px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb100 {
  margin-bottom: 100px;
}

.mlA {
  margin-left: auto;
}

.ml0 {
  margin-left: 0;
}

.ml1 {
  margin-left: 1px;
}

.ml3 {
  margin-left: 3px;
}

.ml5 {
  margin-left: 5px;
}

.ml7 {
  margin-left: 7px;
}

.ml10 {
  margin-left: 10px;
}

.ml15 {
  margin-left: 15px;
}

.ml20 {
  margin-left: 20px;
}

.ml25 {
  margin-left: 25px;
}

.ml30 {
  margin-left: 30px;
}

.ml35 {
  margin-left: 35px;
}

.ml40 {
  margin-left: 40px;
}

.ml45 {
  margin-left: 45px;
}

.ml50 {
  margin-left: 50px;
}

.ml55 {
  margin-left: 55px;
}

.ml60 {
  margin-left: 60px;
}

.ml65 {
  margin-left: 65px;
}

.ml70 {
  margin-left: 70px;
}

.ml75 {
  margin-left: 75px;
}

.ml80 {
  margin-left: 80px;
}

.ml85 {
  margin-left: 85px;
}

.ml90 {
  margin-left: 90px;
}

.ml95 {
  margin-left: 95px;
}

.ml100 {
  margin-left: 100px;
}

.p0 {
  padding: 0;
}

.pt0 {
  padding-top: 0;
}

.pt1 {
  padding-top: 1px;
}

.pt3 {
  padding-top: 3px;
}

.pt5 {
  padding-top: 5px;
}

.pt7 {
  padding-top: 7px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt90 {
  padding-top: 90px;
}

.pt95 {
  padding-top: 95px;
}

.pt100 {
  padding-top: 100px;
}

.pr0 {
  padding-right: 0;
}

.pr1 {
  padding-right: 1px;
}

.pr3 {
  padding-right: 3px;
}

.pr5 {
  padding-right: 5px;
}

.pr7 {
  padding-right: 7px;
}

.pr10 {
  padding-right: 10px;
}

.pr15 {
  padding-right: 15px;
}

.pr20 {
  padding-right: 20px;
}

.pr25 {
  padding-right: 25px;
}

.pr30 {
  padding-right: 30px;
}

.pr35 {
  padding-right: 35px;
}

.pr40 {
  padding-right: 40px;
}

.pr45 {
  padding-right: 45px;
}

.pr50 {
  padding-right: 50px;
}

.pr55 {
  padding-right: 55px;
}

.pr60 {
  padding-right: 60px;
}

.pr65 {
  padding-right: 65px;
}

.pr70 {
  padding-right: 70px;
}

.pr75 {
  padding-right: 75px;
}

.pr80 {
  padding-right: 80px;
}

.pr85 {
  padding-right: 85px;
}

.pr90 {
  padding-right: 90px;
}

.pr95 {
  padding-right: 95px;
}

.pr100 {
  padding-right: 100px;
}

.pb0 {
  padding-bottom: 0;
}

.pb1 {
  padding-bottom: 1px;
}

.pb3 {
  padding-bottom: 3px;
}

.pb5 {
  padding-bottom: 5px;
}

.pb7 {
  padding-bottom: 7px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb90 {
  padding-bottom: 90px;
}

.pb95 {
  padding-bottom: 95px;
}

.pb100 {
  padding-bottom: 100px;
}

.pl0 {
  padding-left: 0;
}

.pl1 {
  padding-left: 1px;
}

.pl3 {
  padding-left: 3px;
}

.pl5 {
  padding-left: 5px;
}

.pl7 {
  padding-left: 7px;
}

.pl10 {
  padding-left: 10px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl35 {
  padding-left: 35px;
}

.pl40 {
  padding-left: 40px;
}

.pl45 {
  padding-left: 45px;
}

.pl50 {
  padding-left: 50px;
}

.pl55 {
  padding-left: 55px;
}

.pl60 {
  padding-left: 60px;
}

.pl65 {
  padding-left: 65px;
}

.pl70 {
  padding-left: 70px;
}

.pl75 {
  padding-left: 75px;
}

.pl80 {
  padding-left: 80px;
}

.pl85 {
  padding-left: 85px;
}

.pl90 {
  padding-left: 90px;
}

.pl95 {
  padding-left: 95px;
}

.pl100 {
  padding-left: 100px;
}

/******************************************************
  ページヘッダー・タイトル・共通パーツ
******************************************************/
/* == 下層ページ共通ヘッダー ============================================== */
.c-parts__pagehead {
  width: 100dvw;
  height: 375px;
  padding-top: 190px;
  margin: 0 calc(50% - 50vw);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-parts__pagehead {
    height: clamp(120px, 25vw, 200px);
    padding-top: 36px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 400px) {
  .c-parts__pagehead {
    margin-top: 56px;
  }
}
.c-parts__pagehead::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(../img/img_pagehead_l.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .c-parts__pagehead::before {
    background-image: url(../img/img_pagehead_s.webp);
  }
}
.c-parts__pagehead h2 {
  color: #FFFFFF;
  font-size: clamp(3.2rem, 3.13vw, 3.6rem);
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-parts__pagehead h2 {
    font-size: clamp(2.2rem, 4.58vw, 2.8rem);
    line-height: 1.3;
  }
}
.c-parts__pagehead span {
  width: 85%;
  color: #FFFFFF;
  font-size: 1.7rem;
  font-weight: 700;
  display: flex;
  gap: 0 10px;
  justify-content: center;
  align-items: center;
  position: static;
}
@media screen and (max-width: 767px) {
  .c-parts__pagehead span {
    font-size: clamp(1.4rem, 2.92vw, 1.7rem);
  }
}
.c-parts__pagehead span::before, .c-parts__pagehead span::after {
  content: "";
  flex: 1;
  width: 100%;
  height: 4px;
  background-size: 4px 4px;
  background-repeat: repeat-x;
  display: block;
}
.c-parts__pagehead span::before {
  background-image: linear-gradient(to left, #FFFFFF 2px, transparent 2px);
}
.c-parts__pagehead span::after {
  background-image: linear-gradient(to right, #FFFFFF 2px, transparent 2px);
}

/* == 各セクションタイトル ============================================= */
.c-parts__title {
  width: 100dvw;
  margin: 0 calc(50% - 50vw);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.c-parts__title h2 {
  color: #333333;
  font-size: clamp(3.2rem, 3.13vw, 3.6rem);
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-parts__title h2 {
    font-size: clamp(2.2rem, 4.58vw, 2.8rem);
    line-height: 1.3;
  }
}
.c-parts__title span {
  width: 85%;
  color: #333333;
  font-size: 1.7rem;
  font-weight: 700;
  display: flex;
  gap: 0 10px;
  justify-content: center;
  align-items: center;
  position: static;
}
@media screen and (max-width: 767px) {
  .c-parts__title span {
    font-size: clamp(1.4rem, 2.92vw, 1.7rem);
  }
}
@media screen and (max-width: 480px) {
  .c-parts__title span {
    width: 76%;
  }
}
.c-parts__title span::before, .c-parts__title span::after {
  content: "";
  flex: 1;
  width: 100%;
  max-width: 580px;
  height: 4px;
  background-size: 4px 4px;
  background-repeat: repeat-x;
  display: block;
}
.c-parts__title span::before {
  background-image: linear-gradient(to left, #333333 2px, transparent 2px);
}
.c-parts__title span::after {
  background-image: linear-gradient(to right, #333333 2px, transparent 2px);
}

.c-parts__subtitle {
  font-size: clamp(3.2rem, 3.13vw, 3.6rem);
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-parts__subtitle {
    font-size: clamp(2.4rem, 5vw, 2.8rem);
  }
}
.c-parts__subtitle::after {
  content: "";
  width: 100%;
  height: 4px;
  background-image: linear-gradient(to right, #575757 2px, transparent 2px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  display: block;
}

.c-head_ttl {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .c-head_ttl {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-head_ttl {
    margin-bottom: 3rem;
  }
}
.c-head_ttl span {
  display: block;
  padding-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-head_ttl span {
    padding-bottom: 1.3rem;
  }
}

.c-ttl_border {
  text-align: center;
  font-size: 3.6rem;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-ttl_border {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 480px) {
  .c-ttl_border {
    font-size: 2rem;
  }
}
.c-ttl_border::after {
  width: 100%;
  content: "";
  flex: 1;
  height: 4px;
  background-size: 4px 4px;
  background-repeat: repeat-x;
  display: block;
  background-image: linear-gradient(to left, #575757 2px, transparent 2px);
}

/* == ボタン各種 ============================================== */
.c-parts__btn {
  width: 100%;
  max-width: 304px;
  padding: 20px 0 22px;
  border-radius: 100px;
  color: #FFFFFF;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
}
.c-parts__btn::after {
  content: "";
  position: absolute;
  right: 30px;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
}
.c-parts__btn.--green {
  background-color: #889A63;
}
.c-parts__btn.--yellow {
  background-color: #D6A403;
}

.c-parts__btn__article {
  width: 100%;
  max-width: 192px;
  padding: 8px 0 10px;
  border-radius: 100px;
  color: #FFFFFF;
  background-color: #889A63;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
}
.c-parts__btn__article::after {
  content: "";
  position: absolute;
  right: 15px;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.c-parts__btn__map {
  width: 100%;
  max-width: 238px;
  padding: 8px 10px 10px;
  border: solid 1px #889A63;
  border-radius: 5px;
  color: #889A63;
  background-color: #FFFFFF;
  font-size: 1.5rem;
  font-weight: 500;
  display: flex;
  gap: 0 6px;
  align-items: center;
}
.c-parts__btn__map:before {
  content: "";
  width: 21px;
  height: 20px;
  background-image: url(../img/station/icon_map.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
}
.c-parts__btn__map::after {
  content: "";
  width: 20px;
  aspect-ratio: 1/1;
  margin-left: auto;
  background-image: url(../img/station/icon_external.svg);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
}

/* == footerリンク ============================================== */
.c-parts__link {
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.c-parts__link .c-parts__link__head {
  width: 100dvw;
  max-width: 1350px;
  margin: 0 calc(50% - 50vw) 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .c-parts__link .c-parts__link__head {
    margin-bottom: clamp(32px, 4.17vw, 64px);
  }
}
@media screen and (max-width: 767px) {
  .c-parts__link .c-parts__link__head {
    width: 100%;
    margin-bottom: 32px;
  }
}
.c-parts__link .c-parts__link__head h2 {
  font-size: clamp(3.2rem, 3.13vw, 3.6rem);
  font-weight: 700;
  display: flex;
  gap: 0 10px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-parts__link .c-parts__link__head h2 {
    font-size: clamp(2.2rem, 4.58vw, 2.8rem);
    line-height: 1.3;
  }
}
.c-parts__link .c-parts__link__head h2::before {
  content: "";
  width: 36px;
  aspect-ratio: 1/1;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
}
.c-parts__link .c-parts__link__head span {
  width: 85%;
  color: #333333;
  font-size: 1.7rem;
  font-weight: 700;
  display: flex;
  gap: 0 10px;
  justify-content: center;
  align-items: center;
  position: static;
}
@media screen and (max-width: 767px) {
  .c-parts__link .c-parts__link__head span {
    width: 100%;
    font-size: clamp(1.4rem, 2.92vw, 1.7rem);
  }
}
.c-parts__link .c-parts__link__head span::before, .c-parts__link .c-parts__link__head span::after {
  content: "";
  flex: 1;
  width: 100%;
  height: 4px;
  background-size: 4px 4px;
  background-repeat: repeat-x;
  display: block;
}
.c-parts__link .c-parts__link__head span::before {
  background-image: linear-gradient(to left, #333333 2px, transparent 2px);
}
.c-parts__link .c-parts__link__head span::after {
  background-image: linear-gradient(to right, #333333 2px, transparent 2px);
}
.c-parts__link ul {
  width: calc(100% - 80px);
  display: flex;
  gap: 10px 20px;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .c-parts__link ul {
    flex-wrap: wrap;
    justify-content: left;
  }
}
@media screen and (max-width: 767px) {
  .c-parts__link ul {
    width: 100%;
  }
}
.c-parts__link ul li {
  width: calc((100% - 40px) / 3);
  max-width: 300px;
}
@media screen and (max-width: 1024px) {
  .c-parts__link ul li {
    width: calc((100% - 20px) / 2);
    max-width: unset;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-parts__link ul li {
    width: 100%;
  }
}
.c-parts__link ul li a {
  width: 100%;
  height: 110px;
  padding: 20px 30px 20px 20px;
  border: solid 3px #889A63;
  border-radius: 10px;
  color: #333333;
  font-size: clamp(1.8rem, 1.76vw, 2rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .c-parts__link ul li a {
    height: 75px;
  }
}
@media screen and (max-width: 767px) {
  .c-parts__link ul li a {
    height: 50px;
  }
}
@media screen and (max-width: 480px) {
  .c-parts__link ul li a {
    font-size: 1.5rem;
  }
}
.c-parts__link ul li a::after {
  content: "";
  position: absolute;
  right: 20px;
  transform: rotate(45deg);
  width: 13px;
  height: 13px;
  border-top: 2px solid #889A63;
  border-right: 2px solid #889A63;
}
@media screen and (max-width: 480px) {
  .c-parts__link ul li a::after {
    width: 12px;
    height: 12px;
  }
}
@media screen and (max-width: 767px) {
  .c-parts__link ul li a .pcbr {
    display: none;
  }
}

.c-parts__link.--info .c-parts__link__head h2::before {
  background-image: url(../img/common/icon_info.svg);
}
.c-parts__link.--sightseeing.--singlemodelcoursecp {
  padding-bottom: 100px;
}
.c-parts__link.--sightseeing .c-parts__link__head h2::before {
  background-image: url(../img/common/icon_sightseeing.svg);
}
.c-parts__link.--visit .c-parts__link__head h2::before {
  background-image: url(../img/common/icon_visit.svg);
}

/* == p-ride/p-spotの幅調整用 ============================================== */
.c-parts__spot__wrapper {
  width: 100dvw;
  margin: 0 calc(50% - 50vw) 100px;
  /*@media screen and (max-width:$switch767){
  	margin: 0 calc(50% - 50vw) 80px;
  }*/
}
@media screen and (max-width: 768px) {
  .c-parts__spot__wrapper {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 480px) {
  .c-parts__spot__wrapper {
    margin-bottom: 30px;
  }
}

/* == 各駅周辺の観光情報 ============================================== */
.p-spot {
  position: relative;
  z-index: 10;
  padding: 80px 0;
  background: url("../img/index/bg_paper_green.jpg") no-repeat center/cover;
}
@media screen and (max-width: 600px) {
  .p-spot {
    padding: 60px 0;
  }
}
@media screen and (max-width: 480px) {
  .p-spot {
    padding: 30px 0;
  }
}
.p-spot::before {
  content: "";
  background-image: url(../img/index/news_illust.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  aspect-ratio: 1440/237;
  position: absolute;
  bottom: 100%;
  left: 0;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-spot::before {
    height: 162px;
    top: -162px;
  }
}
@media screen and (max-width: 600px) {
  .p-spot::before {
    height: 112px;
    top: -112px;
  }
}
@media screen and (max-width: 440px) {
  .p-spot::before {
    height: 92px;
    top: -92px;
  }
}
@media screen and (max-width: 375px) {
  .p-spot::before {
    height: 82px;
    top: -82px;
  }
}
.p-spot::after {
  content: "";
  width: 100%;
  max-width: 1000px;
  aspect-ratio: 1076/73;
  background-image: url(../img/index/news_train.svg);
  background-size: cover;
  display: block;
  position: absolute;
  bottom: 99%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-spot::after {
    height: 160px;
    background-repeat: no-repeat;
    background-size: 160%;
    background-position: right bottom 0;
  }
}
.p-spot .title {
  width: 100dvw;
  margin: 0 calc(50% - 50vw);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.p-spot .title h2 {
  color: #333333;
  font-size: clamp(3.2rem, 3.13vw, 3.6rem);
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-spot .title h2 {
    font-size: clamp(2.2rem, 4.58vw, 2.8rem);
    line-height: 1.3;
  }
}
.p-spot .title span {
  width: 85%;
  color: #333333;
  font-size: 1.7rem;
  font-weight: 700;
  display: flex;
  gap: 0 10px;
  justify-content: center;
  align-items: center;
  position: static;
}
@media screen and (max-width: 767px) {
  .p-spot .title span {
    font-size: clamp(1.4rem, 2.92vw, 1.7rem);
  }
}
.p-spot .title span::before, .p-spot .title span::after {
  content: "";
  flex: 1;
  width: 100%;
  max-width: 580px;
  height: 4px;
  background-size: 4px 4px;
  background-repeat: repeat-x;
  display: block;
}
.p-spot .title span::before {
  background-image: linear-gradient(to left, #333333 2px, transparent 2px);
}
.p-spot .title span::after {
  background-image: linear-gradient(to right, #333333 2px, transparent 2px);
}
.p-spot h3 {
  margin: clamp(32px, 3.13vw, 40px) 0;
  font-size: clamp(2.4rem, 2.34vw, 2.6rem);
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-spot h3 {
    margin: clamp(24px, 4vw, 32px);
    font-size: clamp(1.8rem, 3vw, 2.2rem);
  }
}
.p-spot-wrapper {
  width: 85%;
  padding-left: 20px;
  padding-right: 20px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1300px;
}
@media screen and (max-width: 1024px) {
  .p-spot-wrapper {
    width: 90%;
  }
}
.p-spot ul {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 28px clamp(20px, 1.67vw, 30px);
}
.p-spot ul .p-spot-item {
  width: calc((100% - clamp(20px, 1.67vw, 30px) * 5) / 6);
  position: relative;
  display: flex;
}
.p-spot ul .p-spot-item::after {
  content: "";
  width: 50px;
  height: 6px;
  border-top: solid 6px #D6A403;
  position: absolute;
  top: 50%;
  right: -40px;
  z-index: -1;
}
.p-spot ul .p-spot-item:nth-of-type(7)::after, .p-spot ul .p-spot-item:nth-of-type(19)::after, .p-spot ul .p-spot-item:last-of-type::after {
  content: none;
}
.p-spot ul .p-spot-item:nth-of-type(6)::after, .p-spot ul .p-spot-item:nth-of-type(18)::after {
  content: "";
  width: 50px;
  height: 116px;
  border-right: solid 6px #D6A403;
  border-bottom: solid 6px #D6A403;
  position: absolute;
  top: 50%;
  right: -22px;
  z-index: -1;
}
.p-spot ul .p-spot-item:nth-of-type(12)::before, .p-spot ul .p-spot-item:nth-of-type(24)::before {
  content: "";
  width: 50px;
  height: 116px;
  border-top: solid 6px #D6A403;
  border-left: solid 6px #D6A403;
  border-bottom: solid 6px #D6A403;
  position: absolute;
  top: 50%;
  left: -22px;
  z-index: -1;
}
.p-spot ul .p-spot-item a {
  width: 100%;
  padding: 0;
  border: solid 3px #889A63;
  border-radius: 9px;
  background-color: #FFFFFF;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}
.p-spot ul .p-spot-item a .p-spot-name {
  padding: 2px 8px;
  color: #889A63;
  font-size: clamp(2.2rem, 1.83vw, 2.6rem);
  font-weight: 700;
  text-align: left;
  transition: color 0.3s ease;
}
.p-spot ul .p-spot-item a .p-spot-kana {
  width: clamp(125px, 10.42vw, 140px);
  font-size: clamp(1.6rem, 1.33vw, 1.8rem);
  font-weight: 500;
  text-align: left;
  line-height: 1;
  padding-top: 6px;
  padding-bottom: 4px;
  margin-top: auto;
  background-color: #889a63;
  padding-left: 1rem;
  color: #fff;
  position: relative;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px), screen and (min-width: 1076px) {
  .p-spot ul .p-spot-item a .p-spot-kana.--wakamatsu::after {
    border-top-width: 21px;
    border-bottom-width: 21px;
  }
}
@media screen and (min-width: 1168px) and (max-width: 1200px) {
  .p-spot ul .p-spot-item a .p-spot-kana.--miyashita::after {
    border-top-width: 21px;
    border-bottom-width: 21px;
  }
}
@media screen and (min-width: 1158px) and (max-width: 1289px), screen and (min-width: 1350px) {
  .p-spot ul .p-spot-item a .p-spot-kana.--nakagawa::after {
    border-top-width: 21px;
    border-bottom-width: 21px;
  }
}
@media screen and (max-width: 768px), screen and (min-width: 1117px) {
  .p-spot ul .p-spot-item a .p-spot-kana.--kawaguchi::after {
    border-top-width: 21px;
    border-bottom-width: 21px;
  }
}
@media screen and (min-width: 1141px) {
  .p-spot ul .p-spot-item a .p-spot-kana.--tanaka::after {
    border-top-width: 21px;
    border-bottom-width: 21px;
  }
}
.p-spot ul .p-spot-item a .p-spot-kana::after {
  content: "";
  position: absolute;
  top: 0;
  right: -14px;
  width: 0;
  height: 0;
  border-top: 14px solid rgba(0, 0, 0, 0);
  border-bottom: 14px solid rgba(0, 0, 0, 0);
  border-left: 14px solid #889A63;
  transition: border-left 0.3s ease;
}
.p-spot ul .p-spot-item a:hover {
  border-color: #00823E;
  opacity: 1;
}
.p-spot ul .p-spot-item a:hover .p-spot-name {
  color: #00823E;
}
.p-spot ul .p-spot-item a:hover .p-spot-kana {
  background-color: #00823E;
}
.p-spot ul .p-spot-item a:hover .p-spot-kana::after {
  border-left: 14px solid #00823E;
}
@media screen and (max-width: 1200px) {
  .p-spot ul {
    gap: 24px clamp(20px, 1.95vw, 30px);
    justify-content: flex-end;
  }
  .p-spot ul .p-spot-item {
    width: calc((100% - clamp(20px, 1.95vw, 30px) * 4) / 5);
  }
  .p-spot ul .p-spot-item a .p-spot-kana {
    font-size: clamp(1.4rem, 1.37vw, 1.6rem);
  }
  .p-spot ul .p-spot-item:nth-of-type(6)::after, .p-spot ul .p-spot-item:nth-of-type(18)::after {
    border-right: none;
    border-bottom: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(6)::after, .p-spot ul .p-spot-item:nth-of-type(16)::after, .p-spot ul .p-spot-item:nth-of-type(26)::after {
    border-top: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(5)::after, .p-spot ul .p-spot-item:nth-of-type(15)::after, .p-spot ul .p-spot-item:nth-of-type(25)::after {
    width: 50px;
    height: 100px;
    border-right: solid 6px #D6A403;
    border-bottom: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    right: -22px;
  }
  .p-spot ul .p-spot-item:nth-of-type(7)::after, .p-spot ul .p-spot-item:nth-of-type(19)::after, .p-spot ul .p-spot-item:last-of-type::after {
    content: "";
    width: 50px;
    height: 6px;
    border-top: solid 6px #D6A403;
    position: absolute;
    top: 50%;
  }
  .p-spot ul .p-spot-item:nth-of-type(12)::before, .p-spot ul .p-spot-item:nth-of-type(24)::before {
    border: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(10)::before, .p-spot ul .p-spot-item:nth-of-type(20)::before {
    content: "";
    width: 50px;
    height: 100px;
    border-top: solid 6px #D6A403;
    border-left: solid 6px #D6A403;
    border-bottom: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    left: -22px;
    z-index: -1;
  }
}
@media screen and (max-width: 1024px) {
  .p-spot ul {
    gap: 20px clamp(18px, 2.34vw, 24px);
    justify-content: flex-start;
  }
  .p-spot ul .p-spot-item {
    width: calc((100% - clamp(18px, 2.34vw, 24px) * 3) / 4);
  }
  .p-spot ul .p-spot-item:nth-of-type(15)::after, .p-spot ul .p-spot-item:nth-of-type(25)::after {
    border-right: none;
    border-bottom: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(5)::after, .p-spot ul .p-spot-item:nth-of-type(13)::after, .p-spot ul .p-spot-item:nth-of-type(21)::after, .p-spot ul .p-spot-item:last-of-type::after {
    border: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(6)::after, .p-spot ul .p-spot-item:nth-of-type(15)::after, .p-spot ul .p-spot-item:nth-of-type(16)::after, .p-spot ul .p-spot-item:nth-of-type(18)::after, .p-spot ul .p-spot-item:nth-of-type(25)::after, .p-spot ul .p-spot-item:nth-of-type(26)::after {
    width: 50px;
    height: 6px;
    border-top: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    right: -40px;
  }
  .p-spot ul .p-spot-item:nth-of-type(4)::after, .p-spot ul .p-spot-item:nth-of-type(12)::after, .p-spot ul .p-spot-item:nth-of-type(20)::after {
    content: "";
    width: 30px;
    height: 100px;
    border-right: solid 6px #D6A403;
    border-bottom: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    right: -22px;
  }
  .p-spot ul .p-spot-item:nth-of-type(10)::before, .p-spot ul .p-spot-item:nth-of-type(20)::before {
    border: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(8)::before, .p-spot ul .p-spot-item:nth-of-type(16)::before, .p-spot ul .p-spot-item:nth-of-type(24)::before {
    content: "";
    width: 22px;
    height: 100px;
    border-top: solid 6px #D6A403;
    border-left: solid 6px #D6A403;
    border-bottom: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    left: -22px;
    z-index: -1;
  }
}
@media screen and (max-width: 768px) {
  .p-spot ul {
    width: 90%;
    gap: 20px clamp(18px, 3vw, 24px);
    justify-content: flex-end;
  }
  .p-spot ul .p-spot-item {
    width: calc((100% - clamp(18px, 3vw, 24px) * 2) / 3);
  }
  .p-spot ul .p-spot-item:nth-of-type(4)::after, .p-spot ul .p-spot-item:nth-of-type(12)::after, .p-spot ul .p-spot-item:nth-of-type(20)::after {
    border-right: none;
    border-bottom: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(3)::after, .p-spot ul .p-spot-item:nth-of-type(4)::after, .p-spot ul .p-spot-item:nth-of-type(9)::after, .p-spot ul .p-spot-item:nth-of-type(10)::after, .p-spot ul .p-spot-item:nth-of-type(15)::after, .p-spot ul .p-spot-item:nth-of-type(16)::after, .p-spot ul .p-spot-item:nth-of-type(22)::after {
    border-top: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(5)::after, .p-spot ul .p-spot-item:nth-of-type(13)::after, .p-spot ul .p-spot-item:nth-of-type(20)::after {
    content: "";
    width: 50px;
    height: 6px;
    border-top: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    right: -40px;
  }
  .p-spot ul .p-spot-item:nth-of-type(3)::after, .p-spot ul .p-spot-item:nth-of-type(9)::after, .p-spot ul .p-spot-item:nth-of-type(15)::after, .p-spot ul .p-spot-item:nth-of-type(21)::after, .p-spot ul .p-spot-item:nth-of-type(27)::after {
    content: "";
    width: 22px;
    height: 92px;
    border-top: solid 6px #D6A403;
    border-right: solid 6px #D6A403;
    border-bottom: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    right: -22px;
  }
  .p-spot ul .p-spot-item:nth-of-type(8)::before, .p-spot ul .p-spot-item:nth-of-type(16)::before {
    border-left: none;
    border-bottom: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(6)::before, .p-spot ul .p-spot-item:nth-of-type(12)::before, .p-spot ul .p-spot-item:nth-of-type(18)::before {
    content: "";
    width: 22px;
    height: 92px;
    border-top: solid 6px #D6A403;
    border-left: solid 6px #D6A403;
    border-bottom: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    left: -22px;
    z-index: -1;
  }
  .p-spot ul .p-spot-item a .p-spot-name {
    font-size: clamp(2rem, 2.87vw, 2.2rem);
    text-align: left;
  }
  .p-spot ul .p-spot-item a .p-spot-kana {
    width: clamp(110px, 18.83vw, 130px);
    font-size: clamp(1.4rem, 2.33vw, 1.6rem);
  }
}
@media screen and (max-width: 600px) {
  .p-spot ul {
    width: 100%;
    gap: 20px 20px;
    justify-content: flex-end;
  }
  .p-spot ul .p-spot-item {
    width: calc((100% - 20px) / 2);
  }
  .p-spot ul .p-spot-item:nth-of-type(9)::after, .p-spot ul .p-spot-item:nth-of-type(7)::after {
    content: "";
    border: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(1)::after, .p-spot ul .p-spot-item:nth-of-type(4)::after, .p-spot ul .p-spot-item:nth-of-type(5)::after {
    content: "";
    width: 40px;
    height: 6px;
    border-top: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    right: -40px;
  }
  .p-spot ul .p-spot-item:nth-of-type(2)::after, .p-spot ul .p-spot-item:nth-of-type(20)::after {
    content: "";
    width: 22px;
    height: 92px;
    border-right: solid 6px #D6A403;
    border-bottom: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    right: -22px;
  }
  .p-spot ul .p-spot-item:nth-of-type(6)::before {
    content: "";
    border: none;
  }
  .p-spot ul .p-spot-item:nth-of-type(11)::before {
    content: "";
    width: 22px;
    height: 92px;
    border-top: solid 6px #D6A403;
    border-left: solid 6px #D6A403;
    border-bottom: solid 6px #D6A403;
    position: absolute;
    top: 50%;
    left: -22px;
    z-index: -1;
  }
  .p-spot ul .p-spot-item.sp-none {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .p-spot ul .p-spot-item a .p-spot-name {
    padding: 3px 6px;
  }
  .p-spot ul .p-spot-item a .p-spot-kana {
    padding-left: 6px;
  }
}

/* == モーダル ============================================== */
/* == 沿線交通情報 ============================================== */
.p-secondary {
  margin-bottom: 10rem;
}
@media screen and (max-width: 600px) {
  .p-secondary {
    margin-bottom: 6rem;
  }
}
.p-secondary-inr {
  max-width: 1114px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.p-secondary h2 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 768px) {
  .p-secondary h2 {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 600px) {
  .p-secondary h2 {
    margin-bottom: 3rem;
  }
}
.p-secondary-wrap {
  padding: 2.2rem 3.5rem 2.2rem 1.4rem;
  background-color: #f2f2f2;
  border-radius: 0.6rem;
  display: flex !important;
  gap: 0 3rem;
}
@media screen and (max-width: 600px) {
  .p-secondary-wrap {
    padding: 0.9rem 1.5rem 0.9rem 0.9rem;
    gap: 0 1rem;
    align-items: center;
  }
}
.p-secondary-wrap img {
  width: 100%;
  aspect-ratio: 444/275;
  max-width: 100%;
  min-width: 0;
  object-fit: cover;
}
@media screen and (max-width: 600px) {
  .p-secondary-wrap img {
    max-width: 11.2rem;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center;
  }
}
.p-secondary_slider {
  position: relative;
}
.p-secondary .swiper {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.p-secondary .swiper-slide {
  border: 0;
  width: 100% !important;
  margin: 0 !important;
  text-align: initial !important;
}
@media screen and (max-width: 600px) {
  .p-secondary .swiper-slide {
    border: 0;
    width: 100% !important;
    margin: 0 !important;
    text-align: initial !important;
  }
}
.p-secondary .secondary-prev, .p-secondary .secondary-next {
  height: 60px;
  display: flex;
  align-items: center;
}
.p-secondary .secondary-prev::after, .p-secondary .secondary-next::after {
  content: url(../img/common/pagination_arrow_L-prev.svg);
  width: 100%;
  height: 100%;
  line-height: normal;
  display: block;
}
.p-secondary .secondary-next::after {
  scale: -1 1;
}
.p-secondary .swiper-button-lock {
  opacity: 0.4;
  cursor: auto;
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  .p-secondary .swiper-button-next,
.p-secondary .swiper-button-prev {
    width: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .p-secondary .swiper-button-next {
    right: 20px;
    transform: translateX(100%);
  }
}
@media screen and (max-width: 600px) {
  .p-secondary .swiper-button-prev {
    left: 20px;
    transform: translateX(-100%);
  }
}
.p-secondary-head {
  display: flex;
  align-items: center;
  gap: 0 0.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 2.2rem;
}
@media screen and (max-width: 600px) {
  .p-secondary-head {
    gap: 0 0.4rem;
    font-size: 1.3rem;
    margin-bottom: 0.8rem;
    line-height: 1;
  }
}
.p-secondary h3 {
  font-size: 2.4rem;
  font-weight: 500;
  color: #889a63;
  margin-bottom: 2rem;
}
@media screen and (max-width: 600px) {
  .p-secondary h3 {
    font-size: 1.7rem;
    margin-bottom: 0;
    line-height: 1.4117647059;
  }
}
.p-secondary time {
  color: #333333;
}
.p-secondary p {
  color: #333333;
  font-size: 1.5rem;
  line-height: 2.2;
}
@media screen and (max-width: 600px) {
  .p-secondary p {
    display: none;
  }
}

/* == 観光情報 ============================================== */
.p-transportation-inr {
  max-width: 1114px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.p-transportation h2 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-transportation h2 {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-transportation h2 {
    margin-bottom: 3rem;
  }
}
.p-transportation-box {
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.p-transportation-box p {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  max-width: 30.4rem;
  width: 100%;
  border-radius: 3.2rem;
  background-color: #889a63;
  color: #fff;
  transform: translateX(-50%);
  height: 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-transportation-box p {
    bottom: 1.3rem;
  }
}
.p-transportation-box a img {
  transition: transform 0.6s ease;
}
.p-transportation-box a:hover {
  opacity: 1;
}
.p-transportation-box a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 767px) {
  .p-transportation-box a:hover img {
    transition: transform 0.6s ease;
  }
}

/******************************************************
  component
******************************************************/
/******************************************************
  layout
******************************************************/
/* == base ============================================== */
html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  font-size: 2.048vw;
  line-height: 1.7;
  color: #333333;
}

main {
  display: block;
  position: relative;
  overflow: visible !important;
}

.main-top::before {
  content: "";
  width: 100dvw;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  background-image: url(../img/common/bg_white-paper.jpg);
  background-repeat: repeat;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a:hover {
  cursor: pointer;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.sp_only {
  display: none !important;
}

.pc_only {
  display: block !important;
}

.contents_wrap {
  padding-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  .sp_only {
    display: block !important;
  }

  .pc_only {
    display: none !important;
  }
}
/* == common ================================================== */
.fixed {
  height: 100%;
  overflow: hidden;
}

.u-rounded1c {
  font-family: "M PLUS Rounded 1c";
}

.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 30.4rem;
  height: 6.4rem;
  margin: 0 auto;
  margin-top: 4rem;
  border: none;
  border-radius: 32px;
  background-color: #879a63;
  font-size: 1.7rem;
  font-weight: 900;
  letter-spacing: 0;
  cursor: pointer;
  z-index: 1;
  transition: 0.3s;
  overflow: hidden;
  /*@media screen and (max-width: 767px) {
  	width: 90%;
  }*/
}
@media screen and (max-width: 767px) {
  .c-btn {
    width: 19.2rem;
    height: 4.1rem;
  }
}
.c-btn a {
  color: #fff !important;
  display: block;
  width: 100%;
  height: 100%;
  line-height: 3.6;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-btn a {
    line-height: 4.1rem;
  }
}
.c-btn::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: solid 2px #879a63;
  border-radius: 35px;
  box-sizing: border-box;
  z-index: -1;
  transform: scale(0);
  opacity: 0;
  transition: transform ease 0.3s, opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .c-btn::before {
    display: none;
  }
}
.c-btn::after {
  content: "";
  position: absolute;
  right: 32px;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media screen and (max-width: 767px) {
  .c-btn::after {
    right: 17px;
    width: 13px;
    height: 13px;
  }
}
.c-btn:hover {
  background: #697b48;
}
.c-btn:hover a {
  opacity: 1;
}
.c-btn:hover::before {
  transform: scale(1.1);
  opacity: 1;
}
.c-btn.--secondary {
  background-color: #63729a;
}
.c-btn:hover.--secondary {
  background-color: #4c5877;
}
@media screen and (max-width: 767px) {
  .c-btn:hover.--secondary {
    background-color: #63729a;
  }
}

/*** title ******************************************/
.title {
  display: block;
  position: relative;
}

.title h2 {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.title .sub {
  position: relative;
  font-size: 1.7rem;
  letter-spacing: 0em;
  line-height: 1;
  font-weight: 700;
  font-family: "Noto Sans JP";
  text-align: center;
  margin-top: 4px;
}

.title .sub::before,
.title .sub::after {
  content: "";
  position: absolute;
  top: 2px;
  width: calc(50% - 28px);
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

.sub::before {
  left: 0;
}

.sub::after {
  right: 0;
}

@media screen and (max-width: 767px) {
  .title h2 {
    font-size: 2.2rem;
    line-height: 1.5;
  }

  .title .sub {
    font-size: 1.2rem !important;
    max-width: 21.4rem;
    margin-left: auto;
    margin-right: auto;
  }

  .title .sub::before,
.title .sub::after {
    content: "";
    width: 8.6rem;
    height: 100%;
  }
}
.insta h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
}

.insta .title .sub {
  top: -8px;
  line-height: 2.5;
}

.access_search h3,
.insta-text-wrapper h3 {
  position: relative;
  font-size: 2.4rem;
  display: inline-block;
}

.access_search h3::before,
.insta-text-wrapper h3::before {
  content: "";
  position: absolute;
  bottom: -22px;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

/* slash ***************************/
.slash {
  display: flex;
  justify-content: center;
  align-items: baseline;
  position: relative;
  letter-spacing: 0em;
  font-weight: 400;
}

.slash::before,
.slash::after {
  content: "";
  width: 25px;
  height: 1px;
  background-color: #333333;
  margin: 0px 4px 4px;
}

.slash::before {
  transform: rotate(54deg);
}

.slash::after {
  transform: rotate(-54deg);
}

.l-inner {
  width: 81.94%;
  margin: 0 auto;
}

/* == 多言語LP用バナー =============================================== */
.top__bnr {
  position: fixed;
  right: 0;
  bottom: min(6.11vw, 88px);
  width: clamp(200px, 20.83vw, 300px);
  z-index: 100;
  opacity: 1;
  transition: all 0.3s;
}

.top__bnr:hover {
  transition: 0.3s;
  opacity: 0.8;
}

.top__bnr.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.guide_img-frame.ja,
.en .guide_img-frame.en,
.zh-TW .guide_img-frame.cn,
.zh-CN .guide_img-frame.cn {
  display: block;
}

.guide_img-frame.en,
.guide_img-frame.cn,
.en .guide_img-frame.ja,
.en .guide_img-frame.cn,
.zh-TW .guide_img-frame.ja,
.zh-TW .guide_img-frame.en,
.zh-CN .guide_img-frame.ja,
.zh-CN .guide_img-frame.en {
  display: none;
}

/* == mv ================================================== */
.mv {
  position: relative;
  left: 0;
  width: 100dvw;
  height: 39.5238095238vw;
  max-height: 664px;
  margin: 0 calc(50% - 50vw);
  z-index: 0;
}
.mv .swiper-wrapper {
  margin-top: 0;
}
.mv .swiper-slide {
  width: 100% !important;
}

@media screen and (max-width: 767px) {
  .mv {
    height: 100.8vw;
    max-height: 378px;
  }
}
/*** Main Visual Slider ***************************/
.mv_swiper {
  position: fixed;
  width: 100%;
}

.mv_swiper .swiper-slide {
  object-fit: cover;
  width: 100%;
}

.mv_swiper .swiper-slide .mv_slide {
  height: 39.5238095238vw;
  max-height: 664px;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

@media screen and (max-width: 767px) {
  .mv_swiper .swiper-slide .mv_slide {
    height: 100.8vw;
    max-height: 378px;
  }
}
/* スライドに表示する画像 */
.mv_swiper .swiper-slide .mv_slide.--01 {
  background-image: url("../img/index/mv_slider_01.jpg");
}

.mv_swiper .swiper-slide .mv_slide.--02 {
  background-image: url("../img/index/mv_slider_02.jpg");
}

.mv_swiper .swiper-slide .mv_slide.--03 {
  background-image: url("../img/index/mv_slider_03.jpg");
}

.mv_swiper .swiper-slide .mv_slide.--04 {
  background-image: url("../img/index/mv_slider_04.jpg");
}

.mv_swiper .swiper-slide .mv_slide.--05 {
  background-image: url("../img/index/mv_slider_05.jpg");
}

@supports (background-image: url("../img/index/mv_slider_01.webp")) {
  .mv_swiper .swiper-slide .mv_slide.--01 {
    background-image: url("../img/index/mv_slider_01.webp");
  }

  .mv_swiper .swiper-slide .mv_slide.--02 {
    background-image: url("../img/index/mv_slider_02.webp");
  }

  .mv_swiper .swiper-slide .mv_slide.--03 {
    background-image: url("../img/index/mv_slider_03.webp");
  }

  .mv_swiper .swiper-slide .mv_slide.--04 {
    background-image: url("../img/index/mv_slider_04.webp");
  }

  .mv_swiper .swiper-slide .mv_slide.--05 {
    background-image: url("../img/index/mv_slider_05.webp");
  }
}
/* スライド アクティブ時 */
.mv_swiper .swiper-slide-active .mv_slide,
.mv_swiper .swiper-slide-duplicate-active .mv_slide,
.mv_swiper .swiper-slide-prev .mv_slide {
  animation: mvFadeIn 10s linear 0s 1 normal both;
}

@keyframes mvFadeIn {
  0% {
    transform: scale(1);
    opacity: 0.9;
  }
  100% {
    transform: scale(1.15);
    opacity: 1;
  }
}
.mv h1 {
  position: absolute;
  color: #ffffff;
  top: 19.7619047619vw;
  transform: translate(-50%, -50%);
  left: 50%;
  z-index: 15;
  font-size: clamp(4rem, 3.91vw, 5rem);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .mv h1 {
    font-size: clamp(2.3rem, 4.79vw, 4rem);
  }
}
@media screen and (max-width: 767px) {
  .mv h1 {
    top: 24.5rem;
    line-height: 1.4782608696;
  }
}
/*** 共通 ***************************/
.news-inr,
.guide-inr,
.p-ride-inr {
  max-width: 1080px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .news-inr,
.guide-inr,
.p-ride-inr {
    width: 84.8%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 480px) {
  .news-inr,
.guide-inr,
.p-ride-inr {
    width: 100%;
  }
}

/*** menu ***************************/
.p-menu {
  padding: 15.5rem 0 10rem;
}
@media screen and (max-width: 1024px) {
  .p-menu {
    padding: 12rem 0 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-menu {
    padding: 7.8rem 0 6.3rem;
  }
}
@media screen and (max-width: 480px) {
  .p-menu {
    padding-bottom: 1rem;
  }
}
.p-menu:before {
  content: "";
  background-image: url(../img/index/mv_img_point.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 28.6904761905vw;
  max-width: 482px;
  height: 11.4285714286vw;
  max-height: 192px;
  z-index: 10;
}
@media screen and (max-width: 1024px) {
  .p-menu:before {
    content: "";
    width: 19rem;
    max-width: 19rem;
    height: 7.6rem;
    max-height: 7.6rem;
  }
}
.p-menu ul {
  max-width: 1080px;
  width: 85.8333333333vw;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
  position: relative;
  z-index: 10;
  /*@media screen and (max-width:768px){
  	gap: 20px 20px;
  }*/
}
@media screen and (max-width: 1024px) {
  .p-menu ul {
    width: 85.3333333333%;
    flex-wrap: wrap;
    gap: 20px clamp(12px, 2vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  .p-menu ul {
    width: 100%;
  }
}
.p-menu li {
  width: calc((100% - 90px) / 4);
  border-radius: 6px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  overflow: hidden;
  /*@media screen and (max-width:768px){
  	width: calc((100% - 20px) / 2);
  }*/
}
@media screen and (max-width: 1024px) {
  .p-menu li {
    width: calc((100% - clamp(12px, 2vw, 20px)) / 2);
  }
}
.p-menu-img {
  aspect-ratio: 338/201;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .p-menu-img {
    aspect-ratio: 154/68;
  }
}
.p-menu-img img {
  transform: scale(1);
  transition: transform 0.6s ease;
}
.p-menu a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 1024px) {
  .p-menu a:hover img {
    transform: scale(1);
  }
}
.p-menu p {
  color: #333333;
  font-size: clamp(2.2rem, 2.86vw, 2.8rem);
  text-align: center;
  padding: 1rem 0;
  font-weight: 700;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-menu p {
    font-size: clamp(1.9rem, 3.17vw, 2.2rem);
    padding: 1rem 0;
    line-height: 1;
  }
}

/*** NEWS ***************************/
.news {
  margin: 9.2rem 0 15rem;
}
@media screen and (max-width: 1024px) {
  .news {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 768px) {
  .news {
    margin: 4.4rem 0 11rem;
  }
}
.news-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.8rem;
  max-width: 1076px;
  margin: 4rem auto 0;
}
@media screen and (max-width: 768px) {
  .news-list {
    grid-template-columns: repeat(2, 1fr);
    margin: 3rem auto 0;
  }
}
@media screen and (max-width: 480px) {
  .news-list {
    gap: 1.8rem;
  }
}
.news-list__thumb {
  width: 100%;
  aspect-ratio: 340/193;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 768px) {
  .news-list__thumb {
    aspect-ratio: 150/108;
    border-radius: 5px;
    margin-bottom: 1rem;
  }
}
.news time {
  color: #333333;
  font-size: 1.4rem;
  font-weight: 700;
  margin-top: 0.8rem;
  display: block;
}
@media screen and (max-width: 600px) {
  .news time {
    display: none;
  }
}
.news p {
  color: #333333;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .news p {
    font-weight: 1.8rem;
  }
}
@media screen and (max-width: 600px) {
  .news p {
    font-size: 1.4rem !important;
    font-weight: 400;
    line-height: 1.5294117647;
  }
}
.news img {
  transform: scale(1);
  transition: transform 0.6s ease;
  object-fit: cover;
  width: 100%;
  height: 100%;
  max-width: initial;
  position: absolute;
  top: -50%;
  right: -50%;
  bottom: -50%;
  left: -50%;
  margin: auto;
}
.news a:hover {
  opacity: 1;
}
.news a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .news a:hover img {
    transform: scale(1);
  }
}
@media screen and (max-width: 768px) {
  .news .news-list__item:nth-of-type(3) {
    display: none;
  }
}

/* == ガイド ============================================== */
.guide {
  padding-bottom: 11rem;
}
@media screen and (max-width: 767px) {
  .guide {
    padding-bottom: 7rem;
  }
}
.guide-wrap {
  display: flex;
  max-width: 1076px;
  margin: 10rem auto 0;
  gap: 0 8.5501858736%;
}
@media screen and (max-width: 767px) {
  .guide-wrap {
    flex-direction: column;
    margin: 4rem auto 0;
    gap: 4rem 0;
  }
}
@media screen and (max-width: 480px) {
  .guide-wrap {
    gap: 2rem 0;
  }
}
.guide-img {
  width: 48.6988847584%;
}
@media screen and (max-width: 767px) {
  .guide-img {
    width: 100%;
  }
}
.guide-contents {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .guide-contents {
    flex: initial;
  }
}
.guide-contents p {
  font-size: 2rem;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .guide-contents p {
    font-size: 1.7rem;
    line-height: 1.6470588235;
  }
}
@media screen and (max-width: 480px) {
  .guide-contents p {
    font-size: 1.6rem;
  }
}
.guide .guide-btn + .guide-btn {
  margin-top: 2.8rem;
}
@media screen and (max-width: 767px) {
  .guide .guide-btn + .guide-btn {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .guide .c-btn {
    width: 90%;
    height: 6.4rem;
  }
}
@media screen and (max-width: 767px) {
  .guide .c-btn a {
    line-height: 6.4rem;
  }
}
@media screen and (max-width: 767px) {
  .guide .c-btn::after {
    right: 30px;
  }
}

/* == 只見線に乗車する前に必見！ ============================================== */
.p-ride {
  position: relative;
  margin-bottom: clamp(240px, 23.44vw, 400px);
}
@media screen and (max-width: 768px) {
  .p-ride {
    margin-bottom: clamp(140px, 23.33vw, 200px);
  }
}
@media screen and (max-width: 440px) {
  .p-ride {
    margin-bottom: 120px;
  }
}
@media screen and (max-width: 375px) {
  .p-ride {
    margin-bottom: 100px;
  }
}
.p-ride .title .sub::before,
.p-ride .title .sub::after {
  width: calc(50% - 144px);
}
.p-ride ul {
  max-width: 1076px;
  margin: 10rem auto 0;
}
@media screen and (max-width: 768px) {
  .p-ride ul {
    margin: 4rem auto 0;
  }
}
.p-ride li {
  box-shadow: 0px 3px 13px rgba(0, 0, 0, 0.16);
  border-radius: 10px;
  overflow: hidden;
}
.p-ride li + li {
  margin-top: 5.6rem;
}
@media screen and (max-width: 768px) {
  .p-ride li + li {
    margin-top: 4rem;
  }
}
.p-ride-wrap {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-ride-wrap {
    flex-direction: column;
  }
}
.p-ride-img {
  width: 42.750929368%;
  position: relative;
  aspect-ratio: 92/49;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-ride-img {
    width: 100%;
    position: relative;
    aspect-ratio: 323/171;
  }
}
.p-ride-img img {
  height: 100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.6s ease;
}
.p-ride-img h3 {
  position: absolute;
  left: 0;
  bottom: 18px;
  width: 21rem;
  padding-left: 16px;
  color: #fff;
  line-height: 5rem;
  background-color: #889a63;
  font-size: 2.7rem;
}
@media screen and (max-width: 768px) {
  .p-ride-img h3 {
    width: 19rem;
    padding-left: 19px;
    line-height: 3rem;
    font-size: 1.4rem;
  }
}
.p-ride-img h3::after {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  /* 三角部分の幅 */
  width: 0;
  height: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 20px solid #889a63;
  /* 山形部分の色 */
}
@media screen and (max-width: 768px) {
  .p-ride-img h3::after {
    right: -16px;
    border-top: 16px solid rgba(0, 0, 0, 0);
    border-bottom: 16px solid rgba(0, 0, 0, 0);
    border-left: 16px solid #889a63;
  }
}
.p-ride a:hover {
  opacity: 1;
}
.p-ride a:hover img {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .p-ride a:hover img {
    transform: scale(1);
  }
}
.p-ride-contents {
  flex: 1;
  padding: 4rem 4.9256505576% 4rem 5.6691449814%;
  font-weight: 700;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 1024px) {
  .p-ride-contents {
    padding: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-ride-contents {
    flex: initial;
    padding: 2.4rem 2rem 3.2rem;
    line-height: 1.8;
  }
}
@media screen and (max-width: 600px) {
  .p-ride-contents {
    flex: initial;
    padding: 1.6rem 1.4rem 2rem;
    line-height: 1.8;
  }
}
.p-ride-contents p {
  color: #333333;
}
@media screen and (max-width: 768px) {
  .p-ride-contents p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .p-ride-contents p {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-ride-bottom_img {
    background-repeat: no-repeat;
    background-size: 160%;
    background-position: right bottom 0;
    height: 14.3rem;
  }
}

/* == bnrarea ============================================== */
.bnrarea .bnrarea-inr {
  max-width: 1080px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .bnrarea .bnrarea-inr {
    width: 84.8%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 480px) {
  .bnrarea .bnrarea-inr {
    width: 100%;
  }
}
.bnrarea ul {
  display: flex;
  gap: 24px 24px;
  justify-content: flex-start;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .bnrarea ul {
    gap: 24px 12px;
  }
}
.bnrarea ul li {
  width: calc((100% - 48px) / 3);
  /*&:nth-of-type(8){ 
  	order: 8; 

  	img{
  		border: 1px solid #808080;
  	}
  }*/
}
@media screen and (max-width: 1024px) {
  .bnrarea ul li {
    width: calc((100% - 24px) / 3);
  }
}
@media screen and (max-width: 768px) {
  .bnrarea ul li {
    width: calc((100% - 12px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .bnrarea ul li {
    width: 100%;
  }
}
.bnrarea ul li:nth-of-type(1) {
  order: 1;
}
.bnrarea ul li:nth-of-type(2) {
  order: 2;
}
.bnrarea ul li:nth-of-type(3) {
  order: 3;
}
.bnrarea ul li:nth-of-type(3) img {
  border: 1px solid #808080;
}
.bnrarea ul li:nth-of-type(4) {
  order: 4;
}
.bnrarea ul li:nth-of-type(5) {
  order: 5;
}
.bnrarea ul li:nth-of-type(6) {
  order: 6;
}
.bnrarea ul li:nth-of-type(7) {
  order: 7;
}
@media screen and (max-width: 768px) {
  .bnrarea ul li:nth-of-type(7) {
    order: 3;
  }
}

/* == instagram ============================================== */
.insta {
  position: relative;
  width: 100%;
  height: 800px;
  text-align: center;
  overflow: hidden;
  padding-top: 80px;
  display: flex;
  justify-content: center;
  z-index: 3;
  font-family: "Noto Sans JP";
}

.insta-wrapper {
  position: relative;
  width: 497px;
  z-index: 1;
}

.insta-wrapper::before {
  content: "";
  background-image: url(../img/index/insta_mountain.svg);
  background-repeat: no-repeat;
  background-size: 926px 647px;
  width: 926px;
  height: 647px;
  position: absolute;
  bottom: -10%;
  left: -10%;
  z-index: -5;
}

.insta-text-wrapper::before {
  content: "";
  background-image: url(../img/index/insta_camera.png), url(../img/index/insta_iphone.png);
  background-repeat: no-repeat;
  background-size: 94px 95px, 65px 95px;
  background-position: top 0 left 0, bottom 166px right 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.insta-text-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 100%;
  position: relative;
  padding-top: 80px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0em;
}

.insta-text-wrapper h2 {
  margin-top: 0;
  position: relative;
}

.insta-text-wrapper .insta-copy {
  font-size: 2rem;
  font-weight: 500;
  color: #1b3b12;
  margin: 30px 0 24px 0;
}

.insta-text-wrapper h3 {
  margin-top: 80px;
  margin-bottom: 30px;
  font-weight: 600;
}

.insta_follow {
  font-size: 1.8rem;
}

.insta_sns {
  width: 110px;
  margin: 0 auto;
}

.sns_icon-wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

.sns_icon-wrapper img {
  filter: invert(58%) sepia(13%) saturate(1000%) hue-rotate(40deg) brightness(134%) contrast(94%);
}

.sns_icon-wrapper img:hover {
  opacity: 0.7;
  transition: 0.3s;
}

@media screen and (max-width: 950px) {
  .insta-wrapper {
    width: 500px;
  }

  .insta-text-wrapper::before {
    background-size: 69px 70px, 50px 75px;
    background-position: top 24px left 0, bottom 178px right 0;
  }

  .insta_slide {
    justify-content: center;
  }
}
/* insta slider *******************************/
.insta {
  gap: 0 clamp(40px, 5.21vw, 100px);
}
.insta .insta-text-wrapper p .tbbr {
  display: none;
}
@media screen and (max-width: 768px) {
  .insta .insta-text-wrapper p .tbbr {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .insta .insta-text-wrapper p .tbbr {
    display: none;
  }
}
.insta .insta_slide {
  display: flex;
  gap: 0 32px;
  justify-content: center;
  margin-top: 3px;
  z-index: 5;
  width: auto;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .insta .insta_slide {
    gap: 0 clamp(24px, 3.13vw, 32px);
  }
}
@media screen and (max-width: 767px) {
  .insta .insta_slide {
    gap: 0 16px;
  }
}
.insta .insta_slide .insta_slide-wrap {
  width: calc((100% - 32px) / 2);
  display: inline-block;
  max-width: 400px;
}
@media screen and (max-width: 1024px) {
  .insta .insta_slide .insta_slide-wrap {
    width: calc((100% - clamp(24px, 3.13vw, 32px)) / 2);
  }
}
@media screen and (max-width: 767px) {
  .insta .insta_slide .insta_slide-wrap {
    width: calc((100% - 16px) / 2);
  }
}
.insta .insta_slide .insta_slide-wrap #sbi_images {
  display: flex !important;
  gap: 32px 0 !important;
  flex-direction: column !important;
}
@media screen and (max-width: 1024px) {
  .insta .insta_slide .insta_slide-wrap #sbi_images {
    gap: clamp(24px, 3.13vw, 32px) 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .insta .insta_slide .insta_slide-wrap #sbi_images {
    gap: 16px 0;
  }
}
.insta .insta_slide .insta_slide-wrap #sbi_images .sbi_item {
  border-radius: 20px !important;
}

@media screen and (max-width: 767px) {
  .insta {
    height: 900px;
    padding-top: 80px;
    flex-direction: column;
  }

  .insta-wrapper {
    width: 84.8%;
    margin-left: auto;
    margin-right: auto;
  }

  .insta-wrapper::before {
    content: "";
    background-image: url(../img/index/insta_mountain.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center right -5%;
    width: 100vw;
    height: 36.4rem;
    position: absolute;
    bottom: -30%;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    z-index: -5;
  }

  .insta-text-wrapper::before {
    background-size: 53px 50px, 43px 60px;
    background-position: top 12px left 12px, top 0 right 12px;
  }

  .insta-text-wrapper {
    padding-top: 0;
    margin-bottom: 60px;
  }
  .insta-text-wrapper p {
    font-size: 1.5rem !important;
  }
  .insta-text-wrapper .insta-copy {
    font-size: 1.8rem !important;
    margin: 2rem 0 1rem;
  }

  .insta-text-wrapper h2 {
    margin-top: 0;
    position: relative;
  }

  .insta-text-wrapper h3 {
    display: none;
  }

  .insta_follow {
    font-size: 1.8rem;
  }

  .slash {
    display: none;
  }

  .sns_icon-wrapper {
    margin-top: 2.7rem;
  }

  .sns_icon-wrapper img:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 600px) {
  .insta {
    height: auto;
    padding-bottom: 40px;
    overflow: visible;
  }
  .insta .insta-text-wrapper {
    margin-bottom: 20px;
  }
  .insta .insta_slide {
    overflow: visible;
  }
  .insta .insta_slide .insta_slide-wrap.top {
    width: 100%;
  }
  .insta .insta_slide .insta_slide-wrap.top ul {
    margin: 0 calc(50% - 50vw);
    display: flex;
  }
  .insta .insta_slide .insta_slide-wrap.top ul li {
    padding-right: 10px !important;
  }
  .insta .insta_slide .insta_slide-wrap.top ul li #sb_instagram #sbi_images {
    flex-direction: row !important;
    gap: 0 10px !important;
  }
  .insta .insta_slide .insta_slide-wrap.top ul li #sb_instagram #sbi_images .sbi_item {
    width: 200px !important;
    aspect-ratio: 1/1;
  }
  .insta .insta_slide .insta_slide-wrap.bottom {
    display: none !important;
  }
}
@media screen and (max-width: 480px) {
  .insta {
    padding-top: 60px;
  }
}
/* == footer ============================================== */
footer:before,
footer:after {
  display: none;
}

/******************************************************
  TOPページのインスタグラム用アニメーション
******************************************************/
.insta_slide-wrap.top ul li:first-child {
  /* transform: translateY(100%); */
  will-change: transform;
  animation-name: slideToTop;
  animation-timing-function: linear;
  animation-duration: 150s;
  animation-delay: -75s;
  animation-iteration-count: infinite;
  /* -webkit-transform: translateY(100%); */
  /* -webkit-animation-name: slideToTop;
  -webkit-animation-duration: 60s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: -30s;
  -webkit-animation-iteration-count: infinite; */
  /* animation: slideToTop 60s -30s linear infinite; */
}
@media screen and (max-width: 600px) {
  .insta_slide-wrap.top ul li:first-child {
    animation-name: slideToRight;
  }
}

.insta_slide-wrap.top ul li:last-child {
  /* transform: translateY(0%); */
  will-change: transform;
  animation-name: slideToTop2;
  animation-duration: 150s;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  /* -webkit-transform: translateY(0%); */
  /* -webkit-animation-name: slideToTop2;
  -webkit-animation-duration: 60s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: 0s;
  -webkit-animation-iteration-count: infinite; */
  /* animation: slideToTop2 60s linear infinite; */
}
@media screen and (max-width: 600px) {
  .insta_slide-wrap.top ul li:last-child {
    animation-name: slideToRight2;
  }
}

.insta_slide-wrap.bottom ul li:first-child {
  /* transform: translateY(-100%); */
  will-change: transform;
  animation-name: slideToBottom;
  animation-duration: 150s;
  animation-timing-function: linear;
  animation-delay: 0s;
  animation-iteration-count: infinite;
  /* -webkit-transform: translateY(-100%); */
  /* -webkit-animation-name: slideToBottom;
  -webkit-animation-duration: 60s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: 0s;
  -webkit-animation-iteration-count: infinite; */
  /* animation: slideToBottom 60s linear infinite; */
}

.insta_slide-wrap.bottom ul li:last-child {
  /* transform: translateY(-200%); */
  will-change: transform;
  animation-name: slideToBottom2;
  animation-duration: 150s;
  animation-timing-function: linear;
  animation-delay: -75s;
  animation-iteration-count: infinite;
  /* -webkit-transform: translateY(-200%); */
  /* -webkit-animation-name: slideToBottom2;
  -webkit-animation-duration: 60s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: -30s;
  -webkit-animation-iteration-count: infinite; */
  /* animation: slideToBottom2 60s -30s linear infinite; */
}

@keyframes slideToTop {
  0% {
    transform: translateY(100%);
  }
  50% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes slideToTop2 {
  0% {
    transform: translateY(0%);
  }
  50% {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(-200%);
  }
}
@keyframes slideToRight {
  0% {
    transform: translateX(100%);
  }
  50% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes slideToRight2 {
  0% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(-200%);
  }
}
@keyframes slideToBottom {
  0% {
    transform: translateY(-100%);
  }
  50% {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
@keyframes slideToBottom2 {
  0% {
    transform: translateY(-200%);
  }
  50% {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0%);
  }
}
@-webkit-keyframes slideToTop {
  from {
    -webkit-transform: translateY(100%);
  }
  to {
    -webkit-transform: translateY(-100%);
  }
}
@-webkit-keyframes slideToTop2 {
  from {
    -webkit-transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(-200%);
  }
}
@-webkit-keyframes slideToBottom {
  from {
    -webkit-transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(100%);
  }
}
@-webkit-keyframes slideToBottom2 {
  from {
    -webkit-transform: translateY(-200%);
  }
  to {
    -webkit-transform: translateY(0%);
  }
}
[data-aos][data-aos][data-aos-duration="50"], body[data-aos-duration="50"] [data-aos] {
  transition-duration: 50ms;
}

[data-aos][data-aos][data-aos-delay="50"], body[data-aos-delay="50"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="50"].aos-animate, body[data-aos-delay="50"] [data-aos].aos-animate {
  transition-delay: 50ms;
}

[data-aos][data-aos][data-aos-duration="100"], body[data-aos-duration="100"] [data-aos] {
  transition-duration: 0.1s;
}

[data-aos][data-aos][data-aos-delay="100"], body[data-aos-delay="100"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="100"].aos-animate, body[data-aos-delay="100"] [data-aos].aos-animate {
  transition-delay: 0.1s;
}

[data-aos][data-aos][data-aos-duration="150"], body[data-aos-duration="150"] [data-aos] {
  transition-duration: 0.15s;
}

[data-aos][data-aos][data-aos-delay="150"], body[data-aos-delay="150"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="150"].aos-animate, body[data-aos-delay="150"] [data-aos].aos-animate {
  transition-delay: 0.15s;
}

[data-aos][data-aos][data-aos-duration="200"], body[data-aos-duration="200"] [data-aos] {
  transition-duration: 0.2s;
}

[data-aos][data-aos][data-aos-delay="200"], body[data-aos-delay="200"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="200"].aos-animate, body[data-aos-delay="200"] [data-aos].aos-animate {
  transition-delay: 0.2s;
}

[data-aos][data-aos][data-aos-duration="250"], body[data-aos-duration="250"] [data-aos] {
  transition-duration: 0.25s;
}

[data-aos][data-aos][data-aos-delay="250"], body[data-aos-delay="250"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="250"].aos-animate, body[data-aos-delay="250"] [data-aos].aos-animate {
  transition-delay: 0.25s;
}

[data-aos][data-aos][data-aos-duration="300"], body[data-aos-duration="300"] [data-aos] {
  transition-duration: 0.3s;
}

[data-aos][data-aos][data-aos-delay="300"], body[data-aos-delay="300"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="300"].aos-animate, body[data-aos-delay="300"] [data-aos].aos-animate {
  transition-delay: 0.3s;
}

[data-aos][data-aos][data-aos-duration="350"], body[data-aos-duration="350"] [data-aos] {
  transition-duration: 0.35s;
}

[data-aos][data-aos][data-aos-delay="350"], body[data-aos-delay="350"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="350"].aos-animate, body[data-aos-delay="350"] [data-aos].aos-animate {
  transition-delay: 0.35s;
}

[data-aos][data-aos][data-aos-duration="400"], body[data-aos-duration="400"] [data-aos] {
  transition-duration: 0.4s;
}

[data-aos][data-aos][data-aos-delay="400"], body[data-aos-delay="400"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="400"].aos-animate, body[data-aos-delay="400"] [data-aos].aos-animate {
  transition-delay: 0.4s;
}

[data-aos][data-aos][data-aos-duration="450"], body[data-aos-duration="450"] [data-aos] {
  transition-duration: 0.45s;
}

[data-aos][data-aos][data-aos-delay="450"], body[data-aos-delay="450"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="450"].aos-animate, body[data-aos-delay="450"] [data-aos].aos-animate {
  transition-delay: 0.45s;
}

[data-aos][data-aos][data-aos-duration="500"], body[data-aos-duration="500"] [data-aos] {
  transition-duration: 0.5s;
}

[data-aos][data-aos][data-aos-delay="500"], body[data-aos-delay="500"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="500"].aos-animate, body[data-aos-delay="500"] [data-aos].aos-animate {
  transition-delay: 0.5s;
}

[data-aos][data-aos][data-aos-duration="550"], body[data-aos-duration="550"] [data-aos] {
  transition-duration: 0.55s;
}

[data-aos][data-aos][data-aos-delay="550"], body[data-aos-delay="550"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="550"].aos-animate, body[data-aos-delay="550"] [data-aos].aos-animate {
  transition-delay: 0.55s;
}

[data-aos][data-aos][data-aos-duration="600"], body[data-aos-duration="600"] [data-aos] {
  transition-duration: 0.6s;
}

[data-aos][data-aos][data-aos-delay="600"], body[data-aos-delay="600"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="600"].aos-animate, body[data-aos-delay="600"] [data-aos].aos-animate {
  transition-delay: 0.6s;
}

[data-aos][data-aos][data-aos-duration="650"], body[data-aos-duration="650"] [data-aos] {
  transition-duration: 0.65s;
}

[data-aos][data-aos][data-aos-delay="650"], body[data-aos-delay="650"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="650"].aos-animate, body[data-aos-delay="650"] [data-aos].aos-animate {
  transition-delay: 0.65s;
}

[data-aos][data-aos][data-aos-duration="700"], body[data-aos-duration="700"] [data-aos] {
  transition-duration: 0.7s;
}

[data-aos][data-aos][data-aos-delay="700"], body[data-aos-delay="700"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="700"].aos-animate, body[data-aos-delay="700"] [data-aos].aos-animate {
  transition-delay: 0.7s;
}

[data-aos][data-aos][data-aos-duration="750"], body[data-aos-duration="750"] [data-aos] {
  transition-duration: 0.75s;
}

[data-aos][data-aos][data-aos-delay="750"], body[data-aos-delay="750"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="750"].aos-animate, body[data-aos-delay="750"] [data-aos].aos-animate {
  transition-delay: 0.75s;
}

[data-aos][data-aos][data-aos-duration="800"], body[data-aos-duration="800"] [data-aos] {
  transition-duration: 0.8s;
}

[data-aos][data-aos][data-aos-delay="800"], body[data-aos-delay="800"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="800"].aos-animate, body[data-aos-delay="800"] [data-aos].aos-animate {
  transition-delay: 0.8s;
}

[data-aos][data-aos][data-aos-duration="850"], body[data-aos-duration="850"] [data-aos] {
  transition-duration: 0.85s;
}

[data-aos][data-aos][data-aos-delay="850"], body[data-aos-delay="850"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="850"].aos-animate, body[data-aos-delay="850"] [data-aos].aos-animate {
  transition-delay: 0.85s;
}

[data-aos][data-aos][data-aos-duration="900"], body[data-aos-duration="900"] [data-aos] {
  transition-duration: 0.9s;
}

[data-aos][data-aos][data-aos-delay="900"], body[data-aos-delay="900"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="900"].aos-animate, body[data-aos-delay="900"] [data-aos].aos-animate {
  transition-delay: 0.9s;
}

[data-aos][data-aos][data-aos-duration="950"], body[data-aos-duration="950"] [data-aos] {
  transition-duration: 0.95s;
}

[data-aos][data-aos][data-aos-delay="950"], body[data-aos-delay="950"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="950"].aos-animate, body[data-aos-delay="950"] [data-aos].aos-animate {
  transition-delay: 0.95s;
}

[data-aos][data-aos][data-aos-duration="1000"], body[data-aos-duration="1000"] [data-aos] {
  transition-duration: 1s;
}

[data-aos][data-aos][data-aos-delay="1000"], body[data-aos-delay="1000"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1000"].aos-animate, body[data-aos-delay="1000"] [data-aos].aos-animate {
  transition-delay: 1s;
}

[data-aos][data-aos][data-aos-duration="1050"], body[data-aos-duration="1050"] [data-aos] {
  transition-duration: 1.05s;
}

[data-aos][data-aos][data-aos-delay="1050"], body[data-aos-delay="1050"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1050"].aos-animate, body[data-aos-delay="1050"] [data-aos].aos-animate {
  transition-delay: 1.05s;
}

[data-aos][data-aos][data-aos-duration="1100"], body[data-aos-duration="1100"] [data-aos] {
  transition-duration: 1.1s;
}

[data-aos][data-aos][data-aos-delay="1100"], body[data-aos-delay="1100"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1100"].aos-animate, body[data-aos-delay="1100"] [data-aos].aos-animate {
  transition-delay: 1.1s;
}

[data-aos][data-aos][data-aos-duration="1150"], body[data-aos-duration="1150"] [data-aos] {
  transition-duration: 1.15s;
}

[data-aos][data-aos][data-aos-delay="1150"], body[data-aos-delay="1150"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1150"].aos-animate, body[data-aos-delay="1150"] [data-aos].aos-animate {
  transition-delay: 1.15s;
}

[data-aos][data-aos][data-aos-duration="1200"], body[data-aos-duration="1200"] [data-aos] {
  transition-duration: 1.2s;
}

[data-aos][data-aos][data-aos-delay="1200"], body[data-aos-delay="1200"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1200"].aos-animate, body[data-aos-delay="1200"] [data-aos].aos-animate {
  transition-delay: 1.2s;
}

[data-aos][data-aos][data-aos-duration="1250"], body[data-aos-duration="1250"] [data-aos] {
  transition-duration: 1.25s;
}

[data-aos][data-aos][data-aos-delay="1250"], body[data-aos-delay="1250"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1250"].aos-animate, body[data-aos-delay="1250"] [data-aos].aos-animate {
  transition-delay: 1.25s;
}

[data-aos][data-aos][data-aos-duration="1300"], body[data-aos-duration="1300"] [data-aos] {
  transition-duration: 1.3s;
}

[data-aos][data-aos][data-aos-delay="1300"], body[data-aos-delay="1300"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1300"].aos-animate, body[data-aos-delay="1300"] [data-aos].aos-animate {
  transition-delay: 1.3s;
}

[data-aos][data-aos][data-aos-duration="1350"], body[data-aos-duration="1350"] [data-aos] {
  transition-duration: 1.35s;
}

[data-aos][data-aos][data-aos-delay="1350"], body[data-aos-delay="1350"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1350"].aos-animate, body[data-aos-delay="1350"] [data-aos].aos-animate {
  transition-delay: 1.35s;
}

[data-aos][data-aos][data-aos-duration="1400"], body[data-aos-duration="1400"] [data-aos] {
  transition-duration: 1.4s;
}

[data-aos][data-aos][data-aos-delay="1400"], body[data-aos-delay="1400"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1400"].aos-animate, body[data-aos-delay="1400"] [data-aos].aos-animate {
  transition-delay: 1.4s;
}

[data-aos][data-aos][data-aos-duration="1450"], body[data-aos-duration="1450"] [data-aos] {
  transition-duration: 1.45s;
}

[data-aos][data-aos][data-aos-delay="1450"], body[data-aos-delay="1450"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1450"].aos-animate, body[data-aos-delay="1450"] [data-aos].aos-animate {
  transition-delay: 1.45s;
}

[data-aos][data-aos][data-aos-duration="1500"], body[data-aos-duration="1500"] [data-aos] {
  transition-duration: 1.5s;
}

[data-aos][data-aos][data-aos-delay="1500"], body[data-aos-delay="1500"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1500"].aos-animate, body[data-aos-delay="1500"] [data-aos].aos-animate {
  transition-delay: 1.5s;
}

[data-aos][data-aos][data-aos-duration="1550"], body[data-aos-duration="1550"] [data-aos] {
  transition-duration: 1.55s;
}

[data-aos][data-aos][data-aos-delay="1550"], body[data-aos-delay="1550"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1550"].aos-animate, body[data-aos-delay="1550"] [data-aos].aos-animate {
  transition-delay: 1.55s;
}

[data-aos][data-aos][data-aos-duration="1600"], body[data-aos-duration="1600"] [data-aos] {
  transition-duration: 1.6s;
}

[data-aos][data-aos][data-aos-delay="1600"], body[data-aos-delay="1600"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1600"].aos-animate, body[data-aos-delay="1600"] [data-aos].aos-animate {
  transition-delay: 1.6s;
}

[data-aos][data-aos][data-aos-duration="1650"], body[data-aos-duration="1650"] [data-aos] {
  transition-duration: 1.65s;
}

[data-aos][data-aos][data-aos-delay="1650"], body[data-aos-delay="1650"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1650"].aos-animate, body[data-aos-delay="1650"] [data-aos].aos-animate {
  transition-delay: 1.65s;
}

[data-aos][data-aos][data-aos-duration="1700"], body[data-aos-duration="1700"] [data-aos] {
  transition-duration: 1.7s;
}

[data-aos][data-aos][data-aos-delay="1700"], body[data-aos-delay="1700"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1700"].aos-animate, body[data-aos-delay="1700"] [data-aos].aos-animate {
  transition-delay: 1.7s;
}

[data-aos][data-aos][data-aos-duration="1750"], body[data-aos-duration="1750"] [data-aos] {
  transition-duration: 1.75s;
}

[data-aos][data-aos][data-aos-delay="1750"], body[data-aos-delay="1750"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1750"].aos-animate, body[data-aos-delay="1750"] [data-aos].aos-animate {
  transition-delay: 1.75s;
}

[data-aos][data-aos][data-aos-duration="1800"], body[data-aos-duration="1800"] [data-aos] {
  transition-duration: 1.8s;
}

[data-aos][data-aos][data-aos-delay="1800"], body[data-aos-delay="1800"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1800"].aos-animate, body[data-aos-delay="1800"] [data-aos].aos-animate {
  transition-delay: 1.8s;
}

[data-aos][data-aos][data-aos-duration="1850"], body[data-aos-duration="1850"] [data-aos] {
  transition-duration: 1.85s;
}

[data-aos][data-aos][data-aos-delay="1850"], body[data-aos-delay="1850"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1850"].aos-animate, body[data-aos-delay="1850"] [data-aos].aos-animate {
  transition-delay: 1.85s;
}

[data-aos][data-aos][data-aos-duration="1900"], body[data-aos-duration="1900"] [data-aos] {
  transition-duration: 1.9s;
}

[data-aos][data-aos][data-aos-delay="1900"], body[data-aos-delay="1900"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1900"].aos-animate, body[data-aos-delay="1900"] [data-aos].aos-animate {
  transition-delay: 1.9s;
}

[data-aos][data-aos][data-aos-duration="1950"], body[data-aos-duration="1950"] [data-aos] {
  transition-duration: 1.95s;
}

[data-aos][data-aos][data-aos-delay="1950"], body[data-aos-delay="1950"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="1950"].aos-animate, body[data-aos-delay="1950"] [data-aos].aos-animate {
  transition-delay: 1.95s;
}

[data-aos][data-aos][data-aos-duration="2000"], body[data-aos-duration="2000"] [data-aos] {
  transition-duration: 2s;
}

[data-aos][data-aos][data-aos-delay="2000"], body[data-aos-delay="2000"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2000"].aos-animate, body[data-aos-delay="2000"] [data-aos].aos-animate {
  transition-delay: 2s;
}

[data-aos][data-aos][data-aos-duration="2050"], body[data-aos-duration="2050"] [data-aos] {
  transition-duration: 2.05s;
}

[data-aos][data-aos][data-aos-delay="2050"], body[data-aos-delay="2050"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2050"].aos-animate, body[data-aos-delay="2050"] [data-aos].aos-animate {
  transition-delay: 2.05s;
}

[data-aos][data-aos][data-aos-duration="2100"], body[data-aos-duration="2100"] [data-aos] {
  transition-duration: 2.1s;
}

[data-aos][data-aos][data-aos-delay="2100"], body[data-aos-delay="2100"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2100"].aos-animate, body[data-aos-delay="2100"] [data-aos].aos-animate {
  transition-delay: 2.1s;
}

[data-aos][data-aos][data-aos-duration="2150"], body[data-aos-duration="2150"] [data-aos] {
  transition-duration: 2.15s;
}

[data-aos][data-aos][data-aos-delay="2150"], body[data-aos-delay="2150"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2150"].aos-animate, body[data-aos-delay="2150"] [data-aos].aos-animate {
  transition-delay: 2.15s;
}

[data-aos][data-aos][data-aos-duration="2200"], body[data-aos-duration="2200"] [data-aos] {
  transition-duration: 2.2s;
}

[data-aos][data-aos][data-aos-delay="2200"], body[data-aos-delay="2200"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2200"].aos-animate, body[data-aos-delay="2200"] [data-aos].aos-animate {
  transition-delay: 2.2s;
}

[data-aos][data-aos][data-aos-duration="2250"], body[data-aos-duration="2250"] [data-aos] {
  transition-duration: 2.25s;
}

[data-aos][data-aos][data-aos-delay="2250"], body[data-aos-delay="2250"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2250"].aos-animate, body[data-aos-delay="2250"] [data-aos].aos-animate {
  transition-delay: 2.25s;
}

[data-aos][data-aos][data-aos-duration="2300"], body[data-aos-duration="2300"] [data-aos] {
  transition-duration: 2.3s;
}

[data-aos][data-aos][data-aos-delay="2300"], body[data-aos-delay="2300"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2300"].aos-animate, body[data-aos-delay="2300"] [data-aos].aos-animate {
  transition-delay: 2.3s;
}

[data-aos][data-aos][data-aos-duration="2350"], body[data-aos-duration="2350"] [data-aos] {
  transition-duration: 2.35s;
}

[data-aos][data-aos][data-aos-delay="2350"], body[data-aos-delay="2350"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2350"].aos-animate, body[data-aos-delay="2350"] [data-aos].aos-animate {
  transition-delay: 2.35s;
}

[data-aos][data-aos][data-aos-duration="2400"], body[data-aos-duration="2400"] [data-aos] {
  transition-duration: 2.4s;
}

[data-aos][data-aos][data-aos-delay="2400"], body[data-aos-delay="2400"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2400"].aos-animate, body[data-aos-delay="2400"] [data-aos].aos-animate {
  transition-delay: 2.4s;
}

[data-aos][data-aos][data-aos-duration="2450"], body[data-aos-duration="2450"] [data-aos] {
  transition-duration: 2.45s;
}

[data-aos][data-aos][data-aos-delay="2450"], body[data-aos-delay="2450"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2450"].aos-animate, body[data-aos-delay="2450"] [data-aos].aos-animate {
  transition-delay: 2.45s;
}

[data-aos][data-aos][data-aos-duration="2500"], body[data-aos-duration="2500"] [data-aos] {
  transition-duration: 2.5s;
}

[data-aos][data-aos][data-aos-delay="2500"], body[data-aos-delay="2500"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2500"].aos-animate, body[data-aos-delay="2500"] [data-aos].aos-animate {
  transition-delay: 2.5s;
}

[data-aos][data-aos][data-aos-duration="2550"], body[data-aos-duration="2550"] [data-aos] {
  transition-duration: 2.55s;
}

[data-aos][data-aos][data-aos-delay="2550"], body[data-aos-delay="2550"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2550"].aos-animate, body[data-aos-delay="2550"] [data-aos].aos-animate {
  transition-delay: 2.55s;
}

[data-aos][data-aos][data-aos-duration="2600"], body[data-aos-duration="2600"] [data-aos] {
  transition-duration: 2.6s;
}

[data-aos][data-aos][data-aos-delay="2600"], body[data-aos-delay="2600"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2600"].aos-animate, body[data-aos-delay="2600"] [data-aos].aos-animate {
  transition-delay: 2.6s;
}

[data-aos][data-aos][data-aos-duration="2650"], body[data-aos-duration="2650"] [data-aos] {
  transition-duration: 2.65s;
}

[data-aos][data-aos][data-aos-delay="2650"], body[data-aos-delay="2650"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2650"].aos-animate, body[data-aos-delay="2650"] [data-aos].aos-animate {
  transition-delay: 2.65s;
}

[data-aos][data-aos][data-aos-duration="2700"], body[data-aos-duration="2700"] [data-aos] {
  transition-duration: 2.7s;
}

[data-aos][data-aos][data-aos-delay="2700"], body[data-aos-delay="2700"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2700"].aos-animate, body[data-aos-delay="2700"] [data-aos].aos-animate {
  transition-delay: 2.7s;
}

[data-aos][data-aos][data-aos-duration="2750"], body[data-aos-duration="2750"] [data-aos] {
  transition-duration: 2.75s;
}

[data-aos][data-aos][data-aos-delay="2750"], body[data-aos-delay="2750"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2750"].aos-animate, body[data-aos-delay="2750"] [data-aos].aos-animate {
  transition-delay: 2.75s;
}

[data-aos][data-aos][data-aos-duration="2800"], body[data-aos-duration="2800"] [data-aos] {
  transition-duration: 2.8s;
}

[data-aos][data-aos][data-aos-delay="2800"], body[data-aos-delay="2800"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2800"].aos-animate, body[data-aos-delay="2800"] [data-aos].aos-animate {
  transition-delay: 2.8s;
}

[data-aos][data-aos][data-aos-duration="2850"], body[data-aos-duration="2850"] [data-aos] {
  transition-duration: 2.85s;
}

[data-aos][data-aos][data-aos-delay="2850"], body[data-aos-delay="2850"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2850"].aos-animate, body[data-aos-delay="2850"] [data-aos].aos-animate {
  transition-delay: 2.85s;
}

[data-aos][data-aos][data-aos-duration="2900"], body[data-aos-duration="2900"] [data-aos] {
  transition-duration: 2.9s;
}

[data-aos][data-aos][data-aos-delay="2900"], body[data-aos-delay="2900"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2900"].aos-animate, body[data-aos-delay="2900"] [data-aos].aos-animate {
  transition-delay: 2.9s;
}

[data-aos][data-aos][data-aos-duration="2950"], body[data-aos-duration="2950"] [data-aos] {
  transition-duration: 2.95s;
}

[data-aos][data-aos][data-aos-delay="2950"], body[data-aos-delay="2950"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="2950"].aos-animate, body[data-aos-delay="2950"] [data-aos].aos-animate {
  transition-delay: 2.95s;
}

[data-aos][data-aos][data-aos-duration="3000"], body[data-aos-duration="3000"] [data-aos] {
  transition-duration: 3s;
}

[data-aos][data-aos][data-aos-delay="3000"], body[data-aos-delay="3000"] [data-aos] {
  transition-delay: 0;
}

[data-aos][data-aos][data-aos-delay="3000"].aos-animate, body[data-aos-delay="3000"] [data-aos].aos-animate {
  transition-delay: 3s;
}

[data-aos][data-aos][data-aos-easing=linear], body[data-aos-easing=linear] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}

[data-aos][data-aos][data-aos-easing=ease], body[data-aos-easing=ease] [data-aos] {
  transition-timing-function: ease;
}

[data-aos][data-aos][data-aos-easing=ease-in], body[data-aos-easing=ease-in] [data-aos] {
  transition-timing-function: ease-in;
}

[data-aos][data-aos][data-aos-easing=ease-out], body[data-aos-easing=ease-out] [data-aos] {
  transition-timing-function: ease-out;
}

[data-aos][data-aos][data-aos-easing=ease-in-out], body[data-aos-easing=ease-in-out] [data-aos] {
  transition-timing-function: ease-in-out;
}

[data-aos][data-aos][data-aos-easing=ease-in-back], body[data-aos-easing=ease-in-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

[data-aos][data-aos][data-aos-easing=ease-out-back], body[data-aos-easing=ease-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-back], body[data-aos-easing=ease-in-out-back] [data-aos] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

[data-aos][data-aos][data-aos-easing=ease-in-sine], body[data-aos-easing=ease-in-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

[data-aos][data-aos][data-aos-easing=ease-out-sine], body[data-aos-easing=ease-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-sine], body[data-aos-easing=ease-in-out-sine] [data-aos] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

[data-aos][data-aos][data-aos-easing=ease-in-quad], body[data-aos-easing=ease-in-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-quad], body[data-aos-easing=ease-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quad], body[data-aos-easing=ease-in-out-quad] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-aos][data-aos][data-aos-easing=ease-in-cubic], body[data-aos-easing=ease-in-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-cubic], body[data-aos-easing=ease-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-cubic], body[data-aos-easing=ease-in-out-cubic] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-aos][data-aos][data-aos-easing=ease-in-quart], body[data-aos-easing=ease-in-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-aos][data-aos][data-aos-easing=ease-out-quart], body[data-aos-easing=ease-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-aos][data-aos][data-aos-easing=ease-in-out-quart], body[data-aos-easing=ease-in-out-quart] [data-aos] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-aos^=fade][data-aos^=fade] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^=fade][data-aos^=fade].aos-animate {
  opacity: 1;
  transform: translateZ(0);
}

[data-aos=fade-up] {
  transform: translate3d(0, 100px, 0);
}

[data-aos=fade-down] {
  transform: translate3d(0, -100px, 0);
}

[data-aos=fade-right] {
  transform: translate3d(-100px, 0, 0);
}

[data-aos=fade-left] {
  transform: translate3d(100px, 0, 0);
}

[data-aos=fade-up-right] {
  transform: translate3d(-100px, 100px, 0);
}

[data-aos=fade-up-left] {
  transform: translate3d(100px, 100px, 0);
}

[data-aos=fade-down-right] {
  transform: translate3d(-100px, -100px, 0);
}

[data-aos=fade-down-left] {
  transform: translate3d(100px, -100px, 0);
}

[data-aos^=zoom][data-aos^=zoom] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-aos^=zoom][data-aos^=zoom].aos-animate {
  opacity: 1;
  transform: translateZ(0) scale(1);
}

[data-aos=zoom-in] {
  transform: scale(0.6);
}

[data-aos=zoom-in-up] {
  transform: translate3d(0, 100px, 0) scale(0.6);
}

[data-aos=zoom-in-down] {
  transform: translate3d(0, -100px, 0) scale(0.6);
}

[data-aos=zoom-in-right] {
  transform: translate3d(-100px, 0, 0) scale(0.6);
}

[data-aos=zoom-in-left] {
  transform: translate3d(100px, 0, 0) scale(0.6);
}

[data-aos=zoom-out] {
  transform: scale(1.2);
}

[data-aos=zoom-out-up] {
  transform: translate3d(0, 100px, 0) scale(1.2);
}

[data-aos=zoom-out-down] {
  transform: translate3d(0, -100px, 0) scale(1.2);
}

[data-aos=zoom-out-right] {
  transform: translate3d(-100px, 0, 0) scale(1.2);
}

[data-aos=zoom-out-left] {
  transform: translate3d(100px, 0, 0) scale(1.2);
}

[data-aos^=slide][data-aos^=slide] {
  transition-property: transform;
}

[data-aos^=slide][data-aos^=slide].aos-animate {
  transform: translateZ(0);
}

[data-aos=slide-up] {
  transform: translate3d(0, 100%, 0);
}

[data-aos=slide-down] {
  transform: translate3d(0, -100%, 0);
}

[data-aos=slide-right] {
  transform: translate3d(-100%, 0, 0);
}

[data-aos=slide-left] {
  transform: translate3d(100%, 0, 0);
}

[data-aos^=flip][data-aos^=flip] {
  backface-visibility: hidden;
  transition-property: transform;
}

[data-aos=flip-left] {
  transform: perspective(2500px) rotateY(-100deg);
}

[data-aos=flip-left].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos=flip-right] {
  transform: perspective(2500px) rotateY(100deg);
}

[data-aos=flip-right].aos-animate {
  transform: perspective(2500px) rotateY(0);
}

[data-aos=flip-up] {
  transform: perspective(2500px) rotateX(-100deg);
}

[data-aos=flip-up].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

[data-aos=flip-down] {
  transform: perspective(2500px) rotateX(100deg);
}

[data-aos=flip-down].aos-animate {
  transform: perspective(2500px) rotateX(0);
}

/******************************************************
  只見線の土木遺産
******************************************************/
.p-doboku {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-doboku {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-doboku.--seminar .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-doboku.--seminar .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-doboku .c-parts__pagehead {
  margin-bottom: 40px;
}
@media screen and (max-width: 768PX) {
  .p-doboku .c-parts__pagehead {
    margin-bottom: 20px;
  }
}
.p-doboku .c-parts__pagehead::before {
  background-image: url(../img/doboku/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-doboku .c-parts__pagehead::before {
    background-image: url(../img/doboku/img_pagehead_s.webp);
  }
}
.p-doboku .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-doboku .dir_path {
    margin-bottom: 50px;
  }
}
.p-doboku .bx_green {
  padding: 80px;
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green {
    padding: 40px 30px;
  }
}
.p-doboku .bx_green h3 {
  letter-spacing: initial;
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green h3 {
    margin-bottom: 20px;
    line-height: 1.3;
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green p {
    font-size: 14px;
  }
}
.p-doboku .bx_green .center-left {
  margin: 0 auto;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .center-left {
    font-size: 14px;
  }
}
.p-doboku .bx_green .strong {
  padding: 20px 0;
  display: flex;
  font-size: 18px;
  font-weight: 500;
  text-align: left;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .strong {
    display: block;
  }
}
.p-doboku .bx_green .strong-02 {
  margin-left: 56px;
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .strong-02 {
    margin-left: 0;
  }
}
.p-doboku .bx_green .doboku_bx {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 64px;
  padding-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 920px) {
  .p-doboku .bx_green .doboku_bx {
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 14px;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .doboku_bx {
    padding-top: 30px;
    margin-bottom: 30px;
  }
}
.p-doboku .bx_green .doboku_bx .sp_about {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
  width: 100%;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 920px) {
  .p-doboku .bx_green .doboku_bx .sp_about {
    flex-basis: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .doboku_bx .sp_about {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.p-doboku .bx_green .doboku_bx .sp_about--1 {
  font-size: 1.4em;
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .doboku_bx .sp_about--1 {
    font-size: 18px;
  }
}
.p-doboku .bx_green .doboku_bx .sp_about .label {
  background-color: #FFF;
  color: #889A63;
  text-align: center;
  width: clamp(120px, 10.42vw, 150px);
  height: clamp(120px, 10.42vw, 150px);
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  border-radius: 100%;
  margin-right: 15px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .doboku_bx .sp_about .label {
    width: 100px;
    height: 100px;
    font-size: 14px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}
.p-doboku .bx_green .doboku_bx .sp_about .label span {
  display: table-cell;
  vertical-align: middle;
  width: clamp(120px, 10.42vw, 150px);
  height: clamp(120px, 10.42vw, 150px);
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .doboku_bx .sp_about .label span {
    display: table-cell;
    vertical-align: middle;
    width: 100px;
    height: 100px;
    font-size: 16px;
  }
}
.p-doboku .bx_green .doboku_bx .sp_about .image {
  overflow: hidden;
  max-width: 150px;
  -ms-flex-preferred-size: 150px;
  flex-basis: 150px;
  width: 150px;
  height: 150px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-radius: 100%;
  /* margin: 0 auto; */
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .doboku_bx .sp_about .image {
    max-width: 120px;
    -ms-flex-preferred-size: 120px;
    flex-basis: 120px;
    width: 120px;
    height: 120px;
    border-radius: 100%;
    margin-right: 10px;
  }
}
.p-doboku .bx_green .doboku_bx .sp_about .image img {
  display: block;
  width: 150px;
  height: auto;
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  transform: translateX(0px);
}
@media screen and (max-width: 767px) {
  .p-doboku .bx_green .doboku_bx .sp_about .image img {
    width: 120px;
  }
}

.p-doboku__charm.c-head_ttl,
.p-doboku__movie.c-head_ttl,
.p-doboku__lecture.c-head_ttl,
.p-doboku__symposium.c-head_ttl {
  margin-top: 12rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .p-doboku__charm.c-head_ttl,
.p-doboku__movie.c-head_ttl,
.p-doboku__lecture.c-head_ttl,
.p-doboku__symposium.c-head_ttl {
    margin-top: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .p-doboku__charm.c-head_ttl,
.p-doboku__movie.c-head_ttl,
.p-doboku__lecture.c-head_ttl,
.p-doboku__symposium.c-head_ttl {
    margin-top: 6rem;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 480px) {
  .p-doboku__charm.c-head_ttl,
.p-doboku__movie.c-head_ttl,
.p-doboku__lecture.c-head_ttl,
.p-doboku__symposium.c-head_ttl {
    margin-bottom: 2rem;
  }
}

.seminar_wrap {
  margin-top: 80px;
  padding: 64px 60px;
  background-color: #e5f3e1;
  text-align: center;
  position: relative;
  letter-spacing: 0em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .seminar_wrap {
    padding: 30px;
  }
}
.seminar_wrap .seminar_title {
  font-size: 24px;
  font-weight: 500;
  width: 100%;
  border: none;
  text-align: left;
  padding: 0;
  position: relative;
}
.seminar_wrap .seminar_title::after {
  content: "";
  position: absolute;
  bottom: -26px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333 0, #333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}
.seminar_wrap .seminar_inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 64px;
  padding-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 40px;
}
@media screen and (max-width: 640px) {
  .seminar_wrap .seminar_inner {
    gap: 40px 0;
  }
}
.seminar_wrap .seminar_inner .seminar_note {
  width: calc((100% - 40px) / 2);
  text-align: left;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}
@media screen and (max-width: 640px) {
  .seminar_wrap .seminar_inner .seminar_note {
    width: 100%;
  }
}
.seminar_wrap .seminar_inner .seminar_note .seminar_image {
  overflow: hidden;
  max-width: 150px;
  flex-basis: 150px;
  width: 150px;
  height: 150px;
  flex-shrink: 0;
  border-radius: 100%;
  margin-bottom: 24px;
}
.seminar_wrap .seminar_inner .seminar_note .seminar_image img {
  transform: translate(0, -5%);
}
.seminar_wrap .seminar_inner .seminar_note p {
  font-size: 16px;
  font-weight: 400;
}
.seminar_wrap .seminar_inner .seminar_note p .ttl {
  font-size: 20px;
  font-weight: 700;
  display: block;
  margin-bottom: 1em;
}
@media screen and (max-width: 640px) {
  .seminar_wrap .seminar_inner .seminar_note p .ttl {
    font-size: 18px;
  }
}

#contents {
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0em;
}

.doboku__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -30px;
  font-weight: 400;
}

.doboku__column > * {
  width: 46%;
  max-width: 466px;
  margin: 0 30px;
}

.doboku__column > * video {
  width: 100%;
  display: block;
}

.doboku__column > * img {
  display: block;
  width: 100%;
  height: 100%;
}

.doboku__column .blc_1 {
  position: relative;
}

.doboku__column .blc_2.img {
  height: 262px;
  border-radius: 16px;
  overflow: hidden;
}

.doboku__column .blc_2.img img {
  border-radius: 16px;
  object-fit: cover;
}

.doboku__column--3 .blc_1 {
  max-width: 65%;
  font-weight: 400;
  letter-spacing: 0em;
}

.doboku__column--3 .blc_2 {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.doboku__column .cred {
  font-weight: 400;
}

.doboku__column .cblue {
  font-weight: 400;
}

.doboku__column .readmore {
  text-align: center;
  background-color: transparent;
  display: inline-block;
  position: absolute;
  right: 0;
}

.doboku__column .readmore a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 218px;
  height: 48px;
  margin: 0 auto;
  margin-top: 24px;
  border: none;
  border-radius: 35px;
  background-color: #879a63;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  z-index: 1;
  transition: 0.3s;
  overflow: hidden;
}

.doboku__column .readmore a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: solid 2px #879a63;
  border-radius: 24px;
  box-sizing: border-box;
  z-index: -1;
  transform: scale(0);
  opacity: 0;
  transition: transform ease 0.3s, opacity 0.3s;
}

.doboku__column .readmore a::after {
  content: "";
  position: absolute;
  right: 24px;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.doboku__column .readmore a:hover {
  color: #ffffff;
  background: #697b48;
  opacity: 1;
}

.doboku__column .readmore a:hover::before {
  transform: scale(1.1);
  opacity: 1;
}

.doboku__column .youtube {
  padding-top: 56.25%;
  width: 100%;
  position: relative;
}

.doboku__column .youtube iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.dobokuslider {
  max-width: 700px;
  margin: 0 auto;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .doboku__column {
    display: block;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 15px 0px;
  }

  .doboku__column > * {
    flexbasis: 100%;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
    margin-top: 32px;
  }

  .doboku__column--3 .blc_1 {
    flexbasis: 100%;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .doboku__column--3 .blc_2 {
    flexbasis: 100%;
    width: 100%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0;
    margin-top: 32px;
  }

  .doboku__column.doboku__column--3 .blc_2 p {
    font-size: 12px !important;
  }

  .doboku__column .blc_1 {
    width: 100%;
    margin: 0;
  }

  .doboku__column .blc_2.img {
    width: 100%;
    height: 45.33vw;
    margin: 32px 0 74px 0;
  }

  .doboku__column .readmore {
    position: relative;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
  }

  .doboku__column .youtube iframe {
    width: 100%;
    height: 53.33vw;
  }
}
.c-parts__link.--info {
  padding-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .c-parts__link.--info {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}

/******************************************************
  只見線の歴史
******************************************************/
.p-history {
  /* == 下層ページ共通ヘッダー ===== */
}
.p-history .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-history .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-history .c-parts__pagehead::before {
  background-image: url(../img/history/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-history .c-parts__pagehead::before {
    background-image: url(../img/history/img_pagehead_s.webp);
  }
}
.p-history .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-history .dir_path {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-history p {
    font-size: 14px;
  }
}

.history-wrap {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .history-wrap {
    margin-bottom: 30px;
  }
}

table.separate,
table.merge {
  height: 100%;
}
@media screen and (max-width: 767px) {
  table.separate,
table.merge {
    font-size: 12px;
    line-height: 1.5;
    line-height: 1.9em;
    letter-spacing: 0em;
  }
}
table.separate tr,
table.merge tr {
  padding: 1px;
  border-bottom: 1px solid #889A63;
  vertical-align: baseline;
}
table.separate tr th,
table.merge tr th {
  text-align: center;
  font-weight: bold;
  height: 100%;
}
table.separate tr th:first-child,
table.merge tr th:first-child {
  border-left: none;
  border-top: none;
}
table.separate tr th.year,
table.merge tr th.year {
  white-space: nowrap;
  height: 100%;
  padding: 2px 0;
  padding: 4px 15px;
  background-color: #e1f3df;
  margin: 0 0;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  table.separate tr th.year span,
table.merge tr th.year span {
    width: 60px;
    padding: 0;
    min-height: 60px;
    font-size: 10px;
  }
}
table.separate tr th.thead,
table.merge tr th.thead {
  height: 50px;
  padding: 10px 10px;
  border: 1px solid #889A63;
}
@media screen and (max-width: 767px) {
  table.separate tr th.thead,
table.merge tr th.thead {
    padding: 0px 5px;
  }
}
table.separate tr th.thead.aizu,
table.merge tr th.thead.aizu {
  background-color: #fff;
}
table.separate tr th.thead span,
table.merge tr th.thead span {
  width: 100%;
  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;
  border-radius: 10em;
  padding: 8px 0;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  table.separate tr th.thead span,
table.merge tr th.thead span {
    padding: 13px 0;
    font-size: 16px;
  }
}
table.separate tr th.thead.tadami,
table.merge tr th.thead.tadami {
  background-color: #889A63;
}
table.separate tr th.thead.tadami span,
table.merge tr th.thead.tadami span {
  color: #fff;
}
table.separate tr td,
table.merge tr td {
  padding: 20px 15px;
}
@media screen and (max-width: 767px) {
  table.separate tr td,
table.merge tr td {
    padding: 10px 10px;
  }
}
table.separate tr td.tadami,
table.merge tr td.tadami {
  background-color: #e1f3df;
}
table.separate tr td .imgwrapper,
table.merge tr td .imgwrapper {
  margin: 20px auto 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  table.separate tr td .imgwrapper,
table.merge tr td .imgwrapper {
    margin: 20px auto 10px;
    display: block;
  }
}
table.separate tr td .imgwrapper .img,
table.merge tr td .imgwrapper .img {
  -ms-flex-preferred-size: calc(50% - 10px);
  flex-basis: calc(50% - 10px);
  margin: 0 auto;
  max-width: 400px;
  height: 266px;
}
@media screen and (max-width: 767px) {
  table.separate tr td .imgwrapper .img,
table.merge tr td .imgwrapper .img {
    width: 100%;
    height: 45.6vw;
    margin: 0 auto 22px;
  }
}
table.separate tr td .imgwrapper .img img,
table.merge tr td .imgwrapper .img img {
  display: block;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  table.separate tr td .imgwrapper .img img,
table.merge tr td .imgwrapper .img img {
    display: block;
    border-radius: 8px;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
table.separate tr td .imgwrapper .img p,
table.merge tr td .imgwrapper .img p {
  text-align: right;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  table.separate tr td .imgwrapper .img p,
table.merge tr td .imgwrapper .img p {
    text-align: right;
  }
}
table.separate tr td .imgwrapper--lg,
table.merge tr td .imgwrapper--lg {
  max-width: 386px;
  height: 257px;
}
@media screen and (max-width: 767px) {
  table.separate tr td .imgwrapper--lg,
table.merge tr td .imgwrapper--lg {
    max-width: 100%;
    height: 21.07vw;
  }
}
table.separate tr td .imgwrapper--lg .img,
table.merge tr td .imgwrapper--lg .img {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  table.separate tr td .imgwrapper--lg .img,
table.merge tr td .imgwrapper--lg .img {
    max-width: 100%;
    height: 21.07vw;
  }
}
@media screen and (max-width: 767px) {
  table.separate tr td .imgwrapper--w80,
table.merge tr td .imgwrapper--w80 {
    width: 100%;
  }
}
table.separate tr td strong,
table.merge tr td strong {
  display: inline-block;
  margin-right: 10px;
  position: relative;
}
table.separate tr td strong::after,
table.merge tr td strong::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #889A63;
  position: absolute;
  bottom: 0;
  left: 0;
}

table.merge {
  margin-bottom: 24px;
}
table.merge td {
  background-color: #fff;
}

table.separate td {
  width: 50%;
}
table.separate .aizu {
  background-color: #fff;
}

.history-caution {
  font-size: 14px;
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .history-caution {
    font-size: 12px;
    margin-bottom: 75px;
  }
}
@media screen and (max-width: 480px) {
  .history-caution {
    margin-bottom: 60px;
  }
}

/******************************************************
  tourist
******************************************************/
/* == base ============================================== */
a:hover {
  opacity: 0.7;
  transition: 0.3s;
}

.pc_only {
  display: block;
}

/* == Tourist Info ============================================== */
.tourist_info {
  position: relative;
  margin: 0 auto;
  margin-top: 34px;
}

.tourist_info::before {
  content: "";
  background-image: url(../img/tourist/dec_cloud-L.svg);
  background-size: cover;
  width: 306px;
  height: 116px;
  position: absolute;
  top: 64px;
  left: -152px;
}

.tourist_info::after {
  content: "";
  background-image: url(../img/tourist/dec_cloud-R.svg);
  background-size: cover;
  width: 374px;
  height: 173px;
  position: absolute;
  top: 420px;
  right: -320px;
}

.u-sub.--tourist::before,
.u-sub.--tourist::after {
  width: 31px;
}

.tourist_map {
  margin: 0 auto;
  margin-top: 42px;
  width: 1000px;
}

.search {
  font-size: 2.4rem;
  font-weight: 500;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  margin-top: 124px;
}

@media screen and (max-width: 767px) {
  .tourist_info::before {
    width: 175px;
    height: 67px;
    top: 8px;
    left: -63px;
  }

  .tourist_info::after {
    width: 214px;
    height: 100px;
    top: 416px;
    right: -82px;
  }

  .search {
    font-size: 2rem;
    margin-top: 106px;
  }
}
/*** slider ***********************************************/
.slide-wrap {
  position: relative;
  width: 100%;
}

.swiper-container {
  position: relative;
}

.swiper-slide {
  height: auto;
  background-color: #fff;
  border: 2px solid #8ec181;
  border-radius: 16px;
  margin-right: 40px;
  /* padding: 40px 0 24px; */
  text-align: center;
}

.swiper-slide:last-child {
  margin-right: 0;
}

.swiper-slide a {
  text-decoration: none;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #F2F2F2;
}

.station_name {
  color: #333;
  font-size: 3.2rem;
  font-weight: 600;
  letter-spacing: 0em;
  padding-top: 40px;
}

.station_kana {
  color: #333;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0em;
  margin-bottom: 24px;
}

.station_label {
  position: relative;
  width: 100%;
  height: 40px;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 2.8;
  letter-spacing: 0em;
  color: #fff;
  margin: 0 auto;
  margin-bottom: 24px;
  z-index: 1;
}

.station_label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: #8ec181;
  width: 194px;
  height: 40px;
  z-index: -1;
}

.station_label::after {
  content: "";
  position: absolute;
  top: 6px;
  right: 8px;
  width: 28px;
  height: 28px;
  background-color: #8ec181;
  transform: rotate(45deg);
}

.swiper-nav-wrap {
  position: absolute;
  bottom: 112px;
  left: 50%;
  transform: translateX(-50%);
  width: 88.89vw;
  max-width: 1280px;
  z-index: 5;
}

@media screen and (max-width: 1240px) {
  .swiper-container,
.slide-wrap {
    width: 740px;
    margin: 0 auto;
  }

  .swiper-slide {
    margin-right: 40px;
  }
}
@media screen and (max-width: 1050px) {
  .tourist_map {
    width: 96.15vw;
  }

  .tourist_map img {
    width: 1000px;
    max-width: none;
    margin-bottom: 32px;
  }

  .u-sub.--tourist::before,
.u-sub.--tourist::after {
    width: 22px;
  }
}
@media screen and (max-width: 970px) {
  .swiper-nav-wrap {
    width: 320px;
  }
}
@media screen and (max-width: 767px) {
  .pc_only {
    display: none;
  }

  .swiper-container,
.slide-wrap {
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
  }

  .tourist_map {
    width: 80.53vw;
  }

  .tourist_map img {
    width: 789px;
    max-width: none;
    margin-bottom: 32px;
  }

  .swiper-nav-wrap {
    width: 320px;
    bottom: 132px;
  }

  .tourist_map {
    direction: rtl;
  }
}
/* == Detailed Info ========================================== */
.detailed_info {
  margin-top: 120px;
}

.u-sub.--station::before,
.u-sub.--station::after {
  width: 30px;
}

.shop_list {
  position: relative;
  width: 100%;
  margin: 0 auto;
  margin-top: 80px;
}

.shop_each {
  margin-bottom: 56px;
}

.shop_each:last-child {
  margin-bottom: 0;
}

.flexBox {
  display: flex;
  justify-content: space-between;
}

.flexBox.--reverse {
  flex-direction: row-reverse;
}

.shop_img {
  width: 492px;
  height: 340px;
  border-radius: 16px;
  background-position: center center;
  background-size: cover;
  background-color: #e1f3df;
}

.shop_about {
  width: 492px;
  font-weight: 500;
}

.shop_name {
  background-color: #6e7b6f;
  color: #fff;
  padding: 12px 32px;
  margin-bottom: 20px;
  font-size: 18px;
  letter-spacing: 0em;
  position: relative;
}

.shop_name::before {
  content: "";
  position: absolute;
  top: 0;
  left: 6px;
  width: 2px;
  height: 100%;
  background-color: #879a63;
  background-size: cover;
}

.shop_desc {
  font-size: 1.6rem;
  letter-spacing: 0em;
  line-height: 1.75;
  padding: 0 32px;
}

.shop_subTitle {
  color: #879a63;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 0 32px 10px;
}

.shop_info-wrap {
  font-size: 1.4rem;
  letter-spacing: 0em;
  line-height: 2;
  padding: 0 32px;
  margin-top: 32px;
}

.shop_info.flexBox {
  justify-content: left;
}

.shop_info-ttl {
  width: 100px;
  margin-right: 12px;
}

.shop_info-desc {
  width: 316px;
}

.shop_info-desc a {
  color: #879a63 !important;
  text-decoration: underline;
}

.shop_link-wrap {
  position: relative;
  display: inline-block;
  margin-top: 28px;
}

.shop_link-wrap::after {
  content: "";
  background-image: url(../img/common/icon_new-window.svg);
  background-size: 20px 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 8px;
  right: -30px;
}

.shop_link-wrap:hover {
  opacity: 0.7;
  transition: 0.3s;
}

.shop_info-wrap a {
  position: relative;
  display: inline-block;
  color: #879a63 !important;
  font-size: 1.6rem;
  letter-spacing: 0em;
  text-decoration: none !important;
  border-bottom: 1px solid #879a63;
  line-height: 2;
}

.shop_link {
  padding-left: 22px;
}

.shop_link::before {
  content: "";
  background-image: url(../img/common/icon_map.svg);
  background-size: 16px 16px;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 8px;
  left: 0;
}

.traffic_info.flexBox {
  margin-top: 96px;
  justify-content: center;
}

.traffic_info li {
  background-color: #fff;
  width: 320px;
  margin-right: 20px;
  border: 4px solid #00823e;
  text-align: center;
}

.traffic_info li:last-child {
  margin-right: 0;
}

.traffic_info a {
  display: inline-block;
  text-decoration: none;
  color: #333;
  width: 100%;
  height: auto;
  padding: 44px 0 32px;
}

.traffic_info li a span {
  display: inline-block;
  background: url(../img//tourist/link_icon.svg) no-repeat center right;
  padding-right: 25px;
}

/* .traffic_info a img {
  width: 84px;
} */
.traffic_txt {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0em;
  margin: 8px auto 0;
  width: 90%;
}

@media screen and (max-width: 1140px) {
  .detailed_info {
    /* width: 96.15vw; */
    margin: 0 auto;
    margin-top: 96px;
  }

  .shop_img {
    width: 38.09vw;
    height: 32.69vw;
  }

  .shop_about {
    width: 47.12vw;
  }

  .shop_name {
    font-size: 1.73vw;
  }

  .shop_desc {
    font-size: 1.54vw;
    padding: 0 2.88vw;
  }

  .shop_info-wrap {
    font-size: 1.54vw;
    padding: 0 2.88vw;
  }

  .traffic_info li {
    width: 30.77vw;
    margin-right: 1.54vw;
  }

  .traffic_txt {
    font-size: 2.31vw;
  }
}
@media screen and (max-width: 767px) {
  .detailed_info {
    width: 100%;
  }

  .u-sub.--station::before,
.u-sub.--station::after {
    width: 22px;
  }

  .shop_each.flexBox {
    display: block;
  }

  .shop_list {
    max-width: none;
    margin: 0 auto;
  }

  .shop_img {
    width: 80.53vw;
    min-width: 302px;
    height: 55.73vw;
    margin: 0 auto;
    margin-top: 40px;
    border-radius: 16px;
    background-position: center center;
    background-size: cover;
    background-color: #e1f3df;
  }

  .shop_about {
    width: 80.53vw;
    min-width: 302px;
    margin: 0 auto;
    margin-top: 80px;
  }

  .shop_name {
    font-size: 1.6rem;
  }

  .shop_desc {
    padding: 0;
    font-size: 1.4rem;
  }

  .shop_subTitle {
    padding: 0 0 10px 0;
    font-size: 1.6rem;
  }

  .shop_info-wrap {
    padding: 0;
    font-size: 1.2rem;
    margin-top: 24px;
  }

  .shop_info-ttl {
    width: 33.11vw;
  }

  .shop_info-desc {
    width: 62.91vw;
  }

  .traffic_info.flexBox {
    flex-direction: column;
    margin-top: 80px;
  }

  .traffic_info li {
    width: 320px;
    margin: 0 auto;
    margin-bottom: 24px;
  }

  .traffic_info li:last-child {
    margin: 0 auto !important;
  }

  .traffic_txt {
    font-size: 2rem;
  }
}
/* == Other Station Info ========================================== */
.other_station {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 120px;
}

@media screen and (max-width: 767px) {
  .other_station .search {
    margin-top: 80px;
  }
}
/* == 画像マップ差し替え ========================================== */
.tourist_map .en,
.tourist_map .ch,
.en .tourist_map .ja,
.zh-TW .tourist_map .ja,
.zh-CN .tourist_map .ja {
  display: none;
}

.en .tourist_map .en {
  display: block;
}

.zh-TW .tourist_map .ch,
.zh-CN .tourist_map .ch {
  display: block;
}

/******************************************************
  只見線の絶景ポイント
******************************************************/
.p-zekkei {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-zekkei {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-zekkei .c-parts__pagehead {
  margin-bottom: 40px;
}
@media screen and (max-width: 768PX) {
  .p-zekkei .c-parts__pagehead {
    margin-bottom: 20px;
  }
}
.p-zekkei .c-parts__pagehead::before {
  background-image: url(../img/zekkei/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-zekkei .c-parts__pagehead::before {
    background-image: url(../img/zekkei/img_pagehead_s.webp);
  }
}
.p-zekkei .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-zekkei .dir_path {
    margin-bottom: 50px;
  }
}
.p-zekkei .pagenavi {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-zekkei .pagenavi {
    display: flex;
    margin-top: 40px;
  }
}
.p-zekkei .pagenavi li {
  width: calc((100% - 5px) / 2);
}
.p-zekkei .pagenavi li:nth-of-type(1) {
  margin-right: 5px;
}
.p-zekkei .pagenavi li:nth-of-type(1) span {
  background-color: #D6A403;
}
.p-zekkei .pagenavi li:nth-of-type(2) span {
  background-color: #889A63;
}
.p-zekkei .pagenavi li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-radius: 10px 10px 0 0;
  padding: 10px 20px;
  color: #fff;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  .p-zekkei .pagenavi li span {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}
.p-zekkei .pagenavi li span br {
  display: none;
}
@media screen and (max-width: 560px) {
  .p-zekkei .pagenavi li span br {
    display: inline;
  }
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei {
    display: none;
  }
}
.p-zekkei .zekkei .zekkei_map-contents,
.p-zekkei .zekkei .zekkei_map-wrap,
.p-zekkei .zekkei .zekkei_map {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  margin-top: 24px;
}
@media screen and (max-width: 1130px) {
  .p-zekkei .zekkei .zekkei_map-contents {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents {
    width: 100%;
    margin-top: 80px;
  }
}
@media screen and (max-width: 1130px) {
  .p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap {
    direction: rtl;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap {
    width: 100%;
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .simplebar-track {
    width: 80.53vw;
    min-width: 302px;
  }
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map::before {
  content: "";
  background-image: url(../img/common/illust_camera.svg);
  background-size: cover;
  width: 90px;
  height: 80px;
  position: absolute;
  top: 82px;
  left: 252px;
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map::before {
    display: none;
  }
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map::after {
  content: "";
  background-image: url(../img/common/illust_pair.svg);
  background-size: cover;
  width: 95px;
  height: 118px;
  position: absolute;
  bottom: 68px;
  right: 132px;
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map::after {
    display: none;
  }
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map > img {
  width: 1000px;
  height: auto;
  max-width: none;
  margin-bottom: 90px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap {
  position: absolute;
  width: 30px;
  height: 42px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap a:hover {
  opacity: 1;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap a:hover .tooltip {
  opacity: 1;
  z-index: 50;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--01-green {
  top: 118px;
  right: 216px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--01-green.--en {
  top: 98px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--01-green.--zh {
  top: 106px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--02-green {
  top: 82px;
  right: 226px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--02-green.--en {
  top: 72px;
  right: 246px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--02-green.--zh {
  top: 72px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--03-green {
  top: 148px;
  right: 286px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--03-green.--en {
  top: 118px;
  right: 306px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--04-green {
  top: 192px;
  right: 309px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--04-green.--en {
  top: 162px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--06-green {
  top: 166px;
  right: 356px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--06-green.--en {
  top: 156px;
  right: 380px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--07-green {
  top: 144px;
  right: 418px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--07-green.--en {
  top: 133px;
  right: 435px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--08-green {
  top: 176px;
  right: 431px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--08-green.--en {
  top: 166px;
  right: 451px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--09-green {
  top: 200px;
  right: 447px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--09-green.--en {
  top: 180px;
  right: 477px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--10-green {
  top: 245px;
  right: 572px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--10-green.--en {
  top: 215px;
  right: 592px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--11-green {
  top: 257px;
  right: 618px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--11-green.--en {
  top: 244px;
  right: 628px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--01-red {
  top: 44px;
  right: 270px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--01-red.--en {
  top: 24px;
  right: 300px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--01-red.--zh {
  top: 38px;
  right: 280px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--02-red {
  top: 85px;
  right: 310px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--02-red.--en {
  top: 70px;
  right: 334px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--02-red.--zh {
  top: 79px;
  right: 318px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--05-green {
  top: 100px;
  right: 332px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--05-green.--en {
  top: 89px;
  right: 355px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--05-green.--zh {
  top: 98px;
  right: 339px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--03-red {
  top: 116px;
  right: 355px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--03-red.--en {
  top: 100px;
  right: 378px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--03-red.--zh {
  top: 115px;
  right: 363px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--04-red {
  top: 90px;
  right: 395px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--04-red.--en {
  top: 80px;
  right: 415px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--05-red {
  top: 120px;
  right: 445px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--05-red.--en {
  top: 108px;
  right: 468px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--05-red.--zh {
  top: 111px;
  right: 454px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--06-red {
  top: 158px;
  right: 485px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--06-red.--en {
  top: 149px;
  right: 507px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--06-red.--zh {
  right: 498px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--07-red {
  top: 160px;
  right: 513px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--07-red.--en {
  top: 170px;
  right: 529px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--07-red.--zh {
  top: 180px;
  right: 520px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--08-red {
  top: 160px;
  right: 536px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--08-red.--en {
  top: 170px;
  right: 554px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--08-red.--zh {
  top: 180px;
  right: 544px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--09-red {
  top: 162px;
  right: 617px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--09-red.--en {
  top: 181px;
  right: 627px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--09-red.--zh {
  top: 192px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--10-red {
  top: 222px;
  right: 648px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--10-red.--en {
  top: 209px;
  right: 658px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--11-red {
  top: 262px;
  right: 678px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--11-red.--en {
  top: 249px;
  right: 688px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap.--11-red.--zh {
  top: 249px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .pin {
  width: 100%;
  height: 100%;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .pin:hover {
  opacity: 0.7;
  transition: 0.3s;
  cursor: pointer;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .pin img {
  width: 100%;
  height: 100%;
  margin-bottom: 0;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip {
  opacity: 0;
  width: 170px;
  height: 108px;
  background-color: #fff;
  padding: 8px;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  position: absolute;
  z-index: -1;
  left: -14px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip {
    display: none;
  }
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip::before {
  content: "";
  position: absolute;
  top: -24px;
  left: 24px;
  width: 0;
  height: 0;
  border-bottom: 24px solid #fff;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip::after {
  content: "";
  background-image: url(../img/zekkei/icon_hover.svg);
  background-size: cover;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 28%;
  left: 50%;
  transform: translateX(-50%);
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip.--01-green::before {
  left: 58px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip:hover {
  cursor: pointer;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip.--01-green {
  left: -48px;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip .tooltip_img {
  background-color: #000;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip .tooltip_img img {
  width: 154px;
  height: 92px;
  margin: 0 auto;
  opacity: 0.5;
}
.p-zekkei .zekkei .zekkei_map-contents .zekkei_map-wrap .zekkei_map ul .pin-wrap .tooltip .tooltip_txt {
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  letter-spacing: 0em;
  font-weight: 500;
}
.p-zekkei .zekkei .zekkei_map-contents .pin_desc {
  position: absolute;
  top: 32px;
  width: 230px;
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .pin_desc {
    top: -60px;
    left: 30px;
  }
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .pin_desc::before {
    content: "";
    background-image: url(../img/common/illust_camera.svg);
    background-size: cover;
    width: 68px;
    height: 60px;
    position: absolute;
    top: 0;
    left: 220px;
  }
}
.p-zekkei .zekkei .zekkei_map-contents .pin_desc .flexBox {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}
.p-zekkei .zekkei .zekkei_map-contents .pin_desc .flexBox .pin_img {
  width: 21px;
  height: 30px;
  margin-right: 16px;
}
.p-zekkei .zekkei .zekkei_map-contents .pin_desc .flexBox .pin_img img {
  display: block;
}
.p-zekkei .zekkei .zekkei_map-contents .pin_desc .flexBox .pin_txt {
  display: inline-block;
  width: 200px;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .pin_desc .flexBox .pin_txt {
    font-size: 1.4rem;
  }
}
.p-zekkei .zekkei .zekkei_map-contents .illust_pair {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-zekkei .zekkei .zekkei_map-contents .illust_pair {
    display: block;
    position: absolute;
    bottom: 52px;
    right: 16px;
    width: 78px;
    height: 60px;
  }
}

/* == base ============================================== */
a:hover {
  opacity: 0.7;
  transition: 0.3s;
}

.u-oswald {
  font-family: "Oswald", sans-serif;
}

.sp_only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_only {
    display: block;
  }
}

.pc_only {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc_only {
    display: none;
  }
}

/* == Zekkei ============================================== */
.contents_wrap {
  padding-bottom: 224px;
}

/***** 押下時のモーダル ***************************/
/* modal open時、背景固定 */
body.fixed {
  overflow: hidden;
}

/* modal背景 */
.layer {
  background: rgba(51, 51, 51, 0.7);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: scroll;
  /* デフォルト：非表示 */
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s linear, visibility 0.5s linear, z-index 0.5s linear;
}
.layer.js-modal.is-open {
  z-index: 999;
  opacity: 1;
  visibility: visible;
}
.layer.js-modal.is-open .modal {
  opacity: 1;
  visibility: visible;
}
.layer .modal {
  position: absolute;
  top: 30px;
  left: -50%;
  right: -50%;
  margin-right: auto;
  margin-left: auto;
  width: 58.89vw;
  max-width: 848px;
  min-width: 690px;
  /* デフォルト：非表示 */
  opacity: 1;
  visibility: hidden;
  transition: visibility 0.5s linear, opacity 0.5s linear;
}
@media screen and (max-width: 767px) {
  .layer .modal {
    width: 89.6vw;
    min-width: auto;
  }
}
.layer .modal .modal__inner {
  position: relative;
  height: auto;
  display: block;
  background: #fff;
  border: 1px solid #707070;
  box-shadow: 3px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 16px;
  margin-bottom: 125px;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 40px 56px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner {
    padding: 20px 20px 40px;
  }
}
.layer .modal .modal__inner .modal__button-wrap {
  position: absolute;
  display: inline-flex;
}
.layer .modal .modal__inner .modal__button-wrap.--top {
  right: -24px;
  top: -24px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__button-wrap.--top {
    right: -14px;
    top: -14px;
  }
}
.layer .modal .modal__inner .modal__button-wrap.--bottom {
  right: -24px;
  bottom: -24px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__button-wrap.--bottom {
    right: -14px;
    bottom: -14px;
  }
}
.layer .modal .modal__inner .modal__button-wrap .close-button {
  position: relative;
  width: 48px;
  height: 48px;
  background: #879a63;
  border-radius: 50%;
  border: 1px solid #fff;
  padding: 0;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__button-wrap .close-button {
    width: 44px;
    height: 44px;
  }
}
.layer .modal .modal__inner .modal__button-wrap .close-button:hover {
  opacity: 0.9;
  transition: 0.3s;
}
.layer .modal .modal__inner .modal__button-wrap .close-button span {
  width: 24px;
  height: 2px;
  background: #fff;
  display: inline-block;
  position: absolute;
  left: calc(50% - 12px);
  top: 50%;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__button-wrap .close-button span {
    width: 22px;
    left: calc(50% - 10px);
  }
}
.layer .modal .modal__inner .modal__button-wrap .close-button span:nth-child(1) {
  transform: rotate(45deg) translate(-1px, -1px);
}
.layer .modal .modal__inner .modal__button-wrap .close-button span:nth-child(2) {
  transform: rotate(-45deg) translate(1px, -1px);
}
.layer .modal .modal__inner .modal__contents .modal__content {
  letter-spacing: 0;
}
.layer .modal .modal__inner .modal__contents .modal__content > img {
  width: 53.33vw;
  min-width: 600px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content > img {
    width: 78.93vw;
    min-width: auto;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_ttl {
  display: flex;
  align-items: center;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_ttl {
    display: block;
    margin-top: 40px;
    text-align: center;
  }
}
@media screen and (max-width: 540px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_ttl {
    margin-top: 20px;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_ttl img {
  width: 54px !important;
  height: 74px;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_ttl .modal_ttl-txt {
  font-size: 2.4rem;
  font-weight: 700;
  color: #6e7b6f;
  padding-left: 24px;
  text-align: center;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_ttl .modal_ttl-txt {
    font-size: 2rem;
    padding-left: 0;
    margin-top: 16px;
    text-align: left;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_txt {
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 24px;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_txt {
    font-size: 1.4rem;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_info {
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_info {
    font-size: 1.1rem;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_info .modal_th {
  letter-spacing: 0;
  font-weight: 700;
  width: 120px;
  margin-right: 12px;
}
.layer .modal .modal__inner .modal__contents .modal__content .shop_link-wrap {
  position: relative;
  display: inline-block;
  margin-top: 16px;
}
.layer .modal .modal__inner .modal__contents .modal__content .shop_link-wrap::after {
  content: "";
  background-image: url(../img/common/icon_new-window.svg);
  background-size: 20px 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 4px;
  right: -30px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .shop_link-wrap::after {
    bottom: 4px;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .shop_link-wrap:hover {
  opacity: 0.7;
  transition: 0.3s;
}
.layer .modal .modal__inner .modal__contents .modal__content .shop_link-wrap .shop_link {
  position: relative;
  display: inline-block;
  color: #879a63 !important;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0em;
  text-decoration: none !important;
  border-bottom: 1px solid #879a63;
  line-height: 1.8;
  padding-left: 22px;
}
.layer .modal .modal__inner .modal__contents .modal__content .shop_link-wrap .shop_link::before {
  content: "";
  background-image: url(../img/common/icon_map.svg);
  background-size: 16px 16px;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 4px;
  left: 0;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList {
  margin-top: 40px;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem {
  display: flex;
  justify-content: left;
  margin-bottom: 16px;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem {
    display: block;
    font-size: 1.2rem;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_ttl {
  width: 120px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_ttl {
    width: 100%;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents {
  width: min(45.56vw, 656px);
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents {
    width: 100%;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .access_table {
  margin-top: 16px;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .access_table .access_tr {
  border-bottom: 8px solid #fff;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .access_table .access_tr {
    border-right: 6px solid #fff;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .access_table .access_tr .access_th {
  width: clamp(130px, 9.17vw, 132px);
  background-color: #6e7b6f;
  color: #fff;
  border-right: 8px solid #fff;
  padding: 16px 14px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .access_table .access_tr .access_th {
    width: 116px;
    padding: 14px 12px;
    border-right: 6px solid #fff;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .access_table .access_tr .access_td {
  width: min(35.83vw, 516px);
  background-color: #ededed;
  color: #333;
  padding: 16px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .access_table .access_tr .access_td {
    width: min(48.53vw, 182px);
    padding: 14px 12px;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table {
    margin-top: 10px;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table .time_tr {
  background-color: #cbf0b4;
  border-bottom: 8px solid #fff;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table .time_tr:nth-child(2n) {
  background-color: #ecfce2;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table .time_tr:last-child {
  margin-bottom: unset;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table .time_tr .time_th {
  width: 188px;
  background-color: #50c355;
  color: #fff;
  border-right: 8px solid #fff;
  padding: 16px 8px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table .time_tr .time_th {
    width: min(39.73vw, 149px);
    border-right: 6px solid #fff;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table .time_tr .time_td {
  width: 188px;
  padding: 16px 8px;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table .time_tr .time_td:first-child {
  border-right: 8px solid #fff;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .time_table .time_tr .time_td:first-child {
    border-right: 6px solid #fff;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .notes {
  margin-top: 16px;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .jr_link {
  position: relative;
  display: inline-block;
  color: #879a63 !important;
  margin-left: 16px;
  text-decoration: none !important;
  border-bottom: 1px solid #879a63;
  line-height: 1.8;
}
.layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .jr_link::after {
  content: "";
  background-image: url(../img/common/icon_new-window.svg);
  background-size: 20px 20px;
  width: 20px;
  height: 20px;
  position: absolute;
  bottom: 4px;
  right: -30px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .modal_infoList .modal_infoListItem .infoListItem_contents .jr_link::after {
    bottom: 0;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock {
  text-align: center;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkTxt {
  position: relative;
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  margin-top: 26px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkTxt {
    margin-top: 48px;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkTxt::before, .layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkTxt::after {
  content: "";
  background-color: #333;
  width: 2px;
  height: 20px;
  position: absolute;
  top: -2px;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkTxt::before {
  transform: rotate(-30deg);
  left: -16px;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkTxt::after {
  transform: rotate(-150deg);
  right: -16px;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList {
  display: flex;
  justify-content: space-between;
  margin-top: 18px;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList {
    flex-wrap: wrap;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList .linkList__item {
  width: 12.71vw;
  min-width: 148px;
  max-width: 184px;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList .linkList__item {
    width: 100%;
    min-width: auto;
    max-width: none;
    margin-bottom: 4px;
  }
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList .linkList__item--fb a {
  background-color: #3B5998;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList .linkList__item--x a {
  background-color: #000;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList .linkList__item--line a {
  background-color: #06C755;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList .linkList__item--wa a {
  background-color: #25D366;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList .linkList__item a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 42px;
  padding: 10px 0;
  color: #fff;
  border-radius: 4px;
}
.layer .modal .modal__inner .modal__contents .modal__content .linkBlock .linkList .linkList__item a .linkList__item__icon {
  margin-right: 12px;
}

/* == View Spot ============================================== */
.viewspot_wrap.flexBox {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 1000px;
  margin: 40px auto 100px auto;
  gap: 30px;
}
@media screen and (max-width: 1100px) {
  .viewspot_wrap.flexBox {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .viewspot_wrap.flexBox {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .viewspot_wrap.flexBox {
    margin-top: 0;
  }
}
@media screen and (max-width: 480px) {
  .viewspot_wrap.flexBox {
    margin-bottom: 30px;
  }
}
.viewspot_wrap.flexBox .viewspot {
  display: flex;
  flex-flow: column;
  width: calc((100% - 30px) / 2);
  padding: 56px 60px;
  background: #fff;
  text-align: center;
  transition: opacity 0.6s ease;
}
@media screen and (max-width: 980px) {
  .viewspot_wrap.flexBox .viewspot {
    padding: 40px 30px;
  }
}
@media screen and (max-width: 768px) {
  .viewspot_wrap.flexBox .viewspot {
    padding: 40px 30px 30px 30px;
  }
}
@media screen and (max-width: 767px) {
  .viewspot_wrap.flexBox .viewspot {
    margin: 0 auto;
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .viewspot_wrap.flexBox .viewspot {
    padding: 30px 30px 20px 30px;
  }
}
@media screen and (max-width: 480px) {
  .viewspot_wrap.flexBox .viewspot {
    padding: 20px 20px 10px 20px;
  }
}
.viewspot_wrap.flexBox .viewspot.--car {
  border: 4px solid #D6A403;
}
.viewspot_wrap.flexBox .viewspot.--tadami {
  border: 4px solid #889A63;
}
.viewspot_wrap.flexBox .viewspot .viewspot_ttl {
  font-size: 2.4rem;
  font-weight: 600;
  position: relative;
  display: inline-block;
  margin-bottom: 32px;
}
@media screen and (max-width: 860px) {
  .viewspot_wrap.flexBox .viewspot .viewspot_ttl {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 767px) {
  .viewspot_wrap.flexBox .viewspot .viewspot_ttl {
    display: none;
  }
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .viewspot_ttl {
    font-size: 2rem;
    margin-bottom: 40px;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line {
  position: relative;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line {
    display: inline-block;
    text-align: left;
    width: 300px;
  }
}
@media screen and (max-width: 410px) {
  .viewspot_wrap.flexBox .viewspot .station_line {
    width: 280px;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .station_name {
  padding: 0;
}
.viewspot_wrap.flexBox .viewspot .station_line .station_name .station_kanji {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .station_name .station_kanji {
    font-size: 2rem;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .station_name .station_kana {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .station_name .station_kana {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 600px) {
  .viewspot_wrap.flexBox .viewspot .station_line .station_name .station_kana {
    margin-bottom: 0;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img {
  margin: 16px;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img {
    margin: 14px;
    margin-left: 40px;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img.rail__contents {
  height: 100px;
  position: relative;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img.rail__contents {
    height: 210px;
    margin: 10px 0 10px 40px;
    height: 110px;
    background-image: url(../img/zekkei/rail-sp.svg);
    background-repeat: repeat-y;
    background-position: top left;
  }
}
@media screen and (max-width: 600px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img.rail__contents picture > img {
    display: none;
  }
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img.marginDelete {
    margin-left: 28px;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img img {
  width: auto;
  max-width: 100%;
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img {
  position: absolute;
  height: 69px;
  width: 316px;
  top: 14px;
  left: -90px;
}
@media screen and (max-width: 767px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img {
    left: -50%;
    right: calc(-50% - 78px);
    margin: auto;
  }
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img {
    display: block;
    width: 154px;
    height: auto;
    top: 50%;
    transform: translateY(-50%);
    left: auto;
    right: 0;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img:hover {
  cursor: pointer;
  transition: 0.3s;
  opacity: 0.7;
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img::after {
  content: "";
  top: 10px;
  left: -56px;
  background-size: cover;
  width: 40px;
  height: 55px;
  position: absolute;
}
@media screen and (max-width: 980px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img::after {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img::after {
    content: "";
  }
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img::after {
    top: 22px;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--01-red::after {
  background-image: url(../img/zekkei/pin_red-01.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--02-red::after {
  background-image: url(../img/zekkei/pin_red-02.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--03-red::after {
  background-image: url(../img/zekkei/pin_red-03.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--04-red::after {
  background-image: url(../img/zekkei/pin_red-04.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--05-red::after {
  background-image: url(../img/zekkei/pin_red-05.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--06-red::after {
  background-image: url(../img/zekkei/pin_red-06.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--07-red::after {
  background-image: url(../img/zekkei/pin_red-07.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--08-red::after {
  background-image: url(../img/zekkei/pin_red-08.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--09-red::after {
  background-image: url(../img/zekkei/pin_red-09.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--10-red::after {
  background-image: url(../img/zekkei/pin_red-10.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--11-red::after {
  background-image: url(../img/zekkei/pin_red-11.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--01-green::after {
  background-image: url(../img/zekkei/pin_green-01.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--02-green::after {
  background-image: url(../img/zekkei/pin_green-02.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--03-green::after {
  background-image: url(../img/zekkei/pin_green-03.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--04-green::after {
  background-image: url(../img/zekkei/pin_green-04.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--05-green::after {
  background-image: url(../img/zekkei/pin_green-05.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--06-green::after {
  background-image: url(../img/zekkei/pin_green-06.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--07-green::after {
  background-image: url(../img/zekkei/pin_green-07.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--08-green::after {
  background-image: url(../img/zekkei/pin_green-08.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--09-green::after {
  background-image: url(../img/zekkei/pin_green-09.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--10-green::after {
  background-image: url(../img/zekkei/pin_green-10.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img.--11-green::after {
  background-image: url(../img/zekkei/pin_green-11.png);
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 69px;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents {
    flex-direction: column;
    position: relative;
    width: 154px;
    height: auto;
    margin-right: 0;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__link {
  display: block;
  width: 110px;
  height: 69px;
  background-color: #000;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__link {
    width: 154px;
    height: 92px;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__link .spot_phot {
  opacity: 0.6;
  width: 110px;
  height: 69px;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__link .spot_phot {
    width: 154px;
    height: 92px;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__link .spot_txt {
  position: relative;
  color: #fff;
  bottom: 30px;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__link .spot_txt {
    text-align: center;
    bottom: 40px;
  }
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__link .spot_txt::before {
  content: "";
  background-image: url(../img/zekkei/icon_hover.svg);
  background-size: cover;
  width: 26px;
  height: 26px;
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 1;
}
.viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__txt {
  width: 166px;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: left;
  margin-left: 40px;
}
@media screen and (max-width: 767px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__txt {
    font-size: 1.6rem;
    width: 210px;
  }
}
@media screen and (max-width: 540px) {
  .viewspot_wrap.flexBox .viewspot .station_line .senro_img .spot_img .spot__contents .spot__txt {
    width: 210px;
    margin-left: auto;
    margin-top: 4px;
    font-size: 1.4rem;
  }
}

.bold_black {
  font-weight: 700;
}

/******************************************************
  TOPページ以外の下層ページ 専用のCSS
******************************************************/
/* == base ============================================== */
main {
  display: block;
  position: relative;
  overflow: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a:hover {
  cursor: pointer;
  opacity: 0.7;
}

/* == utility ============================================== */
.u-rounded1c {
  font-family: "M PLUS Rounded 1c";
}

#contents {
  margin: 0 auto;
}

.contents_wrap {
  background-image: url(../img/common/bg_white-paper.jpg);
  background-repeat: repeat;
  width: 100%;
  height: 100%;
  padding-bottom: 150px;
}

.u-title {
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.u-title .u-ttl {
  font-size: 4rem;
  font-weight: 500;
  margin-bottom: 0;
}

.u-title .u-sub {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0em;
}

.u-title .u-sub::before,
.u-title .u-sub::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(to right, #333, #333 2px, transparent 2px, transparent 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: left center;
}

.u-sub::before {
  left: 0;
}

.u-sub::after {
  right: 0;
}

.u-ttl_bottom::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 4px;
  background-image: repeating-linear-gradient(to right, #333, #333 2px, transparent 2px, transparent 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: left center;
}

/* SimpleBar：スクロールバーカスタマイズ */
.simplebar-track.simplebar-horizontal {
  height: 8px !important;
  background: #DDDDDD;
  border-radius: 4px;
  max-width: 302px;
  margin: 0 auto 10px;
}

.simplebar-track .simplebar-scrollbar::before {
  background: #889A63;
  opacity: 1;
  width: 8px;
  left: 0;
}

.simplebar-horizontal .simplebar-scrollbar {
  height: 8px !important;
  background: #889A63;
  border-radius: 4px;
  top: 0;
}

.simplebar-horizontal .simplebar-scrollbar {
  height: 280px;
}

.simplebar-track.simplebar-vertical {
  top: 10px;
  right: 8px;
  height: 280px;
  background-color: #ddd;
  border-radius: 4px;
  width: 8px;
}

/* スクロールバー本体の透明度（デフォルトだと透過） */
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .u-title .u-ttl {
    font-size: 3.2rem;
  }

  .u-title .u-sub {
    font-size: 1.4rem;
  }

  .u-ttl_bottom::after {
    bottom: -8px;
  }
}
.feature-contents a {
  color: #879a63;
}

.go {
  font-family: "Noto Sans JP", "Noto Sans Japanese", sans-serif;
  font-size: 14px;
}

.sp_only {
  display: none !important;
}

#dir_path li {
  margin-left: 40px;
  margin-top: 8px;
}
#dir_path li:nth-of-type(1) {
  margin-left: 0;
}

#dir_path li a {
  padding: 0;
  border: none;
}

.first_link,
.second_link {
  pointer-events: visible;
}

#dir_path li.first_link a:hover,
#dir_path li.second_link a:hover,
#dir_path li.third_link a:hover {
  color: #50c355;
  border-color: #50c355;
}

#dir_path li.first_link,
#dir_path li.second_link,
#dir_path li.third_link,
#dir_path li.st {
  position: relative;
}

#dir_path li.first_link a,
#dir_path li.second_link a,
#dir_path li.third_link a,
#dir_path li.st a {
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #879a63;
  background-color: #fff;
  color: #879a63;
  padding: 0;
}

#dir_path li.first_link::after,
#dir_path li.second_link::after,
#dir_path li.third_link::after,
#dir_path li.st::after {
  content: "";
  background-image: url(../img/common/breadcrumbs_arrow.svg);
  position: absolute;
  top: 7px;
  right: -28px;
  background-size: 5px 10px;
  background-repeat: repeat-x;
  width: 15px;
  height: 10px;
}

@media screen and (max-width: 767px) {
  .pc_only {
    display: none;
  }

  .sp_only {
    display: block !important;
  }

  #dir_path li.second_link::after {
    top: 7px;
    right: -28px;
  }

  #dir_path li.third_link {
    margin-left: 28px;
  }
}
.view_all {
  float: none;
  text-align: center;
  background-color: #fff;
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 24px;
  border-radius: 35px;
  max-width: 210px;
}

.view_all a {
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: auto;
  height: 40px;
  margin: 0 auto;
  border: none;
  border-radius: 35px;
  background-color: #879a63;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  z-index: 1;
  transition: 0.3s;
  overflow: hidden;
  padding: 5px 56px;
}

.view_all a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: solid 2px #879a63;
  border-radius: 24px;
  box-sizing: border-box;
  z-index: -1;
  transform: scale(0);
  opacity: 0;
  transition: transform ease 0.3s, opacity 0.3s;
}

.view_all a::after {
  content: "";
  position: absolute;
  right: 24px;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.view_all a:hover {
  color: #ffffff;
  background: #697b48;
  opacity: 1;
}

.view_all a:hover::before {
  transform: scale(1.1);
  opacity: 1;
}

@media screen and (max-width: 767px) {
  #contents {
    max-width: 90%;
  }
}
/*** モデルコース（各詳細ページ） *************************************/
.sub_comment {
  font-size: 2.8rem;
  font-weight: 400;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .sub_comment {
    font-size: 2.4rem;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 480px) {
  .sub_comment {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}

.namisen {
  font-size: 2.4rem;
  text-align: center;
  line-height: 1;
  margin: -6px 0;
}

.model_read {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0em;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .model_read {
    font-size: 1.4rem;
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 480px) {
  .model_read {
    margin-bottom: 20px;
  }
}

.model_course-wrap {
  width: 100%;
  height: auto;
  padding-bottom: 48px;
  background-color: #f8f8f8;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .model_course-wrap {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding-top: 48px;
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .model_course-wrap {
    margin-top: 10px;
  }
}

.model_course {
  max-width: 416px;
  width: 42%;
}
.model_course.--single {
  margin: 48px auto auto auto;
  max-width: initial;
  width: 90%;
}
.model_course.--secondary {
  margin-right: 0;
}

.model_course-visual ul {
  display: flex;
  justify-content: space-between;
}

.model_course-visual.--single li {
  width: 100%;
}
.model_course-visual li {
  width: 49%;
}

.model_course-visual .thum {
  width: 100%;
  height: 320px;
  border-radius: 16px;
  background-position: center center;
  background-size: cover;
}

.model_course-visual .thum_cap {
  font-size: 13px;
  text-align: right;
  margin-top: 10px;
  margin-bottom: 72px;
}
@media screen and (max-width: 768PX) {
  .model_course-visual .thum_cap {
    margin-bottom: 40px;
  }
}

.model_course ul .event {
  border-radius: 0;
  color: #333;
  font-weight: 400;
  padding: 10px 30px;
  display: flex;
  align-items: center;
}

.model_course ul .time {
  color: #fff;
  background-color: initial;
  float: left;
  padding: 0;
  padding-right: 15px;
  border: initial;
  margin-top: 0;
  font-size: 1.6rem;
}

.model_course ul .event .time {
  border: none;
  color: #333;
  background-color: initial;
}

.model_course ul .place {
  height: fit-content;
  font-size: 1.6rem;
  font-weight: 400;
  /* line-height: 2.4em; */
}

.model_course .ttl {
  border-bottom: none;
  position: relative;
  margin-top: 48px;
  font-size: 2rem;
  text-align: center;
}

.model_course .ttl::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40.4%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

.model_course .ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40.4%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

.sub_line {
  padding-top: 90px;
}
@media screen and (max-width: 768PX) {
  .sub_line {
    padding-top: 60px;
  }
}
@media screen and (max-width: 600PX) {
  .sub_line {
    padding-top: 40px;
  }
}

.model_banner {
  display: block;
  margin: 36px auto 0 auto;
  max-width: 470px;
}
@media screen and (max-width: 767px) {
  .model_banner {
    margin-top: 48px;
  }
}
.model_banner img {
  width: 100%;
}

.spot_list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .spot_list {
    margin-top: 0;
    float: none;
    width: 100%;
  }
}
.spot_list li {
  margin-top: 30px;
  width: calc((100% - 30px) / 2);
  margin-right: 30px;
}
@media screen and (max-width: 680px) {
  .spot_list li {
    width: 100%;
    margin-right: 0;
  }
}
.spot_list li:nth-of-type(2n) {
  margin-right: 0;
}
.spot_list li .label {
  width: 100%;
  border: none;
  text-align: left;
  font-weight: 500;
  margin-bottom: 30px;
  padding: 0;
  position: relative;
}
.spot_list li .label::after {
  content: "";
  position: absolute;
  bottom: -26px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}
@media screen and (max-width: 767px) {
  .spot_list li .label::after {
    bottom: -24px;
  }
}
.spot_list li table {
  width: 100%;
  font-size: 13px;
  border-collapse: separate;
  border-spacing: 10px;
  line-height: 1.5;
}
.spot_list li table th {
  font-weight: 500;
  border-left: none;
  padding-left: 6px;
  width: 90px;
  vertical-align: baseline;
}
.spot_list li .thum {
  float: left;
  width: 50%;
  aspect-ratio: 4/3;
  border-radius: 8px;
  background-position: center center;
  background-size: cover;
  margin-right: 20px;
  margin-bottom: 20px;
  background-color: #e1f3df;
}
@media screen and (max-width: 1024px) {
  .spot_list li .thum {
    width: 100%;
    margin-right: 0;
    float: none;
  }
}
@media screen and (max-width: 680px) {
  .spot_list li .thum {
    aspect-ratio: 5/3;
  }
}
.spot_list li .txt {
  font-size: 1.3rem;
  float: right;
  width: calc(50% - 20px);
}
@media screen and (max-width: 1024px) {
  .spot_list li .txt {
    width: 100%;
    margin-bottom: 12px;
  }
}
.spot_list .campain {
  background-color: #e1f3df;
  border-radius: 8px;
  padding: 5px 10px;
  margin-top: 15px;
}

.c-model__bnr {
  display: flex;
  justify-content: space-between;
}

.c-model__bnr a {
  width: 49%;
}

@media screen and (max-width: 767px) {
  .c-model__bnr {
    display: block;
    text-align: center;
  }

  .c-model__bnr a {
    display: block;
    width: 100%;
    margin-bottom: 16px;
  }
}
@media screen and (max-width: 767px) {
  .model_course {
    width: 90%;
    max-width: initial;
    margin: 0 auto;
  }
  .model_course.--secondary {
    margin-right: auto;
  }
  .model_course.--single {
    margin-top: 0;
  }

  .model_course-visual ul {
    flex-wrap: wrap;
  }

  .model_course-visual li {
    width: 100%;
  }

  .model_course-visual .thum {
    min-width: 302px;
    height: 197px;
    margin: 0 auto;
  }

  .model_course-visual .thum_cap {
    min-width: 302px;
    margin: 0 auto;
    margin-top: 10px;
    margin-bottom: 24px;
  }

  .model_course ul .place {
    font-size: 1.4rem;
    padding-left: 20px;
  }

  .model_course ul .event {
    padding-left: 20px;
  }

  .model_course ul .event .time {
    line-height: 1.9em;
  }

  .model_course ul .time {
    font-size: 1.4rem;
  }

  .model_course ul img {
    margin-right: 8px;
  }

  .model_course .ttl {
    margin-top: 0;
  }

  .model_course.model_leftside {
    width: 100%;
  }
}
/*** お知らせ一覧 *********************************************/
.p-news {
  padding-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-news {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-news .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768px) {
  .p-news .c-parts__pagehead {
    margin-bottom: 40px;
  }
}

.p-category__wrap {
  padding-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-category__wrap {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}

.p-category {
  position: relative;
}

.p-category::before {
  content: "";
  position: absolute;
  bottom: -32px;
  left: 0;
  width: 100%;
  height: 4px;
  background-image: repeating-linear-gradient(90deg, #333 0, #333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}

.p-category__title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 20px;
}

.p-category__list {
  display: flex;
}

.p-category__list__item {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  box-sizing: border-box;
  margin-right: 10px;
}

.p-category__list__item a {
  display: block;
  color: #879A63;
  border: 2px solid #879A63;
  border-radius: 6px;
  padding: 2px 18px;
}

.p-category__list__item--all {
  color: #fff;
  background-color: #879A63;
  border-radius: 6px;
  padding: 4px 18px;
}

.p-category__list__item.is-active a {
  color: #fff;
  background-color: #879A63;
  border-radius: 6px;
  padding: 2px 18px;
}

.p-category__list__item--feature a {
  position: relative;
  padding-right: 40px;
}

.p-category__list__item--feature a::before {
  content: "";
  background-image: url(../img/common/icon_popup.svg);
  position: absolute;
  top: 11px;
  right: 18px;
  width: 14px;
  height: 14px;
}

.meta time {
  display: inline-block;
  margin-right: 4px;
  margin-bottom: 4px;
}

.news_tag {
  display: inline;
  font-size: 1.2rem;
  line-height: 2.4;
  letter-spacing: 0em;
  font-weight: 400;
  background-color: #eaeaea;
  border-radius: 8px;
  padding: 3px 6px;
  text-align: center;
  margin-right: 6px;
}

.categoryTag {
  display: inline-block;
  font-size: 1.1rem;
  letter-spacing: 0em;
  font-weight: 700;
  color: #879A63;
  border: 2px solid #879A63;
  border-radius: 8px;
  padding: 1px 6px;
  text-align: center;
  box-sizing: border-box;
  margin-right: 6px;
}

@media screen and (max-width: 767px) {
  .p-category__list {
    flex-wrap: wrap;
  }

  .p-category__list__item {
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 767px) {
  .blog_list li {
    width: 100%;
  }
}
/*** 特集記事 ************************************************/
.feature_list {
  padding-bottom: 0;
}

.feature_list li {
  position: relative;
  margin-bottom: 80px;
}
.feature_list li:last-of-type {
  margin-bottom: 0;
}

.feature_list li .postNew {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10;
}

.feature_list li .thum {
  width: 100%;
  background-position: center center;
  background-size: cover;
  margin-bottom: 20px;
  background-color: #e1f3df;
  height: 338px;
  border-radius: 0;
  border: 4px solid #879a63;
}

.feature_list li .ttl {
  margin-top: 14px;
  margin-bottom: 16px;
  font-size: 1.8rem;
}

.cheersong__wrapper {
  margin: 30px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 20px;
}

.cheersong__wrapper strong {
  color: #50C355;
}

.cheersong__image {
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
  max-width: 30%;
  padding: 0 20px;
}

.cheersong__image img {
  display: block;
  width: 100%;
  height: auto;
}

.cheersong__text {
  -ms-flex-preferred-size: 70%;
  flex-basis: 70%;
  max-width: 70%;
  padding: 0 20px;
}

.cheersong__table {
  margin-left: 0 !important;
  margin-top: 20px !important;
  margin-bottom: 20px !important;
  border-color: #50C355 !important;
}

.cheersong__table tr,
.cheersong__table th,
.cheersong__table td {
  border-color: #50C355 !important;
}

.cheersong__table th {
  background-color: #e1f3df;
}

.cheersong__text ul {
  margin-top: 30px;
}

.cheersong__text li {
  position: relative;
  font-size: 1.2rem;
  padding-left: 16px;
}

.cheersong__text li::before {
  content: "";
  position: absolute;
  background-color: #50C355;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  top: 7px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .feature_list li .postNew {
    top: 4px;
    left: 4px;
  }

  .feature_list li .postNew img {
    width: 70px;
    height: 70px;
  }

  .feature_list li .thum {
    height: 200px;
    height: 53.33vw;
    box-sizing: border-box;
  }

  .cheersong__wrapper {
    margin: 20px auto;
    padding: 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .cheersong__image {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
    max-width: 70%;
    padding: 0 0px;
    margin: 0 auto;
  }

  .cheersong__text {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    padding: 20px 10px 0;
  }

  .cheersong__table {
    margin-left: 0 !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    border-color: #50C355 !important;
    width: 100%;
  }

  .cheersong__table th,
.cheersong__table td {
    display: table-cell !important;
  }
}
/*** アクセス多言語マップ ************************************************/
.map.en,
.map.ch,
.en .map.ja,
.zh-TW .map.ja,
.zh-CN .map.ja {
  display: none;
}

.en .map.en {
  display: block;
}

.zh-TW .map.ch,
.zh-CN .map.ch {
  display: block;
}

@media screen and (max-width: 767px) {
  .map .en,
.map .ch,
.en .map .ja,
.zh-TW .map .ja,
.zh-CN .map .ja {
    display: none;
  }

  .en .map .en {
    display: block;
  }

  .zh-TW .map .ch,
.zh-CN .map .ch {
    display: block;
  }
}
/*** 沿線交通情報 *********************************************/
.p-secondaryMap {
  position: relative;
  margin: 0 auto;
  width: 100%;
  background-color: #f6faee;
  z-index: 1;
}

.p-secondaryMap__wrap {
  position: relative;
  height: auto;
  background-color: #f6faee;
  z-index: 10;
}

.p-secondaryMap__img {
  max-width: none;
  z-index: 10;
}

.p-secondaryMap__list__item {
  display: inline-block;
  position: absolute;
  width: fit-content;
  line-height: 1.14;
}

.p-secondaryMap__list__item--01 {
  top: 95px;
  right: 6px;
}

.p-secondaryMap__list__item--02 {
  top: 150px;
  right: 4px;
}

.p-secondaryMap__list__item--03 {
  top: 152px;
  right: 104px;
}

.p-secondaryMap__list__item--04 {
  top: 206px;
  right: 30px;
}

.p-secondaryMap__list__item--05 {
  top: 216px;
  right: 154px;
}

.p-secondaryMap__list__item--06 {
  top: 148px;
  right: 203px;
}

.p-secondaryMap__list__item--07 {
  top: 115px;
  right: 179px;
}

.p-secondaryMap__list__item--08 {
  top: 95px;
  right: 179px;
}

.p-secondaryMap__list__item--09 {
  top: 58px;
  right: 80px;
}

.p-secondaryMap__list__item--10 {
  top: 32px;
  right: 170px;
}

.p-secondaryMap__list__item--11 {
  top: 79px;
  right: 240px;
}

.p-secondaryMap__list__item--12 {
  top: 45px;
  right: 281px;
}

.p-secondaryMap__list__item--13 {
  top: 120px;
  right: 284px;
}

.p-secondaryMap__list__item--14 {
  top: 141px;
  right: 290px;
}

.p-secondaryMap__list__item--15 {
  top: 147px;
  right: 309px;
}

.p-secondaryMap__list__item--16 {
  top: 190px;
  right: 230px;
}

.p-secondaryMap__list__item--17 {
  top: 226px;
  right: 270px;
}

.p-secondaryMap__list__item--18 {
  top: 205px;
  right: 376px;
}

.p-secondaryMap__list__item--19 {
  top: 155px;
  right: 416px;
}

.p-secondaryMap__list__item--20 {
  top: 113px;
  right: 416px;
}

.p-secondaryMap__list__item--21 {
  top: 160px;
  right: 470px;
}

.p-secondaryMap__list__item--22 {
  top: 196px;
  right: 471px;
}

.p-secondaryMap__list__item--23 {
  top: 249px;
  right: 494px;
}

.p-secondaryMap__list__item--24 {
  top: 275px;
  right: 415px;
}

.p-secondaryMap__list__item--25 {
  top: 304px;
  right: 492px;
}

.p-secondaryMap__list__item--26 {
  top: 204px;
  left: 342px;
}

.p-secondaryMap__list__item--27 {
  top: 243px;
  left: 265px;
}

.p-secondaryMap__list__item--28 {
  top: 339px;
  left: 347px;
}

.p-secondaryMap__list__item--29 {
  top: 289px;
  left: 204px;
}

.p-secondaryMap__list__item--30 {
  top: 257px;
  left: 143px;
}

.p-secondaryMap__list__item--31 {
  top: 256px;
  left: 41px;
}

.p-secondaryMap__list__item--32 {
  top: 292px;
  left: 12px;
}

.p-secondaryMap__list__item--33 {
  top: 340px;
  left: 101px;
}

.p-secondaryMap__list__item--34 {
  top: 371px;
  left: 120px;
}

.p-secondaryMap__list__item--35 {
  top: 402px;
  left: 125px;
}

.p-secondaryMap__list__item--36 {
  top: 427px;
  left: 55px;
}

.p-secondaryMap__list__item a {
  position: relative;
  color: #fff;
  display: inline-block;
  background-color: #6EAB3E;
  border-radius: 10px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0;
  padding: 3px 22px 3px 12px;
}

.p-secondaryMap__list__item a::before {
  content: "";
  background-image: url(../img/secondary-traffic/icon_arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  width: 4px;
  height: 7px;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.p-secondaryMap__list__item--circle a {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #fff;
  padding: 0;
}

.p-secondaryMap__list__item--circle a::before {
  content: none;
}

.p-newsTable {
  margin-top: 38px;
  font-size: 1.6rem;
  width: 100%;
}

.p-newsTable__row:not(:last-child) {
  border-bottom: 4px solid #fff;
}

.p-newsTable__row__head {
  background-color: #889A63;
  color: #fff;
  padding: 10px 16px;
  width: 172px;
  border-right: 4px solid #fff;
  font-weight: 700;
}

.p-newsTable__row__data {
  background-color: #ECF0ED;
  padding: 10px 16px;
  width: calc(100% - 172px);
}

@media (hover: hover) {
  .p-secondaryMap__list__item a:hover {
    background-color: #889A63;
    opacity: 1;
  }
}
@media screen and (max-width: 1140px) {
  .p-secondaryMap {
    /* width: clamp(700px, 87.72vw, 1000px); */
  }
}
@media screen and (max-width: 767px) {
  .p-secondaryMap {
    width: 100%;
  }

  .p-secondaryMap::before {
    width: 176px;
    height: 67px;
    top: -100px;
    left: -65px;
  }

  .p-secondaryMap::after {
    width: 214px;
    height: 99px;
    bottom: -65px;
    right: -113px;
  }

  .p-secondaryMap__wrap {
    width: 100%;
    text-align: center;
  }

  .p-secondaryMap__list {
    position: absolute;
    top: 32px;
    left: 50%;
    transform: translateX(-50%);
    padding-left: 30px;
  }

  .p-secondaryMap__list::before {
    content: "";
    background-image: url(../img/secondary-traffic/train_line.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 1386px;
  }

  .p-secondaryMap__list__item {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    display: block;
    margin-top: 3px;
    margin-bottom: 19px;
  }

  .p-secondaryMap__list__item a {
    display: block;
    width: 108px;
    height: 20px;
    padding: 2px 12px;
    text-align: center;
  }

  .p-newsTable {
    font-size: 1.4rem;
  }

  .p-newsTable__row__head {
    width: 112px;
  }

  .p-newsTable__row__head,
.p-newsTable__row__data {
    padding: 10px 12px;
  }
}
/*** footer *********************************************/
.guidebook ul li {
  margin-bottom: 14px !important;
}

/******************************************************
  インデックスページ
******************************************************/
.p-page {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ============================================== */
  /* == パンくずリスト ============================================== */
  /* == 知る・見る・行く 共通 ============================================== */
}
@media screen and (max-width: 1024px) {
  .p-page {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-page .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-page .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-page.--info .c-parts__pagehead::before {
  background-image: url(../img/info/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-page.--info .c-parts__pagehead::before {
    background-image: url(../img/info/img_pagehead_s.webp);
  }
}
.p-page.--sightseeing .c-parts__pagehead::before {
  background-image: url(../img/sightseeing/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-page.--sightseeing .c-parts__pagehead::before {
    background-image: url(../img/sightseeing/img_pagehead_s.webp);
  }
}
.p-page.--visit .c-parts__pagehead::before {
  background-image: url(../img/visit/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-page.--visit .c-parts__pagehead::before {
    background-image: url(../img/visit/img_pagehead_s.webp);
  }
}
.p-page .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-page .dir_path {
    margin-bottom: 50px;
  }
}
.p-page .c-parts__subtitle {
  margin-bottom: 60px;
}
@media screen and (max-width: 1024px) {
  .p-page .c-parts__subtitle {
    margin-bottom: clamp(40px, 5.21vw, 60px);
  }
}
.p-page .p-page__list {
  display: flex;
  gap: 26px 26px;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .p-page .p-page__list {
    gap: 20px 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-page .p-page__list {
    flex-direction: column;
  }
}
.p-page .p-page__list li {
  width: calc((100% - 26px) / 2);
}
@media screen and (max-width: 1024px) {
  .p-page .p-page__list li {
    width: calc((100% - 20px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .p-page .p-page__list li {
    width: 100%;
  }
}
.p-page .p-page__list li a {
  padding: 36px 15px 36px 18px;
  border: solid 3px #889A63;
  border-radius: 10px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-page .p-page__list li a {
    padding: clamp(24px, 3.13vw, 36px);
  }
}
@media screen and (max-width: 480px) {
  .p-page .p-page__list li a {
    padding: 14px;
    font-size: 1.5rem;
  }
}
.p-page .p-page__list li a::after {
  content: "";
  position: absolute;
  right: 16px;
  transform: rotate(45deg);
  width: 16px;
  height: 16px;
  border-top: 2px solid #889A63;
  border-right: 2px solid #889A63;
}
@media screen and (max-width: 480px) {
  .p-page .p-page__list li a::after {
    right: 14px;
    width: 12px;
    height: 12px;
  }
}

/******************************************************
  知る（インデックスページ）
******************************************************/
.p-info {
  /* == 下層ページ共通ヘッダー ===== */
}
.p-info .c-parts__pagehead::before {
  background-image: url(../img/info/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-info .c-parts__pagehead::before {
    background-image: url(../img/info/img_pagehead_s.webp);
  }
}

/******************************************************
  只見線物語
******************************************************/
.p-about {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-about {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-about .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-about .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-about .c-parts__pagehead::before {
  background-image: url(../img/about/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-about .c-parts__pagehead::before {
    background-image: url(../img/about/img_pagehead_s.webp);
  }
}
.p-about .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-about .dir_path {
    margin-bottom: 50px;
  }
}
.p-about .dir_path > ul li {
  margin-bottom: 0;
}
.p-about .thum {
  width: clamp(300px, 40%, 540px);
  border-radius: 8px;
  background-position: center center;
  background-size: cover;
  aspect-ratio: 3/2;
}
@media screen and (max-width: 1024px) {
  .p-about .thum {
    width: clamp(300px, 40%, 430px);
    height: clamp(275px, 26.39vw, 380px);
  }
}
@media screen and (max-width: 767px) {
  .p-about .thum {
    width: 100%;
    height: 58.67vw;
    margin-bottom: 20px;
  }
}
.p-about .txt {
  width: clamp(380px, 56%, 600px);
}
@media screen and (max-width: 1024px) {
  .p-about .txt {
    width: clamp(380px, 56%, 540px);
  }
}
@media screen and (max-width: 767px) {
  .p-about .txt {
    width: 100%;
    margin-bottom: 20px;
  }
}
.p-about .txt .ttl {
  width: 100%;
  background-color: #889A63;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  padding: 10px 20px;
  color: #fff;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p-about .txt .ttl {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 480px) {
  .p-about .txt .ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about ul li {
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap-reverse;
  }
}
.p-about .p-about__list {
  height: auto;
}
.p-about .p-about__list li {
  margin-bottom: 100px;
  display: flex;
  justify-content: space-between;
  gap: 0 40px;
}
@media screen and (max-width: 768px) {
  .p-about .p-about__list li {
    gap: 0 30px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-about .p-about__list li {
    margin-bottom: 40px;
  }
}
.p-about .c-parts__link > ul > li {
  margin-bottom: 0;
}

/******************************************************
  只見線利活用プロジェクト
******************************************************/
.p-use {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-use {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
@media screen and (max-width: 767px) {
  .p-use {
    padding-bottom: 20px;
  }
}
.p-use .c-parts__pagehead {
  margin-bottom: 40px;
}
@media screen and (max-width: 768PX) {
  .p-use .c-parts__pagehead {
    margin-bottom: 20px;
  }
}
.p-use .c-parts__pagehead::before {
  background-image: url(../img/use/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-use .c-parts__pagehead::before {
    background-image: url(../img/use/img_pagehead_s.webp);
  }
}
.p-use .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-use .dir_path {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .p-use .bx_green {
    padding: 40px 30px;
  }
}
.p-use .bx_green h3 br {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-use .bx_green h3 br {
    display: block;
  }
}
.p-use .p-use__plan.c-head_ttl,
.p-use .p-use__policy.c-head_ttl,
.p-use .p-use__project.c-head_ttl {
  margin-top: 14rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .p-use .p-use__plan.c-head_ttl,
.p-use .p-use__policy.c-head_ttl,
.p-use .p-use__project.c-head_ttl {
    margin-top: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .p-use .p-use__plan.c-head_ttl,
.p-use .p-use__policy.c-head_ttl,
.p-use .p-use__project.c-head_ttl {
    margin-top: 6rem;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 480px) {
  .p-use .p-use__plan.c-head_ttl,
.p-use .p-use__policy.c-head_ttl,
.p-use .p-use__project.c-head_ttl {
    margin-bottom: 2rem;
  }
}
.p-use .use_project_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  margin: auto;
}
.p-use .use_project_list li {
  width: 326px;
}
.p-use .use_project_list li .btn_pdf-icon {
  width: 16px;
  height: 16px;
  margin-right: 16px;
}
@media screen and (max-width: 768px) {
  .p-use .use_project_list li .btn_pdf-icon {
    padding: 0;
    position: absolute;
    left: 22px;
  }
}
@media screen and (max-width: 768px) {
  .p-use .use_project_list li .pdf {
    background-color: #FFF;
    color: #50C355;
    font-weight: 700;
    font-size: 11px;
    padding: 0px 6px;
    margin-right: 10px;
    margin-top: 4px;
  }
}
.p-use .use_project_list li .btn_pdf {
  display: block;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-use .use_project_list li .btn_pdf {
    position: relative;
  }
}
.p-use .use_project_list li .btn_pdf a {
  text-decoration: none;
  border-radius: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: auto;
  height: 48px;
  margin: 0 auto;
  border: none;
  background-color: #879a63;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  z-index: 1;
  transition: 0.3s;
  overflow: hidden;
  padding: 5px 40px 5px 30px;
}
.p-use .use_project_list li .btn_pdf a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: solid 2px #879a63;
  border-radius: 24px;
  box-sizing: border-box;
  z-index: -1;
  transform: scale(0);
  opacity: 0;
  transition: transform ease 0.3s, opacity 0.3s;
}
.p-use .use_project_list li .btn_pdf a:hover {
  color: #ffffff;
  background: #697b48;
  opacity: 1;
}
.p-use .use_project_list li .btn_pdf a:hover::before {
  transform: scale(1.1);
  opacity: 1;
}
.p-use .use_project_list li .btn_green a {
  padding: 10px 40px !important;
}
@media screen and (max-width: 767px) {
  .p-use #use_cont .cFix {
    display: flex;
    flex-direction: column-reverse;
  }
}
.p-use #use_cont ul {
  /*padding-top: 50px;
  @media screen and (max-width:767px) {
    padding-top: 30px;
  }*/
}
.p-use #use_cont ul li {
  margin-bottom: 70px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-use #use_cont ul li {
    margin-bottom: 40px;
  }
}
.p-use #use_cont ul li .thum {
  width: calc(40% - 30px);
  height: 240px;
  border-radius: 8px;
  background-position: center center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-use #use_cont ul li .thum {
    width: 100%;
    height: 58.67vw;
    border-radius: 8px;
    background-position: center center;
    background-size: cover;
    margin-bottom: 20px;
  }
}
.p-use #use_cont ul li .txt {
  width: 60%;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-use #use_cont ul li .txt {
    width: 100%;
    margin-bottom: 16px;
  }
}
.p-use #use_cont ul li .txt .ttl {
  width: 100%;
  background-color: #889A63;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
  padding: 10px 20px;
  color: #fff;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p-use #use_cont ul li .txt .ttl {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 480px) {
  .p-use #use_cont ul li .txt .ttl {
    font-size: 1.6rem;
  }
}
.p-use #use_cont ul li .txt .read {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .p-use #use_cont ul li .txt .read {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 5px;
  }
}
.p-use .use_policy_list {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-use .use_policy_list {
    display: block;
  }
}
.p-use .use_policy_list li {
  width: 30%;
  margin-right: 5%;
  font-size: 16px;
  letter-spacing: 0em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .p-use .use_policy_list li {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 40px;
    font-size: 14px;
  }
}
.p-use .use_policy_list li:last-child {
  margin-right: 0%;
}
.p-use .use_policy_list li .label {
  width: 100%;
  background-color: #889A63;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 6rem;
  text-align: center;
  color: #fff;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p-use .use_policy_list li .label {
    font-size: 1.8rem;
    line-height: 4.5rem;
  }
}
@media screen and (max-width: 480px) {
  .p-use .use_policy_list li .label {
    font-size: 1.6rem;
    line-height: 4rem;
  }
}

/******************************************************
  特集記事
******************************************************/
.p-feature {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-feature {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-feature .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-feature .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-feature .c-parts__pagehead::before {
  background-image: url(../img/feature/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-feature .c-parts__pagehead::before {
    background-image: url(../img/feature/img_pagehead_s.webp);
  }
}
.p-feature .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-feature .dir_path {
    margin-bottom: 50px;
  }
}

/******************************************************
  見る（インデックスページ）
******************************************************/
.p-sightseeing {
  /* == 下層ページ共通ヘッダー ===== */
}
.p-sightseeing .c-parts__pagehead::before {
  background-image: url(../img/sightseeing/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-sightseeing .c-parts__pagehead::before {
    background-image: url(../img/sightseeing/img_pagehead_s.webp);
  }
}

/******************************************************
  写真・動画ギャラリー
******************************************************/
.p-gallery {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-gallery {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-gallery .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-gallery .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-gallery .c-parts__pagehead::before {
  background-image: url(../img/gallery/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-gallery .c-parts__pagehead::before {
    background-image: url(../img/gallery/img_pagehead_s.webp);
  }
}
.p-gallery .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-gallery .dir_path {
    margin-bottom: 50px;
  }
}

.main::after {
  display: none;
}

.bg-ttl {
  font-size: 2.5rem;
  font-weight: 700;
  background-color: #889a63;
  color: #fff;
  padding: 10px 1.2rem;
  line-height: 1.6;
  margin-bottom: 5rem;
}
@media screen and (max-width: 600px) {
  .bg-ttl {
    font-size: 2rem;
    text-align: center;
    line-height: 1.45;
    margin-bottom: 2rem;
    padding: 0.1rem 1rem 0.3rem;
  }
}
@media screen and (max-width: 480px) {
  .bg-ttl {
    font-size: 1.8rem;
  }
}

.p-contest {
  margin-bottom: 15rem;
}
@media screen and (max-width: 1024px) {
  .p-contest {
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 600px) {
  .p-contest {
    margin-top: rem;
    margin-bottom: 6rem;
  }
}
.p-contest-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.8rem;
  margin-bottom: 11rem;
}
@media screen and (max-width: 768px) {
  .p-contest-wrap {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 600px) {
  .p-contest-wrap {
    display: grid;
    gap: 4rem;
    margin-bottom: 6rem;
  }
}
.p-contest-img {
  aspect-ratio: 1/1;
  display: flex;
  align-items: stretch;
  justify-content: center;
  background-color: #d8d8d8;
  margin-bottom: 2.7rem;
}
@media screen and (max-width: 768px) {
  .p-contest-img {
    aspect-ratio: 3/2;
  }
}
@media screen and (max-width: 600px) {
  .p-contest-img {
    margin-bottom: 2.2rem;
  }
}
.p-contest-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-contest-rank {
  background-color: #d6a403;
  color: #fff;
  font-size: 1.6rem;
  line-height: 2.7rem;
  text-align: center;
  width: 127px;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 480px) {
  .p-contest-rank {
    width: 96px;
    font-size: 1.4rem;
  }
}
.p-contest h4 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
}
@media screen and (max-width: 480px) {
  .p-contest h4 {
    font-size: 1.6rem;
  }
}
.p-contest dl {
  display: flex;
  align-items: start;
}
.p-contest dt {
  display: flex;
  align-items: center;
  line-height: 1.4;
}
@media screen and (max-width: 480px) {
  .p-contest dt {
    font-size: 1.4rem;
  }
}
.p-contest dt::before {
  content: "●";
  color: #889a63;
}
.p-contest dd {
  flex: 1;
  line-height: 1.4;
}
@media screen and (max-width: 480px) {
  .p-contest dd {
    font-size: 1.4rem;
  }
}
.p-contest-cite {
  display: flex;
  gap: 0 16px;
  flex-wrap: wrap;
  font-size: 1.5rem;
}
@media screen and (max-width: 600px) {
  .p-contest-cite {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-contest-cite.--2col dl {
  width: calc((100% - 16px) / 2);
}
.p-contest-cite.--3col {
  gap: 4px 16px;
}
.p-contest-cite.--3col dl {
  width: 100%;
}
.p-contest-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10rem 2.8rem;
}
@media screen and (max-width: 1024px) {
  .p-contest-list {
    gap: 8rem 2.8rem;
  }
}
@media screen and (max-width: 768px) {
  .p-contest-list {
    gap: 6rem 2.8rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  .p-contest-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
  }
}
@media screen and (max-width: 480px) {
  .p-contest-list {
    gap: 4rem 2rem;
  }
}

.p-paint {
  margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-paint {
    margin-bottom: clamp(80px, 10.43vw, 100px);
  }
}
@media screen and (max-width: 600px) {
  .p-paint {
    margin-bottom: 6rem;
  }
}
.p-paint-inr {
  max-width: 1080px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .p-paint-inr_slider {
    position: relative;
  }
}
@media screen and (max-width: 600px) {
  .p-paint-inr_slider .swiper {
    max-width: 102rem;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 600px) {
  .p-paint-inr .swiper-slide {
    width: 100% !important;
  }
}
.p-paint-inr #sb_instagram {
  width: calc(100% - 80px);
  margin: 0 auto;
  padding-bottom: 0;
}
.p-paint-inr #sb_instagram #sbi_images {
  padding: 0;
}
@media screen and (max-width: 768px) {
  .p-paint-inr #sb_instagram #sbi_images .sbi_photo_wrap {
    aspect-ratio: 3/2;
  }
}
.p-paint-inr #sb_instagram #sbi_images .sbi-owl-nav .sbi-owl-prev, .p-paint-inr #sb_instagram #sbi_images .sbi-owl-nav .sbi-owl-next {
  width: 12px;
  height: 20px;
  top: -50% !important;
  bottom: -50%;
  margin: auto;
  background-color: unset;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  box-shadow: none;
}
.p-paint-inr #sb_instagram #sbi_images .sbi-owl-nav .sbi-owl-prev svg, .p-paint-inr #sb_instagram #sbi_images .sbi-owl-nav .sbi-owl-next svg {
  display: none;
}
.p-paint-inr #sb_instagram #sbi_images .sbi-owl-nav .sbi-owl-prev {
  background-image: url("../img/gallery/icon_arrow-black-r.png");
  scale: -1 1;
  left: -40px;
}
.p-paint-inr #sb_instagram #sbi_images .sbi-owl-nav .sbi-owl-next {
  background-image: url("../img/gallery/icon_arrow-black-r.png");
  right: -40px;
}

.p-movie {
  margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-movie {
    margin-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-movie-inr {
  max-width: 1080px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.p-movie-iframe {
  margin-bottom: 20px;
  line-height: normal;
}
@media screen and (max-width: 600px) {
  .p-movie-iframe {
    margin-bottom: 10px;
  }
}
.p-movie-iframe iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.p-movie ul {
  display: flex;
  gap: 80px 28px;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  .p-movie ul {
    gap: 80px 40px;
  }
}
@media screen and (max-width: 768px) {
  .p-movie ul {
    gap: 6rem 2.8rem;
  }
}
@media screen and (max-width: 600px) {
  .p-movie ul {
    gap: 40px 0;
  }
}
@media screen and (max-width: 480px) {
  .p-movie ul {
    gap: 4rem 2rem;
  }
}
.p-movie ul li {
  width: calc((100% - 56px) / 3);
}
@media screen and (max-width: 1024px) {
  .p-movie ul li {
    width: calc((100% - 40px) / 2);
  }
}
@media screen and (max-width: 600px) {
  .p-movie ul li {
    width: 100%;
  }
}
.p-movie .p-ttl_border {
  font-size: 2rem;
  text-align: initial;
}
.p-movie .p-ttl_border::after {
  margin-top: 0.8rem;
}
.p-movie p {
  font-size: 1.5rem;
  line-height: 1.8;
  margin-top: 0.8rem;
}

.p-related-inr {
  max-width: 1386px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.6);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  /* モーダル本体 */
}
.gallery-modal .gallery-modal-content {
  width: 92%;
  max-width: 1560px;
  height: 92vh;
  background-color: rgba(51, 51, 51, 0.92);
  position: relative;
  box-sizing: border-box;
  transform: scale(0.95);
  transition: transform 0.3s ease;
  /* close */
}
.gallery-modal .gallery-modal-content .gallery-modal-inner {
  height: 100%;
  padding: 50px 7.7%;
  display: flex;
  align-items: stretch;
  gap: 0 5.13%;
}
@media screen and (max-width: 768px) {
  .gallery-modal .gallery-modal-content .gallery-modal-inner {
    flex-direction: column;
    gap: 2rem;
    overflow: auto;
  }
}
.gallery-modal .gallery-modal-content h3 {
  font-size: 3rem;
  margin-bottom: 1.5rem;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .gallery-modal .gallery-modal-content h3 {
    font-size: 2rem;
    margin-bottom: 0.8rem;
  }
}
.gallery-modal .gallery-modal-content dl {
  color: #fff;
}
.gallery-modal .gallery-modal-content .gallery-close-button {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 10;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: none;
  background-color: #d8d8d8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  transition: background-color 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .gallery-modal .gallery-modal-content .gallery-close-button {
    top: -20px;
    right: -20px;
  }
}
.gallery-modal .gallery-modal-content .gallery-close-button:hover {
  background: rgba(216, 216, 216, 0.75);
}
.gallery-modal .gallery-modal-content .gallery-close-button .gallery-close-icon {
  position: relative;
}
.gallery-modal .gallery-modal-content .gallery-close-button .gallery-close-icon::before, .gallery-modal .gallery-modal-content .gallery-close-button .gallery-close-icon::after {
  content: "";
  width: 30px;
  border-top: solid 1px #333333;
  position: absolute;
  top: -6px;
  left: 50%;
  transform-origin: center;
}
.gallery-modal .gallery-modal-content .gallery-close-button .gallery-close-icon::before {
  transform: translateX(-50%) rotate(-30deg);
}
.gallery-modal .gallery-modal-content .gallery-close-button .gallery-close-icon::after {
  transform: translateX(-50%) rotate(30deg);
}
.gallery-modal .gallery-modal-content .gallery-close-button .gallery-close-text {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  position: absolute;
  bottom: 10px;
}
.gallery-modal.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.3s ease, visibility 0s;
}
.gallery-modal.is-active .gallery-modal-content {
  transform: scale(1);
}

/* ギャラリーアイテム */
.gallery-item {
  cursor: pointer;
}

/* 左：画像 */
.gallery-img-box {
  width: 55%;
  max-width: 685px;
  aspect-ratio: 1/1;
  background-color: #d8d8d8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .gallery-img-box {
    aspect-ratio: 4/3;
  }
}
.gallery-img-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .gallery-img-box {
    flex: none;
    width: 100%;
  }
}

/* 右：本文 */
.gallery-modal-body {
  width: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* テキスト（PCだけ内スクロール） */
.gallery-text-box {
  background-color: #fff;
  padding: 2rem;
  margin-top: 3rem;
  flex: 1;
  overflow-y: auto;
}
@media screen and (max-width: 768px) {
  .gallery-text-box {
    margin-top: 2rem;
    overflow: visible;
  }
}
.gallery-text-box.is-hidden {
  display: none;
}

/* 矢印 */
.nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: transparent;
  border: 0;
}
.nav-button.prev-button {
  left: 5rem;
}
@media screen and (max-width: 1560px) {
  .nav-button.prev-button {
    left: clamp(10px, 1.3vw, 30px);
  }
}
@media screen and (max-width: 600px) {
  .nav-button.prev-button {
    left: 0.5rem;
  }
}
.nav-button.prev-button:disabled {
  opacity: 0.4;
  cursor: default;
  pointer-events: none;
}
.nav-button.next-button {
  right: 5rem;
}
@media screen and (max-width: 1560px) {
  .nav-button.next-button {
    right: clamp(10px, 1.3vw, 30px);
  }
}
@media screen and (max-width: 600px) {
  .nav-button.next-button {
    right: 0.5rem;
  }
}
.nav-button.next-button:disabled {
  opacity: 0.4;
  cursor: default;
  pointer-events: none;
}

/******************************************************
  観光情報 - 一覧
******************************************************/
.p-station {
  margin-bottom: 0;
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-station {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-station .c-parts__pagehead::before {
  background-image: url(../img/station/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-station .c-parts__pagehead::before {
    background-image: url(../img/station/img_pagehead_s.webp);
  }
}
.p-station .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-station .dir_path {
    margin-bottom: 50px;
  }
}
.p-station .main {
  margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-station .main {
    margin-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-station .p-stationname {
  width: 100dvw;
  margin: 0 calc(50% - 50vw);
  background-color: #889A63;
  padding: 2.2rem 0;
}
@media screen and (max-width: 767px) {
  .p-station .p-stationname {
    padding: 1rem 0;
  }
}
@media screen and (max-width: 374px) {
  .p-station .p-stationname {
    padding: 1rem 0;
  }
}
.p-station .p-stationname .p-stationname-text {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 5rem;
  max-width: 1080px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1280px) {
  .p-station .p-stationname .p-stationname-text {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .p-station .p-stationname .p-stationname-text {
    /*display: flex;
    justify-content: center;
    align-items: center;*/
    gap: 0 3.9rem;
  }
}
@media screen and (max-width: 480px) {
  .p-station .p-stationname .p-stationname-text {
    gap: 0 2rem;
  }
}
.p-station .p-stationname dl {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  font-weight: 700;
}
.p-station .p-stationname dt {
  font-size: 1.4rem;
  text-decoration: underline;
}
.p-station .p-stationname dd {
  font-size: 4.2rem;
}
@media screen and (max-width: 1024px) {
  .p-station .p-stationname dd {
    font-size: clamp(2.4rem, 3.13vw, 4.2rem);
  }
}
@media screen and (max-width: 374px) {
  .p-station .p-stationname dd {
    font-size: 2rem;
  }
}
.p-station .p-stationname select {
  width: 160px;
  height: 50px;
  font-size: 2rem;
  border-radius: 3px;
  padding: 0 4px;
}
@media screen and (max-width: 767px) {
  .p-station .p-stationname select {
    height: 30px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .p-station .p-stationname select {
    width: 100px;
    font-size: 1.4rem;
  }
}
.p-station .p-head {
  margin-bottom: 14.7rem;
}
@media screen and (max-width: 1024px) {
  .p-station .p-head {
    margin-bottom: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .p-station .p-head {
    margin-top: 4rem;
    margin-bottom: 8rem;
  }
}
.p-station .p-head h1 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .p-station .p-head h1 {
    margin-bottom: 3rem;
  }
}
.p-station .p-head_img {
  max-width: 100%;
  margin-bottom: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-station .p-head_img {
    max-width: 100%;
    margin-bottom: 1.4rem;
  }
}
.p-station .p-head .modal-trigger {
  width: 90px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 5px;
  margin-left: auto;
  color: #FFFFFF;
  background-color: #333333;
  display: flex;
  gap: 0 2px;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.p-station .p-head .modal-trigger::before {
  content: url(../img/common/icon_large-btn.svg);
  margin-top: 3px;
}
.p-station .p-head .modal-trigger:hover, .p-station .p-head .modal-trigger:focus {
  opacity: 0.8;
  cursor: pointer;
}
.p-station .p-head .modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease;
  /* overlay */
  /* content */
  /* body */
  /* close button */
  /* responsive */
}
.p-station .p-head .modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.p-station .p-head .modal.is-open .modal__content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.p-station .p-head .modal.is-open .modal__overlay {
  opacity: 1;
}
.p-station .p-head .modal.is-open .modal__content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.p-station .p-head .modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.p-station .p-head .modal__content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.96);
  background: #fff;
  width: 90%;
  max-width: 1170px;
  max-height: 80vh;
  overflow-y: auto;
  padding: 4rem;
  opacity: 0;
  transition: 0.3s ease;
}
.p-station .p-head .modal__body img {
  display: block;
  max-width: 100%;
  height: auto;
}
.p-station .p-head .modal__close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 4rem;
  height: 4rem;
  border: none;
  border-radius: 50%;
  color: #fff;
  background: #575757;
  font-size: 2.4rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.p-station .p-head .modal__close:hover, .p-station .p-head .modal__close:focus {
  opacity: 0.8;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .p-station .p-head .modal__content {
    padding: 3rem;
    max-height: 85vh;
    overflow-y: visible;
  }
  .p-station .p-head .modal__close {
    top: -2rem;
    right: -2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-station .p-same {
    margin-bottom: 8rem;
  }
}
.p-station .p-transportation {
  margin-bottom: 300px;
}
@media screen and (max-width: 1024px) {
  .p-station .p-transportation {
    margin-bottom: clamp(200px, 26.04vw, 300px);
  }
}
@media screen and (max-width: 600px) {
  .p-station .p-transportation {
    margin-bottom: 140px;
  }
}
@media screen and (max-width: 600px) {
  .p-station .p-transportation .c-btn {
    width: 80%;
  }
}
.p-station .p-ride {
  padding-bottom: 31.1rem;
}
@media screen and (max-width: 767px) {
  .p-station .p-ride {
    padding-bottom: 23.7rem;
  }
}
.p-station .p-spot-inr,
.p-station .p-related-inr {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.p-nearby {
  margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-nearby {
    margin-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-nearby h2 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-nearby h2 {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-nearby h2 {
    margin-bottom: 3rem;
  }
}
.p-nearby ul {
  display: flex;
  gap: 80px clamp(60px, 5.86vw, 90px);
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-nearby ul {
    gap: 80px 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-nearby ul {
    gap: 60px 0;
  }
}
.p-nearby ul li {
  width: calc((100% - clamp(60px, 5.86vw, 90px)) / 2);
}
@media screen and (max-width: 768px) {
  .p-nearby ul li {
    width: calc((100% - 40px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .p-nearby ul li {
    width: 100%;
  }
}
.p-nearby ul li .nearby-img {
  position: relative;
  z-index: 0;
}
.p-nearby ul li .nearby-img::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #F6FAEE;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-nearby ul li .nearby-img img {
  height: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-nearby .shop-ttl02 {
    line-height: 1.2692307692;
    padding: 0.9rem 0 1.3rem;
    text-align: center;
  }
}
.p-nearby h3 {
  width: 100%;
  padding: 8px 16px;
  margin-bottom: 2rem;
  background-color: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 480px) {
  .p-nearby h3 {
    font-size: 18px;
  }
}
.p-nearby p {
  font-size: 1.7rem;
  line-height: 1.5882352941;
  margin-bottom: 2rem;
}
@media screen and (max-width: 480px) {
  .p-nearby p {
    font-size: 15px;
  }
}
.p-nearby dl {
  display: flex;
  font-size: 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid #707070;
}
.p-nearby dl:last-of-type {
  border-bottom: 1px solid #707070;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-nearby dl:last-of-type {
    margin-bottom: 3rem;
  }
}
.p-nearby dt {
  width: 80px;
}
.p-nearby dd {
  width: calc(100% - 80px);
  font-size: 1.5rem;
  word-break: break-word;
}
.p-nearby dd p {
  margin-bottom: 0;
  font-size: 1.5rem;
}
.p-nearby dd a {
  color: #63729a;
}

.g-map {
  width: 23.8rem;
  height: 4.3rem;
  border-radius: 0.5rem;
  border: 1px solid #889a63;
  font-weight: 500;
  font-size: 1.5rem;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: 0 0.65rem;
  color: #889a63 !important;
  margin-left: auto;
  margin-right: auto;
  background: url("../img/station/icon_external.svg") no-repeat center right 1rem;
}
.g-map::before {
  line-height: 1;
  content: url(../img/station/icon_map.svg);
}

.p-accommodation {
  margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-accommodation {
    margin-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-accommodation-inr {
  max-width: 1080px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.p-accommodation h2 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 768px) {
  .p-accommodation h2 {
    margin-bottom: 5rem;
  }
}
.p-accommodation .p-accommodation_slider {
  position: relative;
}
.p-accommodation .p-accommodation_slider .swiper {
  width: 86%;
  margin-left: auto;
  margin-right: auto;
}
.p-accommodation .p-accommodation_slider .swiper-slide {
  border: none;
}
.p-accommodation .p-accommodation_slider .swiper-slide .p-accommodation_img img {
  aspect-ratio: 276/150;
  object-fit: cover;
}
.p-accommodation .p-accommodation_slider .swiper-slide p {
  padding: 17px 18px 18px;
  line-height: 1.4;
  color: #333333;
  background-color: #F2F2F2;
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  .p-accommodation .p-accommodation_slider .swiper-slide p {
    padding: 10px;
    font-size: 1.4rem;
  }
}
.p-accommodation .p-accommodation_slider .accommodation-prev, .p-accommodation .p-accommodation_slider .accommodation-next {
  height: 60px;
  display: flex;
  align-items: center;
  top: 50%;
}
.p-accommodation .p-accommodation_slider .accommodation-prev::after, .p-accommodation .p-accommodation_slider .accommodation-next::after {
  content: url(../img/common/pagination_arrow_L-prev.svg);
  width: 100%;
  height: 100%;
  line-height: normal;
  display: block;
}
.p-accommodation .p-accommodation_slider .accommodation-next::after {
  scale: -1 1;
}
.p-accommodation .p-accommodation_slider .swiper-button-lock {
  opacity: 0.4;
  cursor: auto;
  pointer-events: none;
}

.p-specialstore {
  margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-specialstore {
    margin-bottom: clamp(80px, 10.43vw, 100px);
  }
}
@media screen and (max-width: 600px) {
  .p-specialstore {
    margin-bottom: 60px;
  }
}
.p-specialstore-inr {
  max-width: 1080px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.p-specialstore h2 {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 600px) {
  .p-specialstore h2 {
    margin-bottom: 3rem;
  }
}
.p-specialstore_slider {
  position: relative;
}
.p-specialstore .swiper {
  width: 86%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 600px) {
  .p-specialstore .swiper {
    width: 91%;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-specialstore .swiper-slide {
  border: 0;
  width: 50% !important;
  margin: 0 !important;
  text-align: initial !important;
  padding-left: 1.4rem;
  padding-right: 1.4rem;
  background-color: transparent;
}
@media screen and (max-width: 600px) {
  .p-specialstore .swiper-slide {
    border: 0;
    width: 100% !important;
    margin: 0 !important;
    text-align: initial !important;
    padding-left: 1.4rem;
    padding-right: 1.4rem;
  }
}
.p-specialstore .special-prev, .p-specialstore .special-next {
  height: 60px;
  display: flex;
  align-items: center;
  top: 30%;
}
@media screen and (max-width: 768px) {
  .p-specialstore .special-prev, .p-specialstore .special-next {
    top: 20%;
  }
}
.p-specialstore .special-prev::after, .p-specialstore .special-next::after {
  content: url(../img/common/pagination_arrow_L-prev.svg);
  width: 100%;
  height: 100%;
  line-height: normal;
  display: block;
}
.p-specialstore .special-next::after {
  scale: -1 1;
}
.p-specialstore .swiper-button-lock {
  opacity: 0.4;
  cursor: auto;
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  .p-specialstore .swiper-button-next {
    right: 20px;
    transform: translateX(100%);
  }
}
@media screen and (max-width: 600px) {
  .p-specialstore .swiper-button-prev {
    left: 20px;
    transform: translateX(-100%);
  }
}
@media screen and (max-width: 600px) {
  .p-specialstore .swiper-button-next,
.p-specialstore .swiper-button-prev {
    width: 2rem;
  }
}
.p-specialstore-cate {
  margin-bottom: 1rem;
}
.p-specialstore-cate span {
  display: inline-block;
  padding: 0.8rem 2.1rem;
  line-height: 1;
  background-color: #889a63;
  border-radius: 5px;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .p-specialstore-cate span {
    padding: 0.6rem 1.3rem;
    font-size: 1.2rem;
  }
}
.p-specialstore h3 {
  margin-bottom: 10px;
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  .p-specialstore h3 {
    font-size: 1.7rem;
    margin-bottom: 1rem;
  }
}
.p-specialstore h3 a {
  color: #889A63;
  font-size: 2.4rem;
  font-weight: 700;
  display: flex;
  gap: 0 12px;
  align-items: center;
  background-color: transparent;
}
.p-specialstore h3 a::after {
  content: "";
  width: 22px;
  aspect-ratio: 1/1;
  background-image: url(../img/station/icon_external.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-specialstore dl {
  display: flex;
  align-items: center;
  padding: 1rem 0;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  margin-bottom: 2.3rem;
}
@media screen and (max-width: 600px) {
  .p-specialstore dl {
    margin-bottom: 20px;
  }
}
.p-specialstore dt {
  width: 8.2rem;
}
.p-specialstore-box {
  border-radius: 0.5rem;
  border: 2px solid #889a63;
  padding: 1.9rem;
  background-color: #fff;
  display: flex;
  gap: 0 2.1rem;
}
@media screen and (max-width: 768px) {
  .p-specialstore-box {
    padding: 0.8rem 1rem 1rem;
  }
}
@media screen and (max-width: 600px) {
  .p-specialstore-box {
    gap: 0 1.1rem;
    padding: 1.5rem 1.9rem;
  }
}
.p-specialstore-box h4 {
  font-size: 1.4rem;
  font-weight: 700;
  color: #889a63;
  margin-top: 2px;
}
@media screen and (max-width: 600px) {
  .p-specialstore-box h4 {
    margin-top: 0;
  }
}
.p-specialstore-box p {
  font-size: 1.7rem;
  line-height: 1.4705882353;
  flex: 1;
}
@media screen and (max-width: 600px) {
  .p-specialstore-box p {
    font-size: 1.4rem;
    line-height: 1.5714285714;
  }
}

.p-related {
  padding: 10rem 0;
}
@media screen and (max-width: 767px) {
  .p-related {
    padding: 8rem 0;
  }
}
.p-related .title {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-related .title {
    margin-bottom: 3em;
  }
}
@media screen and (max-width: 767px) {
  .p-related .title .sub {
    max-width: 100%;
  }
}
.p-related h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.7rem;
}
@media screen and (max-width: 767px) {
  .p-related h2 {
    gap: 0 0.6rem;
  }
}
.p-related h2 img {
  width: 3.6rem;
}
@media screen and (max-width: 767px) {
  .p-related h2 img {
    width: 2.2rem;
  }
}
.p-related .title .sub::before,
.p-related .title .sub::after {
  width: calc(50% - 70px);
}
@media screen and (max-width: 767px) {
  .p-related .title .sub::before,
.p-related .title .sub::after {
    width: calc(50% - 54px);
  }
}
.p-related ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-related ul {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-related li {
  display: flex;
  align-items: center;
  width: 30rem;
  height: 11.3rem;
  border-radius: 1rem;
  border: 2px solid #889a63;
  padding: 2rem;
  background-color: #fff;
  font-weight: 700;
  font-size: 2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-related li {
    width: 100%;
    height: 5.4rem;
    padding: 1.3rem;
    font-size: 1.7rem;
  }
}
.p-related li::after {
  content: "";
  position: absolute;
  right: 18px;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #889a63;
  border-right: 2px solid #889a63;
}
@media screen and (max-width: 767px) {
  .p-related li::after {
    right: 15px;
  }
}

/******************************************************
  モデルコース
******************************************************/
.p-model {
  /* == 下層ページ共通ヘッダー ===== */
}
.p-model .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-model .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-model .c-parts__pagehead::before {
  background-image: url(../img/model/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-model .c-parts__pagehead::before {
    background-image: url(../img/model/img_pagehead_s.webp);
  }
}
.p-model .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-model .dir_path {
    margin-bottom: 50px;
  }
}
.p-model .c-parts__link {
  padding-bottom: 100px;
  margin-top: 100px;
}
@media screen and (max-width: 1024px) {
  .p-model .c-parts__link {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}

.model_list {
  padding-bottom: 80px;
  column-gap: 2%;
  row-gap: 64px;
  display: grid;
  grid-template-columns: repeat(auto-fill, 48%);
}
@media screen and (max-width: 767px) {
  .model_list {
    grid-template-columns: repeat(auto-fill, 100%);
    row-gap: 56px;
  }
}
.model_list.three {
  grid-template-columns: repeat(auto-fill, 32%);
}
@media screen and (max-width: 767px) {
  .model_list.three {
    grid-template-columns: repeat(auto-fill, 100%);
  }
}
.model_list.three li {
  width: 100%;
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  row-gap: 0;
}
.model_list.three li .thum {
  height: 21vw;
  max-height: 240px;
  min-height: 227px;
}
.model_list li {
  width: 100%;
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  row-gap: 0;
}
.model_list li .mainTitle {
  display: block;
  font-size: 2.2rem;
}
@media screen and (max-width: 768PX) {
  .model_list li .mainTitle {
    font-size: 1.8rem;
  }
}
.model_list li p {
  padding-bottom: 24px;
}
.model_list li .label {
  margin-bottom: 42px;
  line-height: 1.2;
  width: 100%;
  text-align: center;
  position: relative;
  font-weight: 400;
}
.model_list li .label::after {
  content: "";
  position: absolute;
  bottom: -18px;
  left: 0;
  width: 100%;
  height: 4px;
  background-image: repeating-linear-gradient(90deg, #333333 0, #333333 2px, rgba(0, 0, 0, 0) 2px, rgba(0, 0, 0, 0) 4px);
  background-size: 4px 4px;
  background-repeat: repeat-x;
  background-position: center center;
}
.model_list li .label .subTitle {
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  margin-bottom: 12px;
}
.model_list li .label .subTitle::before, .model_list li .label .subTitle::after {
  content: "";
  background-color: #889A63;
  position: absolute;
  top: 1px;
  width: 2px;
  height: 19px;
}
.model_list li .label .subTitle::before {
  left: -14px;
  transform: rotate(-30deg);
}
.model_list li .label .subTitle::after {
  right: -14px;
  transform: rotate(30deg);
}
.model_list li .thum {
  width: 100%;
  height: 60vw;
  max-height: 320px;
  min-height: 197px;
  border-radius: 8px;
  background-position: center center;
  background-size: cover;
  background-color: #e1f3df;
}
.model_list li .txt {
  font-size: 1.3rem;
  margin-top: 24px;
}
@media screen and (max-width: 480px) {
  .model_list li .txt {
    margin-top: 14px;
  }
}
.model_list li .view_all {
  margin-top: auto;
}

/******************************************************
  宿泊施設 - 一覧ページ
******************************************************/
.p-stay {
  /* == 下層ページ共通ヘッダー ===== */
}
.p-stay .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 1000px) {
  .p-stay .c-parts__pagehead {
    margin-bottom: 0;
  }
}
.p-stay .c-parts__pagehead::before {
  background-image: url(../img/stay/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-stay .c-parts__pagehead::before {
    background-image: url(../img/stay/img_pagehead_s.webp);
  }
}
.p-stay .c-parts__link {
  padding-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .p-stay .c-parts__link {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-stay section {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1000px) {
  .p-stay .accommodation-search .search-form {
    width: 100dvw;
    margin: 0 calc(50% - 50vw);
  }
  .p-stay .accommodation-search .search-form .searchbox-inr {
    padding: 0;
  }
  .p-stay .accommodation-search .search-form .searchbox-inr .searchbox-wrap {
    border-radius: 0;
  }
}

/*----------------searchbox*/
.searchbox {
  margin-bottom: 5.3rem;
}
@media screen and (max-width: 767px) {
  .searchbox {
    margin-bottom: 6rem;
  }
}
.searchbox-inr {
  max-width: 1115px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (max-width: 767px) {
  .searchbox-inr {
    padding-left: 0;
    padding-right: 0;
  }
}
.searchbox-wrap {
  background-color: #333333;
  border-radius: 0.6rem;
  padding: 4rem 4rem 2rem;
}
@media screen and (max-width: 767px) {
  .searchbox-wrap {
    border-radius: 0;
    padding: 2rem 4.8rem 2rem;
  }
}
@media screen and (max-width: 650px) {
  .searchbox-wrap {
    padding: 2rem 0;
  }
}
.searchbox-head {
  width: fit-content;
  min-width: 700px;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 1px solid #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .searchbox-head {
    width: 100%;
    max-width: 700px;
    min-width: auto;
    justify-content: space-around;
  }
}
@media screen and (max-width: 650px) {
  .searchbox-head {
    width: 340px;
    justify-content: center;
  }
}
.searchbox-head h2 {
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  margin-right: 6.2rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .searchbox-head h2 {
    font-size: 2rem;
    margin-right: 0;
    line-height: 2;
  }
}
@media screen and (max-width: 650px) {
  .searchbox-head h2 {
    margin-right: 40px;
  }
}
@media screen and (max-width: 480px) {
  .searchbox-head h2 {
    margin-right: 20px;
  }
}
.searchbox-head dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 0.8rem;
}
@media screen and (max-width: 767px) {
  .searchbox-head dl {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px 0;
  }
}
.searchbox-head dt {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
}
.searchbox-head select {
  padding: 6px 7px 8px;
  width: 17.4rem;
}
.searchbox-pulldown {
  display: flex;
  align-items: center;
  gap: 0 0.8rem;
}
@media screen and (max-width: 767px) {
  .searchbox-pulldown {
    flex-direction: column;
    gap: 0 0.8rem;
    width: 17.4rem;
    margin-right: 0;
  }
}
.searchbox-btn {
  border: 0;
  margin-left: 4rem;
  width: 191px;
  height: 41px;
  border-radius: 32px;
  background-color: #d6a403;
  color: #333333;
  font-size: 1.7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  padding-left: 2rem;
  gap: 0 1rem;
  line-height: 41px;
  text-align: center;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .searchbox-btn {
    margin-top: 2rem;
    margin-left: 0;
  }
}
.searchbox-btn::after {
  line-height: 1;
  content: url(../img/common/icon_search_black.svg);
}

/* ▼絞り込みアコーディオン */
.filter-box {
  width: 37.8rem;
  margin-top: 1.6rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 650px) {
  .filter-box {
    padding: 0 4.8rem;
  }
}
.filter-box .reset-btn {
  width: 19.1rem;
  height: 4.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  font-weight: 700;
  border-radius: 3.2rem;
  background-color: #f2f2f2;
  padding: 8px 0 10px;
  border: 0;
  margin: 2rem auto;
}

.filter-toggle {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 8px;
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.4rem;
  color: #fff;
}

.filter-toggle .arrow {
  width: 12px;
  height: 6px;
  display: inline-block;
  content: url(../img/common/icon_arrow_white.svg);
  transition: transform 0.3s ease;
  transform: rotate(180deg);
}

.filter-toggle.active .arrow {
  transform: rotate(0);
}

.filter-area {
  display: none;
  padding: 2rem 0;
}

.filter-area.open {
  display: block;
}

/* チェックボックスリスト */
.filter-area ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2rem;
  width: 37.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .filter-box {
    width: 100%;
    margin-top: 1.2rem;
  }

  .filter-area {
    padding: 1.4rem 0 2rem;
  }

  .filter-area ul {
    width: 100%;
  }
}
/*----------------p-staylist*/
.p-staylist-inr {
  max-width: 1115px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: clamp(240px, 23.44vw, 400px);
  padding-left: 2rem;
  padding-right: 2rem;
}
@media screen and (max-width: 768px) {
  .p-staylist-inr {
    margin-bottom: 200px;
  }
}
@media screen and (max-width: 767px) {
  .p-staylist-inr {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 600px) {
  .p-staylist-inr {
    margin-bottom: clamp(120px, 32vw, 160px);
  }
}
.p-staylist-img {
  aspect-ratio: 3/2;
  width: 100%;
  display: block;
  overflow: hidden;
}
.p-staylist-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-staylist h2 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .p-staylist h2 {
    margin-bottom: 4rem;
  }
}
.p-staylist ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12rem 8.6rem;
  /*@media screen and (max-width: 1000px) {
    gap: 12rem 4rem;
  }*/
}
@media screen and (max-width: 1024px) {
  .p-staylist ul {
    gap: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-staylist ul {
    gap: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-staylist ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 5rem 0;
  }
}
@media screen and (max-width: 480px) {
  .p-staylist ul {
    gap: 4rem 0;
  }
}
.p-staylist li {
  background-color: #f2f2f2;
}
@media screen and (max-width: 767px) {
  .p-staylist li {
    width: 100%;
  }
}
.p-staylist-contents {
  padding: 0 2rem 4rem;
}
@media screen and (max-width: 767px) {
  .p-staylist-contents {
    padding: 0 2rem 2.6rem;
  }
}
.p-staylist h3 {
  text-align: center;
  margin: 3rem 0;
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-staylist h3 {
    margin-bottom: 20px 0 clamp(10px, 1.67vw, 20px);
    font-size: clamp(2rem, 3.33vw, 2.4rem);
  }
}
@media screen and (max-width: 767px) {
  .p-staylist h3 {
    text-align: initial;
  }
}
@media screen and (max-width: 480px) {
  .p-staylist h3 {
    margin: 1.8rem 0;
    font-size: 1.8rem;
  }
}
.p-staylist dl {
  display: flex;
  align-items: start;
  font-size: 1.5rem;
  line-height: 1.4;
  padding: 1rem 0;
  border-top: 1px solid #707070;
}
.p-staylist dl:last-of-type {
  border-bottom: 1px solid #707070;
}
.p-staylist dt {
  width: 8.4rem;
}
@media screen and (max-width: 480px) {
  .p-staylist dt {
    width: 7rem;
  }
}
.p-staylist dd {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .p-staylist dd {
    width: calc(100% - 8.4rem);
    flex: initial;
  }
}
@media screen and (max-width: 480px) {
  .p-staylist dd {
    width: calc(100% - 7rem);
  }
}
.p-staylist dd a {
  color: #63729a;
  word-break: break-all;
}
.p-staylist .c-btn {
  margin-top: 3rem;
  width: 19.2rem;
  height: 4.1rem;
}
@media screen and (max-width: 480px) {
  .p-staylist .c-btn {
    margin-top: 2.5rem;
  }
}
.p-staylist .c-btn a {
  line-height: 4.1rem;
}
@media screen and (max-width: 767px) {
  .p-staylist .c-btn a {
    white-space: normal;
    word-break: break-all;
  }
}
.p-staylist .c-btn::after {
  right: 17px;
}

/******************************************************
  宿泊施設 - 詳細ページ
******************************************************/
.p-staysingle {
  padding-bottom: 40px;
  /* == 下層ページ共通ヘッダー ===== */
}
.p-staysingle .c-parts__pagehead::before {
  background-image: url(../img/stay/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-staysingle .c-parts__pagehead::before {
    background-image: url(../img/stay/img_pagehead_s.webp);
  }
}

.article-inr {
  max-width: 1080px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .article-inr {
    padding-left: 0;
    padding-right: 0;
  }
}

.p-ttl_border {
  text-align: center;
  font-size: 3.6rem;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-ttl_border {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 480px) {
  .p-ttl_border {
    font-size: 2rem;
  }
}
.p-ttl_border span {
  display: block;
  padding-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-ttl_border span {
    padding-bottom: 1.3rem;
  }
}
.p-ttl_border::after {
  width: 100%;
  content: "";
  flex: 1;
  height: 4px;
  background-size: 4px 4px;
  background-repeat: repeat-x;
  display: block;
  background-image: linear-gradient(to left, #575757 2px, transparent 2px);
}

.p-head {
  margin-top: 7rem;
}
@media screen and (max-width: 768PX) {
  .p-head {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 480PX) {
  .p-head {
    margin-top: 3rem;
  }
}
.p-head h1 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-head h1 {
    margin-bottom: 4rem;
  }
}
.p-head_img {
  max-width: 92.8rem;
  margin: 0 auto 8rem;
}
@media screen and (max-width: 768px) {
  .p-head_img {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-head_img {
    max-width: 92.8rem;
  }
}
.p-head_text {
  max-width: 92.8rem;
  margin: 0 auto 8rem;
}
@media screen and (max-width: 767px) {
  .p-head_text {
    max-width: 92.8rem;
    margin: 0 auto 3rem;
  }
}

.p-room {
  max-width: 92.8rem;
  margin: 0 auto;
}
.p-room h2 {
  font-size: 1.7rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.p-room-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 3.5rem;
  font-size: 1.5rem;
  margin-bottom: 4rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-room-wrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
    margin-bottom: 2rem;
  }
}
.p-room-wrap th {
  color: #889a63;
  width: 130px;
  vertical-align: baseline;
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .p-room-wrap th {
    width: 100%;
    padding: 1rem 0 0;
    display: block;
  }
}
.p-room-wrap td {
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .p-room-wrap td {
    padding: 0.5rem 0 1rem;
    width: 100%;
    display: block;
  }
}
.p-room-wrap tr {
  border-top: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .p-room-wrap table:nth-of-type(1) tr:last-child {
    border-bottom: 0;
  }
}
.p-room-wrap tr:last-child {
  border-bottom: 1px solid #707070;
}
.p-room_btn {
  display: flex;
  justify-content: center;
  gap: 0 3rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-room_btn {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-room_btn {
    gap: 0 1.5rem;
    margin-bottom: 3rem;
  }
}
.p-room_btn a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 20rem;
  height: 4.1rem;
  border-radius: 5rem;
  border: 1px solid #889a63;
  position: relative;
  color: #889a63;
  padding-right: 2rem;
  padding-left: 4.4rem;
}
@media screen and (max-width: 767px) {
  .p-room_btn a {
    width: 15.4rem;
    padding-right: 2rem;
    padding-left: 2.4rem;
  }
}
.p-room_btn a::after {
  content: "";
  right: 32px;
  transform: rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #889a63;
  border-right: 2px solid #889a63;
}
.p-room_btn a:hover {
  color: #fff;
  background-color: #889a63;
}
@media screen and (max-width: 767px) {
  .p-room_btn a:hover {
    color: #707070;
    background-color: transparent;
  }
}
.p-room_btn a:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media screen and (max-width: 767px) {
  .p-room_btn a:hover::after {
    border-top: 2px solid #707070;
    border-right: 2px solid #707070;
  }
}

.p-stay__gallery {
  position: relative;
  max-width: 92.8rem;
  margin: 0 auto;
}
.p-stay__gallery_slider {
  margin-bottom: 2.8rem;
  max-width: 72.6rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-stay__gallery_slider {
    margin-bottom: 1.3rem;
    width: 90%;
  }
}
.p-stay__gallery_slider .swiper-slide {
  width: 100% !important;
  margin-right: 0 !important;
  position: relative;
  aspect-ratio: 338/201;
  filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.08));
  border-radius: 0.8rem;
  overflow: hidden;
  background: transparent;
}
.p-stay__gallery_slider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-stay__gallery_slider .swiper-button-next,
.p-stay__gallery_slider .swiper-button-prev {
  color: #222222;
  top: var(--swiper-navigation-top-offset, 39%);
  width: calc(var(--swiper-navigation-size) / 44 * 66);
}
@media screen and (max-width: 767px) {
  .p-stay__gallery_slider .swiper-button-next,
.p-stay__gallery_slider .swiper-button-prev {
    width: 2rem;
  }
}
.p-stay__gallery_slider .swiper-button-next::after,
.p-stay__gallery_slider .swiper-button-prev::after {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .p-stay__gallery_slider .swiper-button-next::after,
.p-stay__gallery_slider .swiper-button-prev::after {
    font-size: 20px;
  }
}
@media screen and (max-width: 1000px) {
  .p-stay__gallery_slider .swiper-button-next,
.p-stay__gallery_slider .swiper-button-prev {
    width: calc(var(--swiper-navigation-size) / 44 * 0);
  }
}
@media screen and (max-width: 767px) {
  .p-stay__gallery_slider .swiper-button-next {
    right: 1.6rem;
    transform: translateX(100%);
  }
}
@media screen and (max-width: 767px) {
  .p-stay__gallery_slider .swiper-button-prev {
    left: 1.6rem;
    transform: translateX(-100%);
  }
}
.p-stay__gallery_thumbnail {
  margin-bottom: 8rem;
  max-width: 75.4rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-stay__gallery_thumbnail {
    margin-bottom: 4.3rem;
  }
}
.p-stay__gallery_thumbnail .swiper-slide {
  width: 33.3333333333% !important;
  padding: 0 1.4rem;
  margin: 0;
  position: relative;
  aspect-ratio: 338/201;
  border-radius: 0.8rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-stay__gallery_thumbnail .swiper-slide {
    padding: 0 0.5rem;
  }
}
.p-stay__gallery_thumbnail .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-stay__gallery .swiper-slide {
  border: 0;
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .p-stay__gallery .swiper-slide {
    margin: 0 !important;
  }
}

.p-map {
  max-width: 92.8rem;
  margin: 0 auto 14.5rem;
}
@media screen and (max-width: 768px) {
  .p-map {
    margin-bottom: 60px;
  }
}
.p-map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 464/227;
}

@media screen and (max-width: 767px) {
  .p-map {
    margin-bottom: 4rem;
  }
  .p-map iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 323/280;
  }
}
.p-same {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .p-same {
    margin-bottom: 12rem;
  }
}
@media screen and (max-width: 480px) {
  .p-same {
    margin-bottom: 4rem;
  }
}
.p-same-inr {
  max-width: 1114px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .p-same-inr {
    padding-left: 0rem;
    padding-right: 0rem;
  }
}
.p-same h2 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .p-same h2 {
    margin-bottom: 3rem;
  }
}
.p-same_slider {
  position: relative;
}
.p-same_slider .swiper {
  max-width: 88.8rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1000px) {
  .p-same_slider .swiper {
    width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .p-same_slider .swiper {
    width: 98%;
  }
}
.p-same_slider p {
  background-color: #f2f2f2;
  text-align: center;
  padding: 1.7rem 1rem 1.8rem 1rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: #000000;
}
@media screen and (max-width: 767px) {
  .p-same_slider p {
    padding: 1rem;
    font-size: 1.4rem;
  }
}
.p-same a {
  border-radius: 0.4rem;
  overflow: hidden;
}
.p-same .swiper-slide {
  width: 33.3333333333% !important;
  margin-right: 0;
  margin-left: 0;
  border: 0;
  border-radius: 0;
  padding: 0 1.5rem;
  background: transparent;
}
@media screen and (max-width: 767px) {
  .p-same .swiper-slide {
    border: 0;
    border-radius: 0;
    width: 50% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0 0.7rem;
  }
}
.p-same .swiper-slide .p-same_img {
  aspect-ratio: 338/201;
  overflow: hidden;
}
.p-same .swiper-slide .p-same_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}
.p-same .swiper-slide:hover .p-same_img img {
  transform: scale(1.1);
  opacity: 0.7;
}
.p-same .swiper-button-next,
.p-same .swiper-button-prev {
  width: 0rem;
}
@media screen and (max-width: 767px) {
  .p-same .swiper-button-next,
.p-same .swiper-button-prev {
    width: 1rem;
  }
}
.p-same .swiper-button-next::after,
.p-same .swiper-button-prev::after {
  font-size: 30px;
  color: #222222;
}
@media screen and (max-width: 767px) {
  .p-same .swiper-button-next::after,
.p-same .swiper-button-prev::after {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-same .swiper-button-next {
    right: 0;
    transform: translateX(100%);
  }
}
@media screen and (max-width: 767px) {
  .p-same .swiper-button-prev {
    left: 0;
    transform: translateX(-100%);
  }
}

/******************************************************
  行く（インデックスページ）
******************************************************/
.p-visit {
  /* == 下層ページ共通ヘッダー ===== */
}
.p-visit .c-parts__pagehead::before {
  background-image: url(../img/visit/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-visit .c-parts__pagehead::before {
    background-image: url(../img/visit/img_pagehead_s.webp);
  }
}

/******************************************************
  路線図・時刻表
******************************************************/
.p-access {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-access {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
@media screen and (max-width: 767px) {
  .p-access {
    margin-bottom: 80px;
  }
}
.p-access .c-parts__pagehead {
  margin-bottom: 0;
}
.p-access .c-parts__pagehead::before {
  background-image: url(../img/access/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-access .c-parts__pagehead::before {
    background-image: url(../img/access/img_pagehead_s.webp);
  }
}
.p-access .main {
  width: 100%;
}
.p-access .main::after {
  display: none;
}
.p-access .p-head {
  margin-top: 0;
  margin-bottom: 14.7rem;
  padding-top: 7rem;
}
@media screen and (max-width: 1024px) {
  .p-access .p-head {
    margin-bottom: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-head {
    padding-top: 4rem;
    margin-top: 0;
    margin-bottom: 6rem;
  }
}
.p-access .p-head .p-head-inr {
  margin-left: auto;
  margin-right: auto;
}
.p-access .p-head h2 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .p-access .p-head h2 {
    margin-bottom: 3rem;
  }
}
.p-access .p-head .p-head_img {
  max-width: 100%;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-access .p-head .p-head_img {
    max-width: 100%;
    margin-bottom: 1.4rem;
  }
}
.p-access .p-head .modal-trigger {
  width: 90px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 5px;
  margin-left: auto;
  color: #FFFFFF;
  background-color: #333333;
  display: flex;
  gap: 0 2px;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.p-access .p-head .modal-trigger::before {
  content: url(../img/common/icon_large-btn.svg);
  margin-top: 3px;
}
.p-access .p-head .modal-trigger:hover, .p-access .p-head .modal-trigger:focus {
  opacity: 0.8;
  cursor: pointer;
}
.p-access .p-head .modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease;
  /* overlay */
  /* content */
  /* body */
  /* close button */
  /* responsive */
}
.p-access .p-head .modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.p-access .p-head .modal.is-open .modal__content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.p-access .p-head .modal.is-open .modal__overlay {
  opacity: 1;
}
.p-access .p-head .modal.is-open .modal__content {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.p-access .p-head .modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.p-access .p-head .modal__content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.96);
  background: #fff;
  width: 90%;
  max-width: 1170px;
  max-height: 80vh;
  overflow-y: auto;
  padding: 4rem;
  opacity: 0;
  transition: 0.3s ease;
}
.p-access .p-head .modal__body img {
  display: block;
  max-width: 100%;
  height: auto;
}
.p-access .p-head .modal__close {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 4rem;
  height: 4rem;
  border: none;
  border-radius: 50%;
  color: #fff;
  background: #575757;
  font-size: 2.4rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.p-access .p-head .modal__close:hover, .p-access .p-head .modal__close:focus {
  opacity: 0.8;
  cursor: pointer;
}
@media screen and (max-width: 600px) {
  .p-access .p-head .modal__content {
    padding: 3rem;
    max-height: 85vh;
    overflow-y: visible;
  }
  .p-access .p-head .modal__close {
    top: -2rem;
    right: -2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-same {
    margin-bottom: 8rem;
  }
}
.p-access .p-delivery {
  margin-bottom: 15rem;
}
@media screen and (max-width: 768px) {
  .p-access .p-delivery {
    margin-bottom: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery {
    margin-bottom: 6rem;
  }
}
.p-access .p-delivery .p-head-inr {
  max-width: 1115px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
.p-access .p-delivery h2 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-access .p-delivery h2 {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery h2 {
    margin-bottom: 3rem;
  }
}
.p-access .p-delivery h3 {
  background-color: #889a63;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 6rem;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery h3 {
    font-size: 2rem;
    line-height: 3.3rem;
  }
}
.p-access .p-delivery .p-delivery-box {
  max-width: 100%;
  border-radius: 0;
}
.p-access .p-delivery .p-delivery-box + .p-delivery-box {
  margin-top: 8rem;
}
@media screen and (max-width: 768px) {
  .p-access .p-delivery .p-delivery-box + .p-delivery-box {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery .p-delivery-box + .p-delivery-box {
    margin-top: 3rem;
  }
}
.p-access .p-delivery table {
  width: 100%;
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery table {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}
.p-access .p-delivery th {
  width: 40rem;
  background-color: #f2f2f2;
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery th {
    width: 14.3rem;
  }
}
.p-access .p-delivery th,
.p-access .p-delivery td {
  padding: 2rem 0.8rem;
  border: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery th,
.p-access .p-delivery td {
    padding: 1rem 0.8rem;
    border: 1px solid #707070;
  }
}
.p-access .p-delivery th a,
.p-access .p-delivery td a {
  color: #333333;
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery th {
    border-left: 0;
    letter-spacing: -0.05em;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-delivery td {
    border-right: 0;
  }
}
.p-access .p-time {
  margin-bottom: 15rem;
}
@media screen and (max-width: 768px) {
  .p-access .p-time {
    margin-bottom: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-time {
    margin-bottom: 6rem;
  }
}
.p-access .p-time .p-head-inr {
  max-width: 1115px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}
.p-access .p-time h2 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
  .p-access .p-time h2 {
    margin-bottom: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-time h2 {
    margin-bottom: 3rem;
  }
}
.p-access .p-time p {
  text-align: center;
  font-size: clamp(1.8rem, 1.76vw, 2rem);
}
@media screen and (max-width: 767px) {
  .p-access .p-time p {
    text-align: initial;
    font-size: clamp(1.5rem, 2.5vw, 1.8rem);
    line-height: 1.4;
  }
}
.p-access .p-time a {
  display: block;
  margin-top: 1.1rem;
  font-size: 1.7rem;
  color: #63729a;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-access .p-time a {
    margin-top: 2rem;
    font-size: 1.5rem;
    word-break: break-all;
  }
}
.p-access .p-transportation {
  margin-bottom: 15rem;
}
@media screen and (max-width: 768px) {
  .p-access .p-transportation {
    margin-bottom: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .p-access .p-transportation {
    margin-bottom: 6rem;
  }
}
.p-access .p-stationname {
  width: 100dvw;
  margin: 0 calc(50% - 50vw);
  background-color: #575757;
  padding: 2.2rem 0;
}
@media screen and (max-width: 767px) {
  .p-access .p-stationname {
    padding: 1rem 0;
  }
}
.p-access .p-stationname .p-stationname-text {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 5rem;
}
@media screen and (max-width: 767px) {
  .p-access .p-stationname .p-stationname-text {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 3.9rem;
  }
}
@media screen and (max-width: 480px) {
  .p-access .p-stationname .p-stationname-text {
    gap: 0 2rem;
  }
}
.p-access .p-stationname dl {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
  font-weight: 700;
}
.p-access .p-stationname dt {
  font-size: 1.4rem;
  text-decoration: underline;
}
.p-access .p-stationname dd {
  font-size: 4.2rem;
}
@media screen and (max-width: 767px) {
  .p-access .p-stationname dd {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 374px) {
  .p-access .p-stationname dd {
    font-size: 2rem;
  }
}
.p-access .p-stationname select {
  width: 160px;
  height: 50px;
  font-size: 2rem;
  border-radius: 3px;
  padding: 0 4px;
}
@media screen and (max-width: 767px) {
  .p-access .p-stationname select {
    height: 30px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  .p-access .p-stationname select {
    width: 100px;
    font-size: 1.4rem;
  }
}

.p-access {
  position: relative;
}
.p-access .main {
  padding-bottom: 0;
  position: relative;
}
.p-access .main .main-navi {
  margin-right: calc(50% - 50vw);
  background: url("../img/access/bg_white-paper.jpg") no-repeat center/cover;
  position: absolute;
  top: 0;
  right: 0;
  width: 25.8rem;
  padding: 20px 28px;
  font-size: 1.7rem;
  z-index: 11;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .p-access .main .main-navi {
    width: 100dvw;
    margin: 0 calc(50% - 50vw);
    position: relative;
  }
}
@media screen and (max-width: 1024px) {
  .p-access .main .main-navi ul {
    display: flex;
    gap: 0 10px;
    flex-wrap: wrap;
  }
}
.p-access .main .main-navi ul li {
  border-top: 1px solid #707070;
}
@media screen and (max-width: 1024px) {
  .p-access .main .main-navi ul li {
    width: calc((100% - 20px) / 3);
  }
}
@media screen and (max-width: 768px) {
  .p-access .main .main-navi ul li {
    width: calc((100% - 10px) / 2);
  }
}
@media screen and (max-width: 480px) {
  .p-access .main .main-navi ul li {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .p-access .main .main-navi ul li:nth-of-type(3) {
    border-bottom: solid 1px #707070;
  }
}
@media screen and (max-width: 768px) {
  .p-access .main .main-navi ul li:nth-of-type(3) {
    border-bottom: none;
  }
}
@media screen and (max-width: 1024px) {
  .p-access .main .main-navi ul li:nth-of-type(4) {
    border-bottom: solid 1px #707070;
  }
}
@media screen and (max-width: 480px) {
  .p-access .main .main-navi ul li:nth-of-type(4) {
    border-bottom: none;
  }
}
.p-access .main .main-navi ul li:last-child {
  border-bottom: 1px solid #707070;
}
.p-access .main .main-navi ul li a {
  display: block;
  padding: 1rem 0.4rem;
  color: #333333;
  background: url("../img/access/ico_arrow-circle.svg") no-repeat center right 1rem;
}
.p-access .main .main-navi.fixed {
  position: fixed;
  top: 105px;
  right: 0;
  height: auto;
}
.p-access .main .main-navi.is-hide {
  opacity: 0;
  pointer-events: none;
}

/******************************************************
  交通情報 - 一覧
******************************************************/
.p-secondarytraffic {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-secondarytraffic {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-secondarytraffic .c-parts__pagehead {
  margin-bottom: 40px;
}
@media screen and (max-width: 768PX) {
  .p-secondarytraffic .c-parts__pagehead {
    margin-bottom: 0;
  }
}
.p-secondarytraffic .c-parts__pagehead::before {
  background-image: url(../img/secondary-traffic/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-secondarytraffic .c-parts__pagehead::before {
    background-image: url(../img/secondary-traffic/img_pagehead_s.webp);
  }
}
.p-secondarytraffic .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-secondarytraffic .dir_path {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 1000px) {
  .p-secondarytraffic .secondarytraffic-search .search-form {
    width: 100dvw;
    margin: 0 calc(50% - 50vw);
  }
}
.p-secondarytraffic .secondarytraffic-search .search-form .searchbox-head {
  border-bottom: none;
}
.p-secondarytraffic .trafficList {
  margin: 72px 48px 0;
}
@media screen and (max-width: 767px) {
  .p-secondarytraffic .trafficList {
    margin: 80px 24px 0;
  }
}
@media screen and (max-width: 480px) {
  .p-secondarytraffic .trafficList {
    margin: 20px 0 0;
  }
}
.p-secondarytraffic .trafficList .trafficList__item {
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .p-secondarytraffic .trafficList .trafficList__item {
    display: block;
  }
}
.p-secondarytraffic .trafficList .trafficList__item:not(:last-child) {
  margin-bottom: 48px;
}
.p-secondarytraffic .trafficList .trafficList__item .trafficList__img {
  margin-right: 30px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-secondarytraffic .trafficList .trafficList__item .trafficList__img {
    margin-right: 0;
  }
}
.p-secondarytraffic .trafficList .trafficList__item .trafficList__img .thum {
  width: clamp(348px, 29.31vw, 422px);
  height: clamp(250px, 20.97vw, 302px);
  background-position: center center;
  background-size: cover;
  background-color: #e1f3df;
  border-radius: 0;
  border: 4px solid #879a63;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .p-secondarytraffic .trafficList .trafficList__item .trafficList__img .thum {
    width: 100%;
    height: 61.33vw;
  }
}
.p-secondarytraffic .trafficList .trafficList__item .trafficList__contents {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-secondarytraffic .trafficList .trafficList__item .trafficList__contents {
    margin-top: 20px;
  }
}
.p-secondarytraffic .trafficList .trafficList__item .trafficList__contents .slide-date {
  font-size: 1.3rem;
}
.p-secondarytraffic .trafficList .trafficList__item .trafficList__contents .ttl {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 8px 0 14px;
}
.p-secondarytraffic .trafficList .trafficList__item .trafficList__contents .exp {
  font-size: 1.4rem;
}
.p-secondarytraffic .trafficList .trafficList__item .trafficList__contents .view_all {
  left: 0;
  transform: none;
}
@media screen and (max-width: 767px) {
  .p-secondarytraffic .trafficList .trafficList__item .trafficList__contents .view_all {
    left: 50%;
    transform: translateX(-50%);
  }
}
.p-secondarytraffic .c-parts__link {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .p-secondarytraffic .c-parts__link {
    margin-top: 60px;
  }
}

/******************************************************
  福島県外からのアクセス
******************************************************/
.p-directions {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 767px) {
  .p-directions {
    padding-bottom: 60px;
  }
}
.p-directions .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-directions .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-directions .c-parts__pagehead span {
  font-size: clamp(1.2rem, 1.564vw, 1.7rem);
}
.p-directions .c-parts__pagehead::before {
  background-image: url(../img/directions/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-directions .c-parts__pagehead::before {
    background-image: url(../img/directions/img_pagehead_s.webp);
  }
}
.p-directions .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-directions .dir_path {
    margin-bottom: 50px;
  }
}

.directions__mainmap {
  padding-bottom: 100px;
}
@media screen and (max-width: 1024px) {
  .directions__mainmap {
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 480px) {
  .directions__mainmap {
    padding-bottom: 40px;
  }
}
.directions__mainmap .c-parts__subtitle {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .directions__mainmap .c-parts__subtitle {
    margin-bottom: 30px;
  }
}
.directions__mainmap__img figure {
  max-width: 707px;
  width: 100%;
  margin: 0 auto;
}
.directions__mainmap__img figure img {
  width: 100%;
  height: auto;
}

.searchbox_access {
  padding: 100px 0;
  background-color: rgba(242, 242, 242, 0.5019607843);
  width: 100dvw;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 1024px) {
  .searchbox_access {
    padding: 60px 0;
  }
}
@media screen and (max-width: 767px) {
  .searchbox_access {
    padding: 0 0 60px 0;
  }
}
.searchbox_access-inr {
  width: 90%;
  max-width: 992px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .searchbox_access-inr {
    width: 100%;
  }
}
.searchbox_access-wrap {
  background-color: #333333;
  border-radius: 0.6rem;
  padding: 5rem;
}
@media screen and (max-width: 767px) {
  .searchbox_access-wrap {
    border-radius: 0;
    padding: 33px 49px;
  }
}
.searchbox_access-contents h2 {
  font-size: 3.9rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  margin-bottom: 3rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .searchbox_access-contents h2 {
    font-size: 2rem;
    margin-bottom: 15px;
    text-align: left;
  }
}
.searchbox_access-contents dl {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 2.9rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .searchbox_access-contents dl {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 30px;
  }
}
.searchbox_access-contents dl dd p {
  font-size: 1.7rem;
  line-height: 1;
  color: #fff;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .searchbox_access-contents dl dd p {
    font-size: 1.4rem;
    margin-bottom: 6px;
  }
}
.searchbox_access-contents dl dd .selectbox_access {
  position: relative;
  border-radius: 8px;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .searchbox_access-contents dl dd .selectbox_access {
    border-radius: 5px;
  }
}
.searchbox_access-contents dl dd select {
  position: relative;
  width: 100%;
  color: #333333;
  font-size: 1.4rem;
  padding: 6px 8px;
  background-color: transparent;
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;
}
.searchbox_access-contents dl dd .selectbox_access-arrow {
  position: absolute;
  top: 0;
  right: 0;
  width: 3rem;
  height: 100%;
  background-color: #C1C1C1;
  z-index: 1;
}
.searchbox_access-contents dl dd .selectbox_access-arrow::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 16px;
  transform: translate(50%, 0%) rotate(45deg);
  width: 9px;
  height: 9px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  z-index: 1;
}
.searchbox_access-btn {
  border: 0;
  margin: 0 auto;
  width: 191px;
  height: 41px;
  border-radius: 32px;
  background-color: #d6a403;
  color: #333333;
  font-size: 1.7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  padding-left: 2rem;
  gap: 0 1rem;
  line-height: 41px;
}
.searchbox_access-btn::after {
  line-height: 1;
  content: url(../img/common/icon_search_black.svg);
}
.searchbox_access-result {
  max-width: 1080px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 90px;
  display: none;
}
@media screen and (max-width: 767px) {
  .searchbox_access-result {
    margin-top: 60px;
  }
}
.searchbox_access-result .c-parts__subtitle {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .searchbox_access-result .c-parts__subtitle {
    margin-bottom: 30px;
  }
}
.searchbox_access-result-conditions {
  max-width: 892px;
  width: 100%;
  margin: 0 auto 80px;
  padding: 30px;
  background-color: #fff;
}
@media screen and (max-width: 1024px) {
  .searchbox_access-result-conditions {
    margin: 0 auto 60px;
  }
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-conditions {
    padding: 10px 18px 14px 18px;
    margin: 0 auto 40px;
  }
}
.searchbox_access-result-conditions h4 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1;
  color: #333333;
  text-align: center;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-conditions h4 {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
}
.searchbox_access-result-conditions p {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-conditions p {
    font-size: 1.4rem;
  }
}
.searchbox_access-result-conditions p span {
  color: #889A63;
  text-decoration: underline;
}
.searchbox_access-result-wrapper {
  width: 100%;
  max-width: 892px;
  margin: 0 auto;
}
.searchbox_access-result-wrapper.--double {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 480px) {
  .searchbox_access-result-wrapper.--double {
    gap: 30px;
  }
}
.searchbox_access-result-wrapper.--double .searchbox_access-result-route {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 480px) {
  .searchbox_access-result-wrapper.--double .searchbox_access-result-route {
    width: calc((100% - 30px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-wrapper.--double .searchbox_access-result-route .searchbox_access-result-contents {
    padding: 0;
  }
}
.searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents {
  max-width: 708px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents {
    max-width: 600px;
  }
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents {
    padding: 0 29px;
  }
}
.searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .searchbox_access-result-title {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 6px;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .searchbox_access-result-title {
    font-size: 1.5rem;
    margin-left: 10px;
  }
}
.searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents h4 {
  font-size: 3rem;
  line-height: 1;
  text-align: center;
  background-color: #889A63;
  color: #fff;
  padding: 15px 20px;
  border-radius: 10px;
}
@media screen and (max-width: 1024px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents h4 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents h4 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents h4 {
    font-size: 1.8rem;
    padding: 10px 15px;
  }
}
.searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item {
  padding-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item {
    padding-bottom: 15px;
  }
}
.searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p {
  padding-top: 30px;
  font-size: 2.5rem;
  line-height: 1;
  color: #333333;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p {
    font-size: 2.2rem;
    padding-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p {
    font-size: 1.7rem;
    padding-top: 15px;
  }
}
.searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p:not(arrow) {
  line-height: 1.3;
}
@media screen and (max-width: 480px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p:not(arrow) {
    font-size: 1.6rem;
  }
}
.searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p.arrow {
  font-size: 3.8rem;
}
@media screen and (max-width: 768px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p.arrow {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .searchbox_access-result-wrapper .searchbox_access-result-route .searchbox_access-result-contents .item p.arrow {
    font-size: 2rem;
  }
}

.access_outside-transportation {
  padding: 100px 0;
}
@media screen and (max-width: 1024px) {
  .access_outside-transportation {
    padding: 60px;
  }
}
@media screen and (max-width: 767px) {
  .access_outside-transportation {
    padding: 60px 0;
  }
}
@media screen and (max-width: 480px) {
  .access_outside-transportation {
    padding: 40px 0 60px 0;
  }
}
.access_outside-transportation .c-parts__btn {
  margin: 80px auto 0;
}
@media screen and (max-width: 1024px) {
  .access_outside-transportation .c-parts__btn {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .access_outside-transportation .c-parts__btn {
    margin: 30px auto 0;
  }
}

@media screen and (max-width: 767px) {
  .c-parts__link.--access_outside .c-parts__link__head {
    width: 85%;
  }
}

/******************************************************
  只見線応援団
******************************************************/
.p-support {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-support {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-support .c-parts__pagehead {
  margin-bottom: 40px;
}
.p-support .c-parts__pagehead::before {
  background-image: url(../img/support/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-support .c-parts__pagehead::before {
    background-image: url(../img/support/img_pagehead_s.webp);
  }
}
@media screen and (max-width: 766px) {
  .p-support .bx_green {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media screen and (max-width: 480px) {
  .p-support .bx_green h3 {
    font-size: 18px;
  }
}
@media screen and (max-width: 480px) {
  .p-support .bx_green h3 img {
    margin-bottom: 30px;
  }
}
.p-support .p-support__arealabel {
  width: 100%;
  background-color: #889A63;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 6rem;
  text-align: left;
  color: #fff;
  margin-bottom: 20px;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  .p-support .p-support__arealabel {
    font-size: 1.8rem;
    line-height: 4.5rem;
  }
}
@media screen and (max-width: 480px) {
  .p-support .p-support__arealabel {
    font-size: 1.6rem;
    line-height: 4rem;
  }
}
.p-support .p-support__partner {
  margin-bottom: 80px;
  display: flex;
  gap: 80px clamp(40px, 3.91vw, 80px);
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .p-support .p-support__partner {
    margin-bottom: clamp(40px, 5.21vw, 80px);
  }
}
@media screen and (max-width: 767px) {
  .p-support .p-support__partner {
    margin-bottom: 40px;
    gap: 40px 0;
  }
}
.p-support .p-support__partner li {
  width: calc((100% - clamp(40px, 3.91vw, 80px)) / 2);
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}
@media screen and (max-width: 767px) {
  .p-support .p-support__partner li {
    width: 100%;
  }
}
.p-support .p-support__partner li .p-support__label {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 8px;
  border: 0;
  margin-bottom: 10px;
  background-color: #eaeaea;
  font-size: 1.4rem;
  line-height: 1.2;
  display: block;
}
.p-support .p-support__partner li h4 {
  margin-bottom: 8px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-support .p-support__partner li h4 {
    font-size: 1.8rem;
  }
}
.p-support .p-support__partner li h4 .p-support__name {
  color: #889A63;
  display: inline-block;
  position: relative;
}
.p-support .p-support__partner li h4 .p-support__name::after {
  content: "";
  width: 22px;
  position: relative;
  top: 2px;
  margin-left: 4px;
  display: inline-block;
  aspect-ratio: 1/1;
  background-image: url(../img/station/icon_external.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-support .p-support__partner li h4 .p-support__name::after {
    width: 16px;
  }
}
.p-support .p-support__partner li .p-support__location {
  padding-left: 25px;
  margin-bottom: 12px;
  background-image: url(../img/stay/icon_pin.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 20px auto;
  color: #333333;
  font-size: 1.6rem;
  text-decoration: underline;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-support .p-support__partner li .p-support__location {
    font-size: 1.4rem;
  }
}
.p-support .p-support__partner li .p-support__comment {
  padding: 10px 16px;
  border: solid 1px #889A63;
  background-color: #FFFFFF;
}

.p-support__membership,
.p-support__benefit,
.p-support__howto,
.p-support__backnumber,
.p-support__song,
.p-support__supporter {
  margin-top: 14rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 1024px) {
  .p-support__membership,
.p-support__benefit,
.p-support__howto,
.p-support__backnumber,
.p-support__song,
.p-support__supporter {
    margin-top: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .p-support__membership,
.p-support__benefit,
.p-support__howto,
.p-support__backnumber,
.p-support__song,
.p-support__supporter {
    margin-top: 6rem;
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 480px) {
  .p-support__membership,
.p-support__benefit,
.p-support__howto,
.p-support__backnumber,
.p-support__song,
.p-support__supporter {
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .p-support__membership {
    margin-top: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-support__membership {
    margin-top: 14rem;
  }
}
@media screen and (max-width: 480px) {
  .p-support__membership {
    margin-top: 10rem;
  }
}

.member_list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .member_list {
    display: block;
  }
}
.member_list li {
  max-width: 30%;
  flex-basis: 30%;
  width: 30%;
  margin-right: 5%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .member_list li {
    max-width: 100%;
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;
  }
}
.member_list li:last-child {
  margin-right: 0%;
}
.member_list li .label {
  margin-bottom: 20px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .member_list li .label {
    margin-bottom: 5px;
    margin-top: 10px;
  }
}
.member_list li .label span {
  font-weight: 500;
  padding: 10px 80px;
  border-radius: 30px;
  display: inline-block;
  border: 2px solid #50C355;
}
@media screen and (max-width: 767px) {
  .member_list li .label span {
    padding: 5px 0px;
    display: block;
  }
}
.member_list li .price {
  font-size: 32px;
  font-weight: 500;
}
.member_list li .notice {
  font-size: 12px;
}

.member_list_price_notice {
  padding-top: 40px;
  text-align: left;
  width: 100%;
}
.member_list_price_notice .notice {
  font-size: 12px;
}

.member_use {
  width: 100%;
  border: 1px solid #CCCCCC;
  margin-top: 40px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .member_use {
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
    border-collapse: separate;
  }
}
.member_use tr {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .member_use tr {
    padding: 20px 24px;
  }
}
.member_use tr th {
  width: 96px;
  font-weight: 500;
  white-space: nowrap;
  padding: 24px 32px;
}
@media screen and (max-width: 767px) {
  .member_use tr th {
    padding-right: 0px;
    white-space: nowrap;
    padding: 20px 24px;
    padding-bottom: 0;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .member_use tr td {
    padding: 16px 24px 20px 24px;
    display: block;
  }
}

#member_value ul {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
  #member_value ul {
    width: 100%;
    margin: auto;
  }
}
#member_value ul li {
  margin-bottom: 70px;
  width: 49%;
  margin-right: 2%;
  position: relative;
}
@media screen and (max-width: 1024px) {
  #member_value ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 600px) {
  #member_value ul li {
    margin-bottom: 100px;
  }
}
#member_value ul li:last-child {
  margin-right: 0%;
}
#member_value ul li .member_value-wrap {
  display: flex;
}
#member_value ul li .member_value-wrap .thum {
  width: 240px;
  height: auto;
  border-radius: 8px;
}
@media screen and (max-width: 1024px) {
  #member_value ul li .member_value-wrap .thum {
    margin-right: 20px;
  }
}
@media screen and (max-width: 600px) {
  #member_value ul li .member_value-wrap .thum {
    width: 200px;
  }
}
@media screen and (max-width: 480px) {
  #member_value ul li .member_value-wrap .thum {
    width: 180px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 400px) {
  #member_value ul li .member_value-wrap .thum {
    width: 140px;
  }
}
#member_value ul li .member_value-wrap .thum img {
  width: 100%;
  height: auto;
}
#member_value ul li .member_value-wrap .txt {
  width: 51%;
}
@media screen and (max-width: 1024px) {
  #member_value ul li .member_value-wrap .txt {
    width: calc(100% - 240px - 20px);
  }
}
@media screen and (max-width: 600px) {
  #member_value ul li .member_value-wrap .txt {
    width: calc(100% - 200px - 20px);
  }
}
@media screen and (max-width: 480px) {
  #member_value ul li .member_value-wrap .txt {
    width: calc(100% - 180px - 10px);
  }
}
@media screen and (max-width: 400px) {
  #member_value ul li .member_value-wrap .txt {
    width: calc(100% - 140px - 10px);
  }
}
#member_value ul li .member_value-wrap .txt .ttl {
  width: 100%;
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  #member_value ul li .member_value-wrap .txt .ttl {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 480px) {
  #member_value ul li .member_value-wrap .txt .ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1024px) {
  #member_value ul li .view_all {
    position: absolute;
    bottom: 10px;
    left: 260px;
    transform: none;
  }
}
@media screen and (max-width: 600px) {
  #member_value ul li .view_all {
    bottom: -60px;
    left: -50%;
    right: -50%;
    margin: auto;
  }
}

.member_join {
  font-size: 12px;
  font-weight: 500;
  margin: 0;
}
.member_join .figure {
  text-align: center;
  margin: 0;
}
.member_join table tr th {
  border: none !important;
}
.member_join table tr td {
  border: none !important;
  display: block;
  padding: 0 !important;
}
@media screen and (max-width: 767px) {
  .member_join table tr td {
    width: 100%;
    padding-left: 0%;
    padding-right: 0%;
    padding-bottom: 20px;
  }
}
.member_join table tr td img {
  width: 600px;
  height: auto;
  margin: 20px;
}
@media screen and (max-width: 767px) {
  .member_join table tr td img {
    width: 100% !important;
    margin: 20px 0 40px 0;
  }
}
.member_join table tr td .member_join_flow {
  background-color: #e1f3df;
  padding: 30px;
  margin-bottom: 20px;
}
.member_join table tr td .member_join_flow .ttl {
  font-size: 20px;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .member_join table tr td .member_join_flow .ttl {
    font-size: 16px;
    padding-left: 1em;
    text-indent: -1.4em;
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .member_join table tr td .member_join_flow .ttl:first-child {
    margin-top: 0;
  }
}
.member_join table tr td .member_join_flow .exp {
  margin-bottom: 1em;
  font-size: 16px;
  font-weight: 400;
  position: relative;
}
@media screen and (max-width: 767px) {
  .member_join table tr td .member_join_flow .exp {
    font-size: 14px;
    letter-spacing: 0em;
  }
}
.member_join table tr td .member_join_flow a {
  color: #879A63;
  text-decoration: underline;
}
.member_join table tr td .deduction {
  font-size: 15px;
}
@media screen and (max-width: 480px) {
  .member_join table tr td .deduction {
    font-size: 14px;
  }
}

.declaration {
  margin-top: 50px;
}
@media screen and (max-width: 480px) {
  .declaration.bx_green {
    padding-top: 30px;
    padding-bottom: 20px;
  }
}
.declaration p {
  text-align: left;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .declaration p {
    font-size: 14px;
  }
}
.declaration .ttl {
  width: 100%;
  text-align: center;
  padding: 0 0 22px 0;
  position: relative;
  font-size: 22px;
  margin-top: 0;
  border-bottom: 1px solid #333333;
}
@media screen and (max-width: 767px) {
  .declaration .ttl {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .declaration .ttl {
    font-size: 18px;
    padding-bottom: 16px;
  }
}
.declaration ol {
  width: 100%;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 32px;
}
@media screen and (max-width: 480px) {
  .declaration ol {
    margin-top: 20px;
  }
}
.declaration ol li {
  text-align: left;
  margin-bottom: 20px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.5em;
  font-weight: 400;
  text-indent: -1.8em;
  margin-left: 2.4em;
}
@media screen and (max-width: 767px) {
  .declaration ol li {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 27px;
    text-indent: -1.7em;
    margin-left: 2em;
  }
}
@media screen and (max-width: 480px) {
  .declaration ol li {
    font-size: 14px;
  }
}

.papercraft {
  display: flex;
  background-color: #fff;
  padding: 50px;
  border: 1px solid #889A63;
  max-width: 100%;
  border-radius: 8px;
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  .papercraft {
    background-color: #fff;
    padding: 20px 24px 32px 24px;
    max-width: 100%;
    margin: 20px 0;
    display: flex;
    flex-wrap: wrap-reverse;
    text-align: left;
  }
}
.papercraft .lead {
  color: #889A63;
  margin-bottom: 1em;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5em;
}
@media screen and (max-width: 480px) {
  .papercraft .lead {
    font-size: 18px;
  }
}
.papercraft .papercraft_thum {
  width: 30%;
  padding-right: 30px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .papercraft .papercraft_thum {
    padding-right: 0px;
    width: 100%;
    text-align: center;
  }
}
.papercraft .papercraft_thum img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .papercraft .papercraft_thum img {
    width: 100%;
    height: auto;
  }
}
.papercraft .papercraft_txt {
  width: 70%;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .papercraft .papercraft_txt {
    width: 100%;
    margin-bottom: 24px;
    font-weight: 400;
  }
}
.papercraft .papercraft_txt .ttl {
  width: 100%;
  background-color: #889A63;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 6rem;
  text-align: center;
  color: #fff;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .papercraft .papercraft_txt .ttl {
    font-size: 1.8rem;
    line-height: 4.5rem;
  }
}
@media screen and (max-width: 480px) {
  .papercraft .papercraft_txt .ttl {
    font-size: 1.6rem;
    line-height: 4rem;
  }
}

#song {
  margin-top: 50px;
}
#song .thum {
  width: 30%;
  padding-right: 30px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  #song .thum {
    width: 100%;
    padding-right: 0;
    text-align: center;
  }
}
#song .thum img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  #song .thum img {
    width: 80%;
    height: auto;
  }
}
#song .lyrics {
  width: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  #song .lyrics {
    width: 100%;
  }
}
#song .lyrics p {
  margin-top: 20px;
}
#song .lyrics .youtube {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  margin-bottom: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  #song .lyrics .youtube {
    margin: 3rem 0;
  }
}
#song .lyrics .youtube iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#song .lyrics .lyric-wrap {
  position: relative;
  left: 0;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #song .lyrics .lyric-wrap {
    left: 0;
  }
}
#song .lyrics .lyric-wrap .lyrics_clm {
  display: flex;
}
#song .lyrics .lyric-wrap .lyrics_clm > div {
  padding-right: 120px;
}
@media screen and (max-width: 767px) {
  #song .lyrics .lyric-wrap .lyrics_clm > div {
    font-size: 1rem;
    padding-right: 20px;
  }
}

.back_number {
  display: flex;
  justify-content: unset;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .back_number {
    justify-content: space-between;
  }
}
.back_number li {
  margin-right: min(3.33vw, 48px);
  margin-bottom: 30px;
  font-size: 12px;
  width: min(17%, 160px);
}
@media screen and (max-width: 767px) {
  .back_number li {
    margin-right: 4%;
    font-size: 12px;
    width: 48%;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .back_number li:nth-child(2n) {
    margin-right: 0;
  }
}
.back_number li:nth-child(5n) {
  margin-right: 0;
}
.back_number li img {
  width: 160px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .back_number li img {
    width: 100%;
  }
}

.song-wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .song-wrap {
    display: block;
  }
}
.song-wrap p {
  width: calc(100% - 320px - 40px);
  font-weight: 400;
  letter-spacing: 0em;
}
@media screen and (max-width: 767px) {
  .song-wrap p {
    width: 100%;
    margin-bottom: 24px;
    letter-spacing: 0em;
  }
}
.song-wrap .thum {
  width: 320px;
  margin-left: 40px;
}
@media screen and (max-width: 767px) {
  .song-wrap .thum {
    margin-left: 0;
  }
}
@media screen and (max-width: 400px) {
  .song-wrap .thum {
    width: 100%;
  }
}

/******************************************************
  プライバシーポリシー
******************************************************/
.p-privacy {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-privacy {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-privacy .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-privacy .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-privacy .c-parts__pagehead::before {
  background-image: url(../img/privacy/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-privacy .c-parts__pagehead::before {
    background-image: url(../img/privacy/img_pagehead_s.webp);
  }
}
.p-privacy .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-privacy .dir_path {
    margin-bottom: 50px;
  }
}

/******************************************************
  お問い合わせ
******************************************************/
.p-contact {
  padding-bottom: 60px;
  /* == 下層ページ共通ヘッダー ===== */
}
.p-contact .c-parts__pagehead {
  /*margin-bottom: clamp(100px, 13.02vw, 150px);
  @media screen and (max-width:$switch767){
    margin-bottom: clamp(50px, 6.51vw, 75px);
  }*/
  margin-bottom: 40px;
}
@media screen and (max-width: 768PX) {
  .p-contact .c-parts__pagehead {
    margin-bottom: 20px;
  }
}
.p-contact .c-parts__pagehead::before {
  background-image: url(../img/contact/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-contact .c-parts__pagehead::before {
    background-image: url(../img/contact/img_pagehead_s.webp);
  }
}
.p-contact .contact_read {
  margin: 0 auto;
  text-align: center;
  background-color: #E5F3E1;
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  .p-contact .contact_read {
    padding: 40px 24px;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .p-contact .contact_read {
    padding: 20px;
  }
}
.p-contact .contact_read p:first-child {
  font-weight: 400;
  margin-bottom: 20px;
}
.p-contact .contact_read p:nth-child(3n) {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-contact .contact_read p:nth-child(4n) {
    font-size: 12px;
  }
}
.p-contact .contact_read p span {
  display: inline-block;
  margin-bottom: 32px;
}
.p-contact .contact_read a {
  color: #879A63;
  border-bottom: solid 1px #879A63;
}
.p-contact .contact_read img {
  width: 18px;
  aspect-ratio: 1/1;
  vertical-align: middle;
  margin-left: 10px;
}
.p-contact .contact_cont {
  width: 100%;
  padding-bottom: 100px;
  margin: 0 auto;
  margin-top: 48px;
}
@media screen and (max-width: 1024px) {
  .p-contact .contact_cont {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
@media screen and (max-width: 767px) {
  .p-contact .contact_cont {
    width: 100%;
  }
}
.p-contact .contact_cont.confirm .supplement {
  display: none;
}
.p-contact .contact_cont table {
  width: 100%;
  margin-bottom: 48px;
}
.p-contact .contact_cont table tr th, .p-contact .contact_cont table tr td {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .p-contact .contact_cont table tr th, .p-contact .contact_cont table tr td {
    display: block;
    padding: 0;
  }
}
.p-contact .contact_cont table tr th {
  white-space: nowrap;
  vertical-align: top;
  width: 240px;
}
@media screen and (max-width: 767px) {
  .p-contact .contact_cont table tr th {
    padding-bottom: 12px;
  }
}
.p-contact .contact_cont .form_field {
  width: 100%;
  padding: 4px !important;
  border: solid 1px #CCCCCC;
  border-radius: 8px;
  font-size: 14px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
@media screen and (max-width: 767px) {
  .p-contact .contact_cont .form_field {
    width: 100%;
    padding: 2px !important;
  }
}
.p-contact .contact_cont .req {
  display: inline-block;
  width: 32px;
  height: 22px;
  font-size: 12px;
  color: #fff;
  background-color: #C93C32;
  text-indent: 0.3em;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .p-contact .contact_cont .supplement {
    margin-bottom: 40px;
  }
}
.p-contact .contact_cont .contact-submit {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 218px;
  height: 48px;
  border: none;
  border-radius: 35px;
  background-color: #879a63;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  z-index: 1;
  overflow: hidden;
  left: 50%;
  transform: translateX(-50%);
  transition: 0.3s;
  text-decoration: none;
}
.p-contact .contact_cont .contact-submit::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: solid 2px #879a63;
  border-radius: 24px;
  box-sizing: border-box;
  z-index: -1;
  transform: scale(0);
  opacity: 0;
  transition: transform ease 0.3s, opacity 0.3s;
}
.p-contact .contact_cont .contact-submit::after {
  content: "";
  position: absolute;
  right: 24px;
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.p-contact .contact_cont .contact-submit:hover {
  color: #ffffff;
  background: #697b48;
  opacity: 1;
}
.p-contact .contact_cont .contact-submit:hover::before {
  transform: scale(1.1);
  opacity: 1;
}
.p-contact .contact_cont .submit_btn {
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
  width: 218px;
  height: 48px;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #fff;
  font-size: 14px;
}
.p-contact .contact_cont .thanks {
  padding-bottom: 200px;
}
.p-contact .contact_cont textarea {
  height: 250px;
}
.p-contact .contact_cont .supplement {
  color: #888888;
  font-size: 14px;
}

/******************************************************
  404エラー
******************************************************/
.p-404 {
  padding-bottom: 100px;
  /* == 下層ページ共通ヘッダー ===== */
}
@media screen and (max-width: 1024px) {
  .p-404 {
    padding-bottom: clamp(80px, 10.43vw, 100px);
  }
}
.p-404 .c-parts__pagehead {
  margin-bottom: 70px;
}
@media screen and (max-width: 768PX) {
  .p-404 .c-parts__pagehead {
    margin-bottom: 40px;
  }
}
.p-404 .c-parts__pagehead::before {
  background-image: url(../img/privacy/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-404 .c-parts__pagehead::before {
    background-image: url(../img/privacy/img_pagehead_s.webp);
  }
}
.p-404 .dir_path {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .p-404 .dir_path {
    margin-bottom: 50px;
  }
}

/******************************************************
  インデックスページ
******************************************************/
/* == 下層ページ共通ヘッダー ============================================== */
.p-page.--info .c-parts__pagehead::before {
  background-image: url(../img/info/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-page.--info .c-parts__pagehead::before {
    background-image: url(../img/info/img_pagehead_s.webp);
  }
}
.p-page.--sightseeing .c-parts__pagehead::before {
  background-image: url(../img/sightseeing/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-page.--sightseeing .c-parts__pagehead::before {
    background-image: url(../img/sightseeing/img_pagehead_s.webp);
  }
}
.p-page.--visit .c-parts__pagehead::before {
  background-image: url(../img/visit/img_pagehead_l.webp);
}
@media screen and (max-width: 767px) {
  .p-page.--visit .c-parts__pagehead::before {
    background-image: url(../img/visit/img_pagehead_s.webp);
  }
}

/******************************************************
  project
******************************************************/
/******************************************************
  全体まとめ
******************************************************/

/*# sourceMappingURL=app.css.map */
