@media (min-width: 768px) {
  .hidden-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .hidden-desktop {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .hidden-mobile {
    display: none !important;
  }
}

@media screen and (max-width: 1401px) {
  html {
    font-size: calc(10 * (100vw / 1400));
  }
}

.featurepage__container {
  --font-en: "ivyora-display", sans-serif;
  --font-ja: "ryo-text-plusn", serif;
  font-family: var(--font-en), var(--font-ja);
  padding-bottom: calc(290* (100vw / 750));
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  overflow: hidden;
}

@media (min-width: 768px) {
  .featurepage__container {
    position: relative;
    padding-bottom: 136px;
  }

  .featurepage__container::before {
    position: absolute;
    content: "";
    background-color: #58595B;
    width: calc(750 * (100vw / 750));
    height: 1px;
    left: 0;
    bottom: 0;
  }


}

@media (min-width: 768px) {
  .featurepage__container {
    position: relative;
    padding-bottom: 14.3rem;
  }

  .featurepage__container::before {
    position: absolute;
    content: "";
    background-color: #58595B;
    width: 110rem;
    height: 1px;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    bottom: 0;
  }


}

.featurepage__container img,
.featurepage__container svg {
  display: block;
  width: 100%;
  height: auto;
}

.featurepage__container .js-featureimage__slide {
  position: relative;
}

.featurepage__container .js-featureimage__slide .slick-dots {
  position: absolute;
  left: calc(20* (100vw / 750));
  bottom: calc(20* (100vw / 750));
  margin: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(20* (100vw / 750));
}

.featurepage__container .js-featureimage__slide .slick-dots li {
  margin: 0 0;
}

.featurepage__container .js-featureimage__slide .slick-dots li button {
  width: calc(10* (100vw / 750));
  height: calc(10* (100vw / 750));
  margin: 0 0;
  border-color: #000;
}

.featurepage__container .js-featureimage__slide .slick-dots li.slick-active button {
  background-color: #000;
}

@media (min-width: 768px) {
  .featurepage__container .js-featureimage__slide .slick-dots {
    right: auto;
    left: 10px;
    bottom: 10px;
    gap: 12px;
  }

  .featurepage__container .js-featureimage__slide .slick-dots li button {
    width: 0.6rem;
    height: 0.6rem;
    margin: 0 0;
  }
}

@media (min-width: 768px) {
  .featurepage__container .js-featureimage__slide .slick-dots {
    right: auto;
    left: calc(8* (100vw / 1400));
    bottom: calc(9* (100vw / 1400));
    gap: calc(9* (100vw / 1400));

  }

  .featurepage__container .js-featureimage__slide .slick-dots li button {
    width: 0.6rem;
    height: 0.6rem;
    margin: 0 0;
  }
}

.featurepage__primaryTitle {
  position: relative;
  z-index: 2;
}

@media (min-width: 768px) {
  .featurepage__primaryTitle::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--color-white);
    position: absolute;
    bottom: 172px;
    left: 0;
    z-index: -1;
  }

}

@media (min-width: 768px) {
  .featurepage__primaryTitle::after {
    content: "";
    display: block;
    width: 100%;
    height: calc(1* (100vw / 1400));
    background-color: var(--color-white);
    position: absolute;
    bottom: calc(172* (100vw / 1400));
    left: 0;
    z-index: -1;
  }

}



