@charset "UTF-8";

.main-scroll {
  margin-left: 28rem;
}

@keyframes overlayFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* モーダル本体は相対配置＆はみ出し禁止 */
.top__fv-modal {
  position: relative;
}

.top-page {
  position: relative;
  /* z-index: 10; */
}

.top__fv-img {
  position: relative;
}

.top__fv-txt {
  position: absolute;
  top: 20.6rem;
  left: 15.71rem;
  width: 26.89rem;
  z-index: 5;
}

.top__fv-modal {
  margin-top: -5rem;
  border-radius: 0 0 0 4rem;
  position: relative;
  margin-top: -22rem;
}

.top__fv-modal .modal-content {
  position: absolute;
  z-index: 99;
  top: 22rem;
  display: flex;
  gap: 4rem;
}

.top__fv-modal .modal-content>img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 36.58rem;
  margin-right: 6.5rem;
  margin-left: 6.5rem;
}

.top__fv-modal .modal__box {
  width: 30rem;
  position: relative;
  border-radius: 1rem;
  aspect-ratio: 3/2;
  flex-shrink: 0;
  overflow: hidden;
}

.top__fv-modal .modal__box>img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  transition: all 0.3s ease;
}

.top__fv-modal .modal__box:hover img {
  transform: scale(1.1);
  transition: all 0.3s ease;
}

.top__fv-modal .modal__box:hover button.open-modal {
  transform: rotate(90deg);
  transition: all 0.3s ease;
}

.top__fv-modal .modal__box button.open-modal {
  transform: rotate(0deg);
  font-weight: bold;
  transition: all 0.3s ease;
  color: #1082B0;
}

.top__fv-modal .modal__txt {
  position: absolute;
  bottom: 0;
  background-color: #FFF;
  width: 100%;
  height: 4.4rem;
  border-radius: 0 0 1rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2rem 0 1.5rem;
  color: #1082B0;
  font-weight: bold;
}

.tingle-modal {
  background-color: rgba(204, 204, 204, 0.6);
  overflow-y: scroll;
}

.custom-modal .tingle-modal-box {
  border-radius: 1rem;
  max-width: 100rem;
  margin-top: 10rem;
  margin-bottom: 10rem;
}

.custom-modal .tingle-modal-box__content {
  padding: 0;
}

/* モーダル全体の余白調整 */
.custom-modal .modal-content {
  width: 100%;
}

/* ヘッダー */
.custom-modal .mc-header {
  background-color: #0F5D9D;
  color: white;
  display: flex;
  padding: 4.2rem 0rem 0 4rem;
  position: relative;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-radius: 1rem 1rem 0 0;
  min-height: 12rem;
}

.custom-modal .mc-title {
  flex: 1;
  margin: 0;
  font-size: 3.2rem;
  font-weight: bold;
}

.custom-modal .mc-title span {
  font-size: 1.6rem;
  font-weight: normal;
}

.custom-modal .mc-nav {
  display: flex;
  gap: 1.5rem;
  margin-right: 15.3rem;
}

.custom-modal .mc-nav button {
  background: none;
  border: 1px solid white;
  border-radius: 50%;
  width: 5rem;
  height: 5rem;
  color: white;
  font-size: 3.2rem;
  display: flex;
  justify-content: center;
  cursor: pointer;
}

.custom-modal .mc-close {
  position: absolute;
  top: 4.2rem;
  right: 4rem;
  background: none;
  font-size: 2rem;
  color: white;
  cursor: pointer;
  border: 1px solid white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
}

.custom-modal .mc-close::after {
  content: "";
  position: absolute;
  height: 3rem;
  width: 0.1rem;
  background-color: #CCCCCC;
  top: 1.05rem;
  left: -2.4rem;
}

/* 本文エリア */
.custom-modal .mc-body {
  padding: 4rem;
}

.custom-modal .mc-intro,
.custom-modal .mc-image {
  width: 50%;
}

.custom-modal .mc-intro {
  float: left;
  font-size: 1.6rem;
  line-height: 2.1875em;
}

.custom-modal .mc-intro .annotation {
  color: #EA5B13;
  margin-top: 2rem;
  font-weight: bold;
}

.custom-modal .mc-intro .asset__btn-01 {
  margin-top: 2rem;
  max-height: 7rem;
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  margin-bottom: 4rem;
}

.custom-modal .mc-image {
  float: right;
  text-align: right;
  width: 28rem;
  aspect-ratio: 28/15;
}

.custom-modal .mc-image img {
  width: 100%;
  height: 100%;
}

.custom-modal .mc-image img {
  max-width: 100%;
  display: block;
  border-radius: 4px;
  margin-bottom: 4rem;
}

/* 区切り線 */
.custom-modal .mc-divider {
  border: none;
  border-top: 1px solid #CCCCCC;
  margin: 3rem 0 4rem;
  clear: both;
  display: block;
}

/* ポイント一覧 */
.custom-modal .mc-points h3 {
  margin-bottom: 0.75rem;
  font-size: 2rem;
  font-weight: bold;
}

.custom-modal .mc-points ol {
  display: grid;
  gap: 2.5rem;
  margin-top: 2rem;
}

.custom-modal .mc-points li {
  margin-bottom: 0.5rem;
  position: relative;
  padding-left: 4rem;
  font-size: 1.6rem;
}

