@charset "UTF-8";
/*
Theme Name: 山陰じかん
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap");
@media screen and (max-width: 900px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 900px) {
  .sp {
    display: block;
  }
}

html,
body {
  margin: 0 auto;
  color: #4b4b4b;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  scroll-behavior: smooth;
}
@media screen and (max-width: 900px) {
  html,
  body {
    width: auto;
  }
}

img {
  vertical-align: top;
}

a {
  text-decoration: none;
  color: inherit;
  transition: 0.3s;
}
a:hover {
  opacity: 0.6;
}

.grecaptcha-badge {
  visibility: hidden;
}

body:has(header .toggle:checked) {
  overflow: hidden;
}

header .display-cover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 98px;
  visibility: hidden;
  transition: 0.3s;
  z-index: 5;
  border-bottom: 2px solid #dbdbdb;
  background-color: rgba(255, 255, 255, 0);
}
@media screen and (max-width: 900px) {
  header .display-cover {
    height: 22vw;
  }
}
header .header-menu {
  position: fixed;
  width: 100vw;
  height: 0;
  left: 0;
  top: 100px;
  transition: 0.6s;
  z-index: 10;
  overflow: hidden;
}
@media screen and (max-width: 900px) {
  header .header-menu {
    top: 22.2222222222vw;
  }
}
header .header-menu .header-menu1 {
  background-color: #f9f9f9;
}
header .header-menu .header-menu1 .header-menu1-item {
  display: block;
  border-top: 2px solid #dbdbdb;
  border-bottom: 2px solid #dbdbdb;
  height: 80px;
  line-height: 80px;
  padding: 0 30px;
  margin-top: -2px;
}
header .header-menu .header-menu1 .header-menu1-item:first-child {
  margin-top: 0;
  border-top: none;
}
header .header-menu .header-menu1 .header-menu1-item:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 1em -0.2em 0;
  background-size: cover;
}
header .header-menu .header-menu1 .header-menu1-item.instagram:before {
  background-image: url(./images/instagram_icon.png);
}
header .header-menu .header-menu1 .header-menu1-item.search:before {
  background-image: url(./images/loupe.svg);
}
header .header-menu .header-menu1 .header-menu1-item.time-schedule:before {
  background-image: url(./images/clock.svg);
}
header .header-menu .header-menu1 .header-menu1-item.contact:before {
  background-image: url(./images/info.svg);
}
header .header-menu .header-menu2 {
  padding: 30px 0;
  background-color: #fff;
  border-top: 2px solid #dbdbdb;
  border-bottom: 2px solid #dbdbdb;
  margin-top: -2px;
}
header .header-menu .header-menu2 .header-menu2-item {
  display: block;
  height: 60px;
  line-height: 60px;
  padding: 0 40px;
}
header .header-menu .header-menu2 .header-menu2-item:before {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-right: 1em;
  background-size: cover;
  background-image: url(./images/arrow2.png);
}
header .header-menu .header-menu3 {
  padding: 30px 0;
  font-size: 14px;
  background-color: #fff;
  border-top: 2px solid #dbdbdb;
  border-bottom: 2px solid #dbdbdb;
  margin-top: -2px;
}
header .header-menu .header-menu3 .header-menu3-item {
  display: block;
  height: 40px;
  line-height: 40px;
  padding: 0 40px;
}

.main-header {
  position: absolute;
  z-index: 100;
}
.main-header a:hover {
  opacity: 1;
}
@media screen and (max-width: 900px) {
  .main-header {
    width: auto;
  }
}
.main-header .header-left {
  position: absolute;
  top: 50px;
  left: 3.5416666667vw;
}
@media screen and (max-width: 900px) {
  .main-header .header-left {
    top: 5.8888888889vw;
    left: 4.4444444444vw;
  }
}
.main-header .header-left .logo {
  width: 175px;
  transition: 0.3s;
}
@media screen and (max-width: 900px) {
  .main-header .header-left .logo {
    width: 35vw;
  }
}
.main-header .header-left .logo:hover {
  opacity: 0.6;
}
.main-header .header-left .logo img {
  width: 100%;
}
.main-header:has(.toggle:checked) .display-cover {
  visibility: visible;
  background-color: #fff;
}
.main-header:has(.toggle:checked) .header-menu {
  height: calc(100vh - 100px);
  overflow: auto;
}
@media screen and (max-width: 900px) {
  .main-header:has(.toggle:checked) .header-menu {
    height: calc(100vh - 22.2222222222vw);
  }
}
.main-header .header-right {
  display: flex;
  position: fixed;
  height: 45px;
  line-height: 45px;
  top: 35px;
  right: 3.5%;
  align-items: center;
  z-index: 10;
}
.main-header .header-right a .link {
  transition: 0.3s;
}
.main-header .header-right a:hover .link {
  opacity: 0.7;
}
@media screen and (max-width: 900px) {
  .main-header .header-right {
    right: 7.1%;
    top: 7.2222222222vw;
    height: 8.3333333333vw;
    line-height: 8.3333333333vw;
  }
}
.main-header .header-right .search {
  display: flex;
  align-items: center;
  background-color: #fff;
  margin-right: 10px;
  font-size: 13px;
  padding: 0 37px 0 21px;
}
.main-header .header-right .search img {
  margin-right: 10px;
  width: 20px;
  height: 20px;
}
.main-header .header-right a {
  height: inherit;
}
.main-header .header-right a .instagram {
  display: flex;
  width: 45px;
  height: inherit;
  margin-right: 10px;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}
.main-header .header-right a .instagram img {
  width: 20px;
  height: 20px;
}
.main-header .header-right .toggle {
  display: none;
}
@media screen and (max-width: 900px) {
  .main-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span {
    background-color: #3c4043;
  }
}
.main-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(1) {
  transform: rotate(45deg);
  top: 22px;
  width: 22px;
}
@media screen and (max-width: 900px) {
  .main-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(1) {
    top: 3.8888888889vw;
    width: 8.3333333333vw;
  }
}
.main-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(2) {
  transform: rotate(45deg);
  height: 0;
}
.main-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(3) {
  top: 22px;
  width: 22px;
  transform: rotate(135deg);
}
@media screen and (max-width: 900px) {
  .main-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(3) {
    top: 3.8888888889vw;
    width: 8.3333333333vw;
  }
}
.main-header .header-right .menu-btn-label {
  position: relative;
  width: 45px;
  height: inherit;
  margin: auto 0;
  background-color: #fff;
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  .main-header .header-right .menu-btn-label {
    background-color: unset;
    width: 75px;
  }
}
.main-header .header-right .menu-btn-label .menu-btn-label-img {
  width: inherit;
  height: inherit;
  text-align: right;
}
.main-header .header-right .menu-btn-label .menu-btn-label-img span {
  display: inline-block;
  height: 2px;
  position: absolute;
  right: 12.5px;
  background-color: #3c4043;
  transition: 0.3s;
  border-radius: 2px;
}
@media screen and (max-width: 900px) {
  .main-header .header-right .menu-btn-label .menu-btn-label-img span {
    height: 0.7777777778vw;
    background-color: #fff;
    border-radius: 0.7777777778vw;
    right: 0px;
  }
}
.main-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(1) {
  top: 16px;
  width: 17px;
}
@media screen and (max-width: 900px) {
  .main-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(1) {
    top: 1.1111111111vw;
    width: 6.3333333333vw;
  }
}
.main-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(2) {
  top: 22px;
  width: 24px;
}
@media screen and (max-width: 900px) {
  .main-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(2) {
    top: 3.8888888889vw;
    width: 8.2222222222vw;
  }
}
.main-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(3) {
  top: 28px;
  width: 12px;
}
@media screen and (max-width: 900px) {
  .main-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(3) {
    top: 6.6666666667vw;
    width: 4.5555555556vw;
  }
}

.sub-header {
  position: relative;
  min-width: 1000px;
  height: 120px;
  z-index: 100;
}
@media screen and (max-width: 900px) {
  .sub-header {
    height: 22.2222222222vw;
    min-width: auto;
  }
}
.sub-header .display-cover {
  height: 118px;
}
@media screen and (max-width: 900px) {
  .sub-header .display-cover {
    height: 22vw;
  }
}
.sub-header .header-menu {
  top: 120px;
}
@media screen and (max-width: 900px) {
  .sub-header .header-menu {
    top: 22.2222222222vw;
  }
}
.sub-header a:hover {
  opacity: 1;
}
@media screen and (max-width: 900px) {
  .sub-header {
    width: auto;
  }
}
.sub-header .header-left {
  position: absolute;
  top: 25px;
  left: 3.5416666667vw;
}
@media screen and (max-width: 900px) {
  .sub-header .header-left {
    top: 5.8888888889vw;
    left: 4.4444444444vw;
  }
}
.sub-header .header-left .logo {
  width: 175px;
  transition: 0.3s;
}
@media screen and (max-width: 900px) {
  .sub-header .header-left .logo {
    width: 35vw;
  }
}
.sub-header .header-left .logo:hover {
  opacity: 0.6;
}
.sub-header .header-left .logo img {
  width: 100%;
}
.sub-header:has(.toggle:checked) .display-cover {
  visibility: visible;
  background-color: #fff;
}
.sub-header:has(.toggle:checked) .header-menu {
  height: calc(100vh - 100px);
  overflow: auto;
}
@media screen and (max-width: 900px) {
  .sub-header:has(.toggle:checked) .header-menu {
    height: calc(100vh - 22.2222222222vw);
  }
}
.sub-header .header-right {
  display: flex;
  position: absolute;
  height: 45px;
  line-height: 45px;
  top: 35px;
  right: 3.5%;
  align-items: center;
  z-index: 10;
}
.sub-header .header-right a .link {
  transition: 0.3s;
}
.sub-header .header-right a:hover .link {
  opacity: 0.7;
}
@media screen and (max-width: 900px) {
  .sub-header .header-right {
    right: 7.1%;
    top: 7.2222222222vw;
    height: 8.3333333333vw;
    line-height: 8.3333333333vw;
  }
}
.sub-header .header-right .search {
  display: flex;
  align-items: center;
  background-color: #f9f9f9;
  margin-right: 10px;
  font-size: 13px;
  padding: 0 37px 0 21px;
}
.sub-header .header-right .search img {
  margin-right: 10px;
  width: 20px;
  height: 20px;
}
.sub-header .header-right a {
  height: inherit;
}
.sub-header .header-right a .instagram {
  display: flex;
  width: 45px;
  height: inherit;
  margin-right: 10px;
  align-items: center;
  justify-content: center;
  background-color: #f9f9f9;
}
.sub-header .header-right a .instagram img {
  width: 20px;
  height: 20px;
}
.sub-header .header-right .toggle {
  display: none;
}
@media screen and (max-width: 900px) {
  .sub-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span {
    background-color: #3c4043;
  }
}
.sub-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(1) {
  transform: rotate(45deg);
  top: 22px;
  width: 22px;
}
@media screen and (max-width: 900px) {
  .sub-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(1) {
    top: 3.8888888889vw;
    width: 8.3333333333vw;
  }
}
.sub-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(2) {
  transform: rotate(45deg);
  height: 0;
}
.sub-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(3) {
  top: 22px;
  width: 22px;
  transform: rotate(135deg);
}
@media screen and (max-width: 900px) {
  .sub-header .header-right .toggle:checked + .menu-btn-label .menu-btn-label-img span:nth-child(3) {
    top: 3.8888888889vw;
    width: 8.3333333333vw;
  }
}
.sub-header .header-right .menu-btn-label {
  position: relative;
  width: 45px;
  height: inherit;
  margin: auto 0;
  background-color: #f9f9f9;
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  .sub-header .header-right .menu-btn-label {
    background-color: unset;
    width: 75px;
  }
}
.sub-header .header-right .menu-btn-label .menu-btn-label-img {
  width: inherit;
  height: inherit;
  text-align: right;
}
.sub-header .header-right .menu-btn-label .menu-btn-label-img span {
  display: inline-block;
  height: 2px;
  position: absolute;
  right: 12.5px;
  background-color: #3c4043;
  transition: 0.3s;
  border-radius: 2px;
}
@media screen and (max-width: 900px) {
  .sub-header .header-right .menu-btn-label .menu-btn-label-img span {
    height: 0.7777777778vw;
    border-radius: 0.7777777778vw;
    right: 0px;
  }
}
.sub-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(1) {
  top: 16px;
  width: 17px;
}
@media screen and (max-width: 900px) {
  .sub-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(1) {
    top: 1.1111111111vw;
    width: 6.3333333333vw;
  }
}
.sub-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(2) {
  top: 22px;
  width: 24px;
}
@media screen and (max-width: 900px) {
  .sub-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(2) {
    top: 3.8888888889vw;
    width: 8.2222222222vw;
  }
}
.sub-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(3) {
  top: 28px;
  width: 12px;
}
@media screen and (max-width: 900px) {
  .sub-header .header-right .menu-btn-label .menu-btn-label-img span:nth-child(3) {
    top: 6.6666666667vw;
    width: 4.5555555556vw;
  }
}

section[id^=frontpage-] {
  min-width: 900px;
}
@media screen and (max-width: 900px) {
  section[id^=frontpage-] {
    min-width: auto;
    padding: 0;
  }
}
section[id^=frontpage-] .title {
  display: inline-block;
  position: relative;
  margin-left: 3.125vw;
}
@media screen and (max-width: 900px) {
  section[id^=frontpage-] .title {
    margin-left: 5vw;
  }
}
section[id^=frontpage-] .title::after {
  content: "";
  display: block;
  position: absolute;
  width: 2.2395833333vw;
  height: 1px;
  bottom: -0.78125vw;
  background-color: #3c4043;
}
@media screen and (max-width: 900px) {
  section[id^=frontpage-] .title::after {
    width: 10.5555555556vw;
    bottom: -5vw;
    height: 2px;
  }
}
section[id^=frontpage-] .title img {
  width: 100%;
}
section[id^=frontpage-] .right-arrow {
  display: inline-flex;
  font-size: 0.6770833333vw;
  align-items: center;
}
@media screen and (max-width: 900px) {
  section[id^=frontpage-] .right-arrow {
    font-size: 2.6666666667vw;
  }
}
section[id^=frontpage-] .right-arrow img {
  width: 1.9791666667vw;
  margin-right: 1.0416666667vw;
}
@media screen and (max-width: 900px) {
  section[id^=frontpage-] .right-arrow img {
    width: 6.6666666667vw;
    margin-right: 4vw;
  }
}

#frontpage-top {
  width: 100%;
  height: 100vh;
  background-color: #000;
}
#frontpage-top img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}
#frontpage-top .top-text {
  position: absolute;
  width: 10.2459016393vh;
  left: 5.7291666667vw;
  bottom: 17.6229508197vh;
}
@media screen and (max-width: 900px) {
  #frontpage-top .top-text {
    width: 18vw;
    left: 10.3333333333vw;
    bottom: auto;
    top: 33.5vh;
  }
}
#frontpage-top .top-text img {
  width: 100%;
  height: auto;
}

#frontpage-menu {
  display: flex;
  justify-content: center;
  margin: 5.7291666667vw 0;
}
@media screen and (max-width: 900px) {
  #frontpage-menu {
    display: none;
  }
}
#frontpage-menu .item {
  font-size: 0.6770833333vw;
  margin-right: 2.0833333333vw;
  display: flex;
  position: relative;
  align-items: center;
}
#frontpage-menu .item.spot {
  margin-right: 2.6041666667vw;
}
#frontpage-menu .item::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 1px;
  left: 0;
  bottom: -6px;
  background-color: #4b4b4b;
  transition: 0.3s;
}
#frontpage-menu .item:hover {
  opacity: 1;
}
#frontpage-menu .item:hover::after {
  width: 100%;
}
#frontpage-menu .item img {
  width: 1.0416666667vw;
  margin-right: 8px;
  margin-top: 2px;
}
#frontpage-menu .item img.clock {
  width: 0.9375vw;
}
#frontpage-menu .item img.train {
  width: 1.25vw;
}
#frontpage-menu .item img.event {
  width: 1.4583333333vw;
  margin-right: 2px;
  margin-top: 0px;
}

#frontpage-about {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 900px) {
  #frontpage-about {
    position: relative;
  }
}
#frontpage-about .left {
  width: 44%;
  position: relative;
}
@media screen and (max-width: 900px) {
  #frontpage-about .left {
    width: 100%;
  }
}
#frontpage-about .left .title {
  width: 8.0208333333vw;
  padding-top: 2.6041666667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-about .left .title {
    width: 40.7777777778vw;
    padding-top: 20vw;
  }
}
#frontpage-about .left .title img {
  width: 100%;
}
#frontpage-about .left .background-map {
  position: absolute;
  width: 67.7777777778vw;
  right: 0;
  overflow: hidden;
}
#frontpage-about .left .background-map img {
  display: block;
  width: 180%;
}
#frontpage-about .left .header {
  width: 21.1458333333vw;
  margin: 3.5416666667vw 0 2.8645833333vw 6.8229166667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-about .left .header {
    width: 77.3333333333vw;
    margin: 15.5555555556vw 0 10.1111111111vw 11.1111111111vw;
  }
}
#frontpage-about .left .header img {
  width: 100%;
}
#frontpage-about .left .message {
  width: 21.875vw;
  margin: 0 0 4.1666666667vw 6.8229166667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-about .left .message {
    width: 79.2222222222vw;
    margin: 0 0 22.8888888889vw 11.1111111111vw;
  }
}
#frontpage-about .left .message img {
  width: 100%;
}
#frontpage-about .left .text {
  margin-left: 7.5vw;
}
@media screen and (max-width: 900px) {
  #frontpage-about .left .text {
    margin-bottom: 24.6666666667vw;
  }
}
#frontpage-about .right {
  position: relative;
  width: 56%;
}
@media screen and (max-width: 900px) {
  #frontpage-about .right {
    margin-left: auto;
    width: 86.4444444444vw;
    height: 57.1111111111vw;
  }
}
#frontpage-about .right img {
  width: 100%;
}
#frontpage-about .right .background-map {
  position: absolute;
  width: 39.84375vw;
  left: -25.2604166667vw;
}
#frontpage-about .right .background-map img {
  display: block;
  width: 100%;
}
#frontpage-about .bottom {
  margin: 8.4375vw 4.7395833333vw 7.0833333333vw;
}
@media screen and (max-width: 900px) {
  #frontpage-about .bottom {
    margin: 20.8888888889vw auto 31.4444444444vw 0;
    width: 86.4444444444vw;
    height: 57.1111111111vw;
    overflow: hidden;
  }
}
#frontpage-about .bottom img {
  width: 100%;
}

#frontpage-information .title {
  width: 7.3958333333vw;
  margin-bottom: 4.9479166667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .title {
    width: 35vw;
    margin-bottom: 22.7777777778vw;
  }
}
#frontpage-information .information-wrap {
  display: flex;
  flex-wrap: wrap;
}
#frontpage-information .information-wrap .event-img-wrap {
  display: block;
  width: 48.6%;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .event-img-wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    order: 2;
  }
}
#frontpage-information .information-wrap .event-img-wrap .event-img {
  width: 26.9791666667vw;
  height: 35.3645833333vw;
  margin-left: 13.125vw;
  overflow: hidden;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .event-img-wrap .event-img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    order: 2;
  }
}
#frontpage-information .information-wrap .event-img-wrap .event-img img {
  width: 100%;
}
#frontpage-information .information-wrap .event-img-wrap .text {
  margin-left: 13.6458333333vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .event-img-wrap .text {
    margin: 0 0 27.2222222222vw 7.3333333333vw;
    order: 1;
  }
}
#frontpage-information .information-wrap .news-list {
  width: 51.4%;
  font-size: 0.6770833333vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list {
    width: 100%;
    order: 1;
    margin-bottom: 13.3333333333vw;
  }
}
#frontpage-information .information-wrap .news-list article {
  margin-bottom: 2.1875vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list article {
    margin-bottom: 8.8888888889vw;
  }
}
#frontpage-information .information-wrap .news-list article:last-child {
  margin-bottom: 0;
}
#frontpage-information .information-wrap .news-list article a {
  display: flex;
  width: inherit;
  flex-wrap: wrap;
}
#frontpage-information .information-wrap .news-list article a .article-eye-catch {
  width: 9.5833333333vw;
  height: 7.1875vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list article a .article-eye-catch {
    width: 67.7777777778vw;
    height: 50.7777777778vw;
    margin: 0 auto;
  }
}
#frontpage-information .information-wrap .news-list article a .article-eye-catch img {
  width: inherit;
  height: inherit;
  object-fit: cover;
}
#frontpage-information .information-wrap .news-list article a .article-information {
  position: relative;
  width: 31.25vw;
  margin-left: 1.9270833333vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list article a .article-information {
    width: 60vw;
    margin: 5.5555555556vw auto 14.6666666667vw;
  }
}
#frontpage-information .information-wrap .news-list article a .article-information .article-date-category {
  display: flex;
  align-items: center;
  margin: 0.4166666667vw 0 0.78125vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list article a .article-information .article-date-category {
    margin: 0 0 3.8888888889vw;
  }
}
#frontpage-information .information-wrap .news-list article a .article-information .article-date-category .article-date {
  font-size: 0.7291666667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list article a .article-information .article-date-category .article-date {
    font-size: 2.3333333333vw;
  }
}
#frontpage-information .information-wrap .news-list article a .article-information .article-date-category .article-category {
  height: 0.7291666667vw;
  line-height: 0.625vw;
  background-color: #e8e8e8;
  text-align: center;
  padding: 1px 0.78125vw;
  border-radius: 0.78125vw;
  margin-left: 0.5208333333vw;
  font-size: 0.6770833333vw;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list article a .article-information .article-date-category .article-category {
    height: 2.4444444444vw;
    line-height: 2.2222222222vw;
    font-size: 2.2222222222vw;
    padding: 1px 2.7777777778vw;
    margin-left: 2.2222222222vw;
  }
}
#frontpage-information .information-wrap .news-list article a .article-information .article-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-align: left;
  font-size: 0.7291666667vw;
  font-weight: 500;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list article a .article-information .article-title {
    font-size: 2.3333333333vw;
  }
}
#frontpage-information .information-wrap .news-list article a .article-information .right-arrow {
  position: absolute;
  bottom: 1.8229166667vw;
  right: 0;
}
@media screen and (max-width: 900px) {
  #frontpage-information .information-wrap .news-list article a .article-information .right-arrow {
    font-size: 2.2222222222vw;
    bottom: -11.1111111111vw;
    right: 3.3333333333vw;
  }
}

#frontpage-spot {
  height: 59.21875vw;
  background: url(./images/contents03_img01.jpg);
  background-size: cover;
  margin-top: 9.3229166667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-spot {
    height: auto;
    margin-top: 0;
    background: url(./images/contents03_img01_sp.jpg);
  }
}
#frontpage-spot .title {
  position: relative;
  width: 5.4166666667vw;
  margin-bottom: 0.8333333333vw;
  padding-top: 7.1354166667vw;
}
#frontpage-spot .title::after {
  background-color: #fff;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .title {
    width: 24.7777777778vw;
    padding-top: 29vw;
    margin: 0 0 14.4444444444vw 9.6666666667vw;
  }
}
#frontpage-spot .spot-wrap {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap {
    padding-bottom: 25.5555555556vw;
  }
}
#frontpage-spot .spot-wrap .left {
  width: 40.7%;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .left {
    width: 100%;
  }
}
#frontpage-spot .spot-wrap .left .header {
  width: 14.53125vw;
  margin: 3.75vw 0 2.7083333333vw 6.8229166667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .left .header {
    width: 52.7777777778vw;
    margin: 0 0 8.8888888889vw 15.7777777778vw;
  }
}
#frontpage-spot .spot-wrap .left .header img {
  width: 100%;
}
#frontpage-spot .spot-wrap .left .message {
  width: 25vw;
  margin: 0 0 3.4895833333vw 6.8229166667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .left .message {
    width: 75vw;
    margin: 0 0 11.1111111111vw 15.7777777778vw;
  }
}
#frontpage-spot .spot-wrap .left .message img {
  width: 100%;
}
#frontpage-spot .spot-wrap .left .text {
  color: #fff;
  margin-left: 6.8229166667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .left .text {
    margin: 0 0 18.8888888889vw 15.7777777778vw;
  }
}
#frontpage-spot .spot-wrap .left .text img {
  filter: brightness(10);
}
#frontpage-spot .spot-wrap .spot-list {
  width: 59.3%;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .spot-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
}
#frontpage-spot .spot-wrap .spot-list article {
  display: inline-block;
  position: relative;
  width: 26.5104166667vw;
  height: 8.8020833333vw;
  margin-bottom: 3.90625vw;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .spot-list article {
    width: 100%;
    height: 29.1111111111vw;
    margin-bottom: 8.1111111111vw;
  }
}
#frontpage-spot .spot-wrap .spot-list article:nth-child(2n) {
  top: 5.8854166667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .spot-list article:nth-child(2n) {
    top: auto;
  }
}
#frontpage-spot .spot-wrap .spot-list article:nth-child(1) {
  order: 1;
}
#frontpage-spot .spot-wrap .spot-list article:nth-child(2) {
  order: 4;
}
#frontpage-spot .spot-wrap .spot-list article:nth-child(3) {
  order: 2;
}
#frontpage-spot .spot-wrap .spot-list article:nth-child(4) {
  order: 5;
}
#frontpage-spot .spot-wrap .spot-list article:nth-child(5) {
  order: 3;
}
#frontpage-spot .spot-wrap .spot-list article:nth-child(6) {
  order: 6;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .spot-list article:last-child {
    margin-bottom: 0;
  }
}
#frontpage-spot .spot-wrap .spot-list article .article-detail {
  position: relative;
  width: 13.1770833333vw;
  height: inherit;
  align-items: center;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .spot-list article .article-detail {
    width: 43.6666666667vw;
    margin-left: 15.7777777778vw;
  }
}
#frontpage-spot .spot-wrap .spot-list article .article-detail a {
  width: inherit;
  height: inherit;
}
#frontpage-spot .spot-wrap .spot-list article .article-detail a .article-eye-catch {
  width: inherit;
  height: inherit;
}
#frontpage-spot .spot-wrap .spot-list article .article-detail a .article-eye-catch img {
  width: inherit;
  height: inherit;
  object-fit: cover;
}
#frontpage-spot .spot-wrap .spot-list article .article-detail .article-name {
  display: flex;
  position: absolute;
  align-items: center;
  height: 0.9375vw;
  top: 3.75vw;
  left: 12.2916666667vw;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .spot-list article .article-detail .article-name {
    height: 3.7777777778vw;
    top: 15.4444444444vw;
    left: 40.3333333333vw;
  }
}
#frontpage-spot .spot-wrap .spot-list article .article-detail .article-name img {
  height: inherit;
}
#frontpage-spot .spot-wrap .spot-list article .article-detail .article-name::before {
  display: block;
  content: "";
  width: 2.2916666667vw;
  height: 1px;
  margin-right: 0.5729166667vw;
  background-color: #fff;
}
@media screen and (max-width: 900px) {
  #frontpage-spot .spot-wrap .spot-list article .article-detail .article-name::before {
    width: 11.8888888889vw;
    margin-right: 2.7777777778vw;
  }
}

#single-spot {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  #single-spot {
    width: auto;
  }
}
#single-spot .spot-title {
  margin: 50px 20px;
  font-size: 18px;
  font-family: "Noto Serif JP", serif;
}
#single-spot .spot-img {
  margin-bottom: 100px;
}
#single-spot .spot-img .splide__slide {
  text-align: center;
  margin: auto;
}
#single-spot .spot-img .splide__slide img {
  max-width: 1000px;
  max-height: 685px;
  object-fit: cover;
  margin: auto;
}
@media screen and (max-width: 900px) {
  #single-spot .spot-img .splide__slide img {
    max-width: 100%;
    max-height: auto;
  }
}
#single-spot .spot-introduction {
  font-size: 13px;
  margin: 0 20px 70px 20px;
}
#single-spot .spot-information {
  padding: 0 0 70px;
  font-size: 13px;
}
#single-spot .spot-information .wrap {
  display: flex;
  margin-bottom: 20px;
  align-items: baseline;
}
#single-spot .spot-information .wrap .left {
  display: flex;
  width: 4.5em;
  height: 1.8em;
  line-height: 1.8em;
  border: 1px solid #000;
  margin-left: 20px;
  font-size: 12px;
  justify-content: center;
  align-items: center;
}
#single-spot .spot-information .wrap .right {
  width: calc(100% - 60px - 4.5em);
  margin: 0 20px;
}
#single-spot .spot-information .wrap .right a {
  color: #057ed3;
}
#single-spot .spot-information .wrap .right span {
  display: inline-block;
  margin-right: 1em;
}
#single-spot .spot-map {
  text-align: center;
  margin-bottom: 200px;
}
#single-spot .spot-map iframe {
  width: calc(100% - 40px);
  height: auto;
  margin: 0 20px;
  aspect-ratio: 4/3;
}
#single-spot .spot-photo {
  position: relative;
  height: auto;
  background-color: #f9f9f9;
}
#single-spot .spot-photo .title {
  font-size: 18px;
  margin: 0 20px;
  padding: 50px 0;
  font-family: "Noto Serif JP", serif;
}
#single-spot .spot-photo .background {
  position: absolute;
  background-color: #f9f9f9;
  width: 100vw;
  top: 0;
  bottom: 0;
  left: calc(0px - (100vw - 1000px) / 2);
  z-index: -1;
}
@media screen and (max-width: 900px) {
  #single-spot .spot-photo .background {
    left: 0;
  }
}
#single-spot .spot-photo .photo-list {
  display: flex;
  flex-wrap: wrap;
  max-height: 250px;
  overflow: hidden;
  transition: 5s;
}
#single-spot .spot-photo .photo-list:has(+ .photo-toggle:checked) {
  max-height: 10000px;
}
@media screen and (max-width: 900px) {
  #single-spot .spot-photo .photo-list:has(+ .photo-toggle:checked) article:nth-child(n+5) {
    max-height: 10000px;
  }
}
@media screen and (max-width: 900px) {
  #single-spot .spot-photo .photo-list {
    max-height: none;
  }
}
#single-spot .spot-photo .photo-list article {
  width: 230px;
  margin: 1%;
}
@media screen and (max-width: 900px) {
  #single-spot .spot-photo .photo-list article {
    width: 100%;
    margin: 0 10%;
  }
}
@media screen and (max-width: 900px) {
  #single-spot .spot-photo .photo-list article:nth-child(3n) {
    margin: 0 10%;
  }
}
@media screen and (max-width: 900px) {
  #single-spot .spot-photo .photo-list article:nth-child(n+5) {
    max-height: 0;
    transition: 5s;
  }
}
#single-spot .spot-photo .photo-list article .eye-catch {
  width: inherit;
  margin-bottom: 8px;
}
#single-spot .spot-photo .photo-list article .eye-catch img {
  width: inherit;
  height: 230px;
  object-fit: cover;
  vertical-align: middle;
}
@media screen and (max-width: 900px) {
  #single-spot .spot-photo .photo-list article .eye-catch img {
    height: auto;
  }
}
#single-spot .spot-photo .photo-toggle {
  display: none;
}
#single-spot .spot-photo .photo-toggle:checked + .btn-wrap {
  visibility: hidden;
  opacity: 0;
  padding: 0;
}
#single-spot .spot-photo .photo-toggle:checked + .btn-wrap .btn {
  visibility: hidden;
}
#single-spot .spot-photo .btn-wrap {
  display: block;
  width: 100%;
  text-align: center;
  padding: 50px 0;
  transition: 0.3s;
}
#single-spot .spot-photo .btn-wrap .btn {
  display: inline-block;
  width: 240px;
  position: relative;
  color: #4b4b4b;
  border: 1px solid #7d7d7d;
  font-size: 12px;
  padding: 10px 30px;
  text-align: left;
  transition: 0.3s;
}
@media screen and (max-width: 900px) {
  #single-spot .spot-photo .btn-wrap .btn {
    margin: 20px 0;
  }
}
#single-spot .spot-photo .btn-wrap .btn::after {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  top: 12px;
  right: 5%;
  background-image: url(./images/arrow2.png);
  background-size: cover;
  transform: rotate(90deg);
}
#single-spot .spot-photo .btn-wrap .btn:hover {
  opacity: 0.7;
  cursor: pointer;
}

#single-station {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  #single-station {
    width: auto;
  }
}
#single-station .station-title {
  display: flex;
  margin: 50px 20px 20px;
  font-size: 18px;
  align-items: center;
  font-family: "Noto Serif JP", serif;
}
#single-station .station-title .furigana {
  font-size: 11px;
  margin-left: 15px;
}
#single-station .station-img {
  text-align: center;
  margin: auto;
}
#single-station .station-img img {
  max-width: 1000px;
  max-height: 685px;
  object-fit: cover;
  margin: auto;
}
@media screen and (max-width: 900px) {
  #single-station .station-img img {
    max-width: 100%;
    max-height: auto;
  }
}
#single-station .station-introduction {
  font-size: 14px;
  margin: 0 20px 70px 20px;
}
#single-station .station-information {
  padding: 40px 0;
}
#single-station .station-information .title {
  font-size: 18px;
  margin: 0 20px 30px 20px;
  font-family: "Noto Serif JP", serif;
}
#single-station .station-information .wrap {
  display: flex;
  margin-bottom: 20px;
  font-size: 13px;
  align-items: baseline;
}
#single-station .station-information .wrap .left {
  width: 4.5em;
  height: 1.8em;
  line-height: 1.8em;
  border: 1px solid #000;
  text-align: center;
  margin-left: 20px;
  font-size: 12px;
}
#single-station .station-information .wrap .right {
  margin: 0 20px;
}
#single-station .station-information .wrap .right a {
  color: #057ed3;
}
#single-station .station-information .wrap .right span {
  display: inline-block;
  margin-right: 1em;
}
#single-station .nearby-spot {
  padding: 40px 0;
}
#single-station .nearby-spot .title {
  font-size: 18px;
  margin: 0 20px 30px 20px;
  font-family: "Noto Serif JP", serif;
}
#single-station .nearby-spot .spot-list {
  display: flex;
  font-size: 13px;
  flex-wrap: wrap;
  transition: 5s;
}
#single-station .nearby-spot .spot-list:has(+ .spot-toggle:checked) {
  max-height: 10000px;
}
#single-station .nearby-spot .spot-list article {
  width: 300px;
  margin: 1.66%;
}
@media screen and (max-width: 900px) {
  #single-station .nearby-spot .spot-list article {
    width: 100%;
    height: 75vw;
    margin: 0 10%;
  }
}
@media screen and (max-width: 900px) {
  #single-station .nearby-spot .spot-list article:nth-child(3n) {
    margin: 0 10%;
  }
}
#single-station .nearby-spot .spot-list article a {
  width: inherit;
  position: relative;
}
#single-station .nearby-spot .spot-list article a .article-eye-catch {
  width: inherit;
  margin-bottom: 8px;
}
#single-station .nearby-spot .spot-list article a .article-eye-catch img {
  width: inherit;
  height: 225px;
  object-fit: cover;
}
@media screen and (max-width: 900px) {
  #single-station .nearby-spot .spot-list article a .article-eye-catch img {
    height: auto;
  }
}
#single-station .nearby-spot .spot-list article a .article-title {
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  margin-bottom: 8px;
  text-align: left;
}
#single-station .nearby-spot .spot-list article a .article-introduction {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-align: left;
  font-size: 11px;
}
@media screen and (max-width: 900px) {
  #single-station .nearby-spot .spot-list article a .article-introduction {
    margin-bottom: 40px;
  }
}
#single-station .nearby-spot .spot-toggle {
  display: none;
}
#single-station .nearby-spot .spot-toggle:checked + .btn-wrap {
  visibility: hidden;
  opacity: 0;
  margin: 0;
}
#single-station .nearby-spot .spot-toggle:checked + .btn-wrap .btn {
  visibility: hidden;
}
#single-station .nearby-spot .btn-wrap {
  display: block;
  width: 100%;
  text-align: center;
  margin: 50px 0;
  transition: 0.3s;
}
#single-station .nearby-spot .btn-wrap .btn {
  display: inline-block;
  width: 240px;
  position: relative;
  color: #4b4b4b;
  border: 1px solid #7d7d7d;
  font-size: 12px;
  padding: 10px 30px;
  text-align: left;
  transition: 0.3s;
}
@media screen and (max-width: 900px) {
  #single-station .nearby-spot .btn-wrap .btn {
    margin: 20px 0;
  }
}
#single-station .nearby-spot .btn-wrap .btn::after {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  top: 12px;
  right: 5%;
  background-image: url(./images/arrow2.png);
  background-size: cover;
  transform: rotate(90deg);
}
#single-station .nearby-spot .btn-wrap .btn:hover {
  opacity: 0.7;
  cursor: pointer;
}
#single-station .station-building-photo {
  position: relative;
  height: auto;
  background-color: #f9f9f9;
}
#single-station .station-building-photo .title {
  font-size: 18px;
  margin: 0 20px;
  padding: 50px 0;
  font-family: "Noto Serif JP", serif;
}
#single-station .station-building-photo .background {
  position: absolute;
  background-color: #f9f9f9;
  width: 100vw;
  top: 0;
  bottom: 0;
  left: calc(0px - (100vw - 1000px) / 2);
  z-index: -1;
}
@media screen and (max-width: 900px) {
  #single-station .station-building-photo .background {
    left: 0;
  }
}
#single-station .station-building-photo .photo-list {
  display: flex;
  flex-wrap: wrap;
  max-height: 250px;
  overflow: hidden;
  transition: 5s;
}
#single-station .station-building-photo .photo-list:has(+ .photo-toggle:checked) {
  max-height: 10000px;
}
@media screen and (max-width: 900px) {
  #single-station .station-building-photo .photo-list:has(+ .photo-toggle:checked) article:nth-child(n+5) {
    max-height: 10000px;
  }
}
@media screen and (max-width: 900px) {
  #single-station .station-building-photo .photo-list {
    max-height: none;
  }
}
#single-station .station-building-photo .photo-list article {
  width: 230px;
  margin: 1%;
}
@media screen and (max-width: 900px) {
  #single-station .station-building-photo .photo-list article {
    width: 100%;
    margin: 0 10%;
  }
}
@media screen and (max-width: 900px) {
  #single-station .station-building-photo .photo-list article:nth-child(3n) {
    margin: 0 10%;
  }
}
@media screen and (max-width: 900px) {
  #single-station .station-building-photo .photo-list article:nth-child(n+5) {
    max-height: 0;
    transition: 5s;
  }
}
#single-station .station-building-photo .photo-list article .eye-catch {
  width: inherit;
  margin-bottom: 8px;
}
#single-station .station-building-photo .photo-list article .eye-catch img {
  width: inherit;
  height: 230px;
  object-fit: cover;
  vertical-align: middle;
}
@media screen and (max-width: 900px) {
  #single-station .station-building-photo .photo-list article .eye-catch img {
    height: auto;
  }
}
#single-station .station-building-photo .photo-toggle {
  display: none;
}
#single-station .station-building-photo .photo-toggle:checked + .btn-wrap {
  visibility: hidden;
  opacity: 0;
  padding: 0;
}
#single-station .station-building-photo .photo-toggle:checked + .btn-wrap .btn {
  visibility: hidden;
}
#single-station .station-building-photo .btn-wrap {
  display: block;
  width: 100%;
  text-align: center;
  padding: 50px 0;
  transition: 0.3s;
}
#single-station .station-building-photo .btn-wrap .btn {
  display: inline-block;
  width: 240px;
  position: relative;
  color: #4b4b4b;
  border: 1px solid #7d7d7d;
  font-size: 12px;
  padding: 10px 30px;
  text-align: left;
  transition: 0.3s;
}
@media screen and (max-width: 900px) {
  #single-station .station-building-photo .btn-wrap .btn {
    margin: 20px 0;
  }
}
#single-station .station-building-photo .btn-wrap .btn::after {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  top: 12px;
  right: 5%;
  background-image: url(./images/arrow2.png);
  background-size: cover;
  transform: rotate(90deg);
}
#single-station .station-building-photo .btn-wrap .btn:hover {
  opacity: 0.7;
  cursor: pointer;
}

#single-news {
  width: 1000px;
  margin: 100px auto 125px;
}
@media screen and (max-width: 900px) {
  #single-news {
    width: auto;
    margin: 50px auto 125px;
  }
}
#single-news a {
  color: #01a0e0;
  text-decoration: underline;
  overflow-wrap: break-word;
}
#single-news h2 {
  margin: 0 0 15px;
  font-size: 20px;
  font-weight: 500;
}
#single-news h3 {
  margin: 30px 0 10px;
  font-size: 18px;
  padding: 0.5em 0;
  color: #1a7b96;
  border-bottom: 3px solid #1a7b96;
}
#single-news .content {
  margin: 0 20px;
}
#single-news .button {
  display: block;
  width: fit-content;
  margin: 20px auto;
  padding: 0.8em 1.6em;
  color: #fff;
  background-color: #1a7b96;
  border-radius: 25px;
  text-decoration: none;
}
#single-news .article-date-category {
  display: flex;
  align-items: center;
  margin: 8px 0 30px;
}
#single-news .article-date-category .article-date {
  font-size: 15px;
}
#single-news .article-date-category .article-category {
  line-height: 1.2;
  background-color: #e8e8e8;
  text-align: center;
  padding: 1px 15px;
  border-radius: 15px;
  margin-left: 10px;
  font-size: 14px;
}

#single-plan {
  width: 1000px;
  margin: 100px auto 500px;
}
@media screen and (max-width: 900px) {
  #single-plan {
    width: auto;
  }
}
#single-plan .plan-title {
  margin-bottom: 30px;
  font-size: 28px;
  font-weight: bold;
}
#single-plan .content {
  margin: 0 20px;
}
#single-plan .content .article-terms {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 30px;
}
#single-plan .content .article-terms .article-city {
  font-size: 14px;
  margin-right: 10px;
}
#single-plan .content .article-terms .article-city span:not(:first-child)::before {
  content: "・";
}
#single-plan .content .article-terms .article-tag {
  font-size: 14px;
}
#single-plan .content .article-overview {
  margin-bottom: 30px;
}
#single-plan .content .article-eye-catch {
  display: block;
  margin-bottom: 30px;
}
#single-plan .content .article-eye-catch img {
  width: 100%;
  height: auto;
}
#single-plan .content .time-schedule {
  display: flex;
  padding: 10px 0;
}
#single-plan .content .time-schedule:not(:first-child) {
  border-top: 1px solid #ccc;
}
#single-plan .content .time-schedule .time {
  width: 15%;
}
#single-plan .content .time-schedule .action {
  width: 85%;
}
#single-plan .content h2 {
  margin-top: 80px;
}
#single-plan .content .link {
  text-decoration: underline;
}
#single-plan .content .img {
  display: inline-block;
  width: 48%;
  margin: 15px 1% 0 0;
}
@media screen and (max-width: 900px) {
  #single-plan .content .img {
    width: 100%;
    margin: 15px 0 0 0;
  }
}
#single-plan .content .img img {
  width: 100%;
}
#single-plan .content .photo-explain {
  margin-block-end: 0;
}
#single-plan .content .space {
  margin-bottom: 50px;
}

.lum-lightbox-inner img.lum-img {
  max-width: 100%;
}
.lum-lightbox-inner .lum-gallery-button {
  display: none !important;
}

section[id^=page-] {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  section[id^=page-] {
    width: auto;
    margin: 0 20px;
  }
}

#subpage-title {
  display: flex;
  min-width: 1000px;
  width: 100%;
  height: 292px;
  background-image: url(./images/sub01.jpg);
  background-size: cover;
  background-position: center;
  justify-content: center;
  align-items: center;
  color: #fff;
}
@media screen and (max-width: 900px) {
  #subpage-title {
    min-width: auto;
    background-image: url(./images/sub01_sp.jpg);
    height: 45.4444444444vw;
    margin-bottom: 30px;
  }
}
#subpage-title.photospot-title, #subpage-title.contact-title, #subpage-title.privacy-title, #subpage-title.policy-title, #subpage-title.news-title, #subpage-title.plan-title {
  background-image: url(./images/sub02.jpg);
}
@media screen and (max-width: 900px) {
  #subpage-title.photospot-title, #subpage-title.contact-title, #subpage-title.privacy-title, #subpage-title.policy-title, #subpage-title.news-title, #subpage-title.plan-title {
    background-image: url(./images/sub02_sp.jpg);
  }
}

.search-header {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.search-header .title {
  width: 100%;
  text-align: center;
  font-size: 20px;
  margin-top: 30px;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 900px) {
  .search-header .title {
    margin-bottom: 20px;
  }
}
.search-header .inactive-btn {
  display: inline-block;
  width: 240px;
  position: relative;
  color: #fff;
  background-color: #4b4b4b;
  font-size: 12px;
  padding: 10px 30px;
  text-align: left;
  margin: 50px 15px;
}
@media screen and (max-width: 900px) {
  .search-header .inactive-btn {
    width: 60%;
    font-size: 16px;
    margin: 20px auto;
  }
}
.search-header .inactive-btn::after {
  content: "";
  position: absolute;
  width: 38px;
  height: 14px;
  top: 1em;
  right: 5%;
  background-image: url(./images/arrow4.png);
  background-size: cover;
}
.search-header .active-btn {
  display: inline-block;
  width: 240px;
  position: relative;
  color: #4b4b4b;
  background-color: #fcfcfc;
  border: 1px solid #7d7d7d;
  font-size: 12px;
  padding: 10px 30px;
  text-align: left;
  margin: 50px 15px;
}
@media screen and (max-width: 900px) {
  .search-header .active-btn {
    width: 60%;
    font-size: 16px;
    margin: 20px auto;
  }
}
.search-header .active-btn::after {
  content: "";
  position: absolute;
  width: 38px;
  height: 14px;
  top: 1em;
  right: 5%;
  background-image: url(./images/arrow5.png);
  background-size: cover;
}

#page-train-search .search-wrap {
  background-color: #f9f9f9;
  padding: 40px 40px 60px 60px;
}
@media screen and (max-width: 900px) {
  #page-train-search .search-wrap {
    margin-top: 40px;
  }
}
#page-train-search .search-wrap .search-wrap-inner {
  line-height: 2;
}
#page-train-search .search-wrap .search-wrap-inner .title {
  font-size: 20px;
  text-align: center;
  margin-bottom: 30px;
  font-family: "Noto Serif JP", serif;
}
#page-train-search .search-wrap .search-wrap-inner a {
  display: inline-block;
  color: #057ed3;
  font-size: 13px;
  margin-right: 2em;
}
#page-train-search .station-spots {
  position: relative;
  margin: 50px 30px 50px 50px;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots {
    margin: 50px 20px 0 20px;
  }
}
#page-train-search .station-spots .route {
  width: 6px;
  position: absolute;
  background-image: url(./images/route.png);
  background-repeat: repeat-y;
  top: 10px;
  bottom: 110px;
  left: 5px;
  z-index: 0;
}
#page-train-search .station-spots .station {
  position: relative;
  min-height: 120px;
  z-index: 5;
}
#page-train-search .station-spots .station .title-wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .title-wrap {
    justify-content: normal;
  }
}
#page-train-search .station-spots .station .title-wrap:before {
  content: "";
  width: 18px;
  height: 18px;
  margin-top: 8px;
  margin-left: -1px;
  background-image: url(./images/station_circle.png);
  background-size: cover;
}
#page-train-search .station-spots .station .title-wrap .title {
  display: flex;
  width: calc(100% - 90px - 18px - 1em);
  flex-wrap: wrap;
  margin-left: 1em;
  align-items: center;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .title-wrap .title {
    width: calc(100% - 90px - 18px - 10px);
    margin-left: 10px;
    margin-top: 5px;
  }
}
#page-train-search .station-spots .station .title-wrap .title .station-name {
  font-size: 18px;
  margin-right: 15px;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .title-wrap .title .station-name {
    font-size: 18px;
  }
}
#page-train-search .station-spots .station .title-wrap .title .furigana {
  font-size: 11px;
  margin-right: 15px;
  font-family: "Noto Serif JP", serif;
}
#page-train-search .station-spots .station .title-wrap .title .city {
  display: none;
  background-color: #e8e8e8;
  font-size: 12px;
  padding: 2px 20px;
  border-radius: 16px;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .title-wrap .title .city {
    padding: 2px 10px;
  }
}
#page-train-search .station-spots .station .title-wrap .btn {
  width: 50px;
  height: 18px;
  display: block;
  color: #e8e8e8;
  background-color: #4b4b4b;
  font-size: 12px;
  padding: 5px 10px 5px 30px;
}
#page-train-search .station-spots .station .title-wrap .btn::after {
  display: inline-block;
  content: "";
  width: 0.7em;
  height: 0.7em;
  margin-left: 10px;
  background-image: url(./images/arrow.png);
  background-size: cover;
}
#page-train-search .station-spots .station .recommendation {
  min-height: 300px;
  margin: 0 70px;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .recommendation {
    margin: 0 5% 0 15%;
  }
}
#page-train-search .station-spots .station .recommendation .title {
  font-size: 13px;
  margin: 20px 0 10px 0;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .recommendation .title {
    font-size: 14px;
    margin: 40px 0 20px 0;
  }
}
#page-train-search .station-spots .station .recommendation .spots {
  display: flex;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .recommendation .spots {
    flex-wrap: wrap;
  }
}
#page-train-search .station-spots .station .recommendation .spots article {
  width: 250px;
  margin-right: 30px;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .recommendation .spots article {
    width: 100%;
    margin-right: 0;
  }
}
#page-train-search .station-spots .station .recommendation .spots article .article-eye-catch img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 4/3;
}
#page-train-search .station-spots .station .recommendation .spots article .article-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  font-size: 13px;
  margin: 10px 5px;
}
@media screen and (max-width: 900px) {
  #page-train-search .station-spots .station .recommendation .spots article .article-title {
    margin: 15px 5px 40px;
    font-size: 14px;
  }
}

#page-tag-search .search-wrap {
  background-color: #f9f9f9;
  padding: 40px 40px 60px 60px;
  font-size: 13px;
}
@media screen and (max-width: 900px) {
  #page-tag-search .search-wrap {
    margin-top: 40px;
    padding: 10px 20px;
  }
}
#page-tag-search .search-wrap .title {
  text-align: center;
  font-size: 20px;
  margin-bottom: 40px;
  font-family: "Noto Serif JP", serif;
}
#page-tag-search .search-wrap .search-title {
  display: flex;
  width: 4.5em;
  height: 1.5em;
  border: 1px solid #000;
  background-color: #fff;
  margin-right: 1em;
  align-items: center;
  justify-content: center;
}
#page-tag-search .search-wrap .city-town-select {
  display: flex;
  margin-bottom: 20px;
}
#page-tag-search .search-wrap .city-town-select .city-town-radios {
  width: calc(100% - 20px - 60px);
  display: flex;
  flex-wrap: wrap;
}
#page-tag-search .search-wrap .city-town-select .city-town-radios .city-town-radio {
  margin: 0 25px 0 10px;
}
@media screen and (max-width: 900px) {
  #page-tag-search .search-wrap .city-town-select .city-town-radios .city-town-radio {
    width: 6em;
    margin: 0 10px 0 8px;
  }
}
#page-tag-search .search-wrap .city-town-select .city-town-radios .city-town-radio label {
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  #page-tag-search .search-wrap .city-town-select .city-town-radios .city-town-radio label {
    width: inherit;
  }
}
#page-tag-search .search-wrap .city-town-select .city-town-radios .city-town-radio label::before {
  display: inline-block;
  content: "";
  width: 14px;
  height: 14px;
  background-color: #fff;
  border: 1px solid #bdbdbd;
  border-radius: 50%;
  margin: 0 5px -2px 0;
}
#page-tag-search .search-wrap .city-town-select .city-town-radios .city-town-radio label:has(> .city-town-radiobutton:checked)::before {
  background-color: #4b4b4b;
  background-image: url(./images/check.png);
  background-size: 10px;
  background-repeat: no-repeat;
  background-position: 2px 4px;
}
#page-tag-search .search-wrap .city-town-select .city-town-radios .city-town-radio label .city-town-radiobutton {
  display: none;
}
#page-tag-search .search-wrap .tag-select {
  display: flex;
}
#page-tag-search .search-wrap .tag-select .tag-select-checks {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 20px - 60px);
}
#page-tag-search .search-wrap .tag-select .tag-select-checks .tag-select-check {
  margin: 0 10px 0 8px;
}
@media screen and (max-width: 900px) {
  #page-tag-search .search-wrap .tag-select .tag-select-checks .tag-select-check {
    width: 6em;
  }
}
#page-tag-search .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label {
  display: block;
  width: fit-content;
  padding: 2px 5px;
  margin-right: 15px;
  border-radius: 5px;
  transition: 0.3s;
  cursor: pointer;
  user-select: none;
}
@media screen and (max-width: 900px) {
  #page-tag-search .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label {
    margin-right: 0;
    margin-bottom: 5px;
  }
}
#page-tag-search .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label:has(+ .tag-select-checkbox:checked) {
  color: #fff;
  background-color: #4b4b4b;
}
#page-tag-search .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-checkbox {
  display: none;
}
#page-tag-search .search-wrap .btn-wrap {
  margin-top: 50px;
  text-align: center;
  font-size: 12px;
}
@media screen and (max-width: 900px) {
  #page-tag-search .search-wrap .btn-wrap {
    margin-bottom: 50px;
  }
}
#page-tag-search .search-wrap .btn-wrap .search-btn {
  width: 7em;
  height: 2.5em;
  line-height: 2.5;
  color: #fff;
  background-color: #4b4b4b;
  margin-right: 30px;
  border: unset;
  cursor: pointer;
  transition: 0.3s;
  font-size: 13px;
}
#page-tag-search .search-wrap .btn-wrap .search-btn:hover {
  opacity: 0.7;
}
#page-tag-search .search-wrap .btn-wrap .clear-btn {
  width: 7em;
  height: 2.5em;
  line-height: 2.5;
  color: #4b4b4b;
  background-color: #fff;
  border: 1px solid #bdbdbd;
  cursor: pointer;
  font-size: 13px;
}
#page-tag-search .search-wrap .btn-wrap .clear-btn:hover {
  opacity: 0.7;
}
#page-tag-search .spot-list {
  display: flex;
  font-size: 13px;
  flex-wrap: wrap;
  margin: 80px 0;
}
#page-tag-search .spot-list article {
  width: 320px;
  margin-right: 2%;
  margin-bottom: 50px;
}
@media screen and (max-width: 900px) {
  #page-tag-search .spot-list article {
    width: 100%;
    margin: 0 10%;
  }
}
#page-tag-search .spot-list article:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 900px) {
  #page-tag-search .spot-list article:nth-child(3n) {
    margin: 0 10%;
  }
}
#page-tag-search .spot-list article a {
  width: inherit;
  position: relative;
}
#page-tag-search .spot-list article a .article-eye-catch {
  width: inherit;
  margin-bottom: 8px;
}
#page-tag-search .spot-list article a .article-eye-catch img {
  width: inherit;
  height: 225px;
  object-fit: cover;
}
@media screen and (max-width: 900px) {
  #page-tag-search .spot-list article a .article-eye-catch img {
    height: auto;
  }
}
#page-tag-search .spot-list article a .article-title {
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  margin-bottom: 8px;
  text-align: left;
}
#page-tag-search .spot-list article a .article-introduction {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-align: left;
  font-size: 11px;
}
@media screen and (max-width: 900px) {
  #page-tag-search .spot-list article a .article-introduction {
    margin-bottom: 40px;
  }
}
#page-tag-search .spot-list .pagination {
  display: flex;
  width: 100%;
  margin: 100px 0;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 900px) {
  #page-tag-search .spot-list .pagination {
    margin: 50px 0;
  }
}
#page-tag-search .spot-list .pagination .page-numbers {
  padding: 10px 18px;
  margin: 10px;
  border: 1px solid #4b4b4b;
}
#page-tag-search .spot-list .pagination .page-numbers.current {
  color: #fff;
  background-color: #4b4b4b;
}

#page-photospot-search .photospot-header {
  width: 60%;
  margin: 100px auto;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .photospot-header {
    width: 80%;
    margin: 60px auto;
  }
}
#page-photospot-search .photospot-header img {
  width: 100%;
}
#page-photospot-search .photospot-header .header {
  width: 50%;
  margin: 0 auto 50px;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .photospot-header .header {
    width: 70%;
    margin: 0 auto 40px;
  }
}
#page-photospot-search .photospot-header .message {
  margin: 0 auto;
}
#page-photospot-search .search-wrap {
  background-color: #f9f9f9;
  padding: 40px 40px 60px 60px;
  font-size: 13px;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .search-wrap {
    margin-top: 40px;
    padding: 10px 10px;
  }
}
#page-photospot-search .search-wrap .search-title {
  display: flex;
  width: 4.5em;
  height: 1.5em;
  border: 1px solid #000;
  background-color: #fff;
  margin-right: 1em;
  align-items: center;
  justify-content: center;
}
#page-photospot-search .search-wrap .city-town-select {
  display: flex;
  margin-bottom: 20px;
}
#page-photospot-search .search-wrap .city-town-select .city-town-radios {
  width: calc(100% - 20px - 60px);
  display: flex;
  flex-wrap: wrap;
}
#page-photospot-search .search-wrap .city-town-select .city-town-radios .city-town-radio {
  margin: 0 25px 0 10px;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .search-wrap .city-town-select .city-town-radios .city-town-radio {
    width: 7em;
    margin: 0 10px 0 8px;
  }
}
#page-photospot-search .search-wrap .city-town-select .city-town-radios .city-town-radio label {
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .search-wrap .city-town-select .city-town-radios .city-town-radio label {
    width: inherit;
  }
}
#page-photospot-search .search-wrap .city-town-select .city-town-radios .city-town-radio label::before {
  display: inline-block;
  content: "";
  width: 14px;
  height: 14px;
  background-color: #fff;
  border: 1px solid #bdbdbd;
  border-radius: 50%;
  margin: 0 5px -2px 0;
}
#page-photospot-search .search-wrap .city-town-select .city-town-radios .city-town-radio label:has(> .city-town-radiobutton:checked)::before {
  background-color: #4b4b4b;
  background-image: url(./images/check.png);
  background-size: 10px;
  background-repeat: no-repeat;
  background-position: 2px 4px;
}
#page-photospot-search .search-wrap .city-town-select .city-town-radios .city-town-radio label .city-town-radiobutton {
  display: none;
}
#page-photospot-search .search-wrap .tag-select {
  display: flex;
}
#page-photospot-search .search-wrap .tag-select .tag-select-checks {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 20px - 60px);
}
#page-photospot-search .search-wrap .tag-select .tag-select-checks .tag-select-check {
  margin: 0 10px 0 8px;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .search-wrap .tag-select .tag-select-checks .tag-select-check {
    width: 7em;
  }
}
#page-photospot-search .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label {
  display: block;
  width: fit-content;
  padding: 2px 5px;
  margin-right: 15px;
  border-radius: 5px;
  transition: 0.3s;
  cursor: pointer;
  user-select: none;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label {
    margin-right: 0;
    margin-bottom: 5px;
  }
}
#page-photospot-search .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label:has(+ .tag-select-checkbox:checked) {
  color: #fff;
  background-color: #4b4b4b;
}
#page-photospot-search .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-checkbox {
  display: none;
}
#page-photospot-search .search-wrap .btn-wrap {
  margin-top: 50px;
  text-align: center;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .search-wrap .btn-wrap {
    margin-bottom: 50px;
  }
}
#page-photospot-search .search-wrap .btn-wrap .search-btn {
  width: 7em;
  height: 2.5em;
  line-height: 2.5;
  color: #fff;
  background-color: #4b4b4b;
  margin-right: 30px;
  border: unset;
  cursor: pointer;
  transition: 0.3s;
  font-size: 13px;
}
#page-photospot-search .search-wrap .btn-wrap .search-btn:hover {
  opacity: 0.7;
}
#page-photospot-search .search-wrap .btn-wrap .clear-btn {
  width: 7em;
  height: 2.5em;
  line-height: 2.5;
  color: #4b4b4b;
  background-color: #fff;
  border: 1px solid #bdbdbd;
  cursor: pointer;
  font-size: 13px;
}
#page-photospot-search .search-wrap .btn-wrap .clear-btn:hover {
  opacity: 0.7;
}
#page-photospot-search .spot-list {
  display: flex;
  font-size: 13px;
  flex-wrap: wrap;
  margin: 80px 0;
}
#page-photospot-search .spot-list article {
  width: 330px;
  margin-right: 5px;
  margin-bottom: 5px;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .spot-list article {
    width: calc(33.3vw - 16.6666666667px);
    height: calc(33.3vw - 16.6666666667px);
  }
}
#page-photospot-search .spot-list article:nth-child(3n) {
  margin-right: 0;
}
#page-photospot-search .spot-list article .article-eye-catch {
  width: inherit;
  height: inherit;
}
#page-photospot-search .spot-list article .article-eye-catch img {
  width: inherit;
  height: inherit;
  aspect-ratio: 1/1;
  object-fit: cover;
  vertical-align: middle;
}
#page-photospot-search .spot-list .pagination {
  display: flex;
  width: 100%;
  margin: 100px 0;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 900px) {
  #page-photospot-search .spot-list .pagination {
    margin: 50px 0;
  }
}
#page-photospot-search .spot-list .pagination .page-numbers {
  padding: 10px 18px;
  margin: 10px;
  border: 1px solid #4b4b4b;
}
#page-photospot-search .spot-list .pagination .page-numbers.current {
  color: #fff;
  background-color: #4b4b4b;
}

#page-contact {
  width: 800px;
}
@media screen and (max-width: 900px) {
  #page-contact {
    width: auto;
  }
}
#page-contact a {
  color: #057ed3;
}
#page-contact .contact-header {
  margin: 80px auto;
}
#page-contact .wrap {
  margin-bottom: 60px;
}
#page-contact .wrap .item {
  align-items: center;
  margin-bottom: 10px;
}
#page-contact .wrap .item .required {
  font-size: 13px;
  color: #ee4444;
  margin-left: 0.5em;
}
#page-contact input[type=text],
#page-contact input[type=email],
#page-contact textarea {
  width: 100%;
  border: 1px solid #4b4b4b;
  border-radius: 5px;
  padding: 1em 0.5em;
  box-sizing: border-box;
}
#page-contact .wpcf7-list-item:first-child {
  margin: 0;
}
#page-contact .wpcf7-form.sent .wpcf7-response-output {
  display: none;
}
#page-contact .wpcf7-form.invalid .wpcf7-response-output {
  border: none;
  color: #ee4444;
  padding-left: 0;
  margin-left: 0;
}
#page-contact .wpcf7-spinner {
  display: none;
}
#page-contact .sent-now {
  pointer-events: none;
  opacity: 0.3;
  cursor: auto;
}
#page-contact .recaptcha {
  margin: 50px auto;
  font-size: 12px;
}

#page-contact-thanks {
  width: 800px;
  margin: 60px auto;
}
@media screen and (max-width: 900px) {
  #page-contact-thanks {
    width: auto;
    margin: 60px 20px;
  }
}

#page-privacy {
  width: 800px;
  margin: 60px auto;
}
@media screen and (max-width: 900px) {
  #page-privacy {
    width: auto;
    margin: 60px 20px;
  }
}
#page-privacy .privacy-header {
  padding: 20px 20px;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: 500;
  background-color: #ececec;
}
#page-privacy .text {
  margin: 0 20px 100px 20px;
}
#page-privacy a {
  color: #057ed3;
}

#page-policy {
  width: 800px;
  margin: 60px auto;
}
@media screen and (max-width: 900px) {
  #page-policy {
    width: auto;
    margin: 60px 20px;
  }
}
#page-policy .policy-header {
  padding: 20px 20px;
  margin-bottom: 30px;
  font-size: 18px;
  font-weight: 500;
  background-color: #ececec;
}
#page-policy .policy-header-sub {
  padding: 10px 10px;
  margin-bottom: 30px;
  font-size: 18px;
  background-color: #ececec;
  border-bottom: 3px solid #1a7b96;
}
#page-policy .text {
  margin: 0 20px 100px 20px;
}
#page-policy a {
  color: #057ed3;
}

#page-time-table {
  width: 800px;
  margin: 60px auto;
}
@media screen and (max-width: 900px) {
  #page-time-table {
    width: auto;
    margin: 60px 20px;
  }
}
#page-time-table .text {
  font-size: 26px;
  text-align: center;
  margin: 50px 0;
}

#page-attractive .attractive-header {
  width: 60%;
  margin: 100px auto;
}
@media screen and (max-width: 900px) {
  #page-attractive .attractive-header {
    width: 80%;
    margin: 60px auto;
  }
}
#page-attractive .attractive-header img {
  width: 100%;
}
#page-attractive .attractive-header .header {
  width: 100%;
  margin: 0 auto 50px;
}
#page-attractive .attractive-header .message {
  margin: 0 auto;
}
#page-attractive .attractive-content .content {
  display: flex;
  margin-bottom: 50px;
}
@media screen and (max-width: 900px) {
  #page-attractive .attractive-content .content {
    flex-wrap: wrap;
  }
}
#page-attractive .attractive-content .content:nth-child(2n) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 900px) {
  #page-attractive .attractive-content .content:nth-child(2n) {
    flex-direction: row;
  }
}
#page-attractive .attractive-content .content .content-text {
  width: 46%;
  margin: 50px 2%;
}
@media screen and (max-width: 900px) {
  #page-attractive .attractive-content .content .content-text {
    width: 100%;
    margin: 50px 2% 25px;
  }
}
#page-attractive .attractive-content .content .content-text .content-text-header {
  font-size: 20px;
  text-decoration: underline;
  margin: 0 0 30px 0;
}
#page-attractive .attractive-content .content .content-text .content-text-detail {
  line-height: 2.2;
}
#page-attractive .attractive-content .content .content-img {
  width: 46%;
  margin: 0 2%;
}
#page-attractive .attractive-content .content .content-img img {
  width: 100%;
}
@media screen and (max-width: 900px) {
  #page-attractive .attractive-content .content .content-img {
    width: 100%;
  }
}

#page-news {
  width: 900px;
}
@media screen and (max-width: 900px) {
  #page-news {
    width: auto;
  }
}
#page-news .category-select {
  margin: 80px 0;
}
#page-news .category-select .menus {
  display: flex;
}
#page-news .category-select .menus .items {
  display: block;
  margin-left: 30px;
  text-underline-offset: 8px;
}
#page-news .articles {
  width: 100%;
}
#page-news .articles article {
  margin-bottom: 80px;
}
@media screen and (max-width: 900px) {
  #page-news .articles article {
    margin-bottom: 80px;
  }
}
#page-news .articles article a {
  display: flex;
  width: inherit;
  flex-wrap: wrap;
}
#page-news .articles article a .article-eye-catch {
  width: 400px;
  height: 300px;
}
@media screen and (max-width: 900px) {
  #page-news .articles article a .article-eye-catch {
    width: 70vw;
    height: 52.5vw;
    margin: 0 auto;
  }
}
#page-news .articles article a .article-eye-catch img {
  width: inherit;
  height: inherit;
  object-fit: cover;
}
#page-news .articles article a .article-information {
  position: relative;
  width: 450px;
  margin-left: 50px;
}
@media screen and (max-width: 900px) {
  #page-news .articles article a .article-information {
    width: 60vw;
    margin: 50px auto;
  }
}
#page-news .articles article a .article-information .article-date-category {
  display: flex;
  align-items: center;
  margin: 15px 0 40px;
}
@media screen and (max-width: 900px) {
  #page-news .articles article a .article-information .article-date-category {
    margin: 15px 0 25px;
  }
}
#page-news .articles article a .article-information .article-date-category .article-date {
  font-size: 14px;
}
#page-news .articles article a .article-information .article-date-category .article-category {
  height: 14px;
  line-height: 12px;
  background-color: #e8e8e8;
  text-align: center;
  padding: 1px 15px;
  border-radius: 15px;
  margin-left: 10px;
  font-size: 13px;
}
#page-news .articles article a .article-information .article-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-align: left;
  font-size: 14px;
  font-weight: 500;
}
#page-news .articles article a .article-information .right-arrow {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  position: absolute;
  bottom: 35px;
  right: 0;
}
@media screen and (max-width: 900px) {
  #page-news .articles article a .article-information .right-arrow {
    bottom: -60px;
  }
}
#page-news .articles article a .article-information .right-arrow img {
  width: 38px;
  margin-right: 1em;
}
#page-news .articles .pagination {
  display: flex;
  width: 100%;
  margin: 100px 0;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 900px) {
  #page-news .articles .pagination {
    margin: 50px 0;
  }
}
#page-news .articles .pagination .page-numbers {
  padding: 10px 18px;
  margin: 10px;
  border: 1px solid #4b4b4b;
}
#page-news .articles .pagination .page-numbers.current {
  color: #fff;
  background-color: #4b4b4b;
}

#page-plan {
  width: 900px;
}
@media screen and (max-width: 900px) {
  #page-plan {
    width: auto;
  }
}
#page-plan .search-wrap {
  background-color: #f9f9f9;
  padding: 40px 40px 60px 60px;
  font-size: 13px;
  margin: 40px 0;
}
@media screen and (max-width: 900px) {
  #page-plan .search-wrap {
    padding: 10px 10px;
  }
}
#page-plan .search-wrap .search-title {
  display: flex;
  width: 4.5em;
  height: 1.5em;
  border: 1px solid #000;
  background-color: #fff;
  margin-right: 1em;
  align-items: center;
  justify-content: center;
}
#page-plan .search-wrap .city-town-select {
  display: flex;
  margin-bottom: 20px;
}
#page-plan .search-wrap .city-town-select .city-town-radios {
  width: calc(100% - 20px - 60px);
  display: flex;
  flex-wrap: wrap;
}
#page-plan .search-wrap .city-town-select .city-town-radios .city-town-radio {
  margin: 0 25px 0 10px;
}
@media screen and (max-width: 900px) {
  #page-plan .search-wrap .city-town-select .city-town-radios .city-town-radio {
    width: 7em;
    margin: 0 10px 0 8px;
  }
}
#page-plan .search-wrap .city-town-select .city-town-radios .city-town-radio label {
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  #page-plan .search-wrap .city-town-select .city-town-radios .city-town-radio label {
    width: inherit;
  }
}
#page-plan .search-wrap .city-town-select .city-town-radios .city-town-radio label::before {
  display: inline-block;
  content: "";
  width: 14px;
  height: 14px;
  background-color: #fff;
  border: 1px solid #bdbdbd;
  border-radius: 50%;
  margin: 0 5px -2px 0;
}
#page-plan .search-wrap .city-town-select .city-town-radios .city-town-radio label:has(> .city-town-radiobutton:checked)::before {
  background-color: #4b4b4b;
  background-image: url(./images/check.png);
  background-size: 10px;
  background-repeat: no-repeat;
  background-position: 2px 4px;
}
#page-plan .search-wrap .city-town-select .city-town-radios .city-town-radio label .city-town-radiobutton {
  display: none;
}
#page-plan .search-wrap .tag-select {
  display: flex;
}
#page-plan .search-wrap .tag-select .tag-select-checks {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 20px - 60px);
}
#page-plan .search-wrap .tag-select .tag-select-checks .tag-select-check {
  margin: 0 10px 0 8px;
}
@media screen and (max-width: 900px) {
  #page-plan .search-wrap .tag-select .tag-select-checks .tag-select-check {
    width: 7em;
  }
}
#page-plan .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label {
  display: block;
  width: fit-content;
  padding: 2px 5px;
  margin-right: 15px;
  border-radius: 5px;
  transition: 0.3s;
  cursor: pointer;
  user-select: none;
}
@media screen and (max-width: 900px) {
  #page-plan .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label {
    margin-right: 0;
    margin-bottom: 5px;
  }
}
#page-plan .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-label:has(+ .tag-select-checkbox:checked) {
  color: #fff;
  background-color: #4b4b4b;
}
#page-plan .search-wrap .tag-select .tag-select-checks .tag-select-check .tag-select-checkbox {
  display: none;
}
#page-plan .search-wrap .btn-wrap {
  margin-top: 50px;
  text-align: center;
}
@media screen and (max-width: 900px) {
  #page-plan .search-wrap .btn-wrap {
    margin-bottom: 50px;
  }
}
#page-plan .search-wrap .btn-wrap .search-btn {
  width: 7em;
  height: 2.5em;
  line-height: 2.5;
  color: #fff;
  background-color: #4b4b4b;
  margin-right: 30px;
  border: unset;
  cursor: pointer;
  transition: 0.3s;
  font-size: 13px;
}
#page-plan .search-wrap .btn-wrap .search-btn:hover {
  opacity: 0.7;
}
#page-plan .search-wrap .btn-wrap .clear-btn {
  width: 7em;
  height: 2.5em;
  line-height: 2.5;
  color: #4b4b4b;
  background-color: #fff;
  border: 1px solid #bdbdbd;
  cursor: pointer;
  font-size: 13px;
}
#page-plan .search-wrap .btn-wrap .clear-btn:hover {
  opacity: 0.7;
}
#page-plan .articles {
  width: 100%;
}
#page-plan .articles article {
  margin-bottom: 80px;
}
@media screen and (max-width: 900px) {
  #page-plan .articles article {
    margin-bottom: 80px;
  }
}
#page-plan .articles article a {
  display: flex;
  width: inherit;
  flex-wrap: wrap;
}
#page-plan .articles article a .article-eye-catch {
  width: 400px;
  height: 300px;
}
@media screen and (max-width: 900px) {
  #page-plan .articles article a .article-eye-catch {
    width: 70vw;
    height: 52.5vw;
    margin: 0 auto;
  }
}
#page-plan .articles article a .article-eye-catch img {
  width: inherit;
  height: inherit;
  object-fit: cover;
}
#page-plan .articles article a .article-information {
  position: relative;
  width: 450px;
  margin-left: 50px;
}
@media screen and (max-width: 900px) {
  #page-plan .articles article a .article-information {
    width: 60vw;
    margin: 50px auto;
  }
}
#page-plan .articles article a .article-information .article-terms {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 15px 0 40px;
}
@media screen and (max-width: 900px) {
  #page-plan .articles article a .article-information .article-terms {
    margin: 15px 0 25px;
  }
}
#page-plan .articles article a .article-information .article-terms .article-city {
  font-size: 14px;
  margin-right: 10px;
}
#page-plan .articles article a .article-information .article-terms .article-city span:not(:first-child)::before {
  content: "・";
}
#page-plan .articles article a .article-information .article-terms .article-tag {
  font-size: 14px;
}
#page-plan .articles article a .article-information .article-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-align: left;
  font-size: 14px;
  font-weight: 500;
}
#page-plan .articles article a .article-information .article-overview {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-align: left;
  font-size: 13px;
  margin-top: 10px;
}
#page-plan .articles article a .article-information .right-arrow {
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  position: absolute;
  bottom: 35px;
  right: 0;
}
@media screen and (max-width: 900px) {
  #page-plan .articles article a .article-information .right-arrow {
    bottom: -60px;
  }
}
#page-plan .articles article a .article-information .right-arrow img {
  width: 38px;
  margin-right: 1em;
}
#page-plan .articles .pagination {
  display: flex;
  width: 100%;
  margin: 100px 0;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 900px) {
  #page-plan .articles .pagination {
    margin: 50px 0;
  }
}
#page-plan .articles .pagination .page-numbers {
  padding: 10px 18px;
  margin: 10px;
  border: 1px solid #4b4b4b;
}
#page-plan .articles .pagination .page-numbers.current {
  color: #fff;
  background-color: #4b4b4b;
}

.splide__pagination__page.is-active {
  background: #000;
}

.splide__slide {
  position: relative;
}

.splide__pagination {
  bottom: -1.5em;
}

.splide__pagination li {
  margin: 0 0.5em;
}

.splide__pagination__page {
  transform: scale(0.8);
}
.splide__pagination__page.is-active {
  transform: scale(0.8);
}

.modal .splide {
  position: static;
}
.modal .splide__arrow {
  width: 20px;
  height: 20px;
  opacity: 1;
  background-color: #fff;
  font-size: 10px;
}
.modal .splide__arrow:disabled {
  opacity: 0.3;
}
.modal .splide__arrow--prev {
  left: -4.6875vw;
}
@media screen and (max-width: 900px) {
  .modal .splide__arrow--prev {
    left: -8.8888888889vw;
  }
}
.modal .splide__arrow--next {
  right: -4.6875vw;
}
@media screen and (max-width: 900px) {
  .modal .splide__arrow--next {
    right: -8.8888888889vw;
  }
}
.modal .splide__track {
  width: 80vw;
  height: 85vh;
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal .splide__track::-webkit-scrollbar {
  display: none;
}
.modal .splide__list {
  max-height: inherit;
}
.modal .splide__slide {
  display: flex;
  max-height: inherit;
}
.modal .splide__slide .img-wrap {
  margin: auto;
  max-height: inherit;
}
.modal .splide__slide .img-wrap img {
  max-height: 75vh;
  max-width: 100%;
  width: auto;
}
.modal .splide__slide .img-wrap .information {
  width: 100%;
  display: block;
  margin-top: 1.5em;
  font-size: 13px;
}
.modal .splide__slide .img-wrap .information .tags {
  color: #fff;
}
.modal .splide__slide .img-wrap .information .tags span {
  margin-right: 1em;
}
.modal .splide__slide .img-wrap .information .explain {
  color: #fff;
}
.modal .splide__slide .img-wrap .information .url {
  display: block;
  color: #01a0e0;
}

.modal {
  position: relative;
  z-index: 100;
}

.modal-button {
  position: relative;
  width: inherit;
  height: inherit;
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  font-size: 0;
  line-height: 0;
  overflow: visible;
  cursor: pointer;
  transition: all 0.2s ease-out;
}

/**************************\
  Basic Modal Styles
\**************************/
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal__container {
  padding: 30px 0;
  max-width: 100vw;
  max-height: 100vh;
  border-radius: 4px;
  box-sizing: border-box;
}

