@charset "utf-8";

/*===================
共通
===================*/
.more-btn {
  max-width: 235px;
}
.more-btn__Link {
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0.06em;
  display: block;
  padding-bottom: 5px;
  padding-left: 5px;
  border-bottom: 1px solid #4a4a4a;
  position: relative;
}
.more-btn__Link::after {
  content: "";
  display: block;
  width: 48px;
  height: 9px;
  background: url(../imgs/common/footer_arrow.png) center center / cover no-repeat;
  position: absolute;
  top: 41%;
  right: 8px;
  z-index: 1;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transition: all 0.3s;
}
.more-btn__Link:hover::after {
  right: 0;
}

/*===================
fv
===================*/
.fv {
  position: relative;
  height: 100vh;
}
.fv__inner {
  width: 100%;
  height: calc(100% - 123px);
  padding: 87px 22px 0;
  position: relative;
}
.fv__box {
  position: absolute;
  bottom: 80px;
  left: 68px;
  z-index: 2;
}
.fv__catch {
  margin-bottom: 10px;
  font-size: 28px;
  letter-spacing: 0.08em;
  line-height: 1.42;
  color: #fff;
}
.fv__txt {
  font-size: 11px;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #fff;
}
.fv__pic {
  height: 100%;
}
.fv-swiper {
  height: 100%;
}
.fv-swiper .swiper-img {
  height: 100%;
}
.fv-swiper .swiper-slide{
  position: relative;
}
.fv-swiper .swiper-slide img {
  height: 100%;
}
/* ズームインする際↓追加 */
/* .fv-swiper .swiper-slide img {
  transition: transform 7s linear;
  width: 100%;
  height: calc(100vh - 85px);
  min-height: 680px;
  object-fit: cover;
  object-position: center center;
  display: block;
}

@keyframes zoomOut {
  0% {
    transform: scale(1.02);
  }
  100% {
    transform: scale(1);
  }
}

.fv-swiper .swiper-slide-active .swiper-img,
.fv-swiper .swiper-slide-duplicate-active .swiper-img,
.fv-swiper .swiper-slide-prev .swiper-img {
  animation: zoomOut 7s linear 0s normal both;
} */

/* スクロールダウン↓↓ */
/* .scroll {
  position: absolute;
  bottom: 4%;
  right: 22px;
}
.scroll__link {
  display: block;
  font-size: 11px;
  color: #fff;
} */
/* スクロールダウンの位置 */
/* .scroll__box {
  width: 104px;
  position: absolute;
  right: 50%;
  top: 10%;
  font-size: 11px;
} */
/* 線のアニメーション部分 */
/* .scroll__box::before {
  animation: scroll 2s infinite;
  background-color: #fff;
  bottom: 28px;
  content: "";
  height: 122px;
  margin: auto;
  position: absolute;
  right: 13px;
  width: 1px;
} */
/* 線のアニメーション */
/* @keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
} */
/* スクロールダウン↑↑ */

.fv__bnr {
  width: 100%;
  max-width: 410px;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 2;
}
.fv__bnrLink {
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1080px) {
  .fv__inner {
    height: calc(100% - 170px);
  }
}
@media screen and (max-width: 940px) {
  .fv__inner {
    height: calc(100% - 213px);
  }
}
@media screen and (max-width: 750px) {
  .fv__inner {
    height: calc(100% - 200px);
    padding: 68px 22px 0;
  }
  .fv__box {
    bottom: 30px;
    left: 20px;
  }
  .fv__catch{
    margin-bottom: 5px;
    font-size: 21px;
  }

}
@media screen and (max-width: 500px) {
  .fv__inner {
    height: calc(100% - 168px);
  }
}
@media screen and (max-width: 450px) {
  .fv__inner {
    height: calc(100% - 190px);
  }
}
@media screen and (max-width: 375px) {
  .fv__box {
    bottom: 20px;
    left: 15px;
  }
   .fv__catch{
    font-size: 18px;
    letter-spacing: 0.02em;
  }
}

