@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
}

.main-area {
  display: block;
  min-width: unset;
  max-width: unset;
}

.FU250327ribbon_lp {
  overflow-x: hidden;
  overflow-y: hidden;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .FU250327ribbon_lp {
    overflow-x: hidden;
  }
}
.FU250327ribbon_lp * {
  box-sizing: border-box;
}
.FU250327ribbon_lp li,
.FU250327ribbon_lp summary {
  list-style: none;
}
.FU250327ribbon_lp img,
.FU250327ribbon_lp video,
.FU250327ribbon_lp picture {
  width: 100%;
  height: auto;
}
.FU250327ribbon_lp a,
.FU250327ribbon_lp picture,
.FU250327ribbon_lp figure {
  display: block;
}
.FU250327ribbon_lp a {
  color: inherit;
  text-decoration: none;
}
.FU250327ribbon_lp table {
  border-collapse: collapse;
}
.FU250327ribbon_lp img {
  width: 100%;
  height: auto;
  border: none;
  vertical-align: bottom;
}

.FU250327ribbon_lp {
  color: #000;
}

.pcOnly {
  display: block;
}
.spOnly {
  display: none;
}
@media screen and (max-width: 767px) {
  .pcOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }
  .FU250327ribbon_lp .spOnly {
    display: block;
  }
  .FU250327ribbon_lp .whitebg::after {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .slick-dots {
    margin: 0;
  }
  .FU250327ribbon_lp .spOnly {
    display: none;
  }
  .FU250327ribbon_lp img {
    image-rendering: -webkit-optimize-contrast;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  html {
    font-size: 0.7142857143vw;
  }
}
.FU250327ribbon_lp {
  overflow: hidden;
  margin: 0;
  text-align: center;
  color: #000;
}

.YuGothic {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "メイリオ", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* 
.FU250327ribbon_lp .loadfade {
  transition-property: opacity, transform;
  transition-duration: 0.9s;
  opacity: 0;
}
.FU250327ribbon_lp .loadfade.active {
  opacity: 1;
}
.FU250327ribbon_lp .fadein {
  opacity: 0;
  transition: opacity 1.6s;
}
.FU250327ribbon_lp .fadein.fade-active {
  opacity: 1;
}
.FU250327ribbon_lp .fadein-load {
  opacity: 0;
  transition: opacity, 1.6s;
}
.FU250327ribbon_lp .fadein-load.fade-active {
  opacity: 1;
} */

/* ================================================================================ */
/* ============================= ▲ ベースのスタイル ▲　 ============================== */
/* ================================================================================ */

.cont_inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}
.credit,
.credit ul li {
  font-size: 1.2rem;
  line-height: 2;
  font-family: "acuminVariableConcept";
}

@media screen and (max-width: 767px) {
  .cont_inner {
    max-width: none;
  }
  .credit,
  .credit ul li {
    font-size: calc(22 * (100vw / 750));
  }
}
@font-face {
  font-family: "acuminVariableConcept";
  src: url(../font/AcuminVariableConcept.otf);
}
@font-face {
  font-family: "TimesNewRomanMTStd";
  src: url(../font/TimesNewRomanMTStd_Cond.otf);
}

/* ================================================================================ */
/* =========================== ▼ px レイアウト スタイル ▼　 ============================= */
/* ================================================================================ */

.cont_inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}
.credit,
.credit ul li {
  font-size: 12px;
  line-height: 2;
  font-family: "acuminVariableConcept";
}

@font-face {
  font-family: "acuminVariableConcept";
  src: url(../font/AcuminVariableConcept.otf);
}
@font-face {
  font-family: "TimesNewRomanMTStd";
  src: url(../font/TimesNewRomanMTStd_Cond.otf);
}

/* ================================================================================ */
/* =========================== ▼ レイアウトのスタイル ▼　 ============================= */
/* ================================================================================ */

/* ============================== ▼ contents_area ▼　 ================================ */
/* ================================================================================ */

.FU250327ribbon_lp {
  background: #F7F2F4;
  margin-bottom: 140px;
}

/* ============================== ▼ main_visual ▼　 ================================ */
/* ================================================================================ */
.main_visual {
  width: 760px;
  margin: 0 auto;
  padding-top: 40px;
}


/* ============================== ▼ main_contents ▼　 ================================ */
/* ================================================================================ */
.main_contents {
  margin-top: 100px;
}
.main_contents .txt_ttl {
  padding-top: 23px;
}
.ttlBox {
  position: relative;
}
.ttlBox .main_ttl {
  font-size: 16px;
  padding-top: 6px;
  color: #000;
  text-align: center;
  font-family: "acuminVariableConcept";
}
.ttlBox .txt_ttl h1 span {
  font-size: 48px;
  text-align: center;
  margin-top: 26px;
  font-family: "TimesNewRomanMTStd";
}
.ttlBox .txt_ttl p {
  font-size: 13px;
  letter-spacing: 0.09em;
  font-feature-settings: "palt";
  margin-top: 10px;
  text-align: center;
}
.ttlBox .ttl_bg {
  width: 1100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}
.main_contents .sub_txt.spOnly {
  display: none;
}
.main_contents .sub_txt.pcOnly {
  font-size: 22px;
  text-align: center;
  margin-top: 84px;
  font-family: "acuminVariableConcept";
  color: #E892A9;
}
.main_contents .img01 {
  width: 250px;
  margin: 45px auto 0;
}
.main_contents .img_txt p {
  font-size: 13px;
  letter-spacing: 0.025em;
  line-height: 2;
  margin-top: 42px;
  font-feature-settings: "palt";
}
.main_contents .img02 {
  width: 400px;
  margin: 94px auto 0;
}

/* ============================== ▼ contents1 ▼　 ================================= */
/* ================================================================================ */
.contents01 {
  width: 1100px;
  margin: 130px auto 0;
}
.contents01 .ttlBox {
  position: relative;
}
.contents01 .ttlBox .txt_ttl h2 span {
  font-size: 42px;
  text-align: center;
  margin-top: 32px;
  font-family: "TimesNewRomanMTStd";
}
.contents01 .ttlBox .ttl_bg {
  width: 1100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}
.contents01 .flexArea {
  width: 1070px;
  margin: 104px 0 0 30px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.contents01 .flexArea .box01 {
  width: 460px;
}
.contents01 .flexArea .box02 {
  width: 530px;
  margin-top: 90px;
  display: flex;
  justify-content: space-between;
}
.contents01 .flexArea .box02 .img04 {
  width: 240px;
}
.contents01 .flexArea .box02 .img05 {
  width: 260px;
  margin-top: 175px;
}
.contents01 .flextxt p {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
  margin-top: 44px;
}
.contents01 .credit {
  margin-top: 20px;
}
.contents01 .credit ul {
  display: flex;
  justify-content: center;
  gap: 0 10px;
}


/* ============================== ▼ contents2 ▼　 ================================= */
/* ================================================================================ */
.contents02 {
  width: 1100px;
  margin: 124px auto 0;
}
.contents02 .ttlBox {
  position: relative;
}
.contents02 .ttlBox .txt_ttl h2 span {
  font-size: 42px;
  text-align: center;
  margin-top: 32px;
  font-family: "TimesNewRomanMTStd";
}
.contents02 .ttlBox .ttl_bg {
  width: 1100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}
.contents02 .flexArea {
  width: 750px;
  margin: 103px auto 0;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.contents02 .flexArea .box01 {
  width: 410px;
}
.contents02 .flexArea .box02 {
  width: 260px;
  margin-top: 100px;
  position: relative;
}
.contents02 .flexArea .box02 .txt04 {
  width: 25px;
  position: absolute;
  top: 0;
  left: -35px;
  z-index: 10;
}
.contents02 .flexArea .box02 .img07 .credit ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 10px;
  margin-top: 25px;
  white-space: nowrap;
}
.contents02 .flextxt p {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
  margin-top: 64px;
}
.flexArea02 {
  width: 970px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 63px 0 0 42px;
}
.flexArea02 .box01 {
  width: 370px;
  position: relative;
}
.flexArea02 .box01 .txt05 {
  width: 30px;
  position: absolute;
  top: 3px;
  right: -40px;
  z-index: 10;
}
.flexArea02 .box02 {
  width: 580px;
  display: flex;
  flex-direction: row-reverse;
}
.flexArea02 .box02 .img09 {
  width: 370px;
}
.flexArea02 .box02 .credit {
  width: 181px;
  margin-top: 452px;
  margin-right: 30px;
}
.flexArea02 .box02 .credit ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 10px;
}




