/*====================

  全体

====================*/
html {
    scroll-behavior: smooth;
}



#uchiiwai {
    position: relative;
    background-color: #f9f9f9;
}

#uchiiwai section {
    padding: 60px 0;
}

#uchiiwai section>section {
    padding: 0;
}

.inner {
    padding: 0 3%
}


.area-title_box {
    margin-bottom: 50px;
    text-align: center;
}

.area-title,
.bottom_slider h2 {
    font-size: 2.4rem;
    position: relative;
    margin-bottom: 10px;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

.bottom_slider h2 {
    text-align: center;
}



.area-title span {
    font-size: 1.4rem;
    font-weight: 500;
    display: block;
}

.area-title .area-title-page_name {
    font-size: 2.4rem;
    margin-bottom: -5px;
}

.area-title:before {
    position: absolute;
    top: -30px;
    left: 50%;
    width: 43px;
    height: 30px;
    background: url(/uchiiwai/images/mizuhiki.svg) no-repeat 0 0;
    background-size: cover;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    content: "";
}

.area-lead-box {
    padding: 40px 20px 0;
    text-align: center;
}

.area-lead {
    display: block;
    line-height: 2;
}

.btn-box {
    background-color: #cc2200;
    width: 100%;
    max-width: 600px;
    text-align: center;
    position: relative;
    margin: 20px auto 0;
    border: 2px solid #cc2200;
}

.btn-box .btn {
    font-size: 1.5rem;
    color: #fff;
    font-weight: bold;
    width: 100%;
    padding: 10px;
    display: block;
}

.btn-box .btn span {
    display: block;
    font-size: 1rem;
}

.btn-box::after {
    content: "";
    display: block;
    position: absolute;
    background-image: url('/images/icon-arrow-right-wh.svg');
    background-size: 100%;
    width: 7px;
    height: 12px;
    top: 50%;
    right: 3%;
    margin: auto;
    transform: translate(-50%, -50%);
}

.btn-box:hover {
    border: 2px solid #cc2200;
    background-color: #fff;
    transition: 0.5s;
}

.btn-box:hover::after {
    content: "";
    display: block;
    position: absolute;
    background-image: url('/images/icon-arrow-right-rd.svg');
    background-size: 100%;
    width: 7px;
    height: 12px;
    top: 50%;
    right: 3%;
    margin: auto;
    transform: translate(-50%, -50%);
}

.btn-box:hover .btn {
    color: #cc2200;
}

.pc_only {
    display: none;
}

.sp_only {
    display: block;
}

@media only screen and (min-width: 768px) {
    .pc_only {
        display: block;
    }

    .sp_only {
        display: none;
    }
}



@media only screen and (min-width: 768px) {
    #uchiiwai {
        position: relative;
        background-repeat: repeat-y, repeat-y;
        background-position: left top, right 150px;
        background-size: 25%, 25%;
    }


    .inner {
        position: relative;
        max-width: 1100px;
        margin: 0 auto;
        padding: 35px 50px 80px !important;
    }

    .sp_only {
        display: none;
    }

    .sp_hidden {
        display: block;
    }

    .area-title {
        font-size: 4rem;
    }

    .area-title .area-title-page_name {
        font-size: 4rem;
        margin-bottom: -5px;
    }

    .area-lead {
        font-size: 1.8rem;
    }

    .btn-box {
        margin: 40px auto 0;
        max-width: 400px;
    }

    .btn-box .btn {
        font-size: 1.5rem;
        color: #fff;
        font-weight: bold;
    }
}

/*====================

  メイン画像

====================*/
.mainvisual-area {
    padding: 0 !important;
    position: relative;
}

.mainvisual-area-pic {
    width: 100%;
    display: flex;
    justify-content: center;
    background-repeat: no-repeat;
    background-image: url(/uchiiwai/images/mv-sp.jpg);
    height: auto;
    background-size: cover;
    /* padding: 100px 0px; */
    background-position: center;
    align-items: center;
    height: 250px;
}


.mainvisual-area-pic .mainvisual-area-box-maintitle .mainvisual-area-box-subtitle {
    font-size: 3.5rem;
    margin: 10px auto 0;
    letter-spacing: 1px;
    width: auto;
    display: block;
}