/* SP */
@media (max-width: 767px) {
  .mv_img {
    width: calc(750 * (100vw / 750));
    margin: 0 auto;
    padding: 0;
  }


  .featurepage__description {
    font-family: "ryo-text-plusn", serif;
    font-weight: 400;
    font-style: normal;
    font-size: calc(25* (100vw / 750));
    line-height: 2;
    letter-spacing: 0.12em;
    text-align: center;
    padding-top: calc(110* (100vw / 750));
    padding-bottom: calc(126* (100vw / 750));
    color: #58595b;
  }

  .profile_area {
    position: relative;
    padding-bottom: calc(63 * (100vw / 750));
  }

  .profile_area::before {
    position: absolute;
    content: "";
    background-color: #58595b;
    width: 100vw;
    height: 1px;
    left: 0%;
    top: calc(28 * (100vw / 750));
    z-index: -1;
    padding: 0 calc(50vw - 50%);
    margin: 0 calc(50% - 50vw);
  }

  .profile_area::after {
    position: absolute;
    content: "";
    background-color: #58595b;
    width: 100vw;
    height: 1px;
    left: 0%;
    bottom: 0;
    z-index: -1;
    padding: 0 calc(50vw - 50%);
    margin: 0 calc(50% - 50vw);
  }


  .profile_area h3 {
    transform: translateX(calc(2*(100vw / 750)));
    font-size: calc(32 * (100vw / 750));
    letter-spacing: 0.08em;
    line-height: 1.5503125;
    text-align: center;
    background-color: #fff;
    width: calc(257 * (100vw / 750));
    margin-left: auto;
    margin-right: auto;

  }

  .profile_flexArea {
    transform: translateX(calc(2 * (100vw / 750)));
    width: calc(537 * (100vw / 750));
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(44 * (100vw / 750));
  }

  .profile_img {
    width: calc(230 * (100vw / 750));
  }

  .profile_text_area {
    font-family: "ryo-text-plusn", serif;
    font-size: calc(24 * (100vw / 750));
    color: #58595B;
    letter-spacing: 0.07em;
    line-height: 1.95;
    margin-top: calc(38 * (100vw / 750));
  }

  .profile_text_area .pro_jp .pro_en {
    padding-left: calc(4 * (100vw / 750));
    letter-spacing: .08em;
  }

  .pro_en {
    font-family: "ivyora-display", sans-serif;
    font-weight: 400;
    font-size: calc(26 * (100vw / 750));
  }

  /* インスタアイコン */
  .insta_detail {
    font-size: calc(24 * (100vw / 750));
    margin-left: calc(40 * (100vw / 750));
    letter-spacing: 0.02em;
    gap: calc(280 * (100vw / 750));
    display: flex;
  }


  .fa-instagram:before {
    content: "\f16d";
  }

  #FR240418summer i.fa-brands.fa-instagram {
    margin-right: 1.3rem;
    font-family: "Font Awesome 6 Brands";
    font-size: calc(26 * (100vw / 750));
    top: 0.4rem;
    position: relative;
  }


  /* 共通 */
  .sec_title {
    font-size: calc(48 * (100vw / 750));
    letter-spacing: 0.075em;
    line-height: 1.03354166667;
    font-weight: 600;
  }

  .sec_number {
    font-size: calc(111 * (100vw / 750));
    color: #E0E0E0;
    font-family: "ivyora-display", sans-serif;
    font-weight: 400;
    font-style: italic;
    position: absolute;
    z-index: -1;
    letter-spacing: 0.06em;
  }

  .sec_detail {
    font-family: "ryo-text-plusn", serif;
    font-weight: 400;
    font-style: normal;
    font-size: calc(25 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.12em;
    color: #58595b;
  }

  .credit_area {
    font-size: calc(22 * (100vw / 750));
    letter-spacing: 0.06em;
    line-height: 1.75;
    color: #58595b;
  }


  /* section01 */
  .section01 {
    margin-top: calc(202 * (100vw / 750));
    position: relative;
  }

  .section01::before {
    position: absolute;
    content: "";
    width: calc(300 * (100vw / 750));
    height: calc(900 * (100vw / 750));
    background-color: #EDF1F7;
    right: 0;
    top: calc(475 * (100vw / 750));
    z-index: -1;
  }

  .section01 .sec_number {
    right: calc(270 * (100vw / 750));
    top: calc(-43 * (100vw / 750));
  }

  .section01 .sec_detail {
    top: calc(84 * (100vw / 750));
    position: relative;
  }

  .section01 .title_area {
    margin-left: calc(40 * (100vw / 750));
  }


  /* section01スライド */
  .featurepage__container .js-featureimage__slide {
    position: relative;
  }

  .section01 .featurepage__section--image[data-imgIndex="2"] {
    width: calc(615* (100vw / 750));
    margin-top: calc(150* (100vw / 750));
    margin-left: calc(40* (100vw / 750));
    margin-right: auto;
  }

  /* 単体画像 */
  .section01_imaArea {
    width: calc(570 * (100vw / 750));
    margin-left: calc(140 * (100vw / 750));
    margin-top: calc(60 * (100vw / 750));
  }

  .section01 .credit_area {
    text-align: right;
    margin-left: auto;
    margin-right: calc(38 * (100vw / 750));
    margin-top: calc(32 * (100vw / 750));
  }



  /* section02 */
  .section02 {
    position: relative;
    margin-top: calc(217 * (100vw / 750));
    padding-bottom: calc(40 * (100vw / 750));
  }


  .section02::before {
    position: absolute;
    content: "";
    width: calc(620 * (100vw / 750));
    height: calc(1980 * (100vw / 750));
    background-color: #F7F5E2;
    left: 0;
    top: calc(110 * (100vw / 750));
    z-index: -1;
  }


  .section02 .sec_title {
    text-align: right;
    margin-right: calc(39 * (100vw / 750));
  }

  .section02 .sec_number {
    right: calc(437 * (100vw / 750));
    top: calc(-45 * (100vw / 750));
  }

  .section02 .sec_detail {
    top: calc(84 * (100vw / 750));
    margin-right: calc(40 * (100vw / 750));
    text-align: right;
  }

  .section02 .title_area {
    margin-left: calc(40 * (100vw / 750));
  }

  .section02_imaArea {
    width: calc(660 * (100vw / 750));
    margin-left: auto;
    margin-top: calc(150 * (100vw / 750));
  }

  /* section02スライド */
  .featurepage__container .js-featureimage__slide {
    position: relative;
  }

  .section02 .featurepage__section--image[data-imgIndex="2"] {
    width: calc(540* (100vw / 750));
    margin-top: calc(60* (100vw / 750));
    margin-left: 0;
    margin-right: auto;
  }

  .section02 .credit_area {
    text-align: left;
    margin-left: calc(60 * (100vw / 750));
    margin-top: calc(32 * (100vw / 750));
  }



  /* section03 */
  .section03 {
    margin-top: calc(245 * (100vw / 750));
    text-align: center;
    position: relative;
  }

  .section03::before {
    position: absolute;
    content: "";
    width: calc(750 * (100vw / 750));
    height: calc(600 * (100vw / 750));
    background-color: #EFEFEF;
    left: 0;
    top: calc(1240 * (100vw / 750));
    z-index: -1;
  }


  .section03 .sec_number {
    right: calc(315 * (100vw / 750));
    top: calc(-70 * (100vw / 750));
  }

  .section03 .sec_detail {
    top: calc(86 * (100vw / 750));
  }

  /* section03スライド */
  .section03 .featurepage__section--image[data-imgIndex="2"] {
    width: calc(750* (100vw / 750));
    margin-top: calc(152* (100vw / 750));
    margin-left: auto;
    margin-right: auto;
  }

  .section03_imaArea {
    width: calc(570 * (100vw / 750));
    margin-left: auto;
    margin-right: auto;
    margin-top: calc(62 * (100vw / 750));
  }

  .section03 .credit_area {
    margin-top: calc(33 * (100vw / 750));
  }



  .section04 {
    position: relative;
    margin-top: calc(217 * (100vw / 750));
  }

  .section04::before {
    position: absolute;
    content: "";
    width: calc(370 * (100vw / 750));
    height: calc(470 * (100vw / 750));
    background-color: #E6F4E7;
    right: 0;
    top: calc(1009 * (100vw / 750));
    z-index: -1;
  }

  .section04 .title_area {
    margin-left: calc(41 * (100vw / 750));
  }

  .section04 .sec_number {
    right: calc(297 * (100vw / 750));
    top: calc(-45 * (100vw / 750));
  }

  .section04 .sec_detail {
    top: calc(89 * (100vw / 750));
    margin-left: calc(3 * (100vw / 750));
  }

  .section04_imaArea {
    width: calc(525 * (100vw / 750));
    margin-left: 0;
    margin-top: calc(154 * (100vw / 750));
  }

  .section04_imaArea.section04_imaArea-02 {
    width: calc(630 * (100vw / 750));
    margin-left: auto;
    margin-right: calc(50 * (100vw / 750));
    margin-top: calc(109 * (100vw / 750));
  }

  .section04 .credit_area {
    text-align: right;
    margin-right: calc(50 * (100vw / 750));
    margin-top: calc(28 * (100vw / 750));
  }



  /* section05 */
  .section05 {
    margin-top: calc(240 * (100vw / 750));
    text-align: center;
    position: relative;
  }

  .section05::before {
    position: absolute;
    content: "";
    width: calc(580 * (100vw / 750));
    height: calc(1170 * (100vw / 750));
    background-color: #F4F2ED;
    left: calc(50 * (100vw / 750));
    top: calc(568 * (100vw / 750));
    z-index: -1;
  }


  .section05 .sec_number {
    right: calc(320 * (100vw / 750));
    top: calc(-72 * (100vw / 750));
  }

  .section05 .sec_detail {
    top: calc(89 * (100vw / 750));
  }

  /* section05スライド */
  .featurepage__container .js-featureimage__slide {
    position: relative;
  }

  .section05 .featurepage__section--image[data-imgIndex="2"] {
    width: calc(555* (100vw / 750));
    margin-top: calc(153* (100vw / 750));
    margin-left: auto;
    margin-right: 0;
    position: relative;
    z-index: 1;
  }

  .section05_imaArea {
    width: calc(480 * (100vw / 750));
    margin-left: 0;
    margin-right: auto;
    margin-top: calc(-32 * (100vw / 750));
  }

  .section05_imaArea.section05_imaArea-02 {
    width: calc(750 * (100vw / 750));
    margin-top: calc(60 * (100vw / 750));
  }


  .section05 .credit_area {
    margin-top: calc(28 * (100vw / 750));
  }


  /* mamiのコーデ */
  .more {
    font-family: "ryo-text-plusn", serif;
    font-size: calc(24 * (100vw / 750));
    display: flex;
    justify-content: center;
    margin-top: calc(160 * (100vw / 750));
  }

  .more:hover {
    opacity: 0.5;
  }

  .more_en {
    font-size: calc(28 * (100vw / 750));
    font-family: "ivyora-display", sans-serif;
    font-weight: 400;
    font-style: normal;
  }

  .more a {
    position: relative;
    display: block;
    width: calc(456 * (100vw / 750));
    padding: calc(24 * (100vw / 750)) 0 calc(24 * (100vw / 750)) calc(49 * (100vw / 750));
    color: #000;
    border: solid 1px #000;
    text-decoration: none;
    text-align: left;
    letter-spacing: 0.12em;
  }

  /* アイコンのスタイル */
  .more.btn-arrow-right a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 27px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
    box-sizing: border-box;
  }


}

