@charset "UTF-8";

/* カスタマイズ用CSS */

@font-face {
    font-family: "High Summit";
    src: url("/html/user_data/assets/font/High-Summit.woff") format("woff"),
        url("/html/user_data/assets/font/High-Summit.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

.font-high-summit {
    font-family: "High Summit", serif;
}

html {
    font-size: 100%;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0px;
}

a,
a img {
    transition: .2s;
}

a:link {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

a:active {
    text-decoration: none;
}

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

ul {
    padding: 0px;
    list-style: none;
    margin: 0;
}

.oh {
    overflow: hidden;
}

.sp {
    display: none;
}

.flex {
    flex-wrap: wrap;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
}

.flex_sb {
    flex-wrap: wrap;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
}

.pr {
    position: relative;
}

.pa {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.pr_img {
    overflow: hidden;
    position: relative;
}

img.pa_img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: block;
}

html,
body,
button,
input,
select,
textarea,
body>* {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.en {
    font-family: "times-new-roman", sans-serif;
    font-weight: 400;
    font-style: normal;
}

body {
    color: #333333;
    font-size: 0.97vw;
    line-height: 1.7;
}

.blue {
    color: #20269F;
}

.yellow {
    color: #B99B1E;
}

.wrap-w {
    width: 86.11vw;
    margin: 0 auto;
}

.wrap {
    width: 79.16vw;
    margin: 0 auto;
}

header.site-header {
    position: fixed;
    top: 2.4vw;
    left: 0;
    width: 100%;
    z-index: 99;
}

header.site-header .wrap-w {
    align-items: center;
}

.site-header__logo {
    width: 9.4vw;
}

.site-header__logo img {
    width: 100%;
}

.site-header__menu {
    align-items: center;
    gap: 2.7vw;
}

.site-header__menu a {
    color: #333333;
    font-size: 1vw;
    font-weight: bold;
}

.site-header__menu-separator {
    height: 1vw;
    width: 1px;
    background: #333333;
}

.site-header__menu-language-icon {
    line-height: 0;
    width: 1.1vw;
    margin-right: 0.7vw;
}

.site-header__menu-language {
    align-items: center;
}

.site-header__menu-language-icon img {
    width: 100%;
}

.site-header__menu-language-item {
    font-size: 0.97vw;
    cursor: pointer;
}

.site-header__menu-language-item+.site-header__menu-language-item {
    margin-left: 0.5em;
}

[lang="ja"] .lang-en {
    opacity: 0.35;
}

[lang="en"] .lang-ja {
    opacity: 0.35;
}

section.top-fv {
    position: relative;
    padding: 14.3vw 0 9.2vw;
}

.top-fv__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0;
}

section.top-fv .wrap-w {
    position: relative;
    z-index: 1;
}

.top-fv__title {
    font-size: 3.75vw;
    letter-spacing: 0.26em;
    font-weight: 500;
    line-height: 1.66;
    margin-bottom: 3vw;
}

.top-fv__text {
    font-size: 1.25vw;
    letter-spacing: 0.26em;
    line-height: 1.94;
    width: 49vw;
}

section.top-intro {
    position: relative;
    padding-top: 4.1vw;
    padding-bottom: 13vw;
}

.top-intro__product-item {
    width: 38.2vw;
    background: #fff;
    position: relative;
    align-items: flex-end;
    padding: 1.6vw 0 1.2vw;
}

.top-intro__product-item:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border: 1px solid #F2EFE6;
}

.top-intro__product-item-image {
    width: 9.65vw;
    height: 9.65vw;
    margin-right: -1vw;
}

.top-intro__product-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top-intro__product-item-name-jp {
    font-weight: 800;
    letter-spacing: 0.1em;
    margin-bottom: 0.7vw;
}

.top-intro__product-item-name-en {
    font-size: 1.94vw;
    line-height: 1;
    margin-bottom: 0.2vw;
}

.top-intro__product-item-btn {
    width: 12.5vw;
    position: relative;
    z-index: 2;
}

.top-intro__product-item-action {
    gap: 1vw;
    margin-bottom: 0.6vw;
}

.top-intro__product-item-btn a {
    font-size: 1vw;
    background: #333333;
    padding-left: 1.5vw;
    color: #fff;
    display: flex;
    height: 3.5vw;
    align-items: center;
    border-radius: 4vw;
    background-image: url(/html/user_data/assets/img/common/common-button-arrow.svg);
    background-repeat: no-repeat;
    background-size: 0.97vw;
    background-position: center right 1.5vw;
}

.top-intro__product-item-btn+.top-intro__product-item-btn a {
    background-color: #1D2260;
}

.top-intro__products {
    margin-bottom: 9vw;
}

#page_product_list .top-intro {
    padding: 0 !important;
}

#page_product_list .top-intro__products {
    margin-bottom: 0;
}

.top-intro__text {
    text-align: center;
}

.top-intro__catch {
    font-size: 2.91vw;
    letter-spacing: 0.26em;
    line-height: 1;
    margin-bottom: 4vw;
}

.top-intro__desc {
    font-size: 1.1vw;
    letter-spacing: 0.26em;
    line-height: 1.93;
}

section.top-fragrance {
    padding: 8.54vw 0 5.98vw;
}

.top-section__title {
    text-align: center;
}

.top-section__title-jp {
    font-size: 1.38vw;
    font-weight: 600;
    letter-spacing: 0.2em;
    margin-bottom: 0.5em;
}

.top-section__title-en {
    font-size: 3.47vw;
    font-weight: bold;
    line-height: 1;
}

.top-fragrance__content-image {
    width: 47.6vw;
    position: absolute;
    top: 0;
    left: -5.20vw;
}

.top-fragrance__content {
    padding-top: 6.35vw;
    margin-top: -2vw;
}

.top-fragrance__content-list {
    width: 55.2vw;
    margin-left: auto;
}

.top-fragrance__content-item {
    align-items: center;
    padding-left: 13.1vw;
    height: 9.71vw;
    border-bottom: 1px solid #DED6BF;
}

.top-fragrance__content-item-image {
    width: 6.94vw;
    margin-right: 1.38vw;
    transition: .2s;
}

.top-fragrance__content-more {
    margin-left: auto;
    width: 7.63vw;
}

.top-fragrance__content-more button {
    width: 100%;
    height: 2.36vw;
    background: #333333;
    color: #fff;
    border: none;
    border-radius: 4vw;
    letter-spacing: 0.15em;
    transition: .2s;
}