.custom-modal .mc-points li::before {
  content: counter(li);
  counter-increment: li;
  position: absolute;
  left: 0;
  background: #0F5D9D;
  color: white;
  width: 2.5rem;
  height: 2.5rem;
  line-height: 2em;
  text-align: center;
  border-radius: 50%;
  font-size: 1.3rem;
}

.custom-modal .mc-points ol {
  counter-reset: li;
}

.ttl__asset01 {
  display: flex;
  gap: 2rem;
}

.ttl__asset01 img {
  width: 5.1rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.ttl__asset01 h3 {
  font-size: 3.2rem;
  font-weight: bold;
}

.ttl__asset02 {
  display: grid;
  justify-content: center;
  gap: 1rem;
  text-align: center;
  justify-items: center;
}

.ttl__asset02 img {
  width: 5.1rem;
}

.ttl__asset02 h3 {
  font-size: 3.2rem;
  font-weight: bold;
}

.latest-information {
  background-color: #ffffff;
  padding: 8rem 8rem;
  margin-top: 16rem;
}

.latest-information__container {
  width: 100%;
  margin-top: 4rem;
  position: relative;
  z-index: 25;
}

.notice {
  margin: 0 8rem;
  padding-top: 16rem;
}

.notice__container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6.5rem;
  margin-top: 4rem;
}

.notice__item {
  position: relative;
  transition: 0.3s all ease-in-out;
  z-index: 24;
}

.notice__item * {
  transition: all 0.3s ease-in-out;
}

.notice__item:hover .notice__img {
  border: solid #EA5B13 0.1rem;
}

.notice__item:hover .notice__txt h4 {
  color: #EA5B13;
}

.notice__item:hover .notice__data .category {
  background-color: #EA5B13;
  color: #ffffff;
  font-weight: bold;
}

.notice__item-link {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.notice__img {
  aspect-ratio: 450/226;
  border-radius: 1rem;
  border: 0.1rem solid #CCCCCC;
}

.notice__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 1rem;

}

.notice__data {
  position: relative;
  align-items: center;
  display: flex;
  padding: 2.3rem 0 3rem;
  gap: 3rem;
}

.notice__data .date {
  font-size: 1.8rem;
  font-weight: bold;
}

.notice__data .category {
  font-size: 1.6rem;
  color: #EA5B13;
  border: #EA5B13 solid 0.1rem;
  padding: 0.5rem 1.5rem;
  border-radius: 0.5rem;
}

.notice__data::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #CCCCCC;
}

.notice__txt {
  padding: 2rem 0;
}

.notice__txt h4 {
  font-size: 1.8rem;
}

.notice__txt p {
  font-size: 1.6rem;
  line-height: 1.875em;
  margin-top: 1rem;
}

.notice .asset__btn-01 {
  margin-left: auto;
}

.top-swiper {
  width: 100%;
  margin-top: 16.6rem;
  max-height: 82.4rem;
  position: relative;
  z-index: 22;
}

.top-swiper img {
  width: 100.1%;
}

.top-swiper .swiper-wrapper {
  transition-timing-function: linear;
}

/* 波形マスクを全面にフィットさせる */
.top-swiper .masked-slider {
  mask-image: url("../img/mask.svg");
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: 100%;
  /* Chrome, Safari用 */
  -webkit-mask-image: url("../img/mask.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  -webkit-mask-size: 100%;
}

.top-tour {
  margin: 16rem 8rem 0;
}

.top-tour__container {
  position: relative;

  z-index: 1;
}

.top-tour__h3 {
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}

.top-tour__h3 .cEA5B13 {
  color: #EA5B13;
}

.top-tour__h3 .c137C2A {
  color: #137C2A;
}

.tour__box-arrow {
  position: absolute;
  border-radius: 50%;
  background-color: #EA5B13;
  width: 3rem;
  aspect-ratio: 1/1;
  transform: translate(0%, -50%);
  top: 50%;
  right: 4rem;
  transition: all 0.3s ease;
}

.tour__box-arrow .arrow {
  position: relative;
  width: 3rem;
  aspect-ratio: 1/1;
  margin: auto;
  display: grid;
  align-items: center;
  justify-content: center;
}

.tour__box-arrow .arrow img {
  width: 1.4rem;
  transition: all 0.3s ease;
  filter: invert(98%) sepia(1%) saturate(2%) hue-rotate(51deg) brightness(109%) contrast(100%);
}

.tour__box-tab {
  display: flex;
  gap: 4rem;
  margin-top: 10rem;
}

.tour__box-tab button {
  width: 100%;
  color: #EA5B13;
  font-size: 2rem;
  font-weight: bold;
  border: #EA5B13 solid 0.1rem;
  border-radius: 1rem 1rem 0 0;
  padding: 2.2rem 4rem;
  position: relative;
}

.tour__box-tab button.active {
  background-color: #EA5B13;
  color: #FFF;
  border: none;
}

.tour__box-tab button.active .tour__box-arrow {
  position: absolute;
  border-radius: 50%;
  background-color: #FFF;
  width: 3rem;
  aspect-ratio: 1/1;
  transform: translate(0%, -50%);
  top: 50%;
  right: 4rem;
}

.tour__box-tab button.active .tour__box-arrow .arrow {
  position: relative;
  width: 3rem;
  aspect-ratio: 1/1;
  margin: auto;
  display: grid;
  align-items: center;
  justify-content: center;
}

.tour__box-tab button.active .tour__box-arrow .arrow img {
  width: 1.4rem;
  filter: invert(33%) sepia(83%) saturate(1301%) hue-rotate(355deg) brightness(105%) contrast(93%);
}

.tour__box-contents .content {
  position: relative;
  display: none;
  transition: 0.3s all ease-in-out;
  border-radius: 0 0 1rem 1rem;
  background-color: #FFFFFF;
  margin: 2rem;
  grid-template-columns: 1fr 68rem;
}

.tour__box-contents .content.active {
  transition: 0.3s all ease-in-out;
  display: grid;
}

.top-page .tour__box-map {
  border-right: #CCCCCC solid 1px;
}

.tour__box-contents .content::after {
  content: "";
  position: absolute;
  inset: 0;
  margin-left: -2rem;
  margin-top: -2rem;
  width: calc(100% + 4rem);
  height: calc(100% + 4rem);
  background-color: #EA5B13;
  z-index: -1;
  border-radius: 0 0 1rem 1rem;
}

.tour__box-img {
  aspect-ratio: 658/350;
  width: auto;
}

.tour__box-txt {
  padding: 3rem 4rem 0;
}

.tour__box-place {
  color: #52453E;
  padding-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  padding-bottom: 2rem;
  margin-bottom: 4rem;
}

.tour__box-place::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1rem;
  background-color: #CCCCCC;
  bottom: 0;
  left: 0;
}

