@media(prefers-reduced-motion:no-preference) {
    html {
        scroll-behavior: smooth;
        scroll-padding-top: clamp(0px, 5.3333333333vw, 40px)
    }
}

body {
    margin: 0
}

#ericharou {
    background: #fff;
    color: #333;
    font-family: Noto Sans JP, sans-serif;
    font-optical-sizing: auto;
    font-size: clamp(0px, 3.7333333333vw, 28px);
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
    word-wrap: break-word;
    font-feature-settings: "palt"
}

#ericharou html {
    background: #fff;
    color: #000
}

#ericharou blockquote,
#ericharou body,
#ericharou code,
#ericharou dd,
#ericharou div,
#ericharou dl,
#ericharou dt,
#ericharou fieldset,
#ericharou figcaption,
#ericharou figure,
#ericharou form,
#ericharou h1,
#ericharou h2,
#ericharou h3,
#ericharou h4,
#ericharou h5,
#ericharou h6,
#ericharou input,
#ericharou legend,
#ericharou li,
#ericharou ol,
#ericharou p,
#ericharou pre,
#ericharou td,
#ericharou textarea,
#ericharou th,
#ericharou ul {
    margin: 0;
    padding: 0
}

#ericharou table {
    border-collapse: collapse;
    border-spacing: 0
}

#ericharou fieldset,
#ericharou img {
    border: 0
}

#ericharou caption,
#ericharou th {
    text-align: left
}

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

#ericharou article,
#ericharou aside,
#ericharou details,
#ericharou figcaption,
#ericharou figure,
#ericharou footer,
#ericharou header,
#ericharou hgroup,
#ericharou nav,
#ericharou section {
    display: block
}

#ericharou caption {
    text-align: left
}

#ericharou img {
    vertical-align: top
}

#ericharou html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

#ericharou main {
    display: block
}

#ericharou abbr,
#ericharou acronym {
    border: 0;
    font-variant: normal
}

#ericharou input,
#ericharou select,
#ericharou textarea {
    font-family: inherit;
    font-size: inherit;
    font-size: 100%;
    font-weight: inherit
}

#ericharou button,
#ericharou input,
#ericharou select,
#ericharou textarea {
    color: inherit;
    font-family: inherit;
    font-size: 100%
}

#ericharou input[type=checkbox],
#ericharou input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

#ericharou input[type=button],
#ericharou input[type=submit] {
    -webkit-appearance: none;
    border-radius: 0
}

#ericharou textarea {
    overflow: auto;
    vertical-align: top
}

#ericharou li {
    list-style: none
}

#ericharou em,
#ericharou i {
    font-style: normal
}

#ericharou em {
    font-weight: unset
}

#ericharou button,
#ericharou input,
#ericharou textarea {
    -webkit-appearance: none;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    max-width: 100%
}

#ericharou select {
    appearance: none;
    background: #0000;
    border-radius: 0;
    margin: 0;
    padding: 0
}

#ericharou * {
    box-sizing: border-box
}

#ericharou .container {
    background: #fff;
    margin: 0 auto;
    max-width: 750px;
    width: 100%;
    position: relative;
}

@media screen and (min-width:751px) {
    #ericharou .container {
        box-shadow: 0 0 20px #0003
    }
}

#ericharou h1,
#ericharou h2,
#ericharou h3,
#ericharou h4,
#ericharou h5 {
    font-weight: 500;
    line-height: 100%
}

#ericharou h1 img,
#ericharou h2 img,
#ericharou h3 img,
#ericharou h4 img,
#ericharou h5 img {
    display: block;
    margin: auto
}

#ericharou p {
    line-height: 1.7857142857
}

#ericharou a {
    color: #000;
    text-decoration: none;
    transition: all .3s
}

#ericharou picture {
    display: block
}

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

#ericharou mark {
    background: none
}

#ericharou sup {
    font-size: clamp(0px, 2.6666666667vw, 20px)
}

#ericharou section>.inner {
    margin: auto;
    width: clamp(0px, 84vw, 630px)
}

#ericharou .note {
    font-size: clamp(0px, 2.4vw, 18px)
}

#ericharou .ttl-ribbon {
    margin-bottom: clamp(0px, 8vw, 60px);
    text-align: center
}

#ericharou .ttl-ribbon span {
    background-color: #a68338;
    color: #fff;
    display: inline-block;
    font-weight: 500;
    padding: clamp(0px, 2.6666666667vw, 20px) clamp(0px, 5.3333333333vw, 40px);
    position: relative
}

#ericharou .ttl-ribbon span:after,
#ericharou .ttl-ribbon span:before {
    background: #a68338;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 40% 50%);
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    width: clamp(0px, 4vw, 30px)
}

#ericharou .ttl-ribbon span:before {
    left: clamp(-29px, -3.8666666667vw, 0px)
}

#ericharou .ttl-ribbon span:after {
    right: clamp(-29px, -3.8666666667vw, 0px);
    transform: rotate(180deg)
}

#ericharou .item-wrap .block-cart {
    background: #fff;
    padding-block: clamp(0px, 10.6666666667vw, 80px);
    position: relative;
    z-index: 1
}

#ericharou .item-wrap .block-cart .inner {
    margin: 0 auto;
    position: relative;
    width: clamp(0px, 84vw, 630px)
}

#ericharou .item-wrap .block-cart .item {
    align-items: flex-end;
    background: #fff;
    border: 1px solid #e84383;
    border-radius: clamp(0px, 2.6666666667vw, 20px);
    display: flex;
    flex-wrap: wrap;
    padding-block: clamp(0px, 3.3333333333vw, 25px);
    position: relative
}

#ericharou .item-wrap .block-cart .item:not(:first-child) {
    margin-top: clamp(0px, 5.3333333333vw, 40px)
}