.top-fragrance__content-text-en {
    font-size: 0.83vw;
    letter-spacing: 0.07em;
}

.-top .top-fragrance__content-text-en {
    color: #D5A5CD;
}

.-middle .top-fragrance__content-text-en {
    color: #B5CE85;
}

.-last .top-fragrance__content-text-en {
    color: #B4A75A;
}

.top-fragrance__content-text {
    font-size: 1.1vw;
    font-weight: 600;
}

section.top-product {
    padding: 5.98vw 0 9.72vw;
}

section.top-product .top-section__title {
    margin-bottom: 4.16vw;
}

.top-product__inner {
    z-index: 2;
    padding: 11.73vw 5.06vw 9.23vw 3.75vw;
}

.top-product__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
}

.-shampoo .top-product__item {
    margin-left: 27.2vw;
    margin-bottom: 10vw;
}

.top-product__item-logo {
    width: 6.18vw;
}

.top-product__item-logo img {
    width: 100%;
}

.top-product__item-name-en {
    font-size: 2.5vw;
    line-height: 1;
    margin-bottom: 0.1em;
}

.top-product__item-name-jp {
    margin-bottom: 3.33vw;
}

.top-product__item-type {
    gap: 2vw;
}

.top-product__item-list {
    width: 20.55vw;
    padding-left: 0.76vw;
}

.top-product__item-list-label {
    font-size: 1.11vw;
    letter-spacing: 0.09em;
    display: flex;
    align-items: center;
    white-space: nowrap;
    gap: 0.69vw;
    margin-bottom: 1.6vw;
    line-height: 1;
    font-weight: 600;
    margin-left: -0.76vw;
}

.top-product__item-list-label:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #333333;
}

.top-product__item-list-name {
    line-height: 1;
    font-size: 1.11vw;
    margin-bottom: 0.9vw;
}

.top-product__item-list-price {
    font-size: 1.25vw;
    letter-spacing: 0.16em;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 0.2vw;
}

.top-product__item-list-price .num {
    font-size: 200%;
    letter-spacing: 0;
}

.top-product__item-list-info {
    font-size: 0.83vw;
    margin-bottom: 1vw;
}

.top-product__item-list-btn a {
    display: flex;
    width: 16.66vw;
    background: #333333;
    color: #fff;
    border-radius: 5px;
    height: 3.6vw;
    align-items: center;
    padding-left: 1.38vw;
    letter-spacing: 0.09em;
    background-image: url(/html/user_data/assets/img/common/common-button-arrow.svg);
    background-repeat: no-repeat;
    background-size: 0.97vw;
    background-position: center right 1.4vw;
}

.top-product__item-list+.top-product__item-list .top-product__item-list-btn a {
    background-color: #1D2260;
}

.-shampoo .top-product__material {
    margin-left: 2vw;
    width: auto;
    margin-right: 2vw;
}

.top-product__material-en {
    font-size: 1.04vw;
}

.top-product__material-title {
    font-size: 1.52vw;
    font-weight: 600;
    letter-spacing: 0.16em;
    margin-bottom: 1.5vw;
}

.top-product__material-text {
    letter-spacing: 0.1em;
    line-height: 1.78;
}

.top-product__block.-shampoo {
    margin-bottom: 9vw;
}

.-treatment .top-product__item {
    margin-bottom: 11.2vw;
}

.-treatment .top-product__material {
    width: auto;
    margin-left: 2vw;
    margin-right: 2vw;
}

section.top-review {
    background-image: url(/html/user_data/assets/img/top/top-review__bg.webp);
    background-size: cover;
    background-position: center;
    padding: 9.02vw 0 12.77vw;
    overflow: hidden;
}

.top-review__slider .top-review__slider-item {
    display: flex;
    background: #FFFFFF;
    box-shadow: 0 1px 2px rgb(0 0 0 / 16%);
    width: 62.5vw;
    margin: 0 1.73vw;
    padding: 2.77vw;
}

section.top-review .slick-slider {
    margin: 0;
}

section.top-review .slick-list {
    overflow: inherit;
}

.top-review__slider-item-image {
    width: 16.66vw;
    position: relative;
    height: 16.66vw;
}

