@charset "utf-8";
/* CSS Document */

/*

文字カラー #000
BGカラー　#FFF
キーカラー　#003894
SALEカラー　#940000

*/



/* header */

header{
    position: sticky;
    top: 0;
    z-index: 99;
}

.header_menu {
    display: flex;
    justify-content: space-between;
    padding: 2rem 2rem 0;
    align-items: center;
}

.header_menu i {
    font-size: 1.6rem;
    vertical-align: middle;
    cursor: pointer;
}

.header_logo img {
    width: auto;
    height: 4rem;
}

.header_menu > div {
    display: flex;
    grid-gap: 3rem;
    align-items: center;
}

.header_menu > div > div{
    width: 2.5rem;
}

.cart_box a {
    display: inline-block;
    position: relative;
}

.cart_box .fs-client-cart-count {
    position: absolute;
    display: inline-block;
    top: -0.25rem;
    right: -0.5rem;
    width: 1.25rem;
    height: 1.25rem;
    background: #cc0000;
    z-index: 1;
    border-radius: 50%;
    font-size: 0;
}

.cart_box .fs-client-cart-count.fs-client-cart-count--0 {
    display: none !important;
}

.header_menu_left > div{
    text-align: left;
}

.header_menu_right > div{
    text-align: right;
}



.right_letter {
    position: absolute;
    top: 0;
    right: 0px;
    transform: translateY(0%) rotate(-180deg);
    writing-mode: vertical-rl;
    z-index: 3;
    font-size: 1rem;
    letter-spacing: 0.05em;
    line-height: 2.2;
    height: 100%;
    text-align: center;
}



.sidenavi_button {
    background: #003894;
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 2.5rem;
    cursor: pointer;
    text-align: center;
    position: relative;
    z-index: 3;
    transition: background 0.5s;
}

.sidenavi_button:hover{
    background: #000;
}

.sidenavi_button span {
    display: block;
    position: absolute;
    height: 1px;
    width: 1.3rem;
    left: 50%;
    transform: translateX(-50%);
    background: #FFF;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.sidenavi_button span:nth-child(1) {
    top: 1rem;
    background: -webkit-linear-gradient(left, white 60%, #003894 60%);
    background: -o-linear-gradient(left, white 60%, #003894 60%);
    background: linear-gradient(to right, white 60%, #003894 60%);
}

.sidenavi_button span:nth-child(2) {
    bottom: 1rem;
}

.sidenavi_button_active span:nth-of-type(1) {
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
    top: 50%;
    background: -webkit-linear-gradient(left, white 60%, white 60%);
    background: -o-linear-gradient(left, white 60%, white 60%);
    background: linear-gradient(to right, white 60%, white 60%); 
}

.sidenavi_button_active span:nth-of-type(2) {
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
    top: 50%;
}

.sidenavi_button:hover span:nth-child(1){
    background: -webkit-linear-gradient(left, white 60%, #000 60%);
    background: -o-linear-gradient(left, white 60%, #000 60%);
    background: linear-gradient(to right, white 60%, #000 60%);
}

.sidenavi_button.sidenavi_button_active:hover span:nth-of-type(1){
    background: -webkit-linear-gradient(left, white 60%, white 60%);
    background: -o-linear-gradient(left, white 60%, white 60%);
    background: linear-gradient(to right, white 60%, white 60%);
}

/* side_menu */

#side_menu {
    display: block;
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 1;
    top: 0;
    left: 0;
    transition: all 0.3s ;
    opacity: 0;
    visibility: hidden;
}

#side_menu.side_menu_open {
    opacity: 1;
    visibility: visible;
}

.side_menu_box{
    width: 70vw;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    transition: left 0.3s;
    left: -70vw;
    z-index: 2;
    padding: 8rem 2rem;
    overflow-y: scroll;
    scrollbar-color: #003894 #FFF;
    scrollbar-width: thin;
}

#side_menu.side_menu_open .side_menu_box{
    left: 0;
}


.side_menu_bg{
    height: 100vh;
    width: 100vw;
    background: rgba(0,0,0,0.5);
    position: absolute;
    top:0;
    left: 0;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s;
    cursor: pointer;
    pointer-events: auto;
}

#side_menu.side_menu_open .side_menu_bg{
    opacity: 1;
}

.side_menu_list {
    margin-bottom: 1.5rem;
}

.side_menu_list dt {
    font-weight: 700;
    font-size: 1.5rem;
}
.side_menu_list dd {
    padding:0.5rem 0 0.5rem 1.5rem ;
}

.side_menu_list.side_menu_information {
    margin-bottom: 0;
    padding-top: 2rem;
    margin-top: 2rem;
    border-top: 1px solid #ccc;
}

.side_menu_list.side_menu_information dd {
    padding-left: 0;
}



    .side_menu_list .accordion_box {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out; /* アニメーションを追加 */
        visibility: hidden; /* 初期状態では見えない */
    }
  
    .side_menu_list .accordion_box.active_menu {
        visibility: visible;
        transition: max-height 0.3s ease-in-out; /* 開閉両方にアニメーション */
        max-height: fit-content;
    }

    .side_menu_list .accordionBtn {
            padding: 0;
            position: relative;
            background: transparent;
            border: 0;
            font-size: inherit;
            font-weight: 600;
            width: 100%;
            text-align: left;
            color: #000;
        }

    .side_menu_list .accordionBtn:hover{
        color: #003894;
    }
    
    .side_menu_list .accordionBtn::before,
    .side_menu_list .accordionBtn::after{
        content: "";
        position: absolute;
        top: 1rem;
        width: 1px;
        height: 0.8rem;
        background-color: #000;
        transition: .5s;
    }

    .side_menu_list .accordionBtn:hover::before,
    .side_menu_list .accordionBtn:hover::after{
        background-color: #003894;
    }

    .side_menu_list .accordionBtn::before{
        transform: rotate(-45deg);
        right: 1rem;
    }

    .side_menu_list .accordionBtn::after{
        transform: rotate(45deg);
        right: 0.5rem;
    }

    .side_menu_list .accordionBtn_active::before{
        transform: rotate(-135deg);
        transition: .5s;
    }

    .side_menu_list .accordionBtn_active::after{
        transform: rotate(135deg);
        transition:.5s;
    }

    .side_menu_list .accordion_box.active_menu {
        margin-bottom: 1rem;
    }

    .side_menu_list .accordion_box li {
        padding:0.5rem 0 0.5rem 1rem ;
    }


    #search_box {
        position: fixed;
        top: -2rem;
        z-index: 100;
        width: 100%;
        padding: 2.5rem 2rem;
        background: #003894;
        opacity: 0;
        visibility: hidden;
        transition: all 0.5s ease-in-out;    
    }
    
    #search_box.search_box_open{
        top: 0;
        opacity: 1.0;
        visibility: visible; 
    }


    #search_box > div{
        display: flex;
        grid-gap: 1rem;
        justify-content: space-between;
        align-items: center;
        width: 100%
    }

    #search_box form {
        flex: auto;
    }

    .keyword_box > div {
        background: #FFF;
        border-radius: 1.5rem;
        padding: 0 1rem;
        display: flex;
        height: 3rem;
        justify-content: space-between;
    }

    .search_content input,
    .search_content button {
          border: none !important;
          background: transparent;
      }

    .search_content input{
        flex: auto;
    }

    .search_content button {
        width: 3rem;
        height: 3rem;
        line-height: 3rem;
        font-size: 1.4rem;
        color: #000;
        cursor: pointer;
    }

    .search_close {
        background: #fff;
        width: 3rem;
        height: 3rem;
        border-radius: 1.5rem;
        position: relative;
        cursor: pointer;
    }

    .search_close::before,
    .search_close::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1px;
        height: 1.2rem;
        background: #003894;
      }
       
      .search_close::before {
        transform: translate(-50%,-50%) rotate(45deg);
      }
       
      .search_close::after {
        transform: translate(-50%,-50%) rotate(-45deg);
      }


@media screen and (min-width:768px) {
    
    
    .header_menu {
        padding: 4vw 4vw 0;
    }

    .sidenavi_button {
        height: 5rem;
    }
    
    .header_menu > div > div {
        width: 5rem;
    }
  
    .sidenavi_button span {
        width: 2.5rem;
    }
    .sidenavi_button span:nth-child(1) {
        top: 2rem;
    }

    .sidenavi_button span:nth-child(2) {
        bottom: 2rem;
    }

    .sidenavi_button_active span:nth-of-type(1) {
        transform: translateY(-50%) translateX(-50%) rotate(-45deg);
        top: 50%;
    }

    .sidenavi_button_active span:nth-of-type(2) {
        transform: translateY(-50%) translateX(-50%) rotate(45deg);
        top: 50%;
    }

    
    .header_menu > div {
        display: flex;
        grid-gap: 8vw;
        align-items: center;
    }
    
    .header_menu i {
        font-size: 2.5rem;
    }
    
     .header_logo img {
        height: 6rem;
    }
    
    .side_menu_box {
        width: 500px;
        left: -500px;
        padding: 10vw 4vw 6vw;
    }    
    

    #search_box {
        padding: 4vw;
        justify-content: center;
    }   
    
    #search_box > div {
        display: flex;
        grid-gap: 1vw;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        max-width: 1000px;
        margin: auto;
    }
    
    #search_box form {
        width: 100%;
        flex: auto;
    }

    
    .keyword_box > div {
        border-radius: 2.5rem;
        padding: 0 2rem;
        height: 5rem;
        width: 100%;
    }    

    .search_close {
        width: 5rem;
        height: 5rem;
        border-radius: 2.5rem;
    }    
 
    .search_close::before,
    .search_close::after {
        height: 2rem;
    }    
 
    .search_content button {
        width: 3rem;
        height: 5rem;
        line-height: 5rem;
        font-size: 2rem;
        color: #000;
    }    
    
}





/* hero_swiper */

.hero_swiper {
    height: calc(100vh - 8rem);
}

@supports (height: 100dvh) {
  .hero_swiper {
    height: calc(100dvh - 8rem); /* iOS Safariなどの最新ブラウザに対応 */
  }
}


.hero_brand {
    position: absolute;
    width: 100%;
    top: 7%;
    font-size: 2.5rem;
    text-align: center;
    z-index: 2;
    font-weight: 900;
    line-height: 1;
    height: 2.5rem;
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s cubic-bezier(0.0, 0.3, 0.7, 1.0) 0.5s;
}


.swiper-slide-active .hero_brand{
    opacity: 1;
    transform: translateY(0);
}

.hero_img {
    position: relative;
    width: 100%;
    height: 100%;
}


.hero_img img{
    position: absolute;
    top: calc(40% - 2rem);
    transform: translateY(-40%) scale(0.9);
    transition: all 1s ;
    z-index: 1;
}

.swiper-slide-active .hero_img img{
    transform: translateY(-40%) scale(1);
}

.hero_title_box {
    width: 100%;
    position: absolute;
    bottom: 8%;
    text-align: center;
    z-index: 2;
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s cubic-bezier(0.0, 0.3, 0.7, 1.0) 0.5s;
}