.tour__box--tour-name {
  display: flex;
  align-items: center;
  color: #EA5B13;
  margin-bottom: 3rem;
  gap: 2rem;
}

.tour__box--tour-name h4 {
  font-size: 2.4rem;
  font-weight: bold;
}

.tour__box--tour-name .category {
  font-size: 1.6rem;
  border: #EA5B13 0.1rem solid;
  border-radius: 0.5rem;
  padding: 0.5rem 1.5rem;
  font-weight: bold;
}

.tour__box-com {
  margin-bottom: 4rem;
  font-size: 1.6rem;
  line-height: 1.875em;
}

.tour__box-com span {
  color: #EA5B13;
  display: inline-block;
}

.tour__box.green .tour__box-tab button.active,
.tour__box.green .tour__box-contents .content::after,
.tour__box.green .tour__box-arrow {
  background-color: #137C2A;
}

.tour__box.green .tour__box-tab button.active .tour__box-arrow .arrow img {
  filter: invert(13%) sepia(100%) saturate(5381%) hue-rotate(149deg) brightness(95%) contrast(85%);
}

.tour__box.green .tour__box-tab button {
  color: #137C2A;
  border: #137C2A solid 0.1rem;
  background-color: #FFF;
}

.tour__box.green .tour__box-tab button.active {
  color: #FFF;
}

.tour__box.green .tour__box--tour-name {
  color: #137C2A;
}

.tour__box.green .tour__box--tour-name .category {
  border: #137C2A solid 0.1rem;
}

.about-tour {
  margin-top: 19rem;
}

.top-page .about-tour .ttl__asset01 {
  margin: 0 8rem 0rem;
  position: relative;
  z-index: 2;
}

.about-tour__container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
  padding: 6rem 8rem 0;
  position: relative;
}

.about-tour__box {
  transition: all 0.3s ease-in-out;
  position: relative;
  overflow: hidden;
  z-index: 23;
}

.about-tour__box::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  inset: 0;
  transition: all 0.3s ease-in-out;
  background-color: #FFFFFF;
  opacity: 0.2;
}

.about-tour__box:hover::after {
  transition: all 0.3s ease-in-out;
  opacity: 0.1;
}

.about-tour__box:hover .asset__btn-shape {
  box-shadow: inset 0 0 0 0.3rem #145D99;
  transition: all 0.3s ease;
}

.about-tour__box:hover .asset__btn-shape::after {
  width: 3.4rem;
}

.about-tour__box:hover .asset__btn-shape::before {
  opacity: 1;
}

.about-tour__box:hover .about-tour__img {
  transform: scale(1.1);
}