.top-review__slider-item-image img {
    border-radius: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.top-review__slider-item-number {
    font-size: 1.94vw;
    text-align: center;
    color: #B4A75A;
    white-space: nowrap;
    height: 0;
    transform: rotate(-8deg);
    margin-top: -2.5vw;
}

.top-review__slider-item-content {
    width: 38.54vw;
    margin-left: auto;
}

section.top-review .top-section__title {
    margin-bottom: 4.16vw;
}

.top-review__slider-item-user {
    display: flex;
    margin-bottom: 2vw;
    font-size: 1.11vw;
    letter-spacing: 0.14vw;
    align-items: center;
}

.top-review__slider-item-user .type {
    background: #474E96;
    color: #fff;
    padding: 0.2em 1em;
    border-radius: 5px;
    margin-right: 1.5em;
}

.top-review__slider-item-title {
    font-size: 1.38vw;
    font-weight: 600;
    letter-spacing: 0.14em;
    line-height: 1.4;
    margin-bottom: 1.5vw;
}

.top-review__slider-item-text {
    letter-spacing: 0.14em;
}

section.top-review .slick-dots {
    display: flex;
    justify-content: center;
    bottom: -4vw;
}

section.top-review .slick-dots li {
    height: 0.34vw;
    width: 9.7vw;
    margin: 0;
    padding: 0;
}

section.top-review .slick-dots li button:before {
    display: none;
}

section.top-review .slick-dots li button {
    width: 100%;
    height: 100%;
    background: #EAEAEA;
    transition: .2s;
    padding: 0;
}

section.top-review .slick-dots li.slick-active button {
    background: #333333;
}

section.top-how {
    padding: 9.44vw 0 11.11vw;
}

section.top-how .top-section__title {
    margin-bottom: 2.5vw;
}

.top-how__desc {
    text-align: center;
    font-size: 1.11vw;
    letter-spacing: 0.2em;
    line-height: 2;
    font-weight: 600;
    margin-bottom: 4vw;
}

.top-how__block {
    width: 38.19vw;
    padding: 4.16vw 2.77vw 3.95vw;
}

.top-how__block.-morning {
    background: #FFFEF5;
}

.top-how__block.-night {
    background: #FAFAFF;
}

.top-how__block-title-en {
    text-align: center;
    font-size: 2.08vw;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 1vw;
}

.top-how__block-title {
    text-align: center;
    font-size: 1.11vw;
    letter-spacing: 0.1em;
    font-weight: 600;
    line-height: 1;
    margin-bottom: 4.16vw;
}

.top-how__block-item {
    padding-left: 6.94vw;
    padding-bottom: 4.58vw;
}

.top-how__block-item-time {
    position: absolute;
    left: 0;
    top: 0;
    width: 5.55vw;
    text-align: center;
    font-size: 1.25vw;
    line-height: 1.94vw;
    border-radius: 2vw;
    color: #fff;
}

.-morning .top-how__block-item-time {
    background: #B4A75A;
}

.-night .top-how__block-item-time {
    background: #20269F;
    left: auto;
    right: 0;
}

.top-how__block-item-title {
    letter-spacing: 0.2em;
    font-size: 1.54vw;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 0.83vw;
    margin-bottom: 1vw;
}

.top-how__block-item-title .en {
    letter-spacing: 0;
    font-size: 0.97vw;
    font-weight: bold;
}

.top-how__block-item-text {
    letter-spacing: 0.1em;
    position: relative;
    z-index: 2;
}

.top-how__block-item:last-child {
    padding-bottom: 0;
}

.-morning .top-how__block-item-title .en {
    color: #DDC32D;
}

.-night .top-how__block-item-title .en {
    color: #686BA3;
}

.top-how__block-item-image-object {
    position: absolute;
}

.top-how__block-item-image {
    margin-bottom: 1.5vw;
}

.-morning .top-how__block-item-image-object {
    width: 7.63vw;
    left: -3.8vw;
    bottom: -3.8vw;
    mix-blend-mode: multiply;
}

.-night .top-how__block-item-image-object {
    width: 9.1vw;
    left: -1.5vw;
    bottom: -1.5vw;
}

.-night .top-how__block-item {
    padding-left: 0;
    padding-right: 6.94vw;
}

.-night .top-how__block-item:before {
    left: auto;
    right: 2.77vw;
}

.top-faq__bg {
    background-image: url(/html/user_data/assets/img/top/top-faq__bg.webp);
    background-size: cover;
    background-position: center;
    padding: 6.94vw 6.16vw;
}

section.top-faq .top-section__title {
    margin-bottom: 2.77vw;
}

.top-faq__item {
    background: #fff;
    padding: 2vw 2vw 2.2vw;
    position: relative;
    box-shadow: 0 1px 2px rgb(0 0 0 / 16%);
}

.top-faq__item+.top-faq__item {
    margin-top: 1.38vw;
}

.top-faq__list {
    margin-bottom: 3.47vw;
}

.top-faq__item:before {
    content: "";
    position: absolute;
    top: 0.69vw;
    left: 0.69vw;
    right: 0.69vw;
    bottom: 0.69vw;
    border: 1px solid #F2EFE6;
}

.top-faq__q {
    align-items: center;
    padding-bottom: 1.45vw;
    border-bottom: 1px dashed #EFEADE;
    margin-bottom: 1.94vw;
    gap: 1.38vw;
}

.top-faq__q-icon {
    width: 2.08vw;
    height: 2.08vw;
    background: #1D2260;
    border-radius: 50%;
    color: #fff;
    font-size: 1.25vw;
    font-weight: bold;
    padding-left: 0.56vw;
}

.top-faq__q-text {
    font-size: 1.11vw;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.top-faq__a {
    display: flex;
    padding-left: 1.04vw;
    gap: 1.38vw;
    color: #838383;
    letter-spacing: 0.1em;
}

.top-faq__a:before {
    content: "";
    width: 4.16vw;
    background: #838383;
    height: 1px;
    margin-top: 0.8em;
}

.top-faq__btn a {
    display: flex;
    width: 19.44vw;
    background: #333333;
    border: 1px solid #333333;
    color: #fff;
    align-items: center;
    margin: 0 auto;
    height: 3.47vw;
    border-radius: 3vw;
    padding-left: 2vw;
    font-size: 1.11vw;
    letter-spacing: 0.1em;
    font-weight: 600;
    background-image: url(/html/user_data/assets/img/common/common-button-arrow.svg);
    background-repeat: no-repeat;
    background-size: 0.97vw;
    background-position: center right 2vw;
}

footer.site-footer {
    margin-top: 9.72vw;
    background-image: url(/html/user_data/assets/img/common/footer__bg.webp);
    background-size: cover;
    background-position: center;
    padding: 4.16vw 0 2.77vw;
    text-align: center;
}

.site-footer__logo img {
    width: 15vw;
}

.site-footer__logo {
    margin-bottom: 1.72vw;
}

.site-footer__line-label {
    justify-content: center;
    align-items: center;
    margin-bottom: 0.2vw;
}

.site-footer__line-label-logo {
    width: 4.76vw;
    margin-right: 0.65vw;
}

.site-footer__line-label-text {
    letter-spacing: 0.1em;
}

.site-footer__line-btn a {
    width: 20.83vw;
    margin: 0 auto;
    background: #03C755;
    border-radius: 5px;
    align-items: center;
    height: 3.47vw;
    color: #fff;
    padding-left: 1.04vw;
    padding-right: 1.04vw;
}

.site-footer__line-btn-icon {
    width: 1.38vw;
    margin-right: 1.04vw;
}

.site-footer__line-btn-icon img {
    width: 100%;
}

.site-footer__line-btn-text {
    font-weight: 600;
}

.site-footer__line-btn-arrow {
    width: 0.77vw;
    height: 0.83vw;
    background-image: url(/html/user_data/assets/img/common/common-button-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: auto;
}

.site-footer__line {
    margin-bottom: 3.47vw;
}

.site-footer__nav ul {
    justify-content: center;
    gap: 2.08vw;
}

.site-footer__nav a {
    color: #333333;
    font-size: 1.04vw;
    font-weight: bold;
}

.site-footer__nav {
    margin-bottom: 2.77vw;
}

.site-footer__sns ul {
    justify-content: center;
    gap: 2.1vw;
}

.site-footer__sns ul li {
    width: 2.1vw;
}

.site-footer__sns ul li img {
    width: 100%;
}

.site-footer__bottom {
    margin-top: 1.31vw;
    border-top: 1px solid #E8E8E8;
    padding-top: 1.66vw;
}

.site-footer__utility ul {
    justify-content: center;
    gap: 1.04vw;
    align-items: center;
}

li.site-footer__utility-separate {
    width: 1px;
    background: #333333;
    height: 0.83vw;
}

li.site-footer__utility-item a {
    font-size: 0.83vw;
    color: #333333;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.site-footer__utility {
    margin-bottom: 1vw;
}

.site-footer__copyright small {
    font-size: 0.69vw;
}

.ec-cartNavi {
    align-items: center;
}

body.mypage,
body.other_page,
body.cart_page,
body.registration_page {
    padding-top: 10vw;
    background: #fff;
}

.ec-rectHeading {
    margin: 2em 0 0.5em;
}

section.product-content .wrap {
    align-items: flex-start;
}

.product-content__image {
    width: 34.72vw;
    position: sticky;
    top: 10.06vw;
}

.product-content__detaile {
    width: 40.97vw;
}

.ec-sliderItemRole .slideThumb {
    width: 20%;
}

section.product-content {
    padding: 10.06vw 0;
    background-image: url(/html/user_data/assets/img/product/product-main-bg.webp);
    background-size: 100%;
    background-position: top center;
    background-repeat: no-repeat;
}

.product-content__detaile-name-image {
    width: 6.18vw;
}

.product-content__detaile-name-text {
    font-size: 2.63vw;
    margin-bottom: 2vw;
}

.product-content__detaile-price .ec-price__price {
    font-size: 2.22vw;
    font-weight: 400;
    line-height: 1;
    margin-bottom: 1vw;
}

.product-content__detaile-price .ec-price__tax {
    font-size: 1.11vw;
}

.product-content__detaile-action select#classcategory_id1 {
    border-radius: 3vw;
    background: #1D2260;
    color: #fff;
    border: none;
    font-size: 1.01vw;
    height: 3vw;
    padding-left: 1.5vw;
    padding-right: 3em;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url(/html/user_data/assets/img/common/common-select-arrow.svg);
    background-repeat: no-repeat;
    background-size: 1vw;
    background-position: center right 1.5vw;
    width: fit-content;
}

.product-content__detaile-action .ec-blockBtn--action {
    background: #333333;
    border: none;
    width: 19.79vw;
    border-radius: 5px;
    font-size: 1.11vw;
    letter-spacing: 0.05em;
    background-image: url(/html/user_data/assets/img/common/icon-white-cart.svg);
    background-repeat: no-repeat;
    background-size: 1.11vw;
    background-position: center left 1.5vw;
    font-weight: 400;
}

.product-content__detaile-action button#favorite {
    width: 19.8vw;
    border-radius: 5px;
    margin-top: 0.5vw;
    font-size: 1.11vw;
    background: #1D2260;
    font-weight: 400;
}

.product-content__detaile-payment {
    margin: 2vw 0;
    align-items: center;
    gap: 2vw;
}

.product-content__detaile-payment-label {
    border-bottom: 1px solid;
}

.product-content__detaile-payment-image {
    width: 18.4vw;
}

button#product-content__detaile-share-btn {
    width: 10vw;
    height: 2.77vw;
    background: #fff;
    border: 1px solid;
    border-radius: 5px;
    text-align: left;
    padding-left: 3.5vw;
    background-image: url(/html/user_data/assets/img/common/icon-share.svg);
    background-repeat: no-repeat;
    background-size: 1.25vw;
    background-position: center left 1.5vw;
}