.mainvisual-area-pic .mainvisual-area-box-maintitle {
    font-size: 6vw;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 5px;
    font-family: "Noto Serif JP", serif;
}

.mainvisual-area-pic .mainvisual-area-box-maintitle span {
    font-size: 2.5rem;
    /* padding-bottom: 58px; */
    margin: 10px auto 20px;
    letter-spacing: 1px;
    display: inline-block;
}

.mainvisual-area-box {
    background-color: rgba(255, 255, 255, 0.9);
    width: 80%;
    text-align: center;
    border: solid 3px #cc2200;
    color: #333;
    padding: 40px 0px 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mainvisual-icon-mizuhiki {
    width: 40px;
    margin: auto;
}

@media only screen and (min-width: 768px) {
    .mainvisual-area-pic {
        background-image: url(/uchiiwai/images/mv-pc.jpg);
        height: 400px;
        padding: 0px;
    }



    .mainvisual-area-pic .mainvisual-area-box-maintitle span {
        font-size: 2.5rem;
        padding-bottom: 10px;
        margin-bottom: 10px;
        letter-spacing: 1px;
        display: inline-block;
    }



    .mainvisual-area-pic .mainvisual-area-box-maintitle .mainvisual-area-box-subtitle {
        display: inline-block;
    }

    .mainvisual-area-pic .mainvisual-area-box-maintitle {
        font-size: 4.5rem;
    }

    .mainvisual-area-box {
        width: fit-content;
        justify-content: center;
        padding: 40px 60px 60px;
    }

    .mainvisual-area-pic .mainvisual-area-box-maintitle .mainvisual-area-box-subtitle {
        font-size: 3.5rem;
        display: block;
        width: 300px;
    }

    .mainvisual-area-box .mainvisual-area-box-soki {
        width: 50%;
        margin-top: 10px;
    }
}

/*====================

メインリード

====================*/
.main-lead-area {
    text-align: center;
    padding: 30px 0 0
}

.main-lead-area .area-title:before {
    display: none;
}


/*====================

用途で選ぶ

====================*/
.youto-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 20px;
}

.youto-box {
    width: 100%;
    height: auto;
}

.youto-box:nth-of-type(n + 3) {
    width: 48%;
}

.youto-item {
    background-color: #fff;
    height: 100%;
}

.youto-item-text_box {
    padding: 10px 8px;
}

.youto-item-text_box-name {
    margin-bottom: 5px;
    text-align: center;
    font-size: 3.25vw;
    font-weight: bold;
}

.youto-box:nth-child(-n+2) .youto-item-text_box-name {
    font-size: 4.5vw;
}

.youto-item-text_box-name span {
    font-size: 2vw;
    display: block;
}


.youto-box:nth-child(-n+2) .youto-item-text_box-txt {
    line-height: 2;
}

.youto-item-text_box-txt {
    font-size: 2.75vw;
}

@media screen and (min-width: 768px) {
    .youto-box {
        width: 48%;
        height: auto;
    }

    .youto-box:nth-of-type(n + 3) {
        width: 30%;
    }

    .youto-box:nth-child(-n+2) .youto-item-text_box-name {
        font-size: 18px;
    }

    .youto-item-text_box-name {
        font-size: 18px;
    }

    .youto-item-text_box-txt {
        font-size: 13px;
        line-height: 2;
    }



}

/*====================

価格で選ぶ

====================*/


.price-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 20px;
}

.price-box {
    width: 48%;
}

.price-box .btn-box {
    margin: 0 auto;
}

.price-box .btn-box a {
    font-size: 3vw;
}



@media screen and (min-width: 768px) {
    .price-box {
        width: 32%;
    }

    .price-box .btn-box a {
        font-size: inherit;
    }

}


/*====================

人気特集

====================*/
.feature-list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 20px;
}

.feature-box {
    width: 48%;
    background: #fff;
    margin-right: 4%;
}

.feature-box:nth-of-type(2n) {
    margin-right: 0;
}

.feature-item-text_box {
    padding: 10px 8px;
}

.feature-item-text_box-name {
    margin-bottom: 5px;
    text-align: center;
    font-size: 3.25vw;
    font-weight: bold;
}

.feature-item-text_box-txt {
    font-size: 2.75vw;
}


