div#fs_preview_header {
    display: none;
}

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

html {
    font-size: max(62.5%, 12px);
}

body {
    counter-reset: number 0;
    font-family: "futura-pt", "Zen Kaku Gothic New", "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
    font-weight: 400;
    font-style: normal;
    counter-reset: number 0;
}


img {
    border-style: none;
    max-width: 100%;
    vertical-align: top;
}





@media screen and (max-width:768px) {
    /* 共通 */

body:has(.block-search-form.open) {
overflow:hidden;
}

    h1.fs-c-heading.fs-c-heading--page {
        color: #222;
        border: none;
        font-size: 24px;
        letter-spacing: 3px;
        padding-bottom: 0;
  }

    h2.br_contents_ttl {
        font-size: clamp(30px, 3.74vw, 46px);
        text-align: center;
        letter-spacing: 2px;
        margin: 0;
    }
h2.fs-c-documentArticle__heading {
        background: #f9eddc;
        color: #222;
        font-size: 18px;
        text-align: left;
        padding: 14px 0 14px 18px;
        border-radius: 4px;
        line-height: 1em;
    }
.fs-c-documentColumn__heading {
        font-size: 16px;
        color: #2c1c1d;
        border-color: #2c1c1d;
        padding: 6px 10px;
    }



.fs-c-button--primary {
    padding: 0.8em 1.6em;
}

    .btn_ptn01 {
        color: #222;
        font-size: 16px;
        border: solid 1px;
        display: block;
        width: fit-content;
        padding: 10px 20px;
        border-radius: 2em;
        margin: 0 0 0 auto;
    }

    .btn_ptn01:hover {}



    .margin_center {
        margin: 0 auto;
    }


    .fs-c-productListItem__control.fs-c-buttonContainer {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 8px;
        border-radius: 2em;
        background: #f2f2f2;
        z-index: 0;
    }

    .fs-c-productPrice.fs-c-productPrice--selling {
        justify-content: end;
    }


.fs-c-productPrice--listed {
    display: flex;
    align-items: baseline;
    justify-content: end;
}
.fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
    padding: 0 4px;
    color: #222222;
    font-size: 2rem;
    line-height: 1em;
}


    /*　ヘッダー　*/


.fs-l-header--min {
    border: none;
}
.fs-l-header--min .fs-p-logo {
    width: 168px;
    margin: 0 auto;
}

    .fs-l-header {
        padding: 0;
        margin-bottom: 0;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2;
        width: 100%;
        background: #eeeeee90;
    }

.event_obi_wrap {
    background: #2c1c1d;
    color: #fff;
    text-align: center;
    font-size: 14px;
    line-height: 40px;
}
.event_obi_wrap a {
    color: #fff;
    text-decoration:none;
}


    .header_obi_wrap {
        background: #eee;
    }

    .header_obi {
        margin: 0 auto;
        padding: 0 10px;
        display: flex;
        justify-content: space-between;
    }

    .header_obi_ttl {
        font-size: 8px;
        margin: 0;
        padding: 4px 0;
    }

    .header_obi a {
        display: none;
    } 
  
.fs-l-main .block-search-form {
display:none;
}





    .br_header_contents_wrap {
        padding: 4px 0;
    }

    .br_header_contents {
        margin: 0 auto;
        padding: 0 15px;
        display: grid;
        grid-template-columns: 100px 1fr auto;
        align-items: center;
        gap: 20px;
    }

.br_header_contents > a {
    display: contents;
}

    .br_header_contents_box.icon_wrap {
        width: fit-content;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-gap: 8px;
        align-items: center;
        text-align: center;
    }

    .menu-container {
        display: none;
    }


    .br_header_contents_box.icon_wrap a {
        position: relative;

        display: flex;
        justify-content: center;
    }

    span.fs-p-cartItemNumber {
        top: -8px;
        right: -6px;
        width: 1.2em;
        height: 1.2em;
        line-height: 1em;
        font-size: 12px;
        padding: 0;
        margin: 0;
        align-content: center;
    }

    #fs_p_headerNavigation {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
    }

    img.header_ico {
        width: 20px;
        vertical-align: bottom;
    }

    label.fs-p-drawerButton {
        display: flex;
        padding: 0;
        justify-content: center;
    }

    img.header_ico.mypage {
        height: 20px;
        width: auto;
    }





    .fs-p-headerNavBar {
        display: none;
    }

    .login_menu_list {
        display: flex;
    }

    .fs-p-drawer__loginLogout__login,
    .fs-p-drawer__loginLogout__logout {
        background: none;
        border: none;
        color: #222;
        border-radius: 0;
        padding: 0 10px;
        font-size:14px;
    }

    a.fs-p-drawer__loginLogout__login:hover,
    .fs-p-drawer__loginLogout__logout:hover {
        background: #f1f1f1;
        color: #222;
    }

    span.fs-p-searchForm__inputGroup {
        background: none;
        border: none;
    }

    input.fs-p-searchForm__input {
        width: 300px;
        border-radius: 2em;
        border: solid 1px #999;
        padding: 0 14px;
    }

    button.fs-p-searchForm__button {
        background: none;
        color: #222;
    }
