@charset "UTF-8"; @import url("../css/custom.css"); /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.kugiri_m02 {
    padding: 65px 0 calc(11.2vw + 285px);
}

.main_area {
    overflow: hidden;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo {
    padding: 10px 50px;
}

.page_promo .base02_width {
    max-width: 1190px;
}

.page_promo .promo_inner .ttl_wrap {
    margin-top: 62px;
}

.page_promo .promo_inner .promo_ttl {
    font-size: inherit;
}

.page_promo .promo_inner h1 .slug, .page_promo .promo_inner p .slug {
    font-size: 110px;
    display: block;
    color: var(--theme_m_color);
    line-height: 1;
    font-weight: 600;
}

.page_promo .promo_inner h1 .ja, .page_promo .promo_inner p .ja {
    font-size: 24px;
    letter-spacing: .08em;
    font-weight: 700;
    padding-left: 5px;
}

@media screen and (max-width: 750px) {
    .page_promo {
        padding: 0;
    }

    .page_promo .promo_inner .ttl_wrap {
        margin: 0;
    }

    .page_promo .promo_inner h1 .slug, .page_promo .promo_inner p .slug {
        font-size: 14.1333333vw;
        margin-bottom: -10px;
    }

    .page_promo .promo_inner h1 .ja, .page_promo .promo_inner p .ja {
        font-size: 4vw;
        padding: 3vw 1vw;
        display: block;
    }
}

.page_main_img {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding: 70px 0 40px;
    margin-bottom: 20px;
}

.page_main_img::before, .page_main_img::after {
    position: absolute;
    content: "";
    background: no-repeat 50% /contain;
}

.page_main_img img {
    border-radius: 20px;
}

@media screen and (max-width: 750px) {
    .page_main_img {
        padding: 8vw 0;
        width: calc(100% - 30px);
    }

    .page_main_img img {
        border-radius: 2.66666666vw;
    }
 }
/**********************************
シンクページ
***********************************/
.wide_width {
    max-width: 1440px;
    margin: 0 auto;
}

.page-sink {
}

.page-sink .page_promo {
    background: url("../images/sink/promo.jpg") no-repeat 50% / cover;
    padding-top: 70px;
    position: relative;
    height: calc(100vh - 120px);
}

.page-sink h1.ttl {
    text-align: center;
}

.page-sink h1.ttl span {
    display: block;
}

.page-sink .page_promo p.main_txt {
    display: inline-block;
    bottom: 65px;
    position: absolute;
    right: 74px;
}

/*.sink_arau */
.sink_arau {
    position: relative;
    min-height: 950px;
    padding: 140px 0;
}

.sink_arau .inner {
    display: flex;
    margin-left: auto;
    flex-direction: column;
    align-items: flex-end;
}

.sink_arau .inner h2.main_ttl {
    margin-bottom: 80px;
}

.sink_arau .inner p.list {
    position: relative;
    z-index: 1;
    margin-bottom: 50px;
}

.sink_arau .inner .txt_area {
    width: 585px;
    position: relative;
    z-index: 1;
    margin-right: -32px;
}

.sink_arau .inner .txt_area p.lead {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
}

.sink_arau .inner .txt_area p.txt {
    line-height: 2.25;
}

.sink_arau p.main_img {
    position: absolute;
    top: 86px;
    left: calc(50% - 920px);
}

/*.sink_kinou*/
.sink_kinou .parallax {
    padding: 0;
    height: 700px;
    z-index: 0;
}

.sink_kinou .parallax .bg {
    padding: 50px 50px;
}

.sink_kinou .parallax .wide_width {
    position: relative;
    z-index: 1;
}

.sink_kinou .parallax .txt_area {
    width: 50%;
    color: #fff;
    position: relative;
    z-index: 1;
}

.sink_kinou .parallax:nth-child(even) .txt_area {
    margin-left: auto;
    max-width: 575px;
}

.sink_kinou .parallax h2.main_ttl {
    font-size: 42px;
    letter-spacing: .06em;
    font-weight: 500;
    padding-top: 75px;
    margin-bottom: 40px;
    position: relative;
}

.sink_kinou .parallax h2.main_ttl::before {
    position: absolute;
    font-size: 160px;
    font-family: "Montserrat", sans-serif;
    letter-spacing: .06em;
    color: rgba(255,255,255,.2);
    top: -25px;
    z-index: -1;
    line-height: 1;
    font-weight: 600;
}

.sink_kinou .parallax:nth-child(odd) h2.main_ttl::before {
    left: -50px;
}

.sink_kinou .parallax:nth-child(even) h2.main_ttl::before {
    right: 0;
}

.sink_kinou .parallax p.main_txt {
    line-height: 2.5;
}

.sink_kinou .parallax p.main_txt span:not(:last-child) {
    display: block;
    margin-bottom: 20px;
}

.sink_kinou .parallax.durable .bg {
    background-image: url("../images/sink/durable_bg.jpg");
}

.sink_kinou .parallax.durable .bg h2.main_ttl::before {
    content: "DURABLE";
}

.sink_kinou .parallax.sink .bg {
    background-image: url("../images/sink/sink_bg.jpg");
}

.sink_kinou .parallax.sink .bg h2.main_ttl::before {
    content: "SINK";
}

.sink_kinou .parallax.bubble .bg {
    background-image: url("../images/sink/bubble_bg.jpg");
}

.sink_kinou .parallax.bubble .bg h2.main_ttl::before {
    content: "BUBBLE";
}

/*.sink_option*/
.sink_option {
    color: #fff;
    padding-top: 220px;
}

.sink_option .main_bg {
    background: #1f1f1f;
    margin-left: 160px;
    padding-right: 160px;
}

.sink_option .outer {
    padding: 0 50px 50px;
}

.sink_option .main_bg .ttl_wrap {
    text-align: center;
    margin-bottom: -60px;
    position: relative;
    top: -148px;
}

.sink_option .main_bg .ttl_wrap h2.main_ttl {
    color: #1f1f1f;
    font-size: 140px;
    letter-spacing: .1em;
    font-weight: 600;
    margin-top: 0px;
    width: 100%;
    margin-bottom: 25px;
}

.sink_option .main_bg .ttl_wrap p.main_lead {
    font-size: 32px;
}

.sink_option .main_bg ul.items li {
    gap: 60px;
    margin-bottom: 80px;
}

.sink_option .main_bg ul.items li:nth-child(even) {
    flex-direction: row-reverse;
}

.sink_option .main_bg ul.items li .area_a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 20px;
}

