.u-mt0 {
    margin-top: 0!important
}

.u-nowrap {
    white-space: nowrap
}

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

body {
    line-height: 1
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display: block
}

nav ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

blockquote:after,blockquote:before,q:after,q:before {
    content: "";
    content: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

ins {
    text-decoration: none
}

ins,mark {
    background-color: #ff9;
    color: #000
}

mark {
    font-style: italic;
    font-weight: 700
}

del {
    text-decoration: line-through
}

abbr[title],dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

input,select {
    vertical-align: middle
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

html {
    -webkit-text-size-adjust: 100%;
    height: 100%
}

body {
    font-size: 1.3em;
    height: 100%
}

h1,h2,h3,h4,h5,h6 {
    margin: 0;
    font-size: 100%
}

blockquote,dd,dl,figure,li,ol,p,pre,ul {
    margin: 0;
    padding: 0
}

li,ul {
    list-style-type: none
}

:root {
    --winH: 100vh
}

body,html {
    height: 100%
}

img {
    display: block
}

body,img {
    width: 100%
}

body {
    -webkit-tap-highlight-color: transparent;
    letter-spacing: 0;
    font-family: Zen Old Mincho,sans-serif;
    background: #f7f0e7;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: rgba(0,0,0,.8);
    font-size: .0319148936rem;
    left: 0;
    top: 0
}

.slideIn {
    opacity: 0
}

#main,#mainWrapper {
    position: relative
}

#main {
    margin: 0 auto
}

.text-content__paragraph {
    margin: 0;
    font-size: .0319148936rem;
    line-height: 1.8
}

.text-content__paragraph+.text-content__paragraph {
    margin-top: .0425531915rem
}

.text-content__paragraph-small {
    margin-top: .085106383rem;
    font-size: .0255319149rem
}

.text-content__paragraph-small-right {
    text-align: right
}

.minus {
    display: inline-block;
    -webkit-transform: translateY(-.0063829787rem);
    transform: translateY(-.0063829787rem)
}

.sup {
    font-weight: 700;
    font-size: .0170212766rem;
    vertical-align: top;
    margin-left: -.0042553191rem;
    margin-right: -.0063829787rem
}

.full-visual {
    position: relative;
    width: 100%
}

.full-visual__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.full-visual__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.full-visual__content {
    position: absolute;
    top: 50%;
    left: 50%;
    width: .7446808511rem;
    color: #fff;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%)
}

.full-visual__title {
    font-size: .0574468085rem;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: .05em;
    white-space: nowrap
}

.full-visual__text {
    margin-top: .0957446809rem
}

.full-visual__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: .0319148936rem;
    width: .7446808511rem;
    height: .1276595745rem;
    margin: .1063829787rem auto 0;
    padding: 0 .0638297872rem;
    background-color: hsla(0,0%,100%,.1);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: #fff;
    font-size: .029787234rem;
    letter-spacing: .04em;
    text-decoration: none
}

.full-visual__link img {
    display: block;
    width: .0255319149rem;
    height: auto
}

.full-visual__link+.full-visual__link {
    margin: .0319148936rem auto 0
}

.section-heading__title {
    font-size: .0574468085rem;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: .05em
}

.section-heading__text {
    margin-top: .0957446809rem
}

html {
    background-color: #f7f0e7;
    -webkit-transition: background-color .6s ease;
    transition: background-color .6s ease
}

html.is-splash-active {
    overflow: hidden
}

html.is-research {
    background-color: #93222d
}

#top {
    position: relative;
    -webkit-transition: background-color .6s ease;
    transition: background-color .6s ease
}

#top.is-research {
    background-color: #93222d
}

#top.is-research #pcWrapper .left__logo svg {
    color: #f7f0e7
}

#top.is-research #pcWrapper .right__inner-btn {
    border-color: #f7f0e7;
    color: #f7f0e7
}

#top.is-research .for-status-bars,#top.is-research .for-tab-bars {
    background-color: rgba(147,34,45,.01)
}

#top .splash {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 100;
    background-color: #93222d;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#top .splash__logo svg {
    display: block;
    width: 100%;
    height: auto
}

