@charset "utf-8";


/* -----------------------------------------------------------
    商品詳細
-------------------------------------------------------------- */
/* .products-detail{

} */

.products-detail .h1-area{
    top: 166px;
}

.products-section-title{
    font: 500 2rem / 1.5 'Noto Sans JP', sans-serif;
    text-align: left;
}

/* favorite */
.products-detail .favorite svg{
    stroke:#cdcdcd;
    fill: #fff;
    transition: .3s;

}

.products-detail .favorite:hover svg{
    stroke: #de5c6f;
    fill: #de5c6f;
    transition: .3s;
}

.products-detail .favorite.done svg{
    stroke: #de5c6f;
    fill: #de5c6f;
}

/* back-link */
.products-detail .back-link{
	padding: 20px 0 60px;
}

@media screen and (max-width: 768px){
    .products-section-title{
        font-size: 1.6rem;
		margin: 0 0 -15px;
    }

    /* favorite */

	/* back-link */
	.products-detail .back-link{
		padding: 20px 0 20px;
		text-align: center;
	}
}

/* -----------------------------------------------------------
    products-detail-wrapper
-------------------------------------------------------------- */
.products-detail-wrapper{
	display: flex;
    justify-content: space-between;
	width: 100%;
    padding: 70px 0 0;
}

/*    商品スライダー
-------------------------------------------------------------- */
.products-detail-wrapper .slider-set{
    width: calc(100% - 670px);
}

.products-detail-wrapper .slider-set .splide__slide{
    height: 530px;
    height: auto;
}