.fs-p-searchForm__button::before {
    line-height: 1;
    font-size: 2rem;
    display: flex;
    align-items: anchor-center;
    justify-content: center;
}





    .menu-container {
        width: 100%;
    }

    .menu-mobile {
        display: block;
    }

    .menu-dropdown-icon:before {
        display: block;
    }

    .menu > ul {
        display: none;
    }

    .menu > ul > li {
        width: 100%;
        float: none;
        display: block;
        letter-spacing: 0.1em;
    }

    .menu > ul > li a {
        padding: 1.5em;
        width: 100%;
        display: block;
    }

    .menu > ul > li > ul {
        position: relative;
    }

    .menu > ul > li > ul.normal-sub {
        width: 100%;
    }

    .menu > ul > li > ul > li {
        float: none;
        width: 100%;
        margin-top: 20px;
    }

    .menu > ul > li > ul > li:first-child {
        margin: 0;
    }

    .menu > ul > li > ul > li > ul {
        position: relative;
    }

    .menu > ul > li > ul > li > ul > li {
        float: none;
    }

    .menu .show-on-mobile {
        display: block;
    }







    /* パンくず */
    .fs-c-breadcrumb {
        margin-top: 72px;
    }

    ol.fs-c-breadcrumb__list {
        max-width: 1230px;
        margin: 0 auto;
        padding: 0 15px;
    }





    /* ドロワー */

    .fs-p-drawer {
transition-duration: 0.2s;
}

    aside.fs-p-drawer.fs-l-sideArea {
        position: fixed;
        top: 0;
        left: 0;
        transform: translateX(-101%);
        width: 80vw;
        max-width:360px;
        border-right: solid 1px #eee;
        padding: 20px;
    }

    .fs-p-ctrlDrawer:checked + .fs-p-drawer {
        transform: translateX(0);
        position: fixed;
        top: 0;
        left: 0;
        width: 80%;
        max-width: 360px;
        border-right: solid 1px #eee;
        padding: 20px;
    }
aside.fs-p-drawer.fs-l-sideArea ul.fs-pt-menu > li {
    padding: 10px;
    border-bottom: solid 1px;
}



.fs-p-sideMenu .fs-pt-menu__heading--lv1 {
    border: none;
    padding: 0;
}
/* 初期状態: サブメニューを非表示 */
.fs-pt-menu__submenu {
    display: none;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}
/* 開いた時に表示 */
.fs-pt-menu__submenu.active {
    display: block;
}
/* 見出しのアイコン（矢印） */
.fs-pt-menu__heading {
    position: relative;
    cursor: pointer;
    padding-right: 20px; /* 右側にアイコンのスペースを確保 */
}
/* 初期状態は下矢印 ▼ を表示 */
.fs-pt-menu__heading::after {
    content: "》";
    position: absolute;
    right: 10px;
    font-size: 12px;
    transition: transform 0.2s ease;
}
/* 開いたときはバツ ✖ に変更 */
.fs-pt-menu__heading.active::after {
    content: "×";
}
/* 最下層の .fs-pt-menu__heading（<span>）が <a> を含む場合は矢印を表示しない */
.fs-pt-menu__heading:has(a)::after {
    content: none;
}







    /* メイン */
    .fs-l-sideArea + .fs-l-pageMain,
    .fs-l-pageMain + .fs-l-sideArea {
        max-width: 100%;
    }

    .fs-l-main {
      margin-bottom: 0;
      padding: 0 15px 15px;
    }

    .fs-l-main:not(.fs-c-breadcrumb + .fs-l-main),
    .swiper:not(.fs-l-header + .swiper) {
        margin-top: 75px;
    }




    /* スライダー */
    .swiper-slide img {}

    .slider-thumbnail .swiper-slide {
        transition: opacity .5s;
        opacity: 0.4;
    }

    .slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
        opacity: 1;
    }

    .slider-thumbnail.swiper-thumbs {
        max-width: 950px;
        margin: 10px auto 0;
        width: 92%;
        display: block;
        position: relative;
    }

    .swiper-thumbs img {}








    /* フローティングバナー */
    a.fltg_bnr.tv img {
        position: fixed;
        top: 20%;
        right: 0;
        z-index: 10000;
        display: block;
        width: 44px;
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }





