    @charset "UTF-8";

    /* === store all === */
    a,
    a:hover,
    a:visited {
        color: white;
        text-decoration: none;
    }

    body {
        margin: auto;
    }

    /* ◇◆◇ crystaliq-3th-anniversary ◇◆◇ */

    /* === lp all === */
    .lp__wrap--para {
        text-align: center;
        padding-bottom: 50px;
        color: #414d5d;
        font-family: sans-serif;
    }

    .lp__wrap--para::before {
        background: url("../../../img/event/crystaliq-3th-anniversary/bg.jpg");
        background-color: #f6f6fe;
        background-size: cover;
        background-position: top center;
    }

    .lp__wrap--para section {
        margin: 75px auto;
    }

    img.intro--ttl {
        max-width: 1000px;
        width: 80%;
        margin: auto;
    }

    .intro--txt {
        margin: auto;
        font-weight: 500;
        line-height: 3.5rem;
    }

    .intro--txt span {
        color: #c49f00;
        font-weight: 700;
        font-size: clamp(17px, 1.5vw, 25px);
    }

    @media screen and (max-width:768px) {

        .lp__wrap--para::before {
            background: url("../../../img/event/crystaliq-3th-anniversary/sp_bg.jpg");
            background-color: #f6f6fe;
            background-size: cover;
            background-position: top center;
        }

        .lp__wrap--para section {
            margin: 20px auto;
        }

        img.intro--ttl {
            width: 95%;
        }

        .intro--txt {
            line-height: 2.5rem;
        }

    }

    @media screen and (max-width:768px) {}

    @media screen and (max-width:375px) {}


    /* === mv === */
    .mv--area {
        max-width: 1200px;
        margin: auto;
        padding-bottom: 25px;
        text-align: center;
    }

    .mv--area img {
        margin: auto;
    }

    @media screen and (max-width:768px) {
        .mv--area {
            padding-bottom: 15px;
        }
    }

    /* === cp === */
    .cp--content {
        max-width: 1000px;
        /* font-size: clamp(17px, 1.25vw, 25px); */
    }

    /* === cp - item === */
    .cp--itemDetails01,
    .cp--itemDetails02 {
        margin-top: 50px;
        border: 1px solid #bb9803;
        padding: 5px;
        background: rgba(255, 255, 255, .75);
    }

    .cp--itemDetails01.disable,
    .cp--itemDetails02.disable {
        border: 1px solid #7d7d7d;
    }

    .disable .cp--details_tap {
        background: #7d7d7d;
        color: #fff;
    }

    .cp--details_tap {
        background: #bb9803;
        color: #fff;
        align-items: center;
        display: flex;
        position: relative;
        padding: 20px 0;
        text-align: center;
        justify-content: center;
        letter-spacing: 1px;
        width: 100%;
        margin: auto;
    }

    .cp--details_tap p {
        font-size: clamp(15px, 1.35vw, 20px);
        margin: auto -8% auto auto;
        letter-spacing: 2px;
        font-weight: 500;
    }

    .cp--details_tap p span.ttl {
        font-size: clamp(22px, 1.85vw, 30px);
    }

    .cp--details_tap p span.ttl span {
        font-size: clamp(28px, 2.5vw, 42px);
        font-weight: 600;
    }

    .cp--details_tap p span.period {
        font-size: clamp(18px, 3vw, 30px);
    }

    .icon_circle {
        background: #fff;
        border-radius: 50%;
        display: block;
        width: 33px;
        height: 33px;
        position: relative;
        margin-right: 10px;
        margin: auto;
    }

    .disable .icon_circle::before,
    .disable .icon_circle::after {
        background-color: #7d7d7d;
    }

    .cp--itemDetails01[open] .icon_circle::after,
    .cp--itemDetails02[open] .icon_circle::after {
        transform: rotate(180deg);
    }

    .icon_circle::before {
        background-color: #bb9803;
        content: "";
        display: block;
        width: 20px;
        height: 4px;
        position: absolute;
        top: 15px;
        right: 0;
        left: 0;
        margin: auto;
    }

    .icon_circle::after {
        background-color: #bb9803;
        content: "";
        display: block;
        width: 20px;
        height: 4px;
        position: absolute;
        top: 15px;
        right: 0;
        left: 0;
        margin: auto;
        transform: rotate(90deg);
        transition: transform .2s ease-in-out;
    }

    .cp--item__box {
        max-width: 800px;
        margin: auto;
        padding: 25px 0;
    }

    .cp--item__box .item {
        padding-bottom: 15px;
    }

    .cp--item__box .item p {
        letter-spacing: 1px;
        font-size: clamp(13px, 1.25vw, 20px);
    }

    .cp--item__box .item p.num {
        color: #345A8C;
        font-size: clamp(16px, 1.45vw, 23px);
        font-weight: 500;
        letter-spacing: 2px;
    }

    .cp--item__box .item p.num span {
        font-size: clamp(25px, 3.5vw, 40px);
        /* font-weight: 900; */
    }

    img.item--img {
        width: 75%;
        padding-bottom: 15px;
    }

    img.item--ttl {
        width: 75%;
        padding-bottom: 10px;
    }

    .entry--btn__disable {
        width: 100%;
        background: #7d7d7d;
        padding: 35px 0;
        color: #fff;
        border-radius: 10px;
        font-size: clamp(18px, 1.45vw, 23px);
        font-weight: bold;
        margin-top: 25px;
    }

    @media screen and (max-width:768px) {
        .cp--details_tap {
            padding: 10px 0;
        }

        .entry--btn__disable {
            width: 80%;
            margin: 15px auto auto;
        }
    }


    @media screen and (max-width:767px) {

        .entry--btn__disable {
            padding: 15px 0;
        }

        img.item--ttl {
            width: 100%;
        }

    }

    /* === cp - details === */
    .cp--details {
        margin-top: 50px;
        border: 1px solid #87A0CC;
        background: rgba(255, 255, 255, .75);
    }

    .cp--details .cp--details_tap {
        background: #87A0CC;
    }

    .cp--details .cp--details_tap p {
        font-weight: bold;
        font-size: clamp(18px, 1.35vw, 23px);
    }

    .cp--details .icon_circle::before,
    .cp--details .icon_circle::after {
        background-color: #87A0CC;
    }

    .cp--details[open] .icon_circle::after {
        transform: rotate(180deg);
    }

    .cp--detail__box {
        max-width: 850px;
        margin: auto;
        padding: 50px 0;
        text-align: left;
    }

    .cp--detail__box dl {
        padding-bottom: 30px;
        margin-bottom: 0;
    }

    .cp--detail__box dl.lst {
        padding-bottom: 0;
    }

    .cp--detail__box dl dt {
        font-size: clamp(17px, 1vw, 20px);
        font-weight: bold;
        padding-bottom: 5px;
    }

    .cp--detail__box dl dd {
        font-size: clamp(15px, 1vw, 18px);
        line-height: 1.8;
    }

    @media screen and (max-width:768px) {

        .cp--detail__box {
            padding: 20px 5px;
        }

        .cp--detail__box dl {
            padding-bottom: 20px;
        }

        /* .cp--itemDetails {
            margin-top: 15px;
        } */
    }

    /* === products === */

    .products--area {
        padding: 50px 0;
    }

    img.products--ttl {
        max-width: 1000px;
        width: 65%;
        margin: auto;
    }

    .item-area {
        max-width: 1200px;
        width: auto;
        margin: 30px auto auto;
        text-align: left;
    }

    @media screen and (max-width:768px) {

        img.products--ttl {
            width: 100%;
        }

    }

    /* 商品レイアウト start */
    .product-items .product-item-info span.rewards__product-points,
    .product-items .product-item-info span.rewards__product-points,
    .product-item-actions .actions-secondary {
        display: none;
    }

    .actions-secondary {
        display: none;
    }

    .product-item .product-reviews-summary .reviews-actions {
        display: none;
    }

    .product-items .product-item .product-item-details a {
        font-size: 1.5rem;
        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: #ed1d3e;
        font-size: 2.5rem;
    }

    .products-grid .price-box .tax-label {
        color: #4C4C4C !important;
    }

    .products-grid .price-box .old-price .price-wrapper .price {
        font-size: 12px !important;
        color: #666;
    }

    [data-content-type=row] li.product-item .action.primary,
    [data-content-type=row] li.product-item .action-primary {
        display: none;
    }

    .product-image-photo {
        width: 110%;
    }

    [data-content-type=row][data-appearance=contained] {
        max-width: none;
    }

    .product-image-container {
        width: 100% !important;
    }

    [data-content-type=row] li.product-item .action.primary,
    [data-content-type=row] li.product-item .action-primary {
        display: none;
    }

    .product-item-details {
        padding: 5px 10px;
    }

    @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;
        }

        .page-layout-1column .block.widget .products-grid .product-item {
            width: calc(100% / 4 - 14px);
            height: 385px;
            background: #fff;
            margin: 0 7px 15px !important;
        }

        .page-layout-1column .shamtre .block.widget .products-grid .product-item {
            height: 420px !important;
        }
    }

    @media (min-width: 640px) {
        .products-grid .product-item {
            margin-bottom: 0;
        }

        .ctg01.ctg-cp .product-item {
            border: none !important;
        }

    }

    @media screen and (max-width:1023px) {
        .page-layout-1column .block.widget .products-grid .product-item {
            width: calc(100% / 4 - 14px);
            background: #fff;
            margin: 0 7px 15px !important;
        }
    }

    @media screen and (max-width:767px) {

        .product-items .product-item .product-item-details a {
            font-size: 1.25rem;
            line-height: 1.3;
        }

        .products-grid .price-box .price-wrapper .price {
            /* font-size: 1.85rem; */
            font-size: 15px;
            font-weight: bold;
        }

        .products-grid .price-box .tax-label {
            font-size: 0.9rem;
        }

        .page-layout-1column .block.widget .products-grid .product-item {
            width: calc(100% / 2 - 10px);
            background: #fff;
            margin: 0 5px 10px !important;
        }

        .page-layout-1column .ctg01.ctg-cp ol.product-items {
            display: flex;
            flex-wrap: wrap;
        }

        .page-layout-1column .ctg01.ctg-cp ol.product-items.widget-product-grid li.product-item {
            margin: 0 auto !important;
        }

    }

    /* 250904 - w price */
    .shamtre .widget-product-grid .price-box .old-price {
        display: block !important;
        font-size: 12px !important;
        color: #666;
    }

    .discount-label {
        display: none;
    }

    .shamtre .discount-label {
        display: inline-block;
    }

    @media screen and (max-width:767px) {

        .shamtre .widget-product-grid .price-box .old-price .price-label {
            display: none;
        }

        .shamtre .products-grid .price-box .old-price .price-wrapper .price:before {
            content: '販売価格:';
            font-weight: 400;
        }

        .shamtre .discount-label {
            font-size: 10px;
        }

    }

    /* 商品レイアウト fin */