@media screen and (min-width: 768px) {
    .feature-box {
        width: 30%;
        margin-right: 5%;
    }

    .feature-box:nth-of-type(2n) {
        margin-right: 5%;
    }

    .feature-box:nth-of-type(3n) {
        margin-right: 0;
    }

    .feature-item-text_box-name {
        font-size: 15px;
    }

    .feature-item-text_box-txt {
        font-size: 12px;
    }


}

/*====================

カタログギフト

====================*/

.cataloggift-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 20px;
}

.cataloggift-box {
    width: 48%;
    background-color: #fff;
}

.cataloggift-item-text_box {
    padding: 10px 8px;
}

.cataloggift-item-text_box-name {
    margin-bottom: 5px;
    text-align: center;
    font-size: 3.25vw;
    font-weight: bold;
}

.cataloggift-item-text_box-name span {
    font-size: 2vw;
    display: block;
}

.cataloggift-item-text_box-txt {
    font-size: 2.75vw;
}

@media screen and (min-width: 768px) {
    .cataloggift-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 20px;
    }

    .cataloggift-box {
        flex: 0 0 calc((100% - 60px) / 4);
        box-sizing: border-box;
    }

    .cataloggift-box:nth-child(4n) {
        margin-right: 0;
    }

    .cataloggift-item-text_box-name {
        font-size: 18px;
    }

    .cataloggift-item-text_box-name span {
        font-size: 12px;
    }

    .cataloggift-item-text_box-txt {
        font-size: 12px;
    }

}

/*====================

メッセージカード

====================*/
.messagecard-point-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    border: 1px solid #999;
    margin-bottom: 10px;
}

.messagecard-point-number {
    width: 20%;
    border-right: 1px solid #333;
    justify-content: center;
    display: flex;
}

.messagecard-point-number span {
    width: 60%;
}

.messagecard-point-txt {
    width: 70%;
    text-align: center;
    font-weight: bold;
}

.messagecard-hero-block {
    margin: -30px auto 30px;
}

.messagecard-area-point-block-title {
    color: #00b3d3;
    font-weight: bold;
    text-align: center;
    width: fit-content;
    margin: 0 auto 15px;
    font-size: 2.4rem;
}

.messagecard-area-point-block-title span {
    position: relative;
    margin-bottom: 5px;
    padding: 5px 10px;
    background-color: #00b3d3;
    color: #fff;
    font-weight: bold;
    display: block;
    font-size: 1.5rem;
}

.messagecard-area-point-block-title em {
    font-size: 2.4em;
    line-height: 1;
    font-weight: bold;
}

@media screen and (min-width: 768px) {
    .messagecard-point-list {
        margin: auto;
        display: flex;
        justify-content: space-between;
    }

    .messagecard-point-item {
        width: 32%;
    }

    .messagecard-point-txt {
        font-size: 20px;
    }

}


/*====================

 シーン別

====================*/
.scene-area {
    counter-reset: count-number;
}

.scene-list-head-title {
    position: relative;
    padding: 0 0 8px 60px;
    min-height: 62px;
    display: flex;
    align-items: center;
}


.scene-list-head-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 55px;
    height: 55px;
    border-radius: 100%;
    background-color: #6177d4;
}


.scene-list-head-title span {
    line-height: 1.2;
    font-size: 2rem;
    font-weight: bold;
}

.scene-list-head-title span:after,
.scene-list-head-title span:before {
    position: absolute;
    color: #fff;
    width: 55px;
    text-align: center;
    left: 0;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1px
}

.scene-list-head-title span:before {
    content: 'Scene';
    font-size: 1rem;
    top: 13px
}

.scene-list-head-title span:after {
    counter-increment: count-number;
    content: counters(count-number, ".") " ";
    font-size: 2rem;
    top: 26px
}

.scene-list-head-pic {
    margin-bottom: 10px;
}

.scene-list-head-txt {
    line-height: 2;
    margin-bottom: 20px;
}

.scene-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 20px;
}

.scene-box {
    width: 48%;
    height: auto;
    border: 1px solid #d9d9d9;
    padding: 5px;
}

.scene-item {
    background-color: #fff;
    height: 100%;
}


.scene-item-name {
    margin-bottom: 5px;
    text-align: center;
    font-size: 3.25vw;
    font-weight: bold;
}

.scene-item-text_box {
    padding: 10px 8px;
}

