@charset "utf-8";
.c-breadcrumbs{
    display: none;
}
/*MV*/
.mv { 
    width:100%;
    margin: 1em 0;
    padding-bottom: 1em !important;
}
.mv #slider > * { 
    display:block !important; 
    opacity:1 !important; 
    visibility:visible !important; 
}
.mv .swiper-slide img { 
    display:block; 
    width:100%; 
    height:auto; 
}
.mv .swiper-button-prev,
.mv .swiper-button-next{
    display: none;
}
.mv .swiper-pagination{
    bottom: 0 !important;
}
.mv .swiper-pagination-bullet-active{
    background: var(--green);
}

/*KEYWORD*/
.home-key{
    background: var(--gray);
    border-top: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
}
.home-key_item{
    max-width: 1280px;
    margin-inline: auto;
    text-align: center;
}
.home-key_a{
    display: inline-block;
    line-height: 1;
    padding: 0.5em 1em;
    border-radius: 3em;
    border: 1px solid var(--black);
    background: #fff;
    color: var(--black);
    margin: 3px 1px;
}
.home-key_a:before{
    content: "#";
}
.home-key_a:hover{
    background: var(--yellow);
    color: var(--black) !important;
}

/*CATEGORY*/
.home-cat{
    background: var(--blue);
     border-bottom: 1px solid var(--black);
}
.home-cat_items{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.home-cat_item{
    width: 13%;
    text-align: center;
    margin: 0 5px;
}
.home-cat_item:nth-child(even){
    margin-top: 3em;
}
.home-cat_a{
    display: block;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 5px;
    border: 1px solid var(--black);
}
.home-cat_a img{
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}
.home-cat_item small{
    display: block;
    font-size: clamp(12px, 1.1vw, 16px);
}
.home-cat_a:hover img{
    transform: scale(1.05, 1.05);
}
@media screen and (max-width: 980px) {
    .home-cat_item{
        width: 24%;
        margin: 1em auto !important;
    }
}
@media screen and (max-width: 480px) {
    .home-cat_item:nth-child(1),
    .home-cat_item:nth-child(2),
    .home-cat_item:nth-child(6),
    .home-cat_item:nth-child(7){
        width: 50%;
    }
    .home-cat_item:nth-child(3),
    .home-cat_item:nth-child(4),
    .home-cat_item:nth-child(5){
        width: 32%;
    }
    .home-cat_a {
        width: 30vw;
        margin-inline: auto;
    }
    .home-cat_item:nth-child(1),
    .home-cat_item:nth-child(6){
        padding-left: 15%;
    }
    .home-cat_item:nth-child(2),
    .home-cat_item:nth-child(7){
        padding-right: 15%;
    }
}

/*STYLE*/
.style-swiper{
    padding: 0 1em !important;
}
.home-style_img{
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--black);
    border-radius: 1em;
    padding: 1em;
    margin-bottom: 0.5em;
}
.home-style_img img{
    display: block;
    object-fit: cover;
    border-radius: 1em;
    aspect-ratio: 1 / 1;
}
.home-style_price.is_normal,
.home-style_price.is_normal small{
    font-size: 90%;
    color: var(--dgray);
}
.home-style_price:has(+.home-style_price.is_normal){
    color: var(--red);
}
.home-style_price{
    display: block;
    text-align: right;
}
.home-style_text{
    font-size: clamp(12px, 1.1vw, 14px);
}
.home-style_a{
    display: block;
    width: 10em;
    color: #fff;
    border-radius: 5px;
    line-height: 1;
    padding: 0.5em;
    font-size: 12px;
    background: var(--orange);
    margin: 0 0 0 auto;
    border: 1px solid var(--black);
    text-align: center;
}
.home-style_a:hover{
    background: var(--dblue);
    color: #fff;
}
@media screen and (max-width: 480px) {
    .home-style_img{
        padding: 0.5em;
    }
    .home-style_img,
    .home-style_img img{
        border-radius: 0.5em;
    }
}

