/* ===============================================### 
共通設定
###=============================================== */
.UU240724wasi{
  --font-primary: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  --primary-color: #555;
  font-feature-settings: "palt";
  overflow: hidden;
}

html {
  font-size: 62.5%;
}

body {
  background-color: #E4E4E4;
}

.lp{
  padding-bottom: 0;
}

:where(.UU240724wasi) img,
:where(.UU240724wasi) svg {
  width: 100%;
  height: auto;
}

:where(.UU240724wasi) a{
  display: block;
}

@media only screen and (min-width: 768px) and (max-width: 1600px) {
	html {
		font-size: calc(10 * (100vw / 1600)) !important;
	}
}

/************** PC版設定 **************/
@media screen and (min-width: 768px) {
  .UU240724wasi{
    --content-width: 68rem;
  }

  .UU240724wasi .pc-visible{
    display: block;
  }

  .UU240724wasi .sp-visible{
    display: none;
  }
}

/************** SP版設定 **************/
@media screen and (max-width: 767px) {
  .UU240724wasi{
    --content-width: calc(660 * (100vw / 750));
  }

  .UU240724wasi .pc-visible{
    display: none;
  }

  .UU240724wasi .sp-visible{
    display: block;
  }
}

/************** Safari用設定 **************/
_::-webkit-full-page-media, _:future, :root .UU240724wasi h2{
  font-weight: 400;
}

_::-webkit-full-page-media, _:future, :root .UU240724wasi p{
  font-weight: 400;
}


/* ===============================================### 
MV
###=============================================== */
.UU240724wasi .mv{
  width: 90rem;
  margin-inline: auto;
}

.UU240724wasi .mv__image{
  width: 100%;
}

.UU240724wasi .mv__title{
  margin-top: 7.9rem;
  text-align: center;
}

.UU240724wasi .mv__title p:first-child{
  font-size: 1.8rem;
  letter-spacing: 0.14em;
}

.UU240724wasi .mv__title p:last-child{
  margin-top: 2.6rem;
  font-size: 2.3rem;
  letter-spacing: 0.1em;
}

.UU240724wasi .mv__text{
  margin-top: 3.2rem;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.085em;
  text-align: center;
}


/************** responsive **************/
@media screen and (max-width: 767px) {
  .UU240724wasi .mv{
    width: calc(750 * (100vw / 750));
  }

  .UU240724wasi .mv__title{
    margin-top: calc(81 * (100vw / 750));
  }

  .UU240724wasi .mv__title p:first-child{
    font-size: calc(32 * (100vw / 750));
    letter-spacing: 0.1em;
  }

  .UU240724wasi .mv__title p:last-child{
    margin-top: calc(41 * (100vw / 750));
    font-size: calc(40 * (100vw / 750));
  }

  .UU240724wasi .mv__text{
    margin-top: calc(46 * (100vw / 750));
    font-size: calc(24 * (100vw / 750));
    letter-spacing: 0.11em;
  }
}



/* ===============================================### 
アニメーション設定
###=============================================== */
/*** fade ***/
.UU240724wasi .js-fade-up {
  transition-property: opacity, transform;
  transition-duration: 1.5s;
  opacity: 0;
  transform: translateY(1.5rem);
}

.UU240724wasi .js-fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

/*** line ***/
.UU240724wasi .decoration__line.isActive{
  display: block;
  width: 0;
  border-bottom: solid 1px #555;
  animation: border_anime 1.8s ease forwards;
  animation-delay: 0.5s;
}

@keyframes border_anime {
  0%{
    width: 0%;
  }
  100%{
    width: 100%;
  }
}



/* ===============================================### 
コンテンツ共通設定
###=============================================== */
.UU240724wasi .content{
  width: var(--content-width);
  margin-inline: auto;
}

.UU240724wasi .flex-wrapper{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
}

/*** text ***/
.UU240724wasi .content__title{
  padding-bottom: 1.2rem;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}

/************** responsive **************/
@media screen and (max-width: 767px) {
  .UU240724wasi .flex-wrapper{
    flex-direction: column;
  }

  /*** text ***/
  .UU240724wasi .content__title{
    padding-bottom: calc(11 * (100vw / 750));
    font-size: calc(34 * (100vw / 750));
    letter-spacing: 0.08em;
    line-height: 1.7;
  }
}



/* ===============================================### 
コンテンツ01
###=============================================== */
.UU240724wasi .content01{
  margin-top: 9.3rem;
}

.UU240724wasi .content01 .content__item{
  margin-top: 4rem;
  margin-left: 0.1rem;
}

/*** flex ***/
.UU240724wasi .content01 .flex-wrapper{
  align-items: center;
}

/*** text ***/
.UU240724wasi .content01 .content__title{
  margin-left: -0.4rem;
}

.UU240724wasi .content01 .content__text{
  width: 26rem;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.065em;
  text-align: justify;
}

/*** image ***/
.UU240724wasi .content01 .content__image{
  width: 37.5rem;
}