#ericharou .item-wrap .block-cart .item .item-image {
    align-items: center;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    margin-block: auto;
    padding-inline: 1px;
    position: relative;
    width: clamp(0px, 27.2vw, 204px);
    z-index: 1
}

#ericharou .item-wrap .block-cart .item .item-image figure picture+picture {
    margin-top: clamp(0px, 2.6666666667vw, 20px)
}

#ericharou .item-wrap .block-cart .item .item-image figure img {
    display: block
}

#ericharou .item-wrap .block-cart .item .item-detail {
    color: #000;
    flex: 1;
    font-weight: 400;
    min-width: 0;
    position: relative;
    z-index: 2
}

#ericharou .item-wrap .block-cart .item .item-detail .name {
    color: #e84383;
    font-size: clamp(0px, 4.5333333333vw, 34px);
    font-weight: 500;
    line-height: 1.4117647059;
    white-space: nowrap
}

#ericharou .item-wrap .block-cart .item .item-detail .name small,
#ericharou .item-wrap .block-cart .item .item-detail .name span {
    color: #333
}

#ericharou .item-wrap .block-cart .item .item-detail .name span {
    display: block;
    font-size: clamp(0px, 4.2666666667vw, 32px);
    letter-spacing: 0
}

#ericharou .item-wrap .block-cart .item .item-detail .name small {
    font-size: clamp(0px, 2.9333333333vw, 22px);
    font-weight: 500;
    margin-left: clamp(0px, .6666666667vw, 5px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    font-size: clamp(0px, 2.8vw, 21px);
    margin-top: clamp(0px, .4vw, 3px);
    position: relative;
    transform: translateX(clamp(0px, .4vw, 3px));
    width: clamp(0px, 52vw, 390px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap em {
    display: inline-block;
    font-weight: 500;
    line-height: 100%
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .normal,
#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .num {
    font-size: clamp(0px, 2.9333333333vw, 22px);
    line-height: 1.5454545455
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .normal {
    margin-top: clamp(0px, .6666666667vw, 5px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .price {
    align-items: baseline;
    display: flex;
    font-size: clamp(0px, 4vw, 30px);
    line-height: 100%
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .price em {
    font-size: clamp(0px, 6.2666666667vw, 47px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .tax {
    display: block;
    font-size: clamp(0px, 2.9333333333vw, 22px);
    line-height: 100%;
    margin-left: clamp(0px, .8vw, 6px);
    transform: translateY(clamp(-5px, -.6666666667vw, 0px))
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .special {
    color: #d70300;
    margin-bottom: clamp(0px, 1.3333333333vw, 10px);
    position: relative
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .special:before {
    background: #b3b3b3;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    content: "";
    display: block;
    height: clamp(0px, 2.8vw, 21px);
    margin-block: clamp(0px, 2.1333333333vw, 16px) clamp(0px, .2666666667vw, 2px);
    margin-inline: auto;
    transform: translateX(clamp(-22px, -2.9333333333vw, 0px));
    width: clamp(0px, 3.2vw, 24px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .special .price {
    font-size: clamp(0px, 3.7333333333vw, 28px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .special .price em {
    font-size: clamp(0px, 6.4vw, 48px);
    margin-left: clamp(0px, .6666666667vw, 5px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .special .tax {
    margin-left: 0;
    margin-top: clamp(0px, 2.4vw, 18px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .special .point {
    background: #d70300;
    border-radius: clamp(0px, .4vw, 3px);
    color: #fff;
    font-size: clamp(0px, 2.9333333333vw, 22px);
    left: 100%;
    padding: clamp(0px, .4vw, 3px);
    position: absolute;
    text-align: center;
    top: clamp(-12px, -1.6vw, 0px);
    white-space: nowrap;
    width: clamp(0px, 16.4vw, 123px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .special .point:after {
    background: #d70300;
    clip-path: polygon(50% 0, 0 100%, 100% 0);
    content: "";
    display: block;
    height: clamp(0px, 2.6666666667vw, 20px);
    left: clamp(0px, 1.3333333333vw, 10px);
    position: absolute;
    top: calc(100% - 1px);
    width: clamp(0px, 4vw, 30px)
}

#ericharou .item-wrap .block-cart .item .item-detail .price-wrap .special .point em {
    font-size: clamp(0px, 3.2vw, 24px);
    font-weight: 800
}

#ericharou .item-wrap .block-cart .item .item-detail .detail-list {
    margin-top: clamp(0px, 4.2666666667vw, 32px)
}

#ericharou .item-wrap .block-cart .item .item-detail .detail-list li {
    font-size: clamp(0px, 3.2vw, 24px);
    line-height: 1.2083333333;
    padding-left: 1em;
    text-indent: -1em
}

#ericharou .item-wrap .block-cart .item .item-detail .btn-wrap {
    display: flex;
    flex-direction: column;
    gap: clamp(0px, 1.3333333333vw, 10px);
    margin: clamp(0px, 2vw, 15px) 0 0;
    width: clamp(0px, 53.7333333333vw, 403px)
}

#ericharou .item-wrap .block-cart .item .item-detail .btn-wrap a {
    display: block;
    width: 100%
}

#ericharou .item-wrap .block-cart .item .item-detail .btn-wrap .btn-detail {
    margin: clamp(0px, 1.0666666667vw, 8px) 0 clamp(-5px, -.6666666667vw, 0px);
    max-width: clamp(0px, 52.6666666667vw, 395px)
}

#ericharou .item-wrap .block-cart .item .btn-cart,
#ericharou .item-wrap .block-cart .item .btn-cart img {
    display: block
}

@media(hover:hover) {
    #ericharou .item-wrap .block-cart .item .btn-cart:hover {
        opacity: .6
    }
}

#ericharou #kv {
    background: url(../img/kv/kv_img.webp) no-repeat top/100%;
    height: clamp(0px, 138.8vw, 1041px)
}

.no-webp #ericharou #kv {
    background-image: url(../img/kv/kv_img.jpg)
}

#ericharou #kv h1 {
    margin: 0 auto;
    padding: clamp(0px, 8vw, 60px) 0 clamp(0px, 3.3333333333vw, 25px);
    width: clamp(0px, 68.2666666667vw, 512px)
}

@media screen and (min-width:751px) {
    #ericharou #kv h1 {
        padding: clamp(0px, 7.4666666667vw, 56px) 0 clamp(0px, 3.3333333333vw, 25px)
    }
}

#ericharou #sign .txt-read {
    margin: clamp(-132px, -17.6vw, 0px) auto 0;
    width: clamp(0px, 84.2666666667vw, 632px)
}

#ericharou #sign h2 {
    margin: clamp(0px, 1.3333333333vw, 10px) auto clamp(0px, 3.7333333333vw, 28px);
    width: clamp(0px, 74.8vw, 561px)
}

#ericharou #sign .block-byage {
    width: clamp(0px, 88.8vw, 666px)
}

#ericharou #sign .block-byage>div {
    height: clamp(0px, 30.2666666667vw, 227px);
    position: relative;
    transform: translateX(clamp(0px, 7.3333333333vw, 55px));
    width: clamp(0px, 88.8vw, 666px)
}

#ericharou #sign .block-byage>div+div {
    margin-top: clamp(-6px, -.8vw, 0px)
}

#ericharou #sign .block-byage>div.item-age30 {
    background: url(../img/sign/sign_bg01.webp) no-repeat top/100%
}

.no-webp #ericharou #sign .block-byage>div.item-age30 {
    background-image: url(../img/sign/sign_bg01.png)
}

#ericharou #sign .block-byage>div.item-age40 {
    background: url(../img/sign/sign_bg02.webp) no-repeat top/100%
}

