@charset "UTF-8";

body {
    margin: auto;
}

/* store */
/*position:stickey;を適用するために必須*/
.page-layout-1column,
.page-layout-2columns-left,
.page-layout-2columns-right,
.page-layout-1column-fullwidth {
    overflow-x: visible !important;
}

/* ＊＊＊ cocoro-summer-fair26 ＊＊＊ */

/* === lp all === */
.lp__wrap--para {
    text-align: center;
    padding-bottom: 50px;
    color: #fff;
    font-size: clamp(14px, 1.95vw, 20px);
    font-family: serif;
}

.lp__wrap--para::before {
    background: url("../../../../img/event/cocoro-summer-fair/2026/bg.jpg");
    background-color: #050d60;
    background-size: cover;
    background-position: top center;
    background-repeat: repeat;
}

.lp__wrap--para a,
.lp__wrap--para a:hover,
.lp__wrap--para a:visited {
    color: #fff;
}

@media screen and (min-width: 820px) {

    .sp-visible_lg {
        display: none;
    }

}


@media screen and (max-width: 819px) {

    .pc-visible_lg {
        display: none;
    }

}

@media screen and (max-width:820px) {

    .lp__wrap--para::before {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_bg.jpg");
        background-color: #050d60;
        background-size: cover;
        background-position: top center;
        background-repeat: repeat;
    }

}


/* === mv&feature-intro === */
.cocoro-summer-fair__wrap .mv--area {
    text-align: center;
    margin: auto;
}

.cocoro-summer-fair__wrap .mv--area img {
    width: 80%;
    max-width: 1500px;
}

@media screen and (max-width:819px) {
    .cocoro-summer-fair__wrap .mv--area img {
        width: 100%;
    }
}


/* == navigation == */
.t-header {
    /* -webkit-box-shadow: 0px 2px 10px #7f5933;
    box-shadow: 0px 2px 10px #7f5933; */
    height: auto;
    position: sticky;
    top: 0;
    padding: 20px 0;
    width: 100%;
    background: url("../../../../img/event/cocoro-summer-fair/2026/nav_bg.png") repeat-x;
    background-size: contain;
    margin: auto;
    z-index: 9;
}

.t-header .inner {
    margin: auto;
    width: 95%;
    max-width: 1250px;
}

.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 #ff9d33;
}

.nav-global {
    width: 100%;
}

.nav-global div:last-child {
    margin-right: 0;
}

.nav-gloval-list {
    padding: 0 5px;
}

@media screen and (max-width:820px) {
    .t-header {
        flex-wrap: wrap;
        overflow: scroll;
        padding: 10px 0;
    }

    .t-header .inner {
        width: 100%;
    }

    .t-header .flexbox {
        display: -webkit-inline-box !important;
    }

    .flexbox a {
        font-size: clamp(16px, 1vw, 25px);
    }

    .nav-gloval-list {
        /* padding: 0 15px; */
        width: calc(100% / 4.5);
    }
}

@media screen and (max-width:767px) {
    .nav-gloval-list {
        width: calc(100% / 3.5);
    }
}


/*==================================================
スライダーのためのcss
===================================*/
/* スライダー全体 */
.slider-wrapper {
    display: flex;
    /* スライドのグループを横並び */
    overflow: hidden;
    /* はみ出たスライドを隠す */
    margin: 50px auto;
}

/* スライドのグループ */
.slider {
    animation-name: scroll-left;
    animation-duration: 35s;
    /* アニメーション開始から終了までの時間 */
    animation-iteration-count: infinite;
    /* アニメーションの回数 */
    animation-timing-function: linear;
    /* アニメーションが変化する速度 */
    animation-delay: .5s;
    /* アニメーション開始までの遅延時間 */
    animation-fill-mode: both;
    /* アニメーション開始と終了時の状態 */
    display: flex;
}

/* スライド */
.slide {
    width: calc(100vw / 10);
    /* calc(100% / スライドの枚数) */
}

/* スライドの画像 */
.slide img {
    width: 85%;
}

/* hover(マウスオーバー)で一時停止 */
.slider-wrapper:hover .slider {
    animation-play-state: paused;
}

@media screen and (max-width:1550px) {

    /* スライド */
    .slide {
        width: calc(100vw / 6);
        /* 6はスライドの枚数 */
    }

    /* スライドの画像 */
    .slide img {
        width: 85%;
    }

}