.product-content__detaile-share {
    margin-bottom: 3vw;
    margin-top: 2vw;
}

.product-content__detaile-detail {
    margin-bottom: 4vw;
}

.product-content__detaile-faq-title {
    display: flex;
    justify-content: space-between;
    font-size: 1.11vw;
    align-items: center;
    margin-bottom: 1.5vw;
}

h2.product-content__detaile-faq-title .toggle-mark {
    width: 1.1vw;
    height: 2px;
    background: #333;
    position: relative;
}

h2.product-content__detaile-faq-title .toggle-mark:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #333;
    transition: .2s;
    transform: rotate(90deg);
}

.product-content__detaile-faq-item+.product-content__detaile-faq-item {
    margin-top: 1.5vw;
}

.producti-faq__q {
    align-items: center;
    gap: 0.7vw;
    margin-bottom: 0.5vw;
}

.producti-faq__q-icon {
    width: 1.66vw;
    height: 1.66vw;
    background: #1D2260;
    border-radius: 50%;
    color: #fff;
    font-size: 1.04vw;
    font-weight: bold;
    padding-left: 0.43vw;
    line-height: 1.5;
}

.producti-faq__q-text {
    font-size: 1.04vw;
    letter-spacing: 0.1em;
}

.producti-faq__a {
    color: #838383;
    font-weight: 500;
    letter-spacing: 0.1em;
    gap: 0.7vw;
    display: flex;
    font-size: 0.9vw;
}

.producti-faq__a:before {
    content: "";
    width: 2.8vw;
    height: 1px;
    background: #838383;
    margin-top: 0.8em;
}

.product-content__detaile-faq-content {
    display: none;
}

section.product-recommend {
    padding: 4.86vw 0 0;
}

section.product-recommend .top-section__title {
    margin-bottom: 4.16vw;
}

li.product-recommend__item {
    width: 18.75vw;
}

.product-recommend__list ul {
    justify-content: space-between;
}

.product-recommend__item-image {
    background: #FFFEF5;
    width: 100%;
    height: 17.22vw;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5vw;
}

.product-recommend__item-image img {
    width: 90%;
    height: 80%;
    object-fit: contain;
}

.product-recommend__item-name {
    font-size: 1.25vw;
    font-weight: 600;
    letter-spacing: 0.09em;
    line-height: 1.5;
    margin-bottom: 0.7vw;
}

.product-recommend__item-price {
    font-size: 1.11vw;
    letter-spacing: 0.16em;
    line-height: 1;
    margin-bottom: 0.3vw;
}

.product-recommend__item-price .en {
    font-size: 200%;
    letter-spacing: 0;
}

.product-recommend__item-sub {
    font-size: 0.83vw;
    font-weight: 600;
    letter-spacing: 0.09em;
    margin-bottom: 0.8vw;
}

.product-recommend__item-btn a {
    display: flex;
    color: #fff;
    background: #333;
    height: 3.47vw;
    align-items: center;
    border-radius: 5px;
    padding-left: 1.38vw;
    font-size: 1.11vw;
    letter-spacing: 0.09em;
    background-image: url(/html/user_data/assets/img/common/common-button-arrow.svg);
    background-repeat: no-repeat;
    background-size: 0.97vw;
    background-position: center right 1.5vw;
}