.scene-item-txt {
    font-size: 2.75vw;
}

.scene-block {
    background-color: #fff;
    padding: 10px !important;
    margin-bottom: 20px;
}

.scene-list-head {
    padding: 0 0 25px 0;
}

@media screen and (min-width: 768px) {
    .scene-block {
        display: flex;
        justify-content: space-evenly;
    }

    .scene-box {
        width: 48%;
    }

    .scene-list-head {
        width: 30%;
    }

    .scene-list-head-txt {
        margin-bottom: 0;
    }

    .scene-list {
        width: 68%;
    }

    .scene-item {
        display: flex;
        align-items: center;
    }

    .scene-item-pic {
        width: 30%;
    }

    .scene-item-text_box {
        width: 70%;
    }


    .scene-item-name {
        font-size: 16px;
    }

    .scene-item-txt {
        font-size: 12px;

    }



}

/*====================

コラム・豆知識

====================*/

.tips-area {
    padding: 60px 10px;
}

.tips-block {
    justify-self: center;
}

.tips-box {
    margin-bottom: 2rem;
    padding: 20px;
    color: #444;
    background-color: #fff;
}

.tips-box .tips-box-link {
    font-weight: bold;
    margin-top: 10px;
}

.tips-box .tips-box-link a {
    font-weight: bold;
}

.tips-box h3 {
    position: relative;
    margin-bottom: 2.4rem;
    padding-bottom: 10px;
    border-bottom: 2px solid #cc2200;
    font-weight: 700;
    font-size: 1.8rem;
    width: fit-content;
}

.tips-box h3::before {
    content: "Q.";
    font-weight: bold;
    font-size: 2rem;
}

.tips-box-txt {
    margin-bottom: 3rem;
}

.tips-box-txt::before {
    content: "A.";
    font-weight: bold;
    font-size: 2rem;
}

.tips-box ul {
    margin-bottom: 1.5rem;
}

.tips-box ul li {
    font-weight: 700;
}

.tips-box-txt-link {
    border-bottom: 2px solid #cc2200;
    width: fit-content;
    line-height: 1.75;
}



.tips-box-txt-link a {
    font-weight: 700;
}

.tips-box-txt-link a span {
    background: #f7f7f7;
    margin-right: 5px;
    font-weight: 700;
    padding: 5px 10px;
    display: block;
    width: fit-content;
}

.other-tips-block {
    margin-top: 60px;
}

.other-tips-list {
    display: flex;
    flex-wrap: wrap;
}

.other-tips-item {
    border: 1px solid #f9f9f9;
    background-color: #fff;
    width: 100%;
}

.other-tips-title_box {
    width: 100%;
}

.other-tips-title {
    background-color: #cc2200;
    color: #fff;
    border-radius: 10px 10px 0 0;
    font-weight: bold;
    padding: 10px;
    width: fit-content;
}

.other-tips-item a {
    font-weight: bold;
    display: block;
    padding: 10px;
    background-color: #fff;
}

.other-tips-item a::after {
    content: "";
    display: block;
    position: absolute;
    background-image: url(/images/icon-arrow-right-rd.svg);
    background-size: 100%;
    width: 7px;
    height: 12px;
    top: 50%;
    right: 3%;
    margin: auto;
    transform: translate(-50%, -50%);
}

.other-tips-item a:hover {
    background-color: #cc2200;
    color: #fff;
}

.other-tips-item a:hover::after {
    background-image: url(/images/icon-arrow-right-wh.svg);
}


@media screen and (min-width: 768px) {
    .other-tips-item {
        width: calc(100% / 3);
    }


    .tips-box-txt-link a span {
        display: inline;
    }

    .other-tips-block {
        margin-top: 120px;
    }


}

/*---------------

スワイパー設定

------------------*/
.swiper-container.product-slider-container {
    position: relative;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    content: none !important;
}

.swiper-button-next {
    background-image: url(/cmn/images/arrow.svg);
    right: -10px;
}

.swiper-button-prev {
    background-image: url(/cmn/images/arrow.svg);
    transform: scale(-1, 1);
    left: -10px;
}

.swiper-pagination {
    position: relative;
    margin-top: 10px;
}

.swiper-pagination-bullet-active {
    background-color: #cc2200;
}