.modal__header {
  display: flex;
  justify-content: end;
  align-items: center;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #00449e;
  box-sizing: border-box;
}

.modal__close {
  position: absolute;
  background: transparent;
  right: -5.2083333333vw;
  border: 0;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}
@media screen and (max-width: 900px) {
  .modal__close {
    right: -8.8888888889vw;
  }
}

.modal-button:hover {
  opacity: 0.8;
}

.modal__header .modal__close:before {
  content: "✕";
}

.modal__content {
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
  margin: 30px 0;
}

/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden=false] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

.spot-loading {
  display: none;
  margin: 0 auto;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  box-shadow: 0 -30px 0 #eee, 21px -21px 0 #ddd, 30px 0 0 #ccc, 21px 21px 0 #bbb, 0 30px 0 #aaa, -21px 21px 0 #999, -30px 0 0 #666, -21px -21px 0 #000; /* 左上 */
  animation: rotate 1s steps(8) 0s infinite;
}
.spot-loading.is-show {
  display: block;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes opacity {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes opacity30 {
  from {
    opacity: 0.3;
  }
  to {
    opacity: 1;
  }
}
@keyframes slide-right {
  from {
    right: -100%;
  }
  to {
    right: 0;
  }
}
@keyframes slide-left {
  from {
    left: -100%;
  }
  to {
    left: 0;
  }
}
.fade-in {
  opacity: 0;
  animation-name: opacity;
  animation-duration: 1s;
  animation-delay: 0.2s;
  animation-fill-mode: forwards;
}

.slide-overflow {
  overflow: hidden;
}

.slide-in-right .slide-img-right {
  animation-name: slide-right;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

.slide-img-right {
  position: relative;
  right: -100%;
}

.slide-in-left .slide-img-left {
  animation-name: slide-left;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

.slide-img-left {
  position: relative;
  left: -100%;
}

.top1 {
  opacity: 0;
  animation-name: opacity30;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}

.top2 {
  opacity: 0;
  animation-name: opacity;
  animation-duration: 2s;
  animation-delay: 1.5s;
  animation-fill-mode: forwards;
}

.zoom .zoom-div {
  overflow: hidden;
}
.zoom .zoom-div img {
  transition: 0.75s ease;
}
.zoom:hover {
  opacity: 1;
}
.zoom:hover .zoom-div img {
  transform: scale(1.15);
}

footer {
  position: relative;
  min-width: 900px;
}
footer.sub-footer {
  min-width: 1000px;
}
@media screen and (max-width: 900px) {
  footer.sub-footer {
    min-width: auto;
  }
}
@media screen and (max-width: 900px) {
  footer {
    min-width: auto;
  }
}
footer .footer-logo {
  color: #000;
  text-align: center;
  margin: 9.6354166667vw 0 8.3333333333vw;
}
@media screen and (max-width: 900px) {
  footer .footer-logo {
    margin: 22.7777777778vw 0 19.4444444444vw;
  }
}
footer .footer-logo .logo {
  width: 9.2708333333vw;
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  footer .footer-logo .logo {
    width: 25.5555555556vw;
  }
}
footer .footer-links {
  display: flex;
  font-size: 0.625vw;
  justify-content: center;
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 900px) {
  footer .footer-links {
    font-size: 2.4444444444vw;
    margin-bottom: 15.5555555556vw;
  }
}
footer .footer-links div + div {
  border-left: 1px solid #4b4b4b;
}
footer .footer-links .footer-link {
  padding: 0 1em;
}
footer .footer-information {
  display: flex;
  position: relative;
  width: 41.1458333333vw;
  margin: 0 auto;
  font-size: 0.6770833333vw;
  justify-content: space-between;
  letter-spacing: 0.25px;
}
@media screen and (max-width: 900px) {
  footer .footer-information {
    width: 71.8%;
    margin: 0 auto;
    flex-wrap: wrap;
    font-size: 2.5555555556vw;
  }
}
footer .footer-information .information-header {
  width: 100%;
  background-color: #e8e8e8;
  text-align: center;
  padding: 0.78125vw 0;
  margin-bottom: 10px;
}
@media screen and (max-width: 900px) {
  footer .footer-information .information-header {
    padding: 2.7777777778vw 0;
  }
}
footer .footer-information .content-margin {
  padding-left: 0.6770833333vw;
}
@media screen and (max-width: 900px) {
  footer .footer-information .content-margin {
    padding-left: 2.8888888889vw;
  }
}
footer .footer-information .left {
  width: 19.2708333333vw;
  font-size: 0.6770833333vw;
}
@media screen and (max-width: 900px) {
  footer .footer-information .left {
    width: 100%;
    font-size: 2.5555555556vw;
    margin-bottom: 16.6666666667vw;
    line-height: 4.4444444444vw;
  }
}
footer .footer-information .left .operation {
  font-size: 0.7291666667vw;
  margin: 1.0416666667vw 0;
  letter-spacing: 1px;
}
@media screen and (max-width: 900px) {
  footer .footer-information .left .operation {
    font-size: 2.6666666667vw;
    margin: 5vw 0;
    letter-spacing: 3px;
  }
}
footer .footer-information .left .secretariat {
  display: inline-block;
  border: 1px solid #4b4b4b;
  padding: 0 0.5208333333vw;
  margin-bottom: 5px;
}
@media screen and (max-width: 900px) {
  footer .footer-information .left .secretariat {
    padding: 0 2.2222222222vw;
  }
}
footer .footer-information .right {
  width: 19.2708333333vw;
}
@media screen and (max-width: 900px) {
  footer .footer-information .right {
    width: 100%;
  }
}
footer .footer-information .right .tourist-information {
  line-height: 1.5625vw;
  padding-top: 0.2604166667vw;
}
@media screen and (max-width: 900px) {
  footer .footer-information .right .tourist-information {
    line-height: 5.5555555556vw;
    padding-top: 3.8888888889vw;
  }
}
footer .footer-img {
  width: 100%;
  margin-top: -20px;
}
@media screen and (max-width: 900px) {
  footer .footer-img {
    margin-top: 27.7777777778vw;
  }
}
footer .copyright {
  position: absolute;
  width: 6.6145833333vw;
  right: 4.0625vw;
  bottom: 2.2916666667vw;
}
@media screen and (max-width: 900px) {
  footer .copyright {
    width: 18.8888888889vw;
    right: 5.1111111111vw;
    bottom: 4.7777777778vw;
  }
}
footer .copyright img {
  width: 100%;
}