.swiper-slide-active .hero_title_box {
    opacity: 1;
    transform: translateY(0);
}

.hero_title {
    font-size: 2.2rem;
    font-weight:inherit;
    line-height: 1.2;
    margin-bottom: 2rem;
}

.hero_button {
    display: inline-block;
    border: 1px solid #000;
    padding: 0 1.5rem;
    line-height: 2.5;
}

.hero_swiper .swiper-pagination-bullet {
    border: 1px solid #003894;
    background: #003894;
    opacity: 0.4;
    margin: 0 0.6rem !important;
    transition: all 0.3s;
    transform: scale(0.5);
}

.hero_swiper .swiper-pagination-bullet.swiper-pagination-bullet-active{
    border: 1px solid #003894;
    background: #003894;
    opacity: 1.0;
    transform: scale(1.0);
}


@media screen and (min-width:768px) {

    
    
.hero_swiper {
    height: 100%;
    aspect-ratio: 2 / 1;
}



.hero_img img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    object-fit: contain;
    transform: translate(-50%, -50%) scale(0.9);
}    
    
.swiper-slide-active .hero_img img {
    transform: translate(-50%, -50%) scale(1);
}
    
.hero_brand {
    top: calc(50% - 20px);
    left: 7vw;
    width: fit-content;
    transform: translateY(-50%);
    font-size: 2.6vw;
    line-height: 1.2;
    height: fit-content;
}    

.swiper-slide-active .hero_brand {
    top: 50%;
    transform: translateY(-50%);
    text-align: left;
}    
 
    
.hero_title_box {
    width: fit-content;
    top: calc(50% - 20px);
    bottom: auto;
    right: 10vw;
    transform: translateY(-50%);
    text-align: left;
}
    
.swiper-slide-active .hero_title_box {
    top: 50%;
    transform: translateY(-50%);
}    
    
    
.hero_title {
    font-size: 1.6vw;
    margin-bottom: 2vw;
} 

.hero_button {
    font-size: 0.8vw;
    border: 2px solid;
}    
    
.swiper-pagination span {
    width: 1.2rem;
    height: 1.2rem;
}
    
}





/* footer */

footer {
    padding: 10rem 2rem 2.5rem;
    display: grid;
    grid-gap:4rem;
}

.footer_logo {
    text-align: center;
}

.footer_logo img {
    width: 6rem;
    height: auto;
}

.footer_menu,
.footer_submenu {
    line-height: 2.6;
}

.footer_submenu_copy_box {
    display: flex;
    grid-gap: 4rem;
    flex-direction: column;
}

footer .contents {
    padding: 0;
}

footer .brand_list{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    grid-gap: 2rem;
    text-align: center;
    justify-content: center;
}

footer .brand_list img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    /*filter: grayscale(100%);*/
}





.copy {
    font-size: 1rem;
    line-height: normal;
}

.top_button {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 2.5rem;
    background: #003894;
    position: fixed;
    z-index: 1;
    cursor: pointer;
    bottom: 2.5rem;
    right: 2rem;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
}

.top_button.show {
    opacity: 1.0;
    visibility:visible;
}

.top_button:hover {
    background: #000;
}

.top_button::before,
.top_button::after{
    content: "";
    position: absolute;
    top: 0.9rem;
    width: 2px;
    height: 0.6rem;
    background-color: #FFF;
}

.top_button::before{
    transform: rotate(-45deg);
    right: 1rem;
}

.top_button::after{
    transform: rotate(45deg);
    left: 1rem;
}


.fs-c-breadcrumb {
    padding: 5rem 2rem 0;
}

.fs-c-breadcrumb__list {
    padding: 0;
}

/*閲覧履歴*/

.flywheel-recommend__frame.contents.history_list > .fr3-productListStatic {
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 0.5rem !important;
}
.history_list .fr3-item__productName,
.history_list .fr3-item__productPrice{
    display: none;
}

.history_list .fs-p-heading--lv2 {
    margin-bottom: 2rem;
    font-size: 1.1rem;
    font-weight: 700 !important;
}

.flywheel-recommend__frame.contents.history_list:empty{
    display: none !important;
}

@media screen and (min-width:768px) {

footer {
    padding: 12vw 4vw 1.5vw ;
    justify-content: center;
    width: 100%;
    grid-template-columns: 1fr;
    grid-gap: 8vw;
}
    
.footer_logo {
    text-align: center;
} 
    
.footer_logo img {
    width: 10vw;
    max-width: 100px;
}    
    

footer .brand_list {
    grid-template-columns: repeat(12,1fr);
    grid-gap: 2vw;
}

footer .brand_list img {
    width: 90%;
    height: 90%;
}




.footer_menu {
    display: flex;
    justify-content: center;
    grid-gap: 2vw;
}    
    
.footer_submenu_copy_box {
    flex-direction: row-reverse;
    width: 100%;
    justify-content: space-between;
}

.footer_submenu {
    display: flex;
    grid-gap: 1vw;
    line-height: normal;
}    
    
.top_button {
    width: 5rem;
    height: 5rem;
    bottom: 3vw;
    right: 2vw;
}
    
    .top_button::before,
    .top_button::after {
        height: 1.5rem;
        top:1.7rem;
    }
    .top_button::after {
        left: 1.9rem;
    }
    .top_button::before {
        right: 1.9rem;
    }
    
 .fs-c-breadcrumb {
    padding: 5vw 4vw ;
    text-align: center;
}   
 
    
.history_list .fs-p-heading--lv2 {
    margin-bottom: 2vw;
    font-size: 1.4rem;
}
    
.flywheel-recommend__frame.contents.history_list > .fr3-productListStatic {
    grid-template-columns: repeat(10, 1fr);
}    
    
}


@media screen and (min-width:768px) {

    footer {
        padding: 6vw 4vw 1.5vw ;
    }

}


.header_logo a{
    display: inline-block;
    background-image: url(https://caviar.itembox.design/item/images/parts/logo-black.svg);
    background-size: cover;
}

.footer_logo a {
    display: inline-block;
    background-image: url(https://caviar.itembox.design/item/images/parts/logo-blue.svg);
    background-size: cover;
}

.header_logo a:hover img,
.footer_logo a:hover img {
    opacity: 0;
}

/* Page Contents */

.contents {
    padding: 4rem 2rem;
}


.contents_header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 3rem;
}

.contents_title {
    font-size: 1.8rem;
    font-weight: 700;
}


.contents_title .sub_title {
    display: inline-block;
    margin-left: 1rem;
    color: #999;
    font-size: 1.1rem;
}

.contents_bottom {
    margin-top: 3rem;
}

.view_all_button{
    text-align: right;
}

.view_all_button a span {
    display: inline-block;
    margin-left: 0.5rem;
}


@media screen and (min-width:768px) {

.contents {
    padding: 5vw 5vw;
    max-width: 1800px;
    margin: auto;
}

.contents_header {
    margin-bottom: 5vw;
}    
    
.contents_title {
    font-size: 3rem;
} 
    
.contents_title .sub_title {
    font-size: 1.2rem;
}
    
.contents_bottom {
    margin-top: 5vw;
}  
    
.footer_menu, .footer_submenu {
    line-height: normal;
}

}





/* シンプルヘッダー */
.simple-header {
    display: flex;
    justify-content: center;
    padding: 2rem 2rem 0;
    align-items: center;
}

@media screen and (min-width:768px) {
.simple-header {
    padding: 4vw 4vw 0;
}

}



/* Brand list */

.brand_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    text-align: center;
    justify-content: center;
}

.brand_list > div {
    aspect-ratio: 7 / 5;
}

.brand_list > div > a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand_list img {
    width: 60%;
    max-width: 180px;
    height: 60%;
    object-fit: contain;
    object-position: center;
}


@media screen and (min-width:768px) {

    .brand_list {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    }
 
}

/* category list */

.category_list {
    display: flex;
    flex-flow: wrap;
    grid-gap: 1rem;
}

.category_list a {
    color: #003894;
    border: 1px solid #003894;
    line-height: 3;
    padding: 0 1.5rem;
    border-radius: 3rem;
    display: flex;
    grid-gap: 0.5rem;
    align-items: center;
    font-weight: 900;
    font-size: 1.2rem;
    transition: 0.5s;
}

.category_list .category_list_sale a {
    color: #940000;
    border: 1px solid #940000;
}

@media screen and (min-width:768px) {

    .category_list {
        grid-gap: 2rem;
    }
 
    .category_list a {
        font-size: 1.6rem;
        grid-gap: 1rem;
        padding: 0 2.5rem;
        line-height: 3.5;
        border: 2px solid #003894;
        border-radius: 4rem;
    }

    .category_list .category_list_sale a {
        border: 2px solid #940000;
    }

    .category_list a:hover{
        background: #003894;
        color: #FFF;
    }    
    
    .category_list .category_list_sale a:hover{
        background: #940000;
        color: #FFF;
    }   

}


/* コンテンツコンテナ（商品リスト） */

.contents .fr3-productListStatic {
    display: grid;
    grid-gap: 4rem 2rem !important;
    padding: 0 !important;
    text-align: left;
}

.contents .fr3-item__imageContainer {
    position: relative;
}

.contents .fr3-item__productName,
.contents .fr3-item__productPrice__price {
    line-height: 1.4;
}



#label-container {
    display: flex;
    line-height: 1;
}

#new_label,
#rank_label {
    padding: 0;
    transition: color 0.5s;
    color: #ccc;
    cursor: pointer;
}

#new_label:hover,
#rank_label:hover {
    color: #003894;
}

#new_label.tab_active,
#rank_label.tab_active{
    color: #003894;
}

#label-container .spacer{
    display: inline-block;
    margin-left: 1rem;
    padding-left: 1rem;
    border-left: 1px solid #000;

}

.tab_container {
    width: 100%;
    opacity: 0;
    display: none;
    clear: both;
    overflow: hidden;
    text-align: left;
    transition: all 0.5s ease;
}

.tab_container.tab_active {
    width: 100%;
    opacity: 1;
    display: block;
    animation-name: tab_container;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
}

@keyframes tab_container{
	0% {opacity:0; }
	100% {opacity: 1; }
}


.tab_container .fs-p-heading--lv2{
    display: none;
}

.tab_container .fr3-item__imageContainer {
    position: relative;
}


.ranking_container .fr3-item__imageContainer:before{
    position:absolute;
    top:0.5rem;
    left: 0.5rem;
    display: flex;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background:#003894;
    color: #FFF;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.ranking_container .fr3-item__imageContainer:before{
    display: none !important;
}

.ranking_container .fr3-item:nth-child(1) .fr3-item__imageContainer:before{
    content: "1";
}
.ranking_container .fr3-item:nth-child(2) .fr3-item__imageContainer:before{
    content: "2";
}
.ranking_container .fr3-item:nth-child(3) .fr3-item__imageContainer:before{
    content: "3";
}
.ranking_container .fr3-item:nth-child(4) .fr3-item__imageContainer:before{
    content: "4";
}
.ranking_container .fr3-item:nth-child(5) .fr3-item__imageContainer:before{
    content: "5";
}
.ranking_container .fr3-item:nth-child(6) .fr3-item__imageContainer:before{
    content: "6";
}
.ranking_container .fr3-item:nth-child(7) .fr3-item__imageContainer:before{
    content: "7";
}
.ranking_container .fr3-item:nth-child(8) .fr3-item__imageContainer:before{
    content: "8";
}



