.main.renew {
    margin-top: 130px;
    margin-top: calc(127px + min(5.3333333333vw, 62px));
    background: linear-gradient(90deg, #FCF3F6, #FAD2DA);
    background-image: url(../images/common/bg_texture_pc.webp);
    background-repeat: repeat-y;
    background-size: 100% auto;
    position: relative;
}

.main.renew::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 100%;
    height: min(12.5vw, 150px);
    background-color: #fff;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}

.re-body {
    font-family: "Zen Maru Gothic", sans-serif;
}

.re-body :target {
    scroll-margin-top: 200px;
}


.renew .block-breadcrumb,
.renew .block-contents {
    background: none;
}

@media only screen and (max-width: 767px) {
    .main.renew {
        margin-top: 100px;
        background: #fcf3f7;
        background-image: url(../images/common/bg_texture_sp.webp);
        background-repeat: repeat-y;
        background-size: 100% auto;
    }

    .re-body :target {
        scroll-margin-top: 100px;
    }

}

a {
    transition: .3s opacity;
}

a:hover {
    opacity: .7;
}

.md-show {
    display: none
}

@media only screen and (max-width: 767px) {
    .md-show {
        display: block
    }
}

@media only screen and (max-width: 767px) {
    .md-none {
        display: none
    }
}

/* ぱんくず */

.renew .breadcrumb {
    padding: min(1.3333333333vw, 16px) 0
}

@media only screen and (max-width: 767px) {
    .renew .breadcrumb {
        padding: 0.75rem 0 0.6875rem
    }
}

.renew .breadcrumb__inner {
    max-width: min(102.6666666667vw, 1232px);
    width: 100%;
    margin: 0 auto;
    padding: 0 min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .renew .breadcrumb__inner {
        max-width: none;
        padding: 0 0.625rem;
    }
}

.renew .breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    column-gap: min(0.4166666666666667vw, 5px)
}

@media only screen and (max-width: 767px) {
    .renew .breadcrumb__list {
        -moz-column-gap: 0.5rem;
        column-gap: 0.3125rem;
        row-gap: 0.3125rem;
    }
}

.renew .breadcrumb li:before {
    margin-right: 5px;
    margin-bottom: 3px;
}

.renew .breadcrumb__item {
    font-size: min(1vw, 12px);
    font-weight: 500;
    display: flex;
}

@media only screen and (max-width: 767px) {
    .renew .breadcrumb__item {
        font-size: 0.75rem
    }

    .renew .breadcrumb li:before {
        margin-right: 0.3125rem;
    }
}

.renew .breadcrumb__item a {
    text-decoration: none;
    color: #000;
}

.renew .breadcrumb li a {
    display: block;
}


/* 目次 */

.sub-menu {
    padding: min(2vw, 24px) 0 min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .sub-menu {
        padding: 1.375rem 0 2.5rem
    }
}

.sub-menu__contents {
    max-width: min(41.6666666667vw, 500px);
    width: 100%;
    margin: 0 auto;
    background-color: #f1ebe2;
    border: min(0.5vw, 6px) solid #b28247;
    padding: min(1.5vw, 18px) min(1.25vw, 15px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .sub-menu__contents {
        max-width: none;
        border-width: 0.375rem;
        padding: 1.125rem 0.875rem
    }
}

.sub-menu__contents::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/img-echan.webp);
    width: min(6.5833333333vw, 79px);
    height: min(6.5833333333vw, 79px);
    bottom: min(-2.25vw, -27px);
    right: min(-1.3333333333vw, -16px)
}

@media only screen and (max-width: 767px) {
    .sub-menu__contents::after {
        width: 4.9375rem;
        height: 4.9375rem;
        bottom: -1.6875rem;
        right: -1rem
    }
}

.sub-menu__title {
    text-align: center;
    font-size: min(1.1666666667vw, 14px);
    font-weight: bold;
    line-height: 1.6;
    color: #eb5757
}

@media only screen and (max-width: 767px) {
    .sub-menu__title {
        font-size: 0.75rem;
        text-align: left
    }
}

.sub-menu__body {
    margin-top: min(1.25vw, 15px);
    display: flex;
    -moz-column-gap: min(2.0833333333vw, 25px);
    column-gap: min(2.0833333333vw, 25px)
}

@media only screen and (max-width: 767px) {
    .sub-menu__body {
        margin-top: 0.1875rem;
        flex-direction: column;
        row-gap: 0.125rem
    }
}

.sub-menu__wrap {
    width: 100%
}

.sub-menu__list {
    padding-left: min(1.25vw, 15px)
}

@media only screen and (max-width: 767px) {
    .sub-menu__list {
        padding-left: 0.9375rem
    }
}

.sub-menu__item>a {
    font-size: min(1.25vw, 15px);
    font-weight: bold;
    color: #222;
    position: relative;
    position: relative;
    text-decoration: underline;
    text-underline-offset: min(0.5vw, 6px);
    text-decoration-color: #828282;
    text-decoration-thickness: min(0.0833333333vw, 1px);
}

@media only screen and (max-width: 767px) {
    .sub-menu__item>a {
        font-size: 0.875rem;
        font-weight: 500;
        text-underline-offset: 0.25rem;
        text-decoration-thickness: 0.0625rem
    }
}

.sub-menu__item>a::before {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-mark.svg);
    width: min(0.6666666667vw, 8px);
    height: min(0.5833333333vw, 7px);
    left: min(-0.8333333333333334vw, -10px);
    top: min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .sub-menu__item>a::before {
        width: 0.625rem;
        height: 0.55rem;
        left: -0.875rem;
        top: 0.4375rem
    }
}

.sub-menu__item:not(:first-child) {
    margin-top: min(0.4166666667vw, 5px)
}

@media only screen and (max-width: 767px) {
    .sub-menu__item:not(:first-child) {
        margin-top: 0.1875rem
    }
}

.sub-menu__list__sub {
    padding-left: min(1.0833333333vw, 13px);
    margin-top: min(0.5vw, 6px)
}

@media only screen and (max-width: 767px) {
    .sub-menu__list__sub {
        padding-left: 0.875rem;
        margin-top: 0.3125rem
    }
}

.sub-menu__list__sub a {
    text-decoration: none;
    display: block;
    color: #828282;
    font-size: min(1vw, 12px);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

@media only screen and (max-width: 767px) {
    .sub-menu__list__sub a {
        font-size: 0.75rem
    }
}

.sub-menu.index3 .sub-menu__wrap:nth-child(1) {
    width: 90%;
}

@media only screen and (max-width: 767px) {
    .sub-menu.index3 .sub-menu__wrap:nth-child(1) {
        width: 100%;
    }
}

.contents__contents {
    padding: min(2.6666666667vw, 32px);
    background-color: #fff;
    border-radius: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .contents__contents {
        padding: 1.25rem;
        background-color: #fff;
        border-radius: 1rem
    }
}


.contents-point {
    position: relative;
    background-color: #fff
}

.contents-point::before,
.contents-point::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: min(0.6666666667vw, 8px);
    height: min(0.6666666667vw, 8px);
    border-radius: 50%;
    background-color: #ec75a2;
    top: min(3.5vw, 42px)
}

@media only screen and (max-width: 767px) {

    .contents-point::before,
    .contents-point::after {
        width: 0.5rem;
        height: 0.5rem;
        top: 0.625rem
    }
}

.contents-point::before {
    left: min(3.5vw, 42px)
}

@media only screen and (max-width: 767px) {
    .contents-point::before {
        left: 0.75rem
    }
}

.contents-point::after {
    right: min(3.5vw, 42px)
}

@media only screen and (max-width: 767px) {
    .contents-point::after {
        right: 0.75rem
    }
}

.contents-point.bg-none {
    background-color: rgba(0, 0, 0, 0)
}


.co-heading {
    background: linear-gradient(90deg, #f2c7d7, #ec75a2);
    padding: min(1vw, 12px) 0;
    margin-bottom: min(3.3333333333vw, 40px);
    overflow: hidden
}

@media only screen and (max-width: 767px) {
    .co-heading {
        padding: 0.75rem 0;
        margin-bottom: 1.5rem
    }
}

.co-heading .co-heading__inner {
    max-width: min(94.6666666667vw, 1136px);
    width: 100%;
    padding: 0 min(1.6666666667vw, 20px);
    margin: 0 auto;
    position: relative
}

@media only screen and (max-width: 767px) {
    .co-heading .co-heading__inner {
        max-width: none;
        padding: 0 1.4375rem
    }
}

.co-heading .co-heading__inner::before {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-echan2.svg);
    width: min(4.8333333333vw, 58px);
    height: min(5.75vw, 69px);
    left: min(1.6666666667vw, 20px);
    bottom: min(-0.8333333333vw, -10px)
}

@media only screen and (max-width: 767px) {
    .co-heading .co-heading__inner::before {
        width: 3.625rem;
        height: 4.3125rem;
        left: 1.4375rem;
        bottom: -2rem
    }
}

@media only screen and (max-width: 390px) {
    .co-heading .co-heading__inner::before {
        width: 14.8717948718vw;
        height: 17.6923076923vw;
        left: 2.5641025641vw
    }
}

.co-heading .co-heading__text {
    text-align: center;
    font-size: min(3vw, 36px);
    font-weight: bold;
    line-height: 1.35
}

@media only screen and (max-width: 767px) {
    .co-heading .co-heading__text {
        font-size: 1.5rem;
        line-height: 1.3
    }
}


.co-text {
    font-size: min(1.3333333333vw, 16px);
    font-weight: 500;
    color: #222;
    line-height: 1.8;
    margin: 0
}

@media only screen and (max-width: 767px) {
    .co-text {
        font-size: 0.875rem;
        line-height: 1.9
    }
}

.co-text.fz14 {
    font-size: min(1.1666666667vw, 14px);
    line-height: 1.95
}

@media only screen and (max-width: 767px) {
    .co-text.fz14 {
        font-size: 0.875rem
    }
}

.co-text.bold {
    font-weight: bold
}

.color-pink {
    color: #ec75a2
}


.co-btn {
    margin-top: min(2.3333333333333335vw, 28px)
}

@media only screen and (max-width: 767px) {
    .co-btn {
        margin-top: 1.875rem
    }
}

.co-btn a {
    display: flex;
    -moz-column-gap: min(1.3333333333vw, 16px);
    column-gap: min(1.3333333333vw, 16px);
    align-items: center;
    justify-content: center;
    min-width: min(26.6666666667vw, 320px);
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto;
    padding: min(1.5416666667vw, 18.5px) min(0.8333333333vw, 10px);
    text-decoration: none;
    color: #fff;
    font-size: min(1.8333333333vw, 22px);
    font-weight: bold;
    line-height: 1.4;
    background-color: #ec75a2;
    border-radius: min(8.3333333333vw, 100px);
    box-shadow: 0 min(0.1666666667vw, 2px) min(0.5vw, 6px) rgba(0, 0, 0, .25)
}

@media only screen and (max-width: 767px) {
    .co-btn a {
        min-width: initial;
        max-width: 21.5625rem;
        width: 100%;
        font-size: 1.125rem;
        padding: 1.65625rem 0.625rem;
        border-radius: 6.25rem;
        box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, .25);
        position: relative
    }
}

@media only screen and (max-width: 767px) {
    .co-btn a::after {
        position: absolute;
        content: "";
        display: inline-block;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 100%;
        background-image: url(../images/common/icon-btn-arrow.svg);
        width: 0.5625rem;
        height: 1.25rem;
        right: 1rem;
        top: 50%;
        transform: translateY(-50%)
    }
}

.co-btn a img {
    width: min(0.75vw, 9px);
    height: auto
}

@media only screen and (max-width: 767px) {
    .co-btn a img {
        display: none
    }
}

.co-btn.co-btn--white a {
    background-color: #fff;
    color: #ec75a2
}


.sec-title {
    margin-bottom: min(3.3333333333333335vw, 40px);
    text-align: center
}

@media only screen and (max-width: 767px) {
    .sec-title {
        margin-bottom: 1.875rem
    }
}

.sec-title_text {
    font-size: min(3vw, 36px);
    font-weight: bold;
    color: #222;
    padding-bottom: min(0.3333333333vw, 4px)
}

@media only screen and (max-width: 767px) {
    .sec-title_text {
        font-size: 1.75rem;
        padding-bottom: 0.25rem
    }
}