/************** responsive **************/
@media screen and (max-width: 767px) {
  .UU240724wasi .content01{
    margin-top: calc(137 * (100vw / 750));
  }

  .UU240724wasi .content01 .content__item{
    margin-top: calc(60 * (100vw / 750));
    margin-left: 0;
  }

  /*** text ***/
  .UU240724wasi .content01 .content__title{
    margin-left: calc(-2 * (100vw / 750));
  }

  .UU240724wasi .content01 .content__text{
    width: fit-content;
    margin-top: calc(50 * (100vw / 750));
    font-size: calc(24 * (100vw / 750));
    letter-spacing: 0.05em;
  }

  /*** image ***/
  .UU240724wasi .content01 .content__image{
    width: calc(660 * (100vw / 750));
  } 
}



/* ===============================================### 
コンテンツ02
###=============================================== */
.UU240724wasi .content02{
  margin-top: 4.5rem;
}

/*** slide ***/
.UU240724wasi .slide__image{
  width: 22rem;
}


/************** responsive **************/
@media screen and (max-width: 767px) {
  .UU240724wasi .content02{
    width: 100%;
    margin-top: calc(106 * (100vw / 750));
  }

  /*** flex ***/
  .UU240724wasi .content02 .flex-wrapper{
    flex-direction: row;
  }

  /*** slide ***/
  .UU240724wasi .slide__image{
    width: fit-content;
  }

  .UU240724wasi .slick-slide{
    margin-left: calc(15 * (100vw / 750));
    width: calc(400 * (100vw / 750));  
  }
}



/* ===============================================### 
コンテンツ03
###=============================================== */
.UU240724wasi .content03{
  margin-top: 12rem;
}

/*** text ***/
.UU240724wasi .content03 .content__title{
  margin-left: -0.3rem;
}

.UU240724wasi .content03 .content__text{
  margin-top: 3.8rem;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.065em;
  text-align: justify;
}

/*** image ***/
.UU240724wasi .content03 .content__image{
  width: 47.2rem;
  margin-top: 4rem;
  margin-inline: auto;
}

/************** responsive **************/
@media screen and (max-width: 767px) {
  .UU240724wasi .content03{
    margin-top: calc(151 * (100vw / 750));
  }

  /*** text ***/
  .UU240724wasi .content03 .content__title{
    margin-left: calc(-6 * (100vw / 750));
  }

  .UU240724wasi .content03 .content__text{
    margin-top: calc(50 * (100vw / 750));
    font-size: calc(24 * (100vw / 750));
    letter-spacing: 0.05em;
  }

  /*** image ***/
  .UU240724wasi .content03 .content__image{
    width: calc(660 * (100vw / 750));
    margin-top: calc(60 * (100vw / 750));
    margin-inline: auto;
  }
}



/* ===============================================### 
コンテンツ04
###=============================================== */
.UU240724wasi .content04{
  margin-top: 11.2rem;
  width: 100vw;
  height: 100%;
  background: url('../img/pc/content04_bg.jpg') no-repeat top center;
  background-size: cover;
}

/*** image ***/
.UU240724wasi .content04 .content__image{
  width: 62rem;
  margin-inline: auto;
  padding-top: 8rem;
  padding-bottom: 8rem;
}

/************** responsive **************/
@media screen and (max-width: 767px) {
  .UU240724wasi .content04{
    margin-top: calc(146 * (100vw / 750));
    background: url('../img/sp/content04_bg.jpg') no-repeat;
    background-size: cover;
  }

  /*** image ***/
  .UU240724wasi .content04 .content__image{
    width: calc(650 * (100vw / 750));
    margin-inline: auto;
    padding-top: calc(118 * (100vw / 750));
    padding-bottom: calc(120 * (100vw / 750));
  }
}



/* ===============================================### 
コンテンツ05
###=============================================== */
.UU240724wasi .content05{
  margin-top: 12rem;
}

/*** flex ***/
.UU240724wasi .content05 .flex-wrapper{
  margin-top: 4rem;
}

/*** text ***/
.UU240724wasi .content05 .content__text{
  margin-top: 3.8rem;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.055em;
  text-align: justify;
}

/*** image ***/
.UU240724wasi .content05 .content__image{
  width: 32rem;
}


/************** responsive **************/
@media screen and (max-width: 767px) {
  .UU240724wasi .content05{
    margin-top: calc(148 * (100vw / 750));
  }

  /*** text ***/
  .UU240724wasi .content05 .content__text{
    margin-top: calc(50 * (100vw / 750));
    font-size: calc(24 * (100vw / 750));
    letter-spacing: 0.05em;
  }

  /*** image ***/
  .UU240724wasi .content05 .content__image{
    width: calc(660 * (100vw / 750));
    margin-top: calc(40 * (100vw / 750));
  }

  .UU240724wasi .content05 .content__image.image01{
    margin-top: calc(60 * (100vw / 750));
  }
}


/* ===============================================### 
リンクボタン
###=============================================== */
.UU240724wasi .link-area{
  margin-top: 11.2rem;
  margin-bottom: 12rem;
}

.UU240724wasi .link-area .link__button{
  width: 44rem;
  margin-inline: auto;
}

/************** responsive **************/
@media screen and (max-width: 767px) {
  .UU240724wasi .link-area{
    margin-top: calc(126 * (100vw / 750));
    margin-bottom: calc(68 * (100vw / 750));
  }

  .UU240724wasi .link-area .link__button{
    width: calc(540 * (100vw / 750));
  }
}