@charset "utf-8";

/* Quick Order */
.quickorderListTable{
    th{
        & .tax_exclud,
        & .tax_includ{
            font-size: 1.2rem;
            line-height: 1;

            &::before{
                content:"\a";
                white-space: pre;
            }
        }
    }
    .inputProductNum{
        width: calc(10rem + 1rem);        
    }
    .product_name{
        &.error_msg{
            color: #ff0000;
        }
    }
    .product_price{
        & .tax_exclud{
            white-space: nowrap;           
        }
        & .tax_includ{
            white-space: nowrap;
            &::before{
                content:"\a";
                white-space: pre;
            }
        }
    }
    .product_btns{
        @media only screen and (max-width: 480px) {
            margin-top: 10px;
        }
    }

}
    /* ポップアップ */
    #modal_quickorder{
        display: none;

        & .modal_header{
          padding:10px;
      
          & h3{
            font-size:1.6rem;
          }
        }
        & .icon_close{
          font-size:2rem;
        }
      
        & .modal_contents{
            flex-flow: column;

            & h4{
                box-sizing: border-box;
                margin: 1rem 0 1.5rem;
                padding: 1rem;
                background-color: #eee;
                font-size: 1.8rem;
                font-weight: 700;
                width:100%;
            }
            & p{
                margin-bottom: 30px;
            }
            & .cartBtns{
                justify-content: center;
                margin-bottom:0px;
                gap:20px;
                flex-wrap: wrap;
            
                @media only screen and (max-width: 959px) {
                  width:100%;
                }
            }
        }   
    }

/* Cart（カート内リスト） */
#cart{
    & .productListTable{
        margin-bottom: 20px;

        & tr.sum_wrap{
            @media only screen and (max-width: 768px) {
              border:0px;
              margin-bottom:0px;
              padding:0px;
            }     
            & td{
              border-bottom:0px !important;
              padding-bottom:5px;
              font-size:20px;
              white-space: nowrap;
      
              @media only screen and (max-width: 768px) {
                display: block;
                padding: 10px;
                border-bottom: none;
                font-size:16px;
        
                &:nth-of-type(1) {
                  display:none;
                }
                &:nth-of-type(2) {
                  grid-column: 1 / 4;
                  grid-row:1/1;
                  text-align: left;
                }
                &:nth-of-type(3) {
                  grid-column: 4 / 5;
                  grid-row:1/1;
                  margin-bottom: 0px;
                }
              }
            }
            &:first-of-type{
                & td{
                  padding-top: 40px;
                }
            }     
            &.font-bold{
                & td{
                    font-size: 28px;
                }
            }
          }
    }
    & .cartSum{
        background-color:#ffffff;
        border: none;
        border-radius: 0px;
        margin: 0 0 6rem auto;
        padding: 0;
        max-width: 1330px;
    }
    
    /* & .cartinfo{
        margin: 0;
        width:100%;

        & ul{
            list-style: none;
            width: 100%;

            & li{
                text-align: right;
                width: 100%;

                & .sp_wrap{

                    @media only screen and (max-width: 480px){
                        
                        &::before{
                            content: "\a";
                            white-space: pre;
                        }
                    }
                }
            }
        }
    } */
}
/* Cart step1（配送先選択） */
#step1 {
    & .shop_selected{
        display: flex;
        align-items: center;
        flex: start;
        gap: 4px;
    }
    & input#post_code:disabled{
        padding: 0.8rem 0;
    }
    & .shop_info {
        & .direct_shop {
            display: flex;
            gap: 5px;
            align-items: center;

        }
    }
    & .direct_shop_comment{
        margin-bottom: 30px;
        margin-top: 10px;
        font-size: 14px;
    }
}
/* Cart step3（確認画面） */
#step3{
    .productListTable {
        & tr {
            & td {              
                & *{
                    font-size: 16px;
                }
                & span[class^="label_"]{
                    font-size: 14px;                   
                }
                @media only screen and (max-width: 959px) {
                    &:nth-of-type(1) {
                        grid-row: unset;
                        grid-column: 1 / 3;
                        margin-right: 1rem;

                        & .product_num{
                            text-align: left;
                        }
                    }
                    &:nth-of-type(2) {
                        grid-row: unset;
                        grid-column: 1 / 5;
                        margin-bottom: 1rem;
                    }
                    &:nth-of-type(3) {
                        grid-row: unset;
                        grid-column: 1 / 5;
                        margin-bottom: 0;
                    }
                }
            } 

        }

        & tr.sum_wrap{
      
            & td{
              border-bottom:0px !important;
              padding-bottom:5px;
              font-size: 20px;
              white-space: nowrap;

              & span{
                font-size: 20px;
              }
      
              @media only screen and (max-width: 768px) {
                display: block;
                padding: 10px;
                border-bottom: none;
                font-size:16px;
        
                &:nth-of-type(1) {
                  display:none;
                }
                &:nth-of-type(2) {
                  grid-column: 1 / 4;
                  grid-row:1/1;
                  text-align: left;
                }
                &:nth-of-type(3) {
                  grid-column: 4 / 5;
                  grid-row:1/1;
                  margin-bottom: 0px;
                }
              }
            }

            @media only screen and (max-width: 768px) {
                border:0px;
                margin-bottom:0px;
                
                padding:0px;
              }
              &:first-of-type{
                  & td{
                    padding-top: 40px !important;
                  }
                }     
              &:last-of-type{
                & *{
                  font-size:28px;
                  
                  @media only screen and (max-width: 768px) {
                      font-size: 24px;                   
                  }
                }
              }
        }
        & input#post_code:disabled{
            padding: 0.8rem 0;
        }  
    }
}