@media screen and (min-width:768px) {

   
.ranking_container .fr3-item__imageContainer:before {
    width: 4rem;
    height: 4rem;
}    

}




/* コンテンツコンテナ（NEWS/pop up） */


#news-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2rem;
}

#news-container .news_img{
    margin-bottom: 1rem;    
}

#news-container img {
    border: 1px solid #e7e7e7;
    aspect-ratio: 1 / 1;
}

#news-container h3 {
    font-size: 1.2rem;
    line-height: 1.5;
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

#news-container .date {
    color: #666;
    font-size: 1.1rem;
}

.popupstore_box {
    display: flex;
    grid-gap: 2rem;
    flex-direction: column-reverse;
}

.popupstore_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    overflow: hidden;
}

.popupstore_info{

}

.popupstore_info_box {
    display: grid;
    grid-gap: 2vw;
}

.popupstore_date {
    font-size: 1rem;
}

.popupstore_title {
    font-size: 1.6rem;
    line-height: 1;
}

.popupstore_description {
    text-align: justify;
}



@media screen and (min-width:768px) {

#news-container {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 2vw;
}
    
    
.popupstore_box {
    grid-gap: 0;
    align-items: stretch;
    flex-direction: row;
}

.popupstore_img{
    width: 50%;
}

.popupstore_info{
    width: 50%;
    padding-right: 4vw;
    align-self: center;
}    

.popupstore_info_box {
    width: 80%;
    max-width: 450px;
    margin: auto;
    padding: 2vw 0;
} 

.popupstore_date {
    font-size: inherit;
}

.popupstore_title {
    font-size: 3.2rem;
}

   
    
}



/* 商品リスト（カテゴリ・検索結果） */

.group_list_title {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
}



.product_list_header,
.product_list_footer {
    padding: 0 0 2rem;
}

.product_list_header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    line-height: 1;
}

.product_list_header .fs-c-listControl,
.product_list_header .fs-c-sortItems__label{
    display: none;
}

.product_list_header .fs-c-sortItems__list {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    line-height: 1;
}

.product_list_header .fs-c-sortItems__list li:nth-child(2) {
    border: solid #999;
    border-width: 0 1px;
    padding: 0 0.5rem;
    margin: 0 0.5rem;
}

.fs-c-productList__controller {
    padding: 0;
}



/* group group_list */
.product_category .group_list_box {
    display: block !important;
}

.product_category .group_list_box .fs-c-subgroupList {
    display: flex;
    flex-flow: wrap;
    gap: 0.6rem;
}



.product_category .group_list_box .fs-c-subgroupList .fs-c-subgroupList__label {
    color: #666;
    border: 1px solid #666;
    padding: 0 1rem;
    border-radius: 3rem;
    font-size: 1.1rem;
    transition: 0.5s;
    line-height: 2.3 !important;
}

.product_category .group_list_box .fs-c-subgroupList .fs-c-subgroupList__label:after {
    display: none !important;
}

@media screen and (min-width:768px) {

    .product_category .group_list_box .fs-c-subgroupList {
        grid-gap: 0.8rem;
    }
 
    .product_category .group_list_box .fs-c-subgroupList .fs-c-subgroupList__label {
        font-size: 1.2rem;
        padding: 0 1.5rem;
        border-radius: 4rem;
    }

    .product_category .group_list_box .fs-c-subgroupList a:hover{
        color: unset !important;

    }

    .product_category .group_list_box .fs-c-subgroupList .fs-c-subgroupList__label:hover{
        background: #003894 !important;
        border: 1px solid #003894 !important;
        color: #FFF !important;
    }    


}



.product_list_header .fs-c-productList__controller .is-active{
    color: #003894;
}

.product_list_header .fs-c-productList__controller a {
    color: #999;
    position: relative;
    padding-bottom: 2px;
}

.product_list_footer .fs-c-listControl {
    text-align: center;
    grid-gap: 1rem;
    display: flex;
    flex-direction: column;
}

.product_list_footer .fs-c-sortItems {
    display: none;
}

.product_list_footer .fs-c-pagination {
    justify-content: center;
    grid-gap: 2px;
}

.product_list_footer .fs-c-pagination > * {
    flex: none;
    padding: 8px;
    align-self: normal;
}

.product_list_footer .fs-c-productList__controller .is-active{
    color: #FFF;
    background-color: #003894;
}

.product_list_footer .fs-c-productList__controller a {
    color: #000;
    position: relative;
    padding-bottom: 2px;
}

.product_list_footer .fs-c-productList__controller a:hover {
    color: #003894;
    position: relative;
    padding-bottom: 2px;
}

.fs-c-productList__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 2rem 1.5rem;
    padding: 2rem 0;
}

.fs-c-productList__list__item{
    position: relative;
}

.fs-c-productListItem__control .fs-c-button--addToCart--list,
.fs-c-productListItem__viewMoreImageButton,
.fs-c-button--viewProductDetail {
    display: none;
}

.product_list_img_box {
    position: relative;
    margin-bottom: 0.5rem;
}

.product_list_img_box .fs-c-productMarks {
    position: absolute;
    top: .5rem;
    left: .5rem;
    z-index: 1;
}

.product_list_img_box .fs-c-productMark__mark {
    padding: 0;
    margin-right: 0.5rem;
    font-size: 1rem;
    color: #003894;
}

.product_list_img_box .fs-c-productListItem__outOfStock{
    display: inline-block;
    position: absolute;
    z-index: 1;
    top: 50%;
    color: #FFF;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #003894;
    line-height: 1;
    padding: 1rem 1.5rem;
    width: max-content;
}

/*
.fs-c-productListItem__outOfStock+.fs-c-productListItem__imageContainer {
    opacity: 0.3;
}
    */

.fs-c-productListItem__salesPeriod,
.fs-c-productListItem__viewReview,
.fs-c-productListItem__rating .fs-c-aggregateRating__rating::before,
.fs-c-productListItem__rating .fs-c-rating__value,
.fs-c-productListItem__lowInStock{
    display: none;
}

.fs-c-productListItem__productName {
    font-size: unset;
    line-height: 1.4 !important;
}

.fs-c-productListItem__prices.fs-c-productPrices {
    display: flex;
}

article.fs-c-productListCarousel__list__item.fs-c-productListItem {
    position: relative;
}

.fs-c-productListItem__prices .fs-c-productPrice{
    display: flex;
    gap: 0;
    flex-wrap: wrap;
    align-items: baseline;
}

.fs-c-productListItem__prices.fs-c-productPrices .fs-c-productPrice__addon {
    display: none;
}

.fs-c-productListItem__prices.fs-c-productPrices .fs-c-productPrice__addon--listed {
    display: inline-block !important;
    margin: 0 0.5rem;
}

.fs-c-productPrice--listed .fs-c-productPrice__main__price {
    text-decoration: line-through;
}

.fs-c-breadcrumb__list li:last-child {
    color: #003894;
}

.fs-c-breadcrumb__list li:last-child:before {
    color: #000;
}

.fs-c-productListCarousel__list__item .recommend_icon,
.fs-c-productList__list .recommend_icon {
    position: absolute;
    top: .3rem;
    right: .3rem;
    border: 0;
    background: transparent;
    width: 2rem;
    padding: 0;
    z-index: 1;
}



.group_list_box {
    margin: 4rem 0;
    display: grid;
    grid-gap: 2rem;
}

.group_list_box .fs-c-subgroup .fs-c-listControl {
    display: none;
}

.group_list_box .fs-c-subgroupList {
    display: flex;
    flex-flow: wrap;
    gap: 1rem 2rem;
}


.group_list_box {
    display: none !important;
}

@media screen and (min-width:768px) {

.group_list_title {
    font-size: 3rem;
}
   
.fs-c-productList {
    display: grid;
    grid-gap: 5vw;
}
    
.fs-c-productList > div{
    width: 100%;
    padding: 0;
    margin: auto;
}
    
.fs-c-productList__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 3vw 2vw;
}

.product_list_img_box {
    margin-bottom: 1rem;
}

.product_list_img_box .fs-c-productMark__mark {
    font-size: 1.2rem;
} 

.product_list_img_box .fs-c-productMarks {
    top: 1rem;
    left: 1rem;
}

.fs-c-productListCarousel__list__item .recommend_icon,
.fs-c-productList__list .recommend_icon {
    width: 3vw;
    max-width: 3rem;
    top: .5rem;
    right: .5rem;
}


.group_list_box {
    grid-gap: 3vw;
    margin: 5vw 0;
}

.product_list_img_box .fs-c-productListItem__outOfStock {
    font-size: 1.4rem;
    padding: 1rem 2rem;
}

}




/* 商品詳細ページ */


#product_container {
    padding: 2rem;
    display: grid;
    grid-gap: 2rem;
}

#product_image_box {
    position: relative;
}

#product_image_pc{
    display: none;
}

#product_image_sp{
    display: block;
}    

#product_image_box .fs-c-productMarks {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
}

#product_image_box .fs-c-productCarouselMainImage {
    position: relative;
}

#product_image_box .fs-c-productCarouselMainImage__image{
    vertical-align: bottom;
}

#product_image_box .fs-c-productCarouselMainImage__expandButton {
    display: none;
}

#product_image_box .fs-c-slick .slick-prev,
#product_image_box .fs-c-slick .slick-next {
    background: transparent;
    width: auto;
    height: auto;
    top: auto;
    bottom: 0;
}

#product_image_box .fs-c-slick .slick-prev{
    left: 0;
}

#product_image_box .fs-c-slick .slick-next{
    right: 0;
}


#product_image_box .fs-c-slick .slick-prev:before,
#product_image_box .fs-c-slick .slick-next:before {
    color: #003894;
    font-size: 2rem;
    font-weight: 400;
}

#product_image_box .fs-c-slick .slick-prev:before{
    content: "←";
}
#product_image_box .fs-c-slick .slick-next:before{
    content: "→";
}

#product_image_box .fs-c-productCarouselMainImage__thumbnailList .fs-c-productCarouselMainImage__thumbnail {
    display: none;
}

#product_image_box .fs-c-productCarouselMainImage__thumbnailList {
    justify-content: center;
    flex-wrap: wrap;
    grid-gap: 1rem 0.5rem;
    padding: 2rem 0;
}

#product_image_box .fs-c-productCarouselMainImage__thumbnailList > li {
    flex-basis: auto;
    width: 1.2rem;
    height: 1.2rem;
    background: #003894;
    border: 1px solid #003894;
    border-radius: 50%;
    transform: scale(0.4);
    transition: all 0.5s;
    margin: 0;
}

#product_image_box .fs-c-productCarouselMainImage__thumbnailList > li.slick-active{
    border: 1px solid #003894;
    background: #003894;
    transform: scale(1);
}