.sink_option .main_bg ul.items li .area_a h3.ttl {
    font-size: 42px;
    margin-bottom: 40px;
    font-weight: 400;
}

.sink_option .main_bg ul.items li .area_a p.txt {
    line-height: 2.5;
}

.sink_slide {
    position: relative;
    padding: 135px 0 200px;
}

.sink_slide::before {
    position: absolute;
    content: "";
    background: url("../images/sink/asiato.png")no-repeat 50% / contain;
    width: 479px;
    height: 203px;
    z-index: 1;
    top: -90px;
    right: calc(50% - 910px);
}

.sink_slide::after {
    position: absolute;
    content: "";
    background: url("../images/sink/cat.png")no-repeat 50% / contain;
    width: 226px;
    height: 103px;
    z-index: 1;
    bottom: -20px;
    left: 104px;
}

.sink_slide .slider_bg {
    /*background: url("../images/top_slider.png");*/
    width: 2311px;
    height: 600px;
    animation: bg-slider 80s linear infinite;
    position: relative;
    z-index: 0;
    -webkit-background-size: cover;
    background-size: cover;
}

/* スライドアニメーション */
@keyframes bg-slider {
    from {
        background-position: 0 0;
    }

    to {
        background-position: 2311px 0;
    }
}

/*.sink_shop*/
.sink_shop {
    color: #fff;
    height: 800px;
}