@media screen and (max-width:780px) {

    .slider {
        animation-duration: 20s;
    }

    .slider-wrapper {
        margin: 15px auto 25px;
    }

    .slide {
        width: calc(100vw / 4);
    }

    .slide img {
        width: 95%;
    }
}

/* CSSアニメーション */
@keyframes scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}


/* === section all === */
.contents {
    padding: 0 1%;
}

.cocoro-summer-fair__wrap section {
    margin: 50px auto;
    padding: 50px 0;
    scroll-margin-top: 65px;
}

.sec_bg-top,
.sec_bg-middle,
.sec_bg-bottom {
    background: transparent;
    text-align: center;
    max-width: 1500px;
    margin: auto;
}

.sec_bg-middle {
    padding: 0 5%;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 2.75rem;
}

.ctg--detail {
    padding: 15px 0;
}

.ctg--detail .ttl {
    width: 50%;
    max-width: 750px;
    margin: auto;
}

.item__area {
    font-family: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    padding-bottom: 15px;
}


@media screen and (max-width:820px) {

    .sec_bg-middle {
        padding: 0 2.5%;
    }
}

@media screen and (max-width:768px) {

    .cocoro-summer-fair__wrap section {
        margin: 20px auto;
        scroll-margin-top: 15px;
    }

}

@media screen and (max-width:767px) {

    .contents {
        padding: 0;
    }

    .sec_bg-top img,
    .sec_bg-bottom img {
        width: 100%;
    }

    .item__area {
        padding: 15px 0 0 0 !important;
    }

    .ctg--detail .ttl {
        width: 90%;
    }

}

/* cp */
.sec_bg-middle_cp {
    background: url("../../../../img/event/cocoro-summer-fair/2026/CP_bg_middle.png") repeat-y;
    background-size: contain;
}

.sec_bg-middle_cp .ctg__intro p {
    text-align: center;
    letter-spacing: 2px;
    font-size: clamp(15px, 1.5vw, 25px);
    line-height: 3.75rem;
    font-weight: 500;
}

.sec_bg-middle_cp .ctg__intro span {
    color: #e84c25;
    font-size: clamp(20px, 2.25vw, 28px);
    font-weight: bold;
    letter-spacing: 3px;
}

.sec_bg-middle_cp .ctg__intro span span.num {
    font-size: clamp(27px, 3.25vw, 45px);
}

.sec_bg-middle_cp .ctg__ttl {
    max-width: 100%;
    padding: 30px 0 15px;
}

.sec_bg-middle_cp .ctg__ttl img {
    width: 22%;
    max-width: 350px;
}

.presentImg--area {
    max-width: 1250px;
    width: 85%;
    margin: auto;
    padding: 50px 0 25px;
}

.presentImg--area .col-md-4 p.txt {
    padding: 15px 0;
    font-size: clamp(15px, 1.1vw, 18px);
    letter-spacing: 2px;
}

.presentImg--area .col-md-4 p.txt span {
    color: #fff534;
    font-size: clamp(17px, 1.5vw, 25px);
}

.presentImg--area .col-md-4 p.txt span.name {
    font-size: clamp(13px, 1.5vw, 20px);
}

.entry--area {
    max-width: 750px;
    width: 85%;
    margin: auto auto 20px;
}

.entry--area .prizeAnno {
    font-size: clamp(14px, 1.35vw, 18px);
}

.entry--area #prize-error {
    color: #fff;
    background: #e02b27;
    max-width: 150px;
    width: 15%;
    text-align: center;
    font-size: clamp(14px, 1.15vw, 16px);
}

.entry--area .entry--content__ttl p {
    font-size: clamp(20px, 1.5vw, 25px);
}

.entry--area p.attention {
    color: #454545;
}

.bfb-form-success.bfb-form-success-style2 .bfb-form-success-content {
    font-size: clamp(16px, 2.25vw, 22px) !important;
}

.entry--area .bfb-form-success .bfb-form-success-content {
    padding: 0 !important;
}

.bfb-form-success .bfb-form-success-content .block.bfb svg {
    display: none;
}

.entry--area .successMsg p {
    padding: 20px 0 0;
}


.entry--details {
    padding: 25px 0;
    margin: auto;
    max-width: 1000px;
}

.entry--details .entry-content_tap {
    align-items: center;
    display: flex;
    font-size: clamp(18px, 1.75vw, 25px);
    position: relative;
    padding: 20px 0;
    text-align: center;
    justify-content: center;
    letter-spacing: 1px;
}