#product_image_box #product_movie_box iframe{
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    vertical-align: bottom;
    margin: 3rem 0;
}


#product_detail_box {
    text-align: center;
    position: relative;
}

#product_detail {
    display: grid;
    grid-gap: 2rem;
}

#product_detail > *:empty {
    display: none;
}

#product_detail_box #product_detail_brand_link a {
    font-size: 1.6rem;
    color: #999;
    line-height: normal;
}

#product_detail_box #product_detail_brand_link a:hover{
    color: #003894;
}

#product_detail_box .fs-c-productMark {
    justify-content: center;
}

#product_detail_box .fs-c-productMark .fs-c-productMark__mark {
    font-size: 1.1rem;
    color: #003894;
}

#product_detail_box .fs-c-productNameHeading {
    font-size: 3.6rem;
    line-height: 1.2;
    letter-spacing: normal;
}

#product_detail_box .fs-c-productNameHeading .fs-c-productNameHeading__copy {
    display: none;
}

#product_detail_box .fs-c-productNumber {
    font-size: 1.2rem;
}

#product_detail_box .fs-c-productNumber__label{
    display: none;
}

#product_detail_box .fs-c-productNumber__number:before{
    content: "Product No.";
    display: inline-block;
    margin-right: 0.5rem;
}

#product_detail_box .fs-c-productPrices {
    display: flex;
    justify-content: center;
}

#product_detail_box .fs-c-productPrice {
    display: flex;
}

#product_detail_box .fs-c-productPrice--listed {
    align-items: center;    
    font-size: 1.8rem;
}

#product_detail_box .fs-c-productPrice__addon--listed {
    margin: 0 0.5rem;
}

#product_detail_box .fs-c-productPrice--selling{
    align-items: baseline;    
    font-size: 2.2rem;
}

#product_detail_box .fs-c-productPrice--selling .fs-c-productPrice__addon {
    font-size: 1.1rem;
    margin-left: 0.5rem;
}

#product_detail_box .fs-c-productPrice--selling .fs-c-productPrice__addon:before {
    content: "[";
}

#product_detail_box .fs-c-productPrice--selling .fs-c-productPrice__addon:after {
    content: "]";
}

#product_detail_box .fs-c-productPointDisplay {
    font-size: 1.2rem;
}

#product_detail_box .fs-p-productDescription--full {
    text-align: justify;
    max-width: fit-content;
    margin: auto;
}



#product_detail_box .fs-c-button--addToCart--detail {
    width: 80%;
}


#product_detail_box .fs-c-productNotice--outOfStock{
    color: #900 ;
    background-color: transparent;
    border: none;
    line-height: 3.5;
    width: 80%;
    margin: auto;
    text-align: center;
    display:block;
}


#product_detail_box .fs-c-productQuantityAndWishlist__quantity {
    display: none;
}

#product_detail_box .fs-c-variationAndActions {
    margin: 0 auto 2rem;
    width: 80%;
    max-width: 360px;
}

#product_detail_box .fs-c-variationAndActions__stockSignLegend{
    display: none;
}


#product_detail_box .fs-c-featuredProduct .fs-c-featuredProduct__title{
    text-align: left;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

#product_detail_box .fs-c-featuredProduct .fs-c-slick .slick-track:before,
#product_detail_box .fs-c-featuredProduct .fs-c-slick .slick-track:after {
    display: none !important;
}

#product_detail_box .fs-c-featuredProduct .fs-c-productListCarousel__ctrl {
    display: none !important;
}

#product_detail_box .fs-c-featuredProduct .fs-c-slick .slick-track {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    width: 100% !important;
    grid-gap: 0.5rem;
    transform: none !important;
}

#product_detail_box .fs-c-featuredProduct .fs-c-slick .fs-c-productListItem__image {
    border: 1px solid #e7e7e7;
}

#product_detail_box .fs-c-featuredProduct .fs-c-slick .slick-slide {
    display: block !important;
    float: none !important;
}

#product_detail_box .fs-c-featuredProduct .fs-c-productListItem__prices,
#product_detail_box .fs-c-featuredProduct .fs-c-productListItem__control{
    display: none !important;
}


#product_detail_box .fs-c-productQuantityAndWishlist {
    position: absolute;
    top: 0;
    right: 0;
    width: fit-content;
}

#product_detail_box .recommend_icon {
    background-color: transparent;
    border: 0;
    width: 30px;
    height: 30px;
    padding: 0;
}


#product_detail_box .product_contact{
    background: none;
    border: none;
    padding: 0 0 2px;
}

#product_detail_box .product_contact:before{
    font-family: "Font Awesome 6 Free" !important;
    content: "\f0e0";
}


#product_detail_box .fs-c-productReview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
    align-items: center;
}


#product_detail_box .fs-c-button--addReview--detail:before{
    font-family: "Font Awesome 6 Free" !important;
    content: "\f304";
    margin: 0 0.5rem;
    font-size: 1.6rem;
}

#product_detail_box .fs-c-button--viewAllReviews:before{
    font-family: "Font Awesome 6 Free" !important;
    content: "\f075";
    margin: 0 0.5rem;
    font-size: 1.6rem;
}


#product_detail_box .fs-c-productReview__addReview {
    grid-column: 1 / 3;
}


#product_detail_box .fs-c-button--addReview--detail,
#product_detail_box .fs-c-button--viewAllReviews {
    display: flex;
    align-items: center;
}

#product_detail_box .fs-c-button--addReview--detail{
    margin: auto;
}

#product_detail_box .fs-c-aggregateRating__rating::before,
#product_detail_box .fs-c-aggregateRating__count,
#product_detail_box .fs-c-productReview__aggregateRating + .fs-c-buttonContainer--addReview--detail span {
    display: none;
}

#product_detail_box .fs-c-aggregateRating__rating {
    display: flex;
    grid-gap: 1rem;
    justify-content: flex-end;
}

#product_detail_box .fs-c-productReview__aggregateRating + .fs-c-buttonContainer--addReview--detail {
    margin-left: 0.5rem;
}

#product_detail_box .fs-c-reviewStars::before {
    color: #003894;
    letter-spacing: -2px;
}


#product_detail_box #shareButton {
    display: inline-block;
    width: fit-content;
    margin: auto;
    background: transparent;
    border: none;
    font-size: 1.4rem;
}

#product_detail_box .fs-c-productReview__reviewList {
    display: none;
}



#product_detail_box .spec_list_box {
    display: grid;
    text-align: left;
    width: fit-content;
    margin: auto;
    grid-gap: 2rem;
}

#product_detail_box .spec_list {
    display: grid;
    grid-gap: 3rem;
    grid-template-columns: 4rem auto;
    align-items: start;
    text-align: justify;
    word-break: break-all;
}

#product_detail_box .spec_list_brand:before {
    content: "ブランド";
}

#product_detail_box .spec_list_category:before {
    content: "カテゴリ";
}

#product_detail_box .spec_list_sozai:before {
    content: "素材";
}

#product_detail_box .spec_list_size:before {
    content: "サイズ";
}

#product_detail_box .spec_list_tokutyo:before {
    content: "特徴";
}

#product_detail_box .spec_list:empty{
    display: none !important;
}

.fs-c-modal__inner {
    width: 90%;
    max-width: 600px;
    padding: 4rem 2rem;
    border-radius: 0 5rem 0 0;
    /* border: 5px solid #003894 !important; */
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.fs-c-modal__close {
    display: grid;
    background: #003894;
    color: #FFF;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    align-content: center;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 2rem;
    right: 2rem;
    transition:all 0.5s;
}

.fs-c-modal__close::before {
    height: auto;
    font-size: 1.6rem;
    font-family: 'Noto Sans JP' !important;
    content: "×";
    font-weight: 400;
    color: #FFF;
}

.fs-c-modal__close:hover{
    background: #000;
    color: #FFF;
}

.fs-c-modal__title {
    font-size: 1.4rem;
}

.fs-c-modal__contents {
    padding: 2rem 0 0;
}

.fs-c-inquiryProduct__productName.fs-c-productName {
    padding: 1rem 0;
    font-size: 2rem;
    line-height: normal;
}

.fs-c-modal__contents .fs-c-inputTable {
    width: 100%;
}

.fs-c-inputTable--inModal .fs-c-inquiryMessage{
    margin-bottom: 1rem;
}

.fs-c-inputTable--inModal > tbody {
    display: grid;
    grid-gap: 1rem;
}

.fs-c-inputTable--inModal > tbody > tr {
    padding: 0;
    margin: 0 !important;
}


.fs-c-modal__contents .fs-c-inputInformation fieldset {
    margin-bottom: 1rem;
}



/* 商品詳細　BRAND別NEWS */

#brand_product_banner {
    margin-top: 3rem;
    text-align: left;
}

#brand_product_banner .js-brand-news-pickup,
#brand_product_banner .js-news  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
}

#brand_product_banner .brand-news-card a {
    display: grid;
    grid-gap: 0.5rem;
    text-align: left;
    font-size: inherit;
}

#brand_product_banner .brand-news-card h3 {
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.5;
    font-size: 1.2rem;
}

#brand_product_banner .date {
    color: #666;
    font-size: 1.1rem;
}

@media screen and (min-width:768px) {
    
    #product_container {
        padding: 5vw 5vw;
        max-width: 1800px;
        margin: auto;
        grid-template-columns: 1fr 1fr;
        grid-gap: 0;
    }

    #product_image_pc{
        display: grid;
        grid-gap: 5vw;
    }
    #product_image_sp{
        display: none;
    }
 
    #product_image_box #product_movie_box iframe{
        margin: 5vw 0;
    }

    #product_detail {
        width: 80%;
        padding: 0 ;
        margin: auto;
        grid-gap: 3rem;
    }

    .product_detail_delivary {
        color: #003894;
        font-weight: 900;
        margin-top: 1rem;
    }

    #product_detail_box .fs-c-productMark .fs-c-productMark__mark {
        font-size: 1.2rem;
    }


    #product_detail_box #product_detail_brand_link a {
        font-size: 2.4rem;
    }

    #product_detail_box .fs-c-productNameHeading {
        font-size: clamp(3.6rem, 3vw, 4.8rem);
    }
    /*
    #product_detail_box .fs-p-productDescription--full {
        text-align: center;
    }
    */

    #product_detail_box .fs-c-productQuantityAndWishlist {
        position: absolute;
        top: 0;
        left: auto;
        right: 2vw;
    }

    #product_detail_box .recommend_icon img {
        transform: scale(1.0);
        transition: 0.5s;
    }

    #product_detail_box .recommend_icon:hover img {
        transform: scale(1.2);
    }


    #product_detail_box .fs-c-variationAndActions {
        margin: 0 auto 2rem;
    }


    #product_detail_box .fs-c-productNotice--outOfStock{
        font-size: 1.4rem;
    }

    #product_detail_box .spec_list {
        grid-template-columns: 6rem auto;
    }

    .fs-c-modal__close {
        width: 5rem;
        height: 5rem;
    }

    .fs-c-modal__inner {
        padding: 5vw;
    }


    #product_detail_box .fs-c-featuredProduct .fs-c-featuredProduct__title{
        font-size: 1.2rem;
    }

    #product_detail_box .fs-c-featuredProduct .fs-c-slick .slick-track {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        grid-gap: 0.5vw;
    }

    #brand_product_banner .contents_header {
        margin-bottom: 2vw;
    }

    #brand_product_banner .contents_title {
        font-size: 2rem;
    }

}