.sink_shop .bg {
    background-image: url("../images/sink/web_bg.jpg");
    height: 100%;
    padding: 90px 0 80px;
    position: relative;
    z-index: 1;
}

.sink_shop .ttl_wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}

.sink_shop .ttl_wrap h2.main_ttl {
    text-align: center;
}

.sink_shop .ttl_wrap h2.main_ttl span {
    display: block;
}

.sink_shop .ttl_wrap h2.main_ttl span.en img {
    margin: 0 auto;
}

.cmn_pc_shop_btn a {
    width: 560px;
    min-height: 120px;
    background: #f15a24;
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 500;
    letter-spacing: .1em;
    margin: 0 auto;
}

.cmn_pc_shop_btn a span {
    color: #fff;
    letter-spacing: .1em;
    font-size: 36px;
}

.cmn_pc_shop_btn a span.montserrat {
    font-size: 46px;
}

.cmn_bnr_area {
    padding: 150px 0 70px;
}

.cmn_bnr_area h2.ttl {
    font-size: 36px;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 400;
    font-family: "Noto Serif JP", serif;
}

@media (max-width: 750px) {
    .wide_width {
        width: calc(100% - 70px);
    }

    .page-sink .page_promo {
        background-image: url("../images/sink/promo_sp.jpg");
        height: 149.333333vw;
        min-height: inherit;
        padding-top: 9vw;
    }

    .page-sink h1.ttl span {
        margin: 0 auto;
    }

    .page-sink h1.ttl .ja {
        width: 37.8666666vw;
        padding: 0;
        margin-bottom: 1vw;
    }

    .page-sink h1.ttl .en {
        width: 92vw;
    }

    .page-sink .page_promo p.main_txt {
        width: 100vw;
        right: 0;
        bottom: 6vw;
    }

    /*.sink_arau */
    .sink_arau {
        padding: 18.5vw 0 11.5vw;
    }

    .sink_arau .base_width {
        width: calc(100% - 75px);
    }

    .sink_arau .inner {
        align-items: flex-start;
        margin-bottom: 6vw;
    }

    .sink_arau .inner h2.main_ttl {
        width: 74.66666666vw;
        margin: 0 0 10vw;
    }

    .sink_arau .inner p.list {
        margin-bottom: 9vw;
    }

    .sink_arau .inner .txt_area {
        width: 100%;
        margin: 0;
    }

    .sink_arau .inner .txt_area p.lead {
        font-size: 4.533333333333333vw;
        margin-bottom: 5vw;
    }

    .sink_arau .inner .txt_area p.txt {
        font-size: 3.46666666vw;
        line-height: 2;
    }

    .sink_arau p.main_img {
        position: static;
        width: 180vw;
        margin: 0 calc(50% - 90vw);
        /* 画面幅いっぱいにはみ出させるためのネガティブマージン */
    }

    /*.sink_kinou*/
    .sink_kinou .parallax {
        height: 168vw;
    }

    .sink_kinou .parallax .bg {
        height: 168vw;
        padding: 11.5vw 0;
    }

    .sink_kinou .parallax .txt_area {
        width: 100%;
    }

    .sink_kinou .parallax h2.main_ttl {
        font-size: 7.1999999999vw;
        padding-top: 5vw;
        margin-bottom: 8vw;
    }

    .sink_kinou .parallax h2.main_ttl::before {
        font-size: 17.06666666666vw;
        top: -3vw;
    }

    .sink_kinou .parallax:nth-child(odd) h2.main_ttl::before {
        left: -6vw;
    }

    .sink_kinou .parallax:nth-child(even) h2.main_ttl::before {
        right: -4vw;
    }

    .sink_kinou .parallax p.main_txt {
        font-size: 3.7333333333333vw;
        line-height: 2;
        text-shadow: 0px 0px 4px rgba(0, 0, 0, 1);
    }

    .sink_kinou .parallax p.main_txt span:not(:last-child) {
        margin-bottom: 3vw;
    }

    .sink_kinou .parallax.durable .bg {
        background-image: url("../images/sink/durable_bg_sp.jpg");
    }

    .sink_kinou .parallax.sink .bg {
        background-image: url("../images/sink/sink_bg_sp.jpg");
    }

    .sink_kinou .parallax.sink .bg h2.main_ttl::before {
    }

    .sink_kinou .parallax.bubble .bg {
        background-image: url("../images/sink/bubble_bg_sp.jpg");
    }

    /*.sink_option*/
    .sink_option {
        padding-top: 35vw;
    }

    .sink_option .main_bg {
        margin: 0;
        padding: 0 0 18vw;
    }

    .sink_option .outer {
        padding: 0 0 0;
    }

    .sink_option .main_bg .ttl_wrap {
        top: -19vw;
        margin-bottom: -6vw;
    }

    .sink_option .main_bg .ttl_wrap h2.main_ttl {
        font-size: 18.66666666vw;
        margin-bottom: 4vw;
        width: 100vw;
        margin-inline: calc(50% - 50vw);
    }

    .sink_option .main_bg .ttl_wrap p.main_lead {
        font-size: 4.8vw;
    }

    .sink_option .main_bg ul.items {
        margin-bottom: -13vw;
    }

    .sink_option .main_bg ul.items li {
        flex-direction: column-reverse;
        gap: 9vw;
        margin-bottom: 13vw;
    }

    .sink_option .main_bg ul.items li:nth-child(even) {
        flex-direction: column-reverse;
    }

    .sink_option .main_bg ul.items li .area_a {
        padding: 0 8vw 0 8.5vw;
    }

    .sink_option .main_bg ul.items li .area_a h3.ttl {
        font-size: 7.19999999999999vw;
        margin-bottom: 5vw;
    }

    .sink_option .main_bg ul.items li .area_a p.txt {
        font-size: 3.73333333vw;
        line-height: 2;
    }

    .sink_option .main_bg ul.items li .area_b {
        width: 80vw;
        margin: 0 auto;
    }

    .sink_slide {
        padding: 20vw 0;
    }

    .sink_slide::before {
        right: 18vw;
        width: 66.666666666vw;
        height: 28.13333333vw;
    }

    .sink_slide::after {
        width: 30vw;
        height: 13.46666666666vw;
        bottom: 0;
        left: 0;
    }

    .sink_slide .slider_bg {
        height: 80vw;
        background-size: contain;
    }

    .sink_slide {
        padding: 21vw 0 29.5vw;
    }

    .sink_slide::before {
        right: 10vw;
        width: 66.666666666vw;
        height: 28.13333333vw;
        top: -13vw;
    }

    .sink_slide::after {
        width: 30vw;
        height: 13.46666666666vw;
        bottom: -2vw;
        left: 4.5vw;
    }

    .sink_slide .slider_bg {
        height: 80vw;
        background-size: contain;
    }

    /*.sink_shop*/
    .sink_shop {
        height: 93.333333333vw;
    }

    .sink_shop .bg {
        background-image: url("../images/sink/web_bg_sp.jpg");
    }

    .sink_shop .ttl_wrap h2.main_ttl span {
        margin: 0 auto;
    }

    .sink_shop .ttl_wrap h2.main_ttl span.ja {
        width: 40.8vw;
    }

    .sink_shop .ttl_wrap h2.main_ttl span.en {
        width: 92vw;
    }

    .sink_shop .ttl_wrap p.btn.cmn_pc_shop_btn a {
        font-size: 4.266666666666vw;
        width: 54.666666666666vw;
        height: 16vw;
        min-height: auto;
    }

    .sink_shop .ttl_wrap p.btn.cmn_pc_shop_btn a span {
        font-size: 4.266666666666vw;
    }

    .sink_shop .ttl_wrap p.btn.cmn_pc_shop_btn a span.montserrat {
        font-size: 5.333333333333vw;
    }

    .cmn_bnr_area {
        padding: 19vw 0 11vw;
    }

    .cmn_bnr_area h2.ttl {
        font-size: 6vw;
        line-height: 1.5;
        margin-bottom: 10vw;
    }
}