#top #pcWrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: opacity .6s ease,visibility 0s linear .6s;
    transition: opacity .6s ease,visibility 0s linear .6s
}

#top #pcWrapper.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

#top #pcWrapper .left {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50vw - .5rem);
    height: 100%
}

#top #pcWrapper .left__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 16.015625vw
}

#top #pcWrapper .left__logo svg {
    color: #93222d;
    -webkit-transition: color .6s ease;
    transition: color .6s ease
}

#top #pcWrapper .right {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(50vw - .5rem);
    height: 100%
}

#top #pcWrapper .right__inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    text-align: center
}

#top #pcWrapper .right__inner-image {
    margin: 1.953125vw auto 0;
    width: 15.625vw
}

#top #pcWrapper .right__inner-btn {
    margin-top: 2.34375vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .0212765957rem;
    width: 15.625vw;
    height: 2.65625vw;
    border: 1px solid #93222d;
    border-radius: 100vmax;
    text-decoration: none;
    color: #93222d;
    font-size: .859375vw;
    -webkit-transition: border-color .6s ease,color .6s ease;
    transition: border-color .6s ease,color .6s ease
}

#top #contents {
    position: relative;
    width: 100%;
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#top .fixed-banner {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: .0212765957rem;
  width: .8723404255rem;
  height: .1063829787rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: opacity .6s ease, visibility 0s linear .6s;
  transition: opacity .6s ease, visibility 0s linear .6s
}

#top .fixed-banner.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition-delay: 0s;
  transition-delay: 0s
}

#top .fixed-banner__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: .1063829787rem;
  padding: 0;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: hsla(0, 0%, 100%, .9);
  color: #93222d;
  font-family: inherit;
  font-size: .0276595745rem;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease
}

#top .fixed-banner__link--trial {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  width: .5914893617rem
}

#top .fixed-banner__link--lineup {
  cursor: pointer;
  gap: .0212765957rem;
  width: .2595744681rem;
  border: 1px solid #93222d
}

#top .fixed-banner__trial-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: .0106382979rem;
  width: .4531914894rem;
  height: 100%;
  border-top: 1px solid #93222d;
  border-left: 1px solid #93222d;
  border-bottom: 1px solid #93222d
}

#top .fixed-banner__trial-image {
  width: .1382978723rem;
  height: .1063829787rem
}

#top .fixed-banner__trial-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

#top .fixed-banner__external {
  width: .0234042553rem;
  height: .0234042553rem
}

#top .fixed-banner__external svg {
  display: block;
  width: 100%;
  height: 100%
}

#top .fixed-banner__external path {
  fill: #93222d
}

#top .fixed-banner__arrow {
  width: .0170212766rem;
  height: .0085106383rem
}

#top .fixed-banner__arrow svg {
  display: block;
  width: 100%;
  height: 100%
}

#top .fixed-banner__arrow path {
  stroke: #93222d;
  stroke-width: 2
}

#top .fv.is-top-content-hidden .fv__content-top-img,#top .fv.is-top-content-hidden .fv__content-top-main {
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .8s ease,visibility 0s linear .8s;
    transition: opacity .8s ease,visibility 0s linear .8s
}

#top .fv.is-scrolled .fv__visual {
    opacity: 0
}

#top .fv.is-scrolled .fv__content-bottom-btn,#top .fv.is-scrolled .fv__content-bottom-head,#top .fv.is-scrolled .fv__content-bottom-text,#top .fv.is-scrolled .fv__content-top-logo {
    color: rgba(0,0,0,.8)
}

#top .fv.is-scrolled .fv__content-bottom-btn {
    border-color: rgba(0,0,0,.8)
}

#top .fv__visual {
    position: fixed;
    top: 0;
    left: 50%;
    z-index: 0;
    pointer-events: none;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: opacity 1.2s ease;
    transition: opacity 1.2s ease
}

#top .fv__visual img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#top .fv__gradation {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: .485106383rem;
    background-color: #fff
}

#top .fv__content {
    z-index: 1
}

#top .fv__content,#top .fv__content-top {
    position: relative;
    width: 100%
}