.about-tour__link {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.about-tour__img {
  display: block;
  position: relative;
  aspect-ratio: 480/563;
  z-index: 0;
  transition: all 0.3s ease;
}

.about-tour__txt {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  border-top: #FFFFFE solid 0.1rem;
  color: #FFFFFF;
  display: flex;
  gap: 1rem;
  align-items: center;
  padding: 3.5rem 0 3.9rem 4.15rem;
}

.about-tour__txt p.num {
  font-size: 1.6rem;
  font-family: "Outfit";
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.about-tour__txt p.num::after {
  content: "";
  display: block;
  width: 2rem;
  height: 0.1rem;
  background-color: #FFF;
}

.about-tour__txt p.ttl {
  font-size: 1.8rem;
  font-weight: bold;
}

.about-tour__btn {
  position: absolute;
  padding: 0 4rem 3rem 0;
  right: 0;
  bottom: 0;
}

.top__info {
  margin: 0 8rem;
  margin-top: 9.4rem;
  margin-bottom: 16rem;
}

.top__info .asset__h3 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.top__info-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
  margin-top: 8rem;
}

.top__info-box {
  display: grid;
  grid-template-columns: 28rem 1fr;
  position: relative;
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  border: solid 0.1rem #C7C0C0;
  z-index: 1;
}

.top__info-box:hover::after {
  transition: all 0.3s ease-in-out;
  opacity: 0.1;
}

.top__info-box:hover .asset__btn-shape {
  box-shadow: inset 0 0 0 0.3rem #145D99;
  transition: all 0.3s ease;
}

.top__info-box:hover .asset__btn-shape::after {
  width: 3.4rem;
}

.top__info-box:hover .asset__btn-shape::before {
  opacity: 1;
}

.top__info-box:hover .top__info-svg {
  opacity: 0.1;
}

.top__info-box:hover .top__info-img img {
  transform: scale(1.1);
}

.top__info-link {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.top__info-img {
  aspect-ratio: 1/1;
  overflow: hidden;
}

.top__info-img img {
  width: 100%;
  transition: all 0.3s ease;
  aspect-ratio: 1/1;
}

.top__info-txt {
  padding: 4rem 4rem 0 3rem;
}

.top__info-txt h4 {
  font-size: 1.8rem;
  font-weight: bold;
}

.top__info-txt p {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  line-height: 1.875em;
}

.top__info-btn {
  position: absolute;
  width: 3rem;
  aspect-ratio: 1/1;
  right: 1rem;
  bottom: 1rem;
}

.top__info-svg {
  position: absolute;
  bottom: 1.2rem;
  right: 4.04rem;
  width: 11.265rem;
  opacity: 0.05;
  transition: all 0.3s ease;
}

.contact-banner {
  position: relative;
  margin: 0 4rem;
  z-index: 1;
}

.contact-banner__box {
  position: absolute;
  top: 6.7rem;
  left: 50%;
  transform: translateX(-50%);
  width: 124.7rem;
  color: #FCFCFC;
}

.contact-banner__flex {
  grid-template-columns: 1fr 1fr;
  display: grid;
  width: 124.7rem;
  gap: 16rem;
}

.contact-banner__flex::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0.1rem;
  height: 22.7rem;
  background-color: #F5F5F5;
}

.contact-banner__num {
  font-size: 4.8rem;
}

.contact-banner__num img {
  width: 4.394rem;
}

.contact-banner__num a {
  font-weight: bold;
  font-family: "Outfit";
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  display: flex;
  align-items: center;
  line-height: 1.34em;
  gap: 1rem;
}

.contact-banner__num p.or {
  font-family: "Outfit";
  font-size: 2.4rem;
  text-align: center;
}

.contact-banner__num--txt {
  text-align: center;
  margin-top: 1.6rem;
}

.contact-banner__txt {
  font-size: 1.6rem;
  line-height: 1.875em;
  margin-top: 2rem;
}

.contact-banner__rzb {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
}

.contact-banner__rzb .asset__btn-01 {
  color: #353636;
  margin-top: 4rem;
  align-self: center;
  justify-self: center;
}

.contact-banner__exp {
  font-size: 1.6rem;
  line-height: 1.875em;
  width: fit-content;
  margin: 2rem auto 0;
}

.bottom__link {
  margin: 0 8rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8rem;
  margin-top: 16rem;
  position: relative;
  z-index: 1;
}

.bottom__link .ttl__asset01 img {
  -o-object-fit: contain;
  object-fit: contain;
}

.bottom__link h4 {
  font-size: 2.4rem;
  font-weight: bold;
}

.bottom__link-img {
  margin-top: 4rem;
  border-radius: 0.5rem;
  border: solid 0.1rem #CCCCCC;
  position: relative;
}

.bottom__link-img img {
  width: 100%;
  aspect-ratio: 700/280;
}

.bottom__link-img-txt {
  position: absolute;
  top: 1.1rem;
  right: 1.1rem;
  background-color: #FFF;
  color: #EA5B13;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 2rem;
  border-radius: .4rem;
}

.bottom__link-txt {
  font-size: 1.6rem;
  line-height: 1.875em;
  margin-top: 2rem;
}

.bottom__link-btn {
  margin-top: 4rem;
}

.bottom__link::after {
  content: "";
  position: absolute;
  top: 7rem;
  left: 50%;
  transform: translateX(-50%);
  width: 0.1rem;
  height: calc(100% - 18rem);
  background-color: #CCCCCC;
}

/* —————————装飾パターン——— */
.decorative-patterns {
  position: absolute;
  /* 画面基準で動かしたい場合 */
  inset: 0;
  /* top/right/bottom/left:0 */
  pointer-events: none;
  /* 装飾がクリックを邪魔しない */
}

.decorative-patterns .pattern {
  transition: all 1s ease-out;
  position: absolute;
  top: var(--y);
  left: var(--x);
  width: var(--size);
  height: auto;
  /* アスペクト比を維持 */
  /* transform: translate(-50%, -50%) rotate(var(--rotation, 0deg)); */
  opacity: var(--opacity, 1);
}

@media screen and (max-width: 1024px) {
  .decorative-patterns .pattern.pr01 {
    width: 9.3rem;
    left: 65%;
    top: 123.4rem;
  }

  .decorative-patterns .pattern.pr02 {
    width: 12.777rem;
    left: 75%;
    top: 139.7rem;
  }

  .decorative-patterns .pattern.pr03 {
    width: 30.794rem;
    left: -28%;
    top: 13%;
  }

  .decorative-patterns .pattern.pr04 {
    display: none;
  }

  .decorative-patterns .pattern.pr05 {
    display: none;
  }

  .decorative-patterns .pattern.pr06 {
    width: 43.191rem;
    left: -61%;
    top: 25%;
  }

  .decorative-patterns .pattern.pr07 {
    width: 24.657rem;
    left: 58%;
    top: 54.4%;
  }
}

/* —————————ここまで——— */
@media screen and (max-width: 1024px) {
  .main-scroll {
    margin-left: 0;
  }

  .notice {
    margin: 0 2rem;
  }
}

.notice__slider {
  display: none;
}

@media screen and (max-width: 1024px) {

  /* グリッドを隠す */
  .notice .ttl__asset02 {
    justify-content: left;
    position: relative;
    z-index: 24;
  }

  .notice__img {
    aspect-ratio: 350/226;
    border-radius: 0.5rem;
  }

  .notice .notice__data {
    padding: 2rem 0 1rem;
  }

  .notice .notice__data .date {
    font-size: 1.6rem;
  }

  .notice .notice__data .category {
    font-size: 1.4rem;
    font-weight: bold;
    padding: 0.5rem 1.5rem;
  }

  .notice .notice__txt h4 {
    font-size: 1.6rem;
  }

  .notice .notice__txt p {
    font-size: 1.4rem;
    line-height: 2.14em;
  }

  .notice .asset__btn-01 {
    /* margin-left: 0; */
  }

  .notice__grid {
    display: none;
  }

  /* スライダーを表示 */
  .notice__slider {
    display: block;
    position: relative;
    padding-top: 2rem;
    z-index: 40;
  }

  /* Swiper 基本構造 */
  .notice__slider .swiper-wrapper {
    display: flex;
  }

  .notice__slider .swiper-slide {
    flex: 0 0 100%;
    /* １枚ずつ */
    box-sizing: border-box;
  }

  /* ナビボタン */
  .notice-swiper-prev,
  .notice-swiper-next {
    display: block;
    position: absolute;
    top: -3%;
    transform: translateY(-50%);
    width: 5rem;
    height: 3.2rem;
    background-color: #145D99;
    color: #FFF;
    border-radius: 0.5rem;
    font-size: 3rem;
    /* 20px */
    text-align: center;
    z-index: 10;
    display: flex;
    line-height: 0.85em;
    justify-content: center;
  }

  .notice-swiper-prev {
    right: 7rem;
  }

  .notice-swiper-next {
    right: 0rem;
  }

  /* 下の「詳しく見る」ボタン（PCと同じ仕様） */
  .top-swiper {
    margin-top: 1.6rem;
  }

  .about-tour {
    margin: 8rem 2rem 0;
  }

  .about-tour__container {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 0;
    margin-top: 4rem;
  }

  .about-tour__img {
    aspect-ratio: 351/400;
    width: 100%;
  }

  .about-tour__txt {
    padding: 1.8rem 2rem;
  }

  .about-tour__txt h4 {
    font-size: 1.6rem;
  }

  .about-tour__txt p.ttl {
    font-size: 1.6rem;
  }

  .about-tour__btn {
    padding: 0 2.1rem 1.3rem 0;
  }

  .about-tour .asset__btn-02 {
    width: 3rem;
  }

  .about-tour .asset__btn-02 .asset__btn-shape {
    width: 3rem;
    box-shadow: inset 0 0 0 1.2rem #145D99;
  }

  .about-tour .about-tour__box:hover .asset__btn-shape {
    box-shadow: inset 0 0 0 0.3rem #145D99;
  }

  .about-tour .asset__btn-02 .asset__btn-shape::before {
    width: 1rem;
  }

  .top-tour {
    margin: 7.3rem 2rem 0;
  }

  .top-tour .top-tour__h3 {
    font-size: 1.6rem;
  }

  .top-tour .top-tour__h3 h3 {
    padding: 0 1rem;
  }

  .top-tour .tour__box-contents .content {
    margin: 2rem 0 0;
  }

  .tour__box-contents .content {
    grid-template-columns: 1fr;
    margin: 0;
  }

  .tour__box-contents .content.active {
    display: grid;
  }

  .tour__box-map {
    grid-area: 2;
  }

  .top-page .tour__box-map {
    border-right: #CCCCCC solid 0px;
    border-top: #CCCCCC solid 1px;
  }

  .tour__box-contents .content {
    display: grid;
  }

  .tour__box-txt {
    padding: 2rem;
  }

  .tour__box-place {
    padding-bottom: 1rem;
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }

  .tour__box--tour-name {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 1.5rem;
    margin-bottom: 1rem;
  }

  .tour__box--tour-name p {
    display: flex;
    gap: 1rem;
  }

  .tour__box--tour-name .category {
    font-size: 1.4rem;
    display: block;
  }

  .tour__box--tour-name h4 {
    font-size: 1.6rem;
  }

  .tour__box-com {
    font-size: 1.4rem;
    line-height: 2.14em;
    margin-bottom: 2rem;
  }

  .tour__box-contents .content::after {
    margin-left: -1rem;
    margin-top: -1rem;
    width: calc(100% + 2rem);
    height: calc(100% + 2rem);
    background-color: #EA5B13;
    border-radius: 0.5rem;
  }

  .tour__box-img {
    border-radius: 0.5rem 0.5rem 0 0;
  }

  .tour__box-ttlsp {
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    color: #EA5B13;
    margin-top: 3.7rem;
  }

  .tour__box-ttlsp:not(:first-child) {
    margin-top: 4rem;
  }

  .tour__box.green .tour__box-ttlsp {
    color: #137C2A;
  }

  .top__info {
    margin: 4rem 2rem 8rem;
  }

  .top__info-container {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .top__info-box {
    grid-template-columns: 1fr;
  }

  .top__info-img {
    aspect-ratio: 3.5/2;
  }

  .top__info-img img {
    aspect-ratio: 3.5/2;
  }

  .top__info-txt {
    padding: 2rem 2rem 4.6rem;
  }

  .top__info-txt h4 {
    font-size: 1.6rem;
  }

  .top__info-txt p {
    font-size: 1.6rem;
    line-height: 1.875em;
  }

  .top__info .asset__h3 {
    font-size: 1.8rem;
  }

  .contact-banner {
    margin: 0 2rem;
  }

  .contact-banner__box {
    width: 100%;
    padding: 0 3.4rem;
  }

  .contact-banner__flex {
    grid-template-columns: 1fr;
    gap: 2rem;
    width: 100%;
  }

  .contact-banner__flex::after {
    content: "";
    position: absolute;
    inset: 0;
    top: 31rem;
    left: 50%;
    width: 22.7rem;
    height: 1px;
    background-color: #F5F5F5;
  }

  .contact-banner .ttl__asset02.sp {
    margin-bottom: 1.9rem;
    line-height: 2.6rem;
    font-size: 1.8rem;
  }

  .contact-banner__num {
    font-size: 2.4rem;
  }

  .contact-banner__num--txt {
    margin-top: 4.8rem;
  }

  .contact-banner__num img {
    width: 2.994rem;
  }

  .contact-banner__txt {
    line-height: 1.875em;
    margin-top: 1.6rem;
  }

  .contact-banner__rzb .asset__btn-01 {
    margin-top: 3rem;
  }


  .bottom__link {
    margin: 8rem 2rem 0;
    grid-template-columns: 1fr;
    gap: 8rem;
  }

  .bottom__link h4 {
    font-size: 1.8rem;
  }

  .ttl__asset01 {
    gap: 1rem;
  }

  .bottom__link-img {
    margin-top: 2.5rem;
  }

  .bottom__link-img img {
    aspect-ratio: 3.5/2;
  }

  .bottom__link-img-txt {
    font-size: 1.4rem;
    padding: 1rem;
    border-radius: .2rem;
  }

  .bottom__link::after {
    content: none;
  }

  .bottom__link-txt {
    font-size: 1.6rem;
    line-height: 1.875em;
    margin-top: 2rem;
  }

  .bottom__link-btn {
    margin-top: 2rem;
    justify-content: center;
    display: grid;
  }

  .tingle-modal {
    padding: 2rem;
  }

  .top-page .about-tour .ttl__asset01 {
    margin-left: 0;
    z-index: 24;
  }
}

@media screen and (max-width: 1024px) and (max-width: 540px) {
  .tingle-modal {
    padding: 1rem;
    overflow-x: auto;
    padding-top: 2rem;
  }
}

@media screen and (max-width: 1024px) {
  .tingle-modal__close {
    background-color: transparent;
    display: none;
  }
}

@media screen and (max-width: 1024px) and (max-width: 540px) {
  .tingle-modal__close {
    text-align: end;
    padding-right: 2rem;
  }
}

@media screen and (max-width: 1024px) {
  .custom-modal .tingle-modal-box {
    margin-top: 4rem;
    width: 100%;
  }

  .custom-modal .mc-header {
    padding: 2rem;
    min-height: 6rem;
    align-items: center;
  }

  .custom-modal .mc-nav {
    align-self: flex-start;
    margin-right: 6rem;
  }

  .custom-modal .mc-title {
    font-size: 1.8rem;
  }

  .custom-modal .mc-nav button {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 2.2rem;
  }

  .custom-modal .mc-close {
    width: 3.5rem;
    height: 3.5rem;
    font-size: 1.6rem;
    top: 2rem;
    right: 2rem;
  }

  .custom-modal .mc-close::after {
    height: 2rem;
    left: -1.4rem;
    top: 0.7rem;
  }

  .custom-modal .mc-body {
    padding: 2rem;
  }

  .custom-modal .mc-intro {
    width: 100%;
    float: none;
    font-size: 1.4rem;
    line-height: 1.875em;
  }

  .custom-modal .mc-image {
    width: 100%;
    float: none;
    text-align: center;
    margin-top: 2rem;
  }

  .custom-modal .mc-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 28/15;
  }

  .custom-modal .mc-divider {
    margin: 2rem 0;
  }

  .custom-modal .mc-points h3 {
    font-size: 1.6rem;
  }

  .custom-modal .mc-points ol {
    gap: 1.5rem;
  }

  .custom-modal .mc-points li {
    padding-left: 2.5rem;
    font-size: 1.4rem;
  }

  .custom-modal .mc-points li::before {
    width: 2rem;
    height: 2rem;
    line-height: 1.8rem;
    font-size: 1.2rem;
  }

  .custom-modal .mc-title span {
    display: block;
    font-size: 1.2rem;
    margin-top: 1rem;
  }

  .notice .swiper {
    overflow: visible;
  }
}

.asset__btn-01 {
  background-color: #FFF;
  border: #CCCCCC solid 0.1rem;
  border-radius: 5.3rem;
  padding: 2.3rem 8.4rem 2.3rem 3rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  transition: all 0.3s ease-in-out;
  z-index: 22;
}

.asset__btn-01:hover {
  color: #145D99;
  border: #145D9A solid 0.2rem;
  padding-right: 8.9rem;
  margin-right: -0.5rem;
  font-weight: bold;
}

@media screen and (max-width: 1024px) {
  .asset__btn-01:hover {
    margin-right: auto;
    padding-right: 7.1rem;
  }
}

.asset__btn-01:hover .asset__btn-shape::after {
  width: 3.4rem;
}

@media screen and (max-width: 1024px) {
  .asset__btn-01:hover .asset__btn-shape::after {
    width: 2.2rem;
  }
}

.asset__btn-01:hover .asset__btn-shape::before {
  opacity: 1;
}

@media screen and (max-width: 1024px) {
  .asset__btn-01 {
    font-size: 1.4rem;
    padding: 1.8rem 7.1rem 1.8rem 3rem;
    margin: auto;
  }
}

.asset__btn-shape {
  position: absolute;
  right: 1.4rem;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #145D99;
  width: 4rem;
  aspect-ratio: 1/1;
}

.access__nav .orange .asset__btn-01:hover {
  background-color: #EA5B13;
  color: #FFF;
  border: none;
}

.access__nav .orange .asset__btn-shape {
  background-color: #EA5B13;
}

.access__nav .orange .asset__btn-shape::before {
  background-image: url(../img/triangle-orange.svg);
  margin-top: 2px;
  margin-right: 1.2rem;
  width: 1.8rem;
}

.access__nav .green .asset__btn-01:hover {
  background-color: #137C2A;
  color: #FFF;
  border: none;
}

.access__nav .green .asset__btn-shape {
  background-color: #137C2A;
}

.access__nav .green .asset__btn-shape::before {
  background-image: url(../img/triangle-green.svg);
  margin-top: 2px;
  margin-right: 1.2rem;
  width: 1.8rem;
}

@media screen and (max-width: 1024px) {
  .asset__btn-shape {
    width: 2.6rem;
  }

  .access__nav .orange .asset__btn-shape::before {
    margin-right: .8rem;
    width: 1.2rem;
  }

  .access__nav .green .asset__btn-shape::before {
    margin-right: .8rem;
    width: 1.2rem;
  }
}

.asset__btn-shape::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  background-color: #FFF;
  width: 0.7rem;
  aspect-ratio: 1/1;
  inset: 0;
  margin: auto;
  transition: all 0.3s ease-in-out;
}

