@charset "UTF-8";
header.page {
  padding: 25rem 0 150rem;
}
header.page.theme-1 {
  background: url("../images/bg-1.gif") no-repeat center;
  background-size: cover;
}
header.page.theme-2 {
  background: url("../images/bg-2.gif") no-repeat center;
  background-size: cover;
}
header.page.theme-3 {
  background: url("../images/bg-3.gif") no-repeat center;
  background-size: cover;
}
header.page .logo {
  width: 330rem;
  margin-left: 25rem;
}
header.page h1 {
  margin-top: 50rem;
  color: #fff;
  text-align: center;
  font-size: 52rem;
  letter-spacing: 0.02em;
  font-weight: 600;
  line-height: 1.55;
}
header.page dl.info {
  margin-top: 40rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
header.page dl.info.heritage-02 dd {
  width: auto;
  font-size: 26rem;
}
header.page dl.info dt {
  width: 140rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 26rem;
  color: #fff;
  border: 1px solid #fff;
}
header.page dl.info dd {
  color: #fff;
  width: auto;
  white-space: nowrap;
  margin: 0 30rem 0 20rem;
}

main.theme-1 .hstyle-page-primary {
  color: var(--color-theme-1);
}
main.theme-1 .hstyle-page-secondary .ja {
  color: var(--color-theme-1);
}
main.theme-1 section.spot span.num {
  color: var(--color-theme-1);
}
main.theme-1 .splide__pagination__page.is-active {
  background: var(--color-theme-1);
}
main.theme-1 section.guide {
  background: #f7f1e8;
}
main.theme-1 section.wrap-guide::before {
  background: var(--color-theme-1);
}
main.theme-1 section.wrap-guide::after {
  background: url("../images/arrow-gold.svg") no-repeat center;
  background-size: contain;
}
main.theme-1 section.wrap-guide .style-mark .mark {
  border: 1px solid var(--color-theme-1);
  color: var(--color-theme-1);
}
main.theme-1 section.wrap-guide .style-point .dott {
  border: 1px solid var(--color-theme-1);
}
main.theme-1 section.wrap-guide .style-spot .spot {
  background: var(--color-theme-1);
}
main.theme-1 section.wrap-guide .style-spot p {
  color: var(--color-theme-1);
}
main.theme-1 .area-spot-detail .btn-guide a {
  background: var(--color-theme-1);
}
main.theme-1 section.map .hstyle-page-secondary span.en {
  color: rgba(202, 165, 90, 0.1);
}
main.theme-1 section.other.theme-1 {
  background: #f7f1e8;
}
main.theme-2 .hstyle-page-primary {
  color: var(--color-theme-2);
}
main.theme-2 .hstyle-page-secondary .ja {
  color: var(--color-theme-2);
}
main.theme-2 section.spot span.num {
  color: var(--color-theme-2);
}
main.theme-2 .splide__pagination__page.is-active {
  background: var(--color-theme-2);
}
main.theme-2 section.guide {
  background: #e4f1f8;
}
main.theme-2 section.other.theme-2 {
  background: #e4f1f8;
}
main.theme-2 section.wrap-guide::before {
  background: var(--color-theme-2);
}
main.theme-2 section.wrap-guide::after {
  background: url("../images/arrow-theme2.svg") no-repeat center;
  background-size: contain;
}
main.theme-2 section.wrap-guide .style-mark .mark {
  border: 1px solid var(--color-theme-2);
  color: var(--color-theme-2);
}
main.theme-2 section.wrap-guide .style-point .dott {
  border: 1px solid var(--color-theme-2);
}
main.theme-2 section.wrap-guide .style-spot .spot {
  background: var(--color-theme-2);
}
main.theme-2 section.wrap-guide .style-spot p {
  color: var(--color-theme-2);
}
main.theme-2 .area-spot-detail .btn-guide a {
  background: var(--color-theme-2);
}
main.theme-2 section.map .hstyle-page-secondary span.en {
  color: rgba(57, 135, 179, 0.1);
}
main.theme-3 .hstyle-page-primary {
  color: var(--color-theme-3);
}
main.theme-3 .hstyle-page-secondary .ja {
  color: var(--color-theme-3);
}
main.theme-3 section.spot span.num {
  color: var(--color-theme-3);
}
main.theme-3 .splide__pagination__page.is-active {
  background: var(--color-theme-3);
}
main.theme-3 section.guide {
  background: #e7e2ed;
}
main.theme-3 section.other.theme-3 {
  background: #e7e2ed;
}
main.theme-3 section.wrap-guide::before {
  background: var(--color-theme-3);
}
main.theme-3 section.wrap-guide::after {
  background: url("../images/arrow-theme3.svg") no-repeat center;
  background-size: contain;
}
main.theme-3 section.wrap-guide .style-mark .mark {
  border: 1px solid var(--color-theme-3);
  color: var(--color-theme-3);
}
main.theme-3 section.wrap-guide .style-point .dott {
  border: 1px solid var(--color-theme-3);
}
main.theme-3 section.wrap-guide .style-spot .spot {
  background: var(--color-theme-3);
}
main.theme-3 section.wrap-guide .style-spot p {
  color: var(--color-theme-3);
}
main.theme-3 .area-spot-detail .btn-guide a {
  background: var(--color-theme-3);
}
main.theme-3 section.map .hstyle-page-secondary span.en {
  color: rgba(122, 95, 156, 0.1);
}

.hstyle-page-primary {
  font-size: 42rem;
  text-align: center;
  margin-bottom: 30rem;
  font-weight: 600;
}

.hstyle-page-secondary {
  margin-bottom: 70rem;
}
.hstyle-page-secondary span {
  display: block;
  text-align: center;
}
.hstyle-page-secondary .en {
  color: rgba(255, 255, 255, 0.6);
  font-family: var(--font-en);
  font-size: 100rem;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
  font-weight: 300;
}
.hstyle-page-secondary .ja {
  font-size: 50rem;
  line-height: 1;
  margin-top: -30rem;
  font-weight: 600;
  letter-spacing: 0.1em;
}

section.outline .first-image {
  width: 88%;
  margin: -80rem auto 0;
}
section.outline .first-image .ph img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 460rem;
  border-radius: 6px;
}
section.outline .first-image .map {
  width: 96%;
  margin: -124rem auto 0;
}
section.outline .tx-outline {
  width: 80%;
  margin: 60rem auto 0;
  line-height: 2.1;
}