/*　レコメンド */

.recommend_list {
    width: 100%;
    overflow-x: scroll;
    scrollbar-color: #003894 #fff;
    scrollbar-width: thin;
}

.recommend_list .fs-p-heading--lv2 {
    display: none;
}

.recommend_list .fr3-productListStatic__responsive_4 {
    display: flex;
    flex: none;
}

.recommend_list .fr3-productListStatic__responsive_4 article {
    width: 25%;
    flex: none;
}

@media screen and (min-width:768px) {

.recommend_list {
    overflow-x:unset;
}

.recommend_list .fr3-productListStatic__responsive_4 {
    display: grid;
    grid-template-columns: repeat(5,1fr);
}

.recommend_list .fr3-productListStatic__responsive_4 article {
    width: 100%;
}

}








/* カートページ */

.fs-l-cart__contentsArea {
    margin-bottom: 6rem;
}

.fs-c-cartTable__row {
    display: grid;
    grid-gap: 1rem;
    margin-bottom: 0;
    padding: 1rem 0;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
}

.fs-c-cartTable__row + .fs-c-cartTable__row {
    border-top: 1px solid #000;
}

.fs-c-cartTable__row > * {
    padding: 0;
}

.fs-c-cartTable__dataCell--quantity,
.fs-c-cartTable__dataCell--subtotal,
.fs-c-cartTable__dataCell--point,
.fs-c-cartTable__dataCell--action,
.fs-c-cartTable__dataCell--review{
    display: flex;
    justify-content: end;    
    align-items: center;
}


.fs-c-cartTable__dataCell--product,
.fs-c-cartTable__dataCell--action {
    grid-column: 1 / 4;
}

.fs-c-cartTable__product {
    align-items: center;
    display: grid;
    grid-template-columns: auto 1fr;
}


.fs-c-cartTable__dataCell--quantity {
    justify-content: flex-start;
}

.fs-c-cartTable__row select {
    line-height: 1;
}

.fs-c-cartTable__actionButton button {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    padding: 0;
}

.fs-c-cartTable__dataCell--action > .fs-c-cartTable__actionButton {
    grid-gap: 2rem;
}

.fs-c-cartTable__dataCell--action > .fs-c-cartTable__actionButton button{
    color: #666;
    font-weight: normal;
}

.fs-c-orderTotalTable > tbody > tr > th {
    text-align: left !important;
}

.fs-c-orderTotalTable th, .fs-c-orderTotalTable td {
    border-width: 0 0 1px;
    border-color: #000;
}

.fs-c-orderTotalTable {
    margin-left: auto;
    width: 100%;
    border-top: 1px solid;
}


div#fs-totalsArea-wrapper > div {
    margin-bottom: 1rem;
    text-align: center;
}

#fs-cartTotals-container{
    margin-bottom: 3rem !important;
}

.fs-c-continueShopping {
    text-align: center;
}

.fs-c-purchaseHere {
    display: grid;
    grid-gap: 1rem;
}

.fs-c-estimatedDeliveryDate__ctrl {
    display: flex;
    justify-content: center;
    gap: 2rem;
    padding: 1rem 0 0;
}

.fs-c-modal--changeLocation .fs-c-buttonContainer{
    display: grid;
    grid-gap:1rem;
}

.fs-c-modal--changeLocation .fs-c-inputTable {
    padding: 3rem 0;
}



.fs-c-creditCardIcons {
    display: flex;
}

#__fs_modal_creditCard .fs-c-creditCardIcons{
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
}

.fs-c-creditCardInfoField .fs-c-inputTable tbody {
    border-top: 1px solid #ccc;
    grid-gap: 0;
}

.fs-c-creditCardInfoField .fs-c-inputTable tr {
    padding: 1rem 0;
    border-bottom: 1px solid #ccc;
}

.fs-c-wishlistProduct {
    padding: 6rem 0 0;
}

.fs-c-wishlistProduct__header {
    margin-bottom: 1rem;
}

.fs-c-wishlistProduct__header .fs-c-wishlistProduct__title {
    display: inline-block;
}

.fs-c-wishlistProduct__title:after {
    content: " ";
    width: 1.6rem;
    height: 1.6rem;
    background-image: url(https://caviar.itembox.design/item/images/parts/recommend_on.png);
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    margin-left: 0.5rem;
}

.fs-c-cartTableContainer thead {
    display: none;
}

.fs-c-wishlistProduct__list {
    position: relative;
    margin-bottom: 2rem;
}

.fs-c-wishlistProduct .fs-c-productImage__image {
    width: 30vw !important;
}

.fs-c-wishlistProduct .fs-c-productListCarousel__ctrl {
    position: absolute;
    z-index: 1;
    min-width: fit-content;
}

.fs-c-productListCarousel__ctrl--prev {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.fs-c-productListCarousel__ctrl--next {
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}


.fs-c-productListCarousel__ctrl--prev .fs-c-button__label,
.fs-c-productListCarousel__ctrl--next .fs-c-button__label{
    display: none;
}


.fs-c-productListCarousel__ctrl--prev .fs-c-button--carousel:after,
.fs-c-productListCarousel__ctrl--next .fs-c-button--carousel:after {
    font-size: 2rem;
    display: block;
    font-family: 'Font Awesome 6 Free' !important;
}

.fs-c-productListCarousel__ctrl--prev .fs-c-button--carousel:after{
    content: "\f060";    
}
.fs-c-productListCarousel__ctrl--next .fs-c-button--carousel:after{
    content: "\f061";
}

.fs-c-wishlistProduct__footer {
    text-align: right;
}

.fs-c-wishlistProduct__footer .fs-c-viewAllProductsLink__label:after {
    display: inline-block;
    margin-left: 0.5rem;
    content: "＞";
}

#fs_ShoppingCart .fs-c-featuredProduct{
    display: none;
}


@media screen and (min-width:600px) {

    .fs-l-cart__contentsArea {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 2vw;
    }

    .fs-c-cartTable__row {
        grid-template-columns: 1fr auto auto;
        grid-gap: 0 2vw;
        padding: 2vw 0;
        align-items: center;
    }

    
    .fs-c-cartTable__row > * {
        border: none;
    }

    .fs-c-cartTable__dataCell--product {
        grid-column: 1 / 1;
        grid-row: 1 / 4;
    }

    .fs-c-cartTable__dataCell--subtotal,
    .fs-c-cartTable__dataCell--point,
    .fs-c-cartTable__dataCell--action {
        justify-content: space-between;
    }

    .fs-c-cartTable__dataCell--point::before,
    .fs-c-cartTable__dataCell--quantity::before,
    .fs-c-cartTable__dataCell--subtotal::before {
        content: attr(data-cell-label);
        font-weight: bold;
        margin-right: 1rem;
        min-width: 2em;
    }

    .fs-c-cartTable__dataCell--quantity {
        justify-content: center;
        width: 100%;
        grid-column: 2 / 3;
        grid-row: 1 / 4;
    }

    .fs-c-cartTable__dataCell--action > .fs-c-cartTable__actionButton {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    .fs-c-cartTable__dataCell--action {
        grid-column: unset;
    }

    .fs-c-wishlistProduct .fs-c-productImage__image {
        width: 20vw !important;
        max-width: 160px;
    }


}

@media screen and (min-width:960px) {

    .fs-l-cart__contentsArea {
        display: grid;
        grid-template-columns: 1fr 300px;
        grid-gap: 5vw;
        margin-bottom: 5vw;
    }

    .fs-c-cartTable__row {
        grid-template-columns: 1fr 120px 120px;
        padding: 0 0 2vw 0;
    }

    .fs-c-cartTable__row + .fs-c-cartTable__row {
        padding: 2vw 0;
    }

    .fs-c-wishlistProduct {
        padding: 5vw 0 0;
    }
    
}




/* ご注文手続き*/


.checkout_container {
    display: grid;
    grid-gap: 6rem;
}


[class^=fs-body-checkout] .fs-l-checkout__mainColumn > * + * {
    margin-top: 4rem;
}

.fs-c-checkout-preview__title {
    margin-bottom: 1rem;
}

.fs-c-checkout-confirmationContent {
    padding: 1rem;
    border: 2px solid #000;
}

.fs-l-checkout__mainColumn .fs-c-buttonContainer,
.fs-l-checkout__mainColumn .fs-c-buttonContainer--chooseDestination {
    margin: 1rem 0;
    text-align: right;
}

.fs-l-checkout__mainColumn .fs-c-checkout-shippingDestination__control {
    display: flex;
    gap: 1rem;
    justify-content: flex-end;
}

.fs-c-checkout-shippingDetail {
    padding: 2rem;
    border: 1px solid;
    display: grid;
    grid-gap: 1rem;
    margin-top: 1rem;
}


.fs-c-checkout-shippingParcel__productList {
    display: grid;
    grid-gap: 1rem;
    padding: 1rem 0;
    line-height: 1.5;
}

.fs-c-checkout-shippingParcel__product {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 1rem;
}

.fs-c-checkout-shippingOptionPreview {
    display: flex;
    margin-bottom: 1rem;
}

.fs-c-checkout-shippingOptionPreview__label:after {
    content: "：";
    display: inline-block;
    margin-right: 0.5rem;
}


.fs-c-checkout-shippingDetail__deliveryDetail {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1rem 0 0;
}

.fs-c-checkout-shippingDetail__deliveryDetailPreview {
    grid-gap: 0 1rem;
    margin-top: 0;
}

.fs-l-checkout__mainColumn h4 {
    font-weight: 900;
}


[class^=fs-body-checkout] .fs-l-checkout__mainColumn > *:empty {
    background: #000;
    height: 100px;
    display: block;
}

.fs-c-checkout-paymentMethod__body {
    padding: 1rem;
    border: 1px solid;
    margin-bottom: 1rem;
}

.fs-c-checkout-paymentMethod__title {
    padding: 4px 0;
}

.fs-c-checkout-paymentMethod__body > * {
    margin: 0;
}


.fs-c-checkout-couponList {
    display: grid;
    grid-gap: 1rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #ccc;
}

.fs-c-checkout-couponList__item {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-gap: 1rem;
    padding: 1rem;
    background: #f7f7f7;
    border-radius: 1rem;
}


.fs-c-checkout-couponList__description {
    display: grid;
    grid-gap: 0.5rem;
    grid-template-rows: max-content 1fr;
}

.fs-c-checkout-couponList__couponName {
    font-size: 1.2em;
    font-weight: 900;
    color: #003894;
}



.fs-c-checkout-couponList__item.is-active {
    color: #FFF;
    background: #003894;
}

.fs-c-checkout-couponList__item.is-active .fs-c-checkout-couponList__couponName{
    color: #FFF;
}

.fs-c-checkout-couponStatus.is-active {
    background: #FFF;
    color: #003894;
}

.fs-c-checkout-couponStatus {
    border-radius: 1rem;
}

.fs-c-checkout-couponStatus.is-inactive {
    background: #003894;
    color: #FFF;
    font-size: 1rem;
    border-radius: 1rem;
}


.fs-c-checkout-confirmationList {
    padding: 1rem;
    border: 2px solid #000;
}

.fs-c-checkout-confirmationList > dd {
    line-height: 1;
}

.fs-c-confirmOrder {
    margin-top: 3rem;
}

.fs-c-checkout-addresseeSettingList > li + li {
    margin-top: 2rem;
}

.fs-c-checkout-addressee {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-gap: 1rem;
}

.fs-c-checkout-addressee + .fs-c-checkout-addressee{
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #000;
}

.fs-c-checkout-addressee__control {
    display: grid;
    grid-gap: 0.5rem;
    align-content: center;
}

#fs_CheckoutV2 .fs-c-button--addAddressee {
    width: fit-content;
    padding: 0;
    background: transparent !important;
    color: #000 !important;
    display: block !important;
    border: none;
    margin: 2rem 0 2rem auto;
}

#fs_CheckoutV2 .fs-c-button--addAddressee .fs-c-button__label:before {
    content: "+";
    display: inline-block;
    margin-right: 1rem;
}