.products-detail-wrapper .slider-set .splide__slide img{
    height: 530px;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.thumbnails {
    display: flex;
    flex-wrap: wrap;
    margin: 1rem auto 0;
    padding: 0;
    justify-content: center;
    justify-content: flex-start;
}

.thumbnail {
    width: 80px;
    height: 80px;
    overflow: hidden;
    list-style: none;
    margin: 0 0.2rem;
    cursor: pointer;
}

.thumbnail img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*    products-detail-right
-------------------------------------------------------------- */
.products-detail-right{
    max-width: 630px;
}

/*	status(タグ)---------------------*/
.products-status-wrap{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin: 0 0 20px;
}

.products-status-wrap > li{
    display: inline-block;
    font-size: 1.4rem;
    padding: 8px 10px 5px;
    margin: 0 10px 10px 0;
}
.products-status-wrap > li.status1{
    background: #F4DCD8;
}
.products-status-wrap > li.status2{
    background: #D5E1DD;
}
.products-status-wrap > li.status3{
    background: #D8DAD1;
}
.products-status-wrap > li.status4{
    background: #EEE9D6;
}
.products-status-wrap > li.status5{
    background: #CED0D9;
}
.products-status-wrap > li.status6{
    background: #D3E3D8;
}

.products-detail-title{
	font: 500 2.6rem / 1.4 'Noto Sans JP', sans-serif;
	margin: 0 0 20px;
}

.products-detail-catch{
    font-size: 1.7rem;
    line-height: 1.6;
    margin: 0 0 20px;
}

/*    products-detail-summary
-------------------------------------------------------------- */
.products-detail-summary dl{
	display: flex;
	width: 100%;
	align-items: center;
	margin: 0 0 30px;
}
.products-detail-summary dt{
	margin: 0;
	font-size: 1.8rem;
}

/*	price---------------------*/
.products-detail-summary .price span{
    font: 400 3.4rem / 1 'Josefin Sans', sans-serif;
	margin: 0 0 0;
}

/*	color-box---------------------*/
.color-box .color-ttl{
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1;
}

.color-box .radio-button-group {
	display: flex;
    flex-wrap: wrap;
	width: 100%;
    margin: 10px 0 30px;
}

.color-box .radio-button-group .item {
	width: auto;
	margin: 0 10px 0 0;
}

.color-box .radio-button-group .item:last-child {
	margin: 0;
}

.color-box .radio-button-group .radio-button {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.color-box .radio-button-group .radio-button + label {
	padding: 10px 10px 5px;
	cursor: pointer;
	color: #666;
	display: block;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.4;
    width: 120px;
    border: solid 1px #D2D2D2;
}

.color-box .radio-button-group .radio-button:checked + label {
	background-color: #F2E6DD;
}

.color-box .radio-button-group .item .thumb{
    width: 100px;
    height: 80px;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
	margin: 0 0 5px;
}

.color-box .radio-button-group .item .thumb img{
    width: auto;
    max-height: 100%;
}

/*	size-box---------------------*/
.size-box .size-ttl{
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1;
    display: inline-block;
}

.size-box select{
    padding: 15px;
    margin: 0 0 0 15px;
    border: 1px solid #ccc;
}

/*	reserve-box---------------------*/
.reserve-box{
    line-height: 1.8;
    background: #f6f6f6;
    padding: 20px 30px;
    margin: 30px 0 30px;
}

.reserve-box .reserve:not(:last-of-type){
    margin: 0 0 15px;
}

.reserve-box .reserve span{
    color: var(--red);
    font-size: 1.2rem;
}

/*	cart-add-wrap---------------------*/
.cart-add-wrap{
    margin: 30px 0 0;
}

.cart-add-wrap .cart-number-wrap{
    display: inline-block;
}

.cart-add-wrap .cart-number-wrap #quantity{
    display: inline-block;
    width: 100px;
    height: auto;
    border: 1px solid #ccc;
    border-radius: 0 !important;
    padding: 15px;
    font-size: 1.5rem !important;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    color: #333;
    letter-spacing: 0.03em;
    background: #fff;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0 0 0 10px;
}

.cart-add-wrap input[type="submit"].cart-add-btn{
    width: 320px;
    padding: 22px 0;
	background: #de5c6f;
	color: #fff;
	font-weight: bold;
    margin: 0 0 0 40px;
}

.cart-add-wrap .favorite{
    position: static;
    margin: 0 0 0 30px;
}

/*	contact-btn---------------------*/
.contact-btn {
    margin: 30px 0 0;
}

.contact-btn a{
    display: block;
    width: 320px;
    height: 67px;
    line-height: 67px;
    font-size: 1.7rem;
    font-weight: 500;
    position: relative;
    text-align: center;
    border-radius: 30px;
    z-index: 1;
    color: #333;
    border: solid 1px #D2D2D2;
    border-radius: 0px;
}

/*	sns-box---------------------*/
.sns-box{
    display: flex;
    gap: 10px;
    align-items: center;
    margin: 30px 0 0;
}


@media screen and (max-width: 768px){
    .products-detail-wrapper{
        flex-wrap: wrap;
        gap: 30px;
        padding: 25px 20px 0;
    }

    /*	商品スライダー---------------------*/
    .products-detail-wrapper .slider-set{
        width: 100%;
    }

    .products-detail-wrapper .slider-set .splide__slide img{
        height: auto;
    }

    .sp-scroll{
        overflow-x: scroll;
    }

    .thumbnails{
        width: fit-content;
        flex-wrap: nowrap;
    }

    /*	.products-detail-right---------------------*/
    .products-detail-right{
        width: 100%;
    }

    /*	status(タグ)---------------------*/
    .products-status-wrap{
        margin: 0 0 5px;
    }

    .products-status-wrap > li{
        font-size: 1.2rem;
        padding: 5px 5px;
        margin: 0 5px 5px 0;
    }

    .products-detail-title{
        font-size: 2.2rem;
        margin: 0 0 20px;
    }

    .products-detail-catch{
		font-size: 1.6rem;
        margin: 15px 0 15px;
    }

    /*    products-detail-summary
    -------------------------------------------------------------- */
    .products-detail-summary dl{
        margin: 0 0 20px;
    }

    /*	price---------------------*/
    .products-detail-summary .price span{
        font-size: 2.8rem;
    }
    
    /*	color-box---------------------*/
    .color-box .radio-button-group .item {
		margin: 0 5px 0 0;
	}
	.color-box .radio-button-group .radio-button + label {
        width: 102px;
		padding: 5px 5px 2px;
		font-size: 1.3rem;
		line-height: 1.4;
	}
	.color-box .radio-button-group .item .thumb{
		width: 80px;
		height: 70px;
		margin: 0 0 5px;
	}

    /*	size-box---------------------*/

    .size-box select{
        width: 76%;
    }

    /*	cart-add-wrap---------------------*/
    .cart-add-wrap{
        display: block;
        margin: 20px 0 0;
    }

    .cart-add-wrap input[type="submit"].cart-add-btn{
        width: 100%;
        padding: 18px 0;
        margin: 15px 0 0;
    }

    .cart-add-wrap .favorite{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin: 20px auto 0;
    }

    /*	contact-btn---------------------*/
    .contact-btn a{
        margin: 0 auto;
    }
}


/*    products-detail-info
-------------------------------------------------------------- */
.products-detail-info{
	width: 100%;
    background: #f6f6f6;
    padding: 45px 0;
    margin: 80px 0 0;
    position: relative;
}
.products-detail-info .section-title{
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    z-index: 1;
}

.products-detail-info .detail-ttl{
    font-size: 1.8rem;
    font-weight: 500;
    padding: 0 0 10px;
    margin: 0 0 15px;
    border-bottom: solid 1px #707070;
    font-family: 'Noto Sans JP', serif;
    letter-spacing: 0.05em;
}
.nicms-fullrich{
    line-height: 1.8;
}
/* -------------------------------------------------------------
    フルリッチ
-------------------------------------------------------------- */
.nicms-fullrich h1, .nicms-fullrich h2, .nicms-fullrich h3, .nicms-fullrich h4 {
    font-weight: bold;
    line-height: 1.4;
}

.nicms-fullrich h1 {
    font-size: 2.7rem;
    font-weight: bold;
    border-bottom: 6px solid var(--main);
    padding: 0 0 15px;
    margin: 50px 0 30px;
}

.nicms-fullrich h2 {
    background: var(--main);
    color: #fff;
    font-size: 2.6rem;
    margin: 50px 0 30px;
    padding: 10px 20px 12px;
    position: relative;
    letter-spacing: .05em;
}

.nicms-fullrich h3 {
    border-bottom: dotted 3px var(--main);
    color: var(--main);
    margin: 40px 0 30px;
    padding: 0 0 10px;
    font-size: 2.4rem;
    letter-spacing: .05em;
}

.nicms-fullrich h4 {
    margin: 30px 0 20px;
    padding: 4px 0 0 16px;
    font-size: 2.3rem;
    position: relative;
}

.nicms-fullrich h4::before {
    background: var(--main);
    position: absolute;
    top: 2px;
    left: 0;
    display: block;
    content: '';
    width: 6px;
    height: 100%;
}

.nicms-fullrich a:link {
    color: var(--link);
    display: inline-block;
    text-decoration: underline;
}

.nicms-fullrich p {
    margin-bottom: 1.5em;
    font-size: 1.6rem;
    letter-spacing: .035em;
    line-height: 2;
    overflow-wrap: break-word;
}

@media screen and (max-width: 768px) {

    .products-detail-info{
        padding: 20px;
        margin: 60px 0 0;
    }

    .nicms-fullrich{
        padding: 20px;
        margin: 20px 0 0;
    }

    .nicms-fullrich h1, .nicms-fullrich h2, .nicms-fullrich h3, .nicms-fullrich h4 {
        line-height: 1.5;
    }

    .nicms-fullrich h1 {
        border-bottom-width: 4px;
        font-size: 2.3rem;
        line-height: 1.5;
        margin: 30px 0 20px;
        padding: 0 0 10px;
    }

    .nicms-fullrich h2 {
        margin: 30px 0 20px;
        padding: 8px 15px 10px;
        font-size: 2rem;
    }

    .nicms-fullrich h3 {
        margin: 30px 0;
        padding: 0 0 10px;
        font-size: 1.9rem;
    }

    .nicms-fullrich h4 {
        margin: 30px 0 20px;
        padding: 0 0 0 12px;
        font-size: 1.8rem;
    }

    .nicms-fullrich h4::before {
        top: 0;
        width: 5px;
    }

    .nicms-fullrich p {
        margin-bottom: 1em;
        line-height: 2;
        letter-spacing: .05em;
    }

}

/*    products-size-area
-------------------------------------------------------------- */
.products-feature-area{
    width: 100%;
    background: #fff;
    padding: 50px 70px;
    line-height: 1.8;
    margin: 20px 0 0;
}

@media screen and (max-width: 768px){

    .products-feature-area{
        padding: 20px;
        margin: 20px 0 0;
    }
}


/*    products-size-area
-------------------------------------------------------------- */
.products-size-area{
    width: 100%;
    background: #fff;
    padding: 50px 70px;
    line-height: 1.8;
    margin: 20px 0 0;
}

@media screen and (max-width: 768px){

    .products-size-area{
        padding: 20px;
        margin: 20px 0 0;
    }
}

/*    products-cautions-area
-------------------------------------------------------------- */
.products-cautions-area{
    width: 100%;
    background: #fff;
    padding: 50px 70px;
    line-height: 1.8;
    margin: 20px 0 0;
}

@media screen and (max-width: 768px){

    .products-cautions-area{
        padding: 20px;
        margin: 20px 0 0;
    }
}

/*    products-shipping-area
-------------------------------------------------------------- */
.products-shipping-area{
    width: 100%;
    background: #fff;
    padding: 50px 70px;
    line-height: 1.8;
    margin: 20px 0 0;
}

@media screen and (max-width: 768px){

    .products-shipping-area{
        padding: 20px;
        margin: 20px 0 0;
    }
}

/*    products-shipping-area
-------------------------------------------------------------- */
.products-spec-area{
    width: 100%;
    background: #fff;
    padding: 50px 70px;
    line-height: 1.8;
    margin: 20px 0 0;
}

@media screen and (max-width: 768px){

    .products-spec-area{
        padding: 20px;
        margin: 20px 0 0;
    }
}

/*    review-area
-------------------------------------------------------------- */
.review-area{
	padding: 80px 0 40px;
}
.review-area .section-title{
}

.review-scroll-wrap {
    width: 100%;
    height: 400px;
    border: 1px solid #d8cfba;
    overflow-y: auto;
    padding: 30px;
	margin: 30px 0 0;
}

.review-submit{
    display: block;
    width: 280px;
    text-align: center;
	/*
    border: 1px solid #333;
	*/
    padding: 15px 0;
    margin: -45px 0 0 auto;
	background: #7b7b7b;
	color: #fff!important;
	font-size: 1.5rem;
}

.review-wrap .review-item{
    padding: 50px;
    margin: 0 0 30px;
    position: relative;
	background: #F5F3E9;
    display: flex;
    gap: 30px;
}
.review-img{
    width: 100px;
    height: 100px;
}
.review-img img{
	width: 100%;
	height: 100%;
    object-fit: cover;
}

.review-wrap .review-item .txt-box{
    width: calc(100% - 130px);
}

.review-date{
    display: inline-block;
    margin: 0 15px 0 0;
}

.review-name{
    display: inline-block;
	font-size: 1.4rem;
    margin: 0 15px 0 0;
}

.review-star{
    display: inline-block;
	color: #aaa;
}
.review-star span{
    color: #FFCB02;
}

.review-title{
    font-weight: bold;
    font-size: 2rem;
	line-height: 1.5;
    margin: 0 0 5px;
}

.review-comment{
    line-height: 1.8;
}


@media screen and (max-width: 768px){

	.review-area{
		padding: 30px 10px;
	}
	.review-area .section-title{
	}
	
	.review-scroll-wrap {
		padding: 0;
		height: 300px;
		margin: 20px 0 0;
		-webkit-overflow-scrolling: touch;
	}
	
    .review-submit{
        width: 100%;
        padding: 15px 0;
		margin: 15px auto 0;
    }

    .review-wrap > li{
        padding: 15px;
        margin: 0 0 15px;
    }

    .review-title{
        font-size: 1.6rem;
    }

    .review-name{
        font-size: 1.2rem;
        padding: 10px 0;
    }

	.review-img{
		float: none;
		padding: 0 0 15px;
	}
	.review-img img{
		max-width: 300px;
		max-height: 300px;
	}
	.review-comment{
		line-height: 1.8;
		margin: 15px 0 0;
	}

    .review-comment{
        line-height: 1.8;
        margin: 15px 0 0;
		font-size: 1.5rem;
    }
}





/*    result-area
-------------------------------------------------------------- */
.result-area{
    padding: 20px 0 0;
}

/* favorite */
.result-product-wrap .favorite{
    color: #999;
    font: 500 2rem / 1 'Noto Sans JP', sans-serif;
    padding: 0!important;
    position: absolute;
    right: 30px;
    bottom: 30px;
    z-index: 2;
    cursor: pointer;
}
.result-product-wrap .favorite:hover{
    color: #de5c6f!important;
}

.products-category .favorite.done{
    color: #de5c6f;
}
.result-product-wrap .favorite:hover svg{
    stroke: #de5c6f;
}

@media screen and (max-width: 768px){

    .result-area .products-list{
        flex-wrap: nowrap;
    }
	/* favorite */
    .result-product-wrap .favorite{
        right: 15px;
        bottom: 15px;
    }

}



/*    セクション名
-------------------------------------------------------------- */
.products-list{
    max-width: unset;
}
@media screen and (max-width: 768px){

}