/* 商品一覧 */
span.fs-c-productName__name {
    color: #222;
}
span.fs-c-productPrice__main__label {
    font-size: 12px;
}
.fs-c-productPrice__addon,
.fs-c-productPrice__main__addon {
    font-size: 12px;
}
.fs-c-productPrice.fs-c-productPrice--member {
    justify-content: end;
}
.fs-c-productPrice--selling .fs-c-productPrice__main__price {
        font-size: 16px !important;
}
.fs-c-productPrice--member .fs-c-productPrice__main__price {
  color: #E25B33 !important;
}





    /* 商品タグ */
    .tag_sale {
        position: relative;
        border: solid 1px #bf0000;
        padding: 6px 6px 5px;
        font-weight: bold;
        margin: 0 4px 4px 0;
        color: #bf0000;
    }

    .tag_boy {
        position: relative;
        border-bottom: solid 1px #29a9da;
        padding: 6px 6px 5px;
        font-weight: bold;
        margin: 0 4px 4px 0;
        color: #29a9da;
        border-radius: 0;
    }

    .tag_girl {
        position: relative;
        border-bottom: solid 1px #ca2f74;
        padding: 6px 6px 5px;
        font-weight: bold;
        margin: 0 4px 4px 0;
        color: #ca2f74;
        border-radius: 0;
    }

    /* トップページ */
    /* トップページ コンテンツ */
    section.br_contents_wrap {
        margin-bottom: 8vw;
    }


    /* Feature */
    .br_contents_inr.feature {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 10px;
        margin-bottom: 2em;
    }
.feature .br_contents_box {
    text-decoration:none;
}

.feature .br_contents_box_inr {
        border: solid 4px #eee;
        border-top: none;
        padding: 8px 4px;
        text-decoration: none;
        position: relative;
}

.feature .br_contents_box_inr::after {

}
.feature .br_contents_box_inr h2 {
    padding: 0;
    margin: 0 0 4px;
    color: #333;
    font-size: 16px;
}
.feature .br_contents_box_inr p {
    padding: 0;
    margin: 0;
    color: #333;
    font-size: 12px;
}
    .br_contents_txt {
        font-size: 18px;
        text-align: center;
        margin-bottom: 2em;
    }



    /* Ranking */

    .br_ranking_wrap.fs-c-productListCarousel.fs-c-slick {
        display: block;
    }

    .br_ranking_wrap span.fs-c-productListCarousel__ctrl {
        display: none !important;
    }

    .br_ranking_wrap .fs-c-productListCarousel__list {
        display: block;
    }

    .br_ranking_wrap div.slick-track {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 16px;
        width: 100% !important;
        transform: none !important;
    }

    .br_ranking_wrap div.slick-track::before {
        content: none !important;
    }

    .br_ranking_wrap .slick-slide {
        position: relative;
    }

    .br_ranking_wrap .slick-slide::before {
        counter-increment: number 1;
        content: counter(number) " ";
        position: absolute;
        left: 0;
        top: 0;
        background: #29a9da;
        z-index: 1;
        padding: 10px 10px 0;
        color: #fff;
        line-height: 1em;
    }

    .br_ranking_wrap .slick-slide::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 0;
        height: 0;
        border: solid 1em #29a9da;
        border-top: solid 2.2em #29a9da;
        border-bottom: solid 1em transparent;
    }

    .br_ranking_wrap .slick-slide:nth-child(n + 11) {
        display: none;
    }

    .br_ranking_wrap article.fs-c-productListCarousel__list__item.fs-c-productListItem {
        min-width: 100%;
        margin: 0;
        position: relative;
        display: grid !important;
    }

    .br_ranking_wrap .fs-c-productMarks {
        grid-row: 2;
    }


    /* Size */

    section.br_contents_wrap.size {
        margin: 0 calc(50% - 50vw) 8vw;
        width:100vw;
    }

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

    .tab5 .tab-content {
        margin: 0;
        text-align: center;
    }

    .tab5 label {
        display: inline-block;
        padding: 9px 0;
        text-align: center;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        font-size: 20px;
        width: 48%;
        max-width: 580px;
        color: #fff;
    }

    .tab5 label:hover {}

    .tab5-b_inr {
        max-width: 1216px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 16px 10px;
    }

    a.tab5-b_inr_box {
        background: #fff;
        padding: 16px;
        border-radius: 4px;
        font-weight: bold;
    }


    .tab5-b_inr_box_label_2 {
        grid-column: span 2;
        text-align: left;
        align-content: center;
        position: relative;
        color: #fff;
        font-size: 18px;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-gap: 10px;
        align-items: center;
    }

    .tab5-b_inr_box_label_5 {
        grid-column: span 2;
        text-align: left;
        align-content: center;
        position: relative;
        color: #fff;
        font-size: 18px;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-gap: 14px 10px;
        align-items: center;
    }

    .tab5-b_inr_box_label_2::after,
    .tab5-b_inr_box_label_5::after {
        content: "";
        border-top: dashed 1px #fff;
        width: 100%;
        height: 1px;
    }

    div#tab5-b1 a.tab5-b_inr_box {
        color: #29a9da;
    }

    div#tab5-b2 a.tab5-b_inr_box {
        color: #ca2f74;
    }

    input#tab5-1 + label {
        background: #c8d8e2;
    }

    div#tab5-b1 {
        background: #c8d8e2;
    }

    input#tab5-2 + label {
        background: #ebc8d7;
    }

    div#tab5-b2 {
        background: #ebc8d7;
    }

    .tab5 input:checked + label {}

    .tab5 input {
        display: none;
    }

    .tab5 #tab5-b1,
    .tab5 #tab5-b2 {
        display: none;
        padding: 32px;
    }

    .tab5 #tab5-1:checked ~ #tab5-b1,
    .tab5 #tab5-2:checked ~ #tab5-b2 {
        display: block;
    }








    /* category */

    .br_contents_inr.category.ptn01 {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 10px;
        margin-bottom: 10px;
    }

    .br_contents_inr.category.ptn02 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 10px;
    }

    a.cate_bnr {
        display: grid;
        grid-template-columns: 63px 1fr;
        align-items: center;
        grid-gap: 10px;
        color: #222;
        font-size: 16px;
        box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
        border-radius: 5px;
        padding: 16px 8px;
        line-height: 1.2em;
        font-weight: bold;
    }
