@charset "UTF-8";
/*
//////////////////////////////////////////////////////////////////////////////////////////////
setting - custom property
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents {
  --color-white: #fff;
  --color-black: #040000;
  --color-gray: #eaeaea;
  --color-dot-default: #808080;
  --color-dot-active: var(--color-black);
  --font-yu: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic";
  --font-hiragino: "Hiragino Sans";
  --font-nimbus: "nimbus-sans";
  --font-trajan: "trajan-pro-3";
  --font-ja: var(--font-hiragino), sans-serif;
  --font-en: var(--font-nimbus), sans-serif;
  /* --font-main: var(--font-nimbus), var(--font-hiragino), sans-serif; */
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  font-feature-settings: "palt";
  overflow: hidden;
  background-color: var(--color-gray);
}
@media screen and (min-width: 768px) {
  .l-lpcontents {
    --width-primary: 140rem;
    --width-secondary: 0rem;
    --fz-text_fv_title: 4.6rem;
    --fz-text_fv_text: 1.9rem;
    --fz-text_fv_lead: 1.4rem;
    --fz-text_style_subtitle: 1.8rem;
    --fz-text_style_maintitle: 5rem;
    --fz-text_style_lead: 1.7rem;
    --fz-text_style_credit: 1.2rem;
    --fz-text_style_desc_title: 3rem;
    --fz-text_style_desc_lead: 1.3rem;
    --fz-text_btn: 1.8rem;
    margin-top: -14rem;
    padding-top: 14rem;
  }
}
@media screen and (max-width: 767px) {
  .l-lpcontents {
    --width-primary: calc(750*100vw/750);
    --width-secondary: calc(680*100vw/750);
    --fz-text_fv_title: calc(60*100vw/750);
    --fz-text_fv_text: calc(28*100vw/750);
    --fz-text_fv_lead: calc(23*100vw/750);
    --fz-text_style_subtitle: calc(28*100vw/750);
    --fz-text_style_maintitle: calc(70*100vw/750);
    --fz-text_style_lead: calc(30*100vw/750);
    --fz-text_style_credit: calc(24*100vw/750);
    --fz-text_style_desc_title: calc(55*100vw/750);
    --fz-text_style_desc_lead: calc(23*100vw/750);
    --fz-text_btn: calc(30*100vw/750);
    margin-top: calc(-120* 100vw / 750);
    padding-top: calc(120* 100vw / 750);
    padding-bottom: calc(110*100vw/750);
  }
  .top_button {
    margin-top: calc(-110*100vw/750);
  }
}