.product-breadcrumb {
    font-size: 90%;
    margin-bottom: 1em;
}

.page-fv__title-jp {
    font-size: 1.38vw;
    letter-spacing: 0.2em;
}

.page-fv__title-en {
    font-size: 3.47vw;
    font-weight: bold;
    line-height: 1;
}

.page-fv {
    margin-top: -150px;
    background: #fefdf9;
    padding: 10vw 0 5vw;
    background-image: url(/html/user_data/assets/img/common/page-fv__bg.webp);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: 31vw;
}

.page-breadcrumb {
    font-size: 90%;
    padding: 1em 0;
    margin-bottom: 4vw;
    color: #ADADAD;
}

.page-breadcrumb a {
    color: #333333;
}

.fragrance-modal-content {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99;
    display: none;
}

.fragrance-modal-content-image {
    margin-left: -4.3vw;
    margin-right: -3.2vw;
}

.fragrance-modal-content-close {
    position: absolute;
    cursor: pointer;
    width: 2.4vw;
    height: 1.38vw;
    top: 7.5vw;
    right: 2.5vw;
}

.fragrance-modal-content-close:before,
.fragrance-modal-content-close:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: #333333;
    margin: auto;
}

.fragrance-modal-content-close:before {
    transform: rotate(30deg);
}

.fragrance-modal-content-close:after {
    transform: rotate(-30deg);
}

.fragrance-modal-content.-item-1 {
    background: rgb(255 245 253 / 70%);
}

.fragrance-modal-content.-item-2 {
    background: rgb(246 255 245 / 70%);
}

.fragrance-modal-content.-item-3 {
    background: rgb(254 255 245 / 70%);
}

.site-footer__action ul {
    justify-content: center;
    gap: 0.69vw;
}

.site-footer__action li {
    width: 10.1vw;
}

.site-footer__action a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.5vw;
    background: #333333;
    border: 1px solid #333333;
    border-radius: 5px;
    gap: 0.5em;
    font-weight: bold;
    color: #fff;
}

.site-footer__action {
    margin-bottom: 2.77vw;
}

.site-footer__action li+li a {
    color: #333;
    background: no-repeat;
}

.site-header-sp__menu {
    display: none;
}

body#page_product_list .ec-layoutRole .ec-layoutRole__contents {
    max-width: 100%;
}

body#page_product_list {
    padding-top: 150px;
}

.site-header__menu .ec-headerNav__item a {
    display: flex;
    align-items: center;
    gap: 0.5em;
}

[lang=en] .top-product__item-list-price {
    font-size: 1vw;
}

[lang=en] .top-product__block.-shampoo {
    margin-bottom: 9vw;
}

.ec-orderRole .ec-orderRole__summary {
    position: sticky;
    top: 7vw;
}

.ec-orderRole {
    align-items: flex-start;
}

[lang=en] .top-intro__desc,
[lang=en] .top-how__desc {
    width: 50vw;
    margin: 0 auto;
}

.common_ingre_block {
    display: flex;
    align-items: center;
    gap: 1.5vw;
    margin-top: 1vw;
}

.common_ingre_block .block_ttl {
    font-size: 1.04vw;
    color: #20269F;
    flex-shrink: 0;
}

.common_ingre_block .ingre_list ul {
    display: flex;
    gap: 1vw;
}

.common_ingre_block .ingre_list ul li {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.common_ingre_block .ingre_list ul li .list_icon {
    width: 4vw;
    height: 4vw;
}

.common_ingre_block .ingre_list ul li .list_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.common_ingre_block .ingre_list ul li .list_name {
    font-size: 0.8vw;
    margin-top: 0.5em;
}

.ec-borderedDefs dt,
.ec-borderedDefs dd {
    padding: 1em 0 !important;
    line-height: 1.5 !important;
}

.ec-borderedDefs dl {
    padding-top: 0 !important;
}

.ec-borderedDefs dt .ec-label {
    margin-bottom: 0 !important;
}

#page_help_privacy .ec-off1Grid+.ec-off1Grid {
    margin-top: 24px;
}

#page_help_privacy .ec-off1Grid .ec-heading-bold {
    margin-top: 0;
}

@media (hover: hover) and (pointer: fine) {

    .site-header__menu a:hover {
        opacity: 0.6;
    }

    .top-intro__product-item-btn a:hover {
        opacity: 0.6;
    }

    .top-fragrance__content-more button:hover {
        opacity: 0.6;
    }

    .top-fragrance__content-item:hover .top-fragrance__content-item-image {
        transform: scale(1.05);
        opacity: 0.6;
    }

    .top-product__item-list-btn a:hover {
        opacity: 0.6;
    }

    .top-faq__btn a:hover {
        color: #333333;
        background-color: #fff;
        background-image: url(/html/user_data/assets/img/common/common-button-arrow-black.svg);
    }

    .site-footer__action a:hover {
        color: #333333;
        background-color: rgb(51 51 51 / 0%);
    }

    .site-footer__action li+li a:hover {
        background-color: #333;
        color: #fff;
    }

    .site-footer__line-btn a:hover {
        opacity: 0.6;
    }

    .site-footer__nav a:hover {
        opacity: 0.6;
    }

    li.site-footer__sns-item a:hover {
        opacity: 0.6;
    }

    li.site-footer__utility-item a:hover {
        opacity: 0.6;
    }

}

