@charset "UTF-8";

a,
a:hover,
a:visited {
    /* color: white; */
    text-decoration: none;
}

#html-body {
    background: transparent !important;
}

body {
    margin: auto;
}

/* store-ページ遷移表示 */
.breadcrumbs {
    display: none;
}

.columns .column.main {
    padding-bottom: 0;
}

.page-header {
    margin-bottom: 0;
    background: #fff;
}

/* store */
/*position:stickey;を適用するために必須*/
.page-layout-1column,
.page-layout-2columns-left,
.page-layout-2columns-right,
.page-layout-1column-fullwidth {
    overflow-x: visible !important;
}

/* △▼△ kafun-feature25 △▼△ */

/* === all === */

.kafun-feature__wrap {
    background: url("../../../../img/event/kafun-feature/2025/bg.jpg") repeat top center;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

section {
    margin: 50px auto;
    padding: 50px 0;
}

.ctg__ttl {
    max-width: 100%;
    margin: auto;
}

.ctg__intro {
    color: #5a524c;
    text-align: center;
    font-size: x-large;
    padding: 30px 0;
}

.ctg__intro p span {
    font-size: small;
}

@media screen and (max-width:768px) {

    section {
        margin: auto;
    }

    .ctg__intro {
        font-size: large;
        padding: 15px 0 0;
    }

}

/* === mv === */

.kafun-feature__wrap .mv--area {
    padding: 0 0 25px;
    text-align: center;
}

.kafun-feature__intro {
    padding: 0 20px 35px;
    margin: 0 auto 30px;
}

.kafun-feature__intro p {
    color: #454545;
    text-align: center;
    font-size: xx-large;
    padding-top: 25px;
}

@media screen and (max-width:768px) {

    .kafun-feature__wrap {
        background: url("../../../../img/event/kafun-feature/2025/sp_bg.jpg") repeat top center;
    }

    .kafun-feature__intro {
        margin: auto;
    }

    .kafun-feature__intro p {
        font-size: large;
    }

}

/* カテゴリナビ */
.t-header {
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: auto;
    position: sticky;
    top: 0;
    padding: 10px 0px;
    width: 100%;
    background-color: #42c41e;
    margin: auto;
    z-index: 9;
}

/* LPページ-カテゴリバー */

.t-header .inner {
    margin: auto;
    max-width: 100%;
}

.t-header .flexbox {
    -ms-flex-align: center;
    -ms-flex-pack: justify;
    -webkit-box-align: center;
    -webkit-box-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
}

.link-current {
    font-weight: bold;
    border-bottom: 4px solid #ffe500;
}

.nav-global div:last-child {
    margin-right: 0;
    border-right: none;
}

.nav-gloval-list {
    padding: 20px 35px;
    border-right: 5px dotted #fff;
}

.anchor-box::before {
    display: block;
    height: 61px;
    margin-top: -111px;
    content: "";
}

.flexbox a {
    color: #fff;
    text-decoration: none;
    background-color: #42c41e;
    font-size: clamp(20px, 1vw, 25px);
}

@media screen and (max-width:768px) {
    .t-header {
        flex-wrap: wrap;
        overflow: scroll;
        padding: 5px 0;
    }

    .t-header .flexbox {
        display: -webkit-inline-box !important;
    }

    .flexbox a {
        font-size: clamp(16px, 1vw, 25px);
    }

    .nav-gloval-list {
        padding: 10px 20px;
    }
}

/* === ctg === */

.ctg__box {
    max-width: 1200px;
    margin: auto;
    padding: 50px 30px;
    background-color: rgba(255, 255, 255, .85);
}

#menu01 .ctg__box,
#menu03 .ctg__box {
    border: solid 5px #A0E15F;
    outline: solid 5px #A0E15F;
    outline-offset: 12px;
}

#menu02 .ctg__box,
#menu04 .ctg__box {
    border: solid 5px #EDD537;
    outline: solid 5px #EDD537;
    outline-offset: 12px;
}

.ctg__pickup,
.ctg__other {
    margin: auto;
}

#menu03 .ctg__pickup .ttl p {
    font-size: xx-large;
    font-weight: bold;
    color: #42c41e;
    max-width: 500px;
    margin: auto;
}

.ctg__pickup .ttl {
    text-align: center;
}