.br_contents_inr.category.ptn01 h3 {
    text-align: center;
    margin: 12px;
}
.br_contents_inr.category.ptn01 ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 4px;
    margin: 0;
    padding: 0;
}
.br_contents_inr.category.ptn01 ul li {
    list-style: none;
    background: #f5f5f5;
    align-content: center;
}
.br_contents_inr.category.ptn01 div {
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
    padding: 10px;
    border-radius: 5px;
}
.br_contents_inr.category.ptn01 ul li a {
    display: block;
    background: #f5f5f5;
    text-align: center;
    color: #222;
    padding: 10px;
    margin: 2px;
    font-weight:bold;
}






    /* topics */

    .br_contents_inr.topics {
        display: grid;
        grid-gap: 10px;
    }

    .topics .br_contents_box {
        border: solid 5px #f9eddc;
        border-radius: 5px;
    }

    .topics .br_contents_box_inr {
        padding: 0 16px 16px;
    }









    section.br_contents_wrap.sns {
        background: #f4f1ed;
        margin: 0 calc(50% - 50vw);
        padding: 128px 0;
    }















    /* フッター */
    .fs-l-footer {
        margin-top: 0;
        border: none;
    }

    .br_footer_contents_wrap {
        background: #2c1c1d;
        padding: 64px 15px;
        font-size: 16px;
    }

    .br_footer_contents {
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 30px 0;
    }
.br_footer_contents div:nth-child(1) {
    grid-column: span 2;
}

h3.footer_contents_ttl {
    color: #fff;
    font-size: 22px;
    letter-spacing: 1px;
    margin: 0;
    padding: 0;
}

    .br_footer_contents .fs-p-sideMenu .fs-pt-menu__heading--lv1 {
        border: none;
        padding: 0;
        margin: 0;
    }

    .br_footer_contents a.fs-pt-menu__link.fs-pt-menu__link--lv1 {
        color: #fff;
        border-bottom: solid 1px #4f3d3f;
        margin: 0 0 12px;
        padding: 12px;
        transition: none;
    }


    .br_footer_contents .fs-p-sideMenu a:hover,
    .br_footer_contents a.fs-pt-menu__link:hover {
        background: #4f3d3f;
        border-radius: 8px;
    }



    .sp_none {
        display: none;
    }



}





















