/* sec_titleに疑似要素で数字をつける SP/PC共通 */
.sec_title {
  position: relative;
}

.sec_detail {
  position: relative;
}

.sec_title::before {
  content: "";
  color: #E0E0E0;
  z-index: -1;
  position: absolute;
  letter-spacing: 0.06em;
  background-repeat: no-repeat;
}

.section01 .sec_title::before {
  content: "";
  background-image: url(../../assets/img/number01_sp.svg);
  width: calc(441 * (100vw / 750));
  height: calc(83 * (100vw / 750));
  left: calc(1 * (100vw / 750));
  top: calc(-20 * (100vw / 750));
}


.section02 .sec_title::before {
  content: "";
  background-image: url(../../assets/img/number02_sp.svg);
  width: calc(513 * (100vw / 750));
  height: calc(83 * (100vw / 750));
  left: calc(157 * (100vw / 750));
  top: calc(-23 * (100vw / 750));
}

.section03 .sec_title::before {
  content: "";
  background-image: url(../../assets/img/number03_sp.svg);
  width: calc(340 * (100vw / 750));
  height: calc(93 * (100vw / 750));
  left: calc(205 * (100vw / 750));
  top: calc(-46 * (100vw / 750));
}


.section04 .sec_title::before {
  content: "";
  background-image: url(../../assets/img/number04_sp.svg);
  width: calc(413 * (100vw / 750));
  height: calc(83 * (100vw / 750));
  left: calc(0 * (100vw / 750));
  top: calc(-16 * (100vw / 750));
}