/* Cart step4（完了） */
#step4 {
    & .thanks_img{
        max-width: 280px;
        height: auto;
        text-align: center;
        margin: 0 auto;
    }
    & .thanks {
        background-color: #ffffff;
        border: none;
        margin-top: 0;
        font-size: 2rem;
        max-width: 600px !important;
        border: none;
        background-color: none;

        @media only screen and (max-width: 480px) {
            padding: 30px 10px;   
            font-size:1.7rem;                
        }
    }
}




/* Contact */
#contact{
    & #comment{
        min-height: 200px;
    }
}

/* User regist（利用登録） */
#userregist{
    & .attention{
        margin: 4px 0;
        font-size: 14px;
    }

    & .userinfo_regist_form{
        & .title_gray_gl.w105{
            &::after{
                width: 105px;
            }
        }
    }
}
.userregist_sec {
    & form {
        & dt {
            width: 25%;
            padding-top: 10px;
        }
        & dd {
            width: 75%;
        }  
        @media only screen and (max-width: 959px) {
            & dt {
                width: 100%;
            }
            & dd {
                width: 100%;
            }
        }
    }
}

/* Password reset */
#forget_password.login {
    & .btn_midium {
        width: 100%;
    }
}

/* Category */
/*aside*/
.sideDetail{
    & .search_keyword{
        & .reset_btn{
            cursor: pointer;
            box-sizing: border-box;
            padding: 0rem .5rem;
            background: transparent linear-gradient(180deg, #FFFFFF 0%, #EAEAEA 100%) 0% 0% no-repeat padding-box;
            border: 1px solid #DDDDDD;
            border-radius: 3px;
            color: #345aa0;
            font-size: 1.1rem;
        }
    }
}



/* Product Add DPS 20250314 */
#product .slick-slide a {
    display: flex;
    align-items: center;
}
.product-detailSlider{
	background-color: #ffffff !important;
}
#product{
    & .product-detailSlider{
        iframe{
            width: 100%;
            height: auto;
            aspect-ratio: 1 / 1;
        }
    }
    & .product-detailThumbnails{
    & .slick-track{
        & .slick-slide{
            width: 85px !important;
            height: 85px !important;
            display: flex !important;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            background: #fff; /* 必要に応じて背景色指定 */
            > img {
                max-width: 100%;
                max-height: 100%;
                height: auto;
                width: auto;
                display: block;
              }
        }
    }
    }
    & .p-detailImage {
        box-sizing: border-box;
        position: relative;
        display: block;
        width: 100%;
        height: 0;
        padding-top: 100%;
        background-color: #fff;
    }
    & .p-detailImage img.play,
    & .p-detailImage iframe.play {
        box-sizing: border-box;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 40px;
        height: auto;
        z-index: 100;
        transform: translate(-50%, -50%);
    }
    & .p-detailImage img,
    & .p-detailImage iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}