@media screen and (max-width: 1024px) {
  .asset__btn-shape::after {
    width: 0.6rem;
  }
}

.asset__btn-shape::before {
  content: "";
  background-image: url(../img/asset__btn-shape-01.svg);
  position: absolute;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1.4rem;
  inset: 0;
  transform: translateX(10%);
  margin: auto;
  z-index: 5;
  opacity: 0;
  transition: all 0.1s ease-in-out;
}

@media screen and (max-width: 1024px) {
  .asset__btn-shape::before {
    width: 1rem;
  }
}

.asset__btn-02 {
  border-radius: 5.3rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  transition: all 0.3s ease-in-out;
  z-index: 20;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1024px) {
  .asset__btn-02 {
    width: 2.6rem;
    height: 2.6rem;
  }
}

.asset__btn-02:hover {
  color: #145D99;
}

.asset__btn-02:hover .asset__btn-shape::after {
  width: 3.4rem;
}

.asset__btn-02:hover .asset__btn-shape::before {
  opacity: 1;
}

.asset__btn-02 .asset__btn-shape {
  position: absolute;
  right: 0%;
  top: auto;
  bottom: 0;
  transform: translateY(0%) translateX(0%);
  border-radius: 50%;
  background-color: transparent;
  transition: all 0.3s ease-in-out;
  box-shadow: inset 0 0 0 1.7rem #145D99;
  width: 4rem;
  aspect-ratio: 1/1;
}

