@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Sen:wght@400..800&display=swap');

body {
    background: #f3ebef;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

img {
    vertical-align: top;
}

[type=hidden],
[type=text],
[type=search],
[type=tel],
[type=url],
[type=email],
[type=password],
[type=datetime],
[type=date],
[type=month],
[type=week],
[type=time],
[type=datetime-local],
[type=number],
select,
textarea {
    padding: 10px;
}

a:has(img) {
    transition: 0.4s;
}

a:has(img):hover {
    opacity: 0.6;
}



/* タイトル */
.fs-c-subSection__title, .fs-c-linkedServiceLogin__title {
    border-bottom: 1px solid currentColor;
    color: #222;
    font-size: 1.8rem;
    padding-bottom: 16px;
    margin-bottom: 16px;
}




/* ボタン */
.btn_ptn01 {
    background: linear-gradient(90deg, #cba6b6 0%, #9a68a8 100%);
    font-size: 16px;
    color: #fff !important;
    padding: 10px 60px 10px 20px;
    border-radius: 2em;
    box-shadow: 2px 2px 8px 0px rgba(83, 57, 91, 0.7);
    text-decoration: none;
    position: relative;
    display: block;
    width: fit-content;
    margin: 0 auto;
    border: none;
}

.btn_ptn01::after {
    content: "";
    background: url(https://nagoyabiyo45.itembox.design/item/s06_inr_btn_yaji.png?t=20240416003136);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 1em;
    height: 100%;
    transform: translateY(-50%);
    transition: 0.5s;
}

.btn_ptn01:hover::after {
    right: 2px;
}

.btn_ptn02 {
    background: linear-gradient(90deg, #cba6b6 0%, #9a68a8 100%);
    text-align: center;
    font-size: clamp(14px, 1.4vw, 18px);
    color: #fff;
    padding: 1vw 2vw;
    border-radius: 2em;
    box-shadow: 2px 2px 8px 0px rgba(83, 57, 91, 0.7);
    text-decoration: none;
    border: none;
    cursor: pointer;
}



h2.fs-c-documentArticle__heading {
    background: #c9a6bd;
    font-size: 18px;
    padding: 12px;
}

.fs-c-documentColumn__heading {
    color: #9a68a8;
    border-color: #c9a6bd;
}


/*ログインログアウトの表示切り替えを行うCSS*/
.logout.my-false,
.login.my-true {
    display: none;
}
.fs-clientInfo.is-ready {
    display: grid;
}


.fs-p-drawer__loginLogout__logout,
.fs-p-drawer__loginLogout__login {
    border: none;
    background: none !important;
}


main.fs-l-main {
    //max-width: 1160px;
}



.pc_none {
    display: none;
}



/* ヘッダー */
header.fs-l-header {
    padding: 0 0 16px;
    margin: 0;
    border: none;
}
.o_header_obi {
    text-align: center;
    margin-bottom: 8px;
    background: #fff;
    padding: 4px;
}
.o_header_obi span {
    color: #E25B33;
    font-weight: bold;
    font-size: 1.1em;
    padding-left: 4px;
}
.o_header_contents_inrwrap {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr auto auto auto;
    grid-gap: 20px;
    align-items: center;
    padding: 0 50px 8px;
}

.fs-p-logo__image {
    max-width: 256px;
}

.header_ico_wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 0;
}

.header_ico {
    border: none;
    background: none;
    line-height: initial;
    width: initial;
    height: initial;
    display: flex;
    flex-flow: column;
    gap: 4px;
    border-radius: 10px;
    text-align: center;
    font-size: 16px;
    padding: 0;
    text-decoration: none;
    text-decoration: none !important;
    color: #222 !important;
}

.header_ico img {
    width: 36px;
    margin: 0 auto;
}

.header_ico:hover {
    background: none;
    color: initial;
}

span.header_ico_txt {
    font-size: 12px;
}

.fs-p-cartItemNumber {
    font-size: 11px;
    top: -2px;
}

a.header_tel {
    font-size: clamp(18px, 2.6vw, 26px);
    color: #222;
    font-weight: 300;
    text-decoration: none;
}

.header_tel_text {
    font-weight: bold;
    font-size: 10px;
}

.header_signup_wrap a {
    background: linear-gradient(90deg, #cba6b6 0%, #9a68a8 100%);
    text-align: center;
    font-size: clamp(14px, 1.4vw, 18px);
    color: #fff;
    padding: 1vw 2vw;
    border-radius: 2em;
    box-shadow: 2px 2px 8px 0px rgba(83, 57, 91, 0.7);
    text-decoration: none;
}

span.fs-p-searchForm__inputGroup.fs-p-inputGroup {
    border: none;
    border-radius: 0 2em 2em 0;
    background: #fff;
    width: 320px;
    margin: 0 0 0 auto;
}

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

input.fs-p-searchForm__input.fs-p-inputGroup__input {
    font-size: 16px;
    padding: 6px 12px;
}

button.fs-p-searchForm__button.fs-p-inputGroup__button {
    background: none;
    color: #000;
    height: 40px;
    padding: 0;
    margin: 0;
}

.fs-p-searchForm__button::before {
    top: 50%;
    right: 10px;
    bottom: initial;
    transform: translateY(-50%);
}

.fs-p-drawerButton--open.header_ico {
    display: none;
}





.header_category_list {
    max-width: 1366px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(7, auto);
    grid-gap: 0;
    padding: 0 50px;
    font-size: 16px;
}

.header_category_list a {
    display: flex;
    align-items: center;
    color: #222;
    text-decoration: none;
}

.header_category_list img {
    //width: 2em;
}


/* メガメニュー上書き */
.menu > ul {
    border-top: solid 1px #fff;
}

.menu > ul::before,
.menu > ul::after,
.menu > ul > li > ul::before,
.menu > ul > li > ul::after {
    content: none !important;
}

.menu > ul > li {
    background: none !important;
    float: none !important;
}

.menu > ul > li:hover {
    background: #fff !important;
}

.menu > ul > li a {
    text-align: center;
     !important;
    padding: 8px 0 0 !important;
    justify-content: center !important;
}

.menu > ul > li > ul {
    background: #fff !important;
}

.menu-container {
    background: none !important;
    width: 100% !important;
}

.menu > ul > li > ul.normal-sub {
    width: 100% !important;
    left: 0 !important;
    padding: 10px !important;
}

.menu ul.header_category_list li ul.normal-sub .header_category_list_inr {
    display: flex;
    gap: 10px;
    justify-content: center;
}

.menu ul.header_category_list li ul.normal-sub div.header_category_list_inr > * {
    width: calc(100% / 9);
}

.header_category_list_inr a h3 {
    font-size: 12px;
    text-align: left;
    display: block;
    margin: 10px auto 0;
    width: fit-content;
    color: #222;
}



#fixed-header {
    position: fixed;
    top: -82px;
    width: 100%;
    text-align: center;
    color: #fff;
    background: #f3ebef;
    box-sizing: border-box;
    transition: .5s;
    /* アニメーションタイミング */
    z-index: 3;
}

#fixed-header.is-show {
    top: 0;
}

#fixed-header .o_header_contents_inrwrap {
    padding-bottom: 0;
}










/* パンくず */
nav.fs-c-breadcrumb {
    background: #fff;
    padding: 8px 0;
    font-size:16px;
}

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




/* お気に入りマーク */
article.fs-c-productList__list__item.fs-c-productListItem form {
    position: relative;
}

.fs-c-productListItem__control.fs-c-buttonContainer {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
    margin: 0;
}

.fs-c-button--particular.fs-c-button--addToWishList--icon::before,
.fs-c-button--particular.fs-c-button--removeFromWishList--icon::before {
    background: #f1f1f1;
    height: 36px;
    width: 36px;
    line-height: 36px;
}







/* サブメニュー */
aside.fs-p-drawer.fs-l-sideArea {
    background: #f3ebef;
    margin: 0 0 30px;
}

h2.fs-p-drawer__heading {
    text-align: left;
    border-bottom: solid 4px #9a68a8;
    padding-bottom: 12px;
}

ul.fs-p-sideMenu {
    margin: 0 0 30px;
}
ul.fs-p-sideMenu a:hover {
    background: #9a68a8;
}





/* グループ */
h1.fs-c-heading.fs-c-heading--page.group_title {
    background: linear-gradient(90deg, #cba6b6 0%, #9a68a8 100%);
    border: none;
    font-size: 30px;
    color: #fff;
}

.fs-c-productList__list {
    grid-template-columns: repeat(3, 1fr);
}









/*商品詳細*/

.o_product_detail_original_parts_01 {
    grid-column: 1 / 3;
}

.pds00 {
    margin: 0 calc(50% - 50vw);
    background: url(https://nagoyabiyo45.itembox.design/item/pds00_img01.jpg?t=20240615134442);
    width: 100vw;
    background-size: cover;
    background-position: top;
}

.pds00_inr {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 5vw;
    grid-gap: 5vw;
}

.pds00_inr_box h3 {
    font-family: serif;
    font-size: 46px;
    margin: 0 0 0.4em;
    letter-spacing: 4px;
}

.pds00_inr_box p {
    max-width: 360px;
    text-align: justify;
    line-height: 1.8em;
    font-size: 16px;
}

.pds01 {
    margin: 0 calc(50% - 50vw);
    background: url(https://nagoyabiyo45.itembox.design/item/pds01_img01.jpg?t=20240615134442);
    width: 100vw;
    background-size: cover;
    background-position: center center;
    padding: 5vw;
}

.pds01 .ttl_wrap {
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
    gap: 20px;
}

.pds01 .ttl_wrap h3 {
    color: #fff;
    font-size: 32px;
}

.pds01_inr {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    max-width: 1216px;
    margin: 0 auto 5vw;
    grid-gap: 5vw;
}

.pds01 .ttl_wrap h3 {
    font-family: serif;
    color: #fff;
    font-size: 32px;
}

.pds01 .ttl_wrap img {
    width: 74px;
}

.pds01_inr_box p {
    color: #fff;
    margin: 0 0 0 auto;
    max-width: 360px;
    text-align: justify;
    line-height: 1.8em;
    font-size: 16px;
}



.pds02 {
    margin: 0 calc(50% - 50vw);
    background: url(https://nagoyabiyo45.itembox.design/item/pds02_img01.jpg?t=20240615134442);
    width: 100vw;
    background-size: cover;
    background-position: center center;
    padding: 5vw;
}

.pds02_inr {
    background: rgba(255, 255, 255, 0.8);
    padding: 2.5vw;
    max-width: 911px;
    margin: 0 auto;
}

.pds02 .ttl_wrap {
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
    gap: 20px;
}

.pds02 .ttl_wrap h3 {
    font-family: serif;
    font-size: 32px;
}

.pds02 .ttl_wrap img {
    width: 74px;
}

.pds02 .pds02_inr_box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.pds02 .pds02_inr_box_blc img {
    margin-bottom: 20px;
}

.pds02 .pds02_inr_box_blc p {
    width: 70%;
    margin: 0 auto;
    text-align: justify;
}

.pds02_inr_box_blc p strong {
    color: #d72d5f;
}


.pds03 {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding: 5vw;
    background: #fff;
}

.pds03_inr {
    max-width: 911px;
    margin: 0 auto;
}

.pds03 .ttl_wrap {
    display: flex;
    align-items: center;
    width: fit-content;
    margin: 0 auto;
    gap: 20px;
}

.pds03 .ttl_wrap h3 {
    font-family: serif;
    font-size: 32px;
}

.pds03 .ttl_wrap img {
    width: 74px;
}

.pds04,
.pds05 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    align-items: center;
}

.pds04 .pds04_inr,
.pds05 .pds05_inr {
    padding: 5vw;
    width: 80%;
    margin: 0 0 0 auto;
}

.pds04 .pds04_inr_box img,
.pds05 .pds05_inr_box img {
    width: 74px;
}

.pds04 .pds04_inr_box h3,
.pds05 .pds05_inr_box h3 {
    font-family: serif;
    font-size: 32px;
}

.pds04 .pds04_inr p,
.pds05 .pds05_inr p {
    text-align: justify;
}

.pds05 {
    background: #fff;
    margin-bottom: 5vw;
}

.pds05 .pds05_inr {
    margin: 0 auto 0 0;
}

a.pds05_inr_box_btn {
    display: block;
    width: fit-content;
    background: linear-gradient(90deg, #cba6b6 0%, #9a68a8 100%);
    text-align: center;
    font-size: 16px;
    color: #fff;
    padding: 0.4vw 5vw;
    border-radius: 3em;
    box-shadow: 2px 2px 8px 0px rgba(83, 57, 91, 0.7);
    text-decoration: none;
    position: relative;
    line-height: 1.4em;
}

a.pds05_inr_box_btn span {
    display: block;
}

a.pds05_inr_box_btn::after {
    content: "";
    background: url(https://nagoyabiyo45.itembox.design/item/s06_inr_btn_yaji.png?t=20240416003136);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 1.4em;
    height: 100%;
    transform: translateY(-50%);
}











/* 商品タグ */
.p_tag {
    border: solid 1px #9a68a8;
    border-radius: 2em;
    color: #9a68a8;
    font-weight: bold;
}



/* フッター上 パーツセット */
.footer_parts_set .fs-c-productListCarousel.fs-c-slick {
    max-width: 1216px;
    margin: 0 auto;
}

.footer_parts_set .s03 {
    margin: 0 calc(50% - 50vw) 5vw;
}





/* アニメーション用 */
.fadeInDown {
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1.2s;
    -ms-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
    visibility: visible !important;
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(30px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(30px);
        -ms-transform: translateY(30px);
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}








/* トップに戻る*/

#pageTop {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 100;
}

#pageTop span {
    display: block;
    line-height: 1em;
    padding: 0 0 1em 0;
}

#pageTop i {
    padding-top: 6px
}

#pageTop a {
    display: block;
    z-index: 999;
    border-radius: 30px;
    background: #9a68a8;
    color: #fff;
    text-align: center;
    line-height: 2em;
    width: 3em;
}

#pageTop a:hover {
    text-decoration: none;
    opacity: 1;
}







/* フリーページ */
body#fs_CustomPage .fs-l-page .fs-l-main .fs-l-pageMain .fs-c-heading.fs-c-heading--page.group_title {
    background: none;
    color: #9a68a8;
    font-weight: bold;
    border-bottom: solid;
    margin: 0 0 40px;
    padding: 0 0 40px;
}

body#fs_CustomPage .fs-l-page .fs-l-main .fs-l-pageMain > p {
    width: 88%;
    max-width: 740px;
    margin: 0 auto;
}






/* お買い物ガイド */
.re_password_wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 30px;
}
img.re_password_wrap_step {
    width: 60px;
    display: block;
    margin: 0 auto 20px;
}
p.re_pass_txt {
    font-size: 12px;
}



/* フッター　*/

.o_footer_contents {
    background: #c9a6bd;
    padding: 5em 25px 25px;
}

.o_footer_contents_inr {
    max-width: 1160px;
    width: 100%;
    margin: 0 auto 5vw;
}

.o_footer_contents_box_h2 {
    font-size: 18px;
    color: #fff;
    margin: 0 0 2vw;
    font-weight: bold;
    text-align: center;
}

ul.o_footer_contents_box_ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
    justify-content: center;
}

ul.o_footer_contents_box_ul li a {
    font-size: 16px;
    color: #fff;
}

.o_footer_contents_copyright {
    display: flex;
    gap: 40px;
    justify-content: center;
    color: #fff;
    font-size: 14px;
}

.o_footer_contents_copyright a {
    color: #fff;
}