/**********************************
シャンプーページ
***********************************/
.page-shampoo .page_promo {
    background: url("../images/shampoo/promo.jpg") no-repeat 50% / cover;
    height: calc(100vh - 120px);
    padding-top: 110px;
    position: relative;
}



.page-shampoo h1.ttl span {
    display: block;
}

.shampoo_st {
    font-size: 42px;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    padding: 120px 0 65px;
}

.shampoo_okurimono {
    background: url("../images/shampoo/okurimono_bg.jpg") no-repeat 50% / cover;
    min-height: 588px;
    padding: 130px 0 0;
    position: relative;
}

.shampoo_okurimono .inner {
    padding: 0px 85px;
}

.shampoo_okurimono .inner .area_a h2.main_ttl {
    font-size: 54px;
    letter-spacing: .06em;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    margin-bottom: 30px;
    font-weight: 400;
}

.shampoo_okurimono .inner .area_a p.main_txt {
    line-height: 2.5;
    color: #fff;
}

.shampoo_okurimono .inner .area_b {
    position: absolute;
    top: 30px;
    right: calc(50% - 590px);
}

.shampoo_seibun {
    background: url("../images/shampoo/pattern_bg.jpg") no-repeat top left / cover;
    padding: 100px 0;
}

.shampoo_seibun .box {
    outline: 1px solid #005b2f;
    outline-offset: -12px;
    background: #fff;
    border-radius: 20px;
    padding: 90px 90px;
    margin-bottom: 50px;
}

