/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    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):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

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

a, button {
  cursor: revert;
}

ol, ul, menu, summary {
  list-style: none;
}

ol {
  counter-reset: revert;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

:where(pre) {
  all: revert;
  box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: unset;
}

:-ms-input-placeholder {
  color: unset;
}

::-ms-input-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

: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;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

::-webkit-details-marker {
  display: none;
}

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

b, strong {
  font-weight: bolder;
}

:root {
  --color-font: #2f3736;
  --color-sub: #4d4d4d;
  --color-primary: #002472;
  --color-secondary: #7ea7d9;
  --color-tertiary: #ea6f6b;
  --font-NotoSansJP: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, sans-serif;
  --font-NotoSerifJP: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "BiZ UDMincho", "MS Mincho", serif;
  --font-YuGothic: "Yu Gothic Medium", YuGothic, -apple-system, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
}

body {
  background: #fff;
  color: var(--color-font);
  font-family: var(--font-NotoSerifJP);
  font-weight: 400;
  line-height: 1;
  margin-inline: auto;
  overflow-wrap: break-word;
  width: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 3.467vw;
  }
}
@media screen and (min-width: 768px) {
  body {
    font-size: 17.16px;
    min-width: 1024px;
  }
}

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

@media screen and (max-width: 767px) {
  .l-pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .l-pc {
    align-items: center;
    display: flex;
    height: 100dvh;
    justify-content: center;
    max-width: 655px;
    position: fixed;
    top: 0;
    width: calc((100vw - 495px) / 2);
    z-index: 15;
  }
  .l-pc--left {
    left: 0;
  }
  .l-pc--right {
    right: 0;
  }
  .l-pc__content--nav {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    max-width: 380px;
    padding-block: 5%;
    width: 90%;
  }
  .l-pc-logo {
    max-width: 208px;
    width: 60%;
  }
  .l-pc-nav {
    display: flex;
    flex-direction: column;
    height: calc(100% - 150px);
    justify-content: space-between;
    overflow-y: auto;
    scrollbar-width: thin;
  }
  .l-pc-nav__item {
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 1.333;
    -webkit-padding-start: 36px;
            padding-inline-start: 36px;
    position: relative;
  }
  .l-pc-nav__item::before {
    background: var(--color-primary);
    border-radius: 50%;
    content: "";
    display: block;
    height: 6px;
    left: 18px;
    position: absolute;
    top: 10px;
    width: 6px;
  }
  .l-pc-nav__item-ja {
    font-size: 16px;
    letter-spacing: 0;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .l-pc-nav__link:hover {
    color: var(--color-primary);
    font-weight: 700;
    text-decoration: underline;
  }
  .l-pc-nav__link:hover .l-pc-nav__item-ja {
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .l-pc__content--products {
    max-width: 420px;
    width: 90%;
  }
  .l-pc-products {
    margin-inline: auto 0;
    max-width: 358px;
  }
  .l-pc__button {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    margin-inline: auto;
    max-width: 340px;
    width: 80.9%;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .l-pc__button-link:hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 768px) and (min-height: 940px) {
  .l-pc__content--nav {
    justify-content: center;
  }
  .l-pc-nav {
    gap: 20px;
    height: auto;
    justify-content: flex-start;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    overflow-y: inherit;
  }
}
.l-contents {
  background: #fff;
}
@media screen and (min-width: 768px) {
  .l-contents {
    margin-inline: auto;
    position: relative;
    width: 495px;
    z-index: 5;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .l-pc--left {
    display: none;
  }
  .l-pc--right {
    width: calc(100vw - 495px);
  }
  .l-contents {
    margin-inline: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1180px) {
  .l-pc-logo {
    width: 170px;
  }
  .l-pc-nav {
    height: calc(100% - 130px);
  }
  .l-pc-nav__item {
    font-size: 16px;
  }
  .l-pc-nav__item::before {
    top: 8px;
  }
  .l-pc-nav__item-ja {
    font-size: 14px;
  }
}
@media screen and (min-width: 1800px) {
  .l-pc--left {
    left: 50%;
    -webkit-transform: translateX(-920px);
            transform: translateX(-920px);
  }
  .l-pc--right {
    right: 50%;
    -webkit-transform: translateX(920px);
            transform: translateX(920px);
  }
}
.l-fixed {
  background: rgba(255, 255, 255, 0.5);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .l-fixed {
    padding-block: 1.333vw;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .l-fixed {
    display: none !important;
  }
}
.l-fixed.is-show {
  display: block;
}

@media screen and (max-width: 767px) {
  .l-fixed__button {
    margin-inline: auto;
    width: 86.667vw;
  }
}

@media (any-hover: hover) {
  .l-fixed__button-link:hover {
    opacity: 0.8;
  }
}

.c-cta {
  background: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .c-cta {
    -webkit-padding-after: 5.867vw;
            padding-block-end: 5.867vw;
  }
}
@media screen and (min-width: 768px) {
  .c-cta {
    -webkit-padding-after: 29.04px;
            padding-block-end: 29.04px;
  }
}

@media screen and (max-width: 767px) {
  .c-cta--habit {
    -webkit-padding-before: 8vw;
            padding-block-start: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .c-cta--habit {
    -webkit-padding-before: 39.6px;
            padding-block-start: 39.6px;
  }
}

.c-cta__content {
  background: url(../images/cta_bg.jpg) 0 0/100% auto no-repeat #fff;
  margin-inline: auto;
  width: 92%;
}
@media screen and (max-width: 767px) {
  .c-cta__content {
    padding-block: 9.333vw 6.4vw;
  }
}
@media screen and (min-width: 768px) {
  .c-cta__content {
    padding-block: 46.2px 31.68px;
  }
}

@media screen and (max-width: 767px) {
  .c-cta__content-top {
    -webkit-margin-start: 44vw;
            margin-inline-start: 44vw;
    width: 42.667vw;
  }
}
@media screen and (min-width: 768px) {
  .c-cta__content-top {
    -webkit-margin-start: 217.8px;
            margin-inline-start: 217.8px;
    width: 211.2px;
  }
}

@media screen and (max-width: 767px) {
  .c-cta__content-middle {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    -webkit-margin-start: 9.333vw;
            margin-inline-start: 9.333vw;
    width: 76.267vw;
  }
}
@media screen and (min-width: 768px) {
  .c-cta__content-middle {
    -webkit-margin-before: 19.8px;
            margin-block-start: 19.8px;
    -webkit-margin-start: 46.2px;
            margin-inline-start: 46.2px;
    width: 377.52px;
  }
}

.c-cta__button {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-cta__button {
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
    width: 81.333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-cta__button {
    -webkit-margin-before: 13.2px;
            margin-block-start: 13.2px;
    width: 402.6px;
  }
}

@media (any-hover: hover) {
  .c-cta__button-link:hover {
    opacity: 0.8;
  }
}

.p-kv {
  background: url(../images/kv_bg.jpg) 0 0/100% 100% no-repeat;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-kv {
    height: 168vw;
    -webkit-padding-before: 5.333vw;
            padding-block-start: 5.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-kv {
    height: 831.6px;
    -webkit-padding-before: 26.4px;
            padding-block-start: 26.4px;
  }
}

@media screen and (max-width: 767px) {
  .p-kv__logo {
    -webkit-margin-start: 71.333vw;
            margin-inline-start: 71.333vw;
    width: 21.6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-kv__logo {
    -webkit-margin-start: 353.1px;
            margin-inline-start: 353.1px;
    width: 106.92px;
  }
}

.p-kv__catch {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-kv__catch {
    left: 13.867vw;
    top: 13.467vw;
    width: 16.267vw;
  }
}
@media screen and (min-width: 768px) {
  .p-kv__catch {
    left: 68.64px;
    top: 66.66px;
    width: 80.52px;
  }
}

@media screen and (max-width: 767px) {
  .p-kv__features {
    -webkit-margin-before: 42.667vw;
            margin-block-start: 42.667vw;
    -webkit-margin-start: 73.067vw;
            margin-inline-start: 73.067vw;
    width: 20vw;
  }
}
@media screen and (min-width: 768px) {
  .p-kv__features {
    -webkit-margin-before: 211.2px;
            margin-block-start: 211.2px;
    -webkit-margin-start: 361.68px;
            margin-inline-start: 361.68px;
    width: 99px;
  }
}

.p-kv__lead {
  letter-spacing: 0.22em;
  line-height: 1.688;
}
@media screen and (max-width: 767px) {
  .p-kv__lead {
    font-size: 4.267vw;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    -webkit-padding-start: 1.6vw;
            padding-inline-start: 1.6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-kv__lead {
    font-size: 21.12px;
    -webkit-margin-before: 19.8px;
            margin-block-start: 19.8px;
    -webkit-padding-start: 7.92px;
            padding-inline-start: 7.92px;
  }
}

.p-kv__title-wrap {
  border: solid #666;
  border-width: 1px 0;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-kv__title-wrap {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    padding-block: 4vw 4.667vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-kv__title-wrap {
    -webkit-margin-before: 19.8px;
            margin-block-start: 19.8px;
    padding-block: 19.8px 23.1px;
    width: 389.4px;
  }
}

@media screen and (max-width: 767px) {
  .p-kv__title {
    font-size: 4.533vw;
  }
}
@media screen and (min-width: 768px) {
  .p-kv__title {
    font-size: 22.44px;
  }
}

.p-kv__title-text {
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-kv__title-text {
    font-size: 3.467vw;
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-kv__title-text {
    font-size: 17.16px;
    -webkit-margin-before: 13.2px;
            margin-block-start: 13.2px;
  }
}

.p-intro {
  background: url(../images/intro_bg.jpg) 0 100%/100% auto no-repeat #dadcdc;
}
@media screen and (max-width: 767px) {
  .p-intro {
    -webkit-padding-after: 9.333vw;
            padding-block-end: 9.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro {
    -webkit-padding-after: 46.2px;
            padding-block-end: 46.2px;
  }
}

.p-intro__title {
  background: url(../images/intro_title_bg.jpg) 0 0/100% 100% no-repeat;
}

.p-intro__list {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-intro__list {
    -webkit-margin-before: 8vw;
            margin-block-start: 8vw;
    -webkit-margin-start: 10.667vw;
            margin-inline-start: 10.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro__list {
    -webkit-margin-before: 39.6px;
            margin-block-start: 39.6px;
    -webkit-margin-start: 52.8px;
            margin-inline-start: 52.8px;
  }
}
.p-intro__list::before {
  background: #fff;
  content: "";
  display: block;
  height: 90%;
  position: absolute;
  top: 5%;
  width: 2px;
}
@media screen and (max-width: 767px) {
  .p-intro__list::before {
    left: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro__list::before {
    left: 15.84px;
  }
}

.p-intro__item {
  background: url(../images/intro_icon.svg) 0 0 no-repeat;
  letter-spacing: 0.04em;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-intro__item {
    background-size: 6.667vw auto;
    font-size: 4.267vw;
    line-height: 6.667vw;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    -webkit-padding-start: 10.667vw;
            padding-inline-start: 10.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro__item {
    background-size: 33px auto;
    font-size: 21.12px;
    line-height: 33px;
    -webkit-margin-before: 19.8px;
            margin-block-start: 19.8px;
    -webkit-padding-start: 52.8px;
            padding-inline-start: 52.8px;
  }
}

.p-intro-summary {
  background: url(../images/intro_bracket.svg) 0 0/100% 100% no-repeat;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-intro-summary {
    height: 36.267vw;
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
    -webkit-padding-before: 1.333vw;
            padding-block-start: 1.333vw;
    width: 81.467vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro-summary {
    height: 179.52px;
    -webkit-margin-before: 46.2px;
            margin-block-start: 46.2px;
    -webkit-padding-before: 6.6px;
            padding-block-start: 6.6px;
    width: 403.26px;
  }
}

.p-intro-summary__lead {
  letter-spacing: 0.22em;
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .p-intro-summary__lead {
    font-size: 4.267vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro-summary__lead {
    font-size: 21.12px;
  }
}

.p-intro-summary__lead-em {
  text-decoration: underline;
  text-decoration-color: #fff;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-decoration-thickness: 0.5em;
  text-underline-offset: -0.3em;
}

.p-intro-summary__bottom {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-intro-summary__bottom {
    font-size: 6.133vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro-summary__bottom {
    font-size: 30.36px;
  }
}

.p-intro-summary__catch {
  background: var(--color-primary);
  color: #fff;
  display: inline-block;
  line-height: 1.522;
}
@media screen and (max-width: 767px) {
  .p-intro-summary__catch {
    -webkit-margin-before: 2vw;
            margin-block-start: 2vw;
    padding-inline: 3.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro-summary__catch {
    -webkit-margin-before: 9.9px;
            margin-block-start: 9.9px;
    padding-inline: 16.5px;
  }
}

@media screen and (max-width: 767px) {
  .p-intro-summary__text {
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-intro-summary__text {
    -webkit-margin-before: 13.2px;
            margin-block-start: 13.2px;
  }
}

.p-concept {
  background: url(../images/concept_bg.jpg) 0 0/100% auto no-repeat #e5e9f2;
}
@media screen and (max-width: 767px) {
  .p-concept {
    -webkit-padding-before: 5.333vw;
            padding-block-start: 5.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-concept {
    -webkit-padding-before: 26.4px;
            padding-block-start: 26.4px;
  }
}

@media screen and (max-width: 767px) {
  .p-concept__title {
    -webkit-margin-start: 66.133vw;
            margin-inline-start: 66.133vw;
    width: 28.533vw;
  }
}
@media screen and (min-width: 768px) {
  .p-concept__title {
    -webkit-margin-start: 327.36px;
            margin-inline-start: 327.36px;
    width: 141.24px;
  }
}

.p-concept__text-wrap {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-concept__text-wrap {
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
    -webkit-padding-after: 4vw;
            padding-block-end: 4vw;
    width: 84vw;
  }
}
@media screen and (min-width: 768px) {
  .p-concept__text-wrap {
    -webkit-margin-before: 46.2px;
            margin-block-start: 46.2px;
    -webkit-padding-after: 19.8px;
            padding-block-end: 19.8px;
    width: 415.8px;
  }
}

.p-concept__text {
  letter-spacing: 0.05em;
  line-height: 2;
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}

@media screen and (max-width: 767px) {
  .p-difference {
    -webkit-padding-before: 4vw;
            padding-block-start: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .p-difference {
    -webkit-padding-before: 19.8px;
            padding-block-start: 19.8px;
  }
}

.p-difference__title {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-difference__title {
    width: 29.6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-difference__title {
    width: 146.52px;
  }
}

.p-difference__compare {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-difference__compare {
    -webkit-margin-before: 7.333vw;
            margin-block-start: 7.333vw;
    width: 92vw;
  }
}
@media screen and (min-width: 768px) {
  .p-difference__compare {
    -webkit-margin-before: 36.3px;
            margin-block-start: 36.3px;
    width: 455.4px;
  }
}

.p-difference__note {
  color: #666;
  letter-spacing: 0.08em;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-difference__note {
    font-size: 2.933vw;
    -webkit-margin-before: 2vw;
            margin-block-start: 2vw;
    width: 92vw;
  }
}
@media screen and (min-width: 768px) {
  .p-difference__note {
    font-size: 14.52px;
    -webkit-margin-before: 9.9px;
            margin-block-start: 9.9px;
    width: 455.4px;
  }
}

.p-about {
  background: url(../images/about_bg.jpg) 0 0/100% 100% no-repeat #e1e4e6;
}
@media screen and (max-width: 767px) {
  .p-about {
    height: 237.6vw;
    -webkit-padding-before: 29.867vw;
            padding-block-start: 29.867vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about {
    height: 1176.12px;
    -webkit-padding-before: 147.84px;
            padding-block-start: 147.84px;
  }
}

.p-about__science {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-about__science {
    -webkit-margin-before: -0.667vw;
            margin-block-start: -0.667vw;
    width: 82.4vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__science {
    -webkit-margin-before: -3.3px;
            margin-block-start: -3.3px;
    width: 407.88px;
  }
}

.p-about__science-data {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-about__science-data {
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
    width: 79.733vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__science-data {
    -webkit-margin-before: 13.2px;
            margin-block-start: 13.2px;
    width: 394.68px;
  }
}

.p-about__lead {
  letter-spacing: 0.05em;
  line-height: 1.765;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-about__lead {
    font-size: 4.533vw;
    -webkit-margin-before: 6vw;
            margin-block-start: 6vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__lead {
    font-size: 22.44px;
    -webkit-margin-before: 29.7px;
            margin-block-start: 29.7px;
    width: 389.4px;
  }
}

.p-about__text {
  line-height: 2;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-about__text {
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__text {
    -webkit-margin-before: 16.5px;
            margin-block-start: 16.5px;
    width: 389.4px;
  }
}

.p-about__patent-number {
  color: #666;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-about__patent-number {
    font-size: 2.667vw;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__patent-number {
    font-size: 13.2px;
    -webkit-margin-before: 19.8px;
            margin-block-start: 19.8px;
    width: 389.4px;
  }
}

@media screen and (max-width: 767px) {
  .p-about__catch {
    -webkit-margin-before: 10vw;
            margin-block-start: 10vw;
    -webkit-margin-start: 12vw;
            margin-inline-start: 12vw;
    width: 36vw;
  }
}
@media screen and (min-width: 768px) {
  .p-about__catch {
    -webkit-margin-before: 49.5px;
            margin-block-start: 49.5px;
    -webkit-margin-start: 59.4px;
            margin-inline-start: 59.4px;
    width: 178.2px;
  }
}

.p-micelles {
  background: url(../images/micelles_bg.jpg) 0 100%/100% auto no-repeat #e1e4e6;
}
@media screen and (max-width: 767px) {
  .p-micelles {
    padding-block: 6.4vw 8vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles {
    padding-block: 31.68px 39.6px;
  }
}

.p-micelles__title {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-micelles__title {
    width: 89.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles__title {
    width: 442.2px;
  }
}

.p-micelles__image {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-micelles__image {
    -webkit-margin-before: 9.067vw;
            margin-block-start: 9.067vw;
    width: 89.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles__image {
    -webkit-margin-before: 44.88px;
            margin-block-start: 44.88px;
    width: 442.2px;
  }
}

.p-micelles__content {
  background: #fff;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-micelles__content {
    padding-block: 4vw 10vw;
    width: 89.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles__content {
    padding-block: 19.8px 49.5px;
    width: 442.2px;
  }
}

.p-micelles__lead {
  letter-spacing: 0.04em;
  line-height: 1.588;
}
@media screen and (max-width: 767px) {
  .p-micelles__lead {
    font-size: 4.533vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles__lead {
    font-size: 22.44px;
  }
}

.p-micelles__list {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-micelles__list {
    width: 85.867vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles__list {
    width: 425.04px;
  }
}

@media screen and (max-width: 767px) {
  .p-micelles-item__image + .p-micelles-item__image {
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles-item__image + .p-micelles-item__image {
    -webkit-margin-before: 23.1px;
            margin-block-start: 23.1px;
  }
}

.p-micelles-item__text {
  letter-spacing: 0.08em;
  line-height: 1.75;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-micelles-item__text {
    font-size: 3.2vw;
    width: 73.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles-item__text {
    font-size: 15.84px;
    width: 363px;
  }
}

@media screen and (max-width: 767px) {
  .p-micelles-item--normal {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles-item--normal {
    -webkit-margin-before: 26.4px;
            margin-block-start: 26.4px;
  }
}
@media screen and (max-width: 767px) {
  .p-micelles-item--normal .p-micelles-item__text {
    -webkit-margin-before: -1.6vw;
            margin-block-start: -1.6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles-item--normal .p-micelles-item__text {
    -webkit-margin-before: -7.92px;
            margin-block-start: -7.92px;
  }
}

.p-micelles-arrow {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-micelles-arrow {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles-arrow {
    -webkit-margin-before: 26.4px;
            margin-block-start: 26.4px;
    width: 389.4px;
  }
}

@media screen and (max-width: 767px) {
  .p-micelles-item--micelles {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles-item--micelles {
    -webkit-margin-before: 19.8px;
            margin-block-start: 19.8px;
  }
}
@media screen and (max-width: 767px) {
  .p-micelles-item--micelles .p-micelles-item__text {
    -webkit-margin-before: 2.933vw;
            margin-block-start: 2.933vw;
  }
}
@media screen and (min-width: 768px) {
  .p-micelles-item--micelles .p-micelles-item__text {
    -webkit-margin-before: 14.52px;
            margin-block-start: 14.52px;
  }
}

@media screen and (max-width: 767px) {
  .p-features {
    -webkit-margin-before: 5.067vw;
            margin-block-start: 5.067vw;
    -webkit-padding-before: 15.467vw;
            padding-block-start: 15.467vw;
  }
}
@media screen and (min-width: 768px) {
  .p-features {
    -webkit-margin-before: 25.08px;
            margin-block-start: 25.08px;
    -webkit-padding-before: 76.56px;
            padding-block-start: 76.56px;
  }
}

.p-features__title {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-features__title {
    width: 47.467vw;
  }
}
@media screen and (min-width: 768px) {
  .p-features__title {
    width: 234.96px;
  }
}

.p-features__list {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-features__list {
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    width: 89.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-features__list {
    -webkit-margin-before: 16.5px;
            margin-block-start: 16.5px;
    width: 442.2px;
  }
}

.p-free-from {
  border: 1px solid #fff;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-free-from {
    height: 146.667vw;
    -webkit-margin-before: 3.733vw;
            margin-block-start: 3.733vw;
    -webkit-padding-before: 7.733vw;
            padding-block-start: 7.733vw;
    width: 86.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-free-from {
    height: 726px;
    -webkit-margin-before: 18.48px;
            margin-block-start: 18.48px;
    -webkit-padding-before: 38.28px;
            padding-block-start: 38.28px;
    width: 429px;
  }
}

.p-free-from__deco {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-free-from__deco {
    right: 5.333vw;
    top: -3.333vw;
    width: 11.067vw;
  }
}
@media screen and (min-width: 768px) {
  .p-free-from__deco {
    right: 26.4px;
    top: -16.5px;
    width: 54.78px;
  }
}

.p-free-from__en {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-free-from__en {
    width: 22.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-free-from__en {
    width: 112.2px;
  }
}

.p-free-from__title {
  border-bottom: 1px solid #fff;
  letter-spacing: 0.04em;
  line-height: 1.588;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-free-from__title {
    font-size: 4.533vw;
    -webkit-margin-before: 0.8vw;
            margin-block-start: 0.8vw;
    -webkit-padding-after: 4vw;
            padding-block-end: 4vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-free-from__title {
    font-size: 22.44px;
    -webkit-margin-before: 3.96px;
            margin-block-start: 3.96px;
    -webkit-padding-after: 19.8px;
            padding-block-end: 19.8px;
    width: 389.4px;
  }
}

.p-free-from__text {
  line-height: 2;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-free-from__text {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    width: 73.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-free-from__text {
    -webkit-margin-before: 19.8px;
            margin-block-start: 19.8px;
    width: 363px;
  }
}

.p-free-from__list {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-free-from__list {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    width: 78.933vw;
  }
}
@media screen and (min-width: 768px) {
  .p-free-from__list {
    -webkit-margin-before: 26.4px;
            margin-block-start: 26.4px;
    width: 390.72px;
  }
}

.p-habit {
  background: url(../images/habit_bg.jpg) 0 0/100% 100% no-repeat;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-habit {
    height: 102.667vw;
    -webkit-padding-before: 14.933vw;
            padding-block-start: 14.933vw;
  }
}
@media screen and (min-width: 768px) {
  .p-habit {
    height: 508.2px;
    -webkit-padding-before: 73.92px;
            padding-block-start: 73.92px;
  }
}

@media screen and (max-width: 767px) {
  .p-habit__catch {
    -webkit-margin-start: 72.267vw;
            margin-inline-start: 72.267vw;
    width: 18.133vw;
  }
}
@media screen and (min-width: 768px) {
  .p-habit__catch {
    -webkit-margin-start: 357.72px;
            margin-inline-start: 357.72px;
    width: 89.76px;
  }
}

.p-habit__deco {
  position: absolute;
  right: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-habit__deco {
    bottom: -19.2vw;
  }
}
@media screen and (min-width: 768px) {
  .p-habit__deco {
    bottom: -95.04px;
  }
}

.p-contents-bottom {
  background: url(../images/bg_bottom.jpg) 0 0/100% auto no-repeat #e5e9f1;
}

@media screen and (max-width: 767px) {
  .p-control {
    padding-block: 12.8vw 6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-control {
    padding-block: 63.36px 29.7px;
  }
}

@media screen and (max-width: 767px) {
  .p-control__catch {
    -webkit-margin-before: 24.267vw;
            margin-block-start: 24.267vw;
    -webkit-margin-start: 15.467vw;
            margin-inline-start: 15.467vw;
    width: 28.8vw;
  }
}
@media screen and (min-width: 768px) {
  .p-control__catch {
    -webkit-margin-before: 120.12px;
            margin-block-start: 120.12px;
    -webkit-margin-start: 76.56px;
            margin-inline-start: 76.56px;
    width: 142.56px;
  }
}

.p-control__text {
  line-height: 2.077;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-control__text {
    -webkit-margin-before: 32vw;
            margin-block-start: 32vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-control__text {
    -webkit-margin-before: 158.4px;
            margin-block-start: 158.4px;
    width: 389.4px;
  }
}

.p-history__image {
  margin-inline: auto 0;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .p-history__image {
    width: 80vw;
  }
}
@media screen and (min-width: 768px) {
  .p-history__image {
    width: 396px;
  }
}

.p-history__content {
  background: url(../images/history_bg.jpg) 0 0/100% 100% no-repeat;
}
@media screen and (max-width: 767px) {
  .p-history__content {
    box-shadow: 1.333vw 1.333vw 1.333vw rgba(1, 39, 48, 0.1);
    height: 153.333vw;
    -webkit-margin-before: -40vw;
            margin-block-start: -40vw;
    -webkit-padding-before: 12vw;
            padding-block-start: 12vw;
    -webkit-padding-start: 9.333vw;
            padding-inline-start: 9.333vw;
    width: 93.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-history__content {
    box-shadow: 6.6px 6.6px 6.6px rgba(1, 39, 48, 0.1);
    height: 759px;
    -webkit-margin-before: -198px;
            margin-block-start: -198px;
    -webkit-padding-before: 59.4px;
            padding-block-start: 59.4px;
    -webkit-padding-start: 46.2px;
            padding-inline-start: 46.2px;
    width: 462px;
  }
}

.p-history__title {
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .p-history__title {
    -webkit-margin-start: -1.067vw;
            margin-inline-start: -1.067vw;
    width: 63.2vw;
  }
}
@media screen and (min-width: 768px) {
  .p-history__title {
    -webkit-margin-start: -5.28px;
            margin-inline-start: -5.28px;
    width: 312.84px;
  }
}

.p-history__text {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-history__text {
    -webkit-margin-before: 13.333vw;
            margin-block-start: 13.333vw;
    width: 76vw;
  }
}
@media screen and (min-width: 768px) {
  .p-history__text {
    -webkit-margin-before: 66px;
            margin-block-start: 66px;
    width: 376.2px;
  }
}
.p-history__text + .p-history__text {
  -webkit-margin-before: 0.5em;
          margin-block-start: 0.5em;
}

@media screen and (max-width: 767px) {
  .p-review {
    -webkit-margin-before: 3.733vw;
            margin-block-start: 3.733vw;
    padding-block: 5.333vw 13.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review {
    -webkit-margin-before: 18.48px;
            margin-block-start: 18.48px;
    padding-block: 26.4px 66px;
  }
}

.p-review__title {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-review__title {
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__title {
    width: 389.4px;
  }
}

.p-review__list {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-review__list {
    -webkit-margin-before: 8.267vw;
            margin-block-start: 8.267vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__list {
    -webkit-margin-before: 40.92px;
            margin-block-start: 40.92px;
    width: 389.4px;
  }
}

.p-review__item {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-review__item {
    -webkit-margin-before: 4.8vw;
            margin-block-start: 4.8vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__item {
    -webkit-margin-before: 23.76px;
            margin-block-start: 23.76px;
  }
}
.p-review__item::before {
  background: var(--color-secondary);
  content: "";
  display: block;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-review__item::before {
    height: 8vw;
    left: 0.667vw;
    top: 0.667vw;
    width: 8vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__item::before {
    height: 39.6px;
    left: 3.3px;
    top: 3.3px;
    width: 39.6px;
  }
}

.p-review__card {
  background: #fff;
  display: block;
  position: relative;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .p-review__card {
    background: linear-gradient(135deg, transparent 4.667vw, #fff 0) top left, linear-gradient(-135deg, transparent 0px, #fff 0) top right, linear-gradient(-45deg, transparent 4.667vw, #fff 0) bottom right, linear-gradient(45deg, transparent 0px, #fff 0) bottom left;
    background-size: 51% 51%;
    background-repeat: no-repeat;
    -webkit-filter: drop-shadow(1.067vw 1.067vw 1.067vw rgba(0, 0, 0, 0.05));
            filter: drop-shadow(1.067vw 1.067vw 1.067vw rgba(0, 0, 0, 0.05));
    padding-block: 6.667vw 5.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__card {
    background: linear-gradient(135deg, transparent 23.1px, #fff 0) top left, linear-gradient(-135deg, transparent 0px, #fff 0) top right, linear-gradient(-45deg, transparent 23.1px, #fff 0) bottom right, linear-gradient(45deg, transparent 0px, #fff 0) bottom left;
    background-size: 51% 51%;
    background-repeat: no-repeat;
    -webkit-filter: drop-shadow(5.28px 5.28px 5.28px rgba(0, 0, 0, 0.05));
            filter: drop-shadow(5.28px 5.28px 5.28px rgba(0, 0, 0, 0.05));
    padding-block: 33px 26.4px;
  }
}

.p-review__sub-title {
  background: url(../images/review_deco.png) no-repeat;
  letter-spacing: 0.1em;
  line-height: 1.444;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-review__sub-title {
    background-position: 50% 1.6vw;
    background-size: 52vw auto;
    font-size: 4.8vw;
    width: 68vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__sub-title {
    background-position: 50% 7.92px;
    background-size: 257.4px auto;
    font-size: 23.76px;
    width: 336.6px;
  }
}

.p-review__text {
  line-height: 1.769;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-review__text {
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
    width: 68vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__text {
    -webkit-margin-before: 23.1px;
            margin-block-start: 23.1px;
    width: 336.6px;
  }
}

.p-review__data {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-review__data {
    width: 65.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__data {
    width: 323.4px;
  }
}

.p-review__name {
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .p-review__avatar {
    -webkit-margin-start: 2.667vw;
            margin-inline-start: 2.667vw;
    width: 9.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__avatar {
    -webkit-margin-start: 13.2px;
            margin-inline-start: 13.2px;
    width: 46.2px;
  }
}

.p-review__note {
  color: #666;
  letter-spacing: 0.08em;
  line-height: 1.864;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-review__note {
    font-size: 2.933vw;
    -webkit-margin-before: 1.6vw;
            margin-block-start: 1.6vw;
    width: 78.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-review__note {
    font-size: 14.52px;
    -webkit-margin-before: 7.92px;
            margin-block-start: 7.92px;
    width: 389.4px;
  }
}

.p-faq {
  background: #ccd3e3;
}
@media screen and (max-width: 767px) {
  .p-faq {
    padding-block: 12.667vw 8vw;
  }
}
@media screen and (min-width: 768px) {
  .p-faq {
    padding-block: 62.7px 39.6px;
  }
}

.p-faq__list {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-faq__list {
    -webkit-margin-before: 7.333vw;
            margin-block-start: 7.333vw;
    width: 89.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__list {
    -webkit-margin-before: 36.3px;
            margin-block-start: 36.3px;
    width: 442.2px;
  }
}

.p-faq__item {
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-faq__item {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__item {
    -webkit-margin-before: 19.8px;
            margin-block-start: 19.8px;
  }
}

.p-faq__question {
  cursor: pointer;
  display: grid;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-faq__question {
    gap: 3.333vw;
    grid-template-columns: 6.4vw 64vw;
    min-height: 13.333vw;
    padding-block: 4vw;
    padding-inline: 3.867vw;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__question {
    gap: 16.5px;
    grid-template-columns: 31.68px 316.8px;
    min-height: 66px;
    padding-block: 19.8px;
    padding-inline: 19.14px;
  }
}
.p-faq__question::after {
  background: url(../images/faq_arrow.svg) 0/contain no-repeat;
  content: "";
  position: absolute;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
  top: 50%;
}
@media screen and (max-width: 767px) {
  .p-faq__question::after {
    height: 4vw;
    -webkit-margin-before: -2vw;
            margin-block-start: -2vw;
    right: 4vw;
    width: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__question::after {
    height: 19.8px;
    -webkit-margin-before: -9.9px;
            margin-block-start: -9.9px;
    right: 19.8px;
    width: 19.8px;
  }
}

.p-faq__question-text {
  line-height: 1.538;
}
@media screen and (max-width: 767px) {
  .p-faq__question-text {
    -webkit-padding-before: 0.667vw;
            padding-block-start: 0.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__question-text {
    -webkit-padding-before: 3.3px;
            padding-block-start: 3.3px;
  }
}

.p-faq__question.is-active::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.p-faq__answer {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
}

.p-faq__answer-inner {
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .p-faq__answer-inner {
    -webkit-margin-before: 1.333vw;
            margin-block-start: 1.333vw;
    padding-block: 2.667vw 6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__answer-inner {
    -webkit-margin-before: 6.6px;
            margin-block-start: 6.6px;
    padding-block: 13.2px 29.7px;
  }
}

.p-faq__answer-text {
  line-height: 1.769;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-faq__answer-text {
    width: 81.333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-faq__answer-text {
    width: 402.6px;
  }
}

.p-sensitive-skin {
  background: url(../images/sensitive-skin_bg.jpg) 0 0/100% 100% no-repeat;
}
@media screen and (max-width: 767px) {
  .p-sensitive-skin {
    height: 97.333vw;
    -webkit-padding-before: 10.667vw;
            padding-block-start: 10.667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sensitive-skin {
    height: 481.8px;
    -webkit-padding-before: 52.8px;
            padding-block-start: 52.8px;
  }
}

@media screen and (max-width: 767px) {
  .p-sensitive-skin__catch {
    -webkit-margin-start: 12.267vw;
            margin-inline-start: 12.267vw;
    width: 16.533vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sensitive-skin__catch {
    -webkit-margin-start: 60.72px;
            margin-inline-start: 60.72px;
    width: 81.84px;
  }
}

@media screen and (min-width: 768px) {
  .u-only-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-only-pc {
    display: none !important;
  }
}
.u-sup {
  font-size: 58.3%;
  vertical-align: super;
}

.u-color-sub {
  color: var(--color-sub);
}

.u-color-primary {
  color: var(--color-primary);
}

.u-color-secondary {
  color: var(--color-secondary);
}

.u-color-tertiary {
  color: var(--color-tertiary);
}

.u-align-center {
  text-align: center;
}

.u-align-right {
  text-align: right;
}

.u-visibility-hidden {
  visibility: hidden;
}

.u-font-notosans {
  font-family: var(--font-NotoSansJP);
}

.u-font-oswald {
  font-family: var(--font-oswald);
}

.u-font-yugothic {
  font-family: var(--font-YuGothic);
}

.u-fw900 {
  font-weight: 900;
}

.u-fw700 {
  font-weight: 700;
}

.u-fw600 {
  font-weight: 600;
}

.u-fw500 {
  font-weight: 500;
}

.u-fw400 {
  font-weight: 400;
}

.u-fw300 {
  font-weight: 300;
}

.u-fz90 {
  font-size: 0.9em;
}

.u-fz120 {
  font-size: 1.2em;
}

.u-fz130 {
  font-size: 1.3em;
}/*# sourceMappingURL=style.css.map */