.ctg__pickup .ttl img {
    width: 40%;
}

.ctg__pickup .pickup-detail {
    padding: 20px 0;
    margin-bottom: 30px;
}

.ctg__pickup .pickup-detail .pickup-detail_img {
    text-align: center;
}

.ctg__pickup .pickup-detail .pickup-detail_img img {
    box-shadow: 10px 10px 0 #a0e15f;
}

#menu01 .ctg__pickup .pickup-detail .pickup-detail_txt,
#menu03 .ctg__pickup .pickup-detail .pickup-detail_txt {
    font-size: x-large;
    text-align: left;
}

#menu01 .ctg__pickup .pickup-detail .pickup-detail_txt {
    padding: 30px 20px 0 20px;
}

#menu03 .ctg__pickup .pickup-detail .pickup-detail_txt {
    padding: 100px 20px 0 20px;
}

.ctg__pickup .pickup-detail .pickup-detail_txt .name {
    color: #42c41e;
    font-weight: bold;
}

.ctg__pickup .pickup-detail .pickup-detail_txt .value {
    color: #f65e34;
    font-size: xx-large;
    font-weight: bold;
}

.ctg__pickup .pickup-detail .pickup-detail_txt .name span,
.ctg__pickup .pickup-detail .pickup-detail_txt .value span {
    font-size: large;
    font-weight: 100;
}

.ctg__pickup .pickup-detail .pickup-detail_txt .review {
    color: #5a524c;
    font-size: large;
}

.ctg__pickup .pickup-detail .pickup-detail_txt .btn {
    padding: 15px 0;
}

.ctg__other .ttl p {
    font-size: xx-large;
    font-weight: bold;
    min-width: calc(100% / 3);
    text-align: center;
}

.ctg__other .ttl.dotted-line,
#menu03 .ctg__pickup .ttl.dotted-line {
    display: flex;
    text-align: center;
    margin: 50px auto 10px;
}

#menu01 .ctg__other .ttl p,
#menu03 .ctg__other .ttl p {
    color: #42c41e;
}

#menu02 .ctg__other .ttl p,
#menu04 .ctg__other .ttl p {
    color: #efab17;
}

#menu01 .ctg__other .ttl::before,
#menu03 .ctg__other .ttl::before,
#menu03 .ctg__pickup .ttl::before,
#menu01 .ctg__other .ttl::after,
#menu03 .ctg__other .ttl::after,
#menu03 .ctg__pickup .ttl::after {
    content: url("../../../../img/event/kafun-feature/2025/title_line_green.svg");
    display: block;
    width: calc(100% / 3);
    height: 50px;
}

#menu01 .ctg__other .ttl.mask::before,
#menu03 .ctg__pickup .ttl::before,
#menu01 .ctg__other .ttl.mask::after,
#menu03 .ctg__pickup .ttl::after {
    padding-top: 35px;
}

#menu01 .ctg__other .ttl.hikarisyokubai::before,
#menu01 .ctg__other .ttl.hikarisyokubai::after {
    padding-top: 15px;
}

#menu03 .ctg__other .ttl::before,
#menu03 .ctg__other .ttl::after {
    padding-top: 18px;
}

#menu02 .ctg__other .ttl::before,
#menu04 .ctg__other .ttl::before,
#menu02 .ctg__other .ttl::after,
#menu04 .ctg__other .ttl::after {
    content: url("../../../../img/event/kafun-feature/2025/title_line_yellow.svg");
    display: block;
    width: calc(100% / 3);
    height: 50px;
    padding-top: 15px;
}

.ctg__other .intro-txt p {
    color: #5a524c;
    font-size: large;
    text-align: center;
}

.ctg__other .intro-txt p span {
    font-size: small;
}