.fs-c-checkout-deliveryScheduleSetting {
    margin-bottom: 2rem;
}

.fs-c-checkout-settings__additionalArea dt {
    margin-top: 1rem;
}

.fs-c-checkout-pointSettingList {
    margin: 2rem 0;
}

.fs-c-modal--checkout-communication .fs-c-inputTable tbody tr {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    grid-gap: 1rem;
}

.fs-c-modal--checkout-communication #fs_communication {
    height: 15rem;
    line-height: 1.5;
}

.fs-c-checkout-paymentMethod.is-disabled .fs-c-radio {
    opacity: 0.5;
}

.fs-c-checkout-paymentMethod.is-disabled .fs-c-checkout-paymentMethod__disabledMessage{
    margin: 0;
    padding: 1rem;
    background: #f7f7f7;
}

@media screen and (min-width:768px) {

    .checkout_container {
        grid-template-columns: 2fr 1fr;
        grid-gap: 5vw;
    }

    #fs_orderTotalContainer {
        position: relative;
    }

    .fs-c-totalAndActions.fs-c-checkout-preview {
        position: sticky;
        top: 14rem;
    }

    [class^=fs-body-checkout] .fs-l-checkout__mainColumn > * + * {
        margin-top: 8vw;
    }

    .fs-c-checkout-preview__title {
        margin-bottom: 2vw;
    }

    .fs-c-checkout-shippingDetail {
        padding: 4vw;
        grid-gap: 2vw;
        margin-top: 2vw;
    }

    .fs-c-checkout-shippingParcel__productList {
        grid-gap: 2vw;
        padding: 2vw 0;
    }

}


/* 注文完了 */

.fs-c-checkoutSuccess__title {
    margin-bottom: 2rem;
}


/* ページタイトル 告知ページ系*/

.page_title_box {
    text-align: center;
    margin-bottom: 3rem;
}

.product_list_header .page_title_box {
    text-align: left;
    margin-bottom: 0;
}

.page_title_box .page_title {
    font-size: 1.8rem;
    font-weight: 700;
    padding-right: 0.5rem;
}

@media screen and (min-width:768px) {

.page_title_box {
    margin-bottom: 5vw;
}    

.page_title_box .page_title {
    font-size: 3rem;
}
}

/* ログイン */
/* 会員登録 */

#fs_Login .fs-l-main > *,
#fs_ShoppingCartLogin .fs-l-main > *,
#fs_WishListLogin .fs-l-main > *,
#fs_ReviewLogin .fs-l-main > *{
    margin-bottom: 3rem;
}

.fs-c-inputInformation__field{
    margin-bottom: 3rem;
}

.fs-c-inputTable {
    width: 100%;
}



.fs-c-inputTable tbody {
    display: grid;
    grid-gap: 1rem;
}

.fs-c-inputTable tbody tr {
    display: grid;
    grid-template-columns: 12rem 1fr;
    align-items: center;
    grid-gap: 1rem;
}

.fs-c-inputTable tbody th {
    text-align: left;
}

.fs-c-inputTable__headerCell,
.fs-c-inputTable__dataCell {
    padding: 0 !important;
}

.fs-c-inputInformation__link.fs-c-textLinkContainer {
    margin-top: 1rem;
    text-align: center;
}

.fs-c-inputTable .fs-c-radioGroup {
    flex-direction: row;
    justify-content: flex-start;
}

.fs-c-inputTable .fs-c-dropdownGroup {
    justify-content: flex-start;
    grid-gap: 0.5rem;
}

.fs-c-inputTable .fs-c-dropdownGroup > .fs-c-dropdown:not(:first-of-type) {
    margin-left: 0;
}

.fs-c-inputTable .fs-c-inputDate__year + .fs-c-inputDate__month::before,
.fs-c-inputTable .fs-c-inputDate__month + .fs-c-inputDate__date::before {
    content: "/";
    padding-right: 0.5rem;
}

.fs-c-inputInformation__message {
    text-align: center;
    margin-bottom: 2rem;
}

.fs-c-agreementConfirmation__addon {
    margin: 1rem 0;
}

.fs-c-inputInformation__buttonMessage {
    text-align: center;
    margin-top: 1rem;
}

.fs-c-buttonContainer--backToRegister {
    text-align: center;
    margin-top: 3rem;
}

.fs-c-button--resendVerificationCode{
    background-color: transparent;
    border: none;
    padding: 0;
    margin-top: 1rem;
}


.fs-c-orderedList {
    margin: 0;    
    text-align: left;
}

.fs-c-orderedList > li + li {
    margin-top: 0;
}

@media screen and (min-width:768px) {

#fs_Login .fs-l-main > *,
#fs_ShoppingCartLogin .fs-l-main > *,
#fs_WishListLogin .fs-l-main > *,
#fs_ReviewLogin .fs-l-main > * {
    margin-bottom: 4vw;
}

.fs-c-inputInformation__field {
    margin-bottom: 3vw;
}

.fs-c-inputTable tbody tr {
    display: grid;
    grid-template-columns: 15rem 1fr;
    align-items: center;
}

}



/* 登録完了 */

.fs-c-registerSuccessMessage {
    display: grid;
    grid-gap: 2rem;
    margin-bottom: 4rem;
}

.fs-c-registerSuccessMessage p {
    width: fit-content;
    margin: auto;
}

@media screen and (min-width:768px) {

    .fs-c-registerSuccessMessage {
        grid-gap: 3vw;
        margin-bottom: 5vw;
    }

}

/* 告知ページ */

.fs-p-aboutTerms,
.fs-p-aboutPoints,
.fs-p-memberAgreement,
.fs-p-returnPolicy,
.fs-p-privacyPolicy,
.fs-p-about-shipping-payment{
    display: grid;
}


.fs-c-documentColumn,
.fs-c-documentArticle {
    margin-bottom: 4rem;
}

.fs-c-documentArticle__heading {
    margin-bottom: 2rem;
}

#fs_anchor_deliveryService .fs-c-documentColumn__content {
    display: grid;
    grid-gap: 2rem;
}

.fs-c-documentArticle__content {
    display: grid;
}

.fs-c-documentContent__content {
    display: grid;
    grid-gap: 2rem;
}

.fs-c-explainList {
    display: grid;
    grid-template-columns: max-content 1fr;
    grid-gap: 1rem 2rem;
    margin-bottom: 1rem;
}

.fs-c-documentColumn__heading {
    margin-bottom: 1rem;
}

.fs-c-documentColumn p {
    margin-bottom: 1rem;
}

.fs-c-list,
.fs-c-orderedList{
    margin-bottom: 1rem;
    list-style: disc outside;
    padding-left: 1.6rem;
}

.fs-c-specTable__headerCell,
.fs-c-specTable__caption {
    text-align: left;
}


#fs_MemberAgreement .fs-c-orderedList li {
    display: block;
}

.fs-p-address {
    display: grid;
    margin-bottom: 1rem;
}


/* 問い合わせ */

.contact_form_box > p {
    color: #003894;
    font-weight: 800;
    margin-bottom: 1rem;
}

.form_box dd {
    margin-bottom: 1rem;
}

.form_box dd > * + * {
    margin-top: 0.5rem;
}

.form_box .required:after {
    content: "*";
    font-weight: 900;
    color: #003894;
}

.form_text {
    text-align: center;
    display: grid;
    grid-gap: 3rem;
}

@media screen and (min-width:960px) {

    .form_box dd {
        margin-bottom: 2rem;
    }

    .form_box dd > * + *  {
        margin-top: 1rem;
    }

    .form_text {
        grid-gap: 5vw;
    }   
}


/* マイページ */

.fs-c-accountService {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1rem;
    font-size: 1.3rem;
    font-weight: 900;
}

.maypage_box {
    display: grid;
    grid-gap: 4rem;
}

.maypage_favorite {
    position: relative;
    width: 100%;
    display: grid;
    justify-content: center;
    padding: 4rem 0;
}

.maypage_favorite:empty:before {
    content: "Which is your favorite product?";
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.6rem;
    color: #003894;
}

.maypage_favorite:empty:after {
    content: "";
    width: 100%;
    height: 1rem;
    background-image: url(https://caviar.itembox.design/item/images/parts/wave_line.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    margin: 0 auto;
}

#fs_MyPageTop .fs-c-wishlistProduct,
#fs_MyPageTop .maypage_favorite {
    padding: 0;
}

#fs_MyPageTop .fs-c-wishlistProduct__header .fs-c-wishlistProduct__title {
    margin-bottom: 1rem;
}

@media screen and (min-width:768px) {


    .maypage_box {
        grid-template-columns: 15rem 1fr;
        grid-gap: 3vw;
    }


    .maypage_menu {
        position: relative;
    }

    .maypage_menu .fs-c-accountService {
        position: sticky;
        top: calc(12vw + 6rem);
        grid-gap: 2rem;
    }

    .fs-c-accountService {
        display: grid;
        grid-template-columns: 1fr;
        font-size: 1.6rem;
    } 

    .maypage_box .fs-c-wishlistProduct {
        padding: 0;
    }

    .maypage_box .fs-c-wishlistProduct .fs-c-productListCarousel__ctrl,
    .maypage_box .fs-c-slick .slick-track:before,
    .maypage_box .fs-c-slick .slick-track:after {
        display: none !important;
    }


    .maypage_box .fs-c-wishlistProduct__list {
        width: 100% !important;
        display: block !important;
    }

    .maypage_box .fs-c-productListCarousel__list {
        display: block;
        width: 100%;
    }

    .maypage_box .slick-track {
        width: 100% !important;
        display: grid !important;
        grid-template-columns:1fr 1fr 1fr 1fr;
        grid-gap: 4vw 2vw;
    }

    .maypage_box .fs-c-wishlistProduct .fs-c-productImage__image {
        width: 100% !important;
        max-width: 100% !important;
    }

/*
    .maypage_favorite {
        grid-template-rows: 1fr 1fr;
    }
*/

    .maypage_favorite:empty:before {
        align-content: end;
        font-size: 3rem;
    }

    .maypage_favorite:empty:after {
        align-content: start;
        height: 1.5rem;
    }

    #fs_MyPageTop .fs-c-wishlistProduct__header .fs-c-wishlistProduct__title {
        font-size: 2rem;
    }


}