.entry--details .icon_circle {
    background: transparent;
    border-radius: 50%;
    display: block;
    width: 35px;
    height: 35px;
    position: relative;
    margin-right: 10px;
    border: 3px solid #fff;
}

.entry--details .icon_circle::before {
    background-color: #fff;
    content: "";
    display: block;
    width: 20px;
    height: 4px;
    position: absolute;
    top: 12px;
    right: 0;
    left: 0;
    margin: auto;
}

.entry--details .icon_circle::after {
    background-color: #fff;
    content: "";
    display: block;
    width: 20px;
    height: 4px;
    position: absolute;
    top: 12px;
    right: 0;
    left: 0;
    margin: auto;
    transform: rotate(90deg);
    transition: transform .2s ease-in-out;
}

.entry--details[open] .icon_circle::after {
    transform: rotate(180deg);
}

.entry--detail__box {
    background-color: rgb(255 255 255 / 20%);
    padding: 50px;
    text-align: left;
    margin: auto;
    width: 90%;
    max-width: 1200px;
    font-size: clamp(14px, 1.1vw, 18px);
}

.entry--detail__box dl {
    padding-bottom: 30px;
    margin-bottom: 0;
}

.entry--detail__box dl dt {
    font-size: clamp(16px, 1.2vw, 21px);
    font-weight: bold;
    padding-bottom: 5px;
}

.entry--detail__box dl dd {
    line-height: 1.8;
}

.entry--detail__box ol.procedure li {
    position: relative;
    list-style-type: none;
}

.entry--detail__box ol.procedure li:before {
    position: absolute;
    right: calc(100% + 0.5rem);
    content: "【" counter(list-item) "】";
}

@media screen and (max-width:1024px) {

    .entry--details {
        max-width: 95%;
    }

}

@media screen and (max-width:820px) {

    .sec_bg-middle_cp .ctg__ttl img {
        width: 70%;
        max-width: 225px;
    }

}

@media screen and (max-width:768px) {

    .entry--details {
        padding: 25px 0 0;
        max-width: 95%;
    }

    .entry--details .icon_circle {
        margin-right: 3px;
    }
}

@media screen and (max-width:767px) {

    .sec_bg-middle_cp {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_CP_bg_middle.png") repeat-y;
        background-size: contain;
    }

    .sec_bg-middle_cp .ctg__intro p {
        line-height: 2.75rem;
        letter-spacing: 1px;
        padding-bottom: 25px;
    }

    .presentImg--area {
        padding: 15px 0;
    }

    .entry--area {
        margin: auto;
        width: 90%;
    }

    .entry--area #prize-error {
        width: 35%;
    }

    .entry--detail__box {
        padding: 15px 15px 0;
        width: 95%;
    }

    .entry--detail__box dl {
        padding-bottom: 20px;
    }

    .entry--detail__box dl:has(ol.procedure) {
        margin-left: 10px;
    }

    .entry--detail__box dl dt {
        padding-bottom: 0;
    }

    .entry--detail__box dl dd {
        padding-bottom: 5px;
        line-height: 1.4;
    }

    .entry--detail__box ol.procedure li:before {
        right: 100%;
    }

}


/* appliances */
.sec_bg-middle_appliances {
    background: url("../../../../img/event/cocoro-summer-fair/2026/SKU_appliances_bg_middle.png") repeat-y;
    background-size: contain;
}

.refurbished img {
    padding: 15px 0;
}

@media screen and (max-width: 1024px) {

    .refurbished img {
        width: 88%;
    }
}

@media screen and (max-width:767px) {

    .sec_bg-middle_appliances {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_SKU_appliances_bg_middle.png") repeat-y;
        background-size: contain;
    }

    /* .refurbished img {} */

}


/* phone */
.sec_bg-middle_phone {
    background: url("../../../../img/event/cocoro-summer-fair/2026/SKU_phone_bg_middle.png") repeat-y;
    background-size: contain;
}

@media screen and (max-width:767px) {

    .sec_bg-middle_phone {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_SKU_phone_bg_middle.png") repeat-y;
        background-size: contain;
    }

}


/* beauty */
.sec_bg-middle_beauty {
    background: url("../../../../img/event/cocoro-summer-fair/2026/SKU_beauty_bg_middle.png") repeat-y;
    background-size: contain;
}

