@charset "UTF-8";

/* ==========================================================================
    main style
============================================================================= */
.mv__inner {
  overflow: hidden;
  position: relative;
  width: 100%;
}

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

.mv__logo {
  max-width: 247px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767.98px) {
  .mv__item img {
    min-height: 500px;
  }
}

/* キャッチコピーの装飾 */
.mv__badge {
  position: absolute;
  top: 70%;        /* 上部からの配置位置（ロゴ等と重なる場合は%やpxで微調整してください） */
  left: 5%;        /* 左側からの配置位置 */
  z-index: 5;      /* スライダー画像（通常z-index:1〜2程度）より前面に表示 */
  background-color: rgba(243, 152, 0, 0.7); /* 温かみのあるオレンジ（透過95%） */
  padding: 10px 24px 15px 24px;
  border-radius: 50px; /* 角を丸くして優しい印象に */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25); /* 画像の上で浮き立つように影をつける */
  pointer-events: none; /* 万が一クリックされても後ろの要素の邪魔をしない設定 */
}

/* キャッチコピーのテキスト */
.mv__badge-text {
  margin: 0;
  padding: 0;
  color: #ffffff;  /* 文字色は白 */
  font-size: 2.5rem; /* パソコン表示時の文字サイズ（16pxベースで24px相当） */
  font-weight: 700;  /* 太字 */
  letter-spacing: 0.05em; /* 文字と文字の間隔を少し広げて読みやすく */
  white-space: nowrap; /* 画面が狭くなっても途中で勝手に改行させない */
  line-height: 1.4;
}

/* --------------------------------------------------------------------------
   レスポンシブ対応（タブレット・スマートフォン）
   -------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .mv__badge {
    top: 80%;       /* スマホ画面に合わせて位置を少し上部に微調整 */
    left: 4%;
    padding: 6px 14px 8px 14px;
  }
  
  .mv__badge-text {
    font-size: 1.6rem; /* スマホの画面幅に合わせて文字サイズを縮小（約14〜15px相当） */
  }
}

.top-info{
  background-color: #1b5094;
  color: #fff;
  padding: 80px 0 150px;
  position: relative;
}

.top-info::before {
  background: url("../images/bg_wave_blue.svg") repeat-x 0 0/auto 100%;
}

.top-info h3 img{
  width: 23%;
  height: auto;
}

.top-info h3{
  margin-bottom: 25px;
}

.top-info h4{
  font-size: 2.6rem;
  margin-bottom: 25px;
}

.top-info .l-container{
  background: url("../images/top-info-bg.webp") no-repeat center center;
  background-size: contain;
}

.top-ajito{
  margin: 200px 0 80px;
  position: relative;
}

.top-ajito .l-container > p{
  text-align: center;
  margin-bottom: 25px;
  font-size: 18px;
}

.top-ajito .l-container{
  border: 12px solid #1b5094;
  border-radius: 60px;
  padding: 40px;
}

.top-ajito .l-container h3{
  text-align: center;
  margin-top: -90px;
  margin-bottom: 40px;
}

.top-ajito .l-container h3 img{
  width: 40%;
}

.top-ajito .l-container > div{
  display: flex;
  justify-content: space-between;
}

.top-ajito .l-container > div > div{
  width: 55%;
  position: relative;
}

.top-ajito .l-container > div > div ul{
  margin-bottom: 20px;
}

.top-ajito .l-container > div > div p{
  margin-bottom: 30px;
}

.top-ajito .l-container > div > div ul li{
  background: url("../images/li-mark.webp") no-repeat left center;
  background-size: 15px;
  font-size: 25px;
  padding-left: 20px;
  border-bottom: 3px dotted #bacadf;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.top-ajito div.aji-text img{
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
}

.top-ajito div.aji-img{
  width: 45% !important;
  margin-right: 40px;
  position: relative;
}

.top-ajito div.aji-img a{
  position: absolute;
  z-index: 99;
}

.top-ajito div.aji-img a.a{
  width: 60%;
  top: 30px;
  left: 30px;
}

.top-ajito div.aji-img a.ji{
  width: 40%;
  bottom: 30px;
  left: 20px;
}

.top-ajito div.aji-img a.to{
  width: 40%;
  bottom: 30px;
  right: 20px;
}

.top-plan{
  margin: 100px 0;
}

.top-plan .l-container{
  text-align: center;
}

.top-plan .l-container > p{
  margin-bottom: 15px;
}

.top-plan h3{
  font-size: 3.2rem;
  margin-bottom: 25px;
  color: #FFF;
  text-align: center;
  background-color: #094790;
  display: inline-block;
  border-radius: 50px;
}