@media (max-width: 750px) {

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    body {
        font-size: 3.33vw;
    }

    header.site-header-sp {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 80px;
        z-index: 99;
        background: #FFFDF7;
        background: linear-gradient(0deg, rgba(255, 253, 247, 0) 5%, rgba(255, 253, 247, 0.9) 50%);
    }

    header.site-header-sp .inner {
        height: 100%;
        align-items: center;
        padding: 0 5vw;
    }

    .site-header-sp__logo {
        width: 90px;
    }

    .site-header-sp__action-item {
        text-align: center;
        margin-right: 20px;
    }

    .site-header-sp__action-item a {
        color: #333333;
    }

    .site-header-sp__action-item-text {
        font-size: 8px;
        font-weight: bold;
    }

    .site-header-sp__action-item-icon {
        font-size: 15px;
    }

    .site-header-sp__action-split {
        height: 24px;
        width: 1px;
        background: #333333;
        margin-right: 20px;
    }

    .site-header-sp__action {
        align-items: center;
    }

    .site-header__menu-language-icon {
        width: 15px;
        margin: 0 auto 5px;
    }

    .site-header__menu-language-item {
        font-size: 12px;
        font-weight: bold;
        line-height: 1;
    }

    .site-header-sp__menu-btn {
        width: 24px;
        height: 20px;
        position: relative;
    }

    .site-header-sp__menu-btn div {
        width: 100%;
        height: 2px;
        background: #333333;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        transition: .2s;
    }

    .site-header-sp__menu-btn div:nth-child(1) {
        top: 0;
    }

    .site-header-sp__menu-btn div:nth-child(2) {
        top: 9px;
    }

    .site-header-sp__menu-btn div:nth-child(3) {
        top: 18px;
    }

    .site-header-sp__menu {
        position: fixed;
        z-index: 90;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition: .2s;
        background-image: url(/html/user_data/assets/img/common/sp__menu-bg.webp);
        background-size: cover;
        background-position: center;
        overflow-y: scroll;
        padding: 80px 5vw 10vw;
        display: block;
        left: 100%;
    }

    .site-header-sp__menu .inner {
        padding: 10vw 0 0;
    }

    .site-header-sp__menu-list {
        background: #FFFFFF;
        border-radius: 5px;
        box-shadow: 0 1px 2px rgb(0 0 0 / 16%);
        margin-bottom: 10vw;
        position: relative;
        padding: 2vw 5vw;
    }

    .site-header-sp__menu-list:after {
        content: "";
        position: absolute;
        top: 3px;
        left: 3px;
        right: 3px;
        bottom: 3px;
        border: 1px solid #F2EFE6;
        border-radius: 3px;
    }

    .site-header-sp__menu-list ul {
        position: relative;
        z-index: 10;
    }

    li.site-header-sp__menu-item a {
        font-size: 4.1vw;
        color: #333333;
        display: block;
        padding: 4vw 0;
        font-weight: bold;
        border-bottom: 1px dashed #BEB7A8;
        background-image: url(/html/user_data/assets/img/common/common-button-arrow-black.svg);
        background-repeat: no-repeat;
        background-position: center right;
        background-size: 3.6vw;
    }

    li.site-header-sp__menu-item:last-child a {
        border: oldlace;
    }

    .site-footer__action li {
        width: 37.2vw;
    }

    .site-footer__action a {
        height: 9.2vw;
    }

    .site-footer__action ul {
        gap: 2.5vw;
    }

    .site-footer__action {
        margin-bottom: 7.2vw;
    }

    .site-footer__line-label-logo {
        width: 17.6vw;
    }

    .site-footer__line-label {
        gap: 2.4vw;
        margin-bottom: 2vw;
    }

    .site-footer__line-btn a {
        width: 77vw;
        height: 12.8vw;
        padding-left: 5vw;
        padding-right: 4vw;
    }

    .site-footer__line-btn-icon {
        width: 5vw;
        margin-right: 5vw;
    }

    .site-footer__line-btn-arrow {
        width: 3vw;
        height: 3vw;
    }

    .site-footer__line {
        margin-bottom: 10vw;
    }

    .site-footer__sns ul li {
        width: 7.7vw;
    }

    .site-footer__sns ul {
        gap: 7.7vw;
    }

    .site-footer__bottom {
        margin-top: 5vw;
        padding-top: 5vw;
    }

    li.site-footer__utility-item a {
        font-size: 3.1vw;
    }

    .site-footer__utility ul {
        gap: 0 3vw;
    }

    li.site-footer__utility-separate {
        height: 3vw;
    }

    .site-footer__copyright small {
        font-size: 2.6vw;
    }

    .site-footer__copyright {
        text-align: center;
    }

    .site-footer__utility {
        margin-bottom: 7vw;
    }

    .site-header-sp__menu-btn.opend div:nth-child(1) {
        top: 9px;
        transform: rotate(40deg);
    }

    .site-header-sp__menu-btn.opend div:nth-child(2) {
        opacity: 0;
    }

    .site-header-sp__menu-btn.opend div:nth-child(3) {
        top: 9px;
        transform: rotate(-40deg);
    }

    .site-header-sp__menu.opend {
        left: 0;
    }


    section.top-fv {
        padding-top: 97vw;
    }

    .top-fv__title {
        font-size: 9.7vw;
    }

    .top-fv__text {
        font-size: 3.8vw;
        width: 100%;
    }

    .wrap {
        width: 90%;
    }

    .wrap-w {
        width: 90%;
    }

    .top-intro__product-item {
        width: 100%;
        align-items: flex-start;
        padding: 4vw 0;
    }

    .top-intro__products {
        gap: 3vw;
        margin-bottom: 20vw;
    }

    .top-intro__product-item-image {
        width: 21.5vw;
        height: 21.5vw;
    }

    .top-intro__product-item-name-en {
        font-size: 5vw;
        margin-bottom: 1vw;
    }

    .top-intro__product-item-name-jp {
        font-size: 3.1vw;
    }

    .top-intro__product-item-btn {
        width: 38.4vw;
    }

    .top-intro__product-item-content {
        width: 67vw;
        padding-top: 3vw;
    }

    .top-intro__product-item-action {
        width: 90vw;
        justify-content: center;
        gap: 3vw;
        margin-left: -21.5vw;
        margin-top: 4vw;
    }

    .top-intro__product-item-btn a {
        font-size: 3.5vw;
        height: 10vw;
        border-radius: 5vw;
        padding-left: 4vw;
        background-size: 3vw;
        background-position: center right 4vw;
    }

    .top-intro__catch {
        font-size: 5.6vw;
        letter-spacing: 0.18em;
        margin-bottom: 9vw;
    }

    .top-intro__desc {
        font-size: 3.6vw;
        letter-spacing: 0.14em;
        line-height: 2;
        font-weight: 600;
    }

    section.top-intro {
        padding-bottom: 29vw;
    }

    section.top-fragrance {
        padding: 15vw 0;
        overflow: hidden;
    }

    .top-section__title-jp {
        font-size: 3.8vw;
    }

    .top-section__title-en {
        font-size: 8.2vw;
    }

    .top-fragrance__content-image {
        width: 106vw;
        position: static;
        margin-left: -6vw;
    }

    .top-fragrance__content {
        padding: 0;
        display: block;
    }

    .top-fragrance__content-list {
        width: 100%;
        margin-top: -17vw;
        position: relative;
        z-index: 1;
    }

    .top-fragrance__content-item {
        padding: 4vw 0;
        height: auto;
    }

    .top-fragrance__content-item-image {
        display: none;
    }

    .top-fragrance__content-text-en {
        font-size: 2.5vw;
    }

    .top-fragrance__content-text {
        font-size: 3.6vw;
    }

    .top-fragrance__content-more {
        width: 15vw;
    }

    .top-fragrance__content-more button {
        height: 5.6vw;
        border-radius: 4vw;
        font-size: 2.8vw;
        letter-spacing: 0.08em;
    }

    .top-fragrance__content-text-en span.sp {
        display: inline-block;
        margin-right: 1em;
        font-size: 160%;
    }

    .top-fragrance__content-text-en span.sp {
        display: inline-block;
        margin-right: 1em;
        font-size: 160%;
    }

    .fragrance-modal-content-close {
        width: 6.6vw;
        height: 3.8vw;
        top: -5vw;
        right: 0vw;
    }

    .fragrance-modal-content {
        padding: 10vw 0;
    }

    .fragrance-modal-content-image {
        margin-left: -6vw;
        margin-right: -5vw;
    }

    .fragrance-modal-content-inner {
        height: 100%;
    }

    .fragrance-modal-content-image img {
        width: 100%;
        height: 90dvh;
        object-fit: contain;
    }

    section.top-product .top-section__title {
        margin-bottom: 8.2vw;
    }

    .top-product__inner {
        padding: 87vw 5vw 11vw;
    }

    .-shampoo .top-product__item {
        margin-left: 0;
        margin-bottom: 9vw;
    }

    .top-product__item-logo {
        width: 19.2vw;
    }

    .top-product__item-name-en {
        font-size: 5.6vw;
    }

    .top-product__item-list {
        width: 100%;
    }

    .top-product__item-name-jp {
        font-size: 3.33vw;
        margin-bottom: 6vw;
    }

    .top-product__item-list-label {
        font-size: 3.8vw;
        gap: 2.5vw;
        margin-left: -3vw;
        margin-bottom: 4vw;
    }

    .top-product__item-list-name {
        font-size: 3.8vw;
    }

    .top-product__item-list-price {
        display: inline;
        font-size: 4.1vw;
    }

    .top-product__item-list-info {
        display: inline;
        font-size: 3.1vw;
    }

    .top-product__item-list-btn a {
        width: 100%;
        height: 11.8vw;
        padding-left: 5vw;
        background-size: 3vw;
        background-position: center right 5vw;
    }

    .top-product__item-list-btn {
        margin-top: 4vw;
    }

    .top-product__item-type {
        gap: 8vw;
    }

    .-shampoo .top-product__material {
        width: 100%;
        margin: 0;
    }

    .top-product__material-en {
        font-size: 3.8vw;
    }

    .top-product__material-title {
        font-size: 4.1vw;
        letter-spacing: 0.12em;
        margin-bottom: 4vw;
    }

    .top-product__block.-shampoo {
        margin-bottom: 95vw;
    }

    .-treatment .top-product__item {
        margin-bottom: 9vw;
    }

    .-treatment .top-product__material {
        margin: 0;
        width: 100%;
    }

    section.top-product {
        padding: 6vw 0 15vw;
    }

    section.top-review {
        padding: 15vw 0 20vw;
    }

    section.top-review .top-section__title {
        margin-bottom: 8vw;
    }

    .top-review__slider .top-review__slider-item {
        width: 85vw;
        margin: 1.25vw;
        padding: 5vw;
    }

    .top-review__slider-item-image {
        width: 30vw;
        height: 30vw;
    }

    .top-review__slider-item-number {
        font-size: 3.8vw;
        margin-left: -2vw;
        margin-top: -5vw;
    }

    .top-review__slider-item-content {
        width: 39vw;
    }

    .top-review__slider-item-user {
        font-size: 3.8vw;
        flex-wrap: wrap;
        height: 30vw;
        align-content: center;
    }

    .top-review__slider-item-user .type {
        font-size: 3.2vw;
        padding: 0.5em;
        line-height: 1.6;
        margin-bottom: 1vw;
    }

    .top-review__slider-item-title {
        font-size: 3.8vw;
        width: 75vw;
        margin-left: -35vw;
        letter-spacing: 0.07em;
        margin-top: 4vw;
        margin-bottom: 3vw;
    }

    .top-review__slider-item-text {
        width: 75vw;
        margin-left: -35vw;
    }

    section.top-review .slick-dots li {
        width: 28vw;
        height: 5px;
    }

    section.top-how {
        padding: 15vw 0;
    }

    .top-how__desc {
        font-size: 3.6vw;
        margin-bottom: 7vw;
    }

    .top-how__block {
        width: 100%;
        padding: 10vw 5vw;
    }

    .top-how__block-item {
        padding-left: 19.4vw !important;
        padding-right: 0 !important;
        padding-top: 1vw;
    }

    .top-how__block-item-time {
        width: 16.4vw;
        height: 6.6vw;
        border-radius: 4vw;
        display: flex;
        align-items: center;
        justify-content: center;
        left: 0 !important;
        font-size: 3.8vw;
    }

    .top-how__block-item:before {
        left: 8vw !important;
    }

    .top-how__block-item-title {
        font-size: 4.6vw;
        margin-bottom: 3vw;
    }

    .top-how__block-item-title .en {
        font-size: 3.1vw;
    }

    .top-how__block-item-image {
        margin-bottom: 4vw;
    }

    .-morning .top-how__block-item-image-object {
        width: 16vw;
        height: 16vw;
        left: -8vw;
        bottom: -8vw;
    }

    .top-how__block-title-en {
        font-size: 6.2vw;
        margin-bottom: 3vw;
    }

    .top-how__block-title {
        font-size: 3.1vw;
        margin-bottom: 8vw;
    }

    .-night .top-how__block-item-image-object {
        width: 18vw;
        left: -11vw;
        bottom: -9vw;
    }

    .top-faq__bg {
        padding: 15vw 5vw;
    }

    footer.site-footer {
        padding: 15vw 0;
        margin-top: 15vw;
    }

    .top-faq__q {
        font-size: 3.8vw;
        align-items: flex-start;
        gap: 3vw;
    }

    .top-faq__q-text {
        font-size: 3.8vw;
        width: 62vw;
    }

    .top-faq__q-icon {
        width: 6.2vw;
        height: 6.2vw;
        font-size: 3.8vw;
        padding-left: 1.5vw;
        line-height: 1;
        padding-top: 1vw;
    }

    .top-faq__a:before {
        width: 10vw;
    }

    .top-faq__a {
        gap: 3vw;
    }

    .top-faq__item {
        padding: 4vw;
    }

    .top-faq__btn a {
        width: 66.6vw;
        height: 11.8vw;
        border-radius: 6vw;
        font-size: 3.2vw;
        padding-left: 5vw;
        background-size: 3.3vw;
        background-position: center right 6vw;
    }

    .site-footer__logo img {
        width: 37.4vw;
    }

    .site-footer__logo {
        margin-bottom: 4vw;
    }

    .top-faq__list {
        margin-bottom: 10vw;
    }

    .top-faq__item+.top-faq__item {
        margin-top: 3vw;
    }

    .page-fv {
        margin-top: -80px;
        padding: calc(80px + 10vw) 0 10vw;
        background-size: cover;
    }

    body.mypage,
    body.other_page,
    body.cart_page,
    body.registration_page {
        padding-top: calc(80px + 10vw);
    }

    .page-fv__title-jp {
        font-size: 3.6vw;
        margin-bottom: 1vw;
    }

    .page-fv__title-en {
        font-size: 7.2vw;
    }

    .ec-select select {
        max-width: 100%;
    }

    .ec-shelfGrid .ec-shelfGrid__item {
        width: 100%;
        text-align: center;
    }

    ul.ec-shelfGrid {
        gap: 5vw;
    }

    .product-content__image {
        width: 100%;
        position: static;
        margin-bottom: 5vw;
    }

    section.product-content {
        padding: calc(80px + 10vw) 0 15vw;
    }

    .product-content__detaile {
        width: 100%;
    }

    .product-content__detaile-name-image {
        width: 19.2vw;
    }

    .product-content__detaile-name-text {
        font-size: 5vw;
        margin-bottom: 4vw;
    }

    .product-content__detaile-price .ec-price__price {
        font-size: 6.4vw;
    }

    .product-content__detaile-price .ec-price__tax {
        font-size: 3.2vw;
    }

    .product-content__detaile-action select#classcategory_id1 {
        height: 10vw;
        width: 100%;
        font-size: 3.3vw;
        padding-left: 6vw;
        border-radius: 5vw;
        background-size: 4vw;
        background-position: center right 5vw;
    }

    .ec-productRole__price {
        margin-bottom: 3vw;
    }

    .product-content__detaile-action .ec-blockBtn--action {
        width: 100%;
        font-size: 3.3vw;
        height: 10vw;
        padding: 0;
        background-size: 5vw;
        background-position: center left 5vw;
        line-height: 1;
    }

    .product-content__detaile-action button#favorite {
        width: 100%;
        height: 10vw;
        margin-top: 2vw;
        line-height: 1;
        font-size: 3.3vw;
    }

    .product-content__detaile-price.product-content__detaile-action {
        margin-bottom: 5vw;
    }

    .product-content__detaile-payment-image {
        width: 58vw;
    }

    button#product-content__detaile-share-btn {
        width: 40vw;
        height: 11vw;
        padding-left: 13vw;
        background-size: 4vw;
        background-position: center left 5vw;
    }

    .product-content__detaile-share {
        margin-bottom: 7vw;
    }

    .product-content__detaile-faq-title {
        font-size: 120%;
    }

    h2.product-content__detaile-faq-title .toggle-mark {
        width: 4vw;
    }

    .producti-faq__q {
        gap: 3vw;
        margin-bottom: 2vw;
    }

    .producti-faq__q-icon {
        width: 5vw;
        height: 5vw;
        font-size: 3vw;
        padding-left: 1.4vw;
    }

    .producti-faq__q-text {
        font-size: 3.1vw;
    }

    .producti-faq__a {
        gap: 2vw;
        font-size: 3.1vw;
    }

    .product-content__detaile-faq-item+.product-content__detaile-faq-item {
        margin-top: 4vw;
    }

    .product-content__detaile-faq-content {
        padding-top: 3vw;
    }

    .product-content__detaile-detail {
        margin-bottom: 10vw;
    }

    section.product-recommend {
        padding: 10vw 0 0;
    }

    li.product-recommend__item {
        width: 100%;
    }

    .product-recommend__list ul {
        gap: 5vw;
    }

    section.product-recommend .top-section__title {
        margin-bottom: 8vw;
    }

    .product-recommend__item-image {
        float: left;
        width: 30vw;
        height: 30vw;
        margin: 0 5vw 2vw 0;
    }

    .product-recommend__item-name {
        font-size: 3.3vw;
        margin-bottom: 2vw;
        margin-top: 3vw;
    }

    .product-recommend__item-price {
        font-size: 3.3vw;
    }

    .product-recommend__item-sub {
        font-size: 2.5vw;
        margin-bottom: 6vw;
    }

    .product-recommend__item-btn a {
        font-size: 3.3vw;
        height: 10vw;
        padding-left: 5vw;
        background-size: 3.3vw;
        background-position: center right 5vw;
    }

    [lang=en] .top-product__item-list-price {
        font-size: 4.3vw;
        width: 100%;
        display: block;
    }

    [lang=en] .top-product__block.-shampoo {
        margin-bottom: 85vw;
    }

    [lang=en] .-treatment .top-product__item {
        margin-bottom: 63vw;
    }

    [lang=en] .-shampoo .top-product__item {
        margin-bottom: 62vw;
    }

    .ec-orderRole .ec-orderRole__summary {
        position: static;
    }

    [lang=en] section.top-intro {
        padding-bottom: 0vw;
    }

    [lang=en] .top-intro__desc,
    [lang=en] .top-how__desc {
        width: 100%;
    }

    [lang=en] .top-product__block.-shampoo .top-product__material-text br {
        display: none;
    }

    .common_ingre_block {
        margin-top: 4vw;
        gap: 3.8vw;
    }

    .common_ingre_block .block_ttl {
        font-size: 3.2vw;
    }

    .common_ingre_block .ingre_list ul {
        display: flex;
        gap: 3vw;
    }

    .common_ingre_block .ingre_list ul li {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .common_ingre_block .ingre_list ul li .list_icon {
        width: 12vw;
        height: 12vw;
    }

    .common_ingre_block .ingre_list ul li .list_name {
        font-size: 3vw;
        margin-top: 0.5em;
    }

    .ec-borderedDefs dd {
        padding: 0 0 1em !important;
    }

    #gt-nvframe {
        top: unset !important;
        bottom: 0 !important;
    }
}