.sec-title_text span {
    background-image: radial-gradient(circle, #EC75A2 min(0.1666666667vw, 2px), transparent min(0.1666666667vw, 2px));
    background-size: min(0.6666666667vw, 8px) min(0.3333333333vw, 4px);
    background-repeat: repeat-x;
    background-position: left bottom;
    padding-bottom: min(0.4166666666666667vw, 5px);
}

@media only screen and (max-width: 767px) {
    .sec-title_text span {
        /* background-image: radial-gradient(circle, #EC75A2 0.125rem, transparent 0.125rem); */
        background-image: linear-gradient(to right, #EC75A2 0.125rem, transparent 0.125rem);
        background-size: 0.25rem 0.15625rem;
        padding-bottom: 0.3125rem;
    }
}

.sec-title__hukidashi {
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    background-color: #fff;
    border-radius: min(8.3333333333vw, 100px);
    border: min(0.0833333333vw, 1px) solid #828282;
    line-height: 1;
    padding: min(0.6666666667vw, 8px) min(0.8333333333vw, 10px) min(0.9166666667vw, 11px);
    display: inline-block;
    margin-bottom: min(1.1666666667vw, 14px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .sec-title__hukidashi {
        font-size: 0.875rem;
        font-weight: 500;
        border-radius: 6.25rem;
        border: 0.0625rem solid #828282;
        padding: 0.4375rem 0.625rem 0.5625rem;
        margin-bottom: 0.875rem
    }
}

.sec-title__hukidashi::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-hukidashi.svg);
    width: min(1vw, 12px);
    height: min(1.6666666667vw, 20px);
    bottom: -39%;
    left: 50%;
    transform: translateX(-50%)
}

@media only screen and (max-width: 767px) {
    .sec-title__hukidashi::after {
        width: 0.75rem;
        height: 1.25rem;
        bottom: -47%
    }
}



/* 共通--inner-- */

.inner {
    max-width: min(95.1666666667vw, 1142px);
    width: 100%;
    margin: 0 auto;
    padding: 0 min(2.0833333333vw, 25px)
}

@media only screen and (max-width: 767px) {
    .inner {
        max-width: none;
        padding: 0 1.4375rem
    }
}

.inner.sub {
    max-width: min(76.1666666667vw, 914px)
}

@media only screen and (max-width: 767px) {
    .inner.sub {
        max-width: none
    }
}

.box-shadow {
    box-shadow: 0 0 min(1vw, 12px) rgba(236, 117, 162, .16)
}

@media only screen and (max-width: 767px) {
    .box-shadow {
        box-shadow: 0 0 0.75rem rgba(236, 117, 162, .16)
    }
}


.contents {
    margin-top: min(2.5vw, 30px)
}

@media only screen and (max-width: 767px) {
    .contents {
        margin-top: 1.25rem
    }
}

.contents__container {
    padding: min(2.6666666667vw, 32px);
    background-color: #fff;
    border-radius: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .contents__container {
        display: contents
    }
}

@media only screen and (max-width: 767px) {
    .contents__wrap {
        padding: 1.03125rem 1.5rem;
        border: 0.0625rem solid #ec75a2;
        border-radius: 2rem
    }
}




.contents__lead {
    text-align: center;
    background-color: #ec75a2;
    color: #fff;
    font-size: min(1.6666666667vw, 20px);
    font-weight: bold;
    line-height: 1.3;
    padding: min(0.8333333333vw, 10px);
    border-radius: min(4.1666666667vw, 50px) min(0.8333333333vw, 10px) min(4.1666666667vw, 50px) min(0.8333333333vw, 10px);
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width: 767px) {
    .contents__lead {
        background-color: rgba(0, 0, 0, 0);
        color: #ec75a2;
        font-size: 1.125rem;
        line-height: 1.4;
        border-radius: 0;
        text-align: left;
        padding: 0;
        justify-content: flex-start
    }
}

.contents__lead span {
    font-size: min(1.1666666667vw, 14px);
    font-weight: bold;
    display: inline-block;
    padding: 0 min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .contents__lead span {
        font-size: 1.125rem;
        padding: 0 0.3125rem
    }
}


.contents__sub__lead {
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    color: #ec75a2;
    margin-bottom: min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .contents__sub__lead {
        font-size: 0.875rem;
        line-height: 1.9;
        margin-bottom: 0.6875rem
    }
}

.contents__body {
    margin-top: min(2vw, 24px);
}

@media only screen and (max-width: 767px) {
    .contents__body {
        margin-top: 0.625rem;
        margin-top: 0;
        display: none;
        padding-top: 0.625rem;
    }
}

.contents__body p {
    margin: 0
}


.contents__inner__flex3 {
    margin-top: min(2vw, 24px);
    display: flex;
    -moz-column-gap: min(2vw, 24px);
    column-gap: min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex3 {
        flex-direction: column;
        row-gap: 1rem;
        margin-top: 1rem
    }
}

.contents__flex3__item {
    width: 100%;
    border-radius: min(1.3333333333vw, 16px);
    background-color: #fffaf4;
    padding: min(1.795vw, 21.54px);
    display: flex;
    justify-content: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .contents__flex3__item {
        border-radius: 1rem;
        padding: 1.1025rem
    }
}

.contents__flex3__item .contents__flex3__img {
    max-width: min(26.3291666667vw, 315.95px);
    width: 100%
}

@media only screen and (max-width: 767px) {
    .contents__flex3__item .contents__flex3__img {
        max-width: 16.17rem
    }
}

.contents__flex3__item img {
    width: 100%;
    height: auto
}

.contents__flex3__item:first-child {
    padding: min(1.1341666667vw, 13.61px)
}

@media only screen and (max-width: 767px) {
    .contents__flex3__item:first-child {
        padding: 0.850625rem
    }
}

.contents__flex3__item:first-child .contents__flex3__img {
    max-width: min(18.4975vw, 221.97px);
    width: 100%
}

@media only screen and (max-width: 767px) {
    .contents__flex3__item:first-child .contents__flex3__img {
        max-width: 13.873125rem
    }
}

.contents__close {
    display: none
}

@media only screen and (max-width: 767px) {
    .contents__close {
        display: block;
        margin-top: 1rem;
        border-radius: 6.25rem;
        border: 0.09375rem solid #f2c7d7;
        text-align: center;
        font-size: 0.875rem;
        line-height: 1.3;
        color: #ec75a2;
        padding: 0.4375rem
    }
}



.sp-toggle {
    pointer-events: none
}

@media only screen and (max-width: 767px) {
    .sp-toggle {
        position: relative;
        pointer-events: all;
        padding-right: 1.25rem
    }

    .sp-toggle::before,
    .sp-toggle::after {
        position: absolute;
        content: "";
        display: inline-block;
        width: 0.8125rem;
        height: 0.25rem;
        top: 50%;
        right: 0;
        transform: translateY(-50%) scaleY(0.5);
        background-color: #ec75a2
    }

    .sp-toggle::after {
        transform: translateY(-50%) rotate(90deg) scaleY(0.5);
        transition: .3s opacity
    }
}

@media only screen and (max-width: 767px) {
    .sp-toggle.is-active::after {
        opacity: 0
    }
}

.common-contents__body:not(:first-child) {
    margin-top: min(6.6666666667vw, 80px)
}

@media only screen and (max-width: 767px) {
    .common-contents__body:not(:first-child) {
        margin-top: 2.5rem
    }
}


.common-page-bottom {
    margin-top: min(3vw, 36px)
}

@media only screen and (max-width: 767px) {
    .common-page-bottom {
        margin-top: 2.0625rem
    }
}

.common-page-bottom .co-column01 .sec-title__hukidashi {
    display: none
}

@media only screen and (max-width: 767px) {

    .common-page-bottom .co-column01,
    .common-page-bottom .co-column02 {
        padding: 0.9375rem 0
    }
}

@media only screen and (max-width: 767px) {
    .common-page-bottom .co-knowledge {
        padding: 0.9375rem 0 1.875rem
    }
}

.detail-column .common-page-bottom .co-column01,
.detail-column .common-page-bottom .co-column02,
.detail-column .common-page-bottom .co-knowledge {
    display: none;
}

.contents__main__image {
    margin-bottom: min(2vw, 24px);
    display: flex;
    justify-content: center;
    width: 100%
}

@media only screen and (max-width: 767px) {
    .contents__main__image {
        margin-bottom: 1rem;
    }
}

.contents__main__image img {
    width: 100%;
    height: auto
}

.contents__main__image.contents-image-middle {
    margin: min(1.1666666667vw, 14px) 0
}



.contents__inner__flex {
    display: flex;
    margin-top: min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex {
        margin-top: 0.6875rem;
        flex-direction: column-reverse;
        row-gap: 0.6875rem
    }
}


.contents__inner__image {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.contents__inner__flex.senior-illust1 .contents__inner__image {
    max-width: min(20.8333333333vw, 250px);
    width: 100%
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.senior-illust1 .contents__inner__image {
        max-width: none
    }
}

.contents__inner__flex.senior-illust1 .contents__inner__image img {
    max-width: min(16.75vw, 201px);
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.senior-illust1 .contents__inner__image img {
        max-width: 12.5625rem
    }
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust1 {
        margin-top: 1rem;
        row-gap: 1rem
    }
}

.contents__inner__flex.preg-illust1 .contents__inner__image {
    max-width: min(16.6666666667vw, 200px);
    width: 100%;
    justify-content: flex-end
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust1 .contents__inner__image {
        max-width: none;
        justify-content: center
    }
}

.contents__inner__flex.preg-illust1 .contents__inner__image img {
    max-width: min(13.1666666667vw, 158px);
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust1 .contents__inner__image img {
        max-width: 9.875rem
    }
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust2 {
        margin-top: 1rem;
        row-gap: 1rem
    }
}

.contents__inner__flex.preg-illust2 .contents__inner__image {
    max-width: min(16.6666666667vw, 200px);
    width: 100%
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust2 .contents__inner__image {
        max-width: none
    }
}

.contents__inner__flex.preg-illust2 .contents__inner__image img {
    max-width: min(14.75vw, 177px);
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust2 .contents__inner__image img {
        max-width: 11.0625rem
    }
}

.contents__sec__title__sp {
    display: none
}

@media only screen and (max-width: 767px) {
    .contents__sec__title__sp {
        display: block;
        font-size: 1.125rem;
        font-weight: bold;
        color: #ec75a2;
        text-align: center
    }
}


.contents__sec {
    margin-top: min(2vw, 24px);
    background-color: #fcf1f5;
    border-radius: min(1.3333333333vw, 16px);
    padding: min(1.6666666667vw, 20px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .contents__sec {
        margin-top: 2.5rem;
        padding: 1.25rem;
        border-radius: 1rem;
        background-color: #fff;
        box-shadow: 0 0 0.75rem rgba(236, 117, 162, .1)
    }
}

.contents__sec::before,
.contents__sec::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: min(0.6666666667vw, 8px);
    height: min(0.6666666667vw, 8px);
    border-radius: 50%;
    background-color: #ec75a2;
    top: min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {

    .contents__sec::before,
    .contents__sec::after {
        width: 0.5rem;
        height: 0.5rem;
        top: 0.625rem
    }
}

.contents__sec::before {
    left: min(1.25vw, 15px)
}

@media only screen and (max-width: 767px) {
    .contents__sec::before {
        left: 0.75rem
    }
}

.contents__sec::after {
    right: min(1.25vw, 15px)
}

@media only screen and (max-width: 767px) {
    .contents__sec::after {
        right: 0.75rem
    }
}

.contents__sec__wrap+.contents__sec__wrap {
    margin-top: min(2.3333333333vw, 28px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__wrap+.contents__sec__wrap {
        margin-top: 0.625rem
    }
}



@media only screen and (max-width: 767px) {
    .contents__sec__wrap:last-child .contents__sec__body {
        padding-bottom: 0
    }
}


.contents__sec__title {
    text-align: center;
    font-size: min(2.1666666667vw, 26px);
    font-weight: bold;
    line-height: 1.35;
    color: #222;
    margin-bottom: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__title {
        font-size: 1.5rem;
        line-height: 1.3;
        margin-bottom: 1.25rem
    }
}

.contents__sec__title span {
    background-image: radial-gradient(circle, #EC75A2 min(0.1666666667vw, 2px), transparent min(0.1666666667vw, 2px));
    background-size: min(0.6666666667vw, 8px) min(0.3333333333vw, 4px);
    background-repeat: repeat-x;
    background-position: left bottom;
    padding-bottom: min(0.5vw, 6px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__title span {
        padding-bottom: 0.25rem
    }
}

@media only screen and (max-width: 767px) {
    .contents__sec__title span {
        background-image: radial-gradient(circle, #EC75A2 0.125rem, transparent 0.125rem);
        background-image: linear-gradient(to right, #EC75A2 0.125rem, transparent 0.125rem);
        background-size: 0.5rem 0.25rem;
        background-size: 0.25rem 0.15625rem;
        display: inline-block;
    }
}

.contents__sec__title__sp {
    display: none
}

@media only screen and (max-width: 767px) {
    .contents__sec__title__sp {
        display: block;
        font-size: 1.125rem;
        font-weight: bold;
        color: #ec75a2;
        text-align: center
    }
}

.contents__sec__title__column {
    display: block;
    text-align: center;
    color: #ec75a2;
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: min(0.3333333333vw, 4px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__title__column {
        margin-bottom: 0.25rem;
        font-size: 1.125rem
    }
}


.contents__sec__subTitle {
    background-color: #f2c7d7;
    display: flex;
    justify-content: center;
    align-items: center;
    -moz-column-gap: min(1.5vw, 18px);
    column-gap: min(1.5vw, 18px);
    border-radius: min(1vw, 12px);
    font-size: min(2.1666666667vw, 26px);
    font-weight: bold;
    color: #222;
    padding: min(1.0416666667vw, 12.5px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__subTitle {
        flex-direction: column;
        align-items: flex-start;
        border-radius: 0.75rem;
        font-size: 1.125rem;
        padding: 0.5rem 1.25rem;
        line-height: 1.4
    }
}

@media only screen and (max-width: 767px) {
    .contents__sec__subTitle::before {
        content: none
    }
}

@media only screen and (max-width: 767px) {
    .contents__sec__subTitle::after {
        background-image: url(../images/common/icon-plus.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 100%;
        background-color: rgba(0, 0, 0, 0);
        width: 1.25rem;
        height: 1.25rem;
        right: 1.25rem;
        transform: translateY(-50%);
        transition: .3s background
    }
}

@media only screen and (max-width: 767px) {
    .contents__sec__subTitle.is-active::after {
        background-image: url(../images/common/icon-minus3.svg);
        transform: translateY(-50%);
        opacity: 1
    }
}

.contents__sec__subTitle span {
    font-size: min(1.5vw, 18px);
    font-weight: bold
}

@media only screen and (max-width: 767px) {
    .contents__sec__subTitle span {
        font-size: 0.875rem
    }
}

@media only screen and (max-width: 767px) {
    .contents__sec__subTitle:not(.sp-toggle) {
        text-align: center;
        align-items: center
    }
}



.contents__sec__body {
    margin-top: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__body {
        margin-top: 1rem;
        padding-bottom: 1rem;
        display: none
    }
}

@media only screen and (max-width: 767px) {
    .contents__sec__body:not(.js-sp-toggle-target) {
        display: block
    }
}

.contents__sec__lead {
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    color: #ec75a2;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .contents__sec__lead {
        font-size: 0.9375rem;
        line-height: 1.6
    }
}

.contents__sec__box {
    margin-top: min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__box {
        margin-top: 0
    }
}

.contents__sec__box.btm {
    margin-top: min(1.3333333333333335vw, 16px);
}

@media only screen and (max-width: 767px) {
    .contents__sec__box.btm {
        margin-top: 1rem;
    }
}

@media only screen and (max-width: 767px) {
    .contents__sec__box:not(:first-child) {
        margin-top: 1rem
    }
}

.contents__sec__box__gray {
    margin-top: min(2.3333333333vw, 28px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__box__gray {
        margin-top: 1rem
    }
}

.contents__sec__box__gray__box {
    background-color: #ededed;
    border-top: min(0.1666666667vw, 2px) solid #ec75a2;
    border-bottom: min(0.1666666667vw, 2px) solid #ec75a2;
    padding: min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__box__gray__box {
        border-width: 0.125rem;
        padding: 0.9375rem
    }
}

.contents__sec__box__gray__box p {
    margin: min(0.6666666667vw, 8px) 0 0 0;
    font-size: min(1.1666666667vw, 14px);
    font-weight: 500;
    line-height: 1.9
}

@media only screen and (max-width: 767px) {
    .contents__sec__box__gray__box p {
        margin-top: 0.5rem;
        font-size: 0.875rem
    }
}

.contents__sec__box__gray__box+.contents__sec__box__gray__box {
    margin-top: min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .contents__sec__box__gray__box+.contents__sec__box__gray__box {
        margin-top: 1rem
    }
}

.contents__sec__box__gray__lead {
    text-align: center;
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4
}

@media only screen and (max-width: 767px) {
    .contents__sec__box__gray__lead {
        font-size: 0.9375rem;
        line-height: 1.6
    }
}



.contents__inBox {
    border-top: min(0.0833333333vw, 1px) solid #ec75a2;
    border-bottom: min(0.0833333333vw, 1px) solid #ec75a2;
    padding: min(1.6666666667vw, 20px) 0
}

@media only screen and (max-width: 767px) {
    .contents__inBox {
        border-width: 0.0625rem;
        padding: 1.25rem 0
    }
}

.table-title {
    display: inline-block;
    font-size: min(1.25vw, 15px);
    font-weight: bold;
    line-height: 1.6;
    color: #222;
    margin-bottom: min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .table-title {
        font-size: 0.9375rem;
        margin-bottom: 0.625rem
    }
}

.table-wrap {
    display: flex;
    -moz-column-gap: min(2.6666666667vw, 32px);
    column-gap: min(2.6666666667vw, 32px)
}

@media only screen and (max-width: 767px) {
    .table-wrap {
        flex-direction: column
    }
}

.table-wrap__box {
    width: 100%
}

.table-wrap__box:not(:first-child) {
    margin-top: 0.625rem
}

.table-wrap__item {
    display: flex;
    -moz-column-gap: min(0.6666666667vw, 8px);
    column-gap: min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .table-wrap__item {
        -moz-column-gap: 0.5rem;
        column-gap: 0.5rem
    }
}

.table-wrap__item>p {
    background-color: #f2c7d7;
    font-size: min(1vw, 12px);
    font-weight: bold;
    line-height: 1.6;
    padding: min(0.6666666667vw, 8px) min(0.4166666667vw, 5px) min(0.6666666667vw, 8px) min(0.6666666667vw, 8px);
    width: 100%;
    flex-shrink: 0;
    letter-spacing: 0;
    margin: 0
}

@media only screen and (max-width: 767px) {
    .table-wrap__item>p {
        font-size: 0.75rem;
        padding: 0.5rem 0.3125rem 0.5rem 0.5rem
    }
}

.table-wrap__item>p.w86 {
    max-width: min(7.1666666667vw, 86px)
}

@media only screen and (max-width: 767px) {
    .table-wrap__item>p.w86 {
        max-width: 5.375rem
    }
}

.table-wrap__item>p.w53 {
    max-width: min(4.4166666667vw, 53px)
}

@media only screen and (max-width: 767px) {
    .table-wrap__item>p.w53 {
        max-width: 5.375rem
    }
}

.table-wrap__item:not(:first-child) {
    margin-top: min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .table-wrap__item:not(:first-child) {
        margin-top: 0.625rem
    }
}

.table-wrap__detail>div>p {
    font-size: min(1vw, 12px);
    font-weight: 500;
    line-height: 1.6;
    color: #222;
    margin: 0
}

@media only screen and (max-width: 767px) {
    .table-wrap__detail>div>p {
        font-size: 0.75rem
    }
}

.table-wrap__detail>div>p span.medium {
    font-weight: bold
}

.table-wrap__detail>div>span {
    font-size: min(1vw, 12px);
    font-weight: bold;
    line-height: 1.6;
    color: #ec75a2;
    display: block
}

@media only screen and (max-width: 767px) {
    .table-wrap__detail>div>span {
        font-size: 0.75rem
    }
}

.table-wrap__detail>div:not(:first-child) {
    margin-top: min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .table-wrap__detail>div:not(:first-child) {
        margin-top: 0.5rem
    }
}

.table-wrap__detail__box {
    background-color: #ededed;
    padding: min(0.8333333333vw, 10px);
    margin-top: min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .table-wrap__detail__box {
        padding: 0.625rem;
        margin-top: 0.5rem
    }
}

.table-wrap__detail__box>p {
    font-size: min(1vw, 12px);
    font-weight: 500;
    line-height: 1.6;
    color: #222;
    margin: 0
}

@media only screen and (max-width: 767px) {
    .table-wrap__detail__box>p {
        font-size: 0.75rem
    }
}

.table-wrap__comment {
    font-size: min(1vw, 12px);
    font-weight: 500;
    line-height: 1.6;
    color: #222;
    margin: min(0.8333333333vw, 10px) 0 0 0
}

@media only screen and (max-width: 767px) {
    .table-wrap__comment {
        font-size: 0.75rem;
        margin-top: 0.625rem
    }
}

.table-wrap__item__arrow {
    margin: min(1.25vw, 15px) 0;
    display: flex;
    justify-content: center
}

@media only screen and (max-width: 767px) {
    .table-wrap__item__arrow {
        margin: 0.625rem 0
    }
}

.table-wrap__item__arrow span {
    display: block;
    width: min(5vw, 60px);
    height: min(1.3333333333vw, 16px);
    background-color: #ec75a2;
    clip-path: polygon(50% 100%, 0 0, 100% 0)
}

@media only screen and (max-width: 767px) {
    .table-wrap__item__arrow span {
        width: 5.6875rem;
        height: 1rem
    }
}


@media only screen and (max-width: 767px) {
    .js-sp-toggle-target {
        display: none
    }
}



.co-column02 {
    padding: min(3.3333333333vw, 40px) 0
}

@media only screen and (max-width: 767px) {
    .co-column02 {
        padding: 0.9375rem 0
    }
}

.co-column02__list {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: min(2.3333333333vw, 28px);
    column-gap: min(2.3333333333vw, 28px);
    row-gap: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .co-column02__list {
        flex-direction: column;
        row-gap: 0
    }
}

.co-column02__item {
    width: calc(50% - min(1.3333333333vw, 16px))
}

@media only screen and (max-width: 767px) {
    .co-column02__item {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .co-column02__item:not(:last-child) {
        border-bottom: 0.0625rem solid #fff
    }
}

.co-column02__item a {
    display: flex;
    align-items: flex-start;
    -moz-column-gap: min(2vw, 24px);
    column-gap: min(2vw, 24px);
    padding-right: min(6.5vw, 78px);
    text-decoration: none
}

@media only screen and (max-width: 767px) {
    .co-column02__item a {
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        padding: 0.75rem 0
    }
}

.co-column02__img {
    max-width: min(18.4166666667vw, 221px);
    width: 100%;
    flex-shrink: 0
}

@media only screen and (max-width: 767px) {
    .co-column02__img {
        max-width: 7.4375rem
    }
}

.co-column02__img img {
    width: 100%;
    aspect-ratio: 221/148;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: min(1vw, 12px)
}

@media only screen and (max-width: 767px) {
    .co-column02__img img {
        aspect-ratio: 119/93;
        border-radius: 0.75rem
    }
}

@media only screen and (max-width: 767px) {
    .co-column02__info {
        flex: 1
    }
}

.co-column02__name {
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    color: #222;
    margin: 0;
    padding-top: min(4vw, 48px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .co-column02__name {
        font-size: 0.75rem;
        line-height: 1.6;
        padding: 2.125rem 0 1.3125rem
    }
}

.co-column02__name::before {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    width: min(3.3333333333vw, 40px);
    height: min(3.3333333333vw, 40px);
    top: 0;
    left: 0
}

@media only screen and (max-width: 767px) {
    .co-column02__name::before {
        width: 1.875rem;
        height: 1.875rem
    }
}

@media only screen and (max-width: 767px) {
    .co-column02__name::after {
        position: absolute;
        content: "";
        display: inline-block;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 100%;
        background-image: url(../images/common/icon-arrow-gray.svg);
        width: 1.0625rem;
        height: 1.0625rem;
        bottom: 0;
        right: 0
    }
}

.co-column02__item:nth-child(1) .co-column02__name::before {
    background-image: url(../images/common/lank1.svg)
}

.co-column02__item:nth-child(2) .co-column02__name::before {
    background-image: url(../images/common/lank2.svg)
}

.co-column02__item:nth-child(3) .co-column02__name::before {
    background-image: url(../images/common/lank3.svg)
}

.co-column02__item:nth-child(4) .co-column02__name::before {
    background-image: url(../images/common/lank4.svg)
}

.co-column02__item:nth-child(5) .co-column02__name::before {
    background-image: url(../images/common/lank5.svg)
}



.contents__inner__flex2 {
    margin-top: min(2vw, 24px);
    display: flex;
    -moz-column-gap: min(2vw, 24px);
    column-gap: min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex2 {
        flex-direction: column;
        row-gap: 0.625rem;
        margin-top: 1.625rem;
    }
}

.contents__inner__flex2 .contents__sec__subTitle {
    flex-direction: column
}

.contents__flex2__item {
    width: 100%
}

@media only screen and (max-width: 767px) {
    .contents__flex2__wrap {
        display: flex;
        flex-direction: column-reverse;
        margin-top: 1rem
    }
}

.contents__flex2__img {
    margin: min(1.3333333333vw, 16px) 0 min(0.6666666667vw, 8px);
    display: flex;
    justify-content: center
}

@media only screen and (max-width: 767px) {
    .contents__flex2__img {
        margin: 1rem 0 1rem
    }
}

.contents__flex2__img img {
    width: 100%;
    height: auto
}

.contents__flex2__text {
    margin: 0
}



.product-sec2 {
    padding: min(1.1666666667vw, 14px) 0;
    margin-top: min(0.8333333333333334vw, 10px);
}

@media only screen and (max-width: 767px) {
    .product-sec2 {
        padding: 1.25rem 0 0;
        margin-top: 0.625rem;
    }
}

.product-sec2__list {
    display: flex;
    justify-content: center;
    -moz-column-gap: min(2.6666666667vw, 32px);
    column-gap: min(2.6666666667vw, 32px);
    row-gap: min(2.6666666667vw, 32px);
    flex-wrap: wrap
}

@media only screen and (max-width: 767px) {
    .product-sec2__list {
        flex-direction: column;
        row-gap: 1.5625rem
    }
}

.product-sec2__item img {
    width: 100%;
    height: auto;
    display: block
}

.product-sec2__item:nth-last-of-type(n+2) {
    width: calc(33.3333333333% - min(1.8333333333vw, 22px))
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-last-of-type(n+2) {
        width: 100%
    }
}

.product-sec2__item:nth-last-of-type(n+2) .product-sec2__text {
    margin: min(1.3333333333vw, 16px) 0 0 0
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-last-of-type(n+2) .product-sec2__text {
        margin-top: 0
    }
}

.product-sec2__item:nth-of-type(n+4) {
    width: calc(50% - min(1.4166666667vw, 17px))
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-of-type(n+4) {
        width: 100%
    }
}

.product-sec2__item:nth-of-type(n+4) .product-sec2__text {
    margin: min(2vw, 24px) 0 0 0
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-of-type(n+4) .product-sec2__text {
        margin-top: 0
    }
}

.product-sec2__item:nth-child(1) img {
    max-width: min(11.5833333333vw, 139px)
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-child(1) img {
        max-width: 6.375rem
    }
}

.product-sec2__item:nth-child(2) img {
    max-width: min(8.4166666667vw, 101px)
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-child(2) img {
        max-width: 6.3125rem
    }
}

.product-sec2__item:nth-child(3) img {
    max-width: min(10.9166666667vw, 131px)
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-child(3) img {
        max-width: 6.125rem
    }
}

.product-sec2__item:nth-child(4) img {
    max-width: min(10.8333333333vw, 130px)
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-child(4) img {
        max-width: 5.9375rem
    }
}

.product-sec2__item:nth-child(5) img {
    max-width: min(11.25vw, 135px)
}

@media only screen and (max-width: 767px) {
    .product-sec2__item:nth-child(5) img {
        max-width: 6.5rem
    }
}

.product-sec2__lead {
    text-align: center;
    background-color: #ec75a2;
    color: #fff;
    font-size: min(1.8333333333vw, 22px);
    font-weight: bold;
    line-height: 1.3;
    padding: min(0.8333333333vw, 10px);
    margin-bottom: min(2vw, 24px);
    border-radius: min(4.1666666667vw, 50px) min(0.8333333333vw, 10px) min(4.1666666667vw, 50px) min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .product-sec2__lead {
        font-size: 1.125rem;
        line-height: 1.4;
        padding: 0.625rem;
        border-radius: 3.125rem 0.625rem 3.125rem 0.625rem;
        margin-bottom: 1rem
    }
}

@media only screen and (max-width: 767px) {
    .product-sec2__box {
        display: flex;
        align-items: flex-start;
        -moz-column-gap: 1.125rem;
        column-gap: 1.125rem
    }
}

.product-sec2__img {
    display: flex;
    justify-content: center
}

@media only screen and (max-width: 767px) {
    .product-sec2__img {
        justify-content: flex-start;
        max-width: 6.5rem;
        width: 100%;
        flex-shrink: 0
    }
}

.product-sec2__text {
    letter-spacing: .01em
}

.product-sec2__text span {
    font-size: min(1.1666666667vw, 14px);
    line-height: 1.4
}

@media only screen and (max-width: 767px) {
    .product-sec2__text span {
        font-size: 0.75rem;
        line-height: 1.6
    }
}



.product-sec3 {
    padding: min(2vw, 24px) 0 min(3vw, 36px)
}

@media only screen and (max-width: 767px) {
    .product-sec3 {
        padding: 1.25rem 0 0.4375rem
    }
}

.product-sec3__item {
    display: flex;
    -moz-column-gap: min(2.3333333333vw, 28px);
    column-gap: min(2.3333333333vw, 28px)
}

@media only screen and (max-width: 767px) {
    .product-sec3__item {
        flex-direction: column;
        row-gap: 1rem
    }
}

.product-sec3__item+.product-sec3__item {
    margin-top: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .product-sec3__item+.product-sec3__item {
        margin-top: 1rem
    }
}

.product-sec3__item .co-text {
    margin: 0
}

.product-sec3__box {
    width: 100%
}

.product-sec3__lead {
    background-color: #f2c7d7;
    text-align: center;
    border-radius: min(1vw, 12px);
    font-size: min(1.8333333333vw, 22px);
    font-weight: bold;
    line-height: 1.3;
    color: #222;
    margin-bottom: min(1.3333333333vw, 16px);
    padding: min(0.6666666667vw, 8px) 0
}

@media only screen and (max-width: 767px) {
    .product-sec3__lead {
        border-radius: 0.75rem;
        font-size: 1.125rem;
        margin-bottom: 1rem;
        padding: 0.53125rem 0
    }
}

.product-sec3__detail {
    margin-top: min(0.6666666667vw, 8px)
}

@media only screen and (max-width: 767px) {
    .product-sec3__detail {
        margin-top: 0.5rem
    }
}

.product-sec3__detail p {
    display: flex
}

.product-sec3__detail p span {
    width: 100%
}



/* TOP--header_pink-- */
.re-body #header_pink {
    display: none;
}

@media (max-width: 640px) {
    .re-body #header_pink {
        display: block;
    }
}

.header-inn .btn-menu {
    width: 4.5625rem;
    background: url(../images/common/menu-open.svg) no-repeat;
    background-position: center center;
}

@media (max-width: 640px) {
    .header-inn .btn-menu.active {
        background-image: url(../images/common/menu-close.svg);
    }

    .header-inn .header-wra {
        padding-right: 1.5rem;
    }

    .header-inn .logo {
        width: 8.75rem;
        height: 100%;
        left: 1.5rem;
    }

    .header-inn .logo a {
        display: flex;
        align-items: center;
        height: 100%;
    }

    .navism .nav-bar {
        padding-top: 0;
    }

    .navism .navi-inner {
        overflow: scroll;
    }

    .navism .nav-bar li {
        font-size: 1.125rem;
        font-weight: bold;
        padding: 0.84375rem 1.5rem;
        border-color: #BDBDBD;
    }

    .navism .nav-bar li:has(a) {
        padding: 0;
    }

    .navism .nav-bar li.link a {
        padding: 1.03rem 1.5rem;
    }

    .navism .nav-bar li.link a {
        font-size: 1.125rem;
        font-weight: bold;
        background-color: #fff;
    }

    .navism .nav-bar li a {
        color: #000;
        font-size: 0.9375rem;
        font-weight: 500;
        text-align: left;
        background-color: #FCF1F5;
        padding: 0.8125rem 2.5rem;
        position: relative;
    }


    .navism .nav-bar li a::after {
        position: absolute;
        content: "";
        display: inline-block;
        width: 0.625rem;
        aspect-ratio: 1/1;
        border-top: 0.09375rem solid #222;
        border-right: 0.09375rem solid #222;
        right: 1.5rem;
        top: 50%;
        transform: translateY(-50%) rotate(45deg)
    }

    .nav-btm {
        background-color: #F2C7D7;
    }

    .navism .co-web {
        background-image: none;
        background-color: #F2C7D7;
        padding: 1.5rem 0;
    }

    .nav-close {
        display: flex;
        justify-content: center;
        padding-bottom: 2.6875rem;
        background-color: #F2C7D7;
    }

    .nav-close img {
        width: 11.25rem;

    }

}

/* TOP--MV-- */

.mv {
    background: linear-gradient(90deg, #FCF3F6, #FAD2DA);
    padding-bottom: min(2.6666666667vw, 32px);
    overflow: hidden;
    background-image: url(../images/common/bg_texture_pc.webp);
    background-repeat: repeat-y;
    background-size: 100% auto
}

@media only screen and (max-width: 767px) {
    .mv {
        background: #fcf3f7;
        background: none;
        padding-bottom: 1.875rem;
        background-image: url(../images/common/bg_texture_sp.webp)
    }
}

.mv__inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative
}

.mv__img {
    padding: min(3.3333333333vw, 40px) 0 min(1.6666666667vw, 20px);
    position: relative;
    z-index: 2
}

@media only screen and (max-width: 767px) {
    .mv__img {
        padding: 1.1875rem 0 0;
        width: 100%;
    }
}

.mv__img img {
    max-width: min(91vw, 1092px);
    width: 100%;
    display: block;
    border-radius: min(41.6666666667vw, 500px);
    box-shadow: 0 0 min(1vw, 12px) min(0.3333333333vw, 4px) rgba(236, 117, 162, .1);
}

@media only screen and (max-width: 767px) {
    .mv__img img {
        max-width: none;
        border-radius: 31.25rem;
        box-shadow: 0 0 0.75rem 0.25rem rgba(236, 117, 162, .1);
    }
}

.mv__info {
    width: 100%
}

@media only screen and (max-width: 767px) {
    .mv__info {
        padding: 0 1.4375rem;
        margin-top: -3.375rem;
        position: relative;
        z-index: 2
    }
}

.mv__info p {
    font-size: min(0.8333333333vw, 10px);
    font-weight: 500;
    color: #828282;
    text-align: center;
    line-height: 1.4;
    margin: 0
}

@media only screen and (max-width: 767px) {
    .mv__info p {
        font-size: 0.625rem;
        text-align: left
    }
}

.mv__info p:not(:first-child) {
    margin-top: min(0.4166666667vw, 5px)
}

@media only screen and (max-width: 767px) {
    .mv__info p:not(:first-child) {
        margin-top: 0.3125rem
    }
}

.mv__info span {
    display: inline-block;
    border: min(0.0833333333vw, 1px) solid #828282;
    padding: 0 min(0.4166666667vw, 5px);
    margin-left: min(0.4166666667vw, 5px)
}

@media only screen and (max-width: 767px) {
    .mv__info span {
        border-width: 0.0625rem;
        padding: 0 0.3125rem;
        margin-left: 0.3125rem
    }
}

.mv-circle {
    position: absolute;
    aspect-ratio: 1/1;
    z-index: 2
}

.mv-circle.circle1 {
    width: min(16.75vw, 201px);
    top: min(0.8333333333vw, 10px);
    left: min(-11.6666666667vw, -140px)
}

@media only screen and (max-width: 900px) {
    .mv-circle.circle1 {
        left: min(-3.3333333333vw, -40px)
    }
}

.mv-circle.circle2 {
    width: min(3.75vw, 45px);
    top: min(3vw, 36px);
    left: min(18.3333333333vw, 220px)
}

.mv-circle.circle3 {
    width: min(11.6666666667vw, 140px);
    left: min(2vw, 24px);
    top: min(29.8333333333vw, 358px)
}

.mv-circle.circle4 {
    width: min(2.4166666667vw, 29px);
    left: min(3.1666666667vw, 38px);
    bottom: min(5.75vw, 69px)
}

.mv-circle.circle5 {
    width: min(17.8333333333vw, 214px);
    top: min(5.4166666667vw, 65px);
    right: min(-1.1666666667vw, -14px);
    z-index: 1
}

.mv-circle.circle6 {
    width: min(3.75vw, 45px);
    right: min(10.0833333333vw, 121px);
    top: min(27.25vw, 327px)
}

.mv-circle.circle7 {
    width: min(8.6666666667vw, 104px);
    right: min(7.8333333333vw, 94px);
    bottom: min(10.8333333333vw, 130px)
}

@media only screen and (max-width: 767px) {

    .mv-circle {
        opacity: .6;
    }

    .mv-circle.circle6,
    .mv-circle.circle3 {
        display: none;
    }

    .mv-circle.circle1 {
        width: 8.125rem;
        z-index: 1;
        top: -4.0625rem;
        left: -4.0625rem;
    }

    .mv-circle.circle2 {
        width: 3.75rem;
        z-index: 1;
        top: 0.625rem;
        left: 4.375rem;
    }

    .mv-circle.circle5 {
        width: 11.875rem;
        z-index: 1;
        top: -5rem;
        right: -4.375rem;
    }

    .mv-circle.circle4 {
        width: 7.5rem;
        z-index: 1;
        left: -6.25rem;
        bottom: 1.25rem;
    }

    .mv-circle.circle7 {
        width: 3.75rem;
        z-index: 1;
        right: 0;
        bottom: -1.5625rem;
    }
}


/* 共通--WEBからのご購入はこちら-- */


.co-web {
    padding: min(7.25vw, 87px) 0 min(6.0833333333vw, 73px);
    background-image: url(../images/common/co-web-bg.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    position: relative;
    z-index: 2;
}

@media only screen and (max-width: 767px) {
    .co-web {
        background-image: url(../images/common/co-web-bg-sp.webp);
        padding: 3.96875rem 0 2.96875rem
    }
}

.co-web__inner.inner {
    max-width: min(96.8333333333vw, 1162px)
}

@media only screen and (max-width: 767px) {
    .co-web__inner.inner {
        max-width: none
    }
}

.co-web__title {
    text-align: center;
    font-size: min(3vw, 36px);
    font-weight: bold;
    letter-spacing: .03em
}

@media only screen and (max-width: 767px) {
    .co-web__title {
        font-size: 1.5rem;
        letter-spacing: 0
    }
}

.co-web__title span {
    padding-right: min(4.6666666667vw, 56px);
    display: inline-block;
    position: relative
}

@media only screen and (max-width: 767px) {
    .co-web__title span {
        padding-right: 0
    }
}

.co-web__title span::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-echan.svg);
    width: min(4.0283333333vw, 48.34px);
    height: min(5.5833333333vw, 67px);
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .co-web__title span::after {
        content: none
    }
}

.co-web__contents {
    margin-top: min(0.9166666666666666vw, 11px);
    display: flex;
    justify-content: space-between;
    align-items: flex-end
}

@media only screen and (max-width: 767px) {
    .co-web__contents {
        max-width: 21.875rem;
        margin: 0 auto;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center
    }
}

.co-web__item {
    max-width: min(15.1666666667vw, 182px);
    width: 100%;
    flex-shrink: 0
}

.co-web__item img {
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .co-web__item.amazon {
        max-width: 5.375rem
    }
}

@media only screen and (max-width: 767px) {
    .co-web__item.rakuten {
        max-width: 4.8125rem;
        margin: 0 1.5rem
    }
}

@media only screen and (max-width: 767px) {
    .co-web__item.lohako {
        max-width: 5.875rem
    }
}

.co-web__item.shop {
    max-width: min(46.1666666667vw, 554px)
}

@media only screen and (max-width: 767px) {
    .co-web__item.shop {
        max-width: 21.4375rem
    }
}

.co-web.co-web--sub {
    background-image: none;
    background: linear-gradient(90deg, #f2c7d7, #a1afdc);
    padding: 0 0 min(0.75vw, 9px) 0;
    overflow: hidden
}

@media only screen and (max-width: 767px) {
    .co-web.co-web--sub {
        padding: 0;
        background: none
    }
}

.co-web.co-web--sub .sec-title {
    margin-bottom: 0
}

.co-web.co-web--sub .co-web--sub__title {
    padding: min(1vw, 12px) 0
}

@media only screen and (max-width: 767px) {
    .co-web.co-web--sub .co-web--sub__title {
        padding: 0.75rem 0;
        background: linear-gradient(90deg, #f2c7d7, #a1afdc);
        font-size: 1.5rem;
        line-height: 1.3;
        margin: 0 calc(50% - 50vw);
        width: 100vw
    }
}

.co-web.co-web--sub .co-web__title {
    color: #ec75a2
}

@media only screen and (max-width: 767px) {
    .co-web.co-web--sub .co-web__title {
        color: #222
    }
}

.co-web__body {
    padding: min(2.6666666667vw, 32px) 0;
    z-index: 1;
    position: relative
}

@media only screen and (max-width: 767px) {
    .co-web__body {
        padding: 1.5rem 0 0 0
    }
}

.co-web__body::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: 100vw;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(180deg, #fefbfc, #fcf1f8);
    z-index: -1
}

@media only screen and (max-width: 767px) {
    .co-web__body::before {
        content: none
    }
}

.co-web__body__wrap {
    display: flex;
    -moz-column-gap: min(2.6666666667vw, 32px);
    column-gap: min(2.6666666667vw, 32px);
    padding: 0 min(0.8333333333vw, 10px);
    margin-bottom: min(2.0833333333vw, 25px)
}

@media only screen and (max-width: 767px) {
    .co-web__body__wrap {
        flex-direction: column;
        row-gap: 1.5rem;
        padding: 0;
        margin-bottom: 1.5rem
    }
}

.co-web__body__text {
    width: 100%
}

.co-web__body__detail {
    width: 100%
}

.co-web__body__detail>div {
    background-color: #fff;
    border-radius: min(2.6666666667vw, 32px);
    box-shadow: 0 0 min(1vw, 12px) rgba(236, 117, 162, .1);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: min(2.4583333333vw, 29.5px) min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .co-web__body__detail>div {
        border-radius: 0;
        box-shadow: none;
        padding: 0.625rem 0;
        position: relative
    }
}

@media only screen and (max-width: 767px) {

    .co-web__body__detail>div::before,
    .co-web__body__detail>div::after {
        background-color: #fff;
        bottom: 0;
        content: "";
        position: absolute;
        top: 0;
        width: 1.5rem;
        z-index: 0
    }
}

.co-web__body__detail>div::before {
    right: 100%
}

.co-web__body__detail>div::after {
    left: 100%
}

.co-web__body__detail>div>span {
    font-size: min(1.1666666667vw, 14px);
    color: #4e63a5;
    font-weight: bold;
    line-height: 1.9
}

@media only screen and (max-width: 767px) {
    .co-web__body__detail>div>span {
        font-size: 0.875rem
    }
}

.co-web__body__detail>div p {
    text-align: center;
    margin: 0
}


/* 共通--subtitle-- */

.sub-title {
    padding: min(4.2916666667vw, 51.5px) 0;
    background-image: url(../images/common/title-bg.webp);
    background-repeat: repeat-x;
    background-size: auto min(15.25vw, 183px);
    background-position: center left;
    min-height: min(15.25vw, 183px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

@media only screen and (max-width: 767px) {
    .sub-title {
        padding: 2.625rem 0;
        background-size: auto 8rem;
        background-image: url(../images/common/title-bg-sp.webp);
        min-height: 8rem
    }
}

.sub-title h2 {
    font-size: min(4.1666666667vw, 50px);
    font-weight: bold;
    color: #222;
    text-align: center;
    line-height: 1.35
}

@media only screen and (max-width: 767px) {
    .sub-title h2 {
        font-size: 1.75rem
    }
}

.sub-title span {
    display: block;
    font-size: min(2vw, 24px);
    font-weight: bold;
    text-align: center;
    line-height: 1.4
}

@media only screen and (max-width: 767px) {
    .sub-title span {
        font-size: 1.125rem
    }
}

.sub-title.medium {
    background-image: url(../images/common/title-bg2.webp);
    filter: drop-shadow(0 0 12px rgba(236, 117, 162, .1));
    transform: translateZ(0);
}

.sub-title.medium h2 {
    font-size: min(1.8333333333vw, 22px);
    font-weight: bold
}

@media only screen and (max-width: 767px) {
    .sub-title.medium h2 {
        font-size: 1.125rem
    }
}

.sub-title.medium h2 span {
    display: inline-block;
    font-size: min(1.8333333333333333vw, 22px);
    padding-left: min(5.3333333333vw, 64px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .sub-title.medium h2 span {
        padding-left: 3.9375rem;
        text-align: left;
        font-size: 1.125rem;
    }
}

.sub-title.medium h2 span::before {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-echan4.svg);
    width: min(4vw, 48px);
    aspect-ratio: 48/80;
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .sub-title.medium h2 span::before {
        width: 3rem
    }
}

.renew:has(.title-mg) {
    padding-top: min(3.3333333333333335vw, 40px);
}

@media only screen and (max-width: 767px) {
    .renew:has(.title-mg) {
        padding-top: 0.9375rem;
    }
}


.sub-title2 {
    background-color: #fff;
    border-radius: min(3.3333333333vw, 40px);
    box-shadow: 0 0 min(1vw, 12px) rgba(236, 117, 162, .1);
    height: min(15.25vw, 183px);
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width: 767px) {
    .sub-title2 {
        height: auto;
        border-radius: 2rem;
        padding: 1.9375rem 1.5rem;
        box-shadow: none
    }
}

.sub-title2__title {
    font-size: min(4.1666666667vw, 50px);
    font-weight: bold;
    line-height: 1.35;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .sub-title2__title {
        font-size: 2.25rem
    }
}

.sub-title2__sub {
    font-size: min(1.8333333333vw, 22px);
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
    margin: 0
}

@media only screen and (max-width: 767px) {
    .sub-title2__sub {
        font-size: 1.125rem
    }
}

.sub-title2__inner.flex {
    display: flex;
    align-items: center;
    -moz-column-gap: min(3.3333333333vw, 40px);
    column-gap: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .sub-title2__inner.flex {
        flex-direction: column;
        row-gap: 1.25rem
    }
}

.sub-title2__inner.flex .sub-title2__sub,
.sub-title2__inner.flex .sub-title2__title {
    text-align: left
}

@media only screen and (max-width: 767px) {

    .sub-title2__inner.flex .sub-title2__sub,
    .sub-title2__inner.flex .sub-title2__title {
        text-align: center
    }
}

.top-intro {
    padding-top: min(2.666666666666667vw, 32px);
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .top-intro {
        padding-top: 2.5rem;
    }
}

.top-intro__text {
    margin-top: min(2.666666666666667vw, 32px);
}

@media only screen and (max-width: 767px) {
    .top-intro__text {
        margin-top: 0.625rem;
    }
}

.top-intro .co-text {
    line-height: 2;
}


.top-intro .co-text:nth-child(3) {
    margin-top: min(0.6666666666666667vw, 8px);
}

@media only screen and (max-width: 767px) {
    .top-intro .co-text {
        font-weight: 400;
        line-height: 1.8;
    }

    .top-intro .co-text:nth-child(2) {
        margin-top: 0.5rem;
    }

    .top-intro .co-text:nth-child(3) {
        margin-top: 0.625rem;
    }
}

.top-intro .color-pink {
    font-weight: bold;
    background-image: radial-gradient(circle, #F2C7D7 min(0.1666666667vw, 2px), transparent min(0.1666666667vw, 2px));
    background-size: min(0.6666666667vw, 8px) min(0.3333333333vw, 4px);
    background-repeat: repeat-x;
    background-position: left bottom;
    padding-bottom: min(0.5vw, 6px);
}

@media only screen and (max-width: 767px) {
    .top-intro .color-pink {
        background-image: radial-gradient(circle, #F2C7D7 0.0625rem, transparent 0.125rem);
        background-size: 0.5rem 0.25rem;
        padding-bottom: 0.25rem;
    }
}


/* TOP--メカニズム-- */

.top-mechanism {
    overflow: hidden;
    padding-top: min(6.166666666666667vw, 74px);
}

.top-mechanism__body {
    margin-top: min(6.6666666667vw, 80px);
    position: relative;
}

@media only screen and (max-width: 767px) {
    .top-mechanism {
        padding-top: 2.5rem;
    }

    .top-mechanism__body {
        margin-top: 4.125rem;
    }
}

.top-mechanism__body::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-echan5.svg);
    width: min(8.2275vw, 98.73px);
    aspect-ratio: 1/1;
    top: min(15vw, -180px);
    right: -8%;
}

@media only screen and (max-width: 1280px) {
    .top-mechanism__body::after {
        top: min(10.833333vw, -130px);
        right: -5%;
    }
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body::after {
        width: 5.9375rem;
        top: -3.125rem;
        right: -1.25rem;
        z-index: 2;
    }
}

.top-mechanism__body__wrap {
    display: flex;
    -moz-column-gap: min(7.1666666667vw, 86px);
    column-gap: min(7.1666666667vw, 86px);
    position: relative;
    z-index: 1
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__wrap {
        flex-direction: column;
        row-gap: 1.5625rem
    }
}

.top-mechanism__body__box {
    width: 100%;
    display: flex;
    -moz-column-gap: min(3.8333333333vw, 46px);
    column-gap: min(3.8333333333vw, 46px);
    background-color: #fff;
    border-radius: 0 min(16.6666666667vw, 200px) min(16.6666666667vw, 200px) 0;
    position: relative
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__box {
        flex-direction: row-reverse;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        border-radius: 0;
        padding: 3.4375rem 0 0.75rem;
        background: linear-gradient(180deg, transparent 0%, transparent 1.21875rem, #fff 1.21875rem, #fff 100%)
    }
}

.top-mechanism__body__box::before,
.top-mechanism__body__box::after {
    background-color: #fff;
    bottom: 0;
    content: "";
    position: absolute;
    top: 0;
    width: calc(100vw - min(95.1666666667vw, 1142px)/2);
    z-index: -1
}

@media only screen and (max-width: 767px) {

    .top-mechanism__body__box::before,
    .top-mechanism__body__box::after {
        width: 1.5rem;
        background: linear-gradient(180deg, transparent 0%, transparent 1.21875rem, #fff 1.21875rem, #fff 100%)
    }
}

.top-mechanism__body__box::before {
    right: 99.9%
}

.top-mechanism__body__box::after {
    left: 99.9%
}

.top-mechanism__body__box:nth-child(1)::after {
    content: none
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__box:nth-child(1)::after {
        content: ""
    }
}

.top-mechanism__body__box:nth-child(2) {
    flex-direction: row-reverse;
    -moz-column-gap: min(1.1666666667vw, 14px);
    column-gap: min(1.1666666667vw, 14px);
    border-radius: min(16.6666666667vw, 200px) 0 0 min(16.6666666667vw, 200px)
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__box:nth-child(2) {
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        border-radius: 0
    }
}

.top-mechanism__body__box:nth-child(2) .top-mechanism__body__lead::before {
    width: calc(min(18vw, 216px)/2 + min(1.1666666667vw, 14px));
    right: 99.9%
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__box:nth-child(2) .top-mechanism__body__lead::before {
        width: 1.5rem
    }
}

.top-mechanism__body__box:nth-child(2)::before {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-arrow-pink.svg);
    width: min(2.4166666667vw, 29px);
    height: min(2.5vw, 30px);
    left: -11%;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0)
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__box:nth-child(2)::before {
        background: none;
        background-color: #fff;
        bottom: 0;
        content: "";
        position: absolute;
        top: 0;
        width: 1.5rem;
        right: 99.9%;
        left: auto;
        height: 100%;
        transform: none
    }
}

.top-mechanism__body__lead {
    background-color: #ec75a2;
    border-radius: 0 min(4.1666666667vw, 50px) min(4.1666666667vw, 50px) 0;
    color: #fff;
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    padding: min(0.8333333333vw, 10px) min(0.8333333333vw, 10px) min(0.8333333333vw, 10px) 0;
    position: relative;
    width: max-content;
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__lead {
        border-radius: 0 3.125rem 3.125rem 0;
        font-size: 0.9375rem;
        font-weight: 500;
        line-height: 1.3;
        padding: 0.59375rem 0.625rem 0.59375rem 0;
        position: absolute;
        top: 0;
        left: 0
    }
}

.top-mechanism__body__lead::before {
    background-color: #ec75a2;
    bottom: 0;
    content: "";
    position: absolute;
    top: 0;
    width: calc(100vw - min(95.1666666667vw, 1142px)/2);
    right: 99.5%
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__lead::before {
        width: 1.5rem
    }
}

.top-mechanism__body__text {
    margin-top: min(0.5833333333333334vw, 7px)
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__text {
        margin-top: 0
    }
}

.top-mechanism__body__text p {
    margin: 0
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__text p {
        font-size: 0.75rem;
        line-height: 1.6;
        font-weight: 400;
    }
}

.top-mechanism__body__text .comment {
    font-size: min(1.1666666667vw, 14px);
    font-weight: 500;
    line-height: 1.5;
    color: #828282;
    display: inline-block;
    margin-top: min(0.5vw, 6px)
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__text .comment {
        font-size: 0.75rem;
        font-weight: 400;
        margin-top: 0.25rem
    }
}

.top-mechanism__body__img {
    max-width: min(18vw, 216px);
    width: 100%;
    flex-shrink: 0;
    position: relative
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__img {
        max-width: 5.9375rem
    }
}

.top-mechanism__body__img img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 50%;
    height: auto;
}

@media only screen and (max-width: 767px) {
    .top-mechanism__body__img img {
        border-radius: 0
    }
}

.top-mechanism__body__detail {
    flex: 1
}

.top-mechanism__arrow {
    display: flex;
    justify-content: center;
    margin: min(1.3333333333vw, 16px) 0
}

@media only screen and (max-width: 767px) {
    .top-mechanism__arrow {
        margin-top: -0.0625rem
    }
}

.top-mechanism__arrow img {
    width: min(6.5833333333vw, 79px);
    height: min(2.4166666667vw, 29px);
    display: block
}

@media only screen and (max-width: 767px) {
    .top-mechanism__arrow img {
        width: 2.25rem;
        height: 0.8125rem
    }
}

.top-mechanism__btm {
    background-color: #fff;
    padding: min(2.6666666667vw, 32px) 0;
    text-align: center;
    position: relative
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm {
        margin-top: 0.875rem;
        padding: 0 0 1.25rem 0;
        background: linear-gradient(180deg, transparent 0%, transparent 1.21875rem, #fff 1.21875rem, #fff 100%);
        text-align: left
    }
}

.top-mechanism__btm::before,
.top-mechanism__btm::after {
    background-color: #fff;
    bottom: 0;
    content: "";
    position: absolute;
    top: 0;
    width: calc(100vw - min(95.1666666667vw, 1142px)/2);
    z-index: 0
}

@media only screen and (max-width: 767px) {

    .top-mechanism__btm::before,
    .top-mechanism__btm::after {
        width: 1.5rem;
        background: linear-gradient(180deg, transparent 0%, transparent 1.21875rem, #fff 1.21875rem, #fff 100%)
    }
}

.top-mechanism__btm::before {
    right: 100%
}

.top-mechanism__btm::after {
    left: 100%
}

.top-mechanism__btm__lead {
    display: inline-block;
    background-color: #ec75a2;
    color: #fff;
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    border-radius: min(4.1666666667vw, 50px);
    padding: min(0.8333333333vw, 10px) min(1.3333333333vw, 16px);
    text-align: center
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__lead {
        font-size: 0.9375rem;
        font-weight: 500;
        line-height: 1.3;
        padding: 0.625rem 0.625rem 0.625rem 0;
        border-radius: 0 3.125rem 3.125rem 0;
        position: relative
    }
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__lead::before {
        bottom: 0;
        content: "";
        position: absolute;
        top: 0;
        z-index: 0;
        right: 100%;
        width: 1.5rem;
        background: #ec75a2
    }
}

.top-mechanism__btm__text {
    margin: min(0.6666666667vw, 8px) 0 0 0;
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    color: #222
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__text {
        margin-top: 1.0625rem;
        font-size: 1.125rem;
        line-height: 1.5
    }
}

.top-mechanism__btm__wrap {
    margin: min(2.1666666667vw, 26px) 0 0 0;
    display: flex;
    align-items: center;
    -moz-column-gap: min(3.3333333333vw, 40px);
    column-gap: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__wrap {
        margin-top: 1rem;
        flex-direction: column;
        row-gap: 1rem
    }
}

.top-mechanism__btm__img {
    max-width: min(35.6666666667vw, 428px);
    width: 100%;
    flex-shrink: 0
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__img {
        max-width: none;
        display: flex;
        justify-content: center
    }
}

.top-mechanism__btm__img img {
    width: min(35.6666666667vw, 428px);
    height: auto;
    display: block
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__img img {
        max-width: 21.4375rem;
        width: 100%
    }
}

.top-mechanism__btm__detail {
    flex: 1;
    text-align: left
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__detail {
        text-align: center;
        width: 100%
    }
}

.top-mechanism__btm__item {
    font-size: min(1.3333333333vw, 16px);
    font-weight: bold;
    line-height: 1.6;
    color: #ec75a2;
    background-color: #fcf1f5;
    border-radius: min(1vw, 12px);
    padding: min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__item {
        font-size: 0.75rem;
        line-height: 1.6;
        border-radius: 0.75rem;
        padding: 0.625rem
    }
}

.top-mechanism__btm__mark {
    display: flex;
    justify-content: center;
    margin: min(0.3333333333vw, 4px) 0
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__mark {
        margin: 0.25rem 0
    }
}

.top-mechanism__btm__mark img {
    width: min(0.9166666667vw, 11px);
    aspect-ratio: 1/1
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__mark img {
        width: 0.6875rem
    }
}

.top-mechanism__btm__comment {
    margin: min(0.6666666667vw, 8px) 0 0 0;
    font-size: min(0.8333333333vw, 10px);
    font-weight: 500;
    line-height: 1.4;
    color: #828282
}

@media only screen and (max-width: 767px) {
    .top-mechanism__btm__comment {
        margin-top: 1rem;
        font-size: 0.625rem;
        font-weight: 400
    }
}


@media only screen and (max-width: 767px) {
    .top-mechanism__flow {
        display: flex;
        flex-direction: column;
        row-gap: 2.5rem;
        position: relative;
    }
}

@media only screen and (max-width: 767px) {
    .top-mechanism__flow::after {
        position: absolute;
        content: "";
        display: inline-block;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 100%;
        background-image: url(../images/common/icon-echan3.svg);
        width: 4.25rem;
        height: 5.5625rem;
        top: 12.5rem;
        right: -0.3125rem;
        transform: rotate(12.45deg)
    }
}

.top-mechanism__flow__wrap {
    background-color: #f1ebe2;
    border: min(1vw, 12px) solid #b28247;
    padding: min(1.3333333333vw, 16px) min(2vw, 24px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .top-mechanism__flow__wrap {
        margin-top: 0.5rem;
        border-width: 0.75rem;
        border-right: none;
        padding: 0 0 0 0.9375rem;
        margin-right: -1.4375rem;
        overflow: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
}

.top-mechanism__flow__wrap::-webkit-scrollbar {
    display: none
}

@media only screen and (max-width: 767px) {
    .top-mechanism__flow__wrap>div {
        width: 57.4375rem
    }
}

.top-mechanism__flow__wrap::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-echan3.svg);
    width: min(5.6666666667vw, 68px);
    height: min(7.4166666667vw, 89px);
    bottom: min(0.3933333333vw, 4.72px);
    right: min(1.4341666667vw, 17.21px);
    transform: rotate(12.45deg)
}

@media only screen and (max-width: 767px) {
    .top-mechanism__flow__wrap::after {
        content: none
    }
}

.top-mechanism__flow__wrap img {
    max-width: min(85vw, 1020px);
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .top-mechanism__flow__wrap img {
        max-width: none
    }
}

@media only screen and (max-width: 767px) {
    .top-mechanism__flow__btn {
        margin-top: 0
    }
}

.top-mechanism__flow__btn.co-btn a {
    padding: min(1.875vw, 22.5px) min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .top-mechanism__flow__btn.co-btn a {
        text-align: center;
        background-color: #ec75a2;
        color: #fff;
        padding: 0.875rem 0.625rem;
    }
}

.top-mechanism__flow__btn.co-btn a::after {
    background-image: url(../images/common/icon-btn-arrow.svg)
}



.top-guide {
    padding: min(6.666666666666667vw, 80px) 0 min(3.3333333333vw, 40px);
}

@media only screen and (max-width: 767px) {
    .top-guide {
        padding: 2.8125rem 0 1.25rem;
    }
}

.top-guide__list {
    display: flex
}

@media only screen and (max-width: 767px) {
    .top-guide__list {
        flex-direction: column
    }
}

.top-guide__item {
    width: 100%
}

@media only screen and (max-width: 767px) {
    .top-guide__item {
        border-top: 0.125rem solid #fff
    }
}

.top-guide__item:nth-child(2) {
    border-left: min(0.25vw, 3px) solid #fff;
    border-right: min(0.25vw, 3px) solid #fff
}

@media only screen and (max-width: 767px) {
    .top-guide__item:nth-child(2) {
        border: none;
        border-top: 0.125rem solid #fff
    }
}

@media only screen and (max-width: 767px) {
    .top-guide__item:last-child {
        border-bottom: 0.125rem solid #fff
    }
}

.top-guide__item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: min(2.5833333333vw, 31px);
    text-decoration: none;
    position: relative
}

@media only screen and (max-width: 767px) {
    .top-guide__item a {
        flex-direction: row;
        padding: 0.875rem 0;
        -moz-column-gap: 0.625rem;
        column-gap: 0.625rem;
    }
}

.top-guide__item a::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-arrow-gray.svg);
    width: min(1.9166666667vw, 23px);
    height: min(1.9166666667vw, 23px);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%)
}

@media only screen and (max-width: 767px) {
    .top-guide__item a::after {
        content: none
    }
}

.top-guide__icon {
    max-width: min(6.1666666667vw, 74px);
    width: 100%
}

@media only screen and (max-width: 767px) {
    .top-guide__icon {
        max-width: 4.625rem;
        flex-shrink: 0
    }
}

.top-guide__icon img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1
}

.top-guide__detail {
    margin-top: min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .top-guide__detail {
        margin-top: 0
    }
}

.top-guide__lead {
    font-size: min(1.8333333333vw, 22px);
    font-weight: bold;
    line-height: 1.3;
    color: #222
}

@media only screen and (max-width: 767px) {
    .top-guide__lead {
        font-size: 1.125rem;
        line-height: 1.4
    }
}

.top-guide__text {
    margin: min(0.6666666667vw, 8px) 0 0 0;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .top-guide__text {
        margin-top: 0.25rem;
        text-align: left;
        font-size: 0.75rem;
        font-weight: 400;
        line-height: 1.6
    }
}




.co-knowledge {
    padding: min(3.3333333333vw, 40px) 0
}

@media only screen and (max-width: 767px) {
    .co-knowledge {
        padding: 1.25rem 0
    }
}

.co-knowledge__list {
    display: flex;
    -moz-column-gap: min(1.3333333333vw, 16px);
    column-gap: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .co-knowledge__list {
        flex-wrap: wrap;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        row-gap: 1rem
    }
}

.co-knowledge__item {
    width: 100%
}

@media only screen and (max-width: 767px) {
    .co-knowledge__item {
        width: calc(50% - 0.625rem)
    }
}

.co-knowledge__item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    border-radius: min(1.3333333333vw, 16px);
    background-color: #fff;
    padding: min(2vw, 24px);
    text-decoration: none;
    height: 100%;
    box-shadow: 0 0 min(1vw, 12px) rgba(236, 117, 162, .1)
}

@media only screen and (max-width: 767px) {
    .co-knowledge__item a {
        border-radius: 1rem;
        padding: 0.8125rem 0.625rem;
        box-shadow: 0 0 0.75rem rgba(236, 117, 162, .1)
    }
}

.co-knowledge__img {
    aspect-ratio: 213/120;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: min(10vw, 120px);
}

@media only screen and (max-width: 767px) {
    .co-knowledge__img {
        aspect-ratio: auto;
        min-height: 4.625rem;
    }

}

.co-knowledge__item a img {
    height: auto
}

.co-knowledge__item:nth-child(1) img {
    width: min(10vw, 120px)
}

@media only screen and (max-width: 767px) {
    .co-knowledge__item:nth-child(1) img {
        width: 4.6875rem
    }
}

.co-knowledge__item:nth-child(2) img {
    width: min(7.1666666667vw, 86px)
}

@media only screen and (max-width: 767px) {
    .co-knowledge__item:nth-child(2) img {
        width: 3.4375rem
    }
}

.co-knowledge__item:nth-child(3) img {
    width: min(13.4166666667vw, 161px)
}

@media only screen and (max-width: 767px) {
    .co-knowledge__item:nth-child(3) img {
        width: 7.1875rem
    }
}

.co-knowledge__item:nth-child(4) img {
    width: min(9.1666666667vw, 110px)
}

@media only screen and (max-width: 767px) {
    .co-knowledge__item:nth-child(4) img {
        width: 3.75rem
    }
}

.co-knowledge__lead {
    font-size: min(1.8333333333vw, 22px);
    font-weight: bold;
    line-height: 1.3;
    color: #222;
    margin-top: min(0.6666666666666667vw, 8px);
}

@media only screen and (max-width: 767px) {
    .co-knowledge__lead {
        font-size: 1.125rem;
        line-height: 1.4;
        margin-top: 0.5625rem;
    }
}

.co-knowledge__text {
    margin: min(0.3333333333vw, 4px) 0 0 0;
    font-size: min(1.3333333333vw, 16px);
    line-height: 1.6;
    color: #222;
    text-align: center
}

@media only screen and (max-width: 767px) {
    .co-knowledge__text {
        margin-top: 0;
        font-size: 0.75rem
    }
}




.co-column01 {
    padding: min(3.3333333333vw, 40px) 0 min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .co-column01 {
        padding: 1.25rem 0 2.5rem
    }
}

.co-column01__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    -moz-column-gap: min(2.6666666667vw, 32px);
    column-gap: min(2.6666666667vw, 32px);
    row-gap: min(1.9166666667vw, 23px)
}

@media only screen and (max-width: 767px) {
    .co-column01__list {
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        row-gap: 1rem
    }
}

.co-column01__item {
    width: calc(33.3333333333% - min(1.8333333333vw, 22px))
}

@media only screen and (max-width: 767px) {
    .co-column01__item {
        width: calc(50% - 0.625rem)
    }
}

.co-column01__item a {
    display: block;
    text-decoration: none;
    color: #222;
    padding-bottom: min(2.25vw, 27px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .co-column01__item a {
        padding-bottom: 1.3125rem
    }
}

.co-column01__item a::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-arrow-gray.svg);
    width: min(1.9166666667vw, 23px);
    height: min(1.9166666667vw, 23px);
    right: 0;
    bottom: 0
}

@media only screen and (max-width: 767px) {
    .co-column01__item a::after {
        width: 1.0625rem;
        height: 1.0625rem
    }
}

.co-column01__item .co-column01__img img {
    border-radius: min(1vw, 12px);
    width: 100%;
    height: auto;
    aspect-ratio: 342.67/227.59;
    -o-object-fit: cover;
    object-fit: cover
}

@media only screen and (max-width: 767px) {
    .co-column01__item .co-column01__img img {
        border-radius: 0.75rem;
        aspect-ratio: 163/109
    }
}

.co-column01__item .co-column01__title {
    margin: min(1.3333333333vw, 16px) 0 0 0;
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media only screen and (max-width: 767px) {
    .co-column01__item .co-column01__title {
        font-size: 0.75rem;
        margin-top: 0.5rem;
        line-height: 1.6;
    }
}




.top-cm {
    overflow: hidden;
    padding: min(3.3333333333vw, 40px) 0 min(6.6666666667vw, 80px)
}

@media only screen and (max-width: 767px) {
    .top-cm {
        background-color: #fff;
        padding: 1.875rem 0;
        margin-bottom: 1.875rem;
    }
}

.top-cm__contents {
    background-color: #fff;
    padding: min(2.6666666667vw, 32px) 0;
    position: relative
}

@media only screen and (max-width: 767px) {
    .top-cm__contents {
        padding: 0
    }
}

.top-cm__contents::before,
.top-cm__contents::after {
    background-color: #fff;
    bottom: 0;
    content: "";
    position: absolute;
    top: 0;
    width: calc(100vw - min(95.1666666667vw, 1142px)/2);
    z-index: 0
}

@media only screen and (max-width: 767px) {

    .top-cm__contents::before,
    .top-cm__contents::after {
        width: 1.5rem
    }
}

.top-cm__contents::before {
    right: 100%
}

.top-cm__contents::after {
    left: 100%
}

.top-cm__wrap {
    display: flex;
    justify-content: center;
    -moz-column-gap: min(4.8333333333vw, 58px);
    column-gap: min(4.8333333333vw, 58px)
}

@media only screen and (max-width: 767px) {
    .top-cm__wrap {
        flex-direction: column;
        row-gap: 0.9375rem
    }
}

.top-cm__left {
    width: 69%
}

@media only screen and (max-width: 767px) {
    .top-cm__left {
        width: 100%
    }
}

.top-cm__left iframe {
    aspect-ratio: 756/425.49
}

@media only screen and (max-width: 767px) {
    .top-cm__left iframe {
        aspect-ratio: 342/193
    }
}

.top-cm__right {
    width: 25%;
    display: flex;
    flex-direction: column;
    row-gap: min(2.3333333333vw, 28px)
}

@media only screen and (max-width: 767px) {
    .top-cm__right {
        width: 100%;
        flex-direction: row;
        -moz-column-gap: 0.9375rem;
        column-gap: 0.9375rem
    }
}

.top-cm__right iframe {
    aspect-ratio: 278/154.89
}

@media only screen and (max-width: 767px) {
    .top-cm__right iframe {
        aspect-ratio: 164/91
    }

    .top-cm__box {
        width: 100%;
    }
}

.top-cm__video iframe {
    display: block;
    width: 100%;
    height: auto
}

.top-cm__title {
    font-size: min(1.3333333333vw, 16px);
    font-weight: bold;
    line-height: 1.6;
    margin: min(0.6666666667vw, 8px) 0 0 0
}

@media only screen and (max-width: 767px) {
    .top-cm__title {
        font-size: 0.75rem;
        margin-top: 0.5rem
    }
}




/* 便秘解消 */


.kaisho1 .kaisho-illust1 {
    max-width: min(8.6666666667vw, 104px)
}

@media only screen and (max-width: 767px) {
    .kaisho1 .kaisho-illust1 {
        max-width: 6.5rem
    }
}

@media only screen and (max-width: 767px) {
    .kaisho1 .contents__main__image:has(.kaisho-illust1) {
        margin-bottom: 1.125rem
    }
}

.kaisho2 .contents__inner__flex {
    -moz-column-gap: min(2.6666666667vw, 32px);
    column-gap: min(2.6666666667vw, 32px);
    margin-bottom: min(3.3333333333vw, 40px);
    padding-top: min(0.5833333333vw, 7px)
}

@media only screen and (max-width: 767px) {
    .kaisho2 .contents__inner__flex {
        margin-bottom: 1.625rem;
        padding-top: 0;
        row-gap: 1.0625rem
    }
}

.kaisho2 .contents__inner__flex .co-text {
    letter-spacing: 0;
    line-height: 1.9
}

.kaisho2 .contents__inner__image {
    padding-right: min(3.1666666667vw, 38px)
}

@media only screen and (max-width: 767px) {
    .kaisho2 .contents__inner__image {
        padding: 0
    }
}

.kaisho2 .contents__inner__image img {
    max-width: min(7vw, 84px);
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .kaisho2 .contents__inner__image img {
        max-width: 6.375rem
    }
}

.kaisho2 .contents__main__image {
    margin: min(2.6666666667vw, 32px) 0
}

@media only screen and (max-width: 767px) {
    .kaisho2 .contents__main__image {
        margin: 1rem 0
    }
}

.kaisho2 .contents__main__image:has(.kaisho-img2) {
    margin-bottom: min(3.3333333333vw, 40px)
}

.kaisho2 .contents__main__image:has(.kaisho-img2)+.co-text {
    line-height: 1.95
}

.kaisho2 .kaisho-img1,
.kaisho2 .kaisho-img4,
.kaisho2 .kaisho-img5,
.kaisho2 .kaisho-img6 {
    max-width: min(33.3333333333vw, 400px)
}

@media only screen and (max-width: 767px) {

    .kaisho2 .kaisho-img1,
    .kaisho2 .kaisho-img4,
    .kaisho2 .kaisho-img5,
    .kaisho2 .kaisho-img6 {
        max-width: none
    }
}

.kaisho2 .kaisho-img2 {
    max-width: min(17.5vw, 210px)
}

@media only screen and (max-width: 767px) {
    .kaisho2 .kaisho-img2 {
        max-width: 13.125rem
    }
}

.kaisho2 .kaisho-img3 {
    max-width: min(32.5833333333vw, 391px)
}

@media only screen and (max-width: 767px) {
    .kaisho2 .kaisho-img3 {
        max-width: none
    }
}

.kaisho2 .contents__sec__box__gray__box {
    margin: min(3.3333333333vw, 40px) 0
}

@media only screen and (max-width: 767px) {
    .kaisho2 .contents__sec__box__gray__box {
        margin: 1rem 0
    }
}

.kaisho2 .contents__sec__box__gray__box .contents__main__image {
    margin: min(0.75vw, 9px) 0
}

@media only screen and (max-width: 767px) {
    .kaisho2 .contents__sec__box__gray__box .contents__main__image {
        margin: 0.5rem 0
    }
}


.kaisho3 .contents__main__image {
    margin: min(2.6666666667vw, 32px) 0
}

@media only screen and (max-width: 767px) {
    .kaisho3 .contents__main__image {
        margin: 1rem 0
    }
}

.kaisho3 .kaisho-img7,
.kaisho3 .kaisho-img8,
.kaisho3 .kaisho-img10,
.kaisho3 .kaisho-img11 {
    max-width: min(33.3333333333vw, 400px)
}

@media only screen and (max-width: 767px) {

    .kaisho3 .kaisho-img7,
    .kaisho3 .kaisho-img8,
    .kaisho3 .kaisho-img10,
    .kaisho3 .kaisho-img11 {
        max-width: none
    }
}

.kaisho3 .kaisho-img9 {
    max-width: min(22.5vw, 270px)
}

@media only screen and (max-width: 767px) {
    .kaisho3 .kaisho-img9 {
        max-width: 16.8125rem;
    }
}



/* 便秘原因 */


.factor3-1 {
    max-width: min(18.4166666667vw, 221px)
}

@media only screen and (max-width: 767px) {
    .factor3-1 {
        max-width: none
    }
}

.factor3-2,
.factor3-3,
.factor3-4 {
    max-width: min(39.1666666667vw, 470px)
}

@media only screen and (max-width: 767px) {

    .factor3-2,
    .factor3-3,
    .factor3-4 {
        max-width: none
    }
}

.factor1-2 .contents__inBox {
    margin-top: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .factor1-2 .contents__inBox {
        margin-top: 1rem
    }
}

.factor3 .contents__main__image,
.factor4 .contents__main__image {
    margin: min(2vw, 24px) 0
}

@media only screen and (max-width: 767px) {

    .factor3 .contents__main__image,
    .factor4 .contents__main__image {
        margin: 1rem 0
    }
}

@media only screen and (max-width: 767px) {
    .contents.factor4 {
        margin-top: 2.5rem
    }
}

.index8 {
    margin-top: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .index8 {
        margin-top: 1.375rem
    }
}

.points-img1 {
    max-width: min(27.5vw, 330px)
}

@media only screen and (max-width: 767px) {
    .points-img1 {
        max-width: none
    }
}

.points-img2 .contents__inner__flex2 .contents__flex2__item:nth-child(1) img {
    max-width: min(17.5vw, 210px);
}

.points-img2 .contents__inner__flex2 .contents__flex2__item:nth-child(2) img {
    max-width: min(17.416666666666668vw, 209px);
}

.points-img2 .contents__inner__flex2 .contents__flex2__item:nth-child(3) img {
    max-width: min(17.5vw, 210px);
}

@media only screen and (max-width: 767px) {
    .points-img2 .contents__inner__flex2 .contents__flex2__item:nth-child(1) img {
        max-width: 13.4375rem;
    }

    .points-img2 .contents__inner__flex2 .contents__flex2__item:nth-child(2) img {
        max-width: 14.4375rem;
    }

    .points-img2 .contents__inner__flex2 .contents__flex2__item:nth-child(3) img {
        max-width: 15rem;
    }
}


.contents .contents__main__image.factor1 img {
    max-width: min(16.6666666667vw, 200px)
}

@media only screen and (max-width: 767px) {
    .contents .contents__main__image.factor1 img {
        max-width: 10rem
    }
}

.contents .contents__main__image.factor2 img {
    max-width: min(13.6666666667vw, 164px)
}

@media only screen and (max-width: 767px) {
    .contents .contents__main__image.factor2 img {
        max-width: 11.25rem
    }
}

.contents.factor2 {
    overflow: hidden
}

.contents.factor2 .factor2-img1 {
    margin-top: min(2vw, 24px);
}

@media only screen and (max-width: 767px) {
    .contents.factor2 .factor2-img1 {
        margin-top: 1.5rem;
    }
}

.contents.factor2 .factor2-img1 img {
    max-width: min(21vw, 252px);
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .contents.factor2 .factor2-img1 img {
        max-width: 15.75rem
    }
}

.contents.factor2 .factor2-img2,
.contents.factor2 .factor2-img3 {
    margin: min(2vw, 24px) calc(50% - 50vw);
    width: 100vw
}

@media only screen and (max-width: 767px) {

    .contents.factor2 .factor2-img2,
    .contents.factor2 .factor2-img3 {
        margin: 1.5rem calc(50% - 50vw)
    }
}

@media only screen and (max-width: 767px) {
    .contents__sec__wrap+.contents__sec__wrap.sec-margin-sp {
        margin-top: 1.625rem;
    }
}





.drug-body .sub-menu__wrap:nth-child(1) {
    width: 70%;
}

@media only screen and (max-width: 767px) {
    .drug-body .sub-menu__wrap:nth-child(1) {
        width: 100%;
    }
}

.drug-body1 .contents__sec__title+.co-text {
    margin-bottom: min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .drug-body1 .contents__sec__title+.co-text {
        margin-top: 1.625rem
    }
}

.drug-body1 .contents__sec__box>div:not(:first-child) {
    margin-top: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .drug-body1 .contents__sec__box>div:not(:first-child) {
        margin-top: 1rem
    }

    .drug-body1 .co-text.color-pink.bold {
        margin-bottom: 0.5rem;
    }
}




.drug-body2 .drug5 .contents__inner__flex,
.drug-body2 .drug6 .contents__inner__flex {
    -moz-column-gap: min(2.6666666667vw, 32px);
    column-gap: min(2.6666666667vw, 32px)
}

@media only screen and (max-width: 767px) {

    .drug-body2 .drug5 .contents__inner__flex,
    .drug-body2 .drug6 .contents__inner__flex {
        row-gap: 1rem
    }
}

.drug-body2 .drug-icon1 {
    max-width: min(10.9166666667vw, 131px)
}

@media only screen and (max-width: 767px) {
    .drug-body2 .drug-icon1 {
        max-width: 8.1875rem
    }
}

.drug-body2 .drug-icon2 {
    max-width: min(12.5833333333vw, 151px)
}

@media only screen and (max-width: 767px) {
    .drug-body2 .drug-icon2 {
        max-width: 9.4375rem
    }
}

.drug-body2 .drug7 .contents__inBox {
    margin-top: min(1.6666666667vw, 20px)
}

@media only screen and (max-width: 767px) {
    .drug-body2 .drug7 .contents__inBox {
        margin-top: 1.25rem
    }

    .drug-body2 .table-wrap__detail>div>p {
        margin-bottom: 0.5rem;
    }
}




@media only screen and (max-width: 767px) {
    .preg .contents__sub__lead {
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust1 {
        margin-top: 1rem;
        row-gap: 1rem
    }
}

.contents__inner__flex.preg-illust1 .contents__inner__image {
    max-width: min(16.6666666667vw, 200px);
    width: 100%;
    justify-content: flex-end
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust1 .contents__inner__image {
        max-width: none;
        justify-content: center
    }
}

.contents__inner__flex.preg-illust1 .contents__inner__image img {
    max-width: min(13.1666666667vw, 158px);
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust1 .contents__inner__image img {
        max-width: 9.875rem
    }
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust2 {
        margin-top: 1rem;
        row-gap: 1rem
    }
}

.contents__inner__flex.preg-illust2 .contents__inner__image {
    max-width: min(16.6666666667vw, 200px);
    width: 100%
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust2 .contents__inner__image {
        max-width: none
    }
}

.contents__inner__flex.preg-illust2 .contents__inner__image img {
    max-width: min(14.75vw, 177px);
    width: 100%;
    height: auto
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-illust2 .contents__inner__image img {
        max-width: 11.0625rem
    }
}


@media only screen and (max-width: 767px) {
    .preg .contents {
        margin-top: 1rem
    }
}

.contents__inner__flex.preg-top {
    align-items: center;
    -moz-column-gap: min(5vw, 60px);
    column-gap: min(5vw, 60px);
    margin-top: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-top {
        margin-bottom: 1.5rem;
        margin-top: 1.375rem
    }
}

.contents__inner__flex.preg-top img {
    max-width: min(15.3333333333vw, 184px);
    width: 100%
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-top img {
        max-width: 11.5rem
    }
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-top .contents__inner__text+.contents__inner__image {
        display: none
    }
}

.contents__inner__flex.preg-top .contents__inner__text .contents__inner__image {
    display: none
}

@media only screen and (max-width: 767px) {
    .contents__inner__flex.preg-top .contents__inner__text .contents__inner__image {
        display: flex;
        margin: 1.5rem 0
    }
}




@media only screen and (max-width: 767px) {
    .senior .contents {
        margin-top: 1rem
    }
}

.senior-top.contents__inner__flex {
    align-items: center;
    margin-top: min(3.3333333333vw, 40px);
    -moz-column-gap: min(2.4166666667vw, 29px);
    column-gap: min(2.4166666667vw, 29px)
}

@media only screen and (max-width: 767px) {
    .senior-top.contents__inner__flex {
        margin-top: 1.375rem;
        margin-bottom: 1.5rem;
        flex-direction: column
    }
}

.senior-top.contents__inner__flex .senior-illust2 {
    max-width: min(6.25vw, 75px);
    width: 100%
}

@media only screen and (max-width: 767px) {
    .senior-top.contents__inner__flex .senior-illust2 {
        max-width: 7.5625rem
    }
}

@media only screen and (max-width: 767px) {
    .senior-top.contents__inner__flex .contents__inner__image {
        width: 100%
    }
}

.senior-sec1 .contents__main__image {
    margin: min(0.6666666667vw, 8px) 0 0
}

@media only screen and (max-width: 767px) {
    .senior-sec1 .contents__main__image {
        margin-top: 0.6875rem
    }
}




.contents.syouji1 .contents__inBox {
    margin: min(0.6666666667vw, 8px) 0 min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .contents.syouji1 .contents__inBox {
        margin: 0.6875rem 0 1.5rem
    }
}

@media only screen and (max-width: 767px) {
    .syouji .co-text.color-pink.bold {
        margin-bottom: 0.5rem;
    }
}

.contents.syouji1 .table-wrap__comment {
    margin-top: min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .contents.syouji1 .table-wrap__comment {
        margin-top: 0.625rem
    }
}

.syouji-top.contents__inner__flex {
    align-items: center;
    margin-top: min(3.3333333333vw, 40px);
    -moz-column-gap: min(2.4166666667vw, 29px);
    column-gap: min(2.4166666667vw, 29px)
}

@media only screen and (max-width: 767px) {
    .syouji-top.contents__inner__flex {
        margin-top: 1.375rem;
        flex-direction: column
    }
}

.syouji-top.contents__inner__flex img {
    max-width: min(6.25vw, 75px)
}

@media only screen and (max-width: 767px) {
    .syouji-top.contents__inner__flex img {
        max-width: 9.9375rem;
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .syouji .contents__sec__title+.contents__sec__wrap {
        margin-bottom: 1.125rem
    }
}

@media only screen and (max-width: 767px) {

    .syouji .syouji2 .contents__inner__flex,
    .syouji .syouji3 .contents__inner__flex {
        flex-direction: column
    }
}

.syouji .syouji2 .contents__inner__flex .contents__inner__image,
.syouji .syouji3 .contents__inner__flex .contents__inner__image {
    max-width: min(20.5vw, 246px);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width: 767px) {

    .syouji .syouji2 .contents__inner__flex .contents__inner__image,
    .syouji .syouji3 .contents__inner__flex .contents__inner__image {
        max-width: none
    }
}

.syouji .contents__inner__flex:has(.shouji-img1) .contents__inner__image img {
    max-width: min(14.4166666667vw, 173px)
}

@media only screen and (max-width: 767px) {
    .syouji .contents__inner__flex:has(.shouji-img1) .contents__inner__image img {
        max-width: 10.8125rem
    }
}

.syouji .contents__inner__flex:has(.shouji-img2) .contents__inner__image img {
    max-width: min(13.0833333333vw, 157px)
}

@media only screen and (max-width: 767px) {
    .syouji .contents__inner__flex:has(.shouji-img2) .contents__inner__image img {
        max-width: 9.8125rem
    }
}

.syouji .contents__inner__flex:has(.shouji-img3) .contents__inner__image img {
    max-width: min(15.5vw, 186px)
}

@media only screen and (max-width: 767px) {
    .syouji .contents__inner__flex:has(.shouji-img3) .contents__inner__image img {
        max-width: 11.625rem
    }
}

.syouji .syouji3 .contents__main__image {
    margin: min(0.6666666667vw, 8px) 0 0
}

@media only screen and (max-width: 767px) {
    .syouji .syouji3 .contents__main__image {
        margin-top: 0.5rem
    }
}

.syouji .syouji3 .shouji-product {
    max-width: min(25.4166666667vw, 305px)
}

@media only screen and (max-width: 767px) {
    .syouji .syouji3 .shouji-product {
        max-width: 17.5625rem
    }
}



/* 製品情報 */


.p-products {
    padding-top: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .p-products {
        padding-top: 2.5rem
    }
}

.p-products__contents {
    padding-bottom: min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .p-products__contents {
        padding-bottom: 0
    }
}

.p-products__title.product-sec2__lead {
    font-size: min(2.1666666667vw, 26px)
}

@media only screen and (max-width: 767px) {
    .p-products__title.product-sec2__lead {
        font-size: 1.5rem;
        padding: 0.5625rem
    }
}

.p-products__contents {
    margin-top: min(2.5vw, 30px)
}

@media only screen and (max-width: 767px) {
    .p-products__contents {
        margin-top: 1.25rem
    }
}

.p-products__body {
    margin-top: min(3.3333333333vw, 40px);
    display: flex;
    -moz-column-gap: min(1.6666666667vw, 20px);
    column-gap: min(1.6666666667vw, 20px)
}

@media only screen and (max-width: 767px) {
    .p-products__body {
        margin-top: 1.25rem;
        flex-direction: column;
        row-gap: 1.25rem
    }
}

.p-products__item {
    width: 100%;
    border-radius: min(1.3333333333vw, 16px);
    box-shadow: 0 0 min(1vw, 12px) rgba(236, 117, 162, .1);
    background-color: #fff;
    padding: min(1.25vw, 15px) min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .p-products__item {
        border-radius: 1rem;
        box-shadow: 0 0 0.75rem rgba(236, 117, 162, .1);
        padding: 0.9375rem 0.625rem
    }
}

.p-products__name {
    text-align: center;
    font-size: min(1.5vw, 18px);
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .p-products__name {
        font-size: 1.125rem;
        margin-bottom: 0.625rem
    }
}


.p-products__img {
    margin-top: min(0.8333333333vw, 10px);
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: min(24.5833333333vw, 295px);
    width: 100%;
    aspect-ratio: 295/159;
    margin: 0 auto
}

.p-products__item:nth-child(2) .p-products__img {
    max-width: min(25.3703703704vw, 304px);
}

@media only screen and (max-width: 767px) {
    .p-products__img {
        margin-top: 0.625rem;
        max-width: none;
        aspect-ratio: initial
    }

    .p-products__item:nth-child(2) .p-products__img {
        max-width: none;
    }
}

.p-products__link {
    margin-top: min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .p-products__link {
        margin-top: 0.625rem
    }
}

.p-products__link a {
    display: block;
    background-color: #4e63a5;
    border-radius: min(8.3333333333vw, 100px);
    text-align: center;
    box-shadow: 0 min(0.1666666667vw, 2px) min(0.5vw, 6px) rgba(0, 0, 0, .25);
    font-size: min(1.1666666667vw, 14px);
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    color: #fff;
    padding: min(1.4166666667vw, 17px) 0
}

@media only screen and (max-width: 767px) {
    .p-products__link a {
        border-radius: 6.25rem;
        box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, .25);
        font-size: 0.875rem;
        padding: 1.0625rem 0
    }
}

.p-products__shop {
    margin-top: min(4vw, 48px)
}

@media only screen and (max-width: 767px) {
    .p-products__shop {
        margin-bottom: 0;
        margin-top: 2.5rem;
    }
}

.p-products__shop__title.contents__sec__title {
    margin-bottom: min(2.1666666667vw, 26px)
}

@media only screen and (max-width: 767px) {
    .p-products__shop__title.contents__sec__title {
        margin-bottom: 1.625rem
    }
}

@media only screen and (max-width: 767px) {
    .p-products__shop__title.contents__sec__title span {
        line-height: 1.6
    }
}

.p-products__shop__wrap {
    display: flex;
    justify-content: center;
    -moz-column-gap: min(0.8333333333vw, 10px);
    column-gap: min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .p-products__shop__wrap {
        align-items: center;
        -moz-column-gap: 1.5rem;
        column-gap: 1.5rem
    }
}

.p-products__shop__wrap a {
    text-decoration: none
}

@media only screen and (max-width: 767px) {
    .p-products__shop__wrap a img {
        width: 100%;
        display: block
    }
}

@media only screen and (max-width: 767px) {
    .p-products__shop__wrap a:nth-child(1) img {
        max-width: 5.375rem
    }
}

@media only screen and (max-width: 767px) {
    .p-products__shop__wrap a:nth-child(2) img {
        max-width: 4.8125rem
    }
}

@media only screen and (max-width: 767px) {
    .p-products__shop__wrap a:nth-child(3) img {
        max-width: 5.875rem
    }
}

.p-products__shop__comment {
    margin: min(0.8333333333vw, 10px) 0 0 0;
    text-align: center;
    font-size: min(0.8333333333vw, 10px);
    font-weight: 500
}

@media only screen and (max-width: 767px) {
    .p-products__shop__comment {
        display: none
    }
}


.p-products__shop__title.sec-title_text {
    font-size: min(2.1666666667vw, 26px);
    font-weight: bold;
    color: #222;
    padding-bottom: min(0.3333333333vw, 4px);
    text-align: center;
    margin-bottom: min(0.8333333333vw, 10px);
    padding-bottom: min(0.5vw, 6px)
}

@media only screen and (max-width: 767px) {
    .p-products__shop__title.sec-title_text {
        font-size: 1.5rem;
        padding-bottom: 0.25rem;
        margin-bottom: 1.25rem
    }
}

.p-products__shop__title.sec-title_text span {
    background-image: radial-gradient(circle, #EC75A2 min(0.1666666667vw, 2px), transparent min(0.1666666667vw, 2px));
    background-size: min(0.6666666667vw, 8px) min(0.3333333333vw, 4px);
    background-size: min(5.666666666666666vw, 6.8px) min(0.166666666666666693vw, 2px);
    background-repeat: repeat-x;
    background-position: left bottom
}

@media only screen and (max-width: 767px) {
    .p-products__shop__title.sec-title_text span {
        background-image: radial-gradient(circle, #EC75A2 0.125rem, transparent 0.125rem);
        background-image: linear-gradient(to right, #EC75A2 0.125rem, transparent 0.125rem);
        background-size: 0.5rem 0.25rem;
        background-size: 0.25rem 0.15625rem;
        padding-bottom: 0.125rem;
        line-height: 1.8
    }
}

.product-sec2 .contents__sec__title span,
.product-sec3 .contents__sec__title span {
    background-size: min(5.666666666666666vw, 6.8px) min(0.166666666666666693vw, 2px);
}

@media only screen and (max-width: 767px) {

    .product-sec2 .contents__sec__title span,
    .product-sec3 .contents__sec__title span {
        background-size: 0.25rem 0.15625rem;
    }
}

.p-products+.common-page-bottom .co-column01,
.p-products+.common-page-bottom .co-column02,
.p-products+.common-page-bottom .co-knowledge,
.column-archive+.common-page-bottom .co-column01,
.column-archive+.common-page-bottom .co-column02,
.column-archive+.common-page-bottom .co-knowledge,
.s-map+.common-page-bottom .co-column01,
.s-map+.common-page-bottom .co-column02,
.s-map+.common-page-bottom .co-knowledge {
    display: none
}

.column-archive .co-column01 .sec-title {
    display: none
}

.co-column01__item:nth-child(n+7) {
    display: none
}

.column-archive .co-column01__item:nth-child(n+7) {
    display: block
}

.column-archive .co-column01__btn {
    margin-top: min(3.3333333333333335vw, 40px);
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__btn {
        margin-top: 1.875rem;
    }

    .column-archive .co-column01 {
        padding-bottom: 0.4375rem;
    }
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__list {
        flex-direction: column;
        row-gap: 0
    }
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__item {
        width: 100%
    }
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__item:not(:last-child) {
        border-bottom: 0.0625rem solid #fff
    }
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__item a {
        display: flex;
        align-items: flex-start;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        padding: 0.75rem 0
    }
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__item a::after {
        content: none
    }
}


@media only screen and (max-width: 767px) {
    .column-archive .co-column01__img {
        max-width: 7.4375rem;
        width: 100%
    }

    .column-archive .co-column01__img img {
        aspect-ratio: 119/93;
    }
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__label {
        display: block
    }
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__title {
        margin-top: 0.25rem;
        padding-bottom: 1.3125rem;
        position: relative
    }
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__title::after {
        position: absolute;
        content: "";
        display: inline-block;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% 100%;
        background-image: url(../images/common/icon-arrow-gray.svg);
        width: 1.0625rem;
        height: 1.0625rem;
        right: 0;
        bottom: 0
    }
}

.co-column01__item .co-column01__label {
    display: none
}

@media only screen and (max-width: 767px) {
    .column-archive .co-column01__label {
        display: block
    }
}

@media only screen and (max-width: 767px) {
    .co-column01__item .co-column01__label {
        width: -moz-max-content;
        width: max-content;
        color: #fff;
        font-size: 0.75rem;
        font-weight: bold;
        background-color: #ec75a2;
        line-height: 1;
        padding: 0.28125rem 0.625rem;
        border-radius: 6.25rem
    }
}



.s-map {
    padding-top: min(4vw, 48px);
    margin-bottom: min(6.666666666666667vw, 80px);
}

@media only screen and (max-width: 767px) {
    .s-map {
        padding-top: 0;
        margin-bottom: 0;
    }
}

.s-map__inner.inner {
    padding: 0
}

.s-map__contents {
    max-width: min(72vw, 864px);
    width: 100%;
    margin: 0 auto
}

@media only screen and (max-width: 767px) {
    .s-map__contents {
        max-width: none
    }
}

.s-map__box {
    background-color: #fff;
    border-radius: min(1.3333333333vw, 16px);
    box-shadow: 0 0 min(1vw, 12px) rgba(236, 117, 162, .16);
    padding: min(2.6666666667vw, 32px)
}

@media only screen and (max-width: 767px) {
    .s-map__box {
        border-radius: 0;
        box-shadow: none;
        padding: 0
    }
}

.s-map__box:not(:first-child) {
    margin-top: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .s-map__box:not(:first-child) {
        margin-top: 0
    }
}

@media only screen and (max-width: 767px) {
    .s-map__box.top .s-map__title {
        display: none
    }
}

@media only screen and (max-width: 767px) {
    .s-map__box.top .s-map__item {
        border-top: none
    }
}

@media only screen and (max-width: 767px) {
    .s-map__box.top .s-map__item a {
        font-size: 1.125rem;
        padding: 0.9375rem 1.5rem;
        font-weight: bold;
        background-color: #fff
    }
}

.s-map__title {
    font-size: min(3vw, 36px);
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    padding: min(0.5vw, 6px) 0;
    margin-bottom: min(3.3333333333vw, 40px)
}

@media only screen and (max-width: 767px) {
    .s-map__title {
        font-size: 1.125rem;
        margin-bottom: 0;
        padding: 0.9375rem 1.5rem;
        text-align: left
    }
}

.s-map__list {
    display: flex;
    flex-direction: column;
    gap: min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .s-map__list {
        gap: 0;
        border-bottom: 0.0625rem solid #bdbdbd
    }
}

.s-map__list.wrap {
    flex-direction: row;
    flex-wrap: wrap
}

@media only screen and (max-width: 767px) {
    .s-map__list.wrap {
        flex-wrap: nowrap;
        flex-direction: column
    }
}

.s-map__list.wrap .s-map__item {
    width: calc(50% - min(1.0833333333vw, 13px))
}

@media only screen and (max-width: 767px) {
    .s-map__list.wrap .s-map__item {
        width: 100%
    }
}

.s-map__item {
    background-color: #fcf1f5;
    border-radius: min(3.3333333333vw, 40px) min(0.8333333333vw, 10px) min(3.3333333333vw, 40px) min(0.8333333333vw, 10px)
}

@media only screen and (max-width: 767px) {
    .s-map__item {
        border-radius: 0;
        border-top: 0.0625rem solid #bdbdbd
    }
}

.s-map__item a {
    display: block;
    text-align: center;
    text-decoration: none;
    font-size: min(1.6666666667vw, 20px);
    font-weight: bold;
    color: #222;
    padding: min(0.5416666667vw, 6.5px) 0
}

@media only screen and (max-width: 767px) {
    .s-map__item a {
        font-size: 0.9375rem;
        font-weight: 500;
        padding: 0.5625rem 1.5rem 0.5625rem 2.5rem;
        text-align: left
    }
}

.s-map__item span {
    display: inline-block;
    padding-right: min(1.6666666667vw, 20px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .s-map__item span {
        padding-right: 0;
        display: block
    }
}

.s-map__item span::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: min(0.8333333333vw, 10px);
    aspect-ratio: 1/1;
    border-top: min(0.1416666667vw, 1.7px) solid #222;
    border-right: min(0.1416666667vw, 1.7px) solid #222;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg)
}

@media only screen and (max-width: 767px) {
    .s-map__item span::after {
        width: 0.625rem;
        border-width: 0.09375rem
    }
}




.p-faq {
    margin-top: min(5vw, 60px)
}

@media only screen and (max-width: 767px) {
    .p-faq {
        margin-top: 1.875rem
    }

    .renew:has(.p-faq) .sub-title h2 {
        font-size: 2.25rem;
    }
}

.p-faq .co-web.co-web--sub {
    padding-bottom: 0
}

.p-faq .co-web__body::before {
    background: linear-gradient(90deg, #FCF3F6, #FAD2DA);
    background-image: url(../images/common/bg_texture_pc.webp);
    background-repeat: repeat-y;
    background-size: 100% auto;
    height: 103%
}

.p-faq .co-web__body__wrap {
    flex-direction: column;
    row-gap: min(2.5vw, 30px);
    padding: 0
}

@media only screen and (max-width: 767px) {
    .p-faq .co-web__body__wrap {
        row-gap: 1.5rem
    }
}

.p-faq .co-web__body__detail {
    max-width: min(72vw, 864px);
    width: 100%;
    margin: 0 auto
}

@media only screen and (max-width: 767px) {
    .p-faq .co-web__body__detail {
        max-width: none
    }
}

@media only screen and (max-width: 767px) {
    .p-faq .co-web__body__detail .co-text {
        font-weight: 400
    }
}

@media only screen and (max-width: 767px) {
    .p-faq .co-web__body__detail .co-text .color-pink {
        font-weight: 500
    }
}

.p-faq .co-web__body__detail>div {
    position: relative
}

.p-faq .co-web__body__detail>div::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-echan.svg);
    width: min(4.0283333333vw, 48.34px);
    height: min(5.5833333333vw, 67px);
    right: min(16.6666666667vw, 200px);
    bottom: min(2.5vw, 30px);
    left: auto
}

@media only screen and (max-width: 767px) {
    .p-faq .co-web__body__detail>div::after {
        background-image: none;
        bottom: 0;
        width: 1.5rem;
        height: 100%;
        left: 100%
    }
}

.p-faq .co-web__body__detail>div>span {
    font-size: min(1.5vw, 18px)
}

@media only screen and (max-width: 767px) {
    .p-faq .co-web__body__detail>div>span {
        font-size: 0.875rem
    }
}

@media only screen and (max-width: 767px) {
    .p-faq .co-web__body__text .co-text {
        font-weight: 400
    }
}

.p-faq .co-web.co-web--sub .co-web__title {
    font-size: min(2.166666666666667vw, 26px);
    color: #222;
}

@media only screen and (max-width: 767px) {
    .p-faq .co-web.co-web--sub .co-web__title {
        font-size: 1.5rem;
    }
}

.p-faq .co-web__title span {
    padding: 0
}

.p-faq .co-web__title span::after {
    content: none
}

.p-faq__contents {
    max-width: min(72vw, 864px);
    width: 100%;
    margin: 0 auto
}

@media only screen and (max-width: 767px) {
    .p-faq__contents {
        max-width: none
    }
}

.p-faq__box {
    box-shadow: 0 0 min(1vw, 12px) rgba(236, 117, 162, .16);
    background-color: #f2c7d7;
    border-radius: min(1.3333333333vw, 16px);
    padding: min(2.1666666667vw, 26px) min(2.6666666667vw, 32px);
    position: relative
}

@media only screen and (max-width: 767px) {
    .p-faq__box {
        box-sizing: 0 0 0.75rem rgba(236, 117, 162, .1);
        border-radius: 1rem;
        padding: 1.25rem
    }
}

.p-faq__box::before,
.p-faq__box::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: min(0.8333333333vw, 10px);
    aspect-ratio: 1/1;
    background-color: #fff;
    top: min(1.3333333333vw, 16px);
    border-radius: 50%
}

@media only screen and (max-width: 767px) {

    .p-faq__box::before,
    .p-faq__box::after {
        width: 0.5rem;
        top: 0.625rem
    }
}

.p-faq__box::before {
    left: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .p-faq__box::before {
        left: 1rem
    }
}

.p-faq__box::after {
    right: min(1.3333333333vw, 16px)
}

@media only screen and (max-width: 767px) {
    .p-faq__box::after {
        right: 1rem
    }
}

.p-faq__box:not(:first-child) {
    margin-top: min(2vw, 24px)
}

@media only screen and (max-width: 767px) {
    .p-faq__box:not(:first-child) {
        margin-top: 1rem
    }
}

.p-faq__q {
    position: relative;
    padding-right: min(3.3333333333vw, 40px);
    cursor: pointer
}

@media only screen and (max-width: 767px) {
    .p-faq__q {
        padding-right: 1.5625rem
    }
}

.p-faq__q::after {
    position: absolute;
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    background-image: url(../images/common/icon-plus2.svg);
    width: min(2vw, 24px);
    aspect-ratio: 1/1;
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

@media only screen and (max-width: 767px) {
    .p-faq__q::after {
        width: 1.25rem
    }
}

.p-faq__q.--is-open::after {
    background-image: url(../images/common/icon-minus2.svg)
}

.p-faq__q__text {
    display: flex;
    align-items: center;
    -moz-column-gap: min(1.3333333333vw, 16px);
    column-gap: min(1.3333333333vw, 16px);
    font-size: min(1.6666666667vw, 20px);
    font-weight: bold;
    line-height: 1.4;
    margin: 0
}

@media only screen and (max-width: 767px) {
    .p-faq__q__text {
        -moz-column-gap: 0.5rem;
        column-gap: 0.5rem;
        font-size: 1rem
    }
}

.p-faq__q__text span {
    font-size: min(2.8333333333vw, 34px);
    color: #ec75a2
}

@media only screen and (max-width: 767px) {
    .p-faq__q__text span {
        font-size: 1.125rem
    }
}

.p-faq__a {
    margin-top: min(2vw, 24px);
    display: none
}

@media only screen and (max-width: 767px) {
    .p-faq__a {
        margin-top: 1rem
    }
}

.p-faq__a div {
    background-color: #fff;
    border-radius: min(1.3333333333vw, 16px);
    padding: min(1.6666666667vw, 20px)
}

@media only screen and (max-width: 767px) {
    .p-faq__a div {
        border-radius: 0.75rem;
        padding: 0.5rem 1.25rem
    }
}

.p-faq__a p {
    margin: 0;
    font-size: min(1.3333333333vw, 16px);
    font-weight: 500;
    line-height: 1.8
}

@media only screen and (max-width: 767px) {
    .p-faq__a p {
        font-size: 0.875rem;
        line-height: 1.4
    }
}

.p-faq+.common-page-bottom {
    margin-top: 0;
}

@media only screen and (max-width: 767px) {
    .p-faq+.common-page-bottom {
        margin-top: 1.5625rem;
    }
}


.detail-column .block-contents {
    margin-top: min(3.3333333333333335vw, 40px);
}

@media only screen and (max-width: 767px) {
    .detail-column .block-contents {
        margin-top: 1.875rem;
    }
}

@media only screen and (max-width: 767px) {
    .archive-column-title img {
        max-width: 19.25rem;
    }
}




.header-new {
    /* margin-top: 130px; */
    background-color: #f2c7d7;
    height: 64px;
    height: min(5.3333333333vw, 64px);

    position: fixed;
    width: 100%;
    left: 0;
    top: 136px;
    z-index: 6;
}

@media only screen and (max-width: 767px) {
    .header-new {
        display: none
    }
}

.header-new .header-new__inner,
.header-new .header-new__list,
.header-new .header-new__item {
    height: 100%
}

.header-new .header-new__list {
    display: flex
}

.header-new .header-new__item {
    width: 100%;
    border-left: min(0.0833333333vw, 1px) solid #ffdde9;
    position: relative
}

.header-new .header-new__item:hover>a,
.header-new .header-new__item:hover>span {
    opacity: 1;
    background-color: #ec75a2;
    color: #fff
}

.header-new .header-new__item:last-child {
    border-right: min(0.0833333333vw, 1px) solid #ffdde9
}

.header-new .header-new__item>a,
.header-new .header-new__item>span {
    height: 100%;
    text-decoration: none;
    color: #222;
    font-size: min(1.1666666667vw, 14px);
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s color, .3s background-color;
    cursor: pointer
}

.header-new .header-new__sub {
    position: absolute;
    top: 99%;
    left: 0;
    z-index: 4;
    min-width: 100%;
    width: -moz-max-content;
    width: max-content;
    background-color: #fff4f8;
    padding: min(2vw, 24px) min(2.5vw, 30px) min(2.1666666667vw, 26px);
    opacity: 0;
    pointer-events: none;
    transition: .3s opacity
}

.header-new .header-new__sub__item:not(:first-child) {
    margin-top: min(1.0833333333vw, 13px);
}

.header-new .header-new__sub__item a {
    text-decoration: none;
    color: #222;
    font-size: min(1.1666666667vw, 14px);
    font-weight: bold;
    line-height: 1.3;
    display: block;
    padding-left: min(1vw, 12px);
    position: relative
}

.header-new .header-new__sub__item a::before {
    position: absolute;
    content: "";
    display: inline-block;
    width: min(0.5vw, 6px);
    aspect-ratio: 1/1;
    background-color: #ec75a2;
    border-radius: 50%;
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.header-new .header-new__item:has(.header-new__item__sub):hover .header-new__sub {
    opacity: 1;
    pointer-events: all
}