.section05 .sec_title::before {
  content: "";
  background-image: url(../../assets/img/number05_sp.svg);
  width: calc(415 * (100vw / 750));
  height: calc(93 * (100vw / 750));
  left: calc(170 * (100vw / 750));
  top: calc(-43 * (100vw / 750));
}

/* PC */
@media (min-width: 768px) {

  .section01 .sec_title::before {
    background-image: url(../../assets/img/number01_pc.svg);
    left: -2.5rem;
    top: -2rem;
    width: 26.8rem;
    height: 5.98rem;
  }


  .section02 .sec_title::before {
    background-image: url(../../assets/img/number02_pc.svg);
    left: -6.5rem;
    top: -2rem;
    width: 31rem;
    height: 5.98rem;
  }

  .section03 .sec_title::before {
    background-image: url(../../assets/img/number03_pc.svg);
    left: 9.4rem;
    top: -1.7rem;
    width: 27rem;
    height: 5.98rem;
  }


  .section04 .sec_title::before {
    background-image: url(../../assets/img/number04_pc.svg);

    left: 23.5rem;
    top: -2rem;
    width: 25.8rem;
    height: 5.98rem;

  }


  .section05 .sec_title::before {
    background-image: url(../../assets/img/number05_pc.svg);
    left: 0rem;
    top: -6.6rem;
    width: 31.8rem;
    height: 6.1rem;
  }




}