@media screen and (min-width: 769px) {

    /* 共通 */

    h1.fs-c-heading.fs-c-heading--page {
        color: #222;
        border: none;
        font-size: 28px;
        letter-spacing: 3px;
    }

    h2.br_contents_ttl {
        font-size: clamp(30px, 3.74vw, 46px);
        text-align: center;
        letter-spacing: 2px;
        margin: 0;
    }

    .fs-c-wishlistProduct__title,
    .fs-c-featuredProduct__title {
        font-weight: normal;
        font-size: 24px;
        color: #222;
        padding: 0 0 20px;
        border-bottom: solid 1px;
    }
h2.fs-c-documentArticle__heading {
        background: #f9eddc;
        color: #222;
        font-size: 18px;
        text-align: left;
        padding: 14px 0 14px 18px;
        border-radius: 4px;
        line-height: 1em;
    }
.fs-c-documentColumn__heading {
        font-size: 16px;
        color: #2c1c1d;
        border-color: #2c1c1d;
        padding: 6px 10px;
    }
    h2.fs-c-registeredUsers__title.fs-c-subSection__title,
h2.fs-c-newUsers__title.fs-c-subSection__title,
.fs-c-subSection__title,
.fs-c-linkedServiceLogin__title {
        color: #222;

        padding: 0 0 20px;
    }



.fs-c-button--primary {
    padding: 0.8em 1.6em;
}
    a.btn_ptn01 {
        color: #222;
        font-size: 16px;
        border: solid 1px;
        display: block;
        width: fit-content;
        padding: 10px 20px;
        border-radius: 2em;
        margin: 0 0 0 auto;
    }

    a.btn_ptn01:hover {}

    button.btn_ptn01,
    input.btn_ptn01 {
        color: #222;
        font-size: 14px;
        border: solid 1px;
        display: block;
        width: fit-content;
        padding: 4px 16px;
        border-radius: 2em;
        margin: 0 auto;
        background: none;
    }

    a.margin_center {
        margin: 0 auto;
    }


    .fs-c-productListItem__control.fs-c-buttonContainer {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0;
        padding: 8px;
        border-radius: 2em;
        background: #f2f2f2;
        z-index: 0;
    }

    .fs-c-productPrice.fs-c-productPrice--selling {
        justify-content: end;
    }


.fs-c-productPrice--listed {
    display: flex;
    align-items: baseline;
    justify-content: end;
}
.fs-c-productPrice:not(.fs-c-productPrice--listed) .fs-c-productPrice__main__price {
    padding: 0 4px;
    color: #222222;
    font-size: 2rem;
    line-height: 1em;
}





    /*　ヘッダー　*/
    .fs-l-header {
        padding: 0 0 10px;
        margin-bottom: 0;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2;
        width: 100%;
        background: #eeeeee90;
    }


.event_obi_wrap {
    background: #2c1c1d;
    color: #fff;
    text-align: center;
    font-size: 18px;
    line-height: 40px;
}
.event_obi_wrap a {
    color: #fff;
    text-decoration:none;
}

    .header_obi_wrap {
        background: #eee;
    }

    .header_obi {
        max-width: 1230px;
        margin: 0 auto;
        padding: 0 15px;
        display: flex;
        justify-content: space-between;
    }

    .header_obi_ttl {
        font-size: 12px;
        margin: 0;
        padding: 4px 0;
    }

    .header_obi a {
        color: #fff;
        font-size: 12px;
        align-self: center;
        font-weight: bold;
    }


.fs-l-header--min {
    padding: 10px;
    border: none;
}
.fs-l-header--min .fs-p-logo__image {
width:128px;
}


    .br_header_contents_wrap {
        padding: 10px 0;
    }

    .br_header_contents {
        max-width: 1230px;
        margin: 0 auto;
        padding: 0 15px 10px;
        display: grid;
        grid-template-columns: 168px 1fr auto;
        align-items: center;
        gap: 20px;
        border-bottom: solid 1px #fff;
    }

    .br_header_contents_box.icon_wrap {
        width: fit-content;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-gap: 20px;
        align-items: center;
        text-align: center;
    }

    .br_header_contents_box.icon_wrap a {
        position: relative;
        display: flex;
        justify-content: center;
    }

    span.fs-p-cartItemNumber {
        top: -8px;
        right: -6px;
        width: 1.2em;
        height: 1.2em;
        line-height: 1em;
        font-size: 12px;
        padding: 0;
        margin: 0;
        align-content: center;
    }

    #fs_p_headerNavigation {
        justify-content: flex-end;
        gap: 20px;
    }

    img.header_ico {
        width: 20px;
        vertical-align: bottom;
    }

    label.fs-p-drawerButton {
        display: flex;
        padding: 0;
        justify-content: center;
    }

    img.header_ico.mypage {
        height: 20px;
        width: auto;
    }