@media screen and (max-width:767px) {

    .sec_bg-middle_beauty {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_SKU_beauty_bg_middle.png") repeat-y;
        background-size: contain;
    }

}


/* gourmet */
.sec_bg-middle_gourmet {
    background: url("../../../../img/event/cocoro-summer-fair/2026/SKU_gourmet_bg_middle.png") repeat-y;
    background-size: contain;
}

@media screen and (max-width:767px) {

    .sec_bg-middle_gourmet {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_SKU_gourmet_bg_middle.png") repeat-y;
        background-size: contain;
    }

}


/* mask */
.sec_bg-middle_mask {
    background: url("../../../../img/event/cocoro-summer-fair/2026/SKU_mask_bg_middle.png") repeat-y;
    background-size: contain;
}

@media screen and (max-width:767px) {

    .sec_bg-middle_mask {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_SKU_mask_bg_middle.png") repeat-y;
        background-size: contain;
    }

}


/* skincare */
.sec_bg-middle_skincare {
    background: url("../../../../img/event/cocoro-summer-fair/2026/SKU_skincare_bg_middle.png") repeat-y;
    background-size: contain;
}

@media screen and (max-width:767px) {

    .sec_bg-middle_skincare {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_SKU_skincare_bg_middle.png") repeat-y;
        background-size: contain;
    }

}


/* select */
.sec_bg-middle_select {
    background: url("../../../../img/event/cocoro-summer-fair/2026/SKU_select_bg_middle.png") repeat-y;
    background-size: contain;
}

@media screen and (max-width:767px) {

    .sec_bg-middle_select {
        background: url("../../../../img/event/cocoro-summer-fair/2026/sp_SKU_select_bg_middle.png") repeat-y;
        background-size: contain;
    }

}


/* SKU */
/* 商品 */
@media screen and (max-width:1024px) {
    .item__area {
        max-width: 90%;
        margin: auto;
    }
}

@media screen and (max-width: 767px) {
    .item__area {
        max-width: 100%;
    }
}

.product-items {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center;
}

.page-layout-1column .block.widget .products-grid .product-item {
    background: #fff;
    margin: 10px;
    padding: 10px;
}

li.product-item {
    /* border: 2px solid #c9bb81; */
    padding: 5px;
    border-radius: 2px;
    /* box-shadow: 0 3px 3px rgb(153 153 153 / 50%); */
}

.product-items .product-item .product-item-details a {
    font-size: clamp(13px, 1.3vw, 17px);
    font-weight: 700;
    color: #454545;
    line-height: 1.35;
}

.products-grid .price-box .price-wrapper .price {
    color: #e84c25;
}

#creative-area-lp .action.primary,
#creative-area-lp .action-primary {
    display: none;
}

.widget-product-grid .product-reviews-summary {
    display: none !important;
}

[data-content-type=row] li.product-item .action.primary,
[data-content-type=row] li.product-item .action-primary {
    text-align: center;
}

.product-items .product-item .product-item-details a {
    text-decoration: none;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: initial;
    white-space: unset;
    margin-bottom: 0;
}


.products-grid .price-box .price-wrapper .price {
    font-size: clamp(19px, 1.75vw, 23px);
}

/* 2025/09/10 */
.products-grid .price-box .tax-label {
    font-size: clamp(13px, 1.15vw, 15px);
    color: #454545;
}

.product-items .product-item-info span.rewards__product-points,
.product-item-actions .actions-secondary,
.product-item-actions .actions-primary:has(form) {
    display: none;
}

@media screen and (max-width: 768px) {

    .anchor-box::before {
        height: 9.2rem;
        margin-top: -9.2rem;
    }

    #creative-area-lp .action.primary,
    #creative-area-lp .action-primary {
        width: auto;
    }

    .product-items .product-item .product-item-details a {
        -webkit-line-clamp: 4;
    }

}

.products-grid .product-item-actions {
    display: flex;
    /* 仮 */
}

@media (min-width: 640px) {
    .products-grid .product-item-actions {
        margin: 0;
    }

}

/* 4列表示 */

.page-layout-1column .block.widget .products-grid .product-item {
    width: calc((100% - 8%) / 4);
}

@media (min-width: 769px),
print {

    .page-layout-1column .block.widget .products-grid .product-item:nth-child(3n+1) {
        margin-left: 0;
    }

}