/* PC */
@media (min-width: 768px) {
  .mv_img {
    width: 120rem;
    width: 120rem;
    margin: 0 auto;
    padding: 0;
  }

  .featurepage__description {
    font-family: "ryo-text-plusn", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.3rem;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.16em;
    padding-top: 5.5rem;
    padding-bottom: 10.7rem;
    color: #58595b;
  }

  .profile_area {
    padding-bottom: 5.2rem;
    position: relative;
  }


  .profile_area::before {
    position: absolute;
    content: "";
    background-color: #58595b;
    width: 100vw;
    height: 1px;
    left: 0%;
    top: 1.2rem;
    z-index: -1;
    padding: 0 calc(50vw - 50%);
    margin: 0 calc(50% - 50vw);
  }


  .profile_area::after {
    position: absolute;
    content: "";
    background-color: #58595b;
    width: 100vw;
    height: 1px;
    left: 0%;
    bottom: 1.1rem;
    z-index: -1;
    padding: 0 calc(50vw - 50%);
    margin: 0 calc(50% - 50vw);
  }


  .profile_area h3 {
    transform: translateX(0.1rem);
    font-size: 1.9rem;
    letter-spacing: 0.08em;
    line-height: 1.5503125;
    text-align: center;
    background-color: #fff;
    width: 16rem;
    margin-left: auto;
    margin-right: auto;
  }



  .profile_flexArea {
    width: 40rem;
    display: flex;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2.9rem;
    gap: 5rem;
  }

  .profile_img {
    width: 18rem;
  }

  .profile_text_area {
    font-family: "ryo-text-plusn", serif;
    font-size: 1.4rem;
    color: #58595B;
    letter-spacing: 0.08em;
    line-height: 2.2;
    margin-top: 4.3rem;
  }

  .profile_text_area .pro_jp {
    letter-spacing: 0.03em;
  }

  .profile_text_area .pro_jp .pro_en {
    padding-left: .1rem;
    letter-spacing: .12em;
  }

  .profile_text_area .pro_en {
    letter-spacing: .06em;
  }

  .profile_text_area .insta {
    margin-left: -.2rem;
    line-height: 1;
  }

  .pro_jp {
    letter-spacing: 0.12em;
  }

  .pro_en {
    font-family: "ivyora-display", sans-serif;
    font-weight: 400;
    font-size: 1.4rem;
  }


  /* インスタアイコン */
  .insta_detail {
    font-size: 1.4rem;
    margin-left: 0;
    letter-spacing: 0.02em;
    display: flex;
  }

  .fa-instagram:before {
    content: "\f16d";
    position: relative;
    top: -0.3em;
    left: 0.2rem;
  }

  #FR240418summer i.fa-brands.fa-instagram {
    font-family: "Font Awesome 6 Brands";
    top: 0.4rem;
    position: relative;
    margin-right: 0.6rem;
  }




  /* 共通 */
  .sec_title {
    font-size: 2.8rem;
    letter-spacing: 0.075em;
    line-height: 1.03354166667;
    font-weight: 600;
  }

  .sec_number {
    font-family: "ivyora-display", sans-serif;
    font-weight: 400;
    color: #E0E0E0;
    font-style: italic;
    position: absolute;
    font-size: 8rem;
    z-index: -1;
    letter-spacing: 0.06em;

  }

  .sec_detail {
    font-family: "ryo-text-plusn", serif;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.16em;
    color: #58595b;
  }

  .credit_area {
    font-size: 1.2rem;
    letter-spacing: 0.06em;
    line-height: 1.6041666667;
    font-family: "ivyora-display", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #58595b;
  }


  /* section01 */
  .section01 {
    width: 99.8rem;
    display: grid;
    grid-template-columns: 48rem 6rem 36rem auto;
    grid-template-rows: 29.5rem 5.5rem 29rem 19rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    left: 1rem;
    margin-top: 17rem;
  }

  .section01::before {
    position: absolute;
    content: "";
    width: 24rem;
    height: 62rem;
    background-color: #EDF1F7;
    right: 0;
    top: 14.1rem;
    z-index: -1;
  }



  .section01 .title_area {
    grid-column: 3/4;
    grid-row: 1/2;
    margin-left: auto;
    text-align: right;
    margin-top: 19.6rem;
  }

  .section01 .sec_detail {
    top: 5.1rem;
  }

  .section01 .sec_number {
    top: 16rem;
    right: 30rem;
  }

  /* section01スライド */
  .section01 .featurepage__section--image[data-imgIndex="2"] {
    width: 48rem;
    margin-left: 0;
    margin-right: auto;
    grid-column: 1/2;
    grid-row: 1/4;
    margin-top: 0;
  }

  /* 単体画像 */
  .section01_imaArea {
    width: 36rem;
    margin-left: 0;
    margin-top: 0;
    grid-column: 3/4;
    grid-row: 3/5;
  }

  .section01 .credit_area {
    grid-column: 1/2;
    grid-row: 4/5;
    margin-top: 2.5rem;
  }


  /* section02 */
  .section02 {
    width: 91.5rem;
    display: grid;
    grid-template-columns: 39rem 6rem 46.5rem;
    grid-template-rows: 30rem 41.4rem 10.5rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    margin-top: 17rem;
    left: 14.3rem;
  }

  .section02::before {
    position: absolute;
    content: "";
    height: 30rem;
    background-color: #F7F5E2;
    width: 100%;
    left: -75%;
    top: 9.5rem;
    z-index: -1;
    padding: 0 calc(50vw - 50%);
    margin: 0 calc(50% - 50vw);

  }


  .section02 .title_area {
    grid-column: 1/2;
    grid-row: 1/2;
    margin-left: 0;
    text-align: left;
    margin-top: 14.6rem;
  }

  .section02 .sec_detail {
    top: 5.1rem;
  }

  .section02 .sec_number {
    top: 10.8rem;
    left: -7.5rem
  }


  /* section02スライド */
  .section02 .featurepage__section--image[data-imgIndex="2"] {
    width: 39rem;
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    grid-column: 1/2;
    grid-row: 2/4;
  }

  .section02_imaArea {
    width: 46.5rem;
    margin-left: 0;
    margin-top: 0;
    grid-column: 3/4;
    grid-row: 1/3;
  }

  .section02 .credit_area {
    grid-column: 2/4;
    grid-row: 3;
    margin-left: 3rem;
    margin-top: -0.7rem;
  }



  /* section03 */
  .section03 {
    width: 61.2rem;
    display: grid;
    text-align: center;
    margin-top: 16.5rem;
    grid-template-columns: 45rem 3rem 14.2rem;
    grid-template-rows: 12.5rem 5.5rem 68rem 6rem 52rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    left: 5rem;
  }

  .section03::before {
    content: "";
    position: absolute;
    background: #EFEFEF;
    width: 100%;
    height: 76rem;
    left: -8%;
    top: 46.5rem;
    z-index: -1;
    padding: 0 calc(50vw - 50%);
    margin: 0 calc(50% - 50vw);
  }

  .section03 .title_area {
    margin-top: 2.5rem;
    margin-left: 6.2rem;
  }

  .section03 .sec_detail {
    top: 5.1rem;
  }

  .section03 .sec_number {
    right: 18.7rem;
    top: -1.1rem;
  }

  /* section03スライド */
  .section03 .featurepage__section--image[data-imgIndex="2"] {
    width: 51rem;
    margin-top: 0;
    grid-column: 1/4;
    grid-row: 3/5;
  }

  .section03_imaArea {
    width: 39rem;
    margin-top: 0;
    grid-column: 1/2;
    grid-row: 5/6;
    margin-left: auto;
    margin-right: 0;
  }

  .section03 .credit_area {
    grid-column: 3/4;
    grid-row: 5/6;
    text-align: left;
    margin-top: auto;
    margin-bottom: -0.1rem;
  }




  /* section04 */
  .section04 {
    width: 91.5rem;
    display: grid;
    margin-top: 17rem;
    grid-template-columns: 36rem 6rem 49.5rem;
    grid-template-rows: 21rem 26.8rem 2.7rem 36.5rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    left: 2.8rem;
    padding-bottom: 5rem;
  }


  .section04::before {
    position: absolute;
    content: "";
    width: 42rem;
    height: 38rem;
    background-color: #E6F4E7;
    right: -8rem;
    bottom: 0;
    z-index: -1;
  }

  .section04 .title_area {
    grid-column: 3/4;
    grid-row: 1/2;
    text-align: right;
    margin-top: 5.6rem;
  }

  .section04 .sec_number {
    right: 17rem;
    top: 1.8rem;
  }

  .section04 .sec_detail {
    top: 5.2rem;
    margin-right: -.2rem;
  }

  .section04_imaArea {
    width: 36rem;
    margin-left: 0;
    margin-top: 0;
    grid-column: 1/2;
    grid-row: 1/3;
  }

  .section04_imaArea.section04_imaArea-02 {
    width: 49.5rem;
    margin-left: auto;
    margin-right: 0;
    margin-top: 0;
    grid-column: 3/4;
    grid-row: 2/5;
  }

  .section04 .credit_area {
    grid-column: 1/2;
    grid-row: 4/5;
  }



  /* section05 */
  .section05 {
    width: 106.5rem;
    display: grid;
    margin-top: 12.3rem;
    grid-template-columns: 19.5rem 34.5rem 25.5rem 2.7rem 24.3rem;
    grid-template-rows: 32.1rem 6rem 20rem 12rem 78.1rem;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    left: 0.8rem;

  }

  .section05::before {
    position: absolute;
    content: "";
    width: 33rem;
    height: 93rem;
    background-color: #F4F2ED;
    left: 15.5rem;
    top: 19.5rem;
    z-index: -1;
  }


  .section05 .title_area {
    grid-column: 2/3;
    grid-row: 1/3;
    margin-top: auto;
    margin-bottom: 0.9rem;
  }

  .section05 .sec_detail {
    top: 0.5rem;
  }

  .section05 .sec_number {
    left: 41rem;
    top: 23rem;
  }

  /* section05スライド */
  .featurepage__container .js-featureimage__slide {
    position: relative;
  }

  .section05 .featurepage__section--image[data-imgIndex="2"] {
    width: 45rem;
    margin-right: 0;
    grid-column: 3/6;
    grid-row: 1/5;
    margin-top: 4.4rem;
    margin-left: auto;

  }

  .section05_imaArea {
    width: 30rem;
    margin-left: 0;
    margin-right: 0;
    grid-column: 1/3;
    grid-row: 3/5;
    margin-top: 6.2rem;
  }

  .section05_imaArea.section05_imaArea-02 {
    width: 54rem;
    margin-top: 6.3rem;
    margin-left: auto;
    grid-column: 2/4;
    grid-row: 5/6;
  }


  .section05 .credit_area {
    grid-column: 5/6;
    grid-row: 5/6;
    margin-top: auto;
    margin-bottom: -0.7rem;
    margin-left: 0.3rem;
  }



  /* mamiのコーデ */
  .more {
    font-family: "ryo-text-plusn", serif;
    font-size: 1.3rem;
    display: flex;
    justify-content: center;
    margin-top: 14.4rem;
  }

  .more:hover {
    opacity: 0.5;
  }

  .more_en {
    font-size: 1.6rem;
    font-family: "ivyora-display", sans-serif;
    font-weight: 400;
    font-style: normal;
  }

  .more a {
    position: relative;
    display: block;
    width: 230px;
    padding: 1.5rem 2.8rem 1.7rem 0.5rem;
    color: #000;
    border: solid 1px #000;
    text-decoration: none;
    text-align: center;
    letter-spacing: 0.16em;
  }

  /* アイコンのスタイル */
  .more.btn-arrow-right a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 31px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
    box-sizing: border-box;
  }



}