.no-webp #ericharou #sign .block-byage>div.item-age40 {
    background-image: url(../img/sign/sign_bg02.png)
}

#ericharou #sign .block-byage>div.item-age40 ul {
    padding-top: clamp(0px, 6.6666666667vw, 50px)
}

#ericharou #sign .block-byage>div.item-age50 {
    background: url(../img/sign/sign_bg03.webp) no-repeat top/100%
}

.no-webp #ericharou #sign .block-byage>div.item-age50 {
    background-image: url(../img/sign/sign_bg03.png)
}

#ericharou #sign .block-byage h3 {
    left: clamp(0px, 3.3333333333vw, 25px);
    position: absolute;
    top: clamp(0px, .6666666667vw, 5px);
    width: clamp(0px, 22.9333333333vw, 172px)
}

#ericharou #sign .block-byage ul {
    padding: clamp(0px, 4.2666666667vw, 32px) 0 0 clamp(0px, 30.4vw, 228px)
}

#ericharou #sign .block-byage ul li {
    align-items: flex-start;
    display: flex;
    gap: clamp(0px, .6666666667vw, 5px);
    justify-content: flex-start;
    line-height: 140%
}

#ericharou #sign .block-byage ul li:not(:last-child) {
    margin-bottom: clamp(0px, 1.3333333333vw, 10px)
}

#ericharou #sign .block-byage ul li:before {
    background: url(../img/icn_check.webp) no-repeat top/100%;
    content: "";
    display: block;
    height: clamp(0px, 3.2vw, 24px);
    margin-top: clamp(0px, 1.3333333333vw, 10px);
    width: clamp(0px, 3.3333333333vw, 25px)
}

.no-webp #ericharou #sign .block-byage ul li:before {
    background-image: url(../img/icn_check.png)
}

#ericharou #sign .ttl-sub {
    margin: clamp(0px, 6.4vw, 48px) auto clamp(0px, 5.7333333333vw, 43px);
    width: clamp(0px, 63.6vw, 477px)
}

#ericharou #sign .img01 {
    margin: 0 auto clamp(0px, 3.3333333333vw, 25px);
    width: clamp(0px, 42.4vw, 318px)
}

#ericharou #sign .txt01 {
    text-align: center
}

#ericharou #step {
    background: #fdffdc;
    margin-top: clamp(0px, 8vw, 60px);
    padding-block: clamp(0px, 12vw, 90px) clamp(0px, 10.4vw, 78px)
}

#ericharou #step .ttl-ribbon {
    margin: 0 auto clamp(0px, 8vw, 60px);
    width: clamp(0px, 60vw, 450px)
}

#ericharou #step .step-list li {
    align-items: flex-start;
    background: #fff;
    border: 8px solid #ef7ba8;
    border-radius: clamp(0px, 2.6666666667vw, 20px);
    display: flex;
    min-height: clamp(0px, 44vw, 330px);
    position: relative
}

#ericharou #step .step-list li+li {
    margin-top: clamp(0px, 10.6666666667vw, 80px)
}

#ericharou #step .step-list li+li:before {
    background: url(../img/icn_arrow.webp) no-repeat top/100%;
    content: "";
    display: block;
    height: clamp(0px, 3.4666666667vw, 26px);
    left: 50%;
    position: absolute;
    top: clamp(-60px, -8vw, 0px);
    transform: translate(-50%);
    width: clamp(0px, 6.8vw, 51px)
}

.no-webp #ericharou #step .step-list li+li:before {
    background-image: url(../img/icn_arrow.png)
}

#ericharou #step .step-list li figure {
    flex-shrink: 0;
    padding-block: clamp(0px, 2vw, 15px);
    width: clamp(0px, 25.6vw, 192px)
}