.top-plan h3 img{
  width: 7%;
  margin: 0 15px 5px;
}

.plan{
  display: flex;
  justify-content: space-between;
  padding: 0 5%;
  margin-bottom: 30px;
}

.plan-text{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
}

.plan-text > div{
  display: flex;
}

.plan-text p.period{
  border: 1px solid red;
  color: red;
  display: inline-block;
  padding: 10px;
  text-align: center;
  margin-left: 10px;
}

.plan-text h4{
  font-size: 25px;
}

@media screen and (max-width: 767.98px) {
  .top-info h3 img{
    width: 50%;
  }

  .top-info h4{
    margin-bottom: 40px;
  }

  .plan,.plan-text{
    display:block ;
  }

  .plan-text{
    text-align: left;
    margin: 5px 0 40px;
  }

  .top-ajito .l-container h3{
    margin-top: -80px;
  }

  .top-ajito .l-container h3 img{
    width: 100%;
  }

  .top-ajito .l-container > div{
    display: block;
  }

  .top-ajito .l-container > div img,.top-ajito .l-container > div > div{
    width: 100%;
    margin-bottom: 30px;
  }

  .top-ajito .l-container > div > div img{
    position: inherit;
    margin: 30px 0 0;
  }

  .top-plan h3{
    font-size: 2.3rem;
    padding: 5px 0;
  }

  .top-ajito div.aji-img{
    width: 100% !important;
  }

  .top-ajito div.aji-img a.a{
    width: 60%;
    top: 30px;
    left: 30px;
  }

  .top-ajito div.aji-img a.ji{
    bottom: 80px;
  }

  .top-ajito div.aji-img a.to{
    bottom: 80px;
  }


}

.news {
  background-color: #1b5094;
  color: #fff;
  padding: 80px 0 150px;
  position: relative;
}

.news::before {
  background: url("../images/bg_wave_blue.svg") repeat-x 0 0/auto 100%;
}

.news .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1100px;
  margin-bottom: 40px;
}

.news .heading .hdg {
  color: #fff;
}

.news .heading .hdg .ja {
  color: #fff;
}

.news .heading .link {
  border-color: #fff;
  color: #fff;
}

.news__slider {
  overflow: hidden;
}

.news__slider .slick-next,
.news__slider .slick-prev {
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  width: 5.147vw;
  height: 5.147vw;
  top: 35%;
  -webkit-transform: translateY(-35%);
  transform: translateY(-35%);
  z-index: 10;
}

.news__slider .slick-next::before,
.news__slider .slick-prev::before {
  content: '\f061';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  color: #094790;
  opacity: 1;
}

.news__slider .slick-next.slick-disabled,
.news__slider .slick-prev.slick-disabled {
  background-color: #f5f5f5;
}

.news__slider .slick-next.slick-disabled::before,
.news__slider .slick-prev.slick-disabled::before {
  color: #afafaf;
}

.news__slider .slick-prev {
  left: 7.2058vw;
}

.news__slider .slick-prev::before {
  content: "\f060";
}

.news__slider .slick-next {
  right: 7.2058vw;
}

.news__item {
  width: 340px;
  margin-inline: 20px;
}

.news__item .figure {
  border-radius: 20px;
  border: solid 5px #fff;
  height: 200px;
  margin-bottom: 12px;
  overflow: hidden;
}

.news__item .figure img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.news__item .detail .ttl {
  margin-bottom: 8px;
}

.news__item .detail .ttl .date {
  color: #8eaccf;
  font-weight: 500;
  margin-right: 10px;
}

.news__item .detail .ttl b {
  font-family: 'Poppins', sans-serif;
}

.news__item .detail .txt {
  font-size: 1.6rem;
}

.news .lead {
  font-size: 2.6rem;
}

.news .btn-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin: 20px 0;
}

.news .btn-area .btn {
  background-color: #ffffff;
  color: #094790;
  flex-basis: calc(50% - 10px);
}

@media screen and (min-width: 768px) {
  .news .heading {
    margin: 0 0 40px 9.736vw;
  }

  .news .heading .hdg {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 30px;
  }

  .news .heading .hdg .ja {
    display: inline;
  }

  .news__slider .slick-list {
    padding-left: 9.7364vw;
  }
}

@media screen and (max-width: 1239.98px) {
  .news__slider .slick-next {
    right: 0;
  }
}

@media screen and (max-width: 1219.98px) {
  .news .heading {
    padding-inline: 15px;
  }
}