/*RECOM*/
.recom-swiper{
    padding: 3em 1em 2em 15vw !important;
    position: relative;
}
.recom-swiper .swiper-slide{
    border: 1px solid var(--black);
    padding: 0 1em 1em;
    border-radius: 1em;
    height: auto !important;
    position: relative;
}
.home-recom_a{
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 1px solid var(--black);
    padding: 1em;
    margin: -3em auto 1em;
    background: #fff;
}
.home-recom_a img{
    object-fit: cover;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    display: block;
}
.home-recom_name{
    display: block;
    line-height: 1.2;
    margin-bottom: 0.5em;
}
.home-recom_price{
    text-align: right;
}
.home-recom .swiper-scrollbar{
    width: calc(100% - 15vw - 1em) !important;
    left: inherit !important;
    right: 1em;
}
.home-recom_num {
    position: absolute;
    top: -35px;
    right: 0;
    width: 60px;
    height: 45px;
    background: url(img/icon_crown.png) center center / contain no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding-top: 1em;
    color: #fff;
}
.recom-swiper .swiper-slide:nth-child(1) .home-recom_num{
    background: url(img/icon_gold.png) center center / contain no-repeat;
}
.recom-swiper .swiper-slide:nth-child(2) .home-recom_num{
    background: url("img/icon_silver.png") center center / contain no-repeat;
}
.recom-swiper .swiper-slide:nth-child(3) .home-recom_num{
    background: url("img/icon_copper.png") center center / contain no-repeat;
}
@media screen and (max-width: 480px) {
    .home-recom_num {
        top: -20px;
        width: 40px;
        height: 30px;
    }
}


/*INSTA*/
.home-insta_wrap{
    position: relative;
}
.insta-h3{
    width: clamp(200px, 10vw, 300px);
}
.insta-swiper img{
    display: block;
    object-fit: cover;
    aspect-ratio: 3 / 4;
}						
.insta-swiper {
    overflow: hidden;
}
.home-insta_wrap .swiper-button-next, 
.home-insta_wrap .swiper-button-prev {
    width: 50px !important;
    height: 50px !important;
    background: var(--yellow);
    border: 1px solid var(--black);
    border-radius: 50%;
    padding: 1em;
}
.home-insta_wrap .swiper-button-next:after,
.home-insta_wrap .swiper-button-prev:after {
    font-size: 18px !important;
    color: var(--black);
}
.home-insta_wrap .swiper-button-prev,
.home-insta_wrap .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, -2%);
}
.home-insta_wrap .swiper-button-next,
.home-insta_wrap .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, -2%);
}
@media screen and (max-width: 680px) {
    .home-insta_wrap .swiper-button-next, 
    .home-insta_wrap .swiper-button-prev {
        width: 30px !important;
        height: 30px !important;
    }
    .home-insta_wrap .swiper-button-next:after,
    .home-insta_wrap .swiper-button-prev:after {
        font-size: 12px !important;
    }
}

/*CUSTOMER*/
.home-customer{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 1.5em;
}
.home-customer .page-h4{
    position: absolute;
    top: -1.5em;
    left: 1em;
}

/*INFO*/
.home-info{
    width: 48.5%;
    padding: 2.5em 2em 2em;
    background: var(--blue);
    border: 1px solid var(--black);
    border-radius: 1em;
    position: relative;
}
.home-info_li{
    margin-bottom: 1em;
}
.home-info_li b{
    font-size: clamp(16px, 1.5vw, 24px);
    display: flex;
    align-items: center;
}
.home-info_li b:after{
    content: "";
    display: block;
    border-bottom: 3px dashed var(--black);
    flex: 1;
    margin-left: 0.5em;
}
.home-info_a,
.home-info_p{
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
}
.home-info_a{
    color: var(--red);
}
.home-info_a:hover{
    text-decoration: underline;
}
@media screen and (max-width: 1280px) {
    .home-info{
        width: 45%;
        padding: 2.5em 2em 2em;
    }
}
@media screen and (max-width: 980px) {
    .home-info{
        width: 100%;
        padding: 2.5em 1em 1em;
        margin-bottom: 3em;
    }
}