/* Cart */
.productListTable {
    & a.product_num {
        text-decoration: underline;
    }
}
.header.cart{
    border-top: 10px solid #333333;
    border-bottom: 1px solid var(--base-color);

    @media only screen and (max-width: 767px) {
        margin-top: 0;
    }   
}

/* required */
.required {
    white-space: nowrap;
}

/* Order History */
#order_history {
    & .search_result_tbl {
        & tbody {
            & tr {
                &:nth-of-type(1) {
                    & td {
                        padding: 10px 0px 0px;
                        border-bottom-style: dashed;
                    }
                }
                &:nth-of-type(2n - 1) {
                    border-top-style: dashed;
                }
                &:nth-of-type(3) {
                    border-top: 1px dashed var(--base-color) !important;
                }

                & td{
                    background-color: #fafafa;
                }
            }
        }

        & .label_baseblue{
            background-color: var(--base-color);
            color:#fff;
          }
    }
}
#orderDetail{
    .productListTable {
        & tr {
            & td {              
                & *{
                    font-size: 16px;
                }
                & span[class^="label_"]{
                    font-size: 14px;                   
                }
                @media only screen and (max-width: 959px) {
                    &:nth-of-type(1) {
                        grid-row: unset;
                        grid-column: 1 / 3;
                        margin-right: 1rem;

                        & .product_num{
                            text-align: left;
                        }
                    }
                    &:nth-of-type(2) {
                        grid-row: unset;
                        grid-column: 1 / 5;
                        margin-bottom: 1rem;
                    }
                    &:nth-of-type(3) {
                        grid-row: unset;
                        grid-column: 1 / 5;
                        margin-bottom: 0;
                    }
                }
            } 

        }

        & tr.sum_wrap{
      
            & td{
              border-bottom:0px !important;
              padding-bottom:5px;
              font-size: 20px;
              white-space: nowrap;

              & span{
                font-size: 20px;
              }
      
              @media only screen and (max-width: 768px) {
                display: block;
                padding: 10px;
                border-bottom: none;
                font-size:16px;
        
                &:nth-of-type(1) {
                  display:none;
                }
                &:nth-of-type(2) {
                  grid-column: 1 / 4;
                  grid-row:1/1;
                  text-align: left;
                }
                &:nth-of-type(3) {
                  grid-column: 4 / 5;
                  grid-row:1/1;
                  margin-bottom: 0px;
                }
              }
            }

            @media only screen and (max-width: 768px) {
                border:0px;
                margin-bottom:0px;
                
                padding:0px;
              }
              &:first-of-type{
                  & td{
                    padding-top: 40px !important;
                  }
                }     
              &:last-of-type{
                & *{
                  font-size:28px;
                  
                  @media only screen and (max-width: 768px) {
                      font-size: 24px;                   
                  }
                }
                & td {
                    font-size: 28px;
                }
              }
        }
        & input#post_code:disabled{
            padding: 0.8rem 0;
        }  
    }
}
& .orderDetailBtn{
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 60px;
    position: relative;
}

/* Guide */
#guide{
    & #guide_order{
        & .counter{
            margin-bottom: 20px;
        }
        & dl{
            padding-left: 1.5rem;
            margin: 10px 0 20px;

            & dt{
                font-weight: bold;
            }
            & dd{
                margin-left: 1.5rem;
                margin-bottom: 10px;
            }
        }
    }

    & #guide_price {
        & .guide_price_content {
            margin-bottom: 30px;
            
            & h3 {
                font-size: 1.8rem;
                font-weight: bold;
                margin-bottom: 10px;
            }
            & ul.disc {
                list-style: disc;
                margin-left: 2rem;
            }
        }
    }   
}