@media screen and (max-width: 767.98px) {
  .news {
    padding: 40px 0 74px;
  }

  .news .heading {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .news .heading .link {
    margin-left: auto;
  }

  .news__item {
    width: calc(100vw - 80px);
  }

  .news__item:empty {
    display: none;
  }

  .news__slider .slick-next,
  .news__slider .slick-prev {
    width: 50px;
    height: 50px;
  }

  .news__slider .slick-prev {
    left: 10px;
  }

  .news__slider .slick-next {
    right: 10px;
  }

  .news .btn-area {
    flex-direction: column;
    gap: 30px;
    margin: 40px 0;
  }

  .news .btn-area .btn {
    max-width: inherit;
  }
}

.other-cont {
  position: relative;
}

.food {
  padding: 100px 0;
  position: relative;
}

.food::after {
  background: url("../images/food_bg.svg") no-repeat right bottom/contain;
  content: "";
  display: block;
  max-width: 445px;
  height: 36.676vw;
  width: 32.576vw;
  position: absolute;
  right: 0;
  bottom: -20px;
  z-index: -1;
}

.food__inner {
  max-width: 680px;
}

.food .lead {
  margin-bottom: 55px;
}

.food .link {
  margin-top: 48px;
}

@media screen and (max-width: 767.98px) {
  .food {
    padding: 50px 0;
  }

  .food .lead {
    margin-bottom: 26px;
  }
}

.facilities .l-column,
.cuisine .l-column {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.facilities .l-column .figure,
.cuisine .l-column .figure {
  width: 50vw;
}

.facilities .l-column .detail,
.cuisine .l-column .detail {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-preferred-size: auto;
  flex-basis: auto;
}

.facilities .hdg,
.cuisine .hdg {
  margin-bottom: 65px;
}

.facilities .lead,
.cuisine .lead {
  margin-bottom: 20px;
}

.facilities .link,
.cuisine .link {
  margin-top: 56px;
}

.facilities {
  padding-bottom: 60px;
}

.cuisine {
  padding-bottom: 100px;
}

.cuisine .lead img{
  width: 13%;
}

.cuisine .l-column {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media screen and (min-width: 768px) {

  .facilities .l-column .detail,
  .cuisine .l-column .detail {
    width: 34.407vw;
  }

  .facilities .l-column .detail {
    margin-left: 5.124vw;
  }

  .cuisine .l-column .detail {
    margin-right: 5.124vw;
  }
}

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

  .facilities .l-column,
  .cuisine .l-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .facilities .l-column .figure,
  .cuisine .l-column .figure {
    width: 80vw;
  }

  .facilities .l-column .detail,
  .cuisine .l-column .detail {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  .facilities .hdg,
  .cuisine .hdg {
    margin-bottom: 30px;
  }

  .facilities .l-column .detail .link {
    margin-left: auto;
  }

  .cuisine .l-column .figure {
    margin-left: auto;
  }
}

.other {
  padding: 100px 20px;
}

.other__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.other__item {
  border-radius: 50px;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  height: 400px;
  overflow: hidden;
  position: relative;
}

.other__item::before {
  background-color: #171b21;
  content: "";
  display: block;
  opacity: 0.4;
  position: absolute;
  height: 100%;
  width: 100%;
}

.other__item .hdg {
  color: #fff;
  font-size: clamp(24px, 3.5139vw, 4.8rem);
  line-height: 1;
  position: absolute;
  left: 4.392vw;
  top: 4.392vw;
}

.other__item .hdg .ja {
  color: #fff;
  margin-top: 10px;
}

.other .hall {
  background: url("../images/other_hall_bg.webp") no-repeat center/cover;
}

.other .tourism {
  background: url("../images/other_tourism_bg.webp") no-repeat center/cover;
}

@media screen and (max-width: 767.98px) {
  .other {
    padding: 50px 20px 80px;
  }

  .other__inner {
    display: block;
  }

  .other__item {
    display: block;
    height: 300px;
  }

  .other__item+.other__item {
    margin-top: 20px;
  }

  .other__item .hdg {
    left: 30px;
    top: 30px;
  }
}

.instagram {
  background-color: #eff7fc;
  padding: 50px 0 150px;
  position: relative;
}

.instagram::before {
  background: url("../images/bg_wave_lightblue.svg") repeat-x 0 0/auto 100%;
}

.instagram .hdg {
  margin-bottom: 65px;
  text-align: center;
}

.instagram .link {
  margin-top: 40px;
}

.instagram .item img {
  width: 100%;
}

.photo-area02 {
  margin-top: -50px;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .photo-area img, .photo-area02 img {
    height: 300px;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

.tuk .link{
  margin-right: 20px;
}

@media screen and (max-width: 767.98px) {
  .tuk{
    width: 100%;
  }
  .tuk .link{
    margin-right: 0;
    width: 100%;
  }
}