#top .fv__content-top-main {
    width: .5531914894rem;
    position: fixed;
    top: calc(50% - .04255rem);
    left: 50%;
    pointer-events: none;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    -webkit-transition: opacity .8s ease,visibility 0s linear 0s;
    transition: opacity .8s ease,visibility 0s linear 0s
}

#top .fv__content-top-logo {
    color: #fff;
    width: .4680851064rem;
    margin: 0 auto;
    -webkit-transition: color 1.2s ease;
    transition: color 1.2s ease
}

#top .fv__content-top-logo svg {
    width: 100%
}

#top .fv__content-top-img {
    position: fixed;
    bottom: 0;
    left: 50%;
    pointer-events: none;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: .5106382979rem;
    -webkit-transition: opacity .8s ease,visibility 0s linear 0s;
    transition: opacity .8s ease,visibility 0s linear 0s
}

#top .fv__content-bottom {
    color: #fff;
    position: relative;
    width: 100%;
    padding: .2814468085rem .1276595745rem .1276595745rem
}

#top .fv__content-bottom-head {
    text-align: right;
    -webkit-transition: color 1.2s ease;
    transition: color 1.2s ease
}

#top .fv__content-bottom-head svg {
    width: .1340425532rem;
    height: 68.215svh
}

#top .fv__content-bottom-text {
    margin-top: -.3404255319rem;
    text-align: left;
    -webkit-transition: color 1.2s ease;
    transition: color 1.2s ease
}

#top .fv__content-bottom-btn {
    margin: .170212766rem auto 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .0212765957rem;
    width: .5319148936rem;
    height: .0957446809rem;
    color: #fff;
    font-size: .0319148936rem;
    text-decoration: none;
    border: 1px solid #fff;
    border-radius: 100vmax;
    -webkit-transition: border-color 1.2s ease,color 1.2s ease;
    transition: border-color 1.2s ease,color 1.2s ease
}

#top .fv__content-bottom-external svg {
    width: .0255319149rem
}

#top .logo__sticky {
    position: relative
}

#top .logo__sticky-img {
    margin: .0553191489rem auto 0;
    width: .2659574468rem;
    height: .0382978723rem;
    z-index: 2
}

#top .logo__sticky-img img {
    width: .2659574468rem
}

#top .realize {
    padding: .1914893617rem 0 .2553191489rem
}

#top .realize__block {
    padding: 0 0 0 .1170212766rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#top .realize__block--reverse {
    padding: .1914893617rem .1170212766rem 0 0
}

#top .realize__block-text {
    font-weight: 400;
    font-size: .0553191489rem;
    line-height: 1.5;
    letter-spacing: .1em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright
}

#top .realize__block-line {
    display: inline-block;
    line-height: 1;
    padding-right: .0170212766rem;
    border-right: 1px solid rgba(0,0,0,.5)
}

#top .realize__block-mb {
    margin-top: .1595744681rem
}

#top .realize__block-photo {
    margin-top: .1063829787rem;
    width: .6382978723rem
}

#top .realize__text {
    margin-top: .1276595745rem;
    padding: 0 .1276595745rem 0 .2553191489rem
}

#top .realize__data {
    padding: .1914893617rem .0638297872rem 0
}

#top .realize__data-rate {
    position: relative;
    width: .6382978723rem;
    margin: 0 auto 0 0
}

#top .realize__data-age {
    position: relative;
    width: .6382978723rem;
    margin: -.0638297872rem 0 0 auto
}

#top .realize__data-content {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .0531914894rem
}

#top .realize__data-content-age {
    margin-top: .0276595745rem
}

#top .realize__data-text {
    color: #93222d;
    font-size: .029787234rem;
    line-height: 1.3;
    letter-spacing: .0089361702rem;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright
}

#top .realize__data-small {
    color: #93222d;
    font-size: .0234042553rem;
    margin-top: -.0212765957rem
}

#top .realize__data-img.rate {
    width: .1960425532rem;
    margin-left: .0531914894rem
}

#top .realize__data-img.age {
    width: .197893617rem;
    margin-left: .0531914894rem
}

