﻿@charset "UTF-8";

/* ========================================================
                      * Variable *
========================================================= */
:root {
  --pw: 1366; /* PC幅 */
  --sw: 750; /* SP幅 */
  --artboard-pw: 416; /* PCアートボード幅 */
  --artboard-sw: 750; /* SPアートボード幅 */
  --rem: calc(var(--variable) * var(--ratio));
}

@media (768px <= width) {
  :root {
    --ratio: calc(var(--artboard-pw) / var(--artboard-sw));
    --variable: calc(100vw / var(--pw));
  }
}
@media (width < 768px) {
  :root {
    --ratio: 1;
    --variable: calc(100vw / var(--sw));
  }
}

/* ========================================================
                      * Layout style *
========================================================= */
html {
  scroll-behavior: smooth;
  font-size: 62.5%
}
main {
  max-width: 100%;
}

@media (768px <= width) {
  #Wrap,
  .wrapBottom,
  .wrapTop,
  #Contents {
    width: 100%;
  }
}
#FooterWrap {
  position: relative;
}


/* ===================
  LP Contents
=================== */
.lp_contents {
  /* background: var(--lp-background-color, transparent); */
  /* font-family: var(--lp-font-ja); */
  /* color: var(--base-font-color, #000); */
  /* font-size: calc(22 * var(--rem)); */
  font-style: normal;
  /* letter-spacing: .07em; */
  /* & * {
    font-feature-settings: "palt";
  } */
  & *,
  & *:before,
  & *:after {
    box-sizing: border-box;
  }
  & :where(h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, a, button, figure, figcaption) {
    margin: 0;
    padding: 0;
    font-family: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }
  & ul,
  & li {
    list-style: none;
  }
  & :where(img) {
    display: block;
    max-width: 100%;
    height: auto;
  }
  & sup {
    /* font-size: calc(20 * var(--rem)); */
    vertical-align: unset;
  }
  & :where(a, a:before, a:after, a img, button) {
    --duration: .3s;
    --timing: ease-in-out;
    transition:
      opacity var(--duration) var(--timing),
      color var(--duration) var(--timing),
      background-color var(--duration) var(--timing),
      background-image var(--duration) var(--timing),
      border-color var(--duration) var(--timing),
      text-shadow var(--duration) var(--timing),
      text-weight var(--duration) var(--timing)
    ;
  }
  & :where(a) {
    color: inherit;
    text-decoration: none;
    /* text-underline-offset: calc(4 * var(--rem)); */
  }
  & :where(button) {
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
  }
}


/* ===================
  Layout
=================== */
.l-mobile-first {
  position: relative;
  @media (768px <= width) {
    display: flex;
  }
}
.l-mobile-first__left,
.l-mobile-first__right {
  position: relative;
  width: calc((100vw - (416 / var(--pw) * 100vw)) / 2);
}
.l-mobile-first__sticky {
  position: sticky;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  transition: padding-top .3s;
}
.l-mobile-first__main {
  overflow-x: clip;
  @media (768px <= width) {
    width: calc(416 / var(--pw) * 100vw);
  }
}

.p-mainvisual {
  & img {
    display: block;
    width: 100%;
  }
}

.p-main {
  padding-bottom: calc(100 * var(--rem));
  & img {
    display: block;
    width: 100%;
  }
}

.c-button-block {
  padding-block: calc(41 * var(--rem)) calc(107 * var(--rem));
  & a {
    display: block;
    width: fit-content;
    margin-inline: auto;
  }
  & img {
    width: auto;
    height: calc(48 * var(--rem));
  }
}

.p-logo-box {
  display: flex;
  align-items: center;
  & img {
    width: calc(298.72 / var(--pw) * 100vw);
    height: auto;
  }
}

.c-float-button {
  & img {
    width: calc(154.99 / var(--pw) * 100vw);
    height: auto;
  }
}


/*=======================================
               Responsive
========================================*/

/*=======================================
                    PC
========================================*/
@media (768px <= width) {
  .u-d-md {
    display: none ! important;
  }
}


/*=======================================
                    SP
========================================*/
@media (width < 768px) {
  .u-d-lg {
    display: none ! important;
  }
}
