/* =======================================
 reset
======================================= */
/***
    The new CSS reset - version 1.11.2 (last updated 15.11.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio, input[type=radio], input[type=checkbox]):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::-webkit-input-placeholder {
  color: unset;
}
:-ms-input-placeholder {
  color: unset;
}
::-ms-input-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
 display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
 - fix for the content editable attribute will work properly.
 - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

:focus-visible {
  outline: none;
}

h1, h2, h3, h4, h5, h6,
ul, ol, li, p, dl, dt, dd {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}

html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

html, body {
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

a {
  color: var(--font_color);
  text-decoration: none;
}

img {
  height: auto;
  vertical-align: bottom;
  width: 100%;
}

strong {
  font-weight: 700;
}

/* =======================================
 layout
======================================= */
body {
  background: #d7ebe9;
  color: var(--font_color);
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1;
  margin: auto;
  width: 100%;
}
@media screen and (max-width: 750px) {
  body {
    font-size: 3.733vw;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  body {
    font-size: 20.916px;
  }
}
@media screen and (min-width: 1024px) {
  body {
    font-size: 20.916px;
  }
}

.font-en {
  font-family: "Century Gothic", CenturyGothic, Futura, "Questrial", sans-serif;
}

.wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .wrapper::before {
    background: url(../images/bg.png) 50% 50%/cover no-repeat;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .container {
    height: 100vh;
    height: 100dvh;
    left: 50%;
    margin: auto;
    max-width: 1500px;
    position: fixed;
    top: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
  }
}

@media screen and (max-width: 750px) {
  .left {
    display: none;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .left {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .left {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    left: 50%;
    margin-left: -45%;
    max-width: 360px;
    position: absolute;
    top: 0;
  }
}
@media screen and (min-width: 1500px) {
  .left {
    left: 0;
    margin-left: 140px;
    width: 360px;
  }
}

@media screen and (max-width: 750px) {
  .logo {
    display: none;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .logo {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .logo {
    left: 25px;
    position: absolute;
    top: 25px;
    width: 92px;
  }
}

@media screen and (min-width: 1024px) {
  .nav {
    width: 360px;
  }
}

@media screen and (min-width: 1024px) {
  .nav__list {
    margin: 50px auto 0;
    width: 320px;
  }
}

@media screen and (min-width: 1024px) {
  .nav__item {
    margin-top: 10px;
  }
}

@media (any-hover: hover) {
  .nav__link:hover {
    opacity: 0.8;
  }
}

@media screen and (max-width: 750px) {
  .right {
    display: none;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .right {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .right {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .right {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    left: 50%;
    margin-left: 33.5%;
    position: absolute;
    top: 0;
  }
}
@media screen and (min-width: 1500px) {
  .right {
    margin-left: 500px;
  }
}

@media screen and (min-width: 1280px) {
  .right-qr {
    width: 203px;
  }
}

/* =======================================
 lp
======================================= */
.contents {
  background: #fff;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .contents {
    margin: 0 0 0 auto;
    width: 560px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .contents {
    margin: auto;
    width: 560px;
  }
}
@media screen and (min-width: 1280px) {
  .contents {
    margin: auto;
    -webkit-transform: translateX(24.6%);
            transform: translateX(24.6%);
  }
}

.btn {
  border-radius: 0.714em;
  display: block;
  margin: auto;
  width: 20.714em;
}
@media (any-hover: hover) {
  .btn:hover {
    opacity: 0.8;
  }
}

.btn--course01 {
  box-shadow: 0.357em 0.357em 0.357em rgba(0, 73, 68, 0.3);
}

.btn--course02 {
  box-shadow: 0.357em 0.357em 0.357em rgba(71, 32, 0, 0.3);
  border-radius: 0.714em;
  position: relative;
}

.btn__deco {
  left: -0.536em;
  position: absolute;
  top: 0.786em;
  width: 3.929em;
}

.campaign {
  background: url(../images/campaign_bg_251219.png) 0/100% 100% no-repeat;
  height: 55.893em;
  margin-bottom: -6.786em;
  padding-top: 17.786em;
  position: relative;
  width: 100%;
  z-index: 1;
}

.campaign__title {
  left: 0;
  position: absolute;
  top: 5em;
  width: 100%;
}

.campaign__btn {
  display: block;
  margin: auto;
  width: 17.857em;
}
@media (any-hover: hover) {
  .campaign__btn:hover {
    opacity: 0.8;
  }
}

.cta {
  background: #73cdc4;
  padding-top: 8.929em;
}

.btn--cta {
  margin-top: 1.429em;
}

.cta-shop {
  margin-top: 2.214em;
}

.cta-shop__btn {
  -webkit-filter: drop-shadow(0.464em 0.464em 0.464em rgba(0, 73, 68, 0.3));
          filter: drop-shadow(0.464em 0.464em 0.464em rgba(0, 73, 68, 0.3));
  display: block;
  margin: auto;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  width: 20.179em;
}
@media (any-hover: hover) {
  .cta-shop__btn:hover {
    opacity: 0.8;
  }
}

.cta--01 {
  padding-bottom: 1.5em;
}

.cta--02 {
  padding-bottom: 3.393em;
}

.about {
  background: #009b78;
}

.campaign--about {
  margin-top: -3.036em;
}

.point {
  background: #14968c;
}

.video {
  aspect-ratio: 16/9;
  margin: auto;
  position: relative;
  width: 22.286em;
}

.video iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.choice01 {
  background: #e5f5f1;
  padding-bottom: 5em;
}
.choice01 .btn--choice {
  margin-top: 2.143em;
}

.choice02 {
  background: #fdf3ea;
  padding-bottom: 4.643em;
}
.choice02 .btn--choice {
  margin-top: 2.5em;
}

.shop {
  background: #e2f1f8;
  padding-bottom: 4.286em;
}

.shop__btn {
  -webkit-filter: drop-shadow(0.464em 0.464em 0.464em rgba(0, 73, 68, 0.3));
          filter: drop-shadow(0.464em 0.464em 0.464em rgba(0, 73, 68, 0.3));
  display: block;
  margin: auto;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  width: 18.571em;
}
@media (any-hover: hover) {
  .shop__btn:hover {
    opacity: 0.8;
  }
}

.voice {
  background: #33af93;
}

.faq {
  background: #f5f9f4;
}

.faq__text {
  letter-spacing: 0.08em;
  margin: auto;
  padding-bottom: 2.5em;
  width: 21.071em;
}

.faq__link {
  color: #f08c32;
  text-decoration: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}
@media (any-hover: hover) {
  .faq__link:hover {
    text-decoration: none;
  }
}

.bottom {
  background: url(../images/bg_bottom.png) 0 0/100% auto no-repeat #009b78;
  padding-top: 0.714em;
}/*# sourceMappingURL=style.css.map */