#ericharou #step .step-list li .txt-wrap {
    flex: 1;
    margin-top: auto;
    min-width: 0;
    padding-block: clamp(0px, 2.6666666667vw, 20px) clamp(0px, 4vw, 30px)
}

#ericharou #step .step-list li .txt-wrap .name {
    color: #e84383;
    font-size: clamp(0px, 4.5333333333vw, 34px);
    font-weight: 500;
    line-height: 1.2285714286;
    white-space: nowrap
}

#ericharou #step .step-list li .txt-wrap .name span {
    color: #333;
    display: block;
    font-size: clamp(0px, 4.2666666667vw, 32px);
    margin-bottom: clamp(0px, .6666666667vw, 5px)
}

#ericharou #step .step-list li .txt-wrap .btn-wrap {
    display: flex;
    flex-direction: column;
    margin-top: clamp(0px, 5.3333333333vw, 40px)
}

#ericharou #step .step-list li .txt-wrap .btn-wrap .txt-link {
    align-items: center;
    color: #333;
    display: flex;
    font-size: clamp(0px, 3.4666666667vw, 26px);
    font-weight: 400;
    gap: clamp(0px, .6666666667vw, 5px);
    justify-content: flex-start;
    line-height: 2
}

#ericharou #step .step-list li .txt-wrap .btn-wrap .txt-link:before {
    background: gray;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
    content: "";
    display: block;
    height: clamp(0px, 2.4vw, 18px);
    width: clamp(0px, 2.4vw, 18px)
}

#ericharou #step .step-list li .txt-wrap .btn-wrap .btn-cart {
    background: #f9d3cd;
    border-radius: clamp(0px, 1.3333333333vw, 10px);
    display: block;
    font-size: clamp(0px, 3.4666666667vw, 26px);
    margin: 0;
    padding: clamp(0px, 1.2vw, 9px) 0;
    text-align: center;
    transition: opacity .3s ease;
    width: clamp(0px, 52vw, 390px)
}

@media(hover:hover) {
    #ericharou #step .step-list li .txt-wrap .btn-wrap .btn-cart:hover {
        opacity: .6
    }
}

#ericharou #step .step-list li.step01 {
    border-color: #f9d3cd
}

#ericharou #step .step-list li.step01 .item-detail .btn-cart-txt {
    background: #f9d3cd
}

#ericharou #step .step-list li.step02 {
    border-color: #f8cfe0
}

#ericharou #step .step-list li.step02 .item-detail .btn-cart-txt {
    background: #f8cfe0
}

#ericharou #step .step-list li.step03 {
    border-color: #f5c1d1
}

#ericharou #step .step-list li.step03 .item-detail .btn-cart-txt {
    background: #f5c1d1
}

#ericharou .section-step h2 {
    margin: 0 auto clamp(0px, 5.8666666667vw, 44px);
    width: clamp(0px, 84vw, 630px)
}

#ericharou .section-step .block-point-wrap {
    background: #fdf4f3;
    padding: clamp(0px, 10.6666666667vw, 80px) clamp(0px, 8vw, 60px)
}

#ericharou .section-step .block-point-wrap h3 {
    background: #ef7ba8;
    border-radius: clamp(0px, 2.6666666667vw, 20px);
    color: #fff;
    font-size: clamp(0px, 5.0666666667vw, 38px);
    font-weight: 500;
    line-height: 1.7894736842;
    margin-bottom: clamp(0px, 8vw, 60px);
    text-align: center
}

#ericharou .section-step .block-point-wrap .block-point {
    background: #fff;
    border-radius: clamp(0px, 4vw, 30px);
    padding: clamp(0px, 8vw, 60px) clamp(0px, 5.3333333333vw, 40px)
}

#ericharou .section-step .block-point-wrap .block-point:not(:last-child) {
    margin-bottom: clamp(0px, 10.6666666667vw, 80px)
}

#ericharou .section-step .block-point-wrap .block-point h4 {
    margin: 0 auto clamp(0px, 3.3333333333vw, 25px)
}

#ericharou .section-step .block-point-wrap .block-point figure,
#ericharou .section-step .block-point-wrap .block-point p {
    margin: 0 auto
}

#ericharou .section-step .block-point-wrap .block-point p {
    text-align: justify;
    width: clamp(0px, 70.6666666667vw, 530px)
}

#ericharou .section-step .block-uservoice {
    background: #fff;
    padding: clamp(0px, 8.2666666667vw, 62px) clamp(0px, 8vw, 60px) 0
}

#ericharou .section-step .block-uservoice h4 {
    margin: 0 auto clamp(0px, 1.3333333333vw, 10px);
    width: clamp(0px, 28.8vw, 216px)
}

#ericharou .section-step .block-uservoice .txt-comment {
    height: clamp(0px, 29.0666666667vw, 218px);
    padding-top: clamp(0px, 3.7333333333vw, 28px);
    padding-inline: clamp(0px, 6vw, 45px);
    position: relative
}

#ericharou .section-step .block-uservoice .txt-comment+.txt-comment {
    margin-top: clamp(0px, 5.3333333333vw, 40px)
}

#ericharou .section-step .block-uservoice .txt-comment p {
    position: relative;
    text-align: justify
}

#ericharou .section-step .block-uservoice .txt-comment p span {
    bottom: 0;
    position: absolute;
    right: 0
}

#ericharou .section-step .block-uservoice .txt-comment.ls p {
    letter-spacing: -.05em
}

#ericharou .section-step .block-uservoice .txt-comment .txt-right {
    text-align: right
}