.shampoo_seibun .box h2.main_ttl {
    text-align: center;
    margin-bottom: 60px;
}

.shampoo_seibun .box h2.main_ttl img {
    margin: 0 auto;
}

.shampoo_seibun .box .inner {
    max-width: 741px;
    margin: 0 auto -50px;
}

.shampoo_seibun .box .inner dl {
    display: flex;
    gap: 40px;
    justify-content: center;
    margin-bottom: 50px;
}

.shampoo_seibun .box .inner dl dt {
    width: 200px;
}

.shampoo_seibun .box .inner dl dd {
    width: 60%;
    flex-grow: 1;
    padding-top: 5px;
}

.shampoo_seibun .box .inner dl dd h3.ttl {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 20px;
}

.shampoo_seibun .box .inner dl dd p.txt {
    line-height: 2;
}

.shampoo_seibun .box p.main_lead {
    font-size: 26px;
    color: #005b2f;
    text-align: center;
    margin-bottom: 30px;
}

.shampoo_seibun .box.bx02 ul.items.f_wrap {
    gap: 10px;
    margin-bottom: 36px;
}

.shampoo_seibun .box.bx02 p.main_txt {
    text-align: center;
    font-size: 14px;
}

.shampoo_seibun .box.bx03 {
    position: relative;
}

.shampoo_seibun .box.bx03::before, .shampoo_seibun .box.bx03::after {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
}

.shampoo_seibun .box.bx03::before {
    background-image: url("../images/shampoo/usagi.png");
    width: 242px;
    height: 242px;
    top: 40%;
    left: -50px;
}

.shampoo_seibun .box.bx03::after {
    background-image: url("../images/shampoo/dog.png");
    width: 291px;
    height: 291px;
    top: 15%;
    right: -60px;
}

.shampoo_seibun .box.bx03 ul.items.f_wrap {
    margin: 0 -6px -12px;
    max-width: 560px;
    margin-inline: auto; }

.shampoo_seibun .box.bx03 ul.items.f_wrap li {
    color: #fff;
    background: #005b2f;
    width: calc(25% - 12px);
    margin: 0 6px 12px;
    text-align: center;
    min-width: 126px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: line-through;
}

.shampoo_neko.parallax.parallax05 {
    height: 600px;
}

.shampoo_neko.parallax.parallax05 .bg {
    height: 1000px;
    background-image: url("../images/shampoo/cat_fukifuki.jpg");
}

.shampoo_kirei {
    background: url("../images/shampoo/kirei_bg.jpg") no-repeat 50% /cover;
    height: 1075px;
    position: relative;
    z-index: 1;
}