#top .realize__data-note {
    text-align: center;
    width: .7446808511rem;
    margin: .0638297872rem auto 0;
    color: #93222d;
    font-size: .0255319149rem;
    line-height: 1.8
}

#top .realize__data-note+.realize__data-note {
    margin-top: .0106382979rem
}

#top .research {
    background-color: #93222d;
    padding: .2553191489rem .0638297872rem
}

#top .research__head {
    padding: 0 .0638297872rem;
    color: #fff
}

#top .research__head-title {
    font-weight: 400;
    font-size: .0574468085rem;
    line-height: 1.7;
    letter-spacing: .05em
}

#top .research__head-text {
    margin-top: .0957446809rem
}

#top .research__ingredient {
    margin-top: .1276595745rem;
    padding: .1276595745rem .0638297872rem;
    color: #93222d;
    background-color: hsla(0,0%,100%,.8);
    text-align: center
}

#top .research__ingredient-title {
    width: .5744680851rem;
    margin: 0 auto
}

#top .research__ingredient-subtitle {
    margin-top: .014893617rem;
    font-size: .0255319149rem;
    line-height: 1.5;
    letter-spacing: .05em
}

#top .research__ingredient-approach {
    margin-top: .0957446809rem;
    color: #93222d;
    font-size: .0319148936rem;
    line-height: 1.8;
    letter-spacing: 0
}

#top .research__ingredient-items {
    position: relative;
    margin: .0638297872rem auto 0;
    width: .6382978723rem;
    height: .6106382979rem
}

#top .research__ingredient-item {
    position: absolute;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

#top .research__ingredient-item-1 {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

#top .research__ingredient-item-2 {
    top: .0978723404rem;
    left: 50%;
    -webkit-transform: translateX(calc(-50% + .19149rem));
    transform: translateX(calc(-50% + .19149rem))
}

#top .research__ingredient-item-3 {
    top: .3255319149rem;
    left: 50%;
    -webkit-transform: translateX(calc(-50% + .19149rem));
    transform: translateX(calc(-50% + .19149rem))
}

#top .research__ingredient-item-4 {
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

#top .research__ingredient-item-5 {
    top: .3255319149rem;
    left: 50%;
    -webkit-transform: translateX(calc(-50% - .19149rem));
    transform: translateX(calc(-50% - .19149rem))
}

#top .research__ingredient-item-6 {
    top: .0978723404rem;
    left: 50%;
    -webkit-transform: translateX(calc(-50% - .19149rem));
    transform: translateX(calc(-50% - .19149rem))
}

#top .research__ingredient-item-img {
    width: .1276595745rem
}

#top .research__ingredient-item-text {
    margin-top: .0106382979rem;
    text-align: center;
    font-size: .0255319149rem;
    line-height: 1.2;
    white-space: nowrap
}

#top .research__ingredient-arrow {
    margin: .0638297872rem auto 0;
    width: .0340425532rem
}

#top .research__ingredient-trouble {
    position: relative;
    margin: .0319148936rem auto 0;
    width: .6382978723rem;
    height: .3404255319rem
}

#top .research__ingredient-trouble-circle {
    position: absolute;
    width: .3404255319rem;
    height: .3404255319rem
}

#top .research__ingredient-trouble-circle.hair {
    top: 0;
    left: 0
}

#top .research__ingredient-trouble-circle.scalp {
    top: 0;
    right: 0
}

#top .research__ingredient-trouble-content {
    color: #93222d;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%)
}

#top .research__ingredient-trouble-head {
    font-size: .0553191489rem
}

#top .research__ingredient-trouble-text {
    margin-top: .0319148936rem;
    font-size: .0276595745rem;
    line-height: 1.8
}

#top .section-wrapper {
    background-color: #93222d
}

#top .section-care {
    padding-top: .2553191489rem;
    color: #fff
}

#top .section-heading {
    padding: 0 .1276595745rem
}

#top .care {
    position: relative;
    color: #fff;
    margin-top: .2553191489rem
}

#top .care__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
}

#top .care__self-block {
    padding: 0 .0425531915rem 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#top .care__self-block--reverse {
    padding: 0 0 0 .0425531915rem
}

