@charset "UTF-8";
/*Break Point
------------------------------*/
/*Break Point (for viequ house)
---------------------------------*/
/*font
---------------------------------*/
/*font-size
---------------------------------*/
/*color
---------------------------------*/
.mv figure p {
  position: absolute;
  width: 40%;
  left: 48.5%;
  top: 38.3%;
}
@media print, screen and (max-width: 768px) {
  .mv figure p {
    width: 75%;
    left: 16%;
    top: 36.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(5vw, 2.5rem);
  text-align: center;
}

h4 {
  font-size: min(4.5vw, 2rem);
  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, 5vw, 1.5rem);
  }
}

.f12 {
  font-size: clamp(11px, 3.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(1.8vw, 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(6vw, 7.5rem);
  letter-spacing: 1.5rem;
}
@media print, screen and (max-width: 768px) {
  .ttlbox .ttl span {
    letter-spacing: 1rem;
  }
}
.ttlbox .f12 {
  font-size: clamp(10px, 1.3vw, 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;
}

.ml01_M {
  margin-left: 5%;
}
@media print, screen and (max-width: 768px) {
  .ml01_M {
    margin-left: 0;
  }
}

@media print, screen and (max-width: 768px) {
  .lhsp01 {
    line-height: 2.2;
  }
  .lhsp02 {
    line-height: 1.8;
  }
  .pt44_underM {
    padding-top: 44%;
  }
  .cap_r {
    padding: 7px 3px 0 0;
  }
}