@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Ropa+Sans:ital@0;1&display=swap');

.archive {
  border-top: none !important;
}

/* ▼ -----------可変設定---------- ▼ */
.lpMainWrap {
  --pc-width: 1400;
  /*PCデザイン幅*/
  --sp-width: 750;
  /*SPデザイン幅*/
  --pc-artboard-width: 430;
  /*SP共通デザイン幅*/
  --sp-artboard-width: 750;
  /*PC共通デザイン幅*/
  --formula: calc(var(--variable) * var(--ratio));
  /*SP→PC 可変設定*/
  --formula_pc: calc(var(--variable) * 1);
  /*PC 1400以上は固定*/
}

/* PC画面幅 1400px以上 固定 */
@media (min-width: 1401px) {
  .lpMainWrap {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width));
    /* PCとSPのデザイン幅の比率 */
    --variable: 1px;
    /*  固定値（可変しない） */
  }
}

/* PC画面幅 768～1400px 可変 */
@media (min-width: 768px) and (max-width: 1400px) {
  .lpMainWrap {
    --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width));
    /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width));
    /* 画面幅に基づく可変値 */
  }
}

/* SP画面幅 767px以下 可変 */
@media (max-width: 767px) {
  .lpMainWrap {
    --ratio: 1;
    /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width));
    /* 画面幅に基づく可変値 */
  }
}

/* ▲ -----------可変設定---------- ▲ */


/*******************************
FR251031coat
*******************************/
#FR251031coat {
  display: block;
  width: 100%;
  border-bottom: 1px solid #000000;
  box-sizing: border-box;
  overflow: clip;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-weight: 350;
  text-align: center;
}

#FR251031coat .font_en {
  font-family: "century-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

#FR251031coat .font_ja {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 350;
  font-style: normal;
  font-size: calc(18 * var(--formula));
  letter-spacing: 0.05em;
  display: inline-block;
}

@media screen and (max-width:767px) {
  #FR251031coat {
    padding: 0 0 calc(0 * var(--formula));
  }
}

#FR251031coat * {
  box-sizing: border-box;
}


#FR251031coat .lpSection {
  display: block;
  width: 100%;
}

/*******************************
img setting
*******************************/
#FR251031coat .imgOuter {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}

#FR251031coat .imgOuter>.outer,
#FR251031coat .imgOuter picture,
#FR251031coat .imgOuter img {
  display: block;
  width: 100%;
  height: auto;
}

#FR251031coat .imgOuter>a {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: auto;
}

/*******************************
figSlider
*******************************/
#FR251031coat .figSlider {
  overflow: hidden;
  position: relative;
}


#FR251031coat #sec01 .figSlider,
#FR251031coat #sec07 .figSlider {
  background: #000000;
}


#FR251031coat .figSlider .container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 20;
}

#FR251031coat .figSlider .sliderWrapper {}

#FR251031coat .figSlider .slider {
  display: block;
  width: 100%;
  background: #FFFFFF;
}

#FR251031coat .figSlider .slider a {
  display: block;
  width: 100%;
  height: auto;
}

#FR251031coat .figSlider .slider a>img {
  display: block;
  width: 100%;
  height: auto;
}

#FR251031coat .figSlider .slider.swiper-slide-active {
  pointer-events: auto;
}

#FR251031coat .figSlider ul.pager {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0 calc(12 * var(--formula));
  width: calc(100% - 40 * var(--formula));
  position: absolute;
  left: calc(20 * var(--formula));
  bottom: calc(20 * var(--formula));
  z-index: 20;
}

#FR251031coat .figSlider ul.pager>li {
  display: block;
  width: calc(10 * var(--formula));
  height: calc(10 * var(--formula));
  background-color: inherit;
  border: 1px solid #000;
  border-radius: 50%;
  margin-left: 0;
  margin-right: 0;
  transition: background 0.3s ease;
  cursor: pointer;
  opacity: 1;
  pointer-events: auto;
}

#FR251031coat .figSlider ul.pager>li.swiper-pagination-bullet-active {
  opacity: 1;
  background: #000;
}



/*******************************
fadeInSetting
*******************************/
#FR251031coat .fadeInBlock {
  opacity: 0;
  /* transform: translateY(calc(100 * var(--formula))); */
  filter: blur(10px);
  transition: transform 0.8s ease, opacity 0.8s ease, filter 0.8s ease;
}

#FR251031coat .fadeInBlock.fade_left {
  transform: translateX(calc(-100 * var(--formula)));
}

#FR251031coat .fadeInBlock.fade_right {
  transform: translateX(calc(100 * var(--formula)));
}