.fs-l-header .block-search-form {
display:none;
}





    .fs-p-headerNavBar {
        background: none;
        border: none;
    }

    .login_menu_list {
        display: flex;
    }

    .fs-p-drawer__loginLogout__login,
    .fs-p-drawer__loginLogout__logout {
        background: none;
        border: none;
        color: #222;
        border-radius: 0;
        padding: 0 10px;
        font-size:14px;
    }

    a.fs-p-drawer__loginLogout__login:hover,
    .fs-p-drawer__loginLogout__logout:hover {
        background: #f1f1f1;
        color: #222;
    }

    span.fs-p-searchForm__inputGroup {
        background: none;
        border: none;
    }

    input.fs-p-searchForm__input {
        width: 300px;
        border-radius: 2em;
        border: solid 1px #999;
        padding: 0 14px;
    }

    button.fs-p-searchForm__button {
        background: none;
        color: #222;
    }







    .menu-container {
        height: 100%;
        margin: 0 auto;
    }

    .menu-mobile {
        display: none;
        padding: 20px;
    }

    .menu-mobile:after {
        content: "\f394";
        font-family: "Ionicons";
        font-size: 2.5rem;
        padding: 0;
        float: right;
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-25%);
        -ms-transform: translateY(-25%);
        transform: translateY(-25%);
    }

    .menu-dropdown-icon:before {
        content: "\f489";
        font-family: "Ionicons";
        display: none;
        cursor: pointer;
        float: right;
        padding: 1.5em 2em;
        background: #fff;
        color: #333;
    }

    .menu > ul {
        margin: 0 auto;
        list-style: none;
        padding: 0;
        position: relative;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: end;
    }

    .menu > ul:before,
    .menu > ul:after {
        content: "";
        display: table;
    }

    .menu > ul:after {
        clear: both;
    }

    .menu > ul > li {
        padding: 10px 20px;
        margin: 0;
        line-height: 1em;
        letter-spacing: 0.1em;
        cursor: pointer;
    }

    .menu > ul > li a {
        text-decoration: none;
        display: block;
        color: #222;
    }

    .menu > ul > li:hover {
        background: #f4f4f4;
    }

    .menu > ul > li > ul {
        display: none;
        width: 100%;
        background: #f4f4f4;
        padding: 20px;
        position: absolute;
        z-index: 99;
        left: 0;
        margin: 0;
        list-style: none;
        box-sizing: border-box;
    }

    .menu > ul > li > ul:before,
    .menu > ul > li > ul:after {
        content: "";
        display: table;
    }

    .menu > ul > li > ul:after {
        clear: both;
    }

    .menu > ul > li > ul > li {
        margin: 0 0 2px;
        padding: 0;
        list-style: none;
    }

    .menu > ul > li > ul > li a {
        color: #222;
        //padding: .2em 0;
        //width: 95%;
        //display: block;
        //border-bottom: 1px solid #ccc;
    }

    .menu > ul > li > ul > li > ul {
        display: block;
        padding: 0;
        margin: 10px 0 0;
        list-style: none;
        box-sizing: border-box;
    }

    .menu > ul > li > ul > li > ul:before,
    .menu > ul > li > ul > li > ul:after {
        content: "";
        display: table;
    }

    .menu > ul > li > ul > li > ul:after {
        clear: both;
    }

    .menu > ul > li > ul > li > ul > li {
        float: left;
        width: 100%;
        padding: 10px 0;
        margin: 0;
        font-size: .8em;
    }

    .menu > ul > li > ul > li > ul > li a {
        border: 0;
    }

    .menu > ul > li > ul.normal-sub {
        width: 300px;
        left: auto;
        top: calc(1em + 20px);
        padding: 10px;
        margin-left: -20px;
    }

    .menu > ul > li > ul.normal-sub > li {
        width: 100%;
    }

    .menu > ul > li > ul.normal-sub > li:hover {
        background: #d2a76f;
    }

    .menu > ul > li > ul.normal-sub > li:hover a {
        color: #fff;
    }

    .menu > ul > li > ul.normal-sub > li a {
        border: 0;
        display: grid;
        grid-template-columns: 44px 1fr;
        grid-gap: 12px;
        align-items: center;
    }








    /* パンくず */
    .fs-c-breadcrumb {
        margin-top: 144px;
    }

    ol.fs-c-breadcrumb__list {
        max-width: 1230px;
        margin: 0 auto;
        padding: 0 15px;
    }





    /* ドロワー */

    .fs-p-drawer {
transition-duration: 0.2s;
}

    aside.fs-p-drawer.fs-l-sideArea {
        position: fixed;
        top: 0;
        left: 0;
        transform: translateX(-101%);
        width: 80vw;
        border-right: solid 1px #eee;
        padding: 20px;
    }

    .fs-p-ctrlDrawer:checked + .fs-p-drawer {
        transform: translateX(0);
        position: fixed;
        top: 0;
        left: 0;
        width: 80%;
        max-width: 360px;
        border-right: solid 1px #eee;
        padding: 20px;
    }
aside.fs-p-drawer.fs-l-sideArea ul.fs-pt-menu > li {
    padding: 10px 26px 10px 0;
    border-bottom: solid 1px;
    margin:0;
}
aside.fs-p-drawer.fs-l-sideArea ul.fs-pt-menu li span {
        border: none;
        padding: 0;
}
aside.fs-p-drawer.fs-l-sideArea ul.fs-pt-menu li span a.fs-pt-menu__link.fs-pt-menu__link--lv1:hover {
    background: none;
    color: initial;
}
/* 2階層目、3階層目、4階層目をデフォルトで非表示 */
.fs-pt-menu--lv2,
.fs-pt-menu--lv3,
.fs-pt-menu--lv4 {
  display: none;
  margin-left: 16px; /* 必要に応じて調整 */
}

/* 開いた状態のためのクラス（JSで付与） */
.fs-pt-menu__submenu.is-open {
        display: block;
        margin: 0;
        padding: 10px 0 0 5px;
}
aside.fs-p-drawer.fs-l-sideArea .fs-p-sideMenu a {
transition: none;
}
aside.fs-p-drawer.fs-l-sideArea .fs-p-sideMenu a:hover {
    background: #f1f1f1;
    color: initial;
    border-radius: 8px;
}



/* 初期状態: サブメニューを非表示 */
.fs-pt-menu__submenu {
    display: none;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}