#top .care__self-block--reverse .care__self-text {
    width: .6382978723rem;
    margin-left: -.1276595745rem;
    margin-right: auto
}

#top .care__self-block+.care__self-block {
    margin-top: .1914893617rem
}

#top .care__self-content {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0.6382978723rem;
    flex: 0 0 0.6382978723rem;
    width: .6382978723rem;
    min-width: 0
}

#top .care__self-image {
    position: relative;
    margin-top: .0638297872rem;
    width: .6382978723rem
}

#top .care__self-image-time {
    position: absolute;
    top: -.0489361702rem;
    left: .0638297872rem;
    width: .3808510638rem
}

#top .care__self-head {
    font-weight: 400;
    font-size: .0553191489rem;
    line-height: 1.5;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0.2489361702rem;
    flex: 0 0 0.2489361702rem;
    width: .2489361702rem;
    min-width: 0
}

#top .care__self-head-small {
    font-size: .029787234rem;
    line-height: 1.8;
    letter-spacing: .04em
}

#top .care__self-head-mb {
    margin-top: .1595744681rem
}

#top .care__self-text {
    margin-top: .1170212766rem;
    margin-left: auto;
    width: .5106382979rem
}

#top .step {
    position: relative;
    color: #fff;
    margin-top: .1914893617rem;
    padding-bottom: .2127659574rem
}

#top .step__head {
    text-align: center;
    font-weight: 400;
    font-size: .0510638298rem
}

#top .step__head-en {
    text-align: center;
    font-size: .0319148936rem;
    margin-top: .0212765957rem
}

#top .step__list {
    width: .8723404255rem;
    margin: .0680851064rem auto 0
}

#top .step__list-clip {
    position: relative;
    max-height: 1.7723404255rem;
    overflow: hidden;
    -webkit-mask-image: -webkit-gradient(linear,left top, left bottom,color-stop(0, #000),color-stop(#000),to(transparent));
    -webkit-mask-image: linear-gradient(180deg,#000 0,#000 calc(100% - .26809rem),transparent);
    mask-image: -webkit-gradient(linear,left top, left bottom,color-stop(0, #000),color-stop(#000),to(transparent));
    mask-image: linear-gradient(180deg,#000 0,#000 calc(100% - .26809rem),transparent);
    -webkit-transition: max-height .8s cubic-bezier(.645,.045,.355,1);
    transition: max-height .8s cubic-bezier(.645,.045,.355,1)
}

#top .step__item {
    width: 100%
}

#top .step__card {
    width: .8723404255rem;
    height: .3829787234rem;
    padding: 0 .0893617021rem;
    border: .0021276596rem solid #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#top .step__label {
    width: .0723404255rem;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0.0723404255rem;
    flex: 0 0 0.0723404255rem
}

#top .step__label img {
    width: 100%
}

#top .step__label--special {
    font-size: .0212765957rem;
    line-height: 1;
    white-space: nowrap;
    -webkit-transform: translateX(-.0127659574rem);
    transform: translateX(-.0127659574rem)
}

#top .step__content {
    width: .5468085106rem;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

#top .step__body {
    width: .4170212766rem;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0.4170212766rem;
    flex: 0 0 0.4170212766rem
}

#top .step__title {
    font-size: .029787234rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0
}

#top .step__note {
    margin-top: .0212765957rem;
    font-size: .0234042553rem;
    font-weight: 400;
    line-height: 2
}

#top .step__description {
    margin-top: .0106382979rem;
    font-size: .0234042553rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0;
    white-space: nowrap
}

#top .step__product {
    width: .1106382979rem;
    height: .2595744681rem;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0.1106382979rem;
    flex: 0 0 0.1106382979rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#top .step__product img {
    height: auto;
    max-width: none;
    max-height: none
}

#top .step__product--special-1 img {
    width: .0574468085rem
}

#top .step__product--1 img,#top .step__product--2 img {
    width: .0829787234rem
}

#top .step__product--3 img,#top .step__product--4 img {
    width: .0659574468rem
}

#top .step__product--5 img {
    width: .0744680851rem
}

#top .step__product--special-2 img {
    width: .0680851064rem
}

