:root {
  --designwidth: 1368;
  --lp_font_jp: ryo-gothic-plusn, sans-serif;
  --lp_font_en: "univers-next-pro-condensed", sans-serif;
  --anime_duration: 0.8s;
  --color_base:#17214D;
  --zoom:1.212; }
  @media screen and (max-width: 767px) {
    :root {
      --designwidth: 376;
      --zoom:1; } }

body {
  font-family: var(--lp_font_jp);
  font-style: normal; }
  body.is-modal-open {
    position: relative;
    height: 100%;
    overflow: hidden; }

.simple-footer {
  display: none !important; }

@media screen and (max-width: 767px) {
  .lp-u-show-pc {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .lp-u-show-sp {
    display: none !important; } }

.lp-u-block {
  padding-left: calc((16 * var(--zoom) / var(--designwidth) ) * 100vw);
  padding-right: calc((16 * var(--zoom) / var(--designwidth) ) * 100vw); }
  .lp-u-block > :first-child {
    margin-top: 0 !important; }

.lp-u-block-reset {
  margin-inline: calc((-30 * var(--zoom) / var(--designwidth) ) * 100vw); }

@media screen and (min-width: 768px) {
  .lp-u-hover {
    transition: ease opacity 0.3s; }
    .lp-u-hover:hover {
      opacity: 0.7; } }

.lp-u-mt0 {
  margin-top: 0 !important; }

.lp-l-wrapper {
  line-height: 2;
  font-weight: 500;
  font-size: calc((11 * var(--zoom) / var(--designwidth) ) * 100vw);
  color: var(--color_base); }
  .lp-l-wrapper img,
  .lp-l-wrapper video {
    max-width: 100%;
    width: 100%;
    height: auto;
    vertical-align: bottom; }

.lp-l-contents {
  opacity: 0;
  transition: ease-out all var(--anime_duration); }
  .is-init .lp-l-contents {
    opacity: 1; }

.lp-l-article {
  position: relative; }

@media screen and (min-width: 768px) {
  .lp-l-article__main__contents {
    position: relative;
    z-index: 10;
    background-color: #fff; } }

@media screen and (max-width: 767px) {
  .lp-l-article__main__contents {
    z-index: 2;
    position: sticky;
    top: 0;
    overflow: hidden; } }

.c-credit-wrap {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 100%;
  gap: calc((8 * var(--zoom) / var(--designwidth) ) * 100vw);
  margin: calc((19 * var(--zoom) / var(--designwidth) ) * 100vw) 0 0 auto;
  padding: 0 calc((16 * var(--zoom) / var(--designwidth) ) * 100vw);
  width: calc((241 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1; }

.c-credit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc((18 * var(--zoom) / var(--designwidth) ) * 100vw);
  text-decoration: none;
  color: inherit; }
  @media screen and (min-width: 768px) {
    .c-credit:hover .c-credit__button {
      background-color: #fff;
      color: #000; } }

.c-credit__detail {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: calc((10 * var(--zoom) / var(--designwidth) ) * 100vw);
  color: var(--color_red);
  font-family: var(--lp_font_en); }

.c-credit__name {
  text-transform: uppercase; }

.c-credit__price:before {
  margin-left: 0.5em;
  content: "\0a5"; }

.c-credit__button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc((2 * var(--zoom) / var(--designwidth) ) * 100vw) calc((5 * var(--zoom) / var(--designwidth) ) * 100vw);
  width: calc((74 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1;
  font-size: calc((10 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-family: var(--lp_font_en);
  color: #fff;
  border: 1px solid var(--color_base);
  background-color: var(--color_base);
  border-radius: 50px;
  text-decoration: none;
  transition: ease all 0.3s;
  line-height: 1;
  text-rendering: optimizeLegibility; }
  .c-credit__button > span {
    transform: scale(0.8); }

.c-inlinelink {
  text-decoration: underline;
  color: inherit; }
  .c-inlinelink:hover {
    text-decoration: none; }

.c-paragraph {
  text-align: justify;
  font-size: calc((11 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-weight: 500;
  line-height: 2; }

.lp-mv {
  background-color: #B8CDE0; }
  @media screen and (min-width: 768px) {
    .lp-mv {
      position: sticky;
      top: -100vh; } }
  @media screen and (max-width: 767px) {
    .lp-mv {
      display: grid;
      position: sticky;
      z-index: 1; } }

.lp-mv__base {
  grid-row: 1;
  grid-column: 1; }
  @media screen and (min-width: 768px) {
    .lp-mv__base {
      position: fixed;
      left: 0;
      top: 0;
      flex-shrink: 0;
      width: 48.97%; } }

.lp-mv__img {
  overflow: hidden; }
  .lp-mv__img img {
    display: block;
    transform: scale(1.1);
    opacity: 0;
    transition: ease-out all 2s; }
    @media screen and (min-width: 768px) {
      .lp-mv__img img {
        height: 100vh;
        -o-object-fit: cover;
           object-fit: cover; } }
  .is-show .lp-mv__img img {
    opacity: 1;
    transform: scale(1); }

.lp-mv-hero {
  opacity: 0;
  transition: ease-out opacity var(--anime_duration); }
  .is-init .lp-mv-hero {
    opacity: 1; }

.lp-mv__detail {
  color: #fff;
  z-index: 2; }
  @media screen and (min-width: 768px) {
    .lp-mv__detail {
      margin-left: auto;
      width: calc((664 / var(--designwidth) ) * 100vw); } }
  @media screen and (max-width: 767px) {
    .lp-mv__detail {
      position: relative;
      grid-row: 1;
      grid-column: 1;
      display: flex;
      align-items: center;
      padding: calc((16 * var(--zoom) / var(--designwidth) ) * 100vw); } }

@media screen and (min-width: 768px) {
  .lp-mv__detail__section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    max-width: calc((480 / var(--designwidth) ) * 100vw); }
    .lp-mv__detail__section--sub {
      padding-top: 15vh;
      justify-content: flex-start; } }

@media screen and (max-width: 767px) {
  .lp-mv__detail__section {
    display: flex;
    flex-direction: column;
    gap: calc((16 * var(--zoom) / var(--designwidth) ) * 100vw); } }

.lp-mv__detail__section > :first-child {
  margin-top: 0 !important; }

.lp-mv__detail__section > :last-child {
  margin-bottom: 0 !important; }

.lp-mv-hero__logo {
  line-height: 0.85;
  font-family: var(--lp_font_en);
  font-size: calc((48 * var(--zoom) / var(--designwidth) ) * 100vw); }
  @media screen and (min-width: 768px) {
    .lp-mv-hero__logo {
      font-size: calc((96 / var(--designwidth) ) * 100vw);
      white-space: nowrap; } }

.lp-mv-hero__logo__block {
  display: flex; }

.lp-mv-hero__lead {
  line-height: 1.66;
  font-size: calc((12 * var(--zoom) / var(--designwidth) ) * 100vw); }
  @media screen and (min-width: 768px) {
    .lp-mv-hero__lead {
      margin-top: 1.4em;
      line-height: 2;
      font-size: calc((16 / var(--designwidth) ) * 100vw); } }

.lp-mv-hero__text {
  margin-top: 30px;
  font-size: calc((12 * var(--zoom) / var(--designwidth) ) * 100vw); }
  @media screen and (min-width: 768px) {
    .lp-mv-hero__text {
      font-size: calc((12 / var(--designwidth) ) * 100vw); } }

.lp-mv-hero__button {
  display: flex;
  justify-content: center;
  margin-top: calc((60 / var(--designwidth) ) * 100vw); }

.lp-mv-hero__button__type {
  padding: calc((15 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1;
  text-decoration: none;
  text-align: center;
  color: #fff;
  font-family: var(--lp_font_en);
  border: 1px solid #fff; }
  @media screen and (min-width: 768px) {
    .lp-mv-hero__button__type {
      width: calc((272 / var(--designwidth) ) * 100vw);
      font-size: calc((14 / var(--designwidth) ) * 100vw);
      transition: all ease-out var(--anime_duration); }
      .lp-mv-hero__button__type:hover {
        color: var(--color_base);
        background-color: #fff; } }

@media screen and (min-width: 768px) {
  .lp-intro {
    position: relative;
    margin-left: auto;
    padding-right: calc((184 / var(--designwidth) ) * 100vw);
    width: calc((664 / var(--designwidth) ) * 100vw); } }

.lp-intro__slider {
  margin: calc((75 * var(--zoom) / var(--designwidth) ) * 100vw) 0 0; }
  @media screen and (min-width: 768px) {
    .lp-intro__slider {
      margin-top: 0;
      padding-top: calc((70 / var(--designwidth) ) * 100vw); } }
  .lp-intro__slider .swiper .swiper-pagination {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    bottom: 20px;
    padding: 0 calc((16 * var(--zoom) / var(--designwidth) ) * 100vw); }
  .lp-intro__slider .swiper .swiper-pagination .swiper-pagination-bullet {
    margin: 0; }
  .lp-intro__slider .swiper-pagination-bullet {
    background-color: #fff;
    opacity: 1; }
  .lp-intro__slider .swiper-pagination-bullet-active {
    background-color: var(--color_base); }

.lp-intro__section-wrap {
  display: flex;
  flex-direction: column;
  gap: calc((65 * var(--zoom) / var(--designwidth) ) * 100vw);
  margin: calc((24 * var(--zoom) / var(--designwidth) ) * 100vw) 0 0; }

.lp-intro__section.is-right {
  margin-left: auto; }

.lp-intro__section > :first-child {
  margin-top: 0 !important; }

.lp-intro__section > :last-child {
  margin-bottom: 0 !important; }

.lp-intro__image {
  width: calc((270 * var(--zoom) / var(--designwidth) ) * 100vw); }
  .lp-intro__image.is-right {
    margin-left: auto; }

.lp-intro__define-list {
  display: flex;
  flex-direction: column;
  gap: calc((24 * var(--zoom) / var(--designwidth) ) * 100vw);
  margin: 25px 0 0; }

.lp-intro__define-list__title {
  display: flex;
  justify-content: space-between;
  padding: 0 calc((21 * var(--zoom) / var(--designwidth) ) * 100vw) 0 calc((16 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1;
  font-family: var(--lp_font_en);
  font-size: calc((20 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-weight: 700; }
  .lp-intro__define-list__title.is-revers {
    flex-direction: row-reverse; }

.lp-intro__define-list__detail {
  padding: 0 calc((18 * var(--zoom) / var(--designwidth) ) * 100vw) 0 calc((16 * var(--zoom) / var(--designwidth) ) * 100vw);
  width: calc((288 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1.66;
  font-size: calc((12 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-weight: 500; }
  .lp-intro__define-list__detail.is-right {
    margin-left: auto; }

.lp-intro__text {
  margin: calc((27 * var(--zoom) / var(--designwidth) ) * 100vw) 0 0;
  padding: 0 calc((16 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1.66;
  font-size: calc((12 * var(--zoom) / var(--designwidth) ) * 100vw); }

.lp-intro__button {
  display: flex;
  justify-content: center;
  margin-top: calc((35 * var(--zoom) / var(--designwidth) ) * 100vw); }

.lp-intro__button__type {
  padding: calc((17 * var(--zoom) / var(--designwidth) ) * 100vw);
  width: calc((254 / var(--designwidth) ) * 100vw);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  color: var(--color_base);
  font-family: var(--lp_font_en);
  font-size: calc((12 * var(--zoom) / var(--designwidth) ) * 100vw);
  background-color: #fff;
  border: 1px solid var(--color_base); }

.lp-intro__copy {
  position: absolute;
  z-index: 20;
  top: 0;
  right: calc((50 / var(--designwidth) ) * 100vw);
  padding-top: calc((70 / var(--designwidth) ) * 100vw);
  line-height: 1;
  color: var(--color_base);
  font-family: var(--lp_font_en);
  font-size: calc((30 / var(--designwidth) ) * 100vw);
  font-weight: 700;
  writing-mode: vertical-rl;
  white-space: nowrap;
  height: 100vh;
  pointer-events: none; }
  @media screen and (max-width: 767px) {
    .lp-intro__copy {
      display: none; } }

.lp-look-wrap {
  margin-top: calc((66 * var(--zoom) / var(--designwidth) ) * 100vw);
  overflow: hidden; }

.lp-look {
  margin-top: calc((70 * var(--zoom) / var(--designwidth) ) * 100vw); }
  .lp-look + .lp-look {
    margin-top: calc((100 * var(--zoom) / var(--designwidth) ) * 100vw); }

@media screen and (min-width: 768px) {
  .lp-look__heading-lv2,
  .lp-look__inner {
    margin-left: auto;
    padding-right: calc((184 / var(--designwidth) ) * 100vw);
    width: calc((664 / var(--designwidth) ) * 100vw); } }

.lp-look__image {
  margin-top: calc((35 * var(--zoom) / var(--designwidth) ) * 100vw); }

.lp-look__heading-lv2 {
  display: flex;
  padding: 0 calc((6 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1;
  letter-spacing: -0.02em;
  font-family: var(--lp_font_en);
  font-size: calc((80 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-weight: 700; }

.lp-look__heading-lv3 {
  margin: calc((25 * var(--zoom) / var(--designwidth) ) * 100vw) 0 0;
  line-height: 1;
  font-family: var(--lp_font_en);
  font-size: calc((20 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-weight: 700; }

.lp-look__text {
  margin: calc((11 * var(--zoom) / var(--designwidth) ) * 100vw) 0 0;
  width: calc((254 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1.66;
  font-size: calc((12 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-weight: 500;
  text-align: justify; }

.lp-look__detail {
  margin: calc((25 * var(--zoom) / var(--designwidth) ) * 100vw) 0 0;
  padding: 0 calc((16 * var(--zoom) / var(--designwidth) ) * 100vw); }
  .lp-look__detail > :first-child {
    margin-top: 0 !important; }
  .lp-look__detail > :last-child {
    margin-bottom: 0 !important; }

@media screen and (min-width: 768px) {
  .lp-look__slider .swiper {
    overflow: visible; } }

.lp-look__slider .swiper-wrapper {
  transition-timing-function: linear; }

.lp-footer {
  margin: calc((81 * var(--zoom) / var(--designwidth) ) * 100vw) 0 0;
  padding-bottom: calc((75 * var(--zoom) / var(--designwidth) ) * 100vw);
  text-align: center;
  color: var(--color_base);
  background-color: #fff; }
  @media screen and (min-width: 768px) {
    .lp-footer {
      margin-left: auto;
      padding-right: calc((184 / var(--designwidth) ) * 100vw);
      width: calc((664 / var(--designwidth) ) * 100vw); } }

.lp-footer-button-wrap {
  margin: calc((36 * var(--zoom) / var(--designwidth) ) * 100vw) auto 0;
  max-width: calc((180 * var(--zoom) / var(--designwidth) ) * 100vw); }

.lp-footer-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc((32 * var(--zoom) / var(--designwidth) ) * 100vw);
  border-radius: 50px;
  color: #2E2E2E;
  text-decoration: none;
  font-weight: 500;
  font-size: calc((11 * var(--zoom) / var(--designwidth) ) * 100vw);
  letter-spacing: 0.05em;
  text-align: center;
  border: 1px solid #2E2E2E; }
  @media screen and (min-width: 768px) {
    .lp-footer-button {
      transition: ease all 0.3s; }
      .lp-footer-button:hover {
        color: #fff;
        background-color: #2E2E2E; } }

.lp-footer-credit {
  list-style: none;
  margin-bottom: calc((60 * var(--zoom) / var(--designwidth) ) * 100vw);
  line-height: 1.66;
  font-size: calc((12 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-weight: 500;
  font-family: var(--lp_font_en);
  text-align: center; }

.lp-footer-sns {
  align-items: center;
  display: flex;
  justify-content: center;
  padding-top: calc((58 * var(--zoom) / var(--designwidth) ) * 100vw); }
  .lp-footer-sns > li {
    list-style: none;
    margin: 0 12.5px; }
  .lp-footer-sns a {
    align-items: center;
    background-color: #000;
    border-radius: 50%;
    display: flex;
    height: 40px;
    justify-content: center;
    width: 40px; }
  .lp-footer-sns svg path {
    fill: #fff; }
  .lp-footer-sns .lp-sns-instagram svg {
    width: 50%; }
  .lp-footer-sns .lp-sns-twitter svg {
    width: 47.5%; }
  .lp-footer-sns .lp-sns-facebook svg {
    width: 43.75%; }
  .lp-footer-sns .lp-sns-line svg {
    width: 60%; }

.lp-footer-logo {
  margin: 0 auto;
  margin-top: calc((50 * var(--zoom) / var(--designwidth) ) * 100vw);
  width: calc((163 * var(--zoom) / var(--designwidth) ) * 100vw); }

.lp-footer-copyright {
  margin-top: calc((40 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-size: calc((12 * var(--zoom) / var(--designwidth) ) * 100vw);
  font-weight: 500;
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  color: #000; }

.animation-fadein {
  opacity: 0;
  filter: blur(5px);
  transition: ease-out var(--anime_duration);
  transition-property: opacity,filter; }
  .animation-fadein.is-show {
    opacity: 1 !important;
    filter: blur(0px) !important; }

.lp-fade-animation,
.lp-fade-animation--to-left,
.lp-fade-animation--to-right {
  opacity: 0;
  transform: translate(0px, 15px);
  filter: blur(5px);
  transition: var(--anime_duration) ease-out;
  transition-property: opacity,transform,filter; }
  .lp-fade-animation.is-show,
  .lp-fade-animation--to-left.is-show,
  .lp-fade-animation--to-right.is-show {
    opacity: 1 !important;
    transform: translate(0px, 0px) !important;
    filter: blur(0px) !important; }

.lp-fade-animation--to-left {
  transform: translate(15px, 0px); }

.lp-fade-animation--to-right {
  transform: translate(-15px, 0px); }

.lp-fade-animation--parents {
  opacity: 0;
  transform: translate(0px, 15px);
  filter: blur(5px);
  transition: var(--anime_duration) ease-out;
  transition-property: opacity,transform,filter; }
  .is-show .lp-fade-animation--parents {
    opacity: 1 !important;
    transform: translate(0px, 0px) !important;
    filter: blur(0px) !important; }

.lp-animation-delay--400 {
  transition-delay: 400ms; }

.lp-animation-delay--600 {
  transition-delay: 600ms; }

.lp-animation-delay--800 {
  transition-delay: 800ms; }

.lp-animation-delay--1400 {
  transition-delay: 1400ms; }