#ericharou .section-step .block-uservoice .txt-comment:after,
#ericharou .section-step .block-uservoice .txt-comment:before {
    background: url(../img/icn_voice.webp) no-repeat top/100%;
    content: "";
    display: block;
    height: clamp(0px, 12vw, 90px);
    position: absolute;
    width: clamp(0px, 6.9333333333vw, 52px)
}

.no-webp #ericharou .section-step .block-uservoice .txt-comment:after,
.no-webp #ericharou .section-step .block-uservoice .txt-comment:before {
    background-image: url(../img/icn_voice.png)
}

#ericharou .section-step .block-uservoice .txt-comment:before {
    left: 0;
    top: 0
}

#ericharou .section-step .block-uservoice .txt-comment:after {
    bottom: 0;
    right: 0;
    transform: rotate(180deg)
}

#ericharou .section-step#step01 .block-point-wrap .point01 h4 {
    width: clamp(0px, 71.0666666667vw, 533px)
}

#ericharou .section-step#step01 .block-point-wrap .point01 .txt01 {
    margin-bottom: clamp(0px, 10vw, 75px)
}

#ericharou .section-step#step01 .block-point-wrap .point01 .img01 {
    margin-bottom: clamp(0px, 12.8vw, 96px);
    width: clamp(0px, 74.4vw, 558px)
}

#ericharou .section-step#step01 .block-point-wrap .point01 .txt02 {
    margin-bottom: clamp(0px, 13.3333333333vw, 100px);
    width: clamp(0px, 64vw, 480px)
}

#ericharou .section-step#step01 .block-point-wrap .point01 .img02 {
    margin-bottom: clamp(0px, 5.0666666667vw, 38px);
    width: clamp(0px, 56.6666666667vw, 425px)
}

#ericharou .section-step#step01 .block-point-wrap .point01 .note {
    text-align: right
}

#ericharou .section-step#step01 .block-point-wrap .point02 h4 {
    margin-bottom: clamp(0px, 4vw, 30px);
    width: clamp(0px, 60.8vw, 456px)
}

#ericharou .section-step#step01 .block-point-wrap .point02 .txt01 {
    letter-spacing: -.02em;
    margin-bottom: clamp(0px, 6.6666666667vw, 50px)
}

#ericharou .section-step#step01 .block-point-wrap .point02 .img01 {
    width: clamp(0px, 52vw, 390px)
}

#ericharou .section-step#step01 .block-point-wrap .point03 h4 {
    width: clamp(0px, 71.3333333333vw, 535px)
}

#ericharou .section-step#step01 .block-point-wrap .point03 .txt01 {
    margin-bottom: clamp(0px, 4.6666666667vw, 35px)
}

#ericharou .section-step#step01 .block-point-wrap .point03 .img01 {
    width: clamp(0px, 59.8666666667vw, 449px)
}

#ericharou .section-step#step02 .block-point-wrap .point01 h4 {
    width: clamp(0px, 55.7333333333vw, 418px)
}

#ericharou .section-step#step02 .block-point-wrap .point01 .txt01 {
    margin-bottom: clamp(0px, 4.5333333333vw, 34px)
}

#ericharou .section-step#step02 .block-point-wrap .point01 .img01 {
    transform: translateX(clamp(0px, 4.6666666667vw, 35px));
    width: clamp(0px, 69.3333333333vw, 520px)
}

#ericharou .section-step#step02 .block-point-wrap .point02 h4 {
    width: clamp(0px, 57.6vw, 432px)
}

#ericharou .section-step#step02 .block-point-wrap .point02 .txt01 {
    margin-bottom: clamp(0px, 7.4666666667vw, 56px)
}

#ericharou .section-step#step02 .block-point-wrap .point02 .img01 {
    width: clamp(0px, 66.4vw, 498px)
}

#ericharou .section-step#step02 .block-point-wrap .point03 h4 {
    width: clamp(0px, 56.9333333333vw, 427px)
}

#ericharou .section-step#step02 .block-point-wrap .point03 .txt01 {
    margin-bottom: clamp(0px, 7.3333333333vw, 55px)
}

#ericharou .section-step#step02 .block-point-wrap .point03 .img01 {
    width: clamp(0px, 59.8666666667vw, 449px)
}

#ericharou .section-step#step03 .block-point-wrap .point01 h4 {
    width: clamp(0px, 62.2666666667vw, 467px)
}

#ericharou .section-step#step03 .block-point-wrap .point01 .txt01 {
    margin-bottom: clamp(0px, 7.7333333333vw, 58px)
}

#ericharou .section-step#step03 .block-point-wrap .point01 .img01 {
    transform: translateX(clamp(0px, 3.3333333333vw, 25px));
    width: clamp(0px, 64vw, 480px)
}

#ericharou .section-step#step03 .block-point-wrap .point02 h4 {
    width: clamp(0px, 57.8666666667vw, 434px)
}

#ericharou .section-step#step03 .block-point-wrap .point02 .txt01 {
    letter-spacing: -.02em;
    margin-bottom: clamp(0px, 6.6666666667vw, 50px)
}

#ericharou .section-step#step03 .block-point-wrap .point02 .img01 {
    transform: translateX(clamp(0px, .6666666667vw, 5px));
    width: clamp(0px, 64.5333333333vw, 484px)
}

#ericharou .section-step#step03 .block-point-wrap .point03 h4 {
    width: clamp(0px, 72.4vw, 543px)
}

#ericharou .section-step#step03 .block-point-wrap .point03 .txt01 {
    margin-bottom: clamp(0px, 7.3333333333vw, 55px)
}

#ericharou .section-step#step03 .block-point-wrap .point03 .img01 {
    transform: translateX(clamp(-5px, -.6666666667vw, 0px));
    width: clamp(0px, 70.2666666667vw, 527px)
}

#ericharou .section-step#step03 .block-cart .item .item-detail .name02 {
    margin-bottom: 0
}