#top .step__arrow {
    height: .0744680851rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#top .step__arrow img {
    width: .0106382979rem;
    height: .0340425532rem
}

#top .step__more {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: .2127659574rem;
    left: 0;
    height: .2680851064rem;
    padding-top: .1723404255rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease
}

#top .step__more-button {
    width: .4361702128rem;
    height: .0957446809rem;
    padding: 0;
    border: .0021276596rem solid #fff;
    border-radius: 100vmax;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: .0170212766rem;
    color: #fff;
    background: transparent;
    font-family: inherit;
    font-size: .029787234rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer
}

#top .step__more-plus {
    width: .0191489362rem;
    height: .0191489362rem;
    display: block
}

#top .step__more-plus svg {
    width: 100%;
    height: 100%;
    display: block;
    overflow: visible
}

#top .step.is-expanded .step__list-clip {
    -webkit-mask-image: none;
    mask-image: none
}

#top .step.is-expanded .step__more {
    opacity: 0;
    pointer-events: none
}

#top .section-lineup {
    padding-top: .2553191489rem;
    color: #fff
}

#top .lineup {
    padding-top: .1914893617rem
}

#top .lineup__head {
    text-align: center;
    font-weight: 400;
    font-size: .0510638298rem
}

#top .lineup__head-en {
    text-align: center;
    font-size: .0319148936rem;
    margin-top: .0212765957rem
}

#top .lineup__list {
    width: .8723404255rem;
    margin: .0744680851rem auto 0;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    border-top: .0021276596rem solid #fff;
    border-left: .0021276596rem solid #fff
}

#top .lineup__item {
    position: relative;
    height: .8936170213rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-right: .0021276596rem solid #fff;
    border-bottom: .0021276596rem solid #fff;
    text-align: center
}

#top .lineup__item--wide {
    grid-column: 1/-1
}

#top .lineup__item--pair .lineup__products {
    position: absolute;
    inset: 0;
    padding: 0 .0957446809rem;
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr))
}

#top .lineup__item--pair .lineup__product-item {
    position: relative
}

#top .lineup__item--special-1 .lineup__product {
    width: .0723404255rem
}

#top .lineup__item--special-1 .lineup__description {
    bottom: .1489361702rem
}

#top .lineup__item--co .lineup__product,#top .lineup__item--dn .lineup__product,#top .lineup__item--mo .lineup__product,#top .lineup__item--vo .lineup__product {
    width: .1446808511rem
}

#top .lineup__item--advanced .lineup__product {
    width: .0893617021rem
}

#top .lineup__item--lotion .lineup__product {
    width: .085106383rem
}

#top .lineup__item--advanced .lineup__description,#top .lineup__item--lotion .lineup__description {
    bottom: .1340425532rem
}

#top .lineup__item--milk .lineup__product,#top .lineup__item--serum .lineup__product {
    width: .0680851064rem
}

#top .lineup__item--special-2 .lineup__badge {
    width: .1489361702rem
}

#top .lineup__item--special-2 .lineup__product {
    width: .0872340426rem
}

#top .lineup__product-item--co .lineup__product,#top .lineup__product-item--dn .lineup__product,#top .lineup__product-item--mo .lineup__product,#top .lineup__product-item--vo .lineup__product {
    width: .1446808511rem
}

#top .lineup__product-item--milk .lineup__product,#top .lineup__product-item--serum .lineup__product {
    width: .0680851064rem
}

#top .lineup__product-item--milk .lineup__description,#top .lineup__product-item--serum .lineup__description {
    bottom: .1255319149rem
}

#top .lineup__product-item--mo .lineup__description,#top .lineup__product-item--vo .lineup__description {
    bottom: .1382978723rem
}

#top .lineup__product {
    -webkit-transform: translateY(-.0425531915rem);
    transform: translateY(-.0425531915rem)
}

#top .lineup__catch {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: .0468085106rem auto 0;
    font-size: .0340425532rem;
    font-weight: 500;
    line-height: 1.8;
    white-space: nowrap
}

#top .lineup__badge {
    margin: .0468085106rem auto 0;
    width: .1276595745rem;
    height: .0425531915rem;
    border-radius: 100vmax;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #93222d;
    background: #fff;
    opacity: .8;
    font-size: .0255319149rem;
    font-weight: 400;
    line-height: 1
}