/* 開いた時に表示 */
.fs-pt-menu__submenu.active {
    display: block;
}
/* 見出しのアイコン（矢印） */
.fs-pt-menu__heading {
    position: relative;
    cursor: pointer;
    padding-right: 20px; /* 右側にアイコンのスペースを確保 */
}
/* 初期状態は下矢印 ▼ を表示 */
.fs-pt-menu__heading::after {
        content: "》";
        position: absolute;
        top: 50%;
        right: -30px;
        transition: transform 0.2s ease;
        transform: translateY(-50%);
        font-size: 20px;
}
/* 開いたときはバツ ✖ に変更 */
.fs-pt-menu__heading.active::after {
    content: "×";
}
/* 最下層の .fs-pt-menu__heading（<span>）が <a> を含む場合は矢印を表示しない */
.fs-pt-menu__heading:has(a)::after {
    content: none;
}





    /* メイン */
    .fs-l-sideArea + .fs-l-pageMain,
    .fs-l-pageMain + .fs-l-sideArea {
        max-width: 100%;
        width: 100%;
    }

    .fs-l-main:not(.fs-c-breadcrumb + .fs-l-main),
    .swiper:not(.fs-l-header + .swiper) {
        margin-top: 144px;
    }



    /* スライダー */
    .swiper-slide img {
        width: 100%;
    }

    .slider-thumbnail .swiper-slide {
        transition: opacity .5s;
        opacity: 0.4;
    }

    .slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
        opacity: 1;
    }

    .slider-thumbnail.swiper-initialized.swiper-horizontal.swiper-pointer-events.swiper-thumbs {
        margin: 10px auto 0;
        width: calc(100% / 1.6);
        display: block;
        position: relative;
    }

    .swiper-thumbs img {}






    /* フローティングバナー */
    a.fltg_bnr.tv img {
        position: fixed;
        top: 20%;
        right: 0;
        z-index: 10000;
        display: block;
        width: 64px;
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }







/* 商品一覧 */
span.fs-c-productName__name {
    color: #222;
    padding: 10px 0;
}
span.fs-c-productPrice__main__label {
    font-size: 12px;
}
.fs-c-productPrice__addon,
.fs-c-productPrice__main__addon {
    font-size: 12px;
}
.fs-c-productPrice.fs-c-productPrice--member {
    justify-content: end;
}
.fs-c-productPrice--selling .fs-c-productPrice__main__price {
        font-size: 16px !important;
}
.fs-c-productPrice--member .fs-c-productPrice__main__price {
  color: #E25B33 !important;
}




    /* 商品タグ */
    .tag_sale {
        position: relative;
        border: solid 1px #bf0000;
        padding: 6px 6px 5px;
        font-weight: bold;
        margin: 0 4px 4px 0;
        color: #bf0000;
    }

    .tag_boy {
        position: relative;
        border-bottom: solid 1px #29a9da;
        padding: 6px 6px 5px;
        font-weight: bold;
        margin: 0 4px 4px 0;
        color: #29a9da;
        border-radius: 0;
    }

    .tag_girl {
        position: relative;
        border-bottom: solid 1px #ca2f74;
        padding: 6px 6px 5px;
        font-weight: bold;
        margin: 0 4px 4px 0;
        color: #ca2f74;
        border-radius: 0;
    }



    /* トップページ */
    /* トップページ コンテンツ */
  section.br_contents_wrap {
        margin-bottom: 8vw;
  }

    /* Feature */
    .br_contents_inr.feature {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-gap: 10px;
        margin-bottom: 2em;
    }
