@charset "UTF-8";
/*Break Point
------------------------------*/
/*Break Point (for viequ house)
---------------------------------*/
/*font
---------------------------------*/
/*font-size
---------------------------------*/
/*color
---------------------------------*/
.mv figure p {
  position: absolute;
  width: 30%;
  left: 58.5%;
  top: 41.5%;
}
@media print, screen and (max-width: 768px) {
  .mv figure p {
    width: 75%;
    left: 16%;
    top: 76.5%;
  }
}

.pc {
  display: block;
}
@media print, screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media print, screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

.col.no1 {
  font-size: clamp(12px, 5.5vw, 3rem);
}
.col.no2 {
  font-size: clamp(11px, 5.3vw, 2.8rem);
}
.col.no3 {
  font-size: clamp(10px, 5vw, 2.5rem);
}
.col.no4 {
  font-size: clamp(10px, 3vw, 1rem);
}
.col.no5 {
  font-size: clamp(9px, 1vw, 10px);
}

h2 {
  font-size: min(5vw, 2.8rem);
  text-align: center;
  border-right: 2px solid #fff;
}
@media print, screen and (max-width: 1440px) {
  h2 {
    font-size: min(5vw, 2.2rem);
  }
}
@media print, screen and (max-width: 768px) {
  h2 {
    font-size: 7vw;
    border-right: none;
    border-bottom: 1px solid #fff;
    padding-bottom: 5%;
    margin-bottom: 7%;
  }
}
h2 span {
  display: block;
  font-size: 70%;
  padding-bottom: 2%;
}

h3 {
  font-size: min(6.5vw, 2.5rem);
  text-align: center;
}
@media print, screen and (max-width: 768px) {
  h3.top {
    font-size: 5vw;
  }
}
h3#z01, h3#z02 {
  scroll-margin-top: 6vh;
}

h4 {
  font-size: min(5.5vw, 1.9rem);
  letter-spacing: 0.1rem;
}
@media print, screen and (max-width: 768px) {
  h4 {
    line-height: 1.7;
    letter-spacing: 0;
  }
}

h5 {
  font-size: min(4vw, 1.4rem);
}

.cap_btm4 {
  bottom: 4.5%;
}
@media print, screen and (max-width: 768px) {
  .cap_btm4 {
    bottom: 4%;
  }
}

.box01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media print, screen and (max-width: 768px) {
  .w10 {
    width: 20%;
  }
}

@media print, screen and (max-width: 768px) {
  .w88 {
    width: 75%;
  }
}

@media print, screen and (max-width: 768px) {
  .f15 {
    font-size: clamp(12px, 4vw, 1.5rem);
  }
}

.f12 {
  font-size: clamp(11px, 3.5vw, 1.2rem);
}

.ariainfo .f12 {
  font-size: clamp(11px, 4.5vw, 1.2rem);
}

.c_red01 span {
  font-size: 130%;
}

.txt01 {
  font-size: min(4vw, 21px);
}
.txt01 .cap {
  font-size: 50%;
}

.txt02 {
  font-size: min(5vw, 28px);
  line-height: 1;
}
.txt02 .big {
  font-size: 150%;
}
.txt02 .cap {
  font-size: 40%;
}

/*スクロール開始位置変更*/
.scroll-box.-cen {
  direction: ltr;
}

@media print, screen and (max-width: 768px) {
  .scroll-box > img.loc01 {
    width: 150vw;
  }
}

.icon {
  position: absolute;
  width: 28%;
  top: -4%;
  left: -7%;
}
@media print, screen and (max-width: 768px) {
  .icon {
    width: 50%;
    top: -2%;
    left: 0;
    right: 0;
    margin: auto;
  }
}

.ttlbox .ttl {
  border-right: 1px solid #fff;
  text-align: center;
  font-size: min(2.5vw, 2rem);
  letter-spacing: 0.5rem;
}
@media print, screen and (max-width: 768px) {
  .ttlbox .ttl {
    border-right: none;
    border-bottom: 1px solid #fff;
    letter-spacing: 0.2rem;
    text-align: left;
  }
}
.ttlbox .ttl span {
  font-size: min(9vw, 7.5rem);
  letter-spacing: 1.5rem;
}
@media print, screen and (max-width: 768px) {
  .ttlbox .ttl span {
    letter-spacing: 1rem;
  }
}
.ttlbox .f12 {
  font-size: clamp(11px, 2.8vw, 1.2rem);
}
@media print, screen and (max-width: 768px) {
  .ttlbox .ls02 {
    line-height: 1.8;
    letter-spacing: 0.1rem;
  }
}