#top .lineup__badge-special {
    font-size: .0212765957rem
}

#top .lineup__step {
    margin-top: .0468085106rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: .0085106383rem;
    font-weight: 400;
    line-height: 1
}

#top .lineup__step-label {
    font-size: .0255319149rem
}

#top .lineup__step-count {
    font-size: .0425531915rem
}

#top .lineup__quasidrug {
    margin-left: .0106382979rem;
    padding: .0085106383rem;
    border: 1px solid hsla(0,0%,100%,.6);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    background: #93222d;
    font-size: .0191489362rem;
    font-weight: 400;
    line-height: 1
}

#top .lineup__product {
    position: absolute;
    right: 0;
    bottom: .2468085106rem;
    left: 0;
    margin: 0 auto
}

#top .lineup__description {
    position: absolute;
    right: .0085106383rem;
    bottom: .1234042553rem;
    left: .0085106383rem;
    font-size: .0234042553rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0;
    white-space: nowrap
}

#top .lineup__description-name {
    margin-bottom: .0212765957rem;
    display: inline-block;
    font-size: .0255319149rem;
    line-height: 1.2;
    letter-spacing: .04em
}

#top .lineup__description-name-2 {
    margin-top: .0106382979rem
}

#top .lineup__description-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .0106382979rem
}

#top .lineup__description-rows {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

#top .lineup__description-check {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: .0170212766rem;
    height: .0170212766rem;
    -webkit-transform: translateY(.0042553191rem);
    transform: translateY(.0042553191rem)
}

#top .lineup__link {
    position: absolute;
    padding: 0 0 .0021276596rem .0021276596rem;
    bottom: .0489361702rem;
    left: 50%;
    width: .1914893617rem;
    height: .0510638298rem;
    border: 1px solid hsla(0,0%,100%,.6);
    border-radius: 100vmax;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #fff;
    font-size: .0276595745rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none
}

#top .section-voice {
    padding: .3191489362rem 0;
    overflow: hidden;
    color: #fff
}

#top .section-voice__heading {
    margin-left: .1276595745rem;
    font-size: .0510638298rem;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: .08em
}

#top .section-voice__heading-emphasis {
    padding-bottom: 0;
    border-bottom: 1px solid hsla(0,0%,100%,.5)
}

#top .section-voice__note {
    width: .7212765957rem;
    margin: .0638297872rem auto 0;
    font-size: .0255319149rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0;
    text-indent: -1em;
    padding-left: 1em
}

#top .voice-slider {
    --voice-slider-gap: 0.0638297872rem;
    margin-top: .1021276596rem;
    padding-left: .0638297872rem
}

#top .voice-slider .splide__list {
    height: 100%;
    margin: 0!important;
    padding: 0!important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

#top .voice-slider .splide__track {
    position: relative;
    z-index: 0;
    overflow: visible
}

#top .voice-slider .splide__slide {
    width: .5531914894rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

#top .voice-slider .splide__sr {
    position: absolute;
    width: .0021276596rem;
    height: .0021276596rem;
    margin: -.0021276596rem;
    padding: 0;
    overflow: hidden;
    border: 0;
    clip: rect(0 0 0 0)
}

#top .voice-slider .splide__pagination {
    position: static;
    margin-top: .0553191489rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: .0191489362rem
}

#top .voice-slider .splide__pagination__page {
    width: .0085106383rem;
    height: .0085106383rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    display: block;
    background: hsla(0,0%,100%,.45);
    cursor: pointer;
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease
}

#top .voice-slider .splide__pagination__page.is-active {
    background: #fff;
    -webkit-transform: none;
    transform: none
}

#top .voice-card {
    position: relative;
    width: .5531914894rem;
    height: .570212766rem;
    margin: 0;
    padding: .0957446809rem .0638297872rem 0;
    overflow: hidden;
    border-radius: .0425531915rem;
    color: rgba(0,0,0,.8);
    background-color: hsla(0,0%,100%,.8)
}