#ericharou #voice {
    padding: clamp(0px, 10.9333333333vw, 82px) 0
}

#ericharou #voice h2 {
    margin: 0 auto clamp(0px, 7.7333333333vw, 58px);
    width: clamp(0px, 60vw, 450px)
}

#ericharou #voice .block-voiceintro>div {
    position: relative
}

#ericharou #voice .block-voiceintro>div h3 {
    height: clamp(0px, 70.6666666667vw, 530px);
    width: 100%
}

#ericharou #voice .block-voiceintro>div .txt {
    left: clamp(0px, 8vw, 60px);
    position: absolute;
    top: clamp(0px, 30.6666666667vw, 230px)
}

#ericharou #voice .block-voiceintro>div.cont-around30 .txt {
    width: clamp(0px, 44vw, 330px)
}

#ericharou #voice .block-voiceintro>div.cont-around40 .txt {
    width: clamp(0px, 50.6666666667vw, 380px)
}

#ericharou #voice .block-voiceintro>div.cont-around50 .txt {
    width: clamp(0px, 40vw, 300px)
}

#ericharou #voice .txt-detail {
    margin: clamp(-35px, -4.6666666667vw, 0px) auto 0;
    position: relative;
    width: clamp(0px, 77.3333333333vw, 580px);
    z-index: 2
}

#ericharou #age h2 {
    margin: 0 auto clamp(0px, 6.6666666667vw, 50px);
    width: clamp(0px, 77.3333333333vw, 580px)
}

#ericharou #age h3 {
    transition: opacity .3s ease-out
}

@media(hover:hover) {
    #ericharou #age h3:hover {
        opacity: .6
    }
}

#ericharou #age .block-step {
    max-height: 0;
    overflow: hidden;
    transition: max-height .7s ease-out
}

#ericharou #age .block-step.on {
    max-height: unset
}

#ericharou #age .block-step>div {
    padding-block: clamp(0px, 9.3333333333vw, 70px)
}

#ericharou #age h4 {
    height: clamp(0px, 16vw, 120px);
    margin-inline: auto;
    margin-bottom: clamp(0px, 7.3333333333vw, 55px);
    position: relative;
    width: clamp(0px, 86.6666666667vw, 650px)
}

#ericharou #age h4 img {
    left: clamp(-10px, -1.3333333333vw, 0px);
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    width: 100%
}

#ericharou #age h5 {
    align-items: flex-start;
    color: #a58237;
    display: flex;
    font-size: clamp(0px, 4.8vw, 36px);
    font-weight: 400;
    justify-content: flex-start;
    margin: 0 auto clamp(0px, 5.3333333333vw, 40px);
    width: clamp(0px, 84vw, 630px)
}

#ericharou #age h5.txt-age30-1 img {
    width: clamp(0px, 62.6666666667vw, 470px)
}

#ericharou #age h5.txt-age30-2 img {
    width: clamp(0px, 60.6666666667vw, 455px)
}

#ericharou #age h5.txt-age30-3 img {
    width: clamp(0px, 65.2vw, 489px)
}

#ericharou #age h5.txt-age40-1 img {
    width: clamp(0px, 76.8vw, 576px)
}

#ericharou #age h5.txt-age40-2 img {
    width: clamp(0px, 65.8666666667vw, 494px)
}

#ericharou #age h5.txt-age40-3 img {
    width: clamp(0px, 71.2vw, 534px)
}

#ericharou #age h5.txt-age50-1 img {
    width: clamp(0px, 71.7333333333vw, 538px)
}

#ericharou #age h5.txt-age50-2 img {
    width: clamp(0px, 66.5333333333vw, 499px)
}

#ericharou #age h5.txt-age50-3 img {
    width: clamp(0px, 64.4vw, 483px)
}

#ericharou #age .detail {
    align-items: flex-start;
    display: flex;
    gap: clamp(0px, 4vw, 30px);
    justify-content: flex-start;
    margin: 0 auto clamp(0px, 8.2666666667vw, 62px);
    width: clamp(0px, 84vw, 630px)
}

#ericharou #age .detail p {
    flex: 1;
    letter-spacing: .025em;
    margin-top: clamp(-10px, -1.3333333333vw, 0px);
    text-align: justify
}

#ericharou #age .detail figure {
    width: clamp(0px, 40vw, 300px)
}

#ericharou #agevoice {
    background: #fdffdc;
    padding: clamp(0px, 10.6666666667vw, 80px) 0
}

#ericharou #agevoice h2 {
    margin-left: auto;
    margin-right: auto;
    width: clamp(0px, 60vw, 450px)
}

#ericharou #agevoice .block-agevoice {
    border-radius: clamp(0px, 4vw, 30px);
    margin: 0 auto;
    padding: 0 clamp(0px, 5.3333333333vw, 40px) clamp(0px, 2vw, 15px);
    width: clamp(0px, 84vw, 630px)
}

#ericharou #agevoice .block-agevoice+.block-agevoice {
    margin-top: clamp(0px, 5.3333333333vw, 40px)
}

#ericharou #agevoice .block-agevoice h3 {
    width: clamp(0px, 38.4vw, 288px)
}

#ericharou #agevoice .block-agevoice p {
    letter-spacing: .025em;
    line-height: 1.7857142857;
    margin: clamp(-25px, -3.3333333333vw, 0px) 0 clamp(0px, 3.3333333333vw, 25px);
    text-align: justify
}

#ericharou #agevoice .block-agevoice p span {
    background: linear-gradient(#0000 95%, #e84383 0);
    display: inline;
    padding: 0 1px
}

#ericharou #agevoice .block-agevoice.agevoice30 {
    background: #fce9e6
}