/* ============================== ▼ contents3 ▼　 ================================= */
/* ================================================================================ */
.contents03 {
  margin-top: 123px;
}
.contents03 .ttlBox {
  position: relative;
}
.contents03 .ttlBox .txt_ttl h2 span {
  font-size: 42px;
  text-align: center;
  margin-top: 32px;
  font-family: "TimesNewRomanMTStd";
}
.contents03 .ttlBox .ttl_bg {
  width: 1100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}
.contents03 .flexArea {
  width: 800px;
  margin: 103px auto 0;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.contents03 .flexArea .box1 {
  width: 430px;
}
.contents03 .flexArea .box2 {
  width: 300px;
  margin-top: 86px;
}
.contents03 .flextxt p {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
  margin-top: 44px;
}
.contents03 .credit ul {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  gap: 0 9px;
}
.contents03 .flexArea02 {
  width: 600px;
  margin: 95px auto 0;
  position: relative;
}
.contents03 .flexArea02 .img11 {
  width: 267px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
.contents03 .flexArea02 .img12 {
  width: 508px;
  position: absolute;
  top: 150px;
  left: 45px;
  z-index: 0;
  pointer-events: none;
}
.contents03 .slick-dots {
  bottom: 11px;
  left: 6px;
  text-align: left;
}


/* ============================== ▼ contents4 ▼　 ================================= */
/* ================================================================================ */
.contents04 {
  margin-top: 131px;
  margin-bottom: 300px;
}
.contents04 .ttlBox {
  position: relative;
}
.contents04 .ttlBox .txt_ttl h2 span {
  font-size: 42px;
  text-align: center;
  margin-top: 32px;
  font-family: "TimesNewRomanMTStd";
}
.contents04 .ttlBox .ttl_bg {
  width: 1100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}
.contents04 .flexArea {
  width: 840px;
  margin: 104px auto 0;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.contents04 .flexArea .box1 {
  width: 410px;
}
.contents04 .flexArea .box2 {
  width: 410px;
}
.contents04 .flextxt p {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
  margin-top: 10px;
}
.contents04 .credit ul {
  margin-top: 17px;
  display: flex;
  justify-content: center;
  gap: 0 9px;
}
.contents04 .flexArea02 {
  width: 335px;
  margin: 113px auto 0;
  position: relative;
}
.contents04 .flexArea02 .subTxt {
  font-size: 22px;
  position: absolute;
  top: -9px;
  left: -35px;
  z-index: 10;
  transform: rotate(-10deg);
  font-family: "TimesNewRomanMTStd";
}
.contents04 .flexArea02 .img14 {
  width: 335px;
  position: absolute;
  top: 0;
  left: 0;
}
.contents04 .flexArea02 .img15 {
  width: 323px;
  top: 9px;
  left: 6px;
  position: absolute;
}
.contents04 .slick-dots {
  bottom: 11px;
  left: 6px;
  text-align: left;
}


/* ============================== ▼ contents5 ▼　 ================================= */
/* ================================================================================ */
.contents05 {
  margin-top: 379px;
}
.contents05 .ttlBox {
  position: relative;
}
.contents05 .ttlBox .txt_ttl h2 span {
  font-size: 42px;
  text-align: center;
  margin-top: 32px;
  font-family: "TimesNewRomanMTStd";
}
.contents05 .ttlBox .ttl_bg {
  width: 1100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}
.contents05 .flexArea {
  width: 860px;
  margin: 100px auto 0;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.contents05 .flexArea .box1 {
  width: 460px;
}
.contents05 .flexArea .box2 {
  width: 330px;
  margin-top: 88px;
}
.contents05 .flextxt p {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
  margin-top: 45px;
}
.contents05 .credit ul {
  margin-top: 17px;
  display: flex;
  justify-content: center;
  gap: 0 9px;
}


/* ============================== ▼ contents6 ▼　 ================================= */
/* ================================================================================ */
.contents06 {
  margin-top: 125px;
  padding-bottom: 140px;
}
.contents06 .ttlBox {
  position: relative;
}
.contents06 .ttlBox .txt_ttl h2.pcOnly {
  display: block;
}
.contents06 .ttlBox .txt_ttl h2.spOnly {
  display: none;
}
.contents06 .ttlBox .txt_ttl h2 span {
  font-size: 42px;
  text-align: center;
  margin-top: 32px;
  font-family: "TimesNewRomanMTStd";
}
.contents06 .ttlBox .ttl_bg {
  width: 1100px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 10;
  pointer-events: none;
}
.contents06 .YuGothic {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.025em;
  font-feature-settings: "palt";
  margin-top: 97px;
}
.contents06 .flexArea {
  width: 790px;
  margin: 62px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 64px 0;
}
.contents06 .flexArea .box01 {
  width: 360px;
}
.contents06 .flexArea .box01 .img18 {
  width: 260px;
  margin: 10px auto 0;
}
.contents06 .flexArea .box01 .txt10 {
  margin-top: 30px;
}
.contents06 .flexArea .box01 .credit {
  margin-top: 26px;
}

.contents06 .flexArea .box02 {
  width: 360px;
}
.contents06 .flexArea .box02 .img19 {
  width: 260px;
  margin: 10px auto 0;
}
.contents06 .flexArea .box02 .txt11 {
  margin-top: 30px;
}
.contents06 .flexArea .box02 .credit {
  margin-top: 26px;
}

.contents06 .flexArea .box03 {
  width: 360px;
}
.contents06 .flexArea .box03 .img20 {
  width: 260px;
  margin: 10px auto 0;
}
.contents06 .flexArea .box03 .txt12 {
  margin-top: 30px;
}
.contents06 .flexArea .box03 .credit {
  margin-top: 26px;
}

.contents06 .flexArea .box04 {
  width: 360px;
}
.contents06 .flexArea .box04 .img21 {
  width: 260px;
  margin: 10px auto 0;
}
.contents06 .flexArea .box04 .txt13 {
  margin-top: 30px;
}
.contents06 .flexArea .box04 .credit {
  margin-top: 25px;
}

.contents06 .flexArea02 {
  width: auto;
  display: block;
  margin: 94px auto 0;
}
.contents06 .flexArea02 .img22 {
  width: 220px;
  margin: 0 auto;
}
.contents06 .flexArea02 .txt13 {
  width: 413px;
  margin: 33px auto 0;
}

.contents06 .txt15 {
  width: 36px;
  margin: 130px auto 0;
}
.allbtn {
  position: relative;
}
.allbtn a {
  display: inline-flex !important;
  font-size: 30px;
  margin-top: 24px;
  font-family: "TimesNewRomanMTStd";
}
.allbtn::after {
  content: '';
  width: 224px;
  height: 1px;
  background: #000000;
  display: block;
  position: absolute;
  top: 59px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 15;
}
.allbtn::before {
  content: '';
  width: 224px;
  height: 1px;
  background: #000000;
  display: block;
  position: absolute;
  top: 63px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 15;
}


/* ============================== ▼ contents7 ▼　 ================================= */
/* ================================================================================ */
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
}
.slick-dots li button {
  background: none;
  border: 1px solid #000000;
  border-radius: 100%;
}
.slick-dots li.slick-active button {
  background: #000000;
  border:none;
  border-radius: 100%;
}
.slick-dots li.slick-active button:before {
  background-color: #e2dbcc;
  content: "";
}
.slick-dots li button:before {
  display: none;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 3px;
  padding: 0;
  cursor: pointer;
}

/* ============================== ▼ アニメーション ▼　 ================================= */
/* ================================================================================ */
.contents04 svg {
  fill: none;
  filter: none;
}
.ellipseBox {
  width: 147px;
  position: absolute;
  top: -19px;
  left: -56px;
  z-index: 1;
  pointer-events: none;
}
.ellipseBox.active .ellipse_txt {
  width: 147px;
  fill: none;
  filter: none;
}
.ellipseBox.active .ellipse_txt {
  fill: none;
  filter: none;
  stroke: #000;
  stroke-width: 1px;
  stroke-dasharray: 330;
  stroke-dashoffset: 330;
  animation: ellipse 0.5s linear forwards;
}

@keyframes ellipse {
  to {
    stroke-dashoffset: 0;
  }
}



/* 上書き */
.FU250327ribbon_lp a {
  display: inline-block;
}
/* フェード */
.FU250327ribbon_lp .js-fade-mv,
.FU250327ribbon_lp .js-fade-in {
  opacity: 0;
  transition: all 1.2s;
}
.FU250327ribbon_lp .js-fade-mv.show,
.FU250327ribbon_lp .js-fade-in.show {
  opacity: 1;
}

.img15.js-fade-in.show {
  opacity: 0;
  transition: all 1.2s 1s;
}
.img15.js-fade-in.show {
  opacity: 1;
}



/*** 下から登場するアニメーション ***/
@keyframes font-animation {
  0% {
    transform: translateY(110%);
    /*表示範囲外から*/
  }

  100% {
    transform: translateY(0);
    /*通常の位置へ*/
  }
}
/*** アニメーションさせる要素 ***/
.font-animation,
.font-animation_sp {
  display: flex;
  overflow: hidden;
  justify-content: center;
}

.font-animation span,
.font-animation_sp span {
  transform: translateY(110%);
  /*下（範囲外）に隠しておく*/
  display: block;
  /*ブロック要素に変更*/
}

/*** スクロールで画面に入った場合 ***/
.font-animation.active span,
.font-animation_sp.active span {
  animation: 0.35s font-animation linear forwards;
  /*一度だけのアニメーション（終了時点で固定）*/
}

/*** 各文字のアニメーション遅延時間 ***/
.font-animation span:nth-child(1),
.font-animation_sp span:nth-child(1) {
  animation-delay: 0s;
}

.font-animation span:nth-child(2),
.font-animation_sp span:nth-child(2) {
  animation-delay: 0.05s;
}

.font-animation span:nth-child(3),
.font-animation_sp span:nth-child(3) {
  animation-delay: 0.1s;
}

.font-animation span:nth-child(4),
.font-animation_sp span:nth-child(4) {
  animation-delay: 0.15s;
}

.font-animation span:nth-child(5),
.font-animation_sp span:nth-child(5) {
  animation-delay: 0.2s;
}

.font-animation span:nth-child(6),
.font-animation_sp span:nth-child(6) {
  animation-delay: 0.25s;
}

.font-animation span:nth-child(7),
.font-animation_sp span:nth-child(7) {
  animation-delay: 0.3s;
}

.font-animation span:nth-child(8),
.font-animation_sp span:nth-child(8) {
  animation-delay: 0.35s;
}

.font-animation span:nth-child(9),
.font-animation_sp span:nth-child(9) {
  animation-delay: 0.4s;
}

.font-animation span:nth-child(10),
.font-animation_sp span:nth-child(10) {
  animation-delay: 0.45s;
}

.font-animation span:nth-child(11),
.font-animation_sp span:nth-child(11) {
  animation-delay: 0.5s;
}

.font-animation span:nth-child(12),
.font-animation_sp span:nth-child(12) {
  animation-delay: 0.55s;
}

.font-animation span:nth-child(13),
.font-animation_sp span:nth-child(13) {
  animation-delay: 0.6s;
}

.font-animation span:nth-child(14),
.font-animation_sp span:nth-child(14) {
  animation-delay: 0.65s;
}

.font-animation span:nth-child(15),
.font-animation_sp span:nth-child(15) {
  animation-delay: 0.7s;
}

.font-animation span:nth-child(16),
.font-animation_sp span:nth-child(16) {
  animation-delay: 0.75s;
}

.font-animation span:nth-child(17) {
  animation-delay: 0.8s;
}

.font-animation span:nth-child(18) {
  animation-delay: 0.85s;
}

.font-animation span:nth-child(19) {
  animation-delay: 0.9s;
}

.font-animation span:nth-child(20) {
  animation-delay: 0.95s;
}

.font-animation span:nth-child(21) {
  animation-delay: 1s;
}

.font-animation span:nth-child(22) {
  animation-delay: 1.05s;
}

.font-animation span:nth-child(23) {
  animation-delay: 1.1s;
}

.font-animation span:nth-child(24) {
  animation-delay: 1.15s;
}

.font-animation span:nth-child(25) {
  animation-delay: 1.2s;
}

.font-animation span:nth-child(26) {
  animation-delay: 1.25s;
}

.font-animation span:nth-child(27) {
  animation-delay: 1.3s;
}

.font-animation span:nth-child(28) {
  animation-delay: 1.35s;
}

.font-animation span:nth-child(29) {
  animation-delay: 1.4s;
}

.font-animation span:nth-child(30) {
  animation-delay: 1.45s;
}

.font-animation span:nth-child(31) {
  animation-delay: 1.5s;
}

.font-animation span:nth-child(32) {
  animation-delay: 1.55s;
}

.font-animation span:nth-child(33) {
  animation-delay: 1.6s;
}

.font-animation span:nth-child(34) {
  animation-delay: 1.65s;
}

/* ================================================================================ */
/* =========================== ▼ rem レイアウト スタイル ▼　 ============================= */
/* ================================================================================ */

@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .cont_inner {
    max-width: calc(1100 * (100vw / 1100));
    width: 100%;
    margin: 0 auto;
  }
  .FU250327ribbon_lp {
    background: #F7F2F4;
    margin-bottom: calc(140 * (100vw / 1100));
    -ms-overflow-style: none;
  }
  .FU250327ribbon_lp::-webkit-scrollbar {
    display: none;
  }
  .main_visual {
    width: calc(760 * (100vw / 1100));
    margin: 0 auto;
    padding-top: calc(40 * (100vw / 1100));
  }
  .main_contents {
    margin-top: calc(100 * (100vw / 1100));
  }
  .main_contents .txt_ttl {
    padding-top: calc(18 * (100vw / 1100));
  }
  .ttlBox {
    position: relative;
  }
  .ttlBox .main_ttl {
    font-size: calc(16 * (100vw / 1100));
    padding-top: calc(6 * (100vw / 1100));
    color: #000;
    text-align: center;
    font-family: "acuminVariableConcept";
  }
  .ttlBox .txt_ttl h1 span {
    font-size: calc(48 * (100vw / 1100));
    text-align: center;
    margin-top: calc(26 * (100vw / 1100));
    font-family: "TimesNewRomanMTStd";
  }
  .ttlBox .txt_ttl p {
    font-size: calc(13 * (100vw / 1100));
    letter-spacing: 0.09em;
    font-feature-settings: "palt";
    margin-top: calc(10 * (100vw / 1100));
    text-align: center;
  }
  .ttlBox .ttl_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
    pointer-events: none;
  }
  .main_contents .sub_txt.spOnly {
    display: none;
  }
  .main_contents .sub_txt.pcOnly {
    font-size: calc(22 * (100vw / 1100));
    text-align: center;
    margin-top: calc(84 * (100vw / 1100));
    font-family: "acuminVariableConcept";
    color: #E892A9;
  }
  .main_contents .img01 {
    width: calc(250 * (100vw / 1100));
    margin: calc(45 * (100vw / 1100)) auto 0;
  }
  .main_contents .img_txt p {
    font-size: calc(13 * (100vw / 1100));
    letter-spacing: 0.025em;
    line-height: 2;
    margin-top: calc(42 * (100vw / 1100));
    font-feature-settings: "palt";
  }
  .main_contents .img02 {
    width: calc(400 * (100vw / 1100));
    margin: calc(94 * (100vw / 1100)) auto 0;
  }
  .contents01 {
    width: 100%;
    margin: calc(130 * (100vw / 1100)) auto 0;
  }
  .contents01 .ttlBox {
    position: relative;
  }
  .contents01 .ttlBox .txt_ttl h2 span {
    font-size: calc(42 * (100vw / 1100));
    text-align: center;
    margin-top: calc(32 * (100vw / 1100));
    font-family: "TimesNewRomanMTStd";
  }
  .contents01 .ttlBox .ttl_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
    pointer-events: none;
  }
  .contents01 .flexArea {
    width: calc(1070 * (100vw / 1100));
    margin: calc(104 * (100vw / 1100)) 0 0 calc(30 * (100vw / 1100));
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .contents01 .flexArea .box01 {
    width: calc(460 * (100vw / 1100));
  }
  .contents01 .flexArea .box02 {
    width: calc(530 * (100vw / 1100));
    margin-top: calc(90 * (100vw / 1100));
    display: flex;
    justify-content: space-between;
  }
  .contents01 .flexArea .box02 .img04 {
    width: calc(240 * (100vw / 1100));
  }
  .contents01 .flexArea .box02 .img05 {
    width: calc(260 * (100vw / 1100));
    margin-top: calc(176 * (100vw / 1100));
  }
  .contents01 .flextxt p {
    font-size: calc(13 * (100vw / 1100));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(44 * (100vw / 1100));
  }
  .contents01 .credit {
    margin-top: calc(18 * (100vw / 1100));
  }
  .contents01 .credit ul {
    display: flex;
    justify-content: center;
    gap: 0 calc(10 * (100vw / 1100));
  }
  .contents02 {
    width: 100%;
    margin: calc(124 * (100vw / 1100)) auto 0;
  }
  .contents02 .ttlBox {
    position: relative;
  }
  .contents02 .ttlBox .txt_ttl h2 span {
    font-size: calc(42 * (100vw / 1100));
    text-align: center;
    margin-top: calc(32 * (100vw / 1100));
    font-family: "TimesNewRomanMTStd";
  }
  .contents02 .ttlBox .ttl_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
    pointer-events: none;
  }
  .contents02 .flexArea {
    width: calc(750 * (100vw / 1100));
    margin: calc(103 * (100vw / 1100)) auto 0;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .contents02 .flexArea .box01 {
    width: calc(410 * (100vw / 1100));
  }
  .contents02 .flexArea .box02 {
    width: calc(260 * (100vw / 1100));
    margin-top: calc(100 * (100vw / 1100));
    position: relative;
  }
  .contents02 .flexArea .box02 .txt04 {
    width: calc(25 * (100vw / 1100));
    position: absolute;
    top: 0;
    left: calc(-35 * (100vw / 1100));
    z-index: 10;
  }
  .contents02 .flexArea .box02 .img07 .credit ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1rem;
    margin-top: calc(25 * (100vw / 1100));
  }
  .contents02 .flextxt p {
    font-size: calc(13 * (100vw / 1100));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(64 * (100vw / 1100));
  }
  .flexArea02 {
    width: calc(970 * (100vw / 1100));
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin: calc(63 * (100vw / 1100)) 0 0 calc(42 * (100vw / 1100));
  }
  .flexArea02 .box01 {
    width: calc(370 * (100vw / 1100));
    position: relative;
  }
  .flexArea02 .box01 .txt05 {
    width: calc(30 * (100vw / 1100));
    position: absolute;
    top: calc(3 * (100vw / 1100));
    right: calc(-40 * (100vw / 1100));
    z-index: 10;
  }
  .flexArea02 .box02 {
    width: calc(581 * (100vw / 1100));
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
  }
  .flexArea02 .box02 .img09 {
    width: calc(370 * (100vw / 1100));
  }
  .flexArea02 .box02 .credit {
    width: calc(181 * (100vw / 1100));
    margin-top: calc(0 * (100vw / 1100));
    margin-right: calc(30 * (100vw / 1100));
  }
  .flexArea02 .box02 .credit ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 calc(10 * (100vw / 1100));
  }
  .contents03 {
    margin-top: calc(123 * (100vw / 1100));
  }
  .contents03 .ttlBox {
    position: relative;
  }
  .contents03 .ttlBox .txt_ttl h2 span {
    font-size: calc(42 * (100vw / 1100));
    text-align: center;
    margin-top: calc(32 * (100vw / 1100));
    font-family: "TimesNewRomanMTStd";
  }
  .contents03 .ttlBox .ttl_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
    pointer-events: none;
  }
  .contents03 .flexArea {
    width: calc(800 * (100vw / 1100));
    margin: calc(103 * (100vw / 1100)) auto 0;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .contents03 .flexArea .box1 {
    width: calc(430 * (100vw / 1100));
  }
  .contents03 .flexArea .box2 {
    width: calc(300 * (100vw / 1100));
    margin-top: calc(86 * (100vw / 1100));
  }
  .contents03 .flextxt p {
    font-size: calc(13 * (100vw / 1100));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(44 * (100vw / 1100));
  }
  .contents03 .credit ul {
    margin-top: calc(18 * (100vw / 1100));
    display: flex;
    justify-content: center;
    gap: 0 calc(9 * (100vw / 1100));
  }
  .contents03 .flexArea02 {
    width: calc(600 * (100vw / 1100));
    margin: calc(95 * (100vw / 1100)) auto 0;
    position: relative;
  }
  .contents03 .flexArea02 .img11 {
    width: calc(268 * (100vw / 1100));
    margin: 0 auto;
    position: relative;
    z-index: 10;
  }
  .contents03 .flexArea02 .img12 {
    width: calc(508 * (100vw / 1100));
    position: absolute;
    top: calc(150 * (100vw / 1100));
    left: calc(45 * (100vw / 1100));
    z-index: 0;
    pointer-events: none;
  }
  .contents03 .slick-dots {
    bottom: calc(11 * (100vw / 1100));
    left: calc(6 * (100vw / 1100));
    text-align: left;
  }
  .contents04 {
    margin-top: calc(129 * (100vw / 1100));
    margin-bottom: calc(30 * (100vw / 1100));
  }
  .contents04 .ttlBox {
    position: relative;
  }
  .contents04 .ttlBox .txt_ttl h2 span {
    font-size: calc(42 * (100vw / 1100));
    text-align: center;
    margin-top: calc(32 * (100vw / 1100));
    font-family: "TimesNewRomanMTStd";
  }
  .contents04 .ttlBox .ttl_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
    pointer-events: none;
  }
  .contents04 .flexArea {
    width: calc(840 * (100vw / 1100));
    margin: calc(104 * (100vw / 1100)) auto 0;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .contents04 .flexArea .box1 {
    width: calc(410 * (100vw / 1100));
  }
  .contents04 .flexArea .box2 {
    width: calc(410 * (100vw / 1100));
  }
  .contents04 .flextxt p {
    font-size: calc(13 * (100vw / 1100));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(12 * (100vw / 1100));
  }
  .contents04 .credit ul {
    margin-top: calc(17 * (100vw / 1100));
    display: flex;
    justify-content: center;
    gap: 0 calc(9 * (100vw / 1100));
  }
  .contents04 .flexArea02 {
    width: calc(335 * (100vw / 1100));
    margin: calc(113 * (100vw / 1100)) auto 0;
    position: relative;
  }
  .contents04 .flexArea02 .subTxt {
    font-size: calc(22 * (100vw / 1100));
    position: absolute;
    top: calc(-9 * (100vw / 1100));
    left: calc(-35 * (100vw / 1100));
    z-index: 10;
    transform: rotate(-10deg);
    font-family: "TimesNewRomanMTStd";
  }
  .contents04 .flexArea02 .img14 {
    width: calc(336 * (100vw / 1100));
    position: absolute;
    top: 0;
    left: 0;
  }
  .contents04 .flexArea02 .img15 {
    width: calc(324 * (100vw / 1100));
    top: calc(9 * (100vw / 1100));
    left: calc(6 * (100vw / 1100));
    position: absolute;
  }
  .contents04 .slick-dots {
    bottom: calc(11 * (100vw / 1100));
    left: calc(6 * (100vw / 1100));
    text-align: left;
  }
  .contents05 {
    margin-top: calc(379 * (100vw / 1100));
  }
  .contents05 .ttlBox {
    position: relative;
  }
  .contents05 .ttlBox .txt_ttl h2 span {
    font-size: calc(42 * (100vw / 1100));
    text-align: center;
    margin-top: calc(32 * (100vw / 1100));
    font-family: "TimesNewRomanMTStd";
  }
  .contents05 .ttlBox .ttl_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
    pointer-events: none;
  }
  .contents05 .flexArea {
    width: calc(860 * (100vw / 1100));
    margin: calc(100 * (100vw / 1100)) auto 0;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  .contents05 .flexArea .box1 {
    width: calc(460 * (100vw / 1100));
  }
  .contents05 .flexArea .box2 {
    width: calc(330 * (100vw / 1100));
    margin-top: calc(88 * (100vw / 1100));
  }
  .contents05 .flextxt p {
    font-size: calc(13 * (100vw / 1100));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(45 * (100vw / 1100));
  }
  .contents05 .credit ul {
    margin-top: calc(17 * (100vw / 1100));
    display: flex;
    justify-content: center;
    gap: 0 calc(9 * (100vw / 1100));
  }
  .contents06 {
    margin-top: calc(124 * (100vw / 1100));
    padding-bottom: calc(140 * (100vw / 1100));
  }
  .contents06 .ttlBox {
    position: relative;
  }
  .contents06 .ttlBox .txt_ttl h2.pcOnly {
    display: block;
  }
  .contents06 .ttlBox .txt_ttl h2.spOnly {
    display: none;
  }
  .contents06 .ttlBox .txt_ttl h2 span {
    font-size: calc(42 * (100vw / 1100));
    text-align: center;
    margin-top: calc(32 * (100vw / 1100));
    font-family: "TimesNewRomanMTStd";
  }
  .contents06 .ttlBox .ttl_bg {
    width: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 10;
    pointer-events: none;
  }
  .contents06 .YuGothic {
    font-size: calc(13 * (100vw / 1100));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(97 * (100vw / 1100));
  }
  .contents06 .flexArea {
    width: calc(790 * (100vw / 1100));
    margin: calc(62 * (100vw / 1100)) auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: calc(64 * (100vw / 1100)) 0;
  }
  .contents06 .flexArea .box01 {
    width: calc(360 * (100vw / 1100));
  }
  .contents06 .flexArea .box01 .img18 {
    width: calc(260 * (100vw / 1100));
    margin: calc(10 * (100vw / 1100)) auto 0;
  }
  .contents06 .flexArea .box01 .txt10 {
    margin-top: calc(30 * (100vw / 1100));
  }
  .contents06 .flexArea .box01 .credit {
    margin-top: calc(26 * (100vw / 1100));
  }
  
  .contents06 .flexArea .box02 {
    width: calc(360 * (100vw / 1100));
  }
  .contents06 .flexArea .box02 .img19 {
    width: calc(260 * (100vw / 1100));
    margin: calc(10 * (100vw / 1100)) auto 0;
  }
  .contents06 .flexArea .box02 .txt11 {
    margin-top: calc(30 * (100vw / 1100));
  }
  .contents06 .flexArea .box02 .credit {
    margin-top: calc(26 * (100vw / 1100));
  }
  
  .contents06 .flexArea .box03 {
    width: calc(360 * (100vw / 1100));
  }
  .contents06 .flexArea .box03 .img20 {
    width: calc(260 * (100vw / 1100));
    margin: calc(10 * (100vw / 1100)) auto 0;
  }
  .contents06 .flexArea .box03 .txt12 {
    margin-top: calc(30 * (100vw / 1100));
  }
  .contents06 .flexArea .box03 .credit {
    margin-top: calc(26 * (100vw / 1100));
  }
  
  .contents06 .flexArea .box04 {
    width: calc(360 * (100vw / 1100));
  }
  .contents06 .flexArea .box04 .img21 {
    width: calc(260 * (100vw / 1100));
    margin: calc(10 * (100vw / 1100)) auto 0;
  }
  .contents06 .flexArea .box04 .txt13 {
    margin-top: calc(30 * (100vw / 1100));
  }
  .contents06 .flexArea .box04 .credit {
    margin-top: calc(25 * (100vw / 1100));
  }
  
  .contents06 .flexArea02 {
    width: auto;
    display: block;
    margin: calc(94 * (100vw / 1100)) auto 0;
  }
  .contents06 .flexArea02 .img22 {
    width: calc(220 * (100vw / 1100));
    margin: 0 auto;
  }
  .contents06 .flexArea02 .txt13 {
    width: calc(413 * (100vw / 1100));
    margin: calc(33 * (100vw / 1100)) auto 0;
  }
  
  .contents06 .txt15 {
    width: calc(36 * (100vw / 1100));
    margin: calc(130 * (100vw / 1100)) auto 0;
  }
  .allbtn {
    position: relative;
  }
  .allbtn a {
    display: inline-flex !important;
    font-size: calc(30 * (100vw / 1100));
    margin-top: calc(24 * (100vw / 1100));
    font-family: "TimesNewRomanMTStd";
  }
  .allbtn::after {
    content: '';
    width: calc(224 * (100vw / 1100));
    height: 1px;
    background: #000000;
    display: block;
    position: absolute;
    top: calc(59 * (100vw / 1100));
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 15;
  }
  .allbtn::before {
    content: '';
    width: calc(224 * (100vw / 1100));
    height: 1px;
    background: #000000;
    display: block;
    position: absolute;
    top: calc(63 * (100vw / 1100));
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 15;
  }
  .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: calc(8 * (100vw / 1100));
    height: calc(8 * (100vw / 1100));
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
  }
  .slick-dots li button {
    background: none;
    border: 1px solid #000000;
    border-radius: 100%;
  }
  .slick-dots li.slick-active button {
    background: #000000;
    border:none;
    border-radius: 100%;
  }
  .slick-dots li.slick-active button:before {
    background-color: #e2dbcc;
    content: "";
  }
  .slick-dots li button:before {
    display: none;
  }
  .slick-dots li {
    position: relative;
    display: inline-block;
    width: calc(8 * (100vw / 1100));
    height: calc(8 * (100vw / 1100));
    margin: 0 calc(3 * (100vw / 1100));
    padding: 0;
    cursor: pointer;
  }
  .contents04 svg {
    fill: none;
    filter: none;
  }
  .ellipseBox {
    width: calc(147 * (100vw / 1100));
    position: absolute;
    top: calc(-19 * (100vw / 1100));
    left: calc(-56 * (100vw / 1100));
    z-index: 1;
    pointer-events: none;
  }
  .ellipseBox.active .ellipse_txt {
    width: calc(147 * (100vw / 1100));
    fill: none;
    filter: none;
  }
  .ellipseBox.active .ellipse_txt {
    fill: none;
    filter: none;
    stroke: #000;
    stroke-width: 1px;
    stroke-dasharray: 330;
    stroke-dashoffset: 330;
    animation: ellipse 0.5s linear forwards;
  }
}