.f20 {
  line-height: 1;
  display: inline-block;
}

.space01 {
  height: 1px;
}

.sec01 .btn.b-01 {
  width: 19%;
  top: -3%;
  right: 10%;
}
@media print, screen and (max-width: 768px) {
  .sec01 .btn.b-01 {
    width: 50%;
    top: 2.5%;
    right: 5%;
  }
}
.sec01 .btn.b-02 {
  width: 23%;
  bottom: 8%;
  left: 12%;
}
@media print, screen and (max-width: 768px) {
  .sec01 .btn.b-02 {
    width: 64%;
    bottom: 8%;
    left: 5%;
  }
}

.icon01 {
  width: 28%;
  top: -6%;
  left: -4%;
}

.t-01 {
  width: 58%;
  top: -1.5%;
  left: 0;
}
@media print, screen and (max-width: 768px) {
  .t-01 {
    width: 99%;
    top: 3.5%;
    left: 5%;
  }
}

.t-02 {
  width: 58%;
  top: 1%;
  right: 0;
}
@media print, screen and (max-width: 768px) {
  .t-02 {
    width: 90%;
    top: 3.5%;
    right: auto;
    left: 5%;
  }
}

.t-03 {
  width: 58%;
  top: 2%;
  left: 0;
}
@media print, screen and (max-width: 768px) {
  .t-03 {
    width: 99%;
    top: 3.5%;
    left: 5%;
  }
}

.cap-btm {
  bottom: 0;
  left: 0;
}

.-sc02 {
  width: 57px;
  position: absolute;
  top: 93%;
  left: 128%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.-sc100 {
  left: 170%;
}

/*アコーディオン＆スクロールアイコン*/
.js-accScrollHint {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.js-accScrollHint.is-hidden {
  opacity: 0;
  pointer-events: none;
}

@media print, screen and (max-width: 768px) {
  .f08 {
    font-size: 10px;
  }
  .lhsp01 {
    line-height: 2.2;
  }
  .lhsp02 {
    line-height: 1.8;
  }
  .pt34_underM {
    padding-top: 34%;
  }
  .pt44_underM {
    padding-top: 44%;
  }
  .pb30_underM {
    padding-bottom: 30%;
  }
  .pb40_underM {
    padding-bottom: 40%;
  }
  .cap_r {
    padding: 7px 3px 0 0;
  }
  .sp-01 {
    margin-top: -7%;
    padding-bottom: 8%;
  }
  .panView__hint2 {
    top: 25vh;
    left: 107vw;
  }
}
.mapTab {
  max-width: 1240px;
  margin: 0 auto 30px;
}
@media print, screen and (max-width: 768px) {
  .mapTab {
    margin-bottom: 15px;
    padding: 0 10px;
  }
}
.mapTab .tab-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media print, screen and (max-width: 768px) {
  .mapTab .tab-list {
    margin-bottom: 15px;
  }
}
.mapTab .tab-list li {
  width: 16%;
  border: 1px solid #1e5026;
  color: #1e5026;
  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;
  height: 50px;
  -webkit-transition: all 0.15s;
  transition: all 0.15s;
}
@media print, screen and (max-width: 768px) {
  .mapTab .tab-list li {
    width: 32%;
    height: 45px;
    margin-bottom: 8px;
    font-size: 3vw;
  }
}
.mapTab .tab-list li {
  cursor: pointer;
}
.mapTab .tab-list li.on, .mapTab .tab-list li:hover {
  background: #1e5026;
  color: #FFF;
}

.infoArea .f12 {
  font-weight: bold;
}
@media print, screen and (max-width: 768px) {
  .infoArea .f12 {
    padding: 5px 0 3px;
  }
}
@media print, screen and (max-width: 768px) {
  .infoArea .f10 {
    font-size: clamp(10px, 3vw, 1rem);
  }
}

.cap__01 {
  position: absolute;
  bottom: 20%;
  right: 2.5% !important;
}