.shampoo_kirei::after {
    position: absolute;
    content: "";
    background: url("../images/shampoo/cat.png") no-repeat 50% / contain;
    width: 226px;
    height: 103px;
    bottom: -10px;
    left: 110px;
    z-index: 1;
}

.shampoo_kirei .inner {
    position: relative;
    height: 1075px;
}

.shampoo_kirei .inner .img_area01 {
    position: relative;
}

.shampoo_kirei .inner .img_area01 p.main_img {
    position: absolute;
    top: 155px;
    left: -245px;
}

.shampoo_kirei .inner .img_area01 p.main_img::before {
    position: absolute;
    content: "";
    background: url("../images/shampoo/mizutama.png") no-repeat 50% / contain;
    width: 225px;
    height: 196px;
    top: 330px;
    left: -50px;
    z-index: 1;
}


.shampoo_kirei .inner .img_area01 p.txt {
    position: absolute;
    top: 300px;
    left: 445px;
}


.shampoo_kirei .inner .img_area01 p.raichi {
    position: absolute;
    top: 5px;
    right: -30px;
}

.shampoo_kirei .inner .img_area02 {
    position: relative;
}

.shampoo_kirei .inner .img_area02 p.main_img {
    position: absolute;
    top: 505px;
    left: 420px;
}


.shampoo_kirei .inner .img_area02 p.txt {
    position: absolute;
    top: 726px;
    left: 95px;
}

.shampoo_kirei .inner p.img01 {
    position: absolute;
    top: 255px;
    right: -155px;
}