/* ================================================================================ */
/* =========================== ▼ calc レイアウト スタイル ▼　 ============================= */
/* ================================================================================ */

/* ============================== ▼ contents_area ▼　 ================================ */
/* ================================================================================ */

/* @media screen and (min-width: 768px) {
  .contents_area::after {
    content: "";
    background-color: #FFFFFF;
    display: block;
    max-width: 128rem;
    width: 100%;
    height: 865.7rem;
    opacity: 0.7;
    top: 7rem;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    z-index: 0;
    margin: 0 auto 8.2rem;
    padding-bottom: 1rem;
  }
} */


@media screen and (max-width: 767px) {
  .FU250327ribbon_lp {
    margin-bottom: calc(176 * (100vw / 750));
  }
}
/* ============================== ▼ main_visual ▼　 ================================ */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .main_visual {
    width: calc(750 * (100vw / 750));
    padding-top: calc(0 * (100vw / 750));
  }
}

/* ============================== ▼ main_contents ▼　 ================================ */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .main_contents {
    margin-top: calc(50 * (100vw / 750));
  }
  .main_contents .txt_ttl {
    padding-top: calc(130 * (100vw / 750));
  }
  .ttlBox .main_ttl {
    font-size: calc(26*(100vw / 750));
    padding-top: calc(106*(100vw / 750));
    position: relative;
    z-index: 20;
  }
  .ttlBox .txt_ttl h1 span {
    font-size: calc(68 * (100vw / 750));
    margin-top: calc(43 * (100vw / 750));
  }
  .ttlBox .txt_ttl p {
    font-size: calc(24 * (100vw / 750));
    margin-top: calc(10 * (100vw / 750));
  }
  .ttlBox .ttl_bg {
    width: calc(670*(100vw / 750));
    position: absolute;
    top: calc(90*(100vw / 750));
    left: calc(41*(100vw / 750));
    z-index: 10;
    pointer-events: none;
    -webkit-transform: none;
  }
  .main_contents .sub_txt.pcOnly {
    display: none;
  }
  .main_contents .sub_txt.spOnly {
    display: block;
    font-size: calc(40*(100vw / 750));
    margin-top: calc(166*(100vw / 750));
    letter-spacing: 0.025em;
    text-align: center;
    font-family: "acuminVariableConcept";
    color: #E892A9;
  }
  .main_contents .img01 {
    width: calc(380 * (100vw / 750));
    margin: calc(90*(100vw / 750)) auto 0;
  }
  .main_contents .img_txt p {
    font-size: calc(24 * (100vw / 750));
    margin-top: calc(90 * (100vw / 750));
  }
  .main_contents .img02 {
    width: calc(260 * (100vw / 750));
    margin: calc(127 * (100vw / 750)) auto 0;
  }
}

