@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
/* -----------------------------------------------
common
----------------------------------------------- */
main :is(h1,h2,h3,h4,h5,h6,p) {
  margin-top: 0;
  margin-bottom: 0;
}
main :is(picture, img) {
  width: 100%;
}

@media screen and (max-width: 750px) {
  .inner_wrap:not(.slider_product_category) .product_category {
    padding: 74px 0 6px;
  }
}

@media screen and (min-width: 751px) {
  main {
    max-width: 1340px;
    margin-inline: auto;
  }
  .inner_wrap:not(.slider_product_category) .product_category {
    padding: 120px 0 10px;
  }
}

/* -----------------------------------------------
mv_wrap
----------------------------------------------- */
.mv_wrap {
  position: relative;
}
.mv_wrap .text_wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.story_heading {
  text-align: center;
  color: #fff;
}
.story_heading strong {
  display: block;
  font-weight: normal;
}
.story_heading h1 span {
  display: block;
}

@media screen and (max-width: 750px) {
  .story_heading strong {
    font-size: 9px;
    line-height: 1.8;
    letter-spacing: 0.8em;
  }
  .story_heading h1 {
    font-size: 31px;
    line-height: 1;
    letter-spacing: 0;
    margin-top: 11px;
  }
  .story_heading h1 span {
    font-size: 11px;
    line-height: 1;
    letter-spacing: 0.2em;
  }
}

@media screen and (min-width: 751px) {
  .story_heading strong {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.8em;
  }
  .story_heading h1 {
    font-size: 40px;
    line-height: 1;
    letter-spacing: 0;
    margin-top: 17px;
  }
  .story_heading h1 span {
    font-size: 15px;
    line-height: 1;
  }
}

/* -----------------------------------------------
content_sora_wrap
----------------------------------------------- */
.content_sora_wrap .fx_wrap .text strong {
  display: block;
}
.content_sora_wrap .fx_wrap .text h2,
.content_sora_wrap .fx_wrap .text p {
  font-family: "hiragino-mincho-pron", sans-serif;
}

@media screen and (max-width: 750px) {
  .content_sora_wrap {
    margin: 70px auto 0;
    width: 73.33%;
  }
  .content_sora_wrap .fx_wrap .text strong {
    font-size: 9px;
    line-height: 1;
    letter-spacing: 0.2em;
  }
  .content_sora_wrap .fx_wrap .text h2 {
    font-size: 28px;
    line-height: 1.39;
    letter-spacing: 0.8em;
    margin-top: 18px;
    width: calc(100vw - 13.335%);
  }
  .content_sora_wrap .fx_wrap .text p {
    font-size: 14px;
    line-height: 1.96;
    letter-spacing: 0;
    margin-top: 34px;
  }
  .content_sora_wrap .img_wrap {
    margin-top: 58px;
  }
  .content_sora_wrap .img_wrap.sp picture {
    display: block;
  }
  .content_sora_wrap .img_wrap.sp picture + picture {
    margin-top: 16px;
  }
}

@media screen and (min-width: 751px) {
  .content_sora_wrap {
    margin-top: 149px;
    overflow: hidden;
  }
  .content_sora_wrap .fx_wrap {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 1340px;
    position: relative;
    left: 50%;
    translate: -50% 0;
  }
  .content_sora_wrap .fx_wrap .img_01 {
    width: 350px;
    display: flex;
    align-items: flex-end;
  }
  .content_sora_wrap .fx_wrap .img_02 {
    width: 350px;
  }
  .content_sora_wrap .fx_wrap .text {
    width: 350px;
    padding-bottom: 41px;
  }
  .content_sora_wrap .fx_wrap .text strong {
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.2em;
  }
  .content_sora_wrap .fx_wrap .text h2 {
    font-size: 35px;
    line-height: 1.51;
    letter-spacing: 0.8em;
    margin-top: 33px;
    width: 405px;
  }
  .content_sora_wrap .fx_wrap .text p {
    font-size: 15px;
    line-height: 2.33;
    letter-spacing: 0;
    margin-top: 34px;
  }
  .content_sora_wrap .img_wrap {
    margin-top: 11px;
  }
}

/* -----------------------------------------------
content_donten_wrap
----------------------------------------------- */
.content_donten_wrap .fx_wrap .text strong {
  display: block;
}
.content_donten_wrap .fx_wrap .text h2,
.content_donten_wrap .fx_wrap .text p {
  font-family: "hiragino-mincho-pron", sans-serif;
}

@media screen and (max-width: 750px) {
  .content_donten_wrap {
    margin: 62px auto 66px;
    width: 73.33%;
  }
  .content_donten_wrap .fx_wrap .text strong {
    font-size: 9px;
    line-height: 1;
    letter-spacing: 0.2em;
  }
  .content_donten_wrap .fx_wrap .text h2 {
    font-size: 28px;
    line-height: 1.39;
    letter-spacing: 0.8em;
    width: calc(100vw - 13.335%);
  }
  .content_donten_wrap .fx_wrap .text p {
    font-size: 14px;
    line-height: 1.96;
    letter-spacing: 0;
    margin-top: 26px;
  }
  .content_donten_wrap .img_wrap {
    margin-top: 58px;
  }
  .content_donten_wrap .img_wrap.sp picture {
    display: block;
  }
  .content_donten_wrap .img_wrap.sp picture.w_100 {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  .content_donten_wrap .img_wrap.sp picture + picture {
    margin-top: 16px;
  }
}

@media screen and (min-width: 751px) {
  .content_donten_wrap {
    margin: 76px 0 173px;
    overflow-x: hidden;
  }
  .content_donten_wrap .fx_wrap {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 1340px;
    position: relative;
    left: 50%;
    translate: -50% 0;
    margin-top: 157px;
  }
  .content_donten_wrap .fx_wrap .img_01 {
    width: 350px;
  }
  .content_donten_wrap .fx_wrap .img_02 {
    width: 350px;
    display: flex;
    align-items: flex-end;
  }
  .content_donten_wrap .fx_wrap .text {
    width: 350px;
    padding-bottom: 190px;
  }
  .content_donten_wrap .fx_wrap .text strong {
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.2em;
  }
  .content_donten_wrap .fx_wrap .text h2 {
    font-size: 35px;
    line-height: 1.51;
    letter-spacing: 0.8em;
    width: 410px;
  }
  .content_donten_wrap .fx_wrap .text p {
    font-size: 15px;
    line-height: 2.33;
    letter-spacing: 0;
    margin-top: 34px;
  }
}