#ericharou #agevoice .block-agevoice.agevoice30 figure {
    width: clamp(0px, 72.6666666667vw, 545px)
}

#ericharou #agevoice .block-agevoice.agevoice40 {
    background: #fce7f0
}

#ericharou #agevoice .block-agevoice.agevoice40 figure {
    width: clamp(0px, 73.4666666667vw, 551px)
}

#ericharou #agevoice .block-agevoice.agevoice50 {
    background: #fae0e8
}

#ericharou #agevoice .block-agevoice.agevoice50 h3 {
    width: clamp(0px, 52vw, 390px)
}

#ericharou #agevoice .block-agevoice.agevoice50 figure {
    width: clamp(0px, 72.5333333333vw, 544px)
}

#ericharou #faq {
    background: #fdecf3;
    padding-block: clamp(0px, 10.6666666667vw, 80px);
    padding-bottom: clamp(0px, 24vw, 180px)
}

#ericharou #faq .inner {
    background: #fff;
    border: clamp(0px, .9333333333vw, 7px) solid #d2c09b;
    border-radius: clamp(0px, 4vw, 30px);
    padding: clamp(0px, 8vw, 60px) clamp(0px, 4vw, 30px) 0
}

#ericharou #faq h2 {
    margin-bottom: clamp(0px, 8.6666666667vw, 65px)
}

#ericharou #faq h2 img {
    display: block;
    width: clamp(0px, 26.2666666667vw, 197px)
}

#ericharou #faq h2 span {
    align-items: center;
    display: flex;
    gap: clamp(0px, 2.6666666667vw, 20px);
    justify-content: center;
    position: relative
}

#ericharou #faq h2 span:after,
#ericharou #faq h2 span:before {
    background: #a58237;
    content: "";
    display: block;
    height: 1px;
    width: clamp(0px, 10.9333333333vw, 82px)
}

#ericharou #faq .cont {
    border-top: 1px solid #d2c09b;
    padding-block: clamp(0px, 6vw, 45px)
}

#ericharou #faq .cont .q {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-left: clamp(0px, .6666666667vw, 5px)
}

#ericharou #faq .cont .q img {
    display: block
}

#ericharou #faq .cont .q:after {
    background: url(../img/icn_faq_plus.webp) no-repeat top/100%;
    content: "";
    display: block;
    flex-shrink: 0;
    height: clamp(0px, 4vw, 30px);
    margin-left: auto;
    transition: transform .3s ease;
    width: clamp(0px, 4vw, 30px)
}

.no-webp #ericharou #faq .cont .q:after {
    background-image: url(../img/icn_faq_plus.png)
}

#ericharou #faq .cont .q.on:after {
    background: url(../img/icn_faq_minus.webp) no-repeat top/100%;
    transform: rotate(180deg)
}

.no-webp #ericharou #faq .cont .q.on:after {
    background-image: url(../img/icn_faq_minus.png)
}

#ericharou #faq .cont .q.q01 img {
    width: clamp(0px, 45.6vw, 342px)
}

#ericharou #faq .cont .q.q02 img {
    width: clamp(0px, 45.4666666667vw, 341px)
}

#ericharou #faq .cont .q.q03 img {
    width: clamp(0px, 51.8666666667vw, 389px)
}

#ericharou #faq .cont .a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease-out
}

#ericharou #faq .cont .a.on {
    max-height: unset
}

#ericharou #faq .cont .a>div {
    letter-spacing: .025em;
    padding-top: clamp(0px, 5.3333333333vw, 40px)
}

#ericharou #faq .cont .a a {
    color: #e84383;
    text-decoration: underline
}

#ericharou #campaign {
    position: relative
}

#ericharou #campaign:before {
    background: url(../img/campaign/campaign_bg.png) no-repeat bottom/100%;
    bottom: calc(100% - clamp(0px, .6666666667vw, 5px));
    content: "";
    display: block;
    height: clamp(0px, 14vw, 105px);
    left: 0;
    position: absolute;
    width: 100%
}

#ericharou #campaign .inner {
    position: relative
}

#ericharou #campaign h2 {
    margin: 0 auto clamp(0px, 2vw, 15px);
    transform: translateY(clamp(-15px, -2vw, 0px));
    width: clamp(0px, 60.5333333333vw, 454px)
}

#ericharou #campaign .block-cart {
    padding-top: 0
}

#ericharou #campaign .block-cart .item {
    border-radius: 0 0 clamp(0px, 4vw, 30px) clamp(0px, 4vw, 30px);
    margin-top: 0
}

#ericharou #campaign .block-cart .item+.item-read {
    margin-top: clamp(0px, 10.6666666667vw, 80px)
}

#ericharou #campaign .block-cart .item .item-detail .name {
    color: #333
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap {
    margin-top: clamp(0px, 2.6666666667vw, 20px)
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap .normal,
#ericharou #campaign .block-cart .item .item-detail .price-wrap .num {
    font-size: clamp(0px, 3.2vw, 24px)
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap .special {
    margin-bottom: 0
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap .special:before {
    display: none
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap .special .txt {
    font-size: clamp(0px, 3.0666666667vw, 23px);
    line-height: 1.2173913043
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap .special .price {
    font-size: clamp(0px, 5.3333333333vw, 40px);
    margin-top: clamp(-8px, -1.0666666667vw, 0px)
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap .special .price em {
    font-size: clamp(0px, 10.8vw, 81px);
    letter-spacing: -.04em
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap .special .tax {
    padding-left: clamp(0px, 12.6666666667vw, 95px)
}

#ericharou #campaign .block-cart .item .item-detail .price-wrap .special .point {
    left: calc(100% + clamp(0px, 2vw, 15px));
    top: clamp(0px, 2.6666666667vw, 20px)
}

#ericharou #campaign .block-cart .item .btn-cart {
    margin-left: clamp(0px, 4vw, 30px);
    margin-top: clamp(0px, 1.8666666667vw, 14px);
    width: clamp(0px, 78.9333333333vw, 592px)
}

#ericharou #campaign .block-cart .item01 .item-image {
    align-items: flex-start;
    gap: clamp(0px, 8.6666666667vw, 65px);
    margin-bottom: 0;
    padding-bottom: clamp(0px, 5.3333333333vw, 40px);
    position: relative
}

#ericharou #campaign .block-cart .item01 .item-image .image01 {
    margin-top: clamp(0px, 4vw, 30px)
}

#ericharou #campaign .block-cart .item01 .item-image .image02 {
    width: clamp(0px, 44vw, 330px)
}

#ericharou #campaign .block-cart .item01 .item-detail .price-wrap .special .price em {
    letter-spacing: -.075em
}

