@charset "UTF-8";
:root {
  --color-main01: #007995;
}

:root {
  --vw-size11: clamp(10px, calc(((11 + 2) / 1360) * 100vw), 11px);
  --vw-size12: clamp(10px, calc(((12 + 2) / 1360) * 100vw), 12px);
  --vw-size14: clamp(12px, calc(((14 + 2) / 1360) * 100vw), 14px);
  --vw-size16: clamp(13px, calc(((16 + 2) / 1360) * 100vw), 16px);
  --vw-size18: clamp(14px, calc(((18 + 2) / 1360) * 100vw), 18px);
  --vw-size20: clamp(15px, calc(((20 + 2) / 1360) * 100vw), 20px);
  --vw-size24: clamp(18px, calc(((24 + 2) / 1360) * 100vw), 24px);
  --vw-size28: clamp(19px, calc(((28 + 2) / 1360) * 100vw), 28px);
  --vw-size30: clamp(20px, calc(((30 + 2) / 1360) * 100vw), 30px);
  --vw-size32: clamp(20px, calc(((32 + 2) / 1360) * 100vw), 32px);
  --vw-size40: clamp(22px, calc(((40 + 2) / 1360) * 100vw), 40px);
  --vw-size45: clamp(24px, calc(((45 + 2) / 1360) * 100vw), 45px);
  --vw-size48: clamp(26px, calc(((48 + 2) / 1360) * 100vw), 48px);
  --vw-size56: clamp(30px, calc(((56 + 2) / 1360) * 100vw), 56px);
  --vw-size80: clamp(40px, calc(((80 + 2) / 1360) * 100vw), 80px);
  --vw-size100: clamp(50px, calc(((100 + 2) / 1360) * 100vw), 100px);
}

/* top page
 * ========================================================================== */
/**
/* Mainvisual
 * ========================================================================== */
/*↓↓↓変更不可*/
#mainvisual {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}

@media screen and (max-width: 1200px) {
  #mainvisual {
    overflow: initial;
    margin-bottom: 93px !important;
  }
}
/*↑↑↑変更不可*/
#mainvisual .mvVideo {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
#mainvisual .mvVideo .mvVideoSet {
  position: relative;
  width: 100%;
}
#mainvisual .mvVideo .mvVideoSet .video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#mainvisual .mvVideo .mvVideoSet .video.is-show {
  position: relative;
  opacity: 1;
  visibility: visible;
}
#mainvisual .mvVideo .mvVideoSet .video.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}
#mainvisual .mvVideo .mvVideoSet .video.is-hide {
  opacity: 0;
  visibility: visible;
  z-index: 1;
}

/* @media
 * ========================================================================== */
/*微調整*/
@media screen and (max-width: 767px) {
  #mainvisual {
    height: auto;
    aspect-ratio: 750/1334;
  }
}
.honkoku {
  background: #007864;
  padding: 80px 0;
}
@media (max-width: 767px) {
  .honkoku {
    padding: 50px 0;
  }
}
.honkoku .ttl01 {
  text-align: center;
  position: relative;
  color: #fff;
  font-size: 28px;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .honkoku .ttl01 {
    font-size: 20px;
  }
}
.honkoku table {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  color: #fff;
}
@media (max-width: 767px) {
  .honkoku table {
    font-size: 14px;
  }
}
.honkoku table th {
  width: 30%;
  border: solid 1px #fff;
  padding: 20px;
}
@media (max-width: 767px) {
  .honkoku table th {
    padding: 20px 10px;
  }
}
.honkoku table td {
  padding: 20px;
  border: solid 1px #fff;
}
@media (max-width: 767px) {
  .honkoku table td {
    padding: 20px 10px;
  }
}
.honkoku .conBtn {
  width: 100%;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
.honkoku .conBtn + .conBtn {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .honkoku .conBtn + .conBtn {
    margin-top: 20px;
  }
}

/**
/* freeArea
 * ========================================================================== */
#freeArea {
  margin: 120px 0 0;
}

.limitedContentsWrap {
  background: url(../img/top/bg_limited.jpg) no-repeat center center/cover;
  padding: clamp(80px, 13.1578947368vw, 200px) 0;
}
.limitedContentsWrap .limitedContentsBox {
  width: 90%;
  max-width: 1520px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.75);
  padding: clamp(50px, 6.5789473684vw, 100px) 20px;
}
.limitedContentsWrap .limitedContentsBox .limited-h2 {
  text-align: center;
  margin-bottom: clamp(30px, 4.2105263158vw, 64px);
}
.limitedContentsWrap .limitedContentsBox .limited-h2 span {
  display: block;
}
@media (max-width: 767px) {
  .limitedContentsWrap .limitedContentsBox .limited-h2 span.en img {
    width: 80%;
    max-width: 320px;
  }
}
.limitedContentsWrap .limitedContentsBox .limited-h2 span.jp {
  margin-top: 30px;
  font-size: var(--vw-size16);
  line-height: 1.3em;
}
.limitedContentsWrap .limitedContentsBox .limitedTxt {
  text-align: center;
  font-size: var(--vw-size16);
}
@media (max-width: 767px) {
  .limitedContentsWrap .limitedContentsBox .limitedTxt {
    text-align: left;
  }
}
.limitedContentsWrap .limitedContentsBox .cvBtns {
  width: 100%;
  max-width: 600px;
  margin: clamp(30px, 4.2105263158vw, 64px) auto 0;
}