@media screen and (min-width: 768px) {
  .l-lpcontents .sp_only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .l-lpcontents .pc_only {
    display: none !important;
  }
}
.l-lpcontents img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
component - grid
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents [class*="grid_column-1"] {--columns: 1;}
.l-lpcontents [class*="grid_column-2"] {--columns: 2;}
.l-lpcontents [class*="grid_column-3"] {--columns: 3;}
.l-lpcontents [class*="c-grid_column"] {
  display: grid;
  grid-template-columns: repeat(var(--columns , 1), 1fr);
  gap: var(--row, 0) var(--column, 0);
}
@media screen and (min-width: 768px) {
  .l-lpcontents [class*="c-pc_grid_column"] {
    display: grid;
    grid-template-columns: repeat(var(--columns , 1), 1fr);
    gap: var(--row, 0) var(--column, 0);
  }
}
@media screen and (max-width: 767px) {
  .l-lpcontents [class*="c-sp_grid_column"] {
    display: grid;
    grid-template-columns: repeat(var(--columns , 1), 1fr);
    gap: var(--row, 0) var(--column, 0);
  }
}
.l-lpcontents :where([class*="p-style_wrap0"]) {
  position: relative;
  width: fit-content;
  height: fit-content;
  z-index: 2;
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
component - text
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .c-text_fv_title {
  position: absolute;
  top: 54.9rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: var(--fz-text_fv_title);
  line-height: 1.3126086957;
  letter-spacing: 0.06em;
  font-weight: var(--fw-semibold);
  font-family: var(--font-trajan)!important;
  color: var(--color-black);
  z-index: 10;
}
.l-lpcontents .c-text_fv_text {
  position: absolute;
  font-size: var(--fz-text_fv_text);
  line-height: 1.5789473684;
  letter-spacing: 0.3em;
  font-weight: var(--fw-medium);
  font-family: var(--font-ja)!important;
  color: var(--color-black);
}
.l-lpcontents .c-text_fv_lead {
  font-size: var(--fz-text_fv_lead);
  line-height: 2.0714285714;
  letter-spacing: 0.1em;
  font-weight: var(--fw-medium);
  font-family: var(--font-ja)!important;
  color: var(--color-black);
  text-align: center;
}
.l-lpcontents .c-text_style_subtitle {
  font-size: var(--fz-text_style_subtitle);
  line-height: 1.6111111111;
  letter-spacing: 0.1em;
  font-weight: var(--fw-medium);
  font-family: var(--font-ja)!important;
  color: var(--color-black);
  text-align: center;
}
.l-lpcontents .c-text_style_maintitle {
  font-size: var(--fz-text_style_maintitle);
  line-height: 1.45;
  letter-spacing: 0.02em;
  font-weight: var(--fw-semibold);
  font-family: var(--font-trajan)!important;
  color: var(--color-black);
  text-align: center;
}
.l-lpcontents .c-text_style_lead {
  position: relative;
  font-size: var(--fz-text_style_lead);
  line-height: 1.7647058824;
  letter-spacing: 0.08em;
  font-weight: var(--fw-medium);
  font-family: var(--font-ja)!important;
  color: var(--color-black);
  white-space: nowrap;
}
.l-lpcontents .c-text_style_lead::before {
  position: absolute;
  content: "";
  width: 0.2rem;
  height: 12rem;
  background-color: var(--color-black);
  top: 0;
  left: -1.9rem;
  pointer-events: none;
}
.l-lpcontents .c-text_style_credit {
  font-size: var(--fz-text_style_credit);
  line-height: 2.1666666667;
  letter-spacing: 0.005em;
  font-weight: var(--fw-regular);
  font-family: var(--font-en)!important;
  color: var(--color-black);
  text-align: center;
}
.l-lpcontents .c-text_style_credit_item {
  display: inline-block;
  margin-inline: 0.4rem;
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.l-lpcontents .c-text_style_desc_title {
  font-size: var(--fz-text_style_desc_title);
  line-height: 1.8296666667;
  letter-spacing: 0.065em;
  font-weight: var(--fw-semibold);
  font-family: var(--font-trajan)!important;
  color: var(--color-black);
  text-align: center;
}
.l-lpcontents .c-text_style_desc_lead {
  font-size: var(--fz-text_style_desc_lead);
  line-height: 2.0769230769;
  letter-spacing: 0.05em;
  font-weight: var(--fw-regular);
  font-family: var(--font-ja)!important;
  color: var(--color-black);
  text-align: justify;
}
.l-lpcontents .c-text_btn {
  width: fit-content;
  margin: 15.8rem auto 16.2rem;
  font-size: var(--fz-text_btn);
  line-height: 1.4;
  letter-spacing: 0.036em;
  font-weight: var(--fw-regular);
  font-family: var(--font-en)!important;
  color: var(--color-black);
  text-align: center;
  border-bottom: 0.1rem solid var(--color-black);
}
@media screen and (max-width: 767px) {
  .l-lpcontents .c-text_fv_title {
    top: calc(885*100vw/750);
    line-height: 1.0063333333;
  }
  .l-lpcontents .c-text_fv_text {
    display: none;
    position: absolute;
    line-height: 1.6071428571;
    letter-spacing: 0.1em;
    color: var(--color-white);
  }
  .l-lpcontents .c-text_fv_lead {
    line-height: 2;
    letter-spacing: 0.025em;
  }
  .l-lpcontents .c-text_style_subtitle {
    line-height: 1.6428571429;
  }
  .l-lpcontents .c-text_style_maintitle {
    line-height: 1.0714285714;
    margin-top: calc(10*100vw/750);
  }
  .l-lpcontents .c-text_style_lead {
    line-height: 1.66;
  }
  .l-lpcontents .c-text_style_lead::before {
    width: calc(2*100vw/750);
    height: calc(200*100vw/750);
    left: calc(-30*100vw/750);
  }
  .l-lpcontents .c-text_style_credit {
    line-height: 2.0833333333;
  }
  .l-lpcontents .c-text_style_credit_item {
    margin-inline: calc(8*100vw/750);
  }
  .l-lpcontents .c-text_style_desc_title {
    line-height: 0.998;
  }
  .l-lpcontents .c-text_style_desc_lead {
    line-height: 1.8695652174;
    letter-spacing: 0.1em;
    font-weight: var(--fw-medium);
  }
  .l-lpcontents .c-text_btn {
    margin-block: calc(139* 100vw / 750) calc(88* 100vw / 750);
    line-height: 1.3;
    letter-spacing: 0.037em;
    border-block: 1px solid var(--color-black);
  }

}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
component - image
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .c-firstview_image01 {width: 47rem;}
.l-lpcontents .c-firstview_image02 {width: 60rem;}
.l-lpcontents .c-style_image0101 {width: 41rem;}
.l-lpcontents .c-style_image0102 {width: 29.5rem;}
.l-lpcontents .c-style_image0103 {width: 56rem;}
.l-lpcontents .c-style_image0104 {width: 30.4rem;}
.l-lpcontents .c-style_image0201 {width: 41rem;}
.l-lpcontents .c-style_image0202 {width: 29.5rem;}
.l-lpcontents .c-style_image0203 {width: 56rem;}
.l-lpcontents .c-style_image0204 {width: 30.4rem;}
.l-lpcontents .c-style_image0301 {width: 41rem;}
.l-lpcontents .c-style_image0302 {width: 29.5rem;}
.l-lpcontents .c-style_image0303 {width: 56rem;}
.l-lpcontents .c-style_image0304 {width: 30.4rem;}
.l-lpcontents .c-style_image0401 {width: 41rem;}
.l-lpcontents .c-style_image0402 {width: 29.5rem;}
.l-lpcontents .c-style_image0403 {width: 56rem;}
@media screen and (max-width: 767px) {
  .l-lpcontents .c-firstview_image01 {width: calc(480*100vw/750);}
  .l-lpcontents .c-firstview_image02 {width: calc(650*100vw/750);}
  .l-lpcontents .c-style_image0101 {width: calc(564*100vw/750);}
  .l-lpcontents .c-style_image0102 {width: calc(319*100vw/750);}
  .l-lpcontents .c-style_image0103 {width: calc(580*100vw/750);}
  .l-lpcontents .c-style_image0104 {width: calc(500*100vw/750);}
  .l-lpcontents .c-style_image0201 {width: calc(564*100vw/750);}
  .l-lpcontents .c-style_image0202 {width: calc(319*100vw/750);}
  .l-lpcontents .c-style_image0203 {width: calc(580*100vw/750);}
  .l-lpcontents .c-style_image0204 {width: calc(500*100vw/750);}
  .l-lpcontents .c-style_image0301 {width: calc(564*100vw/750);}
  .l-lpcontents .c-style_image0302 {width: calc(324*100vw/750);}
  .l-lpcontents .c-style_image0303 {width: calc(580*100vw/750);}
  .l-lpcontents .c-style_image0304 {width: calc(500*100vw/750);}
  .l-lpcontents .c-style_image0401 {width: calc(564*100vw/750);}
  .l-lpcontents .c-style_image0402 {width: calc(319*100vw/750);}
  .l-lpcontents .c-style_image0403 {width: calc(580*100vw/750);}
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project - common
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .p-style_inner {
  width: var(--width-primary);
  margin-inline: auto;
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project - firstview
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .p-firstview {
  width: 120rem;
  margin-inline: auto;
}
.l-lpcontents .p-firstview_inner {
  --row: 10.7rem;
}
.l-lpcontents .p-firstview_wrapper {
  grid-template-columns: repeat(2, 1fr);
}
.l-lpcontents .p-firstview_wrap01 {
  position: relative;
  display: flex;
  place-content: center;
  background-color: var(--color-white);
}
.l-lpcontents .p-firstview_wrap01 > h2 {
  display: grid;
  place-items: center;
}
.l-lpcontents .p-firstview_wrap01 > h3:first-of-type {
  top: 5.9rem;
}
.l-lpcontents .p-firstview_wrap01 > h3:last-of-type {
  writing-mode: vertical-lr;
  top: 10.3rem;
  right: 2.5rem;
}
@media screen and (max-width: 767px) {
  .l-lpcontents .p-firstview {
    width: var(--width-primary);
  }
  .l-lpcontents .p-firstview_inner {
    --row: calc(88*100vw/750);
  }
  .l-lpcontents .p-firstview_wrapper {
    width: calc(650*100vw/750);
    margin-inline: auto;
    grid-template-columns: repeat(1, 1fr);
  }
  .l-lpcontents .p-firstview_wrap01 {
    padding-block: calc(67* 100vw / 750) calc(116* 100vw / 750);
  }
  .l-lpcontents .p-firstview_wrap01 > h3:first-of-type {
    top: calc(100*100vw/750);
    text-align: center;
  }
  .l-lpcontents .p-firstview_wrap01 > h3:last-of-type {
    writing-mode: horizontal-tb;
    top: calc(200*100vw/750);
    right: initial;
  }

}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project - style01
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .p-style01 {
  margin-top: 13.6rem;
}
.l-lpcontents .p-style01 .p-style_wrapper {
  margin-top: 1.1rem;
  grid-template-columns: 24.37rem 2rem 45.8rem 1.6rem;
  grid-template-rows: 1.6rem 28.6rem 33.6rem 34.1rem;
  margin-left: 16.2rem;
}
.l-lpcontents .p-style01 .p-style_wrap01 {
  grid-column: 4;
  grid-row: 2;
}
.l-lpcontents .p-style01 .p-style_wrap02 {
  grid-column: 1;
  grid-row: 3;
}
.l-lpcontents .p-style01 .p-style_wrap03 {
  grid-column: 3;
  grid-row: 1;
  z-index: 1;
}
.l-lpcontents .p-style01 .p-style_wrap04 {
  grid-column: 5;
  grid-row: 4;
}
.l-lpcontents .p-style01 .p-style_wrap05 {
  grid-column: 2;
  grid-row: 5;
  width: 60rem;
}
.l-lpcontents .p-style01 .p-style_wrap02 > p {
  margin-left: 8.6rem;
}
.l-lpcontents .p-style01 .p-style_wrap02 > div {
  margin-top: 3.2rem;
}
.l-lpcontents .p-style01 .p-style_wrap03 > ul {
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .l-lpcontents .p-style01 {
    margin-top: calc(128*100vw/750);
  }
  .l-lpcontents .p-style01 .p-style_wrapper {
    margin-top: calc(45*100vw/750);
    margin-left: calc(0*100vw/750);
  }
  .l-lpcontents .p-style01 .p-style_wrap01 {
    margin-inline: auto;
  }
  .l-lpcontents .p-style01 .p-style_wrap02 {
    margin-top: calc(67*100vw/750);
  }
  .l-lpcontents .p-style01 .p-style_wrap03 {
    width: var(--width-primary);
    margin: calc(57*100vw/750) auto 0;
  }
  .l-lpcontents .p-style01 .p-style_wrap04 {
    margin: calc(68* 100vw / 750) auto 0;
  }
  .l-lpcontents .p-style01 .p-style_wrap05 {
    display: flex;
    flex-direction: column;
    row-gap: calc(26* 100vw / 750);
    width: calc(680* 100vw / 750);
    margin: calc(79* 100vw / 750) auto 0;
  }
  .l-lpcontents .p-style01 .p-style_wrap02 > p {
    margin-left: calc(130*100vw/750);
  }
  .l-lpcontents .p-style01 .p-style_wrap02 > div {
    position: absolute;
    top: calc(222* 100vw / 750);
    margin-top: calc(0* 100vw / 750);
    left: calc(-14* 100vw / 750);
  }
  .l-lpcontents .p-style01 .p-style_wrap03 > div {
    margin-left: auto;
  }
  .l-lpcontents .p-style01 .p-style_wrap03 > ul {
    margin-top: calc(28*100vw/750);
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project - style02
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .p-style02 {
  margin-top: 17rem;
}
.l-lpcontents .p-style02 .p-style_wrapper {
  margin-top: 1.4rem;
  grid-template-columns: 3.8rem 25.5rem 2rem 52.6rem;
  grid-template-rows: 2.1rem 27.8rem 34.8rem 33rem;
  margin-left: 11.2rem;
}
.l-lpcontents .p-style02 .p-style_wrap01 {
  grid-column: 1;
  grid-row: 2;
}
.l-lpcontents .p-style02 .p-style_wrap02 {
  grid-column: 5;
  grid-row: 3;
}
.l-lpcontents .p-style02 .p-style_wrap03 {
  grid-column: 4;
  grid-row: 1;
  z-index: 1;
}
.l-lpcontents .p-style02 .p-style_wrap04 {
  grid-column: 2;
  grid-row: 4;
}
.l-lpcontents .p-style02 .p-style_wrap05 {
  grid-column: 3;
  grid-row: 5;
  width: 60rem;
}
.l-lpcontents .p-style02 .p-style_wrap02 > p {
  margin-left: 8rem;
}
.l-lpcontents .p-style02 .p-style_wrap02 > div {
  margin-top: 4.6rem;
}
.l-lpcontents .p-style02 .p-style_wrap03 > ul {
  margin-top: 3.1rem;
}
@media screen and (max-width: 767px) {
  .l-lpcontents .p-style02 {
    margin-top: calc(170*100vw/750);
  }
  .l-lpcontents .p-style02 .p-style_wrapper {
    margin-top: calc(47*100vw/750);
    margin-left: calc(0*100vw/750);
  }
  .l-lpcontents .p-style02 .p-style_wrap01 {
    margin-inline: auto;
  }
  .l-lpcontents .p-style02 .p-style_wrap02 {
    margin-top: calc(63*100vw/750);
  }
  .l-lpcontents .p-style02 .p-style_wrap03 {
    width: var(--width-primary);
    margin: calc(57*100vw/750) auto 0;
  }
  .l-lpcontents .p-style02 .p-style_wrap04 {
    margin: calc(62* 100vw / 750) auto 0;
  }
  .l-lpcontents .p-style02 .p-style_wrap05 {
    display: flex;
    flex-direction: column;
    row-gap: calc(26* 100vw / 750);
    width: calc(690* 100vw / 750);
    margin: calc(79* 100vw / 750) auto 0;
  }
  .l-lpcontents .p-style02 .p-style_wrap02 > p {
    margin-left: calc(130*100vw/750);
  }
  .l-lpcontents .p-style02 .p-style_wrap02 > div {
    position: absolute;
    top: calc(210* 100vw / 750);
    margin-top: calc(0* 100vw / 750);
    left: calc(444* 100vw / 750);
  }
  .l-lpcontents .p-style02 .p-style_wrap03 > ul {
    margin-top: calc(28*100vw/750);
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project - style03
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .p-style03 {
  margin-top: 17.2rem;
}
.l-lpcontents .p-style03 .p-style_wrapper {
  margin-top: 1.5rem;
  grid-template-columns: 24.7rem 2rem 12.7rem 34rem;
  grid-template-rows: 2.1rem 28.5rem 67.1rem 27.7rem;
  margin-left: 16rem;
}
.l-lpcontents .p-style03 .p-style_wrap01 {
  grid-column: 5;
  grid-row: 2;
}
.l-lpcontents .p-style03 .p-style_wrap02 {
  grid-column: 1;
  grid-row: 3;
}
.l-lpcontents .p-style03 .p-style_wrap03 {
  grid-column: 3;
  grid-row: 1;
  z-index: 1;
}
.l-lpcontents .p-style03 .p-style_wrap04 {
  grid-column: 2;
  grid-row: 4;
  width: 60rem;
}
.l-lpcontents .p-style03 .p-style_wrap05 {
  grid-column: 4;
  grid-row: 5;
}
.l-lpcontents .p-style03 .p-style_wrap02 > p {
  margin-left: 3.9rem;
}
.l-lpcontents .p-style03 .p-style_wrap02 > div {
  margin-top: 2.1rem;
}
.l-lpcontents .p-style03 .p-style_wrap03 > ul {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .l-lpcontents .p-style03 {
    margin-top: calc(221*100vw/750);
  }
  .l-lpcontents .p-style03 .p-style_wrapper {
    margin-top: calc(50*100vw/750);
    margin-left: calc(0*100vw/750);
  }
  .l-lpcontents .p-style03 .p-style_wrap01 {
    margin-inline: auto;
  }
  .l-lpcontents .p-style03 .p-style_wrap02 {
    margin-top: calc(63*100vw/750);
  }
  .l-lpcontents .p-style03 .p-style_wrap03 {
    width: var(--width-primary);
    margin: calc(54*100vw/750) auto 0;
  }
  .l-lpcontents .p-style03 .p-style_wrap04 {
    display: flex;
    flex-direction: column;
    row-gap: calc(26* 100vw / 750);
    width: calc(680* 100vw / 750);
    margin: calc(63* 100vw / 750) auto 0;
  }
  .l-lpcontents .p-style03 .p-style_wrap05 {
    margin: calc(73* 100vw / 750) auto 0;
  }
  .l-lpcontents .p-style03 .p-style_wrap02 > p {
    margin-left: calc(130*100vw/750);
  }
  .l-lpcontents .p-style03 .p-style_wrap02 > div {
    position: absolute;
    top: calc(225* 100vw / 750);
    margin-top: calc(0* 100vw / 750);
    left: calc(-14* 100vw / 750);
  }
  .l-lpcontents .p-style03 .p-style_wrap03 > div {
    margin-left: auto;
  }
  .l-lpcontents .p-style03 .p-style_wrap03 > ul {
    margin-top: calc(28*100vw/750);
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
project - style04
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .p-style04 {
  margin-top: 3.9rem;
}
.l-lpcontents .p-style04 .p-style_wrapper {
  margin-top: 1.4rem;
  grid-template-columns: 31.4rem 2rem 50.6rem;
  grid-template-rows: 2.1rem 30.3rem 65.2rem;
  margin-left: 9.2rem;
}
.l-lpcontents .p-style04 .p-style_wrap01 {
  grid-column: 1;
  grid-row: 2;
}
.l-lpcontents .p-style04 .p-style_wrap02 {
  grid-column: 4;
  grid-row: 3;
}
.l-lpcontents .p-style04 .p-style_wrap03 {
  grid-column: 3;
  grid-row: 1;
  z-index: 1;
}
.l-lpcontents .p-style04 .p-style_wrap04 {
  grid-column: 2;
  grid-row: 4;
  width: 60rem;
}
.l-lpcontents .p-style04 .p-style_wrap02 > p {
  margin-left: 5rem;
}
.l-lpcontents .p-style04 .p-style_wrap02 > div {
  margin-top: 4.1rem;
}
.l-lpcontents .p-style04 .p-style_wrap03 > ul {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .l-lpcontents .p-style04 {
    margin-top: calc(129*100vw/750);
  }
  .l-lpcontents .p-style04 .p-style_wrapper {
    margin-top: calc(50*100vw/750);
    margin-left: calc(0*100vw/750);
  }
  .l-lpcontents .p-style04 .p-style_wrap01 {
    margin-inline: auto;
  }
  .l-lpcontents .p-style04 .p-style_wrap02 {
    width: var(--width-primary);
    margin: calc(59*100vw/750) auto 0;
  }
  .l-lpcontents .p-style04 .p-style_wrap03 {
    width: var(--width-primary);
    margin: calc(57* 100vw / 750) auto 0;
  }
  .l-lpcontents .p-style04 .p-style_wrap04 {
    display: flex;
    flex-direction: column;
    row-gap: calc(26* 100vw / 750);
    width: calc(680* 100vw / 750);
    margin: calc(61* 100vw / 750) auto 0;
  }
  .l-lpcontents .p-style04 .p-style_wrap02 > p {
    margin-left: calc(130*100vw/750);
  }
  .l-lpcontents .p-style04 .p-style_wrap02 > div {
    position: absolute;
    top: calc(215* 100vw / 750);
    margin-top: calc(0* 100vw / 750);
    left: calc(444* 100vw / 750);
  }
  .l-lpcontents .p-style04 .p-style_wrap03 > ul {
    margin-top: calc(28*100vw/750);
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
slick
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .slick-dots {
  position: absolute;
  bottom: -2rem;
  left: var(--left, initial);
  right: var(--right, initial);
}
.l-lpcontents .slick-dots li {
  display: inline-block;
  margin-inline: 0.4rem;
}
.l-lpcontents .slick-dots li button {
  width: 0.6rem;
  height: 0.6rem;
  font-size: 0;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background-color: var(--color-dot-default);
}
.l-lpcontents .slick-dots li.slick-active button {
  background-color: var(--color-dot-active);
}
@media screen and (max-width: 767px) {
  .l-lpcontents .slick-dots {
    bottom: calc(-39*100vw/750);
  }
  .l-lpcontents .slick-dots li {
    margin: 0 calc(11*100vw/750);
  }
  .l-lpcontents .slick-dots li button {
    width: calc(12*100vw/750);
    height: calc(12*100vw/750);
  }
}

/************** ドットの位置がPC/SP共通の場合 **************/
.l-lpcontents .c-dot-right .slick-dots {
  --right: -0.5rem;
}
.l-lpcontents .c-dot-center .slick-dots {
  --left: 50%;
  transform: translateX(-50%);
}
.l-lpcontents .c-dot-left .slick-dots {
  --left: -0.5rem;
}
/************ ドットの位置がPCのみ指定したい場合 ************/
@media screen and (min-width: 768px) {
  .l-lpcontents .c-pc_dot-right .slick-dots {
    --right: -0.5rem;
  }
  .l-lpcontents .c-pc_dot-center .slick-dots {
    --left: 50%;
    transform: translateX(-50%);
  }
  .l-lpcontents .c-pc_dot-left .slick-dots {
    --left: -0.5rem;
  }
}
/************ ドットの位置がSPのみ指定したい場合 ************/
@media screen and (max-width: 767px) {
  .l-lpcontents .c-sp_dot-right .slick-dots {
    --right: calc(-12*100vw/750);
  }
  .l-lpcontents .c-sp_dot-center .slick-dots {
    --left: 50%;
    transform: translateX(-50%);
  }
  .l-lpcontents .c-sp_dot-left .slick-dots {
    --left: calc(-12*100vw/750);
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
animation - fade
//////////////////////////////////////////////////////////////////////////////////////////////
*/
.l-lpcontents .js-text > h4,
.l-lpcontents .js-text > h5 {
  width: fit-content;
  margin-inline: auto;
  overflow: hidden;
}
.l-lpcontents .js-text span {
  display: block;
  transform: translateY(100%);
}
.l-lpcontents .js-text.is-active span {
  transform: translateY(0%);
  transition: transform 1s ease;
}
.l-lpcontents .js-fade {
  opacity: 0;
  transform: translateY(20px);
}
.l-lpcontents .js-fade.is-active {
  opacity: 1;
  transform: translateY(0);
  transition: all 1s .2s ease;
}
.l-lpcontents .js-border::before {
  height: 0;
}
.l-lpcontents .js-border.is-active::before {
  height: 100%;
  transition-duration: 1s;
  transition-delay: .5s;
}
.l-lpcontents .js-show > h2 {
  opacity: 0;
  transform: translate3d(-50%, 2%, 0);
}
.l-lpcontents .js-show.is-active > h2 {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
  transition: opacity 380ms 1220ms cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 380ms 1220ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.l-lpcontents .js-show > div {
  opacity: 0;
}
.l-lpcontents .js-show.is-active > div {
  opacity: 1;
  transition: opacity 880ms 440ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media screen and (min-width: 768px) {}
@media screen and (max-width: 767px) {}