/* クーポン */

.fs-c-couponList {
    display: grid;
    grid-gap: 4rem;
}

.fs-c-couponList > article {
    background: #003894;
    color: #FFF;
    padding: 9rem 2rem 3rem;
    border-radius: 3rem;
    display: grid;
    grid-gap: 2rem;
    position: relative;
}

.fs-c-couponList > article::before {
    position: absolute;
    top: 2rem;
    left: 2rem;
    content: "COUPON";
    color: #FFF;
    z-index: 1;
    font-weight: 900;
    font-size: 3rem;
    line-height: 4rem;
}

.fs-c-couponList > article::after {
    position: absolute;
    top: 2rem;
    right: 2rem;
    display: inline-block;
    content: "";
    background: #FFF;
    z-index: 1;
    border-radius: 50%;
    width: 4rem;
    height: 4rem;
}

.fs-c-couponProduct__list {
    position: relative;
}

.fs-c-couponList .fs-c-productListCarousel__ctrl {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);    
    z-index: 1;
    color: #003894 !important;
}

.fs-c-couponList .fs-c-productListCarousel__ctrl--prev{
    left: 0;
    text-align: left;
}

.fs-c-couponList .fs-c-productListCarousel__ctrl--next{
    right: 0;
    text-align: right;
}

.fs-c-couponList .fs-c-productListCarousel__list__item{
    width: 25vw !important;
}

.fs-c-couponList .fs-c-couponProduct__header,
.fs-c-couponList .fs-c-couponProduct__list{
    display: none !important;
}

.fs-c-couponList .fs-c-coupon__info {
    display: grid;
    grid-gap: 2rem;
}

.fs-c-couponList .fs-c-couponName__name {
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.2;
    padding: 0.5rem 0;
}

.fs-c-couponList .fs-c-coupon__description {
    display: grid;
    grid-gap: 1rem;
}

.fs-c-couponList .fs-c-coupon__name:after {
    content: "";
    width: 100%;
    height: 1rem;
    background-image: url(https://caviar.itembox.design/item/images/parts/wave_line_white.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    margin: 2rem auto 0;
}

.fs-c-couponList .fs-c-couponAppliedCondition__list {
    list-style-type: circle;
    list-style-position: outside;
    padding-left: 1.5rem;
}

@media screen and (min-width:768px) {
.fs-c-couponList {
    grid-gap: 4vw;
}


.fs-c-couponList > article {
    padding: calc(9vw + 5rem) 5vw 5vw;
    border-radius: 5vw;
    grid-gap: 5vw;
    height: fit-content;
}

.fs-c-couponList > article::before {
    width: auto;
    top: 5vw;
    left: 5vw;
    font-size: 3rem;
    line-height: 6vw;
}

.fs-c-couponList > article::after {
    top: 4vw;
    right: 4vw;
    width: 8vw;
    height: 8vw;
}

.fs-c-couponList .fs-c-coupon__info {
    grid-gap: 5vw;
    grid-template-columns: 1fr 1fr;
}

.fs-c-couponList .fs-c-couponName__name {
    font-size: 2.5rem;
}

.fs-c-couponList .fs-c-coupon__name:after {
    height: 2rem;
    margin: 3rem auto 0;
}

.fs-c-couponList .fs-c-coupon__description {
    grid-gap: 3vw;
}

}

@media screen and (min-width:960px) {

    .fs-c-couponList > article {
        padding: 9vw 3vw 3vw;
        border-radius: 4vw;
        grid-gap: 3vw;
    }

    .fs-c-couponList > article::before {
        width: auto;
        top: 1vw;
        left: 3vw;
        font-size: 2.5vw;
        line-height: 6vw;
    }

    .fs-c-couponList > article::after {
        top: 2vw;
        right: 2vw;
        width: 5vw;
        height: 5vw;
    }

    .fs-c-couponList .fs-c-coupon__info {
        grid-gap: 3vw;
        grid-template-columns: 1fr 1fr;
    }

}



/* 注文履歴 */

.fs-c-history .fs-c-dropdown__menu {
    width: fit-content;
    margin: 0 0 0 auto;
    display: block;
}

.fs-c-history .fs-c-history__info,
.fs-c-history {
    display: grid;
    grid-gap: 2rem;
}

.fs-c-history .fs-c-price {
    display: flex
;
    align-items: baseline;
    justify-content: start;
}

.fs-c-history .fs-c-orderHistory {
    padding: 2rem 0;
    margin: 2rem 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.fs-c-history .fs-c-orderHistoryItem + .fs-c-orderHistoryItem {
    padding-top: 2rem;
    margin-top: 2rem;
    border-top: 1px solid #000;
}

.fs-c-history .fs-c-orderHistoryItem {
    display: flex;
    flex-direction: column-reverse;
    grid-gap: 2rem;
}

.fs-c-history .fs-c-orderHistoryItem__orderInfo > dl {
    display: flex;
    justify-content: space-between;
}

.fs-c-history .fs-c-orderHistoryItem__product {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto auto auto auto 1fr;
    grid-gap: 0 1rem;
}

.fs-c-history .fs-c-orderHistoryItem__productImage.fs-c-productImage {
    grid-column: 1 / 2;
    grid-row: 1 / 6;
    align-content: start;
}

.fs-c-history .fs-c-orderHistoryItem__button{
    align-content: end;
}

.fs-c-history .fs-c-orderHistoryItem__header {
    display: grid;
    grid-gap: 1rem;
}


.fs-c-history .fs-c-orderHistoryItem__header__button {
    align-content: end;
}

.fs-c-orderHistoryItem__body {
    display: grid;
    grid-gap:2rem; 
}


@media screen and (min-width:768px) {

.fs-c-history .fs-c-orderHistoryItem {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    grid-gap: 2vw;
}

.fs-c-history .fs-c-orderHistoryItem__orderInfo > dl {
    grid-gap: 2vw;
    display: grid;
    grid-template-columns: 1fr 1.5fr;
}

.fs-c-history .fs-c-orderHistoryItem__header {
    grid-gap: 2vw;
}

.fs-c-history .fs-c-history__info, .fs-c-history {
    grid-gap: 5vw;
}

.fs-c-history .fs-c-orderHistory {
    padding: 3vw 0;
    margin: 3vw 0;
}

.fs-c-history .fs-c-orderHistoryItem + .fs-c-orderHistoryItem {
    padding-top: 3vw;
    margin-top: 3vw;
}

.fs-c-orderHistoryItem__body {
    grid-gap: 3vw;
}

}


/* 注文詳細 */

.fs-c-orderDetail {
    display: grid;
    grid-gap: 3rem;
}

.fs-c-orderDetailList {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 0 2rem;
}


.fs-c-orderPerAddressee,
.fs-c-orderDetail__addresseeInfo {
    display: grid;
    grid-gap: 1rem;
}


.fs-c-orderPerAddressee__addressee.fs-c-addresseeList {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 0 2rem;
}

.fs-c-deliveryInfoList,
.fs-c-deliveryInfoList__deliveryService,
.fs-c-deliveryInfoList > * {
    border: 0;
}


.fs-c-deliveryInfoList > dd {
    justify-self: self-end;
}

.fs-c-orderPaymentTable {
    width: 100%;
}

.fs-c-deliveryInfoList,
.fs-c-orderPaymentTable tr {
    display: flex;
    justify-content: space-between;
}

.fs-c-orderPaymentTable th,
.fs-c-orderPaymentTable td {
    border: 0;
}

.fs-c-cartTable thead {
    display: none;
}


@media screen and (min-width:768px) {

    .fs-c-orderDetail {
        grid-gap: 5vw;
    }

    .fs-c-orderPerAddressee,
    .fs-c-orderDetail__addresseeInfo {
        grid-gap: 2vw;
    }
}



/* ポイント履歴 */
.fs-c-pointSummary {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-gap: 0 2rem;
}

.fs-c-history .fs-c-pointListTable {
    padding: 2rem 0;
    margin: 2rem 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    width: 100%;
}

.fs-c-listTable > tbody > tr + tr {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #000;
}

.fs-c-pointListTable__dataDetail {
    margin: 0;
}

.fs-c-pointSummary__value--purchasePointTotal {
    font-weight: 900;
    color: #003894 !important;
}

.fs-c-pointListTable td[aria-label=獲得・利用ポイント] {
    font-size: inherit;
    color: #003894 !important;
    font-weight: 900;
}

@media screen and (min-width:768px) {
.fs-c-history .fs-c-pointListTable {
    padding: 0;
    margin: 3vw 0;
    border-spacing: 0;
    border-top: none;
}

.fs-c-pointListTable thead th {
    padding-bottom: 1vw;
}

.fs-c-pointListTable tbody tr td {
    border-top: 1px solid #000 !important;
    padding: 2vw 0 !important;
    border-spacing: 0;
}


}


/* 退会 */
.fs-c-inputInformation__button {
    display: grid;
    grid-gap: 1rem;
}



/* お届け先リスト */

.fs-c-button--addToAddressbook {
    width: fit-content;
    padding: 0;
    margin: 0 0 0 auto;
    background: transparent !important;
    color: #000 !important;
    display: block !important;
}

.fs-c-button--addToAddressbook .fs-c-button__label:before {
    content: "+";
    display: inline-block;
    margin-right: 1rem;
}

#fs_MyAddressBook .fs-c-listTable > tbody > tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-gap: 1rem;
}

#fs_MyAddressBook .fs-c-listTable > tbody > tr td:last-child {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    align-content: end;
}


.fs-c-addressBookList__list.fs-c-listTable {
    margin: 2rem 0;
    width: 100%;
}

.fs-c-buttonContainer--deleteChange {
    display: grid;
    grid-gap: 0.5rem;
}

/* クレジットカード */

#fs_MyCreditCards .fs-c-creditCardListItem{
    border: none;
    padding: 1rem 0;
    display: grid;
    grid-template-columns: 1fr auto;
}

#fs_MyCreditCards .fs-c-creditCardListItem__status,
#fs_MyCreditCards .fs-c-creditCardListItem__cardInfo {
    grid-column: 1 / 2;
}

#fs_MyCreditCards .fs-c-creditCardListItem__button {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    align-content: end;
}


@media screen and (min-width:768px) {

    
    
}











/* レビュー */


.product_review_box {
    display: grid;
    grid-gap: 3rem;
}


.product_review_box .fs-c-productName__name {
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 1rem;
}

.product_review_box .fs-c-productPrice {
    display: flex;
    grid-gap: 0.5rem;
}