/*利用規約*/
#kiyaku{    
   & .kiyaku_container{
        margin-bottom: 50px;
        counter-reset: step-counter;

            & > .counter {
                counter-increment: step-counter;
                
                &::before {
                    content: counter(step-counter) ". ";
                }
            }
            & .list-decimal{
                margin-left: 20px;

                > li{
                    margin-bottom: 10px;
                }
            }
            ol.list-decimal2{
                margin-left: 30px;               
                > li{
                    position: relative;
                    list-style-type: none;
                    margin-bottom: 10px;

                    &:before {
                        position: absolute;
                        right: calc(100% + 0.5rem);  /* 0.5remは連番とテキストとの余白 */
                        content: "(" counter(list-item) ")";
                    }
                }
            }
    }
}

/* 商品詳細 */
#product{
    & .product-detailSlider{
        & .slick-slide{
            & img{
                aspect-ratio: 1/1;
                object-fit: contain;
            }
        }
    }
    & .p-detailContent__campaign{
        position: relative;
        display: inline-block;
        margin-bottom: 15px;
        padding: .5rem 1rem;
        background: #fff;
        border: 1px solid red;
        border-radius: 3px;
        font-size: 1.4rem;
        text-align: center;
        color: red; 
        
        &::before{
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            width: 0;
            height: 0;
            border: 10px solid transparent;
            border-top-color: red;
            transform: translate(-50%);           
        }

        & span{
            font-size: 2rem;
            font-weight: 700;           
        }
    }
    & .c-itemContents__campaign{
        box-sizing: border-box;
        display: inline-block;
        margin-top: 5px;
        margin-bottom: 5px;
        padding: .5rem 1rem;
        background-color: #ff92cebd;
        border-radius: 4px;
        color: #000;
        font-size: 1.2rem;
        font-weight: 400;
        text-decoration: none;        
    }
}

/* 絞り込み検索 / modal */
#modal_search{
    .resetall_btn{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 20px;
        padding: 0 .5rem;
        background: transparent linear-gradient(180deg, #FFFFFF 0%, #EAEAEA 100%) 0% 0% no-repeat padding-box;
        border: 1px solid #DDDDDD;
        border-radius: 3px;
        color: #000;
        font-size: 1.1rem;
        text-align: center;
        line-height: 1;
    }
    .reset_btn{
        cursor: pointer;
        box-sizing: border-box;
        padding: 0rem .5rem;
        background: transparent linear-gradient(180deg, #FFFFFF 0%, #EAEAEA 100%) 0% 0% no-repeat padding-box;
        border: 1px solid #DDDDDD;
        border-radius: 3px;
        color: #345aa0;
        font-size: 1.1rem;
    }
}

/* お探しの商品は見つかりませんでした */
.p-errorpage{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;

    .p-errorpage_container{
        box-sizing: border-box;
        display: flex;
        align-items: center;
        padding: 3rem;
        box-shadow: 0 0 10px #aaa;

        & .p-errorpageLeft{
            width: 100px;
            margin-right: 2rem;  
        }
        & .p-errorpageRight{
            & .p-errorpageTitle{
                font-size: 2.5rem;
                font-weight: 700;
            }
            & .p-errorpageText {
                font-size: 1.8rem;
            }
        }

        @media only screen and (max-width: 767px) {            
            flex-direction: column;
            padding: 3rem 1.5rem;

            & .p-errorpageLeft{
                margin: 0 0 2rem;
            }
            & .p-errorpageRight{
                & .p-errorpageTitle{
                    font-size: 2rem;
                }
                & .p-errorpageText {
                    font-size: 1.6rem;
                }
            }            
            
        }
    }
}
.backtop_btn {
    justify-content: center;
    display: flex;
    gap: 20px;
    margin: 0 auto 5rem;
    padding-top: 10px;
    flex-wrap: wrap;
}

/* side search box */
aside{
    & .resetall_btn{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 20px;
        padding: 0 .5rem;
        background: transparent linear-gradient(180deg, #FFFFFF 0%, #EAEAEA 100%) 0% 0% no-repeat padding-box;
        border: 1px solid #DDDDDD;
        border-radius: 3px;
        color: #000;
        font-size: 1.1rem;
        text-align: center;
        line-height: 1;
    }
    & .search_btn_container{
        display: flex;
        justify-content: right;
    }

}

/* Login */
#login{   
    & #no_login_button{
        width: 180px;
        height: 50px;

        span {
            color: #000000;
            font-size: 1.4rem;
        }
   }
}