#FR251031coat .fadeInBlock.fade_bottom {
  transform: translateY(calc(100 * var(--formula)));
}

#FR251031coat .js-fade_center {
  opacity: 0;
  transform: translateX(calc(100 * var(--formula)));
  transition: transform 1.1s ease, opacity 1.1s ease;
}

#FR251031coat .js-fade_center.move_left {
  transform: translateX(calc(-100 * var(--formula)));
}

#FR251031coat .fadeInBlock.fadeInClip {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  /* display: block; */
  transition: .5s ease .5s;
  translate: 0 100%;
  opacity: 1;
}

#FR251031coat .fadeInBlock.view {
  opacity: 1;
  /* transform: scale(1); */
  filter: blur(0);
}

#FR251031coat .fadeInBlock.fade_left.view {
  transform: translateX(0);
}

#FR251031coat .fadeInBlock.fade_right.view {
  transform: translateX(0);
}

#FR251031coat .fadeInBlock.fade_bottom.view {
  transform: translateY(0);
}

#FR251031coat .js-fade_center.view {
  opacity: 1;
  transform: translateX(0);
}

#FR251031coat .js-fade_center.move_left.view {
  transform: translateX(0);
}

#FR251031coat .fadeInZoom {
  overflow: hidden;
}

#FR251031coat .fadeInZoom img {
  opacity: 0;
  transform: scale(1.1);
  transition: all 1.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#FR251031coat .fadeInZoom.view img {
  opacity: 1;
  transform: scale(1);
}

#FR251031coat .fadeInBlock.fadeInClip.view {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
  translate: 0 0;
}

#FR251031coat .fade_delay {
  animation-delay: 0.6s;
  transition-delay: 0.6s;
}



/*******************************
lpMainWrap
*******************************/
#FR251031coat .lpMainWrap {
  display: block;
  width: 100%;
}

#FR251031coat .lpMainBlock {
  display: block;
  width: 100%;
}


@media screen and (min-width:768px) {
  #FR251031coat .lpMainWrap {
    width: 120rem;
    margin: 0 auto;
  }

  #FR251031coat .pcTTL {
    width: 120rem;
    margin: 0 auto;
  }

  #FR251031coat .por {
    position: relative;
  }

  #FR251031coat .first_block_lead01 {
    width: 36.2rem;
    /* bottom: 8.8rem; */
    left: 50%;
    /* transform: translateX(-50%); */
    z-index: 1;
    pointer-events: none;
    top: 23rem;
    left: 7.3rem;
  }

  #FR251031coat .first_block_lead02 {
    position: absolute;
    width: 26rem;
    top: 29.6rem;
    left: 7.3rem;
    z-index: 1;
    pointer-events: none;
  }

  #FR251031coat .first_block_lead03 {
    position: absolute;
    width: 5.6rem;
    top: 32.3rem;
    left: 35.3rem;
    z-index: 1;
    pointer-events: none;
  }

  #FR251031coat .first_block_lead04 {
    position: absolute;
    width: 28.9rem;
    top: 37.6rem;
    left: 7.2rem;
    z-index: 1;
    pointer-events: none;
  }

  #FR251031coat .first_block_lead05 {
    position: absolute;
    width: 9rem;
    top: 40.9rem;
    left: 7.2rem;
    z-index: 1;
    pointer-events: none;
  }

}

/*******************************
overRide
*******************************/
@media screen and (max-width:767px) {
  #FR251031coat .pcView {
    display: none;
  }
}

@media screen and (min-width:768px) {
  #FR251031coat .spView {
    display: none;
  }
}


/*************************************************************
FR251031coat contents
*************************************************************/
#FR251031coat img {
  display: block;
  width: 100%;
  height: auto;
}

/* ********************************************** */
/* first_block */
.first_block {
  position: relative;
}

.first_block_box {
  position: absolute;
  top: 51%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* width: calc(652 * var(--formula)); */
  pointer-events: none;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  align-items: flex-end;
  row-gap: calc(10 * var(--formula));
}

.first_block_ttl01 h2 {
  font-size: calc(56.5 * var(--formula));
  letter-spacing: 0.05em;
  font-weight: bold !important;
  color: #ffffff;
  text-align: center;
  font-feature-settings: "palt";
  white-space: nowrap;
}

.first_block_ttl02 p {
  font-size: calc(26 * var(--formula));
  letter-spacing: 0.05em;
  color: #ffffff;
  text-align: center;
  font-feature-settings: "palt";
}

.first_block_lead01 {
  position: absolute;
  left: calc(60 * var(--formula));
  bottom: calc(130 * var(--formula));
  width: calc(634 * var(--formula));
  pointer-events: none;
}