.feature .br_contents_box {
    text-decoration:none;
}
.feature .br_contents_box_inr {
        border: solid 4px #eee;
        border-top: none;
        padding: 1rem 3rem 1rem 1rem;
        text-decoration: none;
        position: relative;
}
.feature .br_contents_box_inr::after {
    content: "》";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    font-size: 2rem;
    color: #333;
}
.feature .br_contents_box_inr h2 {
    padding: 0;
    margin: 0 0 4px;
    color: #333;
}
.feature .br_contents_box_inr p {
    padding: 0;
    margin: 0;
    color: #333;
}
    .br_contents_txt {
        font-size: 18px;
        text-align: center;
        margin-bottom: 2em;
        color: #333;
    }



    /* Ranking */

    .br_ranking_wrap.fs-c-productListCarousel.fs-c-slick {
        display: block;
    }

    .br_ranking_wrap span.fs-c-productListCarousel__ctrl {
        display: none !important;
    }

    .br_ranking_wrap .fs-c-productListCarousel__list {
        display: block;
    }

    .br_ranking_wrap div.slick-track {
        display: grid !important;
        grid-template-columns: repeat(5, 1fr);
        grid-gap: 16px;
        width: 100% !important;
        transform: none !important;
    }

    .br_ranking_wrap div.slick-track::before {
        content: none !important;
    }

    .br_ranking_wrap .slick-slide {
        position: relative;
    }

    .br_ranking_wrap .slick-slide::before {
        counter-increment: number 1;
        content: counter(number) " ";
        position: absolute;
        left: 0;
        top: 0;
        background: #29a9da;
        z-index: 1;
        padding: 10px 10px 0;
        color: #fff;
        line-height: 1em;
    }

    .br_ranking_wrap .slick-slide::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 0;
        height: 0;
        border: solid 1em #29a9da;
        border-top: solid 2.2em #29a9da;
        border-bottom: solid 1em transparent;
    }

    .br_ranking_wrap .slick-slide:nth-child(n + 11) {
        display: none;
    }

    .br_ranking_wrap article.fs-c-productListCarousel__list__item.fs-c-productListItem {
        min-width: 100%;
        margin: 0;
        position: relative;
        display: grid !important;
    }

    .br_ranking_wrap .fs-c-productMarks {
        grid-row: 2;
    }


    /* Size */

    section.br_contents_wrap.size {
        margin: 0 calc(50% - 50vw) 8vw;
        width:100vw;
    }

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

    .tab5 .tab-content {
        margin: 0;
        text-align: center;
    }

    .tab5 label {
        display: inline-block;
        padding: 9px 0;
        text-align: center;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
        font-size: 20px;
        width: 48%;

        max-width: 580px;
        color: #fff;
    }

    .tab5 label:hover {}

    .tab5-b_inr {
        max-width: 1216px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-gap: 16px 10px;
    }

    a.tab5-b_inr_box {
        background: #fff;
        padding: 16px;
        border-radius: 4px;
        font-weight: bold;
    }

    .tab5-b_inr_box_label_2 {
        grid-column: span 2;
        text-align: left;
        align-content: center;
        position: relative;
        color: #fff;
        font-size: 18px;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-gap: 10px;
        align-items: center;
    }

    .tab5-b_inr_box_label_5 {
        grid-column: span 5;
        text-align: left;
        align-content: center;
        position: relative;
        color: #fff;
        font-size: 18px;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-gap: 14px 10px;
        align-items: center;
    }

    .tab5-b_inr_box_label_2::after,
    .tab5-b_inr_box_label_5::after {
        content: "";
        border-top: dashed 1px #fff;
        width: 100%;
        height: 1px;
    }

    div#tab5-b1 a.tab5-b_inr_box {
        color: #29a9da;
    }

    div#tab5-b2 a.tab5-b_inr_box {
        color: #ca2f74;
    }

    input#tab5-1 + label {
        background: #c8d8e2;
    }

    div#tab5-b1 {
        background: #c8d8e2;
    }

    input#tab5-2 + label {
        background: #ebc8d7;
    }

    div#tab5-b2 {
        background: #ebc8d7;
    }

    .tab5 input:checked + label {}

    .tab5 input {
        display: none;
    }

    .tab5 #tab5-b1,
    .tab5 #tab5-b2 {
        display: none;
        padding: 32px;
    }

    .tab5 #tab5-1:checked ~ #tab5-b1,
    .tab5 #tab5-2:checked ~ #tab5-b2 {
        display: block;
    }








    /* category */

    .br_contents_inr.category.ptn01 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 10px;
        margin-bottom: 10px;
    }

    .br_contents_inr.category.ptn02 {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-gap: 10px;
    }

    a.cate_bnr {
        display: grid;
        grid-template-columns: 63px 1fr;
        align-items: center;
        grid-gap: 10px;
        color: #222;
        font-size: 16px;
        box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
        border-radius: 5px;
        padding: 16px 8px;
        line-height: 1.2em;
        font-weight: bold;
    }




.br_contents_inr.category.ptn01 h3 {
    text-align: center;
    margin: 12px;
}
.br_contents_inr.category.ptn01 ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 4px;
    margin: 0;
    padding: 0;
}
.br_contents_inr.category.ptn01 ul li {
    list-style: none;
    background: #f5f5f5;
    align-content: center;
}
.br_contents_inr.category.ptn01 div {
    box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.2);
    padding: 10px;
    border-radius: 5px;
}
.br_contents_inr.category.ptn01 ul li a {
    display: block;
    background: #f5f5f5;
    text-align: center;
    color: #222;
    padding: 10px;
    margin: 2px;
    font-weight:bold;
}









    /* topics */

    .br_contents_inr.topics {
        display: flex;
        gap: 10px;
    }

    .topics .br_contents_box {
        border: solid 5px #f9eddc;
        border-radius: 5px;
    }

    .topics .br_contents_box_inr {
        padding: 0 16px 16px;
    }


    /* sns */

    section.br_contents_wrap.sns {
        margin: 0;
        padding: 4vw;
    }















    /* フッター */
    .fs-l-footer {
        margin-top: 0;
        border: none;
    }

    .br_footer_contents_wrap {
        background: #2c1c1d;
        padding: 128px 0;
    }

    .br_footer_contents {
        max-width: 1230px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 20px;
        width: fit-content;
    }

h3.footer_contents_ttl {
    color: #fff;
    font-size: 22px;
    letter-spacing: 1px;
    margin: 0;
    padding: 0;
}

    .br_footer_contents .fs-p-sideMenu .fs-pt-menu__heading--lv1 {
        border: none;
        padding: 0;
        margin: 0;
    }

    .br_footer_contents a.fs-pt-menu__link.fs-pt-menu__link--lv1 {
        color: #fff;
        border-bottom: solid 1px #4f3d3f;
        margin: 0 0 12px;
        padding: 12px;
        transition: none;
    }

    .br_footer_contents .fs-p-sideMenu a:hover,
    .br_footer_contents a.fs-pt-menu__link:hover {
        background: #4f3d3f;
        border-radius: 8px;
    }

    .pc_none {
        display: none;
    }


}








@media screen and (min-width: 1200px) {
    .fs-l-sideArea {
        max-width: 300px;
    }
}