#ericharou #campaign .block-cart .item01 .item-detail .detail-list {
    margin-left: clamp(0px, 16vw, 120px)
}

/* flw btn */
@media screen and (min-width: 900px) {
    aside.flw_btn{
        position: absolute;
        right: -26px;
    }
    .flw_btn .btn_fix_top, .flw_btn .btn_fix_all{
        position: fixed;
        z-index: 2;
        display: none;
        bottom: 134px;
        text-align: center;
    }
    .flw_btn .btn_fix_top{
        bottom: 162px;
    }
    .flw_btn .btn_fix_all{
        bottom: 30px;
    }
    .flw_btn .btn_fix_top a, .flw_btn .btn_fix_all a{
        position: relative;
        letter-spacing: 0.05em;
        text-decoration: none;
        width: 100%;
        display: flex;
        text-align: center;
        margin: 0 auto;
        align-items: center;
        vertical-align: middle;
        justify-content: center;
        box-sizing: border-box;
        font-family: dnp-shuei-mgothic-std, sans-serif !important;
        border-radius: 50%;
        width: 120px;
        height: 120px;
        font-size: 19px;
        line-height: 1;
        font-weight: 500;
    }
    .flw_btn .btn_fix_top a{
        color: #5f91cc;
        font-size: 1.6rem;
        background: #fff;
        border: 2px solid #f07ba9;
        padding: 20px 0 20px;
    }
    .flw_btn .btn_fix_top a i, .flw_btn .btn_fix_all a i{
        font-family: "Font Awesome 5 Free";
        font-size: 21px;
        position: absolute;
        right: 0;
        left: 0;
    }
    .flw_btn .btn_fix_top a i{
        top: 28px;
    }
    .flw_btn .btn_fix_top .fa-chevron-up:before, .flw_btn .btn_fix_all .fa-chevron-down:before{
        display: inline-block;
        color: #5f91cc;
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
        font-style: normal;
    }
    .flw_btn .btn_fix_top .fa-chevron-up:before, .flw_btn .btn_fix_all .fa-chevron-down:before{
        display: inline-block;
        color: #f07ba9;
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
        font-style: normal;
    }
    .flw_btn .btn_fix_all .fa-chevron-down:before{
    color: #fff;
    }
    .flw_btn .btn_fix_all a{
        color: #fff !important;
        background: #f07ba9;
        padding: 0rem 0.5rem 0.5rem;
        font-size: 17px;
        line-height: 1.3;
    }
    .flw_btn .btn_fix_all a i{
        bottom: 12px;
    }
    }

/* flw btn */
@media screen and (max-width: 767px) {
    aside.flw_btn {
        position: absolute;
        z-index: 10;
        right: 25%;
    }
    .flw_btn .btn_fix_top, .flw_btn .btn_fix_all{
        position: fixed;
        z-index: 2;
        display: none;
        bottom: 134px;
        text-align: center;
    }
    .flw_btn .btn_fix_top{
        bottom: 26vw;
    }
    .flw_btn .btn_fix_top a, .flw_btn .btn_fix_all a{
        display: flex;
        text-align: center;
        margin: 0 auto;
        align-items: center;
        vertical-align: middle;
        justify-content: center;
        box-sizing: border-box;
        font-family: dnp-shuei-mgothic-std, sans-serif !important;
        border-radius: 50%;
        position: relative;
        letter-spacing: 0.05em;
        text-decoration: none;
        height: 21.5vw;
        width: 21.5vw;
        font-size: 3.2vw;
        font-weight: 500;
    }
    .flw_btn .btn_fix_top a{
        background: #fff;
        border: 2px solid #f07ba9;
        color: #5f91cc;
        padding: 10% 0 5%;
    }
    .flw_btn .btn_fix_top a i, .flw_btn .btn_fix_all a i{
        font-family: "Font Awesome 5 Free";
        position: absolute;
        right: 0;
        left: 0;
        font-size: 4.1vw;
    }
    .flw_btn .btn_fix_all a i{
        bottom: 13%;
    }
    .flw_btn .btn_fix_top a i{
        top: 27%;
    }
    .flw_btn .btn_fix_top .fa-chevron-up:before, .flw_btn .btn_fix_all .fa-chevron-down:before{
        display: inline-block;
        color: #f07ba9;
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
        font-style: normal;
    }
    .flw_btn .btn_fix_all .fa-chevron-down:before{
        color: #fff;
    }
    .flw_btn .btn_fix_all{
        bottom: 3vw;
        position: fixed;
        z-index: 2;
        display: none;
        bottom: 3vw;
        text-align: center;
    }
    .flw_btn .btn_fix_all a{
        color: #fff !important;
        background: #f07ba9;
        padding: 5% 0 13%;
        line-height: 1.3;
    }
    
      }