#top .voice-card:before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: .2170212766rem;
    height: .170212766rem;
    background: url(../images/common/icon-quotation.png) 50%/contain no-repeat;
    content: "";
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    pointer-events: none
}

#top .voice-card__profile,#top .voice-card__text {
    position: relative;
    z-index: 1
}

#top .voice-card__text {
    font-size: .0319148936rem;
    line-height: 1.8;
    letter-spacing: 0
}

#top .voice-card__profile {
    margin-top: .0531914894rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: .0106382979rem;
    font-size: .0255319149rem;
    line-height: 1.8;
    white-space: nowrap
}

#top .voice-card__profile cite {
    font-style: normal
}

#top .voice-card__profile-line {
    width: .0531914894rem;
    height: .0021276596rem;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 0.0531914894rem;
    flex: 0 0 0.0531914894rem;
    margin-top: .9em;
    background: rgba(0,0,0,.5);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

#top .future-visual-area {
    position: relative
}

#top .future-visual-area__background {
    position: -webkit-sticky;
    position: sticky;
    z-index: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    margin-bottom: -100vh;
    pointer-events: none
}

#top .future-visual-area__background img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#top .future-visual-area .full-visual--future {
    z-index: 1
}

#top .footer {
    position: relative;
    z-index: 1;
    width: 100%;
    min-height: 100dvh
}

#top .footer,#top .footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

#top .footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: .1063829787rem
}

#top .footer__inner-lacasta {
    width: .2553191489rem
}

#top .footer__inner-aromarevita {
    width: .2765957447rem
}

#top .footer__inner-alpenrose {
    width: .4042553191rem
}

#top .footer__inner-shop {
    color: #fff;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .0212765957rem
}

#top .footer__inner-shop img {
    width: .025531914rem;
}

#top .footer__copyright {
    color: #fff;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: .0638297872rem;
    text-align: center;
    font-size: .0255319149rem;
    line-height: 1.8;
    letter-spacing: .05em
}

@media (min-width: 768px) {
    html {
        font-size:36.71875vw
    }

    .sp {
        display: none!important
    }

    .slideIn {
        -webkit-transform: translateY(.0425531915rem);
        transform: translateY(.0425531915rem)
    }

    #main {
        width: 100%
    }

    .full-visual {
        height: 100vh
    }

    #top.is-research #contents {
        border-color: #f7f0e7
    }

    #top .splash__logo {
        width: 15.625vw
    }

    #top #contents {
        width: 1rem;
        border-left: .5px solid rgba(0,0,0,.5);
        border-right: .5px solid rgba(0,0,0,.5);
        -webkit-transition: border-color .6s ease;
        transition: border-color .6s ease
    }

    #top .fv__visual {
        width: 1rem;
        height: 100vh
    }

    #top .fv__content-top {
        height: 100vh
    }
}

@media screen and (min-width: 768px) {
    html {
        font-size:470px
    }
}

@media (max-width: 767px) {
    html {
        font-size:100vw
    }

    body,html {
        width: 1rem
    }

    .pc {
        display: none!important
    }

    #wrapper {
        width: 1rem
    }

    .slideIn {
        -webkit-transform: translateY(.0425531915rem);
        transform: translateY(.0425531915rem)
    }

    #main {
        width: 100%
    }

    .full-visual {
        height: 100lvh
    }

    #top .splash__logo {
        width: .4255319149rem
    }

    #top .fv__visual {
        width: 100%;
        height: 100lvh
    }

    #top .fv__content-top {
        height: 100svh
    }

    #top .future-visual-area__background {
        height: 100lvh;
        margin-bottom: -100lvh
    }

    .for-status-bars {
        top: 0
    }

    .for-status-bars,.for-tab-bars {
        position: fixed;
        left: 0;
        pointer-events: none;
        height: 5px;
        width: 100%;
        background-color: rgba(247,240,231,.01);
        -webkit-transition: background-color .6s ease;
        transition: background-color .6s ease;
        mix-blend-mode: lighten;
        z-index: 9999
    }

    .for-tab-bars {
        bottom: 0
    }
}

@media (any-hover: hover) {
    #top .fixed-banner__link:hover {
        background-color: #fff
    }
}