@media screen and (max-width:820px) {

    .ctg__other .ttl.dotted-line,
    #menu03 .ctg__pickup .ttl.dotted-line {
        display: block;
    }

    #menu01 .ctg__other .ttl::before,
    #menu03 .ctg__other .ttl::before,
    #menu03 .ctg__pickup .ttl::before,
    #menu01 .ctg__other .ttl::after,
    #menu03 .ctg__other .ttl::after,
    #menu03 .ctg__pickup .ttl::after {
        display: none;
    }

    #menu02 .ctg__other .ttl::before,
    #menu04 .ctg__other .ttl::before,
    #menu02 .ctg__other .ttl::after,
    #menu04 .ctg__other .ttl::after {
        display: none;
    }

    #menu01 .ctg__pickup .pickup-detail .pickup-detail_txt,
    #menu03 .ctg__pickup .pickup-detail .pickup-detail_txt {
        font-size: x-large;
        text-align: center;
        padding: 15px 10px 0;
    }

    #menu01 .ctg__box,
    #menu03 .ctg__box {
        border: solid 3px #A0E15F;
        outline: solid 3px #A0E15F;
        outline-offset: 3px;
    }

    #menu02 .ctg__box,
    #menu04 .ctg__box {
        border: solid 3px #EDD537;
        outline: solid 3px #EDD537;
        outline-offset: 3px;
    }

    .ctg__other .ttl p {
        min-width: 100%;
    }

}

@media screen and (max-width:767px) {

    .ctg__pickup .ttl img {
        width: 100%;
    }

    .ctg__pickup .pickup-detail .pickup-detail_img img {
        box-shadow: 4px 4px 0 #a0e15f;
        margin: auto auto 10px auto;
    }

}

/* === column === */