/* side Beginners / Login */
aside{
    & .sideBeginners,
    & .sideLogin,
    & .sideLogout{
        padding: 10px;
        border: solid 2px #aaaaaa;
        margin-bottom: 10px;

        & .txt-heading{
            font-weight: bold;
            font-size: 1.6rem;
            margin: 10px 0;
            text-align: center;
            border-bottom: 2px solid #816C67;
        }
        
        & .btn{
            font-size: 13px;
            font-weight: bold;
            color: #fff;
            width: 100%;
            padding: 10px;
            text-align: center;
            border-radius: 5px;
            margin-bottom: 10px;
        }
    }

    & .sideBeginners{
        display: none;

        &.active{
            display: block;  
            background-color: #fff9e6;

            & .btn_yellow{
                & *{
                    color: #000000;
                }
            }
            & .sideBeginners_text_container{
                font-size: 1.4rem;
                text-align: center;
                background: #ffffff;
                padding: 10px;
            }
        }
    }

    & .sideLogin{
        display: none;

        &.active{
            display: block;  

            .btn{
                background: var(--base-color);
                border: solid 1px var(--base-color);

                &:hover{
                    opacity: .8;
                }
            }
        }
    }
    & .sideLogout{
        display: none;

        &.active{
            display: block;  
                     
            .btn{
                background: #aaa;
                border: solid 1px #aaa;

                &:hover{
                    opacity: .8;
                }
            }
        }
    }
}
#top{
    .wrapper--1350.flex{ 
        aside{
            width: auto;
        }
        @media only screen and (max-width: 959px) {
            flex-flow: column-reverse;

            aside{
                display: flex;
                width: auto;
                gap: 10px;
                padding-bottom: 10px;

                > div{
                    flex-basis: 50%;
                }
            }
        }

    }
}

/* toppage */
#top{
    & .main_right {
        min-height: 310px;

        @media only screen and (max-width: 768px){  
            min-height: unset;
        }
    }

    .osusumeCategory{
        background: #F7F6F4;
        padding: 20px;
        border-bottom: none;

        & .osusumeCategoryList{
            display: flex;
            flex-wrap: wrap;
        
            & li{
                width: calc((100% - 60px) / 7);
                margin-right: 8px;
                padding: 5px;

                &:hover{
                    background: #e2f0f8;
                }

                & .osusumeCategoryBlock{

                    & .osusumeCategoryBlock_image{
                        width: 100%;
                        aspect-ratio: 1/1;
                        background: #ffffff;
                        margin-bottom: .5rem;
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        overflow: hidden;

                        > img{
                            width: 100%;
                            height: 100%;
                            object-fit: contain;
                        }
                    }
                    & .osusumeCategoryBlock_name{
                        font-size: 1.4rem;
                        line-height: 1.4;
                        font-weight: bold;
                        color: #000000;
                    }
                }
            }
        }

        @media (max-width: 768px){   
        & .osusumeCategoryList{
            & li{
                width: calc((100% - 50px) / 5);
                margin-right: 10px;
            }
          }
        }
        @media (max-width: 480px){
        padding: 10px 10px 20px 10px;

        & h2{
            margin-top: 10px;
        }
        & .osusumeCategoryList{  
            & li{
                width: calc((100% - 20px) / 5);
                margin-right: 4px;
            }
        }
        }
    }
}