@media (max-width: 767px) {
  .featurepage__section--credit__link:not(:last-child)::after {
    content: ",";
    display: inline-block;
    padding-right: 0.5rem;
  }

}


.featurepage__buttonwrap {
  font-family: var(--font-en);
  position: relative;
  font-weight: 500;
  margin-left: auto;
  margin-right: auto;
  margin-top: calc(32 * (100vw / 750));
  line-height: 1;
  text-align: center;
  border-bottom: double medium #ababab;
  font-size: calc(40 * (100vw / 750));
  left: calc(264 * (100vw / 750));
  top: calc(94 * (100vw / 750));

  padding-bottom: calc(9 * (100vw / 750));
  letter-spacing: 0.08em;
}

@media (min-width: 768px) {
  .mainvisual .mainvisual--main_banner {
    width: 120rem;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
  }


  .featurepage__buttonwrap {
    display: inline-block;
    margin-top: 6.7rem;
    margin-left: -.5rem;
    margin-bottom: 0;
    font-size: 2rem;
    left: 46.6%;
    top: 0;
    padding-bottom: 0.9rem;
    letter-spacing: 0.08em;

  }

  .featurepage__button--all {
    display: inline-block;
    letter-spacing: 0.06em;
    line-height: 1;
    position: relative;
    padding-bottom: 2px;
    border-bottom: 0.25px solid var(--color-white);
  }

  .featurepage__button--all::after {
    height: 0.25px;
    margin-top: 5px;
  }

}