.ctg-column {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

.ctg-column .ctg__box {
    max-width: none;
    padding: 0;
}

.ctg-column .ctg__ttl {
    margin: auto auto 15px;
    max-width: none;
    background: url("../../../../img/event/kafun-feature/2025/column_title_bg.jpg") repeat top center;
    text-align: center;
}

.ctg-column .ctg__ttl img {
    padding: 15px 0;
}

.ctg-column .item__area {
    display: flex;
}

.ctg-column .articles {
    border: 1px solid #ccc;
    border-radius: 1px;
    background: #fff;
    margin: 30px auto;
    /* height: 430px !important; */
}

.ctg-column .articles .detail {
    padding: 10px;
}

.ctg-column .articles.shampoo-review .detail {
    padding: 10px 10px 20px;
}

.ctg-column .articles .detail .ttl {
    font-weight: bold;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: initial;
    white-space: unset;
}

@media screen and (max-width:768px) {

    .ctg-column .ctg__ttl {
        background: url("../../../../img/event/kafun-feature/2025/sp_column_title_bg.jpg") repeat top center;
    }

    .ctg-column .ctg__ttl img {
        width: 95%;
        padding: 0;
    }

}

@media screen and (max-width:767px) {

    .ctg-column .articles .detail {
        padding: 5px;
    }

    .ctg-column .articles.shampoo-review .detail {
        padding: 5px 5px 20px;
    }
}

@media screen and (max-width:541px) {

    .ctg-column .articles.shampoo-review .detail {
        padding: 5px;
    }
}


/*==================================================
スライダーのためのcss
===================================*/
.slider {
    max-width: 1080px;
    margin: 0 auto;
}

.slider img {
    width: 100%;
    height: auto;
}

.slider .slick-slide {
    margin: 0 10px;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
/* .slick-prev,
.slick-next {
    position: absolute;
    絶対配置にする
    top: 42%;
    cursor: pointer;
    マウスカーソルを指マークに
    outline: none;
    クリックをしたら出てくる枠線を消す
    border-top: 2px solid #666;
    矢印の色
    border-right: 2px solid #666;
    矢印の色
    height: 15px;
    width: 15px;
} */

.slick-prev {
    /* 戻る矢印の位置と形状 */
    left: -3.0%;
    transform: rotate(0deg);
    background: #ddd !important;
}

.slick-next {
    /* 次へ矢印の位置と形状 */
    right: -5.0%;
    transform: rotate(0deg);
    background: #ddd !important;
}

/*ドットナビゲーションの設定*/

.slick-dots {
    margin: -25px 0 0;
}

.slick-dots li {
    display: inline-block;
    margin: 0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width: 8px;
    /*ドットボタンのサイズ*/
    height: 8px;
    /*ドットボタンのサイズ*/
    display: block;
    border-radius: 50%;
    background: #ccc;
    /*ドットボタンの色*/
}

.slick-dots .slick-active button {
    background: #333;
    /*ドットボタンの現在地表示の色*/
}

@media screen and (max-width:1200px) {

    .slider {
        max-width: 90%;
    }

    .slider .slick-slide {
        margin: 0 5px 0 0;
    }

    .slick-list.draggable {
        width: 75%;
        margin: 0 auto -25px;
    }

    .slick-prev {
        /* 戻る矢印の位置と形状 */
        left: 5.0%;
    }

    .slick-next {
        /* 次へ矢印の位置と形状 */
        right: 6.0%;
    }

    .slick-dots {
        padding: 0 0 15px 0;
    }

}

@media screen and (max-width:769px) {

    .slider {
        max-width: 100%;
    }

    .slider .slick-slide {
        margin: 0 5px 0 0;
    }

    .slick-list.draggable {
        width: 75%;
        margin: 0 auto -25px;
    }

    .slick-prev {
        /* 戻る矢印の位置と形状 */
        left: 0.25%;
    }

    .slick-next {
        /* 次へ矢印の位置と形状 */
        right: 1.0%;
    }

    .slick-dots {
        padding: 0 0 15px 0;
    }

}



@media screen and (max-width:767px) {

    .kafun-feature__mv--area {
        padding: 0 0 50px;
    }

    .pickup__item--name {
        text-align: center;
        font-size: large;
    }

    .pickup__item--price {
        text-align: center;
        font-size: x-large;
    }

    .pickup__item--price span {
        font-size: small;
    }

    .pickup__item--review {
        font-size: medium;
    }

    .pickup__item--review h2 {
        font-size: medium;
        text-align: center;
    }

    .pickup__item--review p {
        font-size: small;
        text-align: center;
    }

    .pickup__item--btn {
        margin: auto;
        margin-top: 10px;
    }

    .ctg__images--area img,
    .pickup__images--area img {
        width: calc(100% / 2 - 10px);
        margin: 5px;
    }

    .ctg__intro--txt {
        font-size: large;
        line-height: 3rem;
        text-align: center;
    }

}


/* 商品 */

.action.primary,
.action-primary {
    /* background: #F88F2F;
    border: 1px solid #F88F2F;
    width: 170px; */
    display: none;
}

.widget-product-grid .product-reviews-summary {
    display: none !important;
}

/* .action.primary:hover,
.action-primary:hover {
    background: #F88F2F;
    border: 1px solid #F88F2F;
} */

.ctg01 .product-item,
.ctg03 .product-item {
    background: #fff;
    border: 1px solid #000;
    border-radius: 1px;
    box-shadow: 10px 10px 0px #C5F5FF;
}

.ctg02 .product-item,
.ctg04 .product-item {
    background: #fff;
    border: 1px solid #000;
    border-radius: 1px;
    box-shadow: 10px 10px 0px #FFEBC5;
}

.item__area {
    padding: 25px 0 0 0;
}

[data-content-type=row] li.product-item .action.primary,
[data-content-type=row] li.product-item .action-primary {
    text-align: center;
}

.product-item-details {
    padding: 5px 10px;
}

#menu01 li.product-item,
#menu03 li.product-item {
    border: 3px solid #C8EE9C;
    padding: 5px;
    border-radius: 2px;
    box-shadow: 0 0 5px #bbb;
    margin-bottom: 10px;
}

#menu02 li.product-item,
#menu04 li.product-item {
    border: 3px solid #EEDE9C;
    padding: 5px;
    border-radius: 2px;
    box-shadow: 0 0 5px #ddd;
    margin-bottom: 10px;
}

.product-items .product-item .product-item-details a {
    font-size: 1.3rem;
    font-weight: 700;
    color: #4C4C4C;
    text-decoration: none;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.6;
    text-overflow: initial;
    white-space: unset;
}

.products-grid .price-box .price-wrapper .price {
    color: #FF5841;
    font-size: 2.0rem;
}


.product-items .product-item-info span.rewards__product-points,
.product-item-actions .actions-secondary,
.product-item-actions .actions-primary {
    display: none;
}


@media screen and (max-width: 768px) {

    .anchor-box::before {
        height: 9.2rem;
        margin-top: -9.2rem;
    }

    .action.primary,
    .action-primary {
        width: auto;
    }

}


@media screen and (max-width:767px) {

    .ctg__box {
        padding: 10px;
    }

    .ctg__ttl p {
        font-size: x-large;
    }

    .ctg__pickup,
    .ctg__other {
        width: 100%;
    }

    .item__area {
        padding: 30px 0 0 0;
    }

}