/* ============================== ▼ contents1 ▼　 ================================= */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .contents01 {
    width: auto;
    margin-top: calc(181 * (100vw / 750));
  }
  .contents01 .ttlBox {
    position: relative;
  }
  .contents01 .ttlBox .txt_ttl h2 span {
    font-size: calc(62 * (100vw / 750));
    margin-top: calc(57 * (100vw / 750));
  }
  .contents01 .ttlBox .ttl_bg {
    width: calc(670 * (100vw / 750));
    left: calc(40 * (100vw / 750));
    -webkit-transform: none;
  }
  .contents01 .flexArea {
    width: calc(670 * (100vw / 750));
    margin: calc(190 * (100vw / 750)) auto 0;
    display: block;
  }
  .contents01 .flexArea .box01 {
    width: calc(670 * (100vw / 750));
  }
  .contents01 .flexArea .box02 {
    width: calc(670 * (100vw / 750));
    margin-top: calc(60 * (100vw / 750));
    display: block;
  }
  .contents01 .flexArea .box02 .img04 {
    width: calc(370 * (100vw / 750));
  }
  .contents01 .flexArea .box02 .img05 {
    width: calc(400 * (100vw / 750));
    margin-top: calc(-214 * (100vw / 750));
    margin-left: auto;
  }
  .contents01 .flextxt p {
    font-size: calc(24 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(89 * (100vw / 750));
  }
  .contents01 .credit {
    margin-top: calc(29 * (100vw / 750));
  }
  .contents01 .credit ul {
    display: flex;
    justify-content: center;
    gap: 0 calc(17 * (100vw / 750));
  }
}