.product_review_box .fs-c-aggregateRating__message {
    text-align: center;
    color: #003894;
    font-weight: 900;
}

.product_review_box .fs-c-aggregateRating {
    display: flex;
    justify-content: center;
    grid-gap: 2rem;
    align-items: center;
}

.product_review_box .fs-c-aggregateRating__rating::before{
    /*display: none;*/
}

.product_review_box .fs-c-aggregateRating__rating {
    display: flex;
    grid-gap: 0.5rem;
    align-items: center;
}

.product_review_box .fs-c-reviewStars::before {
    font-size: 2.4rem;
    color: #003894;
}


.product_review_box .fs-c-reviewAddField .fs-c-inputTable tbody {
    display: grid;
    grid-gap: 2rem;
}

.product_review_box .fs-c-reviewAddField .fs-c-inputTable tbody tr {
    display: grid;
    grid-template-columns: 1fr !important;
    grid-gap: 0;
}

.product_review_box .fs-c-reviewAddField .fs-c-inputTable--child {
    width: 100%;
    margin-top: 1rem;
}

@media screen and (min-width:768px) {


    .product_review_box {
        grid-gap: 3vw;
    }


    .product_review_box .fs-c-productReviewed {
        display: grid;
        grid-template-columns: 1fr 1.5fr;
        grid-template-rows: 1fr auto 1fr;
        grid-gap: 0 3vw;
    }



    .product_review_box .fs-c-productReviewed__image {
        grid-row: 1 / 4;
    }

    .product_review_box .fs-c-productReviewed__name {
        align-content: end;
    }

    .product_review_box .fs-c-productName__name {
        font-size: 2.4rem;
        line-height: 1.2;
        margin-bottom: 1rem;
    }

    .product_review_box .fs-c-reviewAddField .fs-c-inputTable tbody {
        display: grid;
        grid-gap: 2vw;
    }


}


/* レビュー一覧 */



.fs-c-reviewList .fs-c-reviewList__item {
    display: grid;
    grid-gap: 2rem;
}


.fs-c-reviewList > .fs-c-reviewList__item + .fs-c-reviewList__item {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid #000;
}

.fs-c-reviewList .fs-c-reviewList__item__product.fs-c-reviewProduct {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    align-items: center;
    grid-gap: 1rem;
}

.fs-c-reviewList .fs-c-productName__name {
    font-size: 1.6rem;
    line-height: 1.2;
}

.fs-c-reviewList .fs-c-reviewRating {
    margin-bottom: 1rem;
}

.fs-c-reviewList .fs-c-reviewStars::before {
    font-size: 2rem;
    color: #003894;
}

.fs-c-reviewList .fs-c-reviewInfo__date {
    display: flex;
    grid-gap: 1rem;
}

.fs-c-reviewList .fs-c-reviewList__item__editButton {
    text-align: right;
}


@media screen and (min-width:768px) {

    .fs-c-reviewList > .fs-c-reviewList__item + .fs-c-reviewList__item {
        margin-top: 5vw;
        padding-top: 5vw;
    }

    .fs-c-reviewList .fs-c-reviewList__item {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto 1fr;
        grid-gap: 1vw 2vw;
    }


    .fs-c-reviewList .fs-c-reviewList__item__product.fs-c-reviewProduct {
        grid-template-columns: 1fr 1fr;
        grid-row: 1 / 4;
        align-items: start;
    }

    .fs-c-reviewList .fs-c-reviewStars::before {
        font-size: 2.4rem;
    }

    .fs-c-reviewList .fs-c-productName__name {
        font-size: 2.4rem;
    }



}


/* 商品レビュー */

.fs-c-reviewInfo__reviewer {
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-gap: 1rem;
}

#fs_ReviewsByProduct .fs-c-reviewList .fs-c-reviewList__item {
    display: grid;
    grid-gap: 1rem;
}

#fs_ReviewsByProduct .fs-c-reviewList .fs-c-reviewRating {
    margin-bottom: 0;
}


@media screen and (min-width:768px) {

    #fs_ReviewsByProduct .fs-c-reviewList .fs-c-reviewList__item {
        grid-template-rows: 1fr;
        grid-template-columns: auto 1fr;
        grid-gap: 5vw;
    }

}



/* ブランドTOP */

.brand_top_contents {
    position: relative;
    margin: 2rem 0 0;
    background: #FFF;
    border-bottom: 1px solid #eee;
}

.brand_content {
    padding-bottom: 1rem;
}

.brand_logo_box {
    text-align: center;
}

.brand_logo_box a {
    aspect-ratio: 4 / 3;
    display: grid;
    max-width: 80px;
    width: fit-content;
    margin: 0 auto 2rem;
    align-items: center;
}

.brand_logo_box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.brand_menu ul {
    display: flex;
    justify-content: center;
    grid-gap: 4rem;
}


.bland_top_img img,
.bland_top_img video {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
}


/*Brand Aboutモーダル*/

.modal_brandabout_button,
.modal_brandcategory_button,
.modal_brandnews_button{
	cursor: pointer;
}


#modal_brandabout{
	display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 110;
    width: 100%;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
}

#modal_brandcategory,
#modal_brandnews{
	display: block;
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
}

#modal_brandabout.modal_brandabout_open,
#modal_brandcategory.modal_brandcategory_open,
#modal_brandnews.modal_brandnews_open{
    opacity: 1;
    visibility: visible;
    transition: all 0.5s;
}

.brandabout_modal_bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: block;
	z-index: 1;
    cursor: pointer;
}

.brandcategory_modal_bg,
.brandnews_modal_bg{
    position: absolute;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    display: block;
	z-index: 1;
    cursor: pointer;
}

#modal_brandabout .modal_window{
    background: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 90%;
    max-width: 540px;
    padding: 4rem 2rem;
    border-radius: 0 5rem 0 0;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

#modal_brandcategory .modal_window,
#modal_brandnews .modal_window{
    background: #FFF;
    position: absolute;
    z-index: 2;
    width: 100%;
    padding: 2rem 2rem;
}


#modal_brandabout .modal_content_wrap,
#modal_brandcategory .modal_content_wrap,
#modal_brandnews .modal_content_wrap{
    height: 100%;
	padding: 0;
    font-size: 1.2rem;
}

#modal_brandabout .brandabout_modal_close_button{
    display: grid;
    background: #003894;
    color: #FFF;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    align-content: center;
    justify-content: center;
    padding: 0;
    position: absolute;
    top: 2rem;
    right: 2rem;
    transition: all 0.5s;
    cursor: pointer;
}


.brand_category_menu {
    display: flex;
    justify-content: center;
    gap: 1rem 3rem;
    flex-wrap: wrap;
}

.brandabout_modal_close_button:before{
    height: auto;
    font-size: 1.6rem;
    font-family: 'Noto Sans JP' !important;
    content: "×";
    font-weight: 400;
    color: #FFF;
}

.brand_about_title.bluedot {
    margin-bottom: 1rem;
}

.brand_about_img {
    margin: 0 0 2rem;
    aspect-ratio: 1.6 / 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#modal_brandnews .modal_window{
    padding: 2rem 0;
}

#modal_brandnews .modal_content {
    width: 100%;
    overflow-x: scroll;
}

#modal_brandnews .brand_news_container{
    display: flex;
    grid-gap: 1rem;
    padding: 0 2rem 1rem;
    width: fit-content;
}

#modal_brandnews .brand_news_container > div{
    width: 50vw;
}

#modal_brandnews .brand_news_container > p{
    text-align: center;
    width: calc(100vw - 4rem);
}

#modal_brandnews .news_img {
    margin-bottom: 10px;
}

#modal_brandnews h3 {
    word-break: break-all;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 1.5;
    font-weight: 600;
    font-size: 1.2rem;
}

#modal_brandnews .date {
    color: #666;
    font-size: 1.1rem;
}

@media screen and (min-width:768px) {

    .brand_top_contents {
        margin: 4vw 0 0;
    }

    .brand_content {
        padding-bottom: 2vw;
    }

    .brand_logo_box a {
        max-width: 100px;
        margin: 0 auto 4vw;
    }

    .brand_logo_box img {
    }

    .brand_menu ul {
        grid-gap: 5vw;
    }

    .bland_top_img img,
    .bland_top_img video {
        aspect-ratio: 2 / 1;
        object-fit: cover;
        width: 100%;
    }

    #modal_brandabout .modal_window {
        padding: 7rem 4rem 5rem;
    }

    #modal_brandcategory .modal_window {
        padding: 3vw 5vw;
    }
    

    #modal_brandnews .modal_content {
        overflow-x: unset;
    }



    #modal_brandnews .brand_news_container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        padding: 0;
        width: 100%;
    }

    #modal_brandnews .brand_news_container > div {
        width: 100%;
    }
        
    #modal_brandnews .brand_news_container > p{
        grid-column:1/5 ;
        text-align: center;
        width: 100%;
    }
}

@media screen and (min-width:768px) and (orientation: portrait) {

    #modal_brandnews .modal_window {
        padding: 5vw;
    }

    #modal_brandnews .brand_news_container {
        grid-gap: 3vw;
    }

}

@media screen and (min-width:768px) and (orientation: landscape) {

    .brand_logo_box a {
        max-width: 120px;
        margin: 0 auto 2vw;
    }

    #modal_brandnews .modal_window {
        padding: 3vw;
    }

    #modal_brandnews .brand_news_container {
        grid-gap: 2vw;
        width: 80%;
        margin: auto;
    }

}



/* ABOUT */

.about_box {
    max-width: 600px;
    margin: auto;
}

.about_text {
    display: grid;
    grid-gap: 3rem;
}

.about_text p:first-child {
    text-align: center;
}




/* Instagram feed */


#instaWrapper {
    padding: 4rem 0;
}

#insta ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

#insta li a {
    display: block;
}

#insta img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center;
    transition: all 0.5s ease;
    transform: scale(100%);
}


#insta li {
    overflow: hidden;
    display:block;
}


#insta img:hover{
    transform: scale(110%);
}


#insta li:last-child{
    display: none;
}

.insta_link {
    padding: 2rem;
    text-align: center;
}

.insta_link a {
    display: inline-block;
}

.insta_link img {
    width: 4rem;
}

/* wordpressから202507 */

#insta-feed-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

#insta-feed-container .insta-item,
#insta-feed-container > a{
    aspect-ratio: 3 / 4;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

#insta-feed-container .insta-item img,
#insta-feed-container img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: center;
}

#insta-feed-container .insta-item:nth-child(10),
#insta-feed-container a:nth-child(10){
    display: none;
}



@media screen and (min-width:768px) {

    #instaWrapper {
        padding: 5vw 0;
    }

    #insta ul {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }
    #insta li:last-child{
        display:block;
    }

    .insta_link {
        padding: 6rem;
    }

    .insta_link img {
        width: 6rem;
    }

    /* wordpressから202507 */
    #insta-feed-container {
        grid-template-columns: repeat(5, 1fr);
    }

    #insta-feed-container .insta-item:nth-child(10),
    #insta-feed-container a:nth-child(10){
        display: block;
    }
}