@media screen and (max-width: 1024px) {
  .asset__btn-02 .asset__btn-shape {
    width: 2.6rem;
    box-shadow: inset 0 0 0 1rem #145D99;
  }
}

.asset__btn-02 .asset__btn-shape:hover {
  box-shadow: inset 0 0 0 0.3rem #145D99;
}

.asset__btn-02 .asset__btn-shape::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  background-color: #FFF;
  width: 0.7rem;
  aspect-ratio: 1/1;
  inset: 0;
  margin: auto;
  transition: all 0.3s ease-in-out;
  opacity: 0;
}

@media screen and (max-width: 1024px) {
  .asset__btn-02 .asset__btn-shape::after {
    width: 0.6rem;
  }
}

.asset__btn-02 .asset__btn-shape::before {
  content: "";
  background-image: url(../img/asset__btn-shape-01.svg);
  position: absolute;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1.4rem;
  inset: 0;
  transform: translateX(10%);
  margin: auto;
  z-index: 5;
  opacity: 0;
  transition: all 0.1s ease-in-out;
}

@media screen and (max-width: 1024px) {
  .asset__btn-02 .asset__btn-shape::before {
    width: 1rem;
  }
}

.asset__h3 {
  position: relative;
}

.asset__h3::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1rem;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #CCCCCC;
}