/*SUPPORT*/
.home-support{
    width: 48.5%;
    padding: 2.5em 2em 2em;
    background: var(--green);
    border: 1px solid var(--black);
    border-radius: 1em;
    position: relative;
}
.home-support_p{
    margin-bottom: 0;
}
.home-support_contact{
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 1em;
}
.home-support_tel small{
    font-size: clamp(21px, 2vw, 28px);
    line-height: 1;
    font-weight: 700;
}
.home-support_tel .tel{
    font-size: clamp(24px, 2.1vw, 38px);
    font-weight: 700;
    line-height: 1;
    margin-right: 0.5em;
}
.home-support_mail img{
    width: clamp(42px, 5vw, 50px);
    height: auto;
}
.home-support_cal{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.home-support_cal table{
    display: block;
    padding: 1em;
    width: 49%;
    border-radius: 1em;
    border: 1px solid var(--black);
    background: #fff;
}
.home-support_cal table caption,
.home-support_cal table tbody,
.home-support_cal table tr{
    display: block;
    width: 100%;
    text-align: center;
}
.home-support_cal table tr{
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    text-align: center;
}
.home-support_cal table td{
    margin: 2px;
    font-size: clamp(13px, 1.2vw, 15px);
}
.home-support_memo{
    margin: 0.2em 0;
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
}
@media screen and (max-width: 1280px) {
    .home-support {
        width: 54%;
        padding: 2.5em 1em 2em;
    }
}
@media screen and (max-width: 980px) {
    .home-support {
        width: 100%;
        padding: 2.5em 1em 1em;
    }
}
@media screen and (max-width: 580px) {
    .home-support_cal table{
        width: 100%;
        margin-bottom: 1em;
    }
    .home-support_cal table:last-child{
        margin-bottom: 0;
    }
}


/*USER*/
.home-guide{
    background: var(--cream);
    border-top: 1px solid var(--black);
    border-bottom: 1px solid var(--black);
}
.home-guide_wrap{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.home-guide_item{
    width: 31%;
}
.home-guide_h5{
    border-bottom: 2px dashed var(--black);
    padding-bottom: 1em;
    margin: 1em 0;
}
.home-guide_dd{
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
    margin-bottom: 1.5em;
}
.home-guide_dd ul,
.home-guide_ul{
    margin: 0 0 1.5em 1.3em !important;
}
.home-guide_dd li,
.home-guide_ul li{
    list-style: disc outside;
    margin-bottom: 0.5em;
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
}
.home-guide_dd li,
.home-guide_text{
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
}
.home-guide_dd .guidecontent{
    background: rgba(255,255,255,0.3);
}
@media screen and (max-width: 980px) {
    .home-guide_item{
        width: 100%;
    }
}

/*PRIVACY*/
.privacy-contents{
    max-width: 780px;
}
.privacy-wrap a{
    color: var(--orange);
}
.privacy-h4{
    font-size: clamp(16px, 1.4vw, 18px);
    margin: 2em 0 1em;
}
.privacy-wrap p,
.privacy-wrap span{
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
}
.privacy-wrap span{
    display: inline-block;
    padding-left: 3em;
    text-indent: -3em;
}
.privacy-wrap small{
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
}



/*商品詳細*/
.product-main{
    display: grid;
    grid-template-columns: 530px minmax(0, 1fr);
    grid-template-rows: max-content 3fr;
    gap: 0 2em;
}
.product-img {
    grid-column: 1;
    grid-row: 1 / 4;
}
.product-header,
.product-info,
.product-detail{
    grid-column: 2;
}
@media screen and (max-width: 1280px) {
    .product-main{
        grid-template-columns: 430px minmax(0, 1fr);
    }
}
@media screen and (max-width: 980px) {
    .product-main{
        grid-template-columns: 330px minmax(0, 1fr);
    }
    .product-img {
        grid-row: 1 / 3;
    }
    .product-detail{
        grid-column: 1 / 3;
        grid-row: 3 / 4;
    }
}
@media screen and (max-width: 680px) {
    .product-main{
        display: block;
    }
}

/*商品画像*/
.product-img_main {
    padding: 1em;
    border: 1px solid var(--black);
    border-radius: 5px;
}
.product-img_main .slick-arrow {
    display: none !important;
}
.product-img_item{
    position: relative;
    width: 100%;
}
.product-img_item:before {
    content: "";
    display: block;
    padding-top: 100%;
}
.product-img_item:after{
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    background: url(https://nikko-ex.jp/ec/img/popup.svg) center center / contain no-repeat;
    position: absolute;
    bottom: 0;
    right: 0;
}
.product-img_item:hover:after{
    filter: opacity(0.5);
}
.product-img_item a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.product-img_item img {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: auto !important;
    max-width: 100%;
    max-height: 100%;
    text-align: center;
}
.product-thumb_ul {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap:5px;
    margin: 5px 0;
}
.product-thumb_li {
    transition: all 0.3s ease;
    background: var(--gray);
    padding: 2px;
    border: 1px solid var(--black);
    border-radius: 5px;
}
.product-thumb_li:hover,
.product-thumb_li.is-current {
  opacity: 0.7;
  cursor: pointer;
}
.product-thumb_img img{
    object-fit: cover;
    aspect-ratio: 1 / 1;
}
/*商品詳細*/
.product-h2 {
    font-size: clamp(21px, 2.4vw, 28px);
    line-height: 1.2;
}
.product-group_a{
    background: var(--gray);
    font-size: clamp(11px, 1.1vw, 12px);
    line-height: 1;
    display: inline-block;
    padding: 0.3em 1em;
    margin-right: 1px;
    border-radius: 3px;
}
.product-group_a:hover{
    background: var(--orange);
    color: #fff;
}
.product-simple_p{
    font-size: clamp(13px, 1.1vw, 16px);
    font-weight: 400;
    margin: 1em 0;
}
.product-id{
    display: block;
    margin-bottom: 0.2em;
    font-size: clamp(13px, 1.1vw, 16px);
}
.review-count{
    font-size: clamp(13px, 1.2vw, 14px);
    font-weight: 400;
}
.review-count:hover{
    color: var(--yellow);
}
.product-price_sale,
.product-price_sale span,
.product-price_sell,
.product-price_sell span,
.product-price_normal,
.product-price_list{
    font-size: clamp(15px, 2vw, 21px);
    color: var(--black);
    text-align: right;
}
.product-price_list--small{
    font-size: clamp(12px, 1.1vw, 14px) !important;
    color: #666;
    text-align: right;
}
.product-price_sell br{
    display: none;
}
.product-price_sale small,
.product-price_sale span{
    color: var(--red) !important;
}
.product-price small{
    font-size: clamp(13px, 1.1vw, 16px);
    color: var(--dgray);
}
.product-price_normal{
    font-size: 90%;
}
.product-price_sell:has(+.product-price_normal){
    color: var(--red);
}
.product-option_value:focus{
    outline: none;
}
.product-option_value {
    padding: 0.5em;
    height: auto;
    border: 1px solid var(--black);
    border-radius: 5px;
    font-size: 16px;
    margin-bottom: 1em;
}
/*カート周り*/
.product-cart{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 1em;
}
.product-num_input{
    margin-right: 10px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.product-num_input input{
    width: 4em;
    padding: 0.5em;
    height: auto;
    border: 1px solid var(--black);
    border-radius: 5px;
    font-size: 16px;
}
.product-num_btn{
    margin: 0 5px;
}
.product-num_btn img {
    display: none;
}
.product-num_btn a {
    display:flex;
    flex-direction: column;
    align-items:center;
    justify-content:center;
    width: 1.1em; 
    height: 1.1em; 
    border: 1px solid var(--black);
    border-radius: 3px;
    line-height: 1;
}
.product-num_btn a:first-child::before,
.product-num_btn a:last-child::before{
    line-height: 1;
    display: inline-block;
    margin-top: -3px;
    font-weight: 400;
}
.product-num_btn a:first-child::before{ 
    content: "+"; 
    font-size: 1em;
}
.product-num_btn a:last-child::before{ 
    content: "-";
    font-size: 1.5em;
}
.product-num_btn a:hover{
    background: var(--red);
}
.product-num_btn a:hover:first-child::before,
.product-num_btn a:hover:last-child::before{
    color: #fff;
}
.product-stock_num{
    margin-left: 5px;
}
.btn-cart{
    width: 20em;
    text-align: center;
    padding: 0.5em;
    height: auto;
    border: 1px solid var(--black);
    border-radius: 5px;
    font-size: 16px;
    background: var(--red);
    color: #fff;
    cursor: pointer;
    margin-left: 5px;
}
.btn-cart:hover {
    background: var(--beige);
    color: var(--black);
}
.btn-cart.is-soldout,
.btn-cart.is-membersonly,
.btn-cart.is-disabled{
    background: var(--gray);
    color: var(--dgray);
    pointer-events: none;
}
/*SNS*/
.product-sns_ul{
    display: flex;
    justify-content: flex-end;
}
.product-sns_li{
    margin-left: 5px;
}
/*備考リンク*/
.product-link_ul{
    border-top: 3px dashed var(--dgray);
    border-bottom: 3px dashed var(--dgray);
    margin: 1em 0 2em;
    padding: 1em 0;
}
.product-link_li a{
    padding: 0.2em 0;
}
.product-link_li a:before{
    content: "★";
    color: var(--dblue);
    font-size: 14px;
    padding-right: 5px;
    vertical-align: text-top;
}
/*商品説明*/
.product-detail_h3 {
    display: block;
    font-size: clamp(21px, 2vw, 28px);
    line-height: 1;
    margin-bottom: 0.5em;
}
.product-detail_body{
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
}
.product-detail_body a{
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
    color: var(--orange);
    text-decoration: underline;
}
.product-detail_body a:hover{
    color: var(--dgray);
}
.product-detail_body table{
    width: 100%;
    border-collapse: collapse;
}
.product-detail_body th,
.product-detail_body td{
    border: 1px solid var(--black);
    text-align: left;
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
    padding: 0.5em;
}
.product-detail_body th{
    background: var(--gray);
}
.product-detail_body li{
    font-weight: 400;
    font-size: clamp(13px, 1.2vw, 15px);
    padding:  0.2em 0 0.2em 17px;
    text-indent: -17px;
}
.product-detail_body li:before{
    content: "●";
    color: var(--beige);
    font-size: 14px;
    padding-right: 5px;
    vertical-align: text-top;
}
.product-detail_body div:has(iframe){
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.product-detail_body div:has(iframe) iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
    border: none;
}
/*組み合わせ購入*/
.product-recommend_h3 {
    display: block;
    font-size: clamp(21px, 2vw, 24px);
    line-height: 1;
    margin-bottom: 0.5em;
}
.product-recommend_ul{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em;
}
.product-recommend_img{
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--black);
    border-radius: 5px;
    padding: 1em;
    aspect-ratio: 1 / 1;
    margin-bottom: 0.5em;
}
.product-recommend_img:hover{
    opacity: 0.7;
}
.product-recommend_img img{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
.product-recommend_title{
    line-height: 1.3;
    margin-bottom: 0.2em;
    font-size: clamp(13px, 1.2vw, 14px);
}
.product-recommend_title:hover{
    color: var(--orange);
}
.product-recommend_price{
    text-align: right;
    margin: 0.5em 0;
    line-height: 1;
    font-size: clamp(11px, 0.8vw, 14px);
    color: var(--red);
}
.product-recommend_price br{
    display: none;
}
.product-recommend_price.is-discount{
    color: var(--red);
}
.product-recommend_price.is-soldout{
    color: var(--dgray);
}
.product-recommend_expl{
    font-weight: 400;
    font-size: clamp(12px, 1.2vw, 14px);
}
.product-massage{
    padding: 5em 0;
    text-align: center;
    width: 95%;
    margin: 2em auto !important;
    background: var(--gray);
    max-width: 680px;
}
/*REVIEW*/
.product-review{
    background: var(--blue);
    border: 1px solid var(--black);
    border-radius: 5px;
    border-radius: 1em;
    padding: 2em;
    margin: 5em auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.product-review_head{
    width: 16em;
}
.product-review_h3 {
    display: block;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1;
    margin-bottom: 0.2em;
}
.product-review_a{
    display: block;
    width: 12em;
    text-align: center;
    border-radius: 5px;
    line-height: 1;
    padding: 0.5em;
    font-size: 16px;
    border: 1px solid var(--black);
    color: var(--black);
    cursor: pointer;
    transition: 0.2s all ease;
    background: #fff;
}
.product-review_a:hover{
    background: var(--beige);
    color: var(--black);
}
.product-review_body{
    flex: 1;
}
.product-review_wrap{
    background: #fff;
    padding: 2em;
    border-radius: 1em;
    margin-bottom: 2em;
    border: 1px solid var(--black);
}
.review-color{
    color: var(--yellow);
}
.review-nocolor{
    color: var(--dgray);
}
.product-review_date{
    font-weight: 400;
    font-size: clamp(12px, 1.2vw, 14px);
    display: inline-block;
    margin-left: 0.5em;
}
.product-review_title{
    margin-bottom: 1em;
}
.product-review_name{
    font-weight: 400;
    font-size: clamp(12px, 1.2vw, 14px);
    display: inline-block;
}
.product-review_comment{
    display: grid;
    grid-template-columns: clamp(80px, 15vw, 250px) 1fr;
    grid-template-rows: auto;
}
.product-review_img{
    margin-right: 1em;
    grid-row: 1 / 3;
}
.product-review_p,
.product-reply{
    grid-column: 2;
}
.product-review_comment:not(:has(img)) {
  grid-template-columns: 1fr;
}
.product-review_comment:not(:has(img)) .product-review_p,
.product-review_comment:not(:has(img)) .product-reply{
  grid-column: 1;
}
.product-review_p{
    font-weight: 400;
}
.product-reply{
    width: 90%;
    margin: 0 0 0 auto;
}
.product-reply_p{
    font-weight: 400;
    font-size: clamp(12px, 1.2vw, 14px);
    background: var(--gray);
    padding: 1.5em 2em;
}
.lity {
    background: rgba(0, 0, 0, 0.7);
}
.lity-wrap{
    width: 90%;
    margin: 0 auto;
}
@media screen and (max-width: 980px) {
    .btn-cart{
        width: 10em;
    }
    .product-group{
        margin: 1em 0;
    }
    .product-recommend_overflow{
        overflow-x: scroll;
    }
    .product-recommend_ul{
        min-width: 680px;
    }
    .product-review_wrap{
        margin-bottom: 1em;
    }
    .product-review_head{
        width: 100%;
    }
    .product-review_a{
        margin: 0.5em 0 0 auto;
    }
    .product-review_body{
        flex: initial;
        width: 100%;
        margin-top: 1em;
    }
}
@media screen and (max-width: 680px) {
    .product-header{
        margin-bottom: 0.5em;
    }
    .product-h2 {
        font-size: clamp(21px, 4vw, 28px);
    }
    .product-id {
        font-size: clamp(13px, 3vw, 16px);
    }
    .product-price{
        padding: 1em 0;
    }
    .product-review{
        padding: 2em 1em;
    }
    .product-review_wrap{
        padding: 1em;
    }
    .product-review_img{
        grid-row: 1 / 2;
    }
    .product-reply{
        grid-column: 1 / 3;
        width: 100%;
    }
}
@media screen and (max-width: 480px) {
    .product-price_sell br,
    .product-recommend_price br{
        display: block;
    }
}

/*ARCHIVE*/
.archive-h2 {
    font-size: clamp(24px, 2.1vw, 38px);
    line-height: 1.2;
    padding-bottom: 0.2em;
}
.archive-none{
    display: block;
    padding: 5em 0;
    text-align: center;
    width: 95%;
    margin: 2em auto !important;
    background: var(--gray);
    max-width: 680px;
}
.archive-subcat{
    display: flex;
    align-content: center;
    flex-wrap: wrap;
    margin-bottom: 1em !important;
}
.archive-subcat span{
    font-size: clamp(12px, 1.2vw, 14px);
    line-height: 2;
}
.archive-subcat_ul{
    display: flex;
    align-content: center;
    flex-wrap: wrap;
}
.archive-subcat_a{
    font-size: clamp(12px, 1.2vw, 14px);
    display: block;
    line-height: 1;
    color: var(--orange);
    border-right: 1px solid var(--black);
    padding-right: 1em;
    margin-right: 1em;
}
.archive-subcat_li:last-child .archive-subcat_a{
    border-right: none;
}
.archive-group_a{
    background: var(--gray);
    font-size: clamp(11px, 1.1vw, 12px);
    line-height: 1;
    display: inline-block;
    padding: 0.3em 1em;
    margin-right: 1px;
    border-radius: 3px;
}
.archive-group_a:hover{
    background: var(--orange);
    color: #fff;
}
.archive-free1_text{
    background: var(--cream);
    padding: 1.5em 2em;
    border: 1px solid var(--black);
    border-radius: 1em;
    margin-bottom: 1em;
    font-weight: 300;
    line-height: 1.3;
}
.archive-free1_text strong,
.archive-free1_text span{
    display: inline-block;
    line-height: 1.3;
    margin-bottom: 0.2em;
}
.archive-free2{
    background: var(--grass);
    padding: 1.5em 2em;
    border: 1px solid var(--black);
    border-radius: 1em;
    margin-bottom: 1em;
}
.archive-head{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.archive-num{
    width: 6em;
}
.archive-num b{
    color: var(--red);
}
.archive-sort_ul{
    flex: 1;
    display: flex;
    justify-content: flex-end;
}
.archive-sort_li{
    margin-left: 1em;
}
.archive-sort_li a{
    color: var(--orange);
}
.archive-sort_li a:hover{
    text-decoration: underline;
}
.archive-ul{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2em;
    margin: 1em 0;
}
.archive-img{
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--black);
    border-radius: 1em;
    padding: 1em;
    aspect-ratio: 1 / 1;
    margin-bottom: 0.5em;
}
.archive-img img{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    aspect-ratio: 1 / 1;
}
.archive-title{
    display: block;
    line-height: 1.2;
    margin-bottom: 0.5em;
}
.archive-title:hover{
    color: var(--orange);
}
.archive-price{
    text-align: right;
    line-height: 1.3;
    margin-bottom: 0.2em;
    font-size: clamp(13px, 1.2vw, 14px);
    color: var(--red);
}
.archive-price br{
    display: none;
}
.archive-price.is-discount{
    color: var(--red);
}
.archive-price.is-soldout{
    color: var(--dgray);
}
.archive-expl{
    font-size: clamp(13px, 1.2vw, 14px);
    font-weight: 400;
    line-height: 1.3;
    margin-top: 0.6em;
}
.archive-pager{
    text-align: center;
    margin: 1em 0;
}
.archive-pager_ul{
    display: flex;
    justify-content: center;
    align-items: center;
}
.archive-pager_a{
    font-size: 14px;
    border: 1px solid var(--black);
    line-height: 1;
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 3px;
    margin: 0 2px;
}
.archive-pager_a:hover{
    background: var(--orange);
    color: #fff;
}
.archive-pager_a.is-prev,
.archive-pager_a.is-next{
    color: var(--orange);
}
.archive-pager_a.is-prev,
.archive-pager_a.is-next,
.archive-pager_a.is-disabled{
    width: 4em;
    font-size: clamp(12px, 1vw, 12px);
    border: none;
}
.archive-pager_a.is-current{
    width: 25px;
    height: 25px;
    background: var(--gray);
    border: 1px solid var(--dgray);
}
.archive-pager_a.is-prev.is-disabled,
.archive-pager_a.is-next.is-disabled,
.archive-pager_a.is-disabled,
.archive-pager_a.is-current{
    pointer-events: none !important;
    color: var(--dgray);
}
@media screen and (max-width: 980px) {
    .archive-ul{
        grid-template-columns: repeat(3, 1fr);
    } 
}
@media screen and (max-width: 680px) {
    .archive-free1_text{
        padding: 1em;
    }
    .archive-ul{
        gap: 2em 1em;
    } 
    .archive-expl{
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 3; 
    }
}
@media screen and (max-width: 480px) {
    .archive-ul{
        grid-template-columns: repeat(2, 1fr);
    } 
    .archive-price br{
        display: block;
    }
}

.product-option_table{
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    margin-bottom: 2em;
}
.product-option_table table{
    min-width: 580px;
    width: 100% !important;
    max-width: inherit !important;
    border-collapse: collapse;
}
.product-option_table th,
.product-option_table td{
    border: 1px solid var(--black);
    padding: 0.5em 0.2em;
    font-size: clamp(12px, 1.4vw, 14px);
    text-align: center;
}
.product-option_table .table_price{
    font-size: clamp(12px, 1.4vw, 14px);
    font-weight: 400;
}
.stock_head{
    background: var(--blue);
}
.product-option_table th:first-child{
    background: var(--cream);
}

/*クイックカート*/
.cart_in_modal__button {
    box-shadow: none;
    background: var(--red);
    border: 1px solid var(--black);
}
.cart_in_modal__text-link{
    color: var(--red);
}
.cart_in_modal__text-link::before {
    border-top: 2px solid var(--red);
    border-right: 2px solid var(--red);
}

/*FAQ*/
.faq-q,
.faq-a{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.faq-q{
    cursor: pointer;
    background: var(--gray);
    border: 1px solid var(--black);
    padding: 0.5em 3em 0.5em 1em;
    position: relative;
    line-height: 1.4;
    border-radius: 0.5em;
}
.faq-a{
    width: calc(100% - 3em);
    margin: 0 0 1em auto;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height .25s ease, opacity .25s ease;
}
.faq-a p{
    line-height: 1.6;
    margin: 0 0 1.5em;
    padding: 1.5em 0 0;
    font-weight: 400;
}
.faq-q.open + .faq-a{
    max-height: 1000px;
    opacity: 1;
}
.faq-q span,
.faq-a span{
    font-size: 200%;
    font-weight: 400;
    font-style: normal;
    margin-right: 0.2em;
}
.faq-q span{
    color: var(--orange);
}
.faq-a span{
    color: var(--yellow);
    margin-left: 0.2em;
}
.faq-q:after,
.faq-q:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  width: 25px;
  height: 2px;
  background: var(--red);
}
.faq-q:after {
  transition: all 0.1s ease-in-out;
}
.faq-q:before {
  transform: rotate(90deg);
  transition: all 0.3s ease-in-out;
}
.faq-q.open:before {
  transform: rotate(180deg);
}
.faq-q.open:after {
  opacity: 0;
}
.faq-inq{
    display: block;
    width: 20em;
    color: #fff;
    border-radius: 0.5em;
    line-height: 1.3;
    padding: 0.5em;
    font-size: clamp(16px, 1.4vw, 18px);
    background: var(--orange);
    margin: 1em auto;
    border: 1px solid var(--black);
    text-align: center;
}
.faq-inq:hover{
    background: var(--dblue);
    color: #fff;
}
@media screen and (max-width: 680px) {
    .faq-a{
        width: 100%;
        padding-left: 1em;
    }
}