/*===================
news-top
===================*/
.news-top {
  padding: 30px 0 27px;
}
.news-top__inner {
  width: 100%;
  padding: 0 22px;
}
.news-top__wrap {
  margin-left: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.news-top__list {
  width: 50%;
  max-width: 713px;
  padding-right: 20px;
}
.news-top__item + .news-top__item {
  margin-top: 12px;
}
.news-top__itemLink {
}
.news-top__date {
  width: 166px;
  font-size: 13px;
  line-height: 1.75;
}
.news-top__itemTtl {
  flex: 1;
  font-size: 13px;
  line-height: 1.92;
}

.news__wrapText {
  width: 50%;
  max-width: 530px;
}
.news__wrapText--en {
  font-family: "adobe-garamond-pro", serif;
  font-size: 27px;
  letter-spacing: 0.1em;
}
.news__wrapText--ja {
  font-size: 14px;
  letter-spacing: 0.08em;
}
.news__wrapText--01 {
  line-height: 1.5;
}
.news__wrapText--02 {
  font-size: 14px;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1080px) {
  .news__wrapText {
    max-width: 330px;
  }
  .news__wrapText--01 {
    margin-bottom: 10px;
  }
  .news__wrapText--en {
    display: block;
    line-height: 1.2;
  }
}
@media screen and (max-width: 940px) {
  .news-top__wrap {
    flex-direction: column;
    align-items: center;
    row-gap: 60px;
  }

  .news__wrapText {
    width: 100%;
    max-width: 100%;
  }
  .news-top__ttl {
    width: 100%;
  }
  .news-top__list {
    width: 100%;
    padding-right: 0;
  }
  .news-top__date {
    width: 83px;
  }
}
@media screen and (max-width: 750px) {
  .news-top__wrap {
    margin-left: 0;
    row-gap: 30px;
  }
  .news__wrapText--en {
    font-size: 24px;
  }
  .news-top__item a {
    display: flex;
    align-items: center;
    justify-content: start;
  }
}
@media screen and (max-width: 500px) {
  .news-top__wrap {
    gap: 30px;
  }
  .news-top {
    padding: 15px 0 20px;
  }
  .news__wrapText--en {
    font-size: 21px;
  }
  .news__wrapText--02 {
    font-size: 12px;
  }
}

/*===================
kussharo
===================*/
.kussharo {
  padding-top: clamp(50px, 9.791vw, 150px);
  padding-bottom: clamp(50px, 8.75vw, 126px);
  overflow: hidden;
}
.kussharo .title-ja {
  font-size: 33px;
  line-height: 1.82;
}
.kussharo__topBox {
  /* margin-bottom: 96px; */
}
.kussharo__open {
  margin-bottom: 4px;
  font-size: 33px;
  letter-spacing: 0.08em !important;
  text-align: right;
}
.kussharo__open--ja {
  letter-spacing: 0.12em;
  text-align: right;
}
.kussharo__wrap {
  padding-top: 50px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.kussharo__left {
  flex-shrink: 0;
  width: 50%;
}
.kussharo__txtBox {
  margin-top: 32px;
}
.kussharo__txtBox .cmn-txt {
  margin-bottom: 90px;
}
.kussharo__pic {
  padding-top: 8px;
  width: 100vw;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 980px) {
  .kussharo__left {
    width: 55%;
  }
  .kussharo__open{
    text-align: center;
  }
  .kussharo__open--ja{
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  .kussharo__topBox {
    /* margin-bottom: 60px; */
    margin-right: auto;
  }
  .kussharo__open {
    font-size: 28px;
    line-height: 1.3;
    text-align: left;
  }
  .kussharo__open--ja{
    text-align: left;
  }
  .kussharo__wrap {
    flex-direction: column;
    gap: 45px;
  }
  .kussharo__left {
    width: 100%;
    min-width: auto;
  }
  .kussharo .title-ja {
    font-size: 28px;
  }
  .kussharo__pic {
    width: 100%;
    max-width: 500px;
    margin-right: auto;
    margin-left: auto;
  }
  .kussharo__txtBox .cmn-txt {
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 400px) {
  .kussharo__open,
  .kussharo .title-ja {
    font-size: 24px;
  }
}

/*===================
plan
===================*/
.plan {
  padding-top: clamp(80px, 19.236vw, 277px);
  padding-bottom: clamp(50px, 8.194vw, 118px);
}
.plan .title__box {
  margin: 0 auto 27px;
}
.plan__title-ja {
  font-size: 33px;
  line-height: 1.82;
  letter-spacing: -0.05em;
  text-align: center;
}
.plan__pic01 {
  margin-bottom: 66px;
}
.plan__box {
  margin-bottom: 78px;
}
.plan__box02 {
  padding-top: 32px;
  text-align: center;
}
.plan__box02 .cmn-txt {
  letter-spacing: -0.08em;
}

.plan__slide {
  margin-bottom: 20px;
}
.plan__swiper {
  margin-bottom: 36px;
}
.plan__btm {
  margin-bottom: 90px;
}
.plan__btn {
  margin: 0 auto 150px;
}

.plan__sub {
  margin-bottom: 30px;
  font-size: 17px;
  line-height: 1.74;
  letter-spacing: 0.06em;
}

.plan__navList {
  width: 100%;
  /* max-width: 1015px; */
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 45px 51px;
}
.plan__navItem {
  width: calc(100% / 4);
  max-width: 215px;
}
.plan__navItem a {
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0.06em;
  display: block;
  padding-bottom: 5px;
  padding-left: 5px;
  border-bottom: 1px solid #4a4a4a;
  position: relative;
}
.plan__navItem a::after {
  content: "";
  display: block;
  width: 48px;
  height: 9px;
  background: url(../imgs/common/footer_arrow.png) center center / cover no-repeat;
  position: absolute;
  top: 41%;
  right: 8px;
  z-index: 1;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transition: all 0.3s;
}

@media screen and (max-width: 950px) {
  .plan__navList {
    max-width: 482px;
  }
  .plan__navItem {
    width: calc(100% / 2);
  }
}
@media screen and (max-width: 750px) {
  .plan {
    padding: 30px 0 66px;
  }
  .plan__title-ja {
    font-size: 28px;
  }
  .plan__wrap {
    flex-direction: column;
    row-gap: 20px;
  }
  .plan__box {
    margin-bottom: 45px;
  }
  .plan__sub {
    font-size: 15px;
    line-height: 1.85;
  }

  .plan__btn {
    margin-bottom: 80px;
  }
  .plan__btm {
    margin-bottom: 70px;
  }
  .plan__navList {
    max-width: 215px;
    row-gap: 30px;
  }
  .plan__navItem {
    width: 100%;
  }
}
@media screen and (max-width: 400px) {
  .plan {
    padding-top: 0;
  }
  .plan .title__box {
    margin: 0 auto 18px;
  }
  .plan__title-ja {
    font-size: 24px;
  }
  .plan__wrap .cmn-txt {
    letter-spacing: -0.05em;
  }
}

/*===================
around
===================*/

.around__wrap {
  width: 92%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 53px 0px 63px;
  display: flex;
  justify-content: space-between;
  align-items: start;
}
.around__wrapLeft {
  margin-left: 55px;
}
.around__title-en {
  margin-left: 5px;
  margin-bottom: 8px;
}
.around__sub {
  font-size: 33px;
  line-height: 1.82;
  letter-spacing: -0.08em;
}
.around__wrapRight {
  margin-top: 4px;
  margin-left: auto;

  max-width: 595px;
}
.around__wrapRight .cmn-txt {
  letter-spacing: -0.05em;
}
.around__btn {
  margin: 0 auto;
}

@media screen and (max-width: 1200px) {
  .around__wrapRight {
    width: 50%;
  }
}
@media screen and (max-width: 1080px) {
  .around__wrap {
    display: block;
  }
  .around__wrapLeft {
    margin-bottom: 20px;
  }
  .around__wrapRight {
    width: 100%;
    max-width: 100%;
    margin-left: 55px;
  }
}
@media screen and (max-width: 750px) {
  .around__wrapLeft {
    margin-left: 0;
  }
  .around__wrapRight {
    margin-left: 0;
  }
  .around__sub {
    font-size: 28px;
  }
}
@media screen and (max-width: 400px) {
  .around__sub {
    font-size: 22px;
  }
}

/*===================
excursion
===================*/
.excursion {
  padding-top: clamp(80px, 12.152vw, 175px);
  padding-bottom: clamp(80px, 15.27vw, 220px);
}
.excursion__wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.excursion__img {
  width: 49.8%;
}
.excursion__ttlWrap {
  max-width: 440px;
  padding: 0 20px 0 20px;
  margin: 0 auto;
}
.excursion__sub {
  margin-bottom: 35px;
  font-size: 33px;
  line-height: 1.82;
  letter-spacing: -0.08em;
}
.excursion__btn {
  margin-top: 45px;
  margin-right: auto;
}
.excursion__text .cmn-txt {
  letter-spacing: -0.05em;
}

@media screen and (max-width: 1080px) {
}
@media screen and (max-width: 750px) {
  .excursion__wrap {
    display: block;
  }
  .excursion__img {
    width: 100%;
  }
  .excursion__sub {
    font-size: 28px;
  }
  .excursion__ttlWrap {
    margin-top: 50px;
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (max-width: 400px) {
  .excursion__sub {
    font-size: 22px;
  }
}

/*===================
access
===================*/
.access {
  padding: 100px 0 98px;
  overflow: hidden;
}
.access__ttlWrap {
  margin-bottom: 47px;
}
.access__wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.access__left {
  flex-shrink: 0;
  width: 29.5%;
  min-width: 320px;
}
.access__map {
  width: 100vw;
  margin-left: 51px;
  margin-right: calc(50% - 50vw);
}
.access__map iframe {
  width: 100%;
}
.access__txt {
  margin-bottom: 78px;
  font-size: 15px;
  line-height: 1.69;
}
.access__btn {
  margin-top: 55px;
}

@media screen and (max-width: 750px) {
  .access {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .access__wrap {
    flex-direction: column;
    gap: 50px;
  }
  .access__left {
    width: 100%;
    min-width: auto;
  }
  .access__pic {
    max-width: 420px;
    margin: 0 auto 30px;
  }
  .access__map {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .access__map iframe {
    height: 300px;
  }
  .access__txt {
    margin-bottom: 37px;
    font-size: 14px;
  }
}

/*===================
contact
===================*/
.contact {
  padding-top: 99px;
}
.contact__ttl {
  padding-bottom: 111px;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.08em;
  position: relative;
}
.contact__ttl::before {
  display: block;
  content: "";
  width: 1px;
  height: 79px;
  background: #e4e4e4;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

/* ↓ ローデイングアニメーション ↓ */
/* ローディング全体 */
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #123a55;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1s ease, visibility 1s ease;
}
/* 非表示状態 */
#loader.hidden {
  opacity: 0;
  visibility: hidden;
}
.loader__txt {
  font-family: "Bodoni Moda", serif;
  font-size: 18px;
  color: #fff;
  transition: opacity 0.6s ease;
}