.asset__h3 h3 {
  background-color: #F8FCFF;
  z-index: 5;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: 0 4rem;
}

.asset__main-ttl .main__ttl {
  font-size: 3.2rem;
  font-weight: bold;
  padding-bottom: 3rem;
  margin: 9.7rem 8rem 3rem;
  position: relative;
}

.asset__main-ttl .main__ttl::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1rem;
  bottom: 0;
  left: 0;
  background-color: #CCCCCC;
}

.asset__main-ttl .main__ttl span {
  font-size: 2rem;
  padding: 0.5rem 1.5rem;
  border: #353636 solid 0.1rem;
  border-radius: 0.5rem;
}

.asset__main-ttl .main__ttl span:first-of-type {
  margin-left: 8rem;
}

/* .asset__main-ttl .main__ttl span:not(:first-of-type) {
  margin-left: 2rem;
} */
.asset__main-ttl>nav .breadcrumb {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.4rem;
  margin-bottom: 2.4rem;
  justify-content: end;
  margin-right: 8rem;
  font-weight: bold;
  flex-wrap: wrap;
}

.asset__main-ttl>nav .breadcrumb a {
  text-decoration: none;
  transition: color 0.3s ease;
}

.asset__main-ttl>nav .breadcrumb a:hover {
  opacity: 0.8;
}