/* Button */
.btn_yellow{
    color: #000000;
    background: transparent linear-gradient(180deg, #ffcc00 0%, #ffaa00 100%) 0% 0% no-repeat padding-box;
    border-color: #ffcc00;
    box-shadow: 0 1px 3px #00000034;
    border-radius: .5rem;

    &:hover{
        background: transparent linear-gradient(180deg, #ffcc00 0%, #ffaa00 100%) 0% 0% no-repeat padding-box;
        border-color: #ffcc00;  
        opacity: 0.8; 
        color: #000000;     
    }

    & *{
        color: inherit;   
        background-color: inherit;
        border: none;
    }

    &.btn_color{
        background: #d3d3d3;
        border: 1px solid #aaa;
        color: #ffffff;
        cursor: not-allowed;
        pointer-events: none;
        padding: 0;

        & *{
            color: #ffffff;
    
        }  

        &.active{
            background: transparent linear-gradient(180deg, #ffcc00 0%, #ffaa00 100%) 0% 0% no-repeat padding-box;
            border-color: #ffcc00;
            
            & *{
                color: #000000;        
            }        
        }

    }
}

.btn_blue{
    color: #ffffff ;
    background: transparent linear-gradient(180deg, #72a5ff 0%, #5390ff 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0 1px 3px #00000034;
    border-radius: .5rem;
  
    &:hover{
      background: transparent linear-gradient(180deg, #72a5ff 0%, #5390ff 100%) 0% 0% no-repeat padding-box;
      opacity: .8;
      color: #ffffff !important;
    }
    
    > *{
      color: inherit;   
      background-color: inherit;
      border: none;
    }

    &.btn_color{
        background: #d3d3d3;
        border: 1px solid #aaa;
        color: #ffffff;
        cursor: not-allowed;
        pointer-events: none;
        padding: 0;

        & *{
            color: #ffffff;
    
        }  

        &.active{
            background: transparent linear-gradient(180deg, #72a5ff 0%, #5390ff 100%) 0% 0% no-repeat padding-box;

            & *{
                color: #ffffff;
        
            }        
        }

    }
  }

  /*利用規約*/
#kiyaku{    
    & .kiyaku_container{
         margin-bottom: 50px;
         counter-reset: step-counter;

        & .title_blue_dot {
            font-size: 2rem;
            margin-bottom: 20px;
            font-weight: 700;
            padding-bottom: 5px;
            border-bottom: 2px dotted var(--base-color);
            line-height: 1.3;
        }
 
             & > .counter {
                 counter-increment: step-counter;
                 
                 &::before {
                     content: counter(step-counter) ". ";
                 }
             }
             & .list-decimal{
                 margin-left: 20px;
 
                 > li{
                     margin-bottom: 10px;
                 }
             }
             ol.list-decimal2{
                 margin-left: 30px;               
                 > li{
                     position: relative;
                     list-style-type: none;
                     margin-bottom: 10px;
 
                     &:before {
                         position: absolute;
                         right: calc(100% + 0.5rem);  /* 0.5remは連番とテキストとの余白 */
                         content: "(" counter(list-item) ")";
                     }
                 }
             }
     }
 }

 /* Header / カテゴリから探す*/
.headerGrobalmenu{    
    & #headerCategory_menu{
        position: relative;

        & .menu_btn{
            background: var(--base-color);
            color: #ffffff;
            font-size: 1.3rem;
            line-height: 40px;
            height: 40px;
            padding: 20px;
            margin-right: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            cursor: pointer;
            white-space: nowrap;
            box-sizing: border-box;
            border-radius: 0.5rem;

            & .icon_arrowDown{
                font-size: 1.8rem;
                line-height: 0;
            }

        }

        & #menu_container{
            display: none;            

            &.active{
                display: flex;
                gap: 20px;
                position: absolute;
                left: 0;
                top: 40px;
                z-index: 10;
                background: #ffffff;
                box-shadow: 2px 2px 4px #DDDDDD;
                border: solid 1px #DDDDDD;
                padding: 20px;
                max-height: 70vh;
                overflow: auto;

                @media only screen and (max-width: 480px){
                    width: calc(100vw - 20px);
                    flex-flow: column;
                }

                & .category_title{
                    font-size: 18px;
                    margin-bottom: 10px;
                    font-weight: 700;
                    padding-bottom: 5px;
                    border-bottom: 2px dotted var(--base-color);
                    line-height: 1.3;
                    letter-spacing: 0.1rem;
                }

                & #categoryMenuE{
                    & .categoryList{

                        & .categoryList_item{                                   
                            margin-bottom: 20px;

                            & a{
                                white-space: nowrap;
                                padding: 0.5rem 0; 
                                display: block;
                                color: #5390ff;                          
                            }

                            > a{
                                font-size: 1.6rem;
                                font-weight: bold;
                                color: #000000;
                                margin-bottom: 0.5rem;
                                border-bottom: 1px solid #DDDDDD;
                            }
                            > ul{
                                > li{                              
                                    > a{
                                        font-size: 1.4rem; 
                                        padding-left: 1rem;
                                        
                                        &:hover{
                                            background: var(--base-light-color);
                                        }
                                                                    
                                    }
                                    > ul{
                                        margin: 0;

                                        > li{
                                            > a{
                                                font-size: 1.3rem;
                                                padding-left: 1rem; 
                                                
                                                &:hover{
                                                    background: var(--base-light-color);
                                                }
                                            }
                                            > ul{
                                            > li{
                                                > a{
                                                font-size: 1.3rem;  
                                                padding-left: 1.5rem; 

                                                &:hover{
                                                    background: var(--base-light-color);
                                                }
                                                }
                                            } 
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                & #categoryMenuS{
                    & .categoryList{

                        & .categoryList_item{                                   
                            margin-bottom: 20px;

                            & a{
                                white-space: nowrap;
                                padding: 0.5rem 0; 
                                display: block;
                                color: #5390ff;                           
                            }

                            > a{
                                font-size: 1.6rem;
                                font-weight: bold;
                                color: #000000;
                                margin-bottom: 0.5rem;
                                border-bottom: 1px solid #DDDDDD;
                            }
                            > ul{
                                > li{                              
                                    > a{
                                        font-size: 1.4rem;
                                        padding-left: 1rem; 

                                        &:hover{
                                            background: var(--base-light-color);
                                        }                                
                                                                    
                                    }
                                    > ul{
                                        margin: 0;

                                        > li{
                                            > a{
                                                font-size: 1.3rem;
                                                padding-left: 1.5rem;

                                                &:hover{
                                                    background: var(--base-light-color);
                                                }                                          
                                            }
                                            > ul{
                                            > li{
                                                > a{
                                                font-size: 1.3rem;  
                                                padding-left: 1.5rem;

                                                &:hover{
                                                    background: var(--base-light-color);
                                                }
                                                }
                                            } 
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

            }                
        }
    }

    @media (max-width: 480px){
        & .headerSearch_wrap{
            position: relative;
            
            & #headerCategory_menu{
                position: absolute;
                top: 5px;  
                & .menu_btn{
                    width: 2fr;
                    font-size: 1.2rem;
                    line-height: 30px;
                    height: 30px;
                    padding: 10px;
                    border-radius: 3px;
                    margin-right: 0;
                }
                & #menu_container {
                    &.active {
                        top: 30px;
                    }
                }                  
            }
            & .headerSearch_form{
                & .search_select{
                    margin-right: 0;
                    border-top: none;
                    border-bottom: none;
                }
                & .search_input{
                    width: 100%;
                }
                & .search_btn{
                    width: auto;
                }
            }         
            & .headerSearch_form{
                display: grid; 
                grid-template-columns: repeat(6,1fr); 
                grid-template-rows: 1fr 1fr; 
                gap: 0px 0px; 
                grid-template-areas: 
                ". . . . search_detail_btn search_detail_btn"
                "search_select search_select search_input search_input search_input search_btn"; 
            }
            .search_select { grid-area: search_select; }
            .search_detail_btn { grid-area: search_detail_btn; }
            .search_input { grid-area: search_input; }
            .search_btn { grid-area: search_btn; }             
        }
    }
}


/* Pagenation */
.pagenation {
    margin-top: 20px;
    margin-bottom: 10px;
    font-size: 1.8rem;
 
    & .total{
       margin: 0 0.5rem;
    }
    & .perpage{
       margin: 0 10px;
    }
    & .pager{
       align-items: center;
       justify-content: flex-start;
       gap: 4px;
 
       & li{
          background: #ffffff;
          border: none;

          > a{
             display: flex;
             align-items: center;
             justify-content: center;
             text-align:center;
             line-height: 2rem;
             color: #5390ff;
             text-decoration: underline;
             width: 3rem;             
             height: 3rem;
             padding: 4px;
             aspect-ratio: 1 / 1;
             transition: all 0.3s linear;

             &:hover{
                background-color: #ffffff;
                opacity: 0.8;
              }
          }

       }
       & li.active{
          > a{
             color: #ffffff;
             text-decoration: none;
             background: var(--base-color);
             font-weight: 500;
          }        
       }
       & li.prev, & li.next{
          font-size: 1.4rem;
          width: auto; 
          display: flex;
          justify-content: center;
          align-items: center;
          background: #fff;
          color: #5390ff;
          transition: all 0.3s linear;
          cursor: pointer;
 
          &::after{
             content: none;
          }
 
          > a{
             width: auto; 
             color: inherit;
             white-space: nowrap;
          }
       }                   
    }
 }

/* Tooltip */
.tooltip-container {
    position: relative;
    display: inline-block;
  }
  
  .icon_info {
    cursor: pointer;
    /* 必要に応じてサイズや余白も調整 */
  }
  
  /* ツールチップ本体 */
  .tooltip {
    position: absolute;
    bottom: 125%; /* 上方向に表示 */
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.8); /* 黒透過 */
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    white-space: nowrap;
    font-size: 13px;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s;
  }
  
  /* 吹き出しの矢印 */
  .tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 6px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
  }
  
  /* ホバー時に表示 */
  .tooltip-container:hover .tooltip {
    opacity: 1;
    visibility: visible;
  }
 
  
/* Guide */
#guide_faq{
    & .faq_list{
        padding: 0 0 0 4rem;

        & dt, & dd{
            position: relative;

            &::before{
                position:absolute;
                top: 0;
                left: -4rem;
                display: inline-block;
                width: 3rem;
                height: 3rem;
                text-align: center;
                line-height: 1.5;
            }
        }
        & dt{
            margin-bottom: 0.5rem;
            font-size: 1.6rem;
            font-weight: bold;
            line-height: 3rem;

            &::before{
                content:"Q";
                background: var(--base-color);
                color: #ffffff;
            }
        }
        & dd{
            margin-bottom: 2rem;

            &::before{
                content:"A";
                background: var(--base-light-color);
                color: #000000;
            }
        }
    }
}

/* Toppage slider */
#top{
    & .topSlider{
        & .slick-slide{
            > a{
                transition: all 0.3s linear;

                & img{
                    transition: 0.3s linear;
                }

                &:hover{                    
                    opacity: 0.8;

                    & img{
                        filter: saturate(1.1) brightness(1.1);
                    }
                }               
            }


        }
    }
}
/* SearchResult-category */
.product{
    & .productList{
        & .product_price_List{
            & .product_price{
                display: flex;
                align-items: center;
            }
        }
    }
}

/* Footer Nav */
.footer_nav{
    & ul{
        & li:not(:last-of-type){
            border-right: solid 1px #DDDDDD;
            padding-right: 10px;

            a{
                & .icon_insta{
                    width: 1.4em;
                    height: auto;
                    aspect-ratio: 1 / 1;
                    vertical-align: middle;
                }
                @media only screen and (max-width: 480px){
                    font-size: 1.2rem;
                }
            }
        }
    }

}

/* Add 20250502 DPS */
#step3{
    & .stepBtn{
        > div.flex.flex-column{
            width: 250px;
        }
    }
}