/* ============================== ▼ contents2 ▼　 ================================= */
/* ================================================================================ */


@media screen and (max-width: 767px) {
  .contents02 {
    width: auto;
    margin-top: calc(166 * (100vw / 750));
  }
  .contents02 .ttlBox {
    position: relative;
  }
  .contents02 .ttlBox .txt_ttl h2 {
    width: calc(570*(100vw / 750));
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .contents02 .ttlBox .txt_ttl h2 span {
    font-size: calc(62 * (100vw / 750));
    margin-top: calc(57 * (100vw / 750));
  }
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(17),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(18),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(19),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(20),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(21),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(22),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(23),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(24),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(25),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(26),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(27),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(28),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(29),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(30),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(31),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(32),
  .contents02 .ttlBox .txt_ttl h2 span:nth-child(33) {
    margin-top: calc(12 * (100vw / 750));
  }
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(1),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(2),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(3),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(4),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(5),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(6),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(7),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(8),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(9),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(10),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(11),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(12),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(13),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(14),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(15),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(16),
  .contents02 .ttlBox .txt_ttl h2.btm span:nth-child(17) {
    margin-top: calc(12 * (100vw / 750));
  }
  .contents02 .ttlBox .ttl_bg {
    width: calc(670 * (100vw / 750));
    left: calc(40 * (100vw / 750));
    -webkit-transform: none;
  }
  .contents02 .flexArea {
    width: calc(750 * (100vw / 750));
    margin: calc(190 * (100vw / 750)) auto 0;
    display: block;
  }
  .contents02 .flexArea .box01 {
    width: calc(580*(100vw / 750));
    margin-left: calc(87*(100vw / 750));
  }
  .contents02 .flexArea .box02 {
    width: auto;
    margin-top: calc(0 * (100vw / 750));
    position: relative;
  }
  .contents02 .flexArea .box02 .txt04 {
    width: calc(37 * (100vw / 750));
    position: absolute;
    top: 0;
    left: calc(252 * (100vw / 750));
    z-index: 10;
  }
  .contents02 .flexArea .box02 .img07 .credit ul {
    display: flex;
    flex-wrap: wrap;
    width: calc(262 * (100vw / 750));
    gap: 0 calc(0 * (100vw / 750));
    margin-top: calc(10 * (100vw / 750));
  }
  .contents02 .img07 {
    width: calc(400*(100vw / 750));
    margin: calc(61 * (100vw / 750)) 0 0 calc(310 * (100vw / 750));
    position: relative;
  }
  .contents02 .img07 .credit {
    position: absolute;
    top: unset;
    bottom: calc(-10 *(100vw / 750));
    left: calc(-270*(100vw / 750));
    z-index: 10;
  }
  .contents02 .flextxt p {
    font-size: calc(24 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(89 * (100vw / 750));
  }
  .contents02 .flexArea02 {
    width: auto;
    display: block;
    margin: calc(87*(100vw / 750)) 0 0 calc(0*(100vw / 750));
  }
  .contents02 .flexArea02 .box01 {
    width: calc(520*(100vw / 750));
    margin-left: calc(39*(100vw / 750));
    position: relative;
  }
  .contents02 .flexArea02 .box01 .txt05 {
    width: calc(38 * (100vw / 750));
    position: absolute;
    top: calc(0 * (100vw / 750));
    right: calc(-60 * (100vw / 750));
    z-index: 10;
  }
  .contents02 .flexArea02 .box02 {
    width: 100%;
    margin: calc(55*(100vw / 750)) 0 0 0;
    display: block;
  }
  .contents02 .flexArea02 .box02 .img09 {
    width: calc(520*(100vw / 750));
    margin: 0 auto;
  }
  .contents02 .flexArea02 .box02 .credit {
    width: auto;
    margin: calc(43*(100vw / 750)) 0 0 0;
  }
  .contents02 .flexArea02 .box02 .credit ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 0 calc(16*(100vw / 750));
    justify-content: center;
  }
}


/* ============================== ▼ contents3 ▼　 ================================= */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .contents03 {
    margin-top: calc(170 * (100vw / 750));
  }
  .contents03 .ttlBox {
    position: relative;
  }
  .contents03 .ttlBox .txt_ttl h2 {
    width: calc(551*(100vw / 750));
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .contents03 .ttlBox .txt_ttl h2 span {
    font-size: calc(62 * (100vw / 750));
    margin-top: calc(57 * (100vw / 750));
  }
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(17),
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(18),
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(19),
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(20),
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(21),
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(22),
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(23),
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(24),
  .contents03 .ttlBox .txt_ttl h2 span:nth-child(25) {
    margin-top: calc(12 * (100vw / 750));
  }
  .contents03 .ttlBox .txt_ttl h2.btm span:nth-child(1),
  .contents03 .ttlBox .txt_ttl h2.btm span:nth-child(2),
  .contents03 .ttlBox .txt_ttl h2.btm span:nth-child(3),
  .contents03 .ttlBox .txt_ttl h2.btm span:nth-child(4),
  .contents03 .ttlBox .txt_ttl h2.btm span:nth-child(5),
  .contents03 .ttlBox .txt_ttl h2.btm span:nth-child(6),
  .contents03 .ttlBox .txt_ttl h2.btm span:nth-child(7),
  .contents03 .ttlBox .txt_ttl h2.btm span:nth-child(8) {
    margin-top: calc(12 * (100vw / 750));
  }
  .contents03 .ttlBox .ttl_bg {
    width: calc(670 * (100vw / 750));
    left: calc(40 * (100vw / 750));
    -webkit-transform: none;
  }
  .contents03 .flexArea {
    width: calc(620 * (100vw / 750));
    margin: calc(190 * (100vw / 750)) auto 0;
    display: block;
  }
  .contents03 .flexArea .box1 {
    width: calc(620 * (100vw / 750));
  }
  .contents03 .flexArea .box2 {
    width: calc(460 * (100vw / 750));
    margin: calc(80 * (100vw / 750)) auto 0;
  }
  .contents03 .flextxt p {
    font-size: calc(24 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(89 * (100vw / 750));
  }
  .contents03 .credit ul {
    width: 100%;
    margin: calc(25*(100vw / 750)) 0 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 calc(17*(100vw / 750));
  }
  .contents03 .credit ul.btm {
    margin-top: calc(2 * (100vw / 750));
  }
  .contents03 .flexArea02 {
    width: calc(750 * (100vw / 750));
    margin: calc(130 * (100vw / 750)) auto 0;
    position: relative;
  }
  .contents03 .flexArea02 .img11 {
    width: calc(413 * (100vw / 750));
  }
  .contents03 .flexArea02 .img12 {
    width: calc(680*(100vw / 750));
    top: calc(224*(100vw / 750));
    left: calc(36*(100vw / 750));
  }
  .contents03 .slick-dots {
    position: absolute;
    bottom: calc(22*(100vw / 750)) !important;
    left: calc(-18*(100vw / 750));
  }
}

/* ============================== ▼ contents4 ▼　 ================================= */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .contents04 {
    margin-top: calc(178 * (100vw / 750));
    margin-bottom: calc(510 * (100vw / 750));
  }
  .contents04 .ttlBox {
    position: relative;
  }
  .contents04 .ttlBox .txt_ttl h2 {
    width: calc(566 *(100vw / 750));
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .contents04 .ttlBox .txt_ttl h2 span {
    font-size: calc(62 * (100vw / 750));
    margin-top: calc(57 * (100vw / 750));
  }
  .contents04 .ttlBox .txt_ttl h2 span:nth-child(17),
  .contents04 .ttlBox .txt_ttl h2 span:nth-child(18),
  .contents04 .ttlBox .txt_ttl h2 span:nth-child(19),
  .contents04 .ttlBox .txt_ttl h2 span:nth-child(20),
  .contents04 .ttlBox .txt_ttl h2 span:nth-child(21),
  .contents04 .ttlBox .txt_ttl h2 span:nth-child(22),
  .contents04 .ttlBox .txt_ttl h2 span:nth-child(23) {
    margin-top: calc(12 * (100vw / 750));
  }
  .contents04 .ttlBox .txt_ttl h2.btm span:nth-child(1),
  .contents04 .ttlBox .txt_ttl h2.btm span:nth-child(2),
  .contents04 .ttlBox .txt_ttl h2.btm span:nth-child(3),
  .contents04 .ttlBox .txt_ttl h2.btm span:nth-child(4),
  .contents04 .ttlBox .txt_ttl h2.btm span:nth-child(5),
  .contents04 .ttlBox .txt_ttl h2.btm span:nth-child(6),
  .contents04 .ttlBox .txt_ttl h2.btm span:nth-child(7) {
    margin-top: calc(12 * (100vw / 750));
  }
  .contents04 .ttlBox .ttl_bg {
    width: calc(670 * (100vw / 750));
    left: calc(40 * (100vw / 750));
    -webkit-transform: none;
  }
  .contents04 .flexArea {
    width: calc(580 * (100vw / 750));
    margin: calc(190 * (100vw / 750)) auto 0;
    display: block;
  }
  .contents04 .flexArea .box1 {
    width: calc(580 * (100vw / 750));
  }
  .contents04 .flexArea .box2 {
    width: calc(580 * (100vw / 750));
    margin: calc(40 * (100vw / 750)) 0 0 0;
  }
  .contents04 .flextxt p {
    font-size: calc(24 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(89 * (100vw / 750));
  }
  .contents04 .credit ul {
    width: 100%;
    margin: calc(28*(100vw / 750)) auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 calc(19*(100vw / 750));
  }
  .contents04 .credit ul.btm {
    margin-top: calc(3 * (100vw / 750));
  }
  .contents04 .flexArea02 {
    width: calc(530 * (100vw / 750));
    margin: calc(111 * (100vw / 750)) auto 0;
    position: relative;
  }
  .contents04 .flexArea02 .subTxt {
    font-size: calc(34 * (100vw / 750));
    position: absolute;
    top: calc(-5*(100vw / 750));
    left: calc(-17*(100vw / 750));
    z-index: 10;
    transform: rotate(-10deg);
    font-family: "TimesNewRomanMTStd";
  }
  .contents04 .flexArea02 .img14 {
    width: calc(530 * (100vw / 750));
    position: absolute;
    top: 0;
    left: 0;
  }
  .contents04 .flexArea02 .img15 {
    width: calc(511*(100vw / 750));
    top: calc(20*(100vw / 750));
    left: calc(10*(100vw / 750));
    position: absolute;
  }
  .contents04 .slick-dots {
    position: absolute;
    bottom: calc(20 * (100vw / 750));
    left: calc(-17 * (100vw / 750));
    text-align: left;
  }
}

/* ============================== ▼ contents5 ▼　 ================================= */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .contents05 {
    margin-top: calc(680 * (100vw / 750));
  }
  .contents05 .ttlBox {
    position: relative;
  }
  .contents05 .ttlBox .txt_ttl h2 {
    width: 100%;
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .contents05 .ttlBox .txt_ttl h2 span {
    font-size: calc(62 * (100vw / 750));
    margin-top: calc(57 * (100vw / 750));
  }
  .contents05 .ttlBox .txt_ttl h2 span:nth-child(17),
  .contents05 .ttlBox .txt_ttl h2 span:nth-child(18),
  .contents05 .ttlBox .txt_ttl h2 span:nth-child(19),
  .contents05 .ttlBox .txt_ttl h2 span:nth-child(20),
  .contents05 .ttlBox .txt_ttl h2 span:nth-child(21),
  .contents05 .ttlBox .txt_ttl h2 span:nth-child(22),
  .contents05 .ttlBox .txt_ttl h2 span:nth-child(23),
  .contents05 .ttlBox .txt_ttl h2 span:nth-child(24) {
    margin-top: calc(12 * (100vw / 750));
  }
  .contents05 .ttlBox .txt_ttl h2.btm span:nth-child(1),
  .contents05 .ttlBox .txt_ttl h2.btm span:nth-child(2),
  .contents05 .ttlBox .txt_ttl h2.btm span:nth-child(3),
  .contents05 .ttlBox .txt_ttl h2.btm span:nth-child(4),
  .contents05 .ttlBox .txt_ttl h2.btm span:nth-child(5),
  .contents05 .ttlBox .txt_ttl h2.btm span:nth-child(6),
  .contents05 .ttlBox .txt_ttl h2.btm span:nth-child(7),
  .contents05 .ttlBox .txt_ttl h2.btm span:nth-child(8) {
    margin-top: calc(12 * (100vw / 750));
  }
  .contents05 .ttlBox .ttl_bg {
    width: calc(670 * (100vw / 750));
    left: calc(40 * (100vw / 750));
    -webkit-transform: none;
  }
  .contents05 .flexArea {
    width: calc(670 * (100vw / 750));
    margin: calc(189 * (100vw / 750)) auto 0;
    display: block;
  }
  .contents05 .flexArea .box1 {
    width: calc(670 * (100vw / 750));
  }
  .contents05 .flexArea .box2 {
    width: calc(480 * (100vw / 750));
    margin: calc(80 * (100vw / 750)) auto 0;
  }
  .contents05 .flextxt p {
    font-size: calc(24 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(89 * (100vw / 750));
  }
  .contents05 .credit ul {
    width: 100%;
    margin: calc(27*(100vw / 750)) 0 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 calc(14*(100vw / 750));
  }
  .contents05 .credit ul.btm {
    margin-top: calc(0*(100vw / 750));
  }
}

/* ============================== ▼ contents6 ▼　 ================================= */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .contents06 {
    margin-top: calc(169 * (100vw / 750));
    padding-bottom: calc(195 * (100vw / 750));
  }
  .contents06 .ttlBox .txt_ttl {
    padding-top: calc(43 * (100vw / 750));
  }
  .contents06 .ttlBox .txt_ttl h2.pcOnly {
    display: none;
  }
  .contents06 .ttlBox .txt_ttl h2.spOnly {
    display: block;
  }
  .contents06 .ttlBox .txt_ttl h2 {
    width: calc(500 *(100vw / 750));
    flex-wrap: wrap;
    margin: 0 auto;
  }
  .contents06 .ttlBox .txt_ttl h2 span {
    font-size: calc(62 * (100vw / 750));
    margin-top: calc(57 * (100vw / 750));
  }
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(1),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(2),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(3),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(4),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(5),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(6),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(7),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(8),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(9),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(10),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(11),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(12),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(13),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(14),
  .contents06 .ttlBox .txt_ttl h2 span:nth-child(15){
    margin-top: calc(12 * (100vw / 750));
  }
  .contents06 .ttlBox .ttl_bg {
    width: calc(670 * (100vw / 750));
    left: calc(40 * (100vw / 750));
    -webkit-transform: none;
  }
  .contents06 .YuGothic {
    font-size: calc(24 * (100vw / 750));
    line-height: 2;
    letter-spacing: 0.025em;
    font-feature-settings: "palt";
    margin-top: calc(179 * (100vw / 750));
  }
  .contents06 .flexArea {
    width: calc(670 * (100vw / 750));
    margin: calc(10 * (100vw / 750)) 0 0 calc(40 * (100vw / 750));
    display: block;
  }
  .contents06 .flexArea .box01 {
    width: calc(490 * (100vw / 750));
    margin-top: calc(84 * (100vw / 750));
  }
  .contents06 .flexArea .box01 .img18 {
    width: calc(400 * (100vw / 750));
    margin: calc(10 * (100vw / 750)) auto 0;
  }
  .contents06 .flexArea .box01 .txt10 {
    margin-top: calc(50 * (100vw / 750));
  }
  .contents06 .flexArea .box01 .credit {
    margin-top: calc(41 * (100vw / 750));
  }
  
  .contents06 .flexArea .box02 {
    width: calc(490*(100vw / 750));
    margin-left: auto;
    margin-top: calc(90*(100vw / 750));
  }
  .contents06 .flexArea .box02 .img19 {
    width: calc(400 * (100vw / 750));
    margin: calc(10 * (100vw / 750)) auto 0;
  }
  .contents06 .flexArea .box02 .txt11 {
    width: calc(485 * (100vw / 750));
    margin-top: calc(50 * (100vw / 750));
  }
  .contents06 .flexArea .box02 .credit {
    margin-top: calc(41 * (100vw / 750));
  }
  
  .contents06 .flexArea .box03 {
    width: calc(490 * (100vw / 750));
    margin-top: calc(87 * (100vw / 750));
  }
  .contents06 .flexArea .box03 .img20 {
    width: calc(400 * (100vw / 750));
    margin: calc(10 * (100vw / 750)) auto 0;
  }
  .contents06 .flexArea .box03 .txt12 {
    margin-top: calc(50 * (100vw / 750));
  }
  .contents06 .flexArea .box03 .credit {
    margin-top: calc(41 * (100vw / 750));
  }
  
  .contents06 .flexArea .box04 {
    width: calc(490*(100vw / 750));
    margin-left: auto;
    margin-top: calc(85 *(100vw / 750));
  }
  .contents06 .flexArea .box04 .img21 {
    width: calc(400 * (100vw / 750));
    margin: calc(10 * (100vw / 750)) auto 0;
  }
  .contents06 .flexArea .box04 .txt13 {
    margin-top: calc(48*(100vw / 750));
    width: calc(490*(100vw / 750));
  }
  .contents06 .flexArea .box04 .credit {
    margin-top: calc(41 * (100vw / 750));
  }
  
  .contents06 .flexArea02 {
    width: auto;
    display: block;
    margin: calc(168 * (100vw / 750)) auto 0;
  }
  .contents06 .flexArea02 .img22 {
    width: calc(340 * (100vw / 750));
    margin: 0 auto;
  }
  .contents06 .flexArea02 .txt13 {
    width: calc(265 * (100vw / 750));
    margin: calc(52 * (100vw / 750)) auto 0;
  }
  
  .contents06 .txt15 {
    width: calc(62 * (100vw / 750));
    margin: calc(142 * (100vw / 750)) auto 0;
  }
  .allbtn {
    position: relative;
  }
  .allbtn a {
    display: flex !important;
    font-size: calc(42 * (100vw / 750));
    margin-top: calc(46 * (100vw / 750));
    font-family: "TimesNewRomanMTStd";
  }
  .allbtn::after {
    content: '';
    width: calc(313 * (100vw / 750));
    top: calc(51 * (100vw / 750));
  }
  .allbtn::before {
    content: '';
    width: calc(313 * (100vw / 750));
    top: calc(57 * (100vw / 750));
  }
}

/* ============================== ▼ contents7 ▼　 ================================= */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .slick-dots li button {
    width: calc(12 * (100vw / 750));
    height: calc(12 * (100vw / 750));
  }
  .slick-dots li {
    width: calc(12 * (100vw / 750));
    height: calc(12 * (100vw / 750));
    margin: 0 calc(6 * (100vw / 750));
  }
}

/* ============================== ▼ アニメーション ▼　 ================================= */
/* ================================================================================ */

@media screen and (max-width: 767px) {
  .ellipseBox_bg_none {
    background: #F7F2F4;
    width: 1px;
    height: 1px;
    position: absolute;
    top: calc(15.866*(100vw / 750));
    right: calc(47*(100vw / 750));
  }
}
@keyframes ellipse {
  to {
    stroke-dashoffset: 0;
  }
}

@media screen and (max-width: 767px) {
  .ellipseBox {
    width: calc(229*(100vw / 750));
    position: absolute;
    top: calc(-43*(100vw / 750));
    left: calc(-50*(100vw / 750));
    z-index: 1;
    pointer-events: none;
  }
  .ellipseBox.active svg.ellipse_txt {
    width: calc(229*(100vw / 750));
    height: calc(100*(100vw / 750));
    display: block;
  }
}

/* 上書き */
.FU250327ribbon_lp a {
  display: inline-block;
}
/* フェード */
.FU250327ribbon_lp .js-fade-mv,
.FU250327ribbon_lp .js-fade-in {
  opacity: 0;
  transition: all 1.2s;
}
.FU250327ribbon_lp .js-fade-mv.show,
.FU250327ribbon_lp .js-fade-in.show {
  opacity: 1;
}

.img15.js-fade-in.show {
  opacity: 0;
  transition: all 1.2s 1s;
}
.img15.js-fade-in.show {
  opacity: 1;
}



/*** 下から登場するアニメーション ***/
@keyframes font-animation {
  0% {
    transform: translateY(110%);
    /*表示範囲外から*/
  }

  100% {
    transform: translateY(0);
    /*通常の位置へ*/
  }
}
/*** アニメーションさせる要素 ***/
.font-animation,
.font-animation_sp {
  display: flex;
  overflow: hidden;
  justify-content: center;
}

.font-animation span,
.font-animation_sp span {
  transform: translateY(110%);
  /*下（範囲外）に隠しておく*/
  display: block;
  /*ブロック要素に変更*/
}

/*** スクロールで画面に入った場合 ***/
.font-animation.active span,
.font-animation_sp.active span {
  animation: 0.35s font-animation linear forwards;
  /*一度だけのアニメーション（終了時点で固定）*/
}

/*** 各文字のアニメーション遅延時間 ***/
.font-animation span:nth-child(1),
.font-animation_sp span:nth-child(1) {
  animation-delay: 0s;
}

.font-animation span:nth-child(2),
.font-animation_sp span:nth-child(2) {
  animation-delay: 0.05s;
}

.font-animation span:nth-child(3),
.font-animation_sp span:nth-child(3) {
  animation-delay: 0.1s;
}

.font-animation span:nth-child(4),
.font-animation_sp span:nth-child(4) {
  animation-delay: 0.15s;
}

.font-animation span:nth-child(5),
.font-animation_sp span:nth-child(5) {
  animation-delay: 0.2s;
}

.font-animation span:nth-child(6),
.font-animation_sp span:nth-child(6) {
  animation-delay: 0.25s;
}

.font-animation span:nth-child(7),
.font-animation_sp span:nth-child(7) {
  animation-delay: 0.3s;
}

.font-animation span:nth-child(8),
.font-animation_sp span:nth-child(8) {
  animation-delay: 0.35s;
}

.font-animation span:nth-child(9),
.font-animation_sp span:nth-child(9) {
  animation-delay: 0.4s;
}

.font-animation span:nth-child(10),
.font-animation_sp span:nth-child(10) {
  animation-delay: 0.45s;
}

.font-animation span:nth-child(11),
.font-animation_sp span:nth-child(11) {
  animation-delay: 0.5s;
}

.font-animation span:nth-child(12),
.font-animation_sp span:nth-child(12) {
  animation-delay: 0.55s;
}

.font-animation span:nth-child(13),
.font-animation_sp span:nth-child(13) {
  animation-delay: 0.6s;
}

.font-animation span:nth-child(14),
.font-animation_sp span:nth-child(14) {
  animation-delay: 0.65s;
}

.font-animation span:nth-child(15),
.font-animation_sp span:nth-child(15) {
  animation-delay: 0.7s;
}

.font-animation span:nth-child(16),
.font-animation_sp span:nth-child(16) {
  animation-delay: 0.75s;
}

.font-animation span:nth-child(17) {
  animation-delay: 0.8s;
}

.font-animation span:nth-child(18) {
  animation-delay: 0.85s;
}

.font-animation span:nth-child(19) {
  animation-delay: 0.9s;
}

.font-animation span:nth-child(20) {
  animation-delay: 0.95s;
}

.font-animation span:nth-child(21) {
  animation-delay: 1s;
}

.font-animation span:nth-child(22) {
  animation-delay: 1.05s;
}

.font-animation span:nth-child(23) {
  animation-delay: 1.1s;
}

.font-animation span:nth-child(24) {
  animation-delay: 1.15s;
}

.font-animation span:nth-child(25) {
  animation-delay: 1.2s;
}

.font-animation span:nth-child(26) {
  animation-delay: 1.25s;
}

.font-animation span:nth-child(27) {
  animation-delay: 1.3s;
}

.font-animation span:nth-child(28) {
  animation-delay: 1.35s;
}

.font-animation span:nth-child(29) {
  animation-delay: 1.4s;
}

.font-animation span:nth-child(30) {
  animation-delay: 1.45s;
}

.font-animation span:nth-child(31) {
  animation-delay: 1.5s;
}

.font-animation span:nth-child(32) {
  animation-delay: 1.55s;
}

.font-animation span:nth-child(33) {
  animation-delay: 1.6s;
}

.font-animation span:nth-child(34) {
  animation-delay: 1.65s;
}