.first_block_lead02 {
  position: absolute;
  left: calc(335 * var(--formula));
  bottom: calc(94 * var(--formula));
  width: calc(78 * var(--formula));
  pointer-events: none;
}

.first_block_lead03 {
  position: absolute;
  left: calc(118 * var(--formula));
  bottom: calc(44 * var(--formula));
  width: calc(510 * var(--formula));
  pointer-events: none;
}

.intro_block {
  width: calc(750 * var(--formula));
  margin: calc(108 * var(--formula)) auto 0;
}

.intro_block .intro_txt {
  font-size: calc(24 * var(--formula));
  line-height: 2;
  letter-spacing: 0.12em;
}

.intro_block .intro_lead02 {
  margin-top: calc(46 * var(--formula));
}

.intro_block .intro_img {
  width: calc(600 * var(--formula));
  margin: calc(130 * var(--formula)) auto 0;
}

.intro_block .intro_txt_box {
  width: calc(600 * var(--formula));
  margin: calc(108 * var(--formula)) auto 0;
}

.intro_block .intro_txt_img {
  width: calc(294 * var(--formula));
  margin: 0 auto;
}

.intro_block .intro_lead03 {
  margin-top: calc(52 * var(--formula));
}

.overlay-text {
  position: absolute;
  bottom: calc(15 * var(--formula));
  left: calc(20 * var(--formula));
  /* width: 100%; */
  /* height: 100%; */
  /* background-color: rgba(0, 0, 0, 0.5); */
  /* 半透明の背景 */
  color: #fff;
  font-size: calc(21 * var(--formula));
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  opacity: 0;
  /* 初期状態では非表示（透明） */
  transition: opacity 0.5s ease-in-out;
  /* ゆっくり表示するためのトランジション */
  text-transform: uppercase;
  line-height: 1.2814;
  letter-spacing: 0.02em;
}

.overlay-text a {
  cursor: pointer;
}

.overlay-text p {
  padding: 0 calc(5 * var(--formula));
}

.image-container {
  position: relative;
}

.overlay-text {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s 0.3s;
}

.image-container.is-active .overlay-text {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
}

.credit_box {
  font-size: calc(20 * var(--formula));
  line-height: 1.805;
  letter-spacing: 0.05em;
  margin: calc(32 * var(--formula)) auto 0;
}

.credit_box a {
  display: inline-block;
}

.style_inner {
  width: calc(750 * var(--formula));
  margin: 0 auto;
}

/* style_inner01 */
.style_inner01 {
  margin-top: calc(193 * var(--formula));
}



.sec_title_box .sec_title_flex {
  position: relative;
  text-align: center;
  width: calc(315 * var(--formula));
  margin: auto;
  z-index: 1;
  background: #fff;
}

.sec_title_box .sec_title_flex::before {
  content: "";
  position: absolute;
  background: #000;
  height: 1px;
  width: calc(750*var(--formula));
  top: calc(10*var(--formula));
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
}

.sec_title_box .sec_title_flex::after {
  content: "";
  position: absolute;
  background: #fff;
  height: 100%;
  width: 100%;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
}

.sec_title_box .sec_title {
  font-size: calc(24 * var(--formula));
  letter-spacing: 0.05em;
}

.sec_title_box .sec_num {
  font-size: calc(24 * var(--formula));
  letter-spacing: 0;
}

.style_inner01_text01 {
  width: calc(385 * var(--formula));
  margin: calc(55 * var(--formula)) auto 0 calc(182 * var(--formula));
}

.style_inner01_text02 {
  width: calc(354 * var(--formula));
  margin: calc(35 * var(--formula)) auto 0;
}

.style_inner01_img01 {
  width: calc(750 * var(--formula));
  margin: calc(81 * var(--formula)) auto 0;
}

.style_inner01_lead {
  font-size: calc(24 * var(--formula));
  line-height: 2;
  letter-spacing: 0.12em;
  margin-top: calc(107 * var(--formula));
}

.style_inner01_lead.lead02 {
  margin-top: calc(109 * var(--formula));
}

.style_inner01 .figSlider {
  width: calc(750 * var(--formula));
  margin-top: calc(110 * var(--formula));
}

.style_inner01_img04 {
  width: calc(750 * var(--formula));
  margin: calc(110 * var(--formula)) auto 0;
}

/* style_inner02 */
.style_inner02 {
  margin-top: calc(193 * var(--formula));
}

.style_inner02_text01 {
  width: calc(344 * var(--formula));
  margin: calc(56 * var(--formula)) auto 0;
}

.style_inner02_text02 {
  width: calc(580 * var(--formula));
  margin: calc(35 * var(--formula)) auto 0;
}