.shampoo_web.parallax.parallax06 {
    height: 800px;
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.shampoo_web.parallax.parallax06 .bg {
    background-image: url("../images/shampoo/web_bg.jpg");
}

.shampoo_web.parallax.parallax06 .bg {
    padding: 120px 0;
    position: relative;
    z-index: 1;
    height: 1200px;
}

.shampoo_web .base_width {
    max-width: 1370px;
}

.shampoo_web.parallax.parallax06 .bg .inner h2.ttl {
    margin-bottom: 120px;
}

.shampoo_web.parallax.parallax06 .bg .inner p.btn.cmn_pc_shop_btn a {
    margin: 0;
}

@media screen and (max-width: 751px) {
    .page-shampoo .page_promo {
        background-image: url("../images/shampoo/promo_sp.jpg");
        height: 149.3333333vw;
        min-height: auto;
        padding-top: 8vw;
    }

    .page-shampoo h1.ttl {
        width: 70.666666666vw;
    }

    .page-shampoo h1.ttl span.ja {
        padding: 0;
        width: 51.33333333333vw;
    }

    .page-shampoo .page_promo p,main_txt {
        width: 86.66666666666vw;
        position: absolute;
        bottom: 10vw;
        left: 10vw;
    }

    .shampoo_st {
        padding: 18vw 0 11vw;
        font-size: 6.4vw;
    }

    .shampoo_okurimono {
        min-height: auto;
        padding: 17vw 0 0;
        background-image: url("../images/shampoo/okurimono_bg_sp.jpg");
    }

    .shampoo_okurimono .base_width {
        width: calc(100% - 70px);
    }

    .shampoo_okurimono .inner {
        padding: 0 0;
    }

    .shampoo_okurimono .inner .area_a h2.main_ttl {
        font-size: 8.26666666666vw;
        margin-bottom: 7vw;
    }

    .shampoo_okurimono .inner .area_a p.main_txt {
        font-size: 3.466666666666vw;
    }

    .shampoo_okurimono .inner .area_b {
        position: relative;
        margin: -1.5vw auto 0;
        padding-left: 12.5vw;
        top: auto;
        right: auto;
        z-index: 2;
    }

    .shampoo_okurimono .inner .area_b p.img {
        width: 47.4666666666vw;
    }

    .shampoo_seibun {
        margin-top: -14vw;
        position: relative;
        padding: 14vw 0;
    }

    .shampoo_seibun .base_width {
        width: calc(100% - 40px);
    }

    .shampoo_seibun .box {
        padding: 15vw 6vw 15vw;
        border-radius: 4.18877333vw;
        outline-offset: -2.5vw;
        margin-bottom: 10vw;
    }

    .shampoo_seibun .box.bx01 {
        padding-bottom: 22vw;
    }

    .shampoo_seibun .box h2.main_ttl {
        margin-bottom: 10vw;
    }

    .shampoo_seibun .box.bx02 h2.main_ttl {
        width: 66.66666666vw;
        margin: 0 auto 8vw;
    }

    .shampoo_seibun .box.bx03 h2.main_ttl {
        width: 46.13333333vw;
        margin: 0 auto 8vw;
        position: relative;
        z-index: 2;
    }

    .shampoo_seibun .box .inner dl {
        flex-direction: column;
        gap: 4vw;
        margin-bottom: 6vw;
    }

    .shampoo_seibun .box .inner dl dt {
        width: 26.6666666vw;
        margin: 0 auto;
    }

    .shampoo_seibun .box .inner dl dd {
        width: 100%;
        padding: 0 3vw;
    }

    .shampoo_seibun .box .inner dl dd h3.ttl {
        font-size: 3.73333333vw;
        margin-bottom: 3vw;
    }

    .shampoo_seibun .box .inner dl dd p.txt {
        font-size: 3.73333333vw;
        line-height: 1.75;
    }

    .shampoo_seibun .box p.main_lead {
        font-size: 4.8vw;
        margin-bottom: 7vw;
    }

    .shampoo_seibun .box.bx02 ul.items.f_wrap {
        gap: 0;
        margin: 0 -5px 5.5vw;
        justify-content: center;
    }

    .shampoo_seibun .box.bx02 ul.items li {
        width: calc(25% - 10px);
        margin: 0 5px 2px;
    }

    .shampoo_seibun .box.bx02 p.main_txt {
        font-size: 2.93333333333vw;
        text-align: left;
        text-indent: -1em;
        padding-left: 1em;
        margin: 0 4vw;
    }

    .shampoo_seibun .box.bx03 {
        z-index: 0;
    }

    .shampoo_seibun .box.bx03::before, .shampoo_seibun .box.bx03::after {
        /* z-index: -1; */
    }

    .shampoo_seibun .box.bx03::before {
        width: 28.0000000vw;
        height: 28.0000000vw;
        top: 55vw;
        left: -9vw;
    }

    .shampoo_seibun .box.bx03::after {
        width: 33.33333333vw;
        height: 33.33333333vw;
        top: -4vw;
        right: -8vw;
    }

    .shampoo_seibun .box.bx03 ul.items.f_wrap {
        max-width: none;
        padding: 0 9vw;
        margin: 0 -5px -8px;
        position: relative;
    }

    .shampoo_seibun .box.bx03 ul.items.f_wrap li {
        font-size: 3.4666666666vw;
        min-width: auto;
        min-height: auto;
        width: calc(50% - 10px);
        margin: 0 5px 8px;
        padding: 1vw 2vw;
    }

    .shampoo_neko.parallax.parallax05 {
        height: 93.3333333vw;
    }

    .shampoo_neko.parallax.parallax05 .bg {
        height: 133.33333333vw;
        background-image: url("../images/shampoo/cat_fukifuki_sp.jpg");
    }

    .shampoo_kirei {
        padding: 19vw 0 23vw;
        height: auto;
    }

    .shampoo_kirei::after {
        width: 30vw;
        height: 13.4666666vw;
        left: 4vw;
        bottom: -3vw;
    }

    .shampoo_kirei .base_width {
        width: calc(100% - 70px);
    }

    .shampoo_kirei .inner {
        height: auto;
    }

    .shampoo_kirei .inner .img_area01 {
        margin-bottom: 14vw;
        padding-bottom: 21vw;
    }

    .shampoo_kirei .inner .img_area01 p.main_img {
        width: 68vw;
        left: 0;
        position: static;
    }
    
    .shampoo_kirei .inner .img_area01 p.main_img::before {
        width: 21.3333333vw;
        height: 18.66666666666vw;
        left: -11vw;
        top: auto;
        bottom: -10vw;
    }

    .shampoo_kirei .inner .img_area01 p.txt {
        width: 51.733333333vw;
        left: auto;
        top: auto;
        bottom: 0;
        right: -2vw;
    }

    .shampoo_kirei .inner .img_area01 p.raichi {
        width: 61.1999999999vw;
        top: auto;
        bottom: 6vw;
        right: -21vw;
    }

    .shampoo_kirei .inner .img_area02 {
    }

    .shampoo_kirei .inner .img_area02 p.main_img {
        width: 53.3333333333vw;
        left: 0;
        position: static;
        margin-left: auto;
        margin-right: -5vw;
    }

    .shampoo_kirei .inner .img_area02 p.txt {
        width: 45.3333333333vw;
        left: 0;
        top: auto;
        bottom: -3vw;
    }

    .shampoo_kirei .inner p.img01 {
        width: 32vw;
        right: auto;
        top: auto;
        bottom: 20vw;
        left: -9vw;
    }

    .shampoo_web.parallax.parallax06 {
        height: auto;
    }

    .shampoo_web.parallax.parallax06 .bg {
        height: 93.333333333vw;
        background-image: url("../images/shampoo/web_bg_sp.jpg");
        padding: 21.5vw 0;
    }

    .shampoo_web.parallax.parallax06 .bg .inner p.txt {
        width: 51.333333vw;
    }

    .shampoo_web.parallax.parallax06 .bg .inner h2.ttl {
        width: 61.333333vw;
        margin-bottom: 3vw;
    }

    .shampoo_web.parallax.parallax06 .bg .inner p.btn.cmn_pc_shop_btn a {
        width: 54.66666666vw;
        min-height: auto;
        height: 16vw;
        border-radius: 8vw;
    }

    .shampoo_web.parallax.parallax06 .bg .inner p.btn.cmn_pc_shop_btn a span {
        font-size: 4.266666666vw;
    }

    .shampoo_web.parallax.parallax06 .bg .inner p.btn.cmn_pc_shop_btn a .montserrat {
        font-size: 5.3333333vw;
        margin-top: 3px;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
404
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo.letter404 {
    padding-top: 212px;
}

.page_promo.letter404::after {
    width: 35vw;
    top: 85%;
}

@media (min-width: 751px) and (max-width: 1800px) {
    .page_promo.letter404::after {
        right: calc(50% - 888px);
        z-index: -1;
    }
}

.page_promo.letter404 .promo_inner h1 .slug {
    font-size: 110px;
}

.page_404 h2 {
    font-size: 42px;
    text-align: center;
    margin-bottom: 32px;
}

.page_404 p.txt {
    font-size: 22px;
    letter-spacing: .1em;
    text-align: center;
    line-height: 2.25;
    margin-bottom: 65px;
}

.page_404 p.btn {
}

.page_404 p.btn a {
    margin: 0 auto;
    text-align: center;
}

.page_404 p.btn a:hover {
    background: #00a99d;
    color: #fff;
}

@media (max-width: 750px) {
    .page_promo.letter404 {
        padding-top: 90px;
    }

    .page_promo.letter404::after {
        top: 73%;
    }

    .page_promo.letter404 .promo_inner h1 .slug {
        font-size: 10.6666666vw;
        line-height: 1.15;
    }

    .page_404 h2 {
        font-size: 6.6666666vw;
        margin-bottom: 12vw;
        text-align: left;
    }

    .page_404 p.txt {
        text-align: left;
        margin-bottom: 12vw;
        font-size: 4vw;
        line-height: 2;
    }

    .page_404 p.btn {
    }

    .page_404 p.btn a {
        min-width: auto;
        font-size: 4vw;
        border-radius: 9.3333333333vw;
        width: 68vw;
        height: 18.6666666vw;
        padding: 3vw 35px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

}