@media (min-width: 768px) {

  .mainvisual .mainvisual--main_banner {
    width: 120rem;
    margin: 0 auto;
    padding: 0;
  }



  .featurepage__button--all {
    display: inline-block;
    position: relative;
    padding-bottom: calc(2* (100vw / 1400));
    border-bottom: calc(0.25* (100vw / 1400)) solid var(--color-white);
  }

  .featurepage__button--all::after {
    height: calc(0.25* (100vw / 1400));
    margin-top: calc(5* (100vw / 1400));
  }

}

.js-inview {
  opacity: 0;
  transition-duration: 1.2s;
  transform: translateY(50px);
}

.js-onload {
  opacity: 0;
  -webkit-transition: opacity 1s ease;
  transition: opacity 1s ease;
  -webkit-transition-duration: 0.8s;
  transition-duration: 0.8s;
}

.js-inview.is-active,
.js-onload.is-active {
  opacity: 1;
  transform: translateY(0);
}

[data-imgIndex="1"] {
  -webkit-transition-delay: 0;
  transition-delay: 0;
}

[data-imgIndex="2"] {
  -webkit-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

[data-imgIndex="3"] {
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

[data-imgIndex="4"] {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.archive {
  width: 100% !important;
}

/*# sourceMappingURL=style.css.map */