.asset__main-ttl>nav .breadcrumb li {
  position: relative;
  color: #707070;
}

.asset__main-ttl>nav .breadcrumb li::after {
  content: ">";
  margin-left: 0.5rem;
  color: #707070;
  top: -0.1rem;
  position: relative;
}

.asset__main-ttl>nav .breadcrumb li:last-child::after {
  content: "";
}

.asset__main-ttl>nav .breadcrumb li:first-of-type {
  color: #EA5B13;
}

@media screen and (max-width: 1024px) {
  .asset__main-ttl .main__ttl {
    font-size: 2.4rem;
    padding-bottom: 2rem;
    margin: 4rem 2rem 2rem;
    display: flex;
    flex-wrap: wrap;
    column-gap: 2rem;
  }

  .asset__main-ttl .main__ttl span {
    font-size: 1.6rem;
    padding: 0.5rem 1rem;
    display: inline-block;
    margin-top: 1rem;
  }

  .asset__main-ttl .main__ttl span:first-of-type {
    margin-left: 0rem;
  }

  .asset__main-ttl>nav .breadcrumb {
    font-size: 1.2rem;
    margin-right: 2rem;
  }

  .asset__main-ttl>nav .breadcrumb li::after {
    margin-left: 0.8rem;
  }
}

.archive__category {
  background-color: #FFF;
  display: flex;
  padding: 4rem;
  border-radius: 0.5rem;
  align-items: center;
  margin-left: 8rem;
  margin-right: 12rem;
}

.archive__category-ttl {
  font-size: 2.4rem;
  font-weight: bold;
  color: #EA5B13;
  font-family: "outfit";
  margin: 0 5rem 0 0rem;
}

.archive__category-list {
  display: flex;
  gap: 2.5rem;
  align-items: center;
}

.archive__category-list>li a {
  background-color: #FCFCFC;
  border: 1px solid #CCCCCC;
  padding: 1rem 3rem;
  font-weight: bold;
  font-size: 1.6rem;
  transition: all 0.3s ease;
  border-radius: 0.5rem;
}

.archive__category-list>li a:hover {
  color: #EA5B13;
  border-color: #EA5B13;
}

.archive__pagination {
  grid-column: 1 / -1;
}

.archive__pagination ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin: 4rem 2rem;
}

.archive__pagination ul>li a {
  width: 5rem;
  aspect-ratio: 1;
  border-radius: 50%;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EFEFEF;
  color: #353636;
}

.archive__pagination ul>li a:hover {
  background-color: #145D99;
  color: #FFF;
}

@media screen and (max-width: 1024px) {
  .archive__category {
    margin: 0 0rem;
    display: block;
    padding: 0% 2rem;
  }

  .archive__category-ttl {
    font-size: 1.8rem;
    margin: 0 0 2rem 0;
  }

  .archive__category-list {
    gap: 1rem;
    flex-wrap: wrap;
  }

  .archive__category-list>li {
    display: block;
  }

  .archive__category-list>li a {
    padding: 0.5rem 1.5rem;
    font-size: 1.4rem;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 0.5rem;
    display: block;
  }
}

html {
  font-size: 0.5208vw;
  background-color: #fcfcfc;
  font-family: "Zen Kaku Gothic New";
  color: #353636;
  overflow-x: hidden;
  transition: all 0.3s ease;
  scroll-behavior: smooth;
}

body {
  font-size: 1.6rem;
  position: relative;
  overflow-x: clip;
}

img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

.pc-flex {
  display: flex;
}

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

  .pc {
    display: none;
  }

  .pc-flex {
    display: none;
  }

  html {
    font-size: 2.56414vw;
  }
  @media screen and (min-width: 700px) {
    html {
      font-size: 2vw;
    }
    .participation__img img {height: 22rem;}
    .contact-banner {margin: 0 6rem;}
  }

  body {
    overflow-x: hidden;
  }

  .main__mv {
    margin-top: 9rem;
  }
}

/*# sourceMappingURL=style.css.map */

#wpadminbar {
  opacity: .5;
}