section.spot {
  margin-top: 90rem;
}
section.spot .splide-spot .ph img {
  border-radius: 6px;
}
section.spot .splide-spot p.spot-name {
  padding-bottom: 80rem;
  margin-top: 20rem;
  margin-left: 20rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 60rem 10rem 1fr;
  grid-template-columns: 60rem 1fr;
  gap: 10rem;
}
section.spot .splide-spot p.spot-name span.num {
  font-family: var(--font-en);
  font-weight: 600;
  font-size: 44rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
section.spot .splide-spot p.spot-name span.name {
  padding-top: 3rem;
  font-size: 38rem;
  line-height: 1.5;
}

.splide__pagination {
  bottom: 0;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  height: 26rem;
  width: 26rem;
  margin: 13rem;
  opacity: 1;
}

.splide__pagination__page.is-active {
  -webkit-transform: scale(1);
          transform: scale(1);
}

section.guide {
  margin-top: 150rem;
  padding: 60rem 0 140rem;
}

section.wrap-guide {
  width: 96%;
  margin: 0 auto 10rem;
  padding-bottom: 50rem;
  position: relative;
}
section.wrap-guide.goal {
  margin-bottom: 0;
  padding-bottom: 0;
}
section.wrap-guide.goal::before, section.wrap-guide.goal::after {
  display: none;
}
section.wrap-guide::before {
  content: "";
  width: 1px;
  height: calc(100% - 4px);
  position: absolute;
  left: 70rem;
  top: 1px;
  z-index: 0;
}
section.wrap-guide::after {
  content: "";
  width: 16rem;
  height: 16rem;
  background: url("../images/arrow-gold.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  left: 63rem;
  bottom: 0;
  z-index: 0;
}
section.wrap-guide .style-mark {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
section.wrap-guide .style-mark .mark {
  margin-right: 20rem;
  width: 140rem;
  height: 60rem;
  border-radius: 30rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
  font-size: 26rem;
  font-weight: 600;
  font-family: var(--font-en);
}
section.wrap-guide .style-mark p {
  font-weight: 600;
  font-size: 36rem;
}
section.wrap-guide .style-point {
  margin-top: 70rem;
  position: relative;
  z-index: 1;
  margin-left: 63rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
section.wrap-guide .style-point .dott {
  width: 17rem;
  height: 17rem;
  background: #fff;
  border-radius: 50%;
  margin-right: 20rem;
  position: relative;
  top: 18rem;
}
section.wrap-guide .style-point .icon {
  width: 42rem;
  margin-right: 20rem;
  position: relative;
  top: 8rem;
}
section.wrap-guide .style-point p {
  font-size: 32rem;
  line-height: 1.6;
  margin-top: 2rem;
}
section.wrap-guide .style-point.no-dott {
  margin-top: 20rem;
}
section.wrap-guide .style-point.no-dott .space {
  width: 17rem;
  height: 17rem;
  margin-right: 20rem;
}
section.wrap-guide .style-spot {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
section.wrap-guide .style-spot .spot {
  margin-right: 25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 140rem;
  height: 140rem;
  border-radius: 50%;
  display: flex;
}
section.wrap-guide .style-spot .spot span {
  color: #fff;
  line-height: 1;
  font-family: var(--font-en);
}
section.wrap-guide .style-spot .spot span.small {
  font-size: 20rem;
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-bottom: 3rem;
}
section.wrap-guide .style-spot .spot span.large {
  font-size: 48rem;
  letter-spacing: 0.1em;
  font-weight: 600;
}
section.wrap-guide .style-spot p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 46rem;
  font-weight: 600;
  line-height: 1.3;
}

.area-spot-detail {
  margin-top: 30rem;
  background: #fff;
  width: 620rem;
  margin-left: auto;
  padding: 35rem;
  position: relative;
  bottom: -20px;
  opacity: 0;
  -webkit-transition: 0.6s ease-out;
  transition: 0.6s ease-out;
}
.area-spot-detail.active {
  bottom: 0;
  opacity: 1;
}
.area-spot-detail::after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(205, 205, 205, 0);
  border-top-width: 16px;
  border-bottom-width: 16px;
  border-left-width: 8px;
  border-right-width: 8px;
  border-bottom-color: #fff;
  bottom: 100%;
  left: 110rem;
}
.area-spot-detail .splide__pagination {
  bottom: 20rem;
}
.area-spot-detail .splide {
  padding-bottom: 100rem;
}
.area-spot-detail h3 {
  font-weight: 600;
  font-size: 36rem;
  padding: 20rem;
  margin-bottom: 20rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.area-spot-detail .desc {
  padding: 20rem;
}
.area-spot-detail .desc .info {
  margin-top: 50rem;
  display: -ms-grid;
  display: grid;
  gap: 25rem;
}
.area-spot-detail .desc .info p {
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.5;
  letter-spacing: 0;
  word-break: keep-all;
}
.area-spot-detail .desc .info .icon {
  width: auto;
  height: 42rem;
  margin-right: 20rem;
}
.area-spot-detail .btn-guide {
  margin-top: 40rem;
}
.area-spot-detail .btn-guide a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  height: 80rem;
  border-radius: 40rem;
  padding: 0 75rem 0 40rem;
  position: relative;
  font-size: 26rem;
  line-height: 1;
}
.area-spot-detail .btn-guide a::after {
  content: "";
  position: absolute;
  width: 13rem;
  height: 13rem;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  right: 30rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

section.map {
  margin-top: 100rem;
}
section.map p.first {
  width: 80%;
  margin: 0 auto;
}
section.map .map {
  margin-top: 60rem;
  overflow: hidden;
}
section.map iframe {
  margin-top: -140rem;
  width: 100%;
  height: 740rem;
}
section.map .btn-primary {
  margin-top: 60rem;
}

section.other {
  margin-top: 180rem;
  padding: 90rem 0 140rem;
}
section.other .hstyle-page-primary {
  margin-bottom: 60rem;
}
section.other .btn-primary {
  margin-top: 140rem;
}

/**********************************************************************

 * Media Query For PC

 ***********************************************************************/
@media print, screen and (min-width: 768px) {
  main.theme-1 .splide__arrow {
    border: 2px solid var(--color-theme-1);
  }
  main.theme-1 .splide__arrow::after {
    border-bottom: 2px solid var(--color-theme-1);
    border-right: 2px solid var(--color-theme-1);
  }
  main.theme-2 .splide__arrow {
    border: 2px solid var(--color-theme-2);
  }
  main.theme-2 .splide__arrow::after {
    border-bottom: 2px solid var(--color-theme-2);
    border-right: 2px solid var(--color-theme-2);
  }
  main.theme-3 .splide__arrow {
    border: 2px solid var(--color-theme-3);
  }
  main.theme-3 .splide__arrow::after {
    border-bottom: 2px solid var(--color-theme-3);
    border-right: 2px solid var(--color-theme-3);
  }
  header.page {
    padding: min(80px, 5.33vw) 0 min(140px, 9.33vw);
    position: relative;
  }
  header.page .logo {
    width: min(320px, 21.33vw);
    margin-left: 0;
    position: absolute;
    top: min(30px, 2vw);
    left: min(30px, 2vw);
  }
  header.page h1 {
    margin-top: min(50px, 3.33vw);
    font-size: min(52px, 3.47vw);
    letter-spacing: 0.08em;
  }
  header.page dl.info {
    margin-top: min(40px, 2.67vw);
    margin-left: min(50px, 3.33vw);
  }
  header.page dl.info.heritage-02 {
    margin: min(40px, 2.67vw) min(20px, 1.33vw) 0;
  }
  header.page dl.info.heritage-02 dd {
    font-size: min(22px, 1.47vw);
  }
  header.page dl.info dt {
    border: 2px solid #fff;
    width: min(140px, 9.33vw);
    font-size: min(18px, 1.2vw);
    height: min(38px, 2.53vw);
  }
  header.page dl.info dt span {
    position: relative;
    top: -1px;
  }
  header.page dl.info dd {
    font-size: min(22px, 1.47vw);
    width: auto;
    margin: 0 min(30px, 2vw) 0 min(20px, 1.33vw);
    line-height: 1.65;
  }
  .hstyle-page-primary {
    font-size: min(38px, 2.53vw);
    text-align: center;
    margin-bottom: min(30px, 2vw);
    font-weight: 600;
  }
  .hstyle-page-secondary {
    margin-bottom: min(90px, 6vw);
  }
  .hstyle-page-secondary span {
    display: block;
    text-align: center;
  }
  .hstyle-page-secondary .en {
    font-size: min(231px, 15.4vw);
    line-height: 0.7;
    letter-spacing: 0.08em;
    white-space: nowrap;
  }
  .hstyle-page-secondary .ja {
    font-size: min(50px, 3.33vw);
    line-height: 1;
    margin-top: min(-10px, -0.67vw);
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  section.outline {
    position: relative;
    z-index: 1;
  }
  section.outline .first-image {
    width: min(1155px, 77vw);
    margin: min(-50px, -3.33vw) auto 0;
    position: relative;
  }
  section.outline .first-image .ph {
    width: min(660px, 44vw);
  }
  section.outline .first-image .ph img {
    -o-object-fit: none;
    object-fit: none;
    height: auto;
    border-radius: 12px;
  }
  section.outline .first-image .map {
    width: min(572px, 38.13vw);
    position: absolute;
    right: 0;
    top: 0;
    margin: 0;
  }
  section.outline .tx-outline {
    font-size: min(22px, 1.47vw);
    text-align: center;
    margin: min(100px, 6.67vw) auto 0;
  }
  section.spot {
    margin: min(80px, 5.33vw) auto 0;
    width: min(1100px, 73.33vw);
  }
  section.spot .splide-spot .ph img {
    border-radius: 10px;
  }
  section.spot .splide-spot p.spot-name {
    padding-bottom: min(60px, 4vw);
    margin-top: min(20px, 1.33vw);
    margin-left: min(10px, 0.67vw);
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: min(40px, 2.67vw) min(10px, 0.67vw) 1fr;
    grid-template-columns: min(40px, 2.67vw) 1fr;
    gap: min(10px, 0.67vw);
  }
  section.spot .splide-spot p.spot-name span.num {
    font-family: var(--font-en);
    font-size: min(28px, 1.87vw);
    line-height: 1.4;
    letter-spacing: 0.1em;
  }
  section.spot .splide-spot p.spot-name span.name {
    padding-top: min(2px, 0.13vw);
    font-size: min(22px, 1.47vw);
  }
  .splide__arrow {
    background: #fff;
    opacity: 1;
    top: min(60px, 4vw);
    -webkit-transform: none;
            transform: none;
    width: min(60px, 4vw);
    height: min(60px, 4vw);
  }
  .splide__arrow::after {
    content: "";
    display: block;
    width: min(10px, 0.67vw);
    height: min(10px, 0.67vw);
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
  }
  .splide__arrow--next {
    right: min(-70px, -4.67vw);
    -webkit-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
  }
  .splide__arrow--next::after {
    left: 45%;
    -webkit-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
  }
  .splide__arrow--next:hover {
    -webkit-transform: scale(1.18);
            transform: scale(1.18);
  }
  .splide__arrow--prev {
    left: min(-70px, -4.67vw);
    -webkit-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
  }
  .splide__arrow--prev::after {
    left: 55%;
    -webkit-transform: translate(-50%, -50%) rotate(135deg);
            transform: translate(-50%, -50%) rotate(135deg);
  }
  .splide__arrow--prev:hover {
    -webkit-transform: scale(1.18);
            transform: scale(1.18);
  }
  .splide__pagination__page {
    height: min(14px, 0.93vw);
    width: min(14px, 0.93vw);
    margin: min(5px, 0.33vw);
  }
  .splide__pagination__page.is-active {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  section.guide {
    margin-top: min(80px, 5.33vw);
    padding: 0 0 min(180px, 12vw);
    overflow: hidden;
  }
  section.wrap-guide {
    width: min(1100px, 73.33vw);
    margin: 0 auto 5px;
    padding-bottom: min(50px, 3.33vw);
  }
  section.wrap-guide::before {
    left: min(70px, 4.67vw);
    width: 2px;
  }
  section.wrap-guide::after {
    content: "";
    width: min(16px, 1.07vw);
    height: min(16px, 1.07vw);
    position: absolute;
    left: min(63px, 4.2vw);
    z-index: 0;
  }
  section.wrap-guide .style-mark .mark {
    margin-right: min(27px, 1.8vw);
    width: min(140px, 9.33vw);
    height: min(60px, 4vw);
    border-radius: min(30px, 2vw);
    border-width: 2px !important;
    font-size: min(26px, 1.73vw);
  }
  section.wrap-guide .style-mark p {
    font-weight: bold;
    font-size: min(30px, 2vw);
  }
  section.wrap-guide .style-point {
    margin-top: min(50px, 3.33vw);
    position: relative;
    z-index: 1;
    margin-left: min(63px, 4.2vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  section.wrap-guide .style-point .dott {
    width: min(16px, 1.07vw);
    height: min(16px, 1.07vw);
    border-width: 2px !important;
    margin-right: min(30px, 2vw);
    top: min(14px, 0.93vw);
  }
  section.wrap-guide .style-point .icon {
    width: min(38px, 2.53vw);
    margin-right: min(20px, 1.33vw);
    top: min(6px, 0.4vw);
  }
  section.wrap-guide .style-point p {
    font-size: min(24px, 1.6vw);
    margin-top: min(5px, 0.33vw);
  }
  section.wrap-guide .style-point.no-dott {
    margin-top: min(20px, 1.33vw);
  }
  section.wrap-guide .style-point.no-dott .space {
    width: min(16px, 1.07vw);
    height: min(16px, 1.07vw);
    margin-right: min(30px, 2vw);
  }
  section.wrap-guide .style-spot .spot {
    margin-right: min(27px, 1.8vw);
    width: min(140px, 9.33vw);
    height: min(140px, 9.33vw);
  }
  section.wrap-guide .style-spot .spot span.small {
    font-size: min(20px, 1.33vw);
    margin-bottom: min(3px, 0.2vw);
  }
  section.wrap-guide .style-spot .spot span.large {
    font-size: min(48px, 3.2vw);
  }
  section.wrap-guide .style-spot p {
    font-size: min(40px, 2.67vw);
  }
  .area-spot-detail {
    margin-top: min(20px, 1.33vw);
    margin-bottom: min(70px, 4.67vw);
    width: min(985px, 65.67vw);
    padding: min(40px, 2.67vw) min(50px, 3.33vw) min(50px, 3.33vw) min(60px, 4vw);
    position: relative;
  }
  .area-spot-detail::after {
    border-top-width: min(36px, 2.4vw);
    border-bottom-width: min(36px, 2.4vw);
    border-left-width: min(17px, 1.13vw);
    border-right-width: min(17px, 1.13vw);
    left: min(80px, 5.33vw);
  }
  .area-spot-detail .splide__pagination {
    bottom: min(20px, 1.33vw);
  }
  .area-spot-detail h3 {
    font-weight: 600;
    font-size: min(30px, 2vw);
    padding: min(20px, 1.33vw) 0;
    margin-bottom: min(15px, 1vw);
  }
  .area-spot-detail .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .area-spot-detail .splide {
    width: min(440px, 29.33vw);
    padding-bottom: min(70px, 4.67vw);
    overflow: hidden;
  }
  .area-spot-detail .desc {
    position: relative;
    top: min(-6px, -0.4vw);
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin-right: min(35px, 2.33vw);
    padding: 0;
  }
  .area-spot-detail .desc .info {
    margin-top: min(40px, 2.67vw);
    display: -ms-grid;
    display: grid;
    gap: min(11px, 0.73vw);
  }
  .area-spot-detail .desc .info p {
    font-size: min(20px, 1.33vw);
  }
  .area-spot-detail .desc .info .icon {
    height: min(23px, 1.53vw);
    margin-right: min(12px, 0.8vw);
    margin-top: min(5px, 0.33vw);
  }
  .area-spot-detail .btn-guide {
    margin-top: min(25px, 1.67vw);
  }
  .area-spot-detail .btn-guide a {
    width: min(210px, 14vw);
    height: min(50px, 3.33vw);
    border-radius: min(40px, 2.67vw);
    padding: 0 min(35px, 2.33vw) 0 min(30px, 2vw);
    position: relative;
    font-size: min(18px, 1.2vw);
    line-height: 1;
    -webkit-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
  }
  .area-spot-detail .btn-guide a:hover {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
  .area-spot-detail .btn-guide a::after {
    content: "";
    position: absolute;
    width: min(9px, 0.6vw);
    height: min(9px, 0.6vw);
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    right: min(20px, 1.33vw);
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
            transform: translateY(-50%) rotate(-45deg);
  }
  section.map {
    margin-top: min(60px, 4vw);
  }
  section.map p.first {
    text-align: center;
  }
  section.map .map {
    margin-top: min(60px, 4vw);
    overflow: hidden;
  }
  section.map iframe {
    display: block;
    margin: -70px auto 0;
    width: min(1100px, 73.33vw);
    height: min(670px, 44.67vw);
  }
  section.map .btn-primary {
    margin-top: min(60px, 4vw);
  }
  section.other {
    margin-top: min(180px, 12vw);
    padding: min(90px, 6vw) 0 min(130px, 8.67vw);
  }
  section.other.theme-1 {
    background: #f7f1e8;
  }
  section.other .hstyle-page-primary {
    margin-bottom: min(60px, 4vw);
  }
  section.other .btn-primary {
    margin-top: min(120px, 8vw);
  }
}
@media screen and (min-width: 768px) and (max-width: 1690px) {
  .hstyle-page-secondary .en {
    font-size: min(218px, 14.53vw);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* タブレット専用のスタイル */
  section.spot {
    margin: min(90px, 5.63vw) auto 0;
    width: 80%;
  }
  .splide__arrow--next {
    right: min(-50px, -3.33vw);
  }
  .splide__arrow--prev {
    left: min(-50px, -3.33vw);
  }
  section.wrap-guide {
    width: 76%;
  }
  .area-spot-detail {
    width: 90%;
  }
  section.wrap-guide::after {
    content: "";
    width: 10px;
    height: 10px;
    left: min(63px, 3.94vw);
    bottom: min(-9px, -0.56vw);
    z-index: 0;
  }
}