@media (min-width: 1024px),
print {

    .page-layout-1column .block.widget .products-grid .product-item,
    .page-layout-1column .block.widget .products-grid .product-item:nth-child(4n+1) {
        margin-left: 0;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
    }

    /* .page-layout-1column .block.widget .products-grid .product-item {
        } */
}

@media screen and (max-width:1180px) {

    .page-layout-1column .block.widget .products-grid .product-item {
        width: calc((100% - 9.65%) / 4);
    }
}

@media screen and (max-width:1024px) {

    .page-layout-1column .block.widget .products-grid .product-item {
        /* height: 270px; */
    }
}

@media screen and (max-width:1023px) {
    .page-layout-1column .block.widget .products-grid .product-item {
        width: calc((100% - 8.5%) / 4);
        margin: 0 7px 15px !important;
        /* height: 250px; */
        letter-spacing: 0;
        line-height: 2.5rem;
    }
}

@media screen and (max-width:767px) {

    .page-layout-1column .block.widget .products-grid .product-item {
        width: calc(100% / 2 - 10px);
        margin: 0 5px 10px !important;
        padding: 7px;
    }

}

@media screen and (max-width:375px) {

    .page-layout-1column .block.widget .products-grid .product-item {
        /* height: 230px; */
    }
}

/* off % */
/* .discount-label {
    display: none;
} */


/* 260701 - w price */
.product-items {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center;
}

.product-items .product-item .product-item-details a {
    font-size: clamp(13px, 1.3vw, 17px);
    font-weight: 700;
    color: #454545;
    line-height: 1.35;
}

/* .products-grid .price-box .price-wrapper .price {
    color: #ed1d3e !important;
    font-size: clamp(20px, 1.75vw, 23px);
} */

#beauty .products-grid .price-box .tax-label {
    font-size: 9px;
}

#beauty .widget-product-grid .price-box .old-price {
    display: block !important;
}

#beauty .widget-product-grid .price-box .old-price .price {
    font-size: 12px !important;
    color: #666 !important;
}

#beauty .widget-product-grid .price-box .old-price .tax-label {
    font-size: 9px !important;
    color: #666 !important;
}

#beauty .widget-product-grid .price-box .old-price .price-label {
    display: none;
}

#beauty .products-grid .price-box .old-price .price-wrapper .price:before {
    content: '通常販売価格:';
    font-weight: 400;
}


.discount-label {
    display: none;
}

#beauty .discount-label {
    display: inline-block;
    font-size: 15px;
}

@media (min-width: 1024px),
print {

    .page-layout-1column .block.widget .products-grid .product-item,
    .page-layout-1column .block.widget .products-grid .product-item:nth-child(4n+1) {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
    }
}

@media screen and (max-width: 1024px) {

    .products-grid .price-box .price-wrapper .price {
        font-weight: bold;
        font-size: clamp(17px, 1.5vw, 23px);
    }

    #beauty .widget-product-grid .price-box .old-price .tax-label,
    #beauty .products-grid .price-box .tax-label {
        font-size: 1.0rem !important;
    }

    #beauty .discount-label {
        font-size: 10px;
    }

}

@media screen and (max-width: 1023px) {

    .products-grid .price-box .price-wrapper .price {
        font-size: clamp(17px, 1.75vw, 23px);
    }
}

@media screen and (max-width:820px) {

    .products-grid .price-box .price-wrapper .price {
        font-weight: bold;
        font-size: clamp(17px, 1.75vw, 23px);
    }
}

@media screen and (max-width:768px) {

    .products-grid .price-box .price-wrapper .price {
        font-size: clamp(15px, 1.75vw, 23px);
    }

    #beauty .products-grid .price-box .old-price .price-wrapper .price:before {
        content: '販売価格:';
    }

    #beauty .discount-label {
        font-size: 9px;
    }
}

@media screen and (max-width:767px) {
    .products-grid .price-box .price-wrapper .price {
        font-size: clamp(17px, 1.75vw, 23px);
    }
}

@media screen and (max-width:601px) {

    #beauty .widget-product-grid .price-box .old-price .tax-label,
    #beauty .products-grid .price-box .tax-label {
        font-size: 0.65rem !important;
        margin: auto -3px;
    }


    .product-items {
        justify-content: left;
    }

    #beauty .discount-label {
        font-size: 10px;
    }
}

@media screen and (max-width:430px) {}

@media screen and (max-width:375px) {


    #beauty .discount-label {
        font-size: 10px;
    }

}