.style_inner02_img01 {
  width: calc(750 * var(--formula));
  margin: calc(81 * var(--formula)) auto 0;
}

.style_inner02_img02 {
  width: calc(750 * var(--formula));
  margin: calc(108 * var(--formula)) auto 0;
}

.style_inner02 .figSlider {
  width: calc(750 * var(--formula));
  margin-top: calc(110 * var(--formula));
}


.style_inner02_lead {
  font-size: calc(24 * var(--formula));
  line-height: 2;
  letter-spacing: 0.12em;
  margin-top: calc(109 * var(--formula));
}

.style_inner02_img03 {
  width: calc(750 * var(--formula));
  margin: calc(110 * var(--formula)) auto 0;
}

/* style_inner03 */
.style_inner03 {
  margin-top: calc(195 * var(--formula));
}

.style_inner03_text01 {
  width: calc(344 * var(--formula));
  margin: calc(55 * var(--formula)) auto 0;
}

.style_inner03_text02 {
  width: calc(573 * var(--formula));
  margin: calc(35 * var(--formula)) auto 0;
}

.style_inner03_img01 {
  width: calc(750 * var(--formula));
  margin: calc(81 * var(--formula)) auto 0;
}

.style_inner03_lead {
  font-size: calc(24 * var(--formula));
  line-height: 2;
  letter-spacing: 0.12em;
  margin-top: calc(107 * var(--formula));
}

.style_inner03_lead.lead03 {
  margin-top: calc(47 * var(--formula));
}

.style_inner03 .figSlider {
  width: calc(750 * var(--formula));
  margin-top: calc(110 * var(--formula));
}

.style_inner03_img04 {
  width: calc(750 * var(--formula));
  margin: calc(110 * var(--formula)) auto 0;
}

.credit_box.style_inner03_credit {
  margin: calc(42 * var(--formula)) auto 0;
}

/* style_inner04 */
.style_inner04 {
  margin-top: calc(195 * var(--formula));
}

.style_inner04 .sec_title_flex {
  width: calc(669 * var(--formula));
  padding-block: calc(19 * var(--formula)) calc(14 * var(--formula));
}

.style_inner04_text01 {
  width: calc(568 * var(--formula));
  margin: calc(56 * var(--formula)) auto 0;
}

.style_inner04_img01 {
  width: calc(750 * var(--formula));
  margin: calc(80 * var(--formula)) auto 0;
}

.style_inner04_img02 {
  width: calc(750 * var(--formula));
  margin: calc(10 * var(--formula)) auto 0;
}

.style_inner04_lead {
  font-size: calc(24 * var(--formula));
  line-height: 2;
  letter-spacing: 0.12em;
  margin-top: calc(105 * var(--formula));
}

.style_inner04_img03 {
  width: calc(750 * var(--formula));
  margin: calc(110 * var(--formula)) auto 0;
}

.style_inner04 .style_inner04_credit {
  margin: calc(30 * var(--formula)) auto 0;
}

.style_inner04_img04 {
  width: calc(750 * var(--formula));
  margin: calc(157 * var(--formula)) auto 0;
}

.style_inner04_img05 {
  width: calc(750 * var(--formula));
  margin: calc(110 * var(--formula)) auto 0;
}

.style_inner04_img06 {
  width: calc(540 * var(--formula));
  margin: calc(115 * var(--formula)) auto 0;
}

/* end_section */
.end_section {
  margin-top: calc(158 * var(--formula));
  margin-bottom: calc(152 * var(--formula));
}

.all_btn {
  width: calc(206 * var(--formula));
  margin: 0 auto;
}

.end_credit {
  font-size: calc(20 * var(--formula));
  line-height: 1.805;
  letter-spacing: 0.05em;
  margin-top: calc(72 * var(--formula));
}

/*--------------------------------
  layout for desktop
--------------------------------*/
@media only screen and (min-width: 768px) {
  .credit_box {
    line-height: 1.7;
  }

  .style_inner04 {
    margin-top: calc(193 * var(--formula));
  }

  .style_inner04_img03 {
    margin: calc(108 * var(--formula)) auto 0;
  }

  .style_inner04_img04 {
    margin: calc(155 * var(--formula)) auto 0;
  }

  .style_inner04_img05 {
    margin: calc(108 * var(--formula)) auto 0;
  }

  .style_inner04_img06 {
    margin: calc(114 * var(--formula)) auto 0;
  }

  .end_section {
    margin-top: calc(154 * var(--formula));
    margin-bottom: calc(149 * var(--formula));
  }

  .end_credit {
    margin-top: calc(73 * var(--formula));
  }
}
