@charset "UTF-8";

/**PC***********************************************/
@media screen and (min-width: 768px){

/*--------------------------------------------------
**************************************************
  メイン画像（スライダー）
**************************************************
--------------------------------------------------*/
/*
#mv{
	margin-top: 30px;
	}
*/

.slider {
	width:100%;
	margin:0 auto;
}

.slider img{
	width:100%;
    transition: transform 0.3s ease;
}

.slider img:hover {
    transform: scale(1.05);
    border-radius: 20px;
}

.slider .slick-slide{
	height:auto!important;
}

.slider .slick-arrow{
	z-index:2!important;
}

.slider .slick-next{
	right:5%!important;
}

.slider .slick-prev{
	left:5%!important;

}

.slick-slide{
	margin-right: 1vw!important;
	margin-left: 1vw!important;
}


/*--------------------------------------------------
**************************************************
  取扱商品
**************************************************
--------------------------------------------------*/

#products .products_contents {
    display: flex;
    justify-content: space-between;
    width: 1200px;
    gap: 20px;
    margin: 50px auto 0;
    flex-wrap: wrap;
}


#products .products_contents .products_contents_detail {
    flex: 1;
    max-width: calc(25% - 20px);
    box-sizing: border-box;
    border-radius: 8px;
    text-align: center;
    transition: transform 0.3s ease;
    position: relative;
    z-index: 0;
}

#products .products_contents .products_contents_detail:hover {
    transform: scale(1.05);
}

#products .products_contents .products_contents_detail img {
    border-radius: 10px;
}

#products .products_contents_image dd{
    font-size: 48px;
    color: #9C9C9C;
    margin-top: -40px;
    z-index: 1; /* ホバー時に前面に表示 */
}

#products .products_contents h3{
    margin: 0;
    text-align: center;
    font-size: 18px;
}

#products .products_contents h3 span{
    display: block;
    font-size: 14px;
}

.btn_cart {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 300px; 
    margin-left: auto;
    margin-right: auto;
}

.btn_cart li {
    flex: 1 1 calc(50% - 10px); /* 2列にする */
    max-width: calc(50% - 10px);
    display: flex;
    justify-content: center;
}

.btn_cart li:nth-child(3) {
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
}

.btn_cart li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 46px; 
    width: 100%;
    font-size: 12.5px;
    text-decoration: none;
    color: #1A1A1A;
    border: 1px solid #1A1A1A;
    text-align: center;
    padding: 0 10px;
    box-sizing: border-box;
}

.btn_cart li a:hover {
    background-color: #c71585;
    border: 1px solid #c71585;
    color: #FFF;
}

/*--------------------------------------------------
**************************************************
  お知らせ
**************************************************
--------------------------------------------------*/
.news_contents {
    width: 100%;
    margin: 20px auto;
}

.news_contents dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid #ccc;
}
.news_contents dl:last-of-type {
    border-bottom: none;
}
.news_contents dt {
    min-width: 120px;
    font-weight: bold;
    color: #555;
}
.news_contents dd {
    flex: 1;
    margin-left: 20px;
}
.news_contents a {
    text-decoration: none;
}
.news_contents a:hover {
    text-decoration: underline;
}
.btn_detail {
    margin-top: 50px;
    text-align: center;
}

.btn_detail a {
    display: inline-block;
    padding: 10px 80px;
    font-size: 14px;
    text-decoration: none;
    color: #1A1A1A;
    border: 1px solid #1A1A1A;
}
.btn_detail a:hover {
    background-color: #c71585;
    border: 1px solid #c71585;
    color: #FFF;
    text-decoration: none;
}

/*--------------------------------------------------
**************************************************
  よくある質問
**************************************************
--------------------------------------------------*/
.faq_contents {
    margin: 30px 0 0 0;
}

.faq_contents dl {
    margin: 10px 0 30px;
    background-color: #E8ECEF;
    overflow: hidden;
}

.faq_contents dl.active {
    padding-bottom: 30px; /* 開いたときに余白を追加 */
}

.faq_contents dt {
    position: relative;
    padding: 30px 40px 30px 60px;
    cursor: pointer;
    background-color: #E8ECEF;
}

.faq_contents dt::before {
    content: "Q";
    position: absolute;
    margin-top: -2px;
    left: 20px;
    font-size: 18px;
}

.faq_contents dt::after {
    content: "+";
    position: absolute;
    right: 30px;
    font-size: 18px;
    transition: transform 0.3s ease;
}

.faq_contents dd {  
    overflow: hidden;
    margin: 0;
    height: auto;
    max-height: 0;
    transition: max-height 0.4s ease;
}

.faq_contents dd span.answer {
    width: 1160px;
    margin: 0 auto 30px;
    display: block;
    background-color: #FFF;
    padding: 20px;
}


.faq_contents dl.active dt::after {
    content: "−";
}

.faq_contents dl.active dd {
    max-height: 1000px;
}

}


/**SP***********************************************/
@media screen and (max-width: 767px){

/*--------------------------------------------------
**************************************************
  メイン画像（スライダー）
**************************************************
--------------------------------------------------*/
/*
#mv{
	margin-top: 15px;
	}
*/

.slider_sp {
	width:100%;
	margin:0 auto;
}

.slider_sp img{
	width:100%;
    transition: transform 0.3s ease;
}

/*
.slider_sp img:hover {
    transform: scale(1.05);
    border-radius: 20px;
}
*/

.slider_sp .slick-slide{
	height:auto!important;
}

/*--------------------------------------------------
**************************************************
  取扱商品
**************************************************
--------------------------------------------------*/

#products .products_contents {
    width: 100%;
    margin: 50px auto 0;
}

.slider_products .slick-list {
    padding: 0 15% 0 0 !important;
}

#products .products_contents .products_contents_detail {
    box-sizing: border-box;
	padding-right: 20px;
    border-radius: 8px;
    text-align: center;
    transition: transform 0.3s ease;
    position: relative;
    z-index: 0;
    margin-bottom: 20px;
}

.dots-wrap {
    margin-top: 0px;
    display: flex;
    justify-content: center;
    gap: 1px;
}

.dots-wrap li {
    width: 40px;
    height: 2px;
    margin: 0 5px;
    background: #999;
    cursor: pointer;
}

.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background: #393939;
}
.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}

    
.dots-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 0px;
    font-size: 5vw;
}

.custom-prev, .custom-next {
    color: #393939;
    border: none;
    text-align: center;
    cursor: pointer;
}

.custom-prev:hover, .custom-next:hover {
   
}    
    
#products .products_contents .products_contents_detail img {
    border-radius: 10px;
}

#products .products_contents_image dd{
    font-size: 48px;
    color: #9C9C9C;
    margin-top: -40px;
    z-index: 1; /* ホバー時に前面に表示 */
}

#products .products_contents h3{
    margin: 0;
    text-align: center;
    font-size: 18px;
}

#products .products_contents h3 span{
    display: block;
    font-size: 14px;
}

.btn_cart {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 96%; 
    margin-left: auto;
    margin-right: auto;
}

.btn_cart li {
    flex: 1 1 calc(50% - 10px);
    max-width: calc(50% - 10px);
    display: flex;
    justify-content: center;
}

.btn_cart li:nth-child(3) {
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
}

.btn_cart li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 46px; 
    width: 100%;
    font-size: 12px;
    text-decoration: none;
    color: #1A1A1A;
    border: 1px solid #1A1A1A;
    text-align: center;
    padding: 0 2px;
    box-sizing: border-box;
}

.btn_cart li a:hover {
    background-color: #c71585;
    border: 1px solid #c71585;
    color: #FFF;
}

/*--------------------------------------------------
**************************************************
  お知らせ
**************************************************
--------------------------------------------------*/
.news_contents {
    width: 100%;
    margin: 20px auto;
}

.news_contents dl {
    padding: 20px 10px;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
}
.news_contents dl:last-of-type {
    border-bottom: none;
}
.news_contents dt {
    font-weight: 400;
    color: #555555;
}
.news_contents dd {
    margin-top: 10px;
}
.news_contents a {
    text-decoration: none;
}
.news_contents a:hover {
    text-decoration: underline;
}
.btn_detail {
    margin-top: 30px;
    text-align: center;
}

.btn_detail a {
    display: inline-block;
    padding: 10px 80px;
    font-size: 14px;
    text-decoration: none;
    color: #1A1A1A;
    border: 1px solid #1A1A1A;
}
.btn_detail a:hover {
    background-color: #c71585;
    border: 1px solid #c71585;
    color: #FFF;
    text-decoration: none;
}

/*--------------------------------------------------
**************************************************
  よくある質問
**************************************************
--------------------------------------------------*/
.faq_contents {
    margin: 30px 0 0 0;
}

.faq_contents dl {
    margin: 10px 0 20px;
    background-color: #E8ECEF;
    overflow: hidden;
}

.faq_contents dl.active {
    padding-bottom: 30px; /* 開いたときに余白を追加 */
}

.faq_contents dt {
    position: relative;
    padding: 20px 40px 20px 60px;
    cursor: pointer;
    background-color: #E8ECEF;
}

.faq_contents dt::before {
    content: "Q";
    position: absolute;
    margin-top: -2px;
    left: 20px;
    font-size: 18px;
}

.faq_contents dt::after {
    content: "+";
    position: absolute;
    right: 20px;
    font-size: 18px;
    transition: transform 0.3s ease;
}

.faq_contents dd {  
    overflow: hidden;
    margin: 0;
    height: auto;
    max-height: 0;
    transition: max-height 0.4s ease;
}

.faq_contents dd span.answer {
    width: 93%;
    margin: 0 auto 30px;
    display: block;
    background-color: #FFF;
    padding: 20px;
}


.faq_contents dl.active dt::after {
    content: "−";
}

.faq_contents dl.active dd {
    max-height: 1000px;
}
    
}