
/* -------------------------- */
.fs-l-page {
    margin: 0;
    padding: 0;
}



/* -------------------------- */
header {
    position: fixed;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    background: #F9F9F9E6;
    z-index: 999999;
}

/* -------------------------- */
main {
    position: relative;
    margin: 0 auto;
    padding: var(--header-height) 0 80px 0;
    min-height: calc(100vh - (var(--footer-height)));
}

main.fotl_shoppingGuide ,
main.fotl_logIn {
    max-width: 1232px;
}



/* -------------------------- */
/* fotl content wrap */
.fotlcw {
    margin: 0 auto;
    padding: 0;
    max-width: 1232px;
}
/* full window width ウィンドウ幅いっぱい */
.fotlcw.fww {
    width: 100%;
    max-width: 100%;
}
/*  */
.fotlcw.pdgT2hvh { padding-top: 2.5vh; }
.fotlcw.pdgT5vh { padding-top: 5vh; }
.fotlcw.pdgT7hvh { padding-top: 7.5vh; }
.fotlcw.pdgT10vh { padding-top: 10vh; }


/* 背景ライトグレー With light gray background color */
.fotlcw.wlgbc {
    padding: 5vh 0;
    background: #F9F9F9;
}
@media screen and (max-width: 575px) {
    .fotlcw.wlgbc {
        padding: 7.5vh 0;
    }
}



/* -------------------------- */
/* トップページ スライド */
.fotl-topPageMv {
    position: relative;
    margin: 0 0 0 0;
    padding: 0;
}
.fotl-topPageMv__slide {
    margin: 0;
    padding: 0;
}
.fotl-topPageMv__slide li {
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-topPageMv__slide li img {
    width: 100%;
    /* height: 750px; */
    /* object-fit: cover; */
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-topPageMv__slide li img {
        /* height: 500px; */
    }
}
@media (max-width: 575px) {
    .fotl-topPageMv__slide li img {
        /* display: block; */
        /* height: calc(100vh - var(--header-height)); */
        /* object-fit: cover; */
    }
}
.fotl-topPageMv__slide {
  overflow: hidden;
}
.fotl-topPageMv__slide img {
  width: 100%;
  /* height: auto; */
  animation: none;
}
@keyframes zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
.fotl-topPageMv__slide .is-zooming img {
  animation: zoom 10s linear forwards;
}
@media screen and (max-width: 575px) {
    .fotl-topPageMv__slide .is-zooming img {
      animation: zoom 5s linear forwards;
    }
}


/* コンテンツ タイトル */
.fotl-contentTitle {
    margin: 0 auto 3vh auto;
    padding: 0;
    text-align: center;
    font-size: 2.25rem;
    width: 100%;
    line-height: 1;
}
.fotl-contentTitle.left {
    text-align: left;
}
.fotl-contentTitle.leftPd {
    padding-left: 16px;
}
.fotl-contentTitle__title {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 2.25rem;
    width: 100%;
    font-weight: 200;
    line-height: 1;
}
.fotl-contentTitle__suppl {
    display: inline-block;
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 200;
    line-height: 1;
}

/* コンテンツ タイトル ※フリーパーツ */
.fotl-contentTitleEexc {
    margin: 0 auto 3vh auto;
    padding: 0;
    text-align: center;
    font-size: 2.25rem;
    width: 100%;
    line-height: 1;
}
.fotl-contentTitleEexc.left {
    text-align: left;
}
@media screen and (max-width: 575px) {
    .fotl-contentTitle.leftPd {
        padding-left: 16px;
    }
}
.fotl-contentTitleEexc__title {
}
.fotl-contentTitleEexc__title::before {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 2.25rem;
    width: 100%;
    font-weight: 200;
    line-height: 1;
}
.fotl-contentTitleEexc__suppl {
}
.fotl-contentTitleEexc__suppl::after {
    display: inline-block;
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 200;
    line-height: 1;
}






/* お知らせ notice */
.fotl-notice {
    margin: 0 auto;
    padding: 0 16px;
    max-width: 1232px;
}
.fotl-notice ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 24px 16px;
    margin: 0 auto;
    padding: 0;
}
.fotl-notice ul li {
    margin: 0;
    padding: 0;
    width: calc(50% - 12px);
}
@media screen and (max-width: 575px) {
    .fotl-notice ul li {
        display: flex;
        align-items: flex-start;
        margin: 0;
        padding: 0;
        width: 100%;
    }
}
.fotl-notice ul li a {
    display: flex;
    align-items: flex-start;
    margin: 0;
    padding: 0;
}
.fotl-notice ul li a img {
    display: block;
    margin: 0;
    padding: 0;
    width: 100px;
    border-radius: 6px;
    transition: 0.5s;
}
.fotl-notice ul li a:hover img {
    opacity: .5;
}
@media screen and (max-width: 575px) {
    .fotl-notice ul li a img {
        width: 75px;
    }
}
.fotl-notice__article {
    margin: 0 0 0 16px;
    padding: 0;
    width: calc(100% - 100px);
}
@media screen and (max-width: 575px) {
    .fotl-notice__article {
        width: calc(100% - 75px);
    }
}
.fotl-notice__article .date {
    margin: 0 0 4px 0;
    padding: 0;
    color: var(--col-base-70);
    font-size: 1.2rem;
}
.fotl-notice__article .lead {
    margin: 0 0 4px 0;
    padding: 0;
    font-size: 1.3rem;
    font-weight: 600;
}
.fotl-notice__article .text {
    margin: 0;
    padding: 0;
    font-size: 1.2rem;
}
/* 追加表示 */
.fotl-notice__add > li.none {
	display: none;
}
.fotl-notice__addTrigger {
	display: none;
	margin: 48px auto 0 auto;
	padding: 0;
    width: 175px;
    text-align: center;
}
@media screen and (max-width: 575px) {
    .fotl-notice__addTrigger {
        margin: 24px auto 0 auto;
    }
}
.fotl-notice__addTrigger button {
    display: flex;
    align-items: center;
	margin: 0 auto;
	padding: 0;
    color: #000000;
    text-align: center;
    font-size: 1.75rem;
}
.fotl-notice__addTrigger button::after {
    content: "\e145";
    font-family: "Material Symbols Outlined";
    margin: 0;
    color: var(--col-green-80);
    font-size: 5rem;
}



/* バナー wrap (リンク元)  -------------------------- */
.fotl-versList {
    margin: 0;
    padding: 0 16px;
}
@media screen and (max-width: 575px) {
    .fotl-versList {
        padding: 0 0;
    }
}
.fotl-versList ul {
    display: flex;
    flex-wrap: wrap;
    gap: 32px 16px;
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 575px) {
    .fotl-versList ul {
        gap: 32px 0;
    }
}
.fotl-versList ul li {
    margin: 0;
    padding: 0;
    width: calc((100% / 4) - 12px);
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-versList ul li {
        width: calc((100% / 3) - 12px);
    }
}
@media screen and (max-width: 575px) {
    .fotl-versList ul li {
        width: calc(100% / 2);
    }
}
.fotl-versList ul li a {
}
.fotl-versList ul li a img {
    margin: 0 0 8px 0;
    padding: 0;
    border-radius: 8px;
    transition: 0.5s;
}
@media screen and (max-width: 575px) {
    .fotl-versList ul li a img {
        border-radius: 0;
    }
}
.fotl-versList ul li a:hover img {
    transition: 0.5s;
    opacity: .5;
}
.fotl-versList__lead {
    margin: 0 0 4px 0;
    padding: 0;
    font-weight: 600;
}
.fotl-versList__text {
    margin: 0;
    padding: 0;
    font-size: 1.3rem;
}
@media screen and (max-width: 575px) {
    .fotl-versList__lead ,
    .fotl-versList__text {
        padding: 0 12px;
    }
}
/* 追加表示 */
.fotl-versList__add > li.none {
	display: none;
}
.fotl-versList__addTrigger {
	display: none;
	margin: 48px auto 0 auto;
	padding: 0;
    width: 100%;
    width: 175px;
    text-align: center;
}
@media screen and (max-width: 575px) {
    .fotl-versList__addTrigger {
        margin: 24px auto 0 auto;
    }
}
.fotl-versList__addTrigger button {
    display: flex;
    align-items: center;
	margin: 0 auto;
	padding: 0;
    color: #000000;
    text-align: center;
    font-size: 1.75rem;
}
.fotl-versList__addTrigger button::after {
    content: "\e145";
    font-family: "Material Symbols Outlined";
    margin: 0;
    color: var(--col-green-80);
    font-size: 5rem;
}

/* NEW「VIEW MORE」ボタン */
.fotl-BtnBelowTheList {
    display: inline-block;
    margin: 64px auto 0 auto!important;
    padding: 0;
    max-width: 240px;
}



/* 新着商品 ※トップ -------------------------- */
.fotl-newList{
}
.fotl-newList .fotl-contentTitleEexc {
    padding-left: 16px;
}
.fotl-newList .fotl-contentTitleEexc__title::before {
    content: 'NEW ARRIVAL';
}
.fotl-newList .fotl-contentTitleEexc__suppl::after {
    content: '新着商品';
}
.fotl-newList .fs-c-productList__list {
    display: flex;
    flex-wrap: wrap;
    margin: 56px auto 0 auto;
    padding: 0 16px;
    gap: 72px 48px;
    max-width: 1232px;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-newList .fs-c-productList__list {
        padding: 0 24px;
        gap: 64px 40px;
    }
}
@media screen and (max-width: 575px) {
    .fotl-newList .fs-c-productList__list {
        margin: 24px auto 0 auto;
        gap: 32px 16px;
    }
}
.fotl-newList .fs-c-productList__list article {
    position: relative;
    margin: 0;
    padding: 0;
    width: calc((100% / 4) - 36px);
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-newList .fs-c-productList__list article {
        width: calc((100% / 3) - 26.66666667px);
    }
}
@media screen and (max-width: 575px) {
    .fotl-newList .fs-c-productList__list article {
        width: calc((100% / 2) - 8px);
    }
}

/* おすすめ一覧 ※トップ -------------------------- */
.fotl-recoList{
}
.fotl-recoList .fotl-contentTitleEexc {
    padding-left: 16px;
}
.fotl-recoList .fotl-contentTitleEexc__title::before {
    content: 'RECOMMEND';
}
.fotl-recoList .fotl-contentTitleEexc__suppl::after {
    content: 'オススメ商品';
}
.fotl-recoList .fs-c-productList__list {
    display: flex;
    flex-wrap: wrap;
    margin: 56px auto 0 auto;
    padding: 0 16px;
    gap: 72px 48px;
    max-width: 1232px;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-recoList .fs-c-productList__list {
        padding: 0 24px;
        gap: 64px 40px;
    }
}
@media screen and (max-width: 575px) {
    .fotl-recoList .fs-c-productList__list {
        margin: 24px auto 0 auto;
        gap: 32px 16px;
    }
}
.fotl-recoList .fs-c-productList__list article {
    position: relative;
    margin: 0;
    padding: 0;
    width: calc((100% / 4) - 36px);
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-recoList .fs-c-productList__list article {
        width: calc((100% / 3) - 26.66666667px);
    }
}
@media screen and (max-width: 575px) {
    .fotl-recoList .fs-c-productList__list article {
        width: calc((100% / 2) - 8px);
    }
}

/* おすすめ一覧Swp ※各商品ページ -------------------------- */
.fotl-recoListSwp {
    position: relative;
    margin: 0 0 0 0!important;
    padding-top: 7.5vh!important;
    overflow: hidden;
}
@media screen and (max-width: 991px) {
    .fotl-recoListSwp {
        margin-top: 64px;
        margin-left: calc( ( 100% - 100vw ) / 2 )!important;
        margin-right: calc( ( 100% - 100vw ) / 2 )!important;
        padding: 5.5vh 0 0 16px!important;
    }
}
.fotl-recoListSwp .fotl-contentTitleEexc {
    padding-left: 0;
}
.fotl-recoListSwp .fotl-contentTitleEexc__title::before {
    content: 'RECOMMEND';
}
.fotl-recoListSwp .fotl-contentTitleEexc__suppl::after {
    content: 'オススメ商品';
}

.fotl-recoListSwp {
    max-width: 1232px;
    overflow: hidden;
}
.fotl-recoList__inner {
}
.fotl-recoList__inner * {
    font-size: 1.1rem!important;
}
.fotl-recoList__inner .fotl-product-favoriteEntry-btn ,
.fotl-recoList__inner .fs-c-productPrice__addon {
    display: none;
}

/* 観覧履歴Swp ※トップ、各商品ページ、カート -------------------------- */
.fotl-historySwp {
    position: relative;
    margin: 56px auto 0 auto;
    padding: 0!important;
    overflow: hidden;
}
@media screen and (max-width: 991px) {
    .fotl-historySwp {
        margin-left: calc( ( 100% - 100vw ) / 2 );
        margin-right: calc( ( 100% - 100vw ) / 2 );
    }
    .fotl-historySwp__r2 {
        padding: 0 0 0 16px!important;
    }
}
    .fs-body-top .fotl-historySwp {
        margin: 10vh auto 0 auto;
    }

.fotl-historySwp .fotl-contentTitleEexc {
    padding-left: 0;
}
@media screen and (max-width: 991px) {
    .fotl-historySwp .fotl-contentTitleEexc {
        padding-left: 16px;
    }
}
.fotl-historySwp .fotl-contentTitleEexc__title::before {
    content: 'VIEW HISTORY';
}
.fotl-historySwp .fotl-contentTitleEexc__suppl::after {
    content: '最近チェックした商品';
}

/* カート内のシステム「お気に入りパーツ*」※Swp・カート -------------------------- */
.fotl-wishlistSys {
    position: relative;
    margin: 56px 0 0 0;
    padding: 0;
    overflow: hidden;
}
@media screen and (max-width: 991px) {
    .fotl-wishlistSys {
        margin-left: calc( ( 100% - 100vw ) / 2 );
        margin-right: calc( ( 100% - 100vw ) / 2 );
        padding: 0 0 0 16px;
    }
}
.fotl-wishlistSys .fotl-contentTitleEexc {
    padding-left: 0;
}
.fotl-wishlistSys .fotl-contentTitleEexc__title::before {
    content: 'WISH LIST';
}
.fotl-wishlistSys .fotl-contentTitleEexc__suppl::after {
    content: 'お気に入りに入れてる商品';
}

.fotl-wishlistSys * {
    font-size: 1.1rem!important;
}
.fotl-wishlistSys .fs-c-productListItem__control ,
.fotl-wishlistSys .fs-c-productPrice__addon__label {
    display: none;
}


/* カート内のシステム「おすすめ商品パーツ」 非表示にしてる */
.fotl-sysRecoList-hidden {
    display: none;
}


/* 商品ページ内　※関連商品※おすすめ商品パーツ */
.fotl-sysRecoList-pctab ,
.fotl-sysRecoList-sp {
    margin: 0 0 0 0;
    padding: 0;
    width: 100%;
}
@media screen and (max-width: 575px) {
    .fotl-sysRecoList-pctab {
        display: none;
    }
}
@media screen and (min-width: 575px) {
    .fotl-sysRecoList-sp {
        display: none;
    }
}
.fotl-sysRecoList {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 5vh 0 0 0;
    padding: 0;
    width: 100%;
}
@media screen and (max-width: 575px) {
    .fotl-sysRecoList {
        margin: 7.5vh 0 0 0;
    }
}
.fotl-sysRecoList .fs-c-featuredProduct__header {
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-sysRecoList .fs-c-featuredProduct__header h2 {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 2.25rem;
    width: 100%;
    font-weight: 200;
    line-height: 1;
}
.fotl-sysRecoList .fs-c-featuredProduct__header h2::after {
    display: block;
    content: '関連商品';
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 200;
    line-height: 1;
}
.fotl-sysRecoList .fs-c-productListItem {
    margin: 0;
    padding: 0;
    width: calc((100% / 3) - 12px);
}
.fotl-sysRecoList .fs-c-productListItem * {
    font-size: 1.1rem!important;
}












/* ログイン ※PAGE -------------------------- */
.fotl-logIn {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    padding: 0 16px;
    max-width: 1000px;
}
.fotl-logIn .fs-c-registeredUsers__title { /*「ログイン」デフォタイトルを非表示 */
    display: none;
}


/* 各エリア div */
.fotl-logIn .fs-c-fsLogin,
.fotl-logIn .fs-c-newUsers,
.fotl-logIn .fs-c-otherServiceLogin ,
.fotl-logIn .fs-c-guestPurchase {
    position: relative;
    margin: 0;
    padding: 24px;
    width: calc((100% / 2) - 12px);
    background: #F9F9F9;
    border-radius: 16px;
}
@media screen and (max-width: 575px) {
    .fotl-logIn .fs-c-fsLogin,
    .fotl-logIn .fs-c-newUsers,
    .fotl-logIn .fs-c-otherServiceLogin ,
    .fotl-logIn .fs-c-guestPurchase {
        padding: 16px;
        width: 100%;
    }
}





/* ログイン（child） タイトル */
.fotl-logIn .fs-c-fsLogin::before {
    content: 'ログイン';
    display: block;
    position: relative;
    font-size: 2.25rem;
    font-weight: 200;
    line-height: 1;
}
@media screen and (max-width: 575px) {
    .fotl-logIn .fs-c-fsLogin::before {
        font-size: 2rem;
    }
}
/* ログイン エリア*/
.fotl-logIn .fs-c-fsLogin .fs-c-inputTable {
    margin: 32px 0 0 0;
    padding: 0;
    width: 100%;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputTable tr {
    margin: 0;
    padding: 0;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputTable th {
    display: block;
    margin: 0 0 8px 0;
    padding: 0 0 0 0;
    width: 100%;
    text-align: left;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputTable th label {
    font-weight: 500;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputTable td {
    display: block;
    margin: 0 0 16px 0;
    padding: 0 0 0 0;
    width: 100%;
    text-align: left;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputTable input {
    margin: 0;
    padding: 12px;
    border-radius: 8px;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputGroup {
    border: 0;
    background: transparent;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputInformation__button {
    margin: 24px auto 0 auto;
    max-width: 320px;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputInformation__link {
    margin: 24px 0 0 0;
    text-align: center;
}
.fotl-logIn .fs-c-fsLogin .fs-c-inputInformation__link a {
    color: var(--col-blue-50);
}

/* ログインせずに購入表示 タイトル */
.fotl-logIn .fs-c-guestPurchase::before {
    content: 'ログインせずに購入';
    display: block;
    position: relative;
    font-size: 2.25rem;
    font-weight: 200;
    line-height: 1;
}
@media screen and (max-width: 575px) {
    .fotl-logIn .fs-c-guestPurchase::before {
        font-size: 2rem;
    }
}
/* 非会員エリア・他社サービスログインエリア タイトル */
.fotl-logIn .fs-c-newUsers__title ,
.fotl-logIn .fs-c-linkedServiceLogin__title {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 2rem;
    width: 100%;
    font-weight: 200;
    line-height: 1;
}
@media screen and (max-width: 575px) {
    .fotl-logIn .fs-c-newUsers__title ,
    .fotl-logIn .fs-c-linkedServiceLogin__title {
        font-size: 1.75rem;
    }
}
/* futureshop非会員エリア */
.fotl-logIn .fs-c-newUsers .fs-c-newUsers__message {
    margin: 32px 0 0 0;
    line-height: 1.75;
}
.fotl-logIn .fs-c-newUsers .fs-c-buttonContainer {
    margin: 24px auto 0 auto;
    max-width: 320px;
}
.fotl-logIn .fs-c-newUsers .fs-p-announcement {
    margin: 32px 0 0 0;
    padding: 16px;
    background: #F9F9F9;
    border-radius: 16px;
}
.fotl-logIn .fs-c-newUsers .fs-p-announcement .fs-p-announcement__title {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 1.75rem;
    font-weight: 200;
}
.fotl-logIn .fs-c-newUsers .fs-p-announcement .fs-p-announcement__lead {
    display: block;
    margin: 8px 0 0 0;
    padding: 0;
    font-weight: 600;
    font-size: 1.4rem;
}
.fotl-logIn .fs-c-newUsers .fs-p-announcement .fs-p-announcement__text {
    display: block;
    margin: 8px 0 0 0;
    padding: 0 0 0 0;
    line-height: 2;
    font-size: 1.3rem;
}
/* 他社サービスログインエリア */
.fotl-logIn .fs-c-otherServiceLogin .fs-c-linkedServiceLogin__body {
    margin: 32px 0 0 0;
    line-height: 1.75;
}
.fotl-logIn .fs-c-otherServiceLogin .fs-c-anotherLogin__button {
    margin: 24px auto 0 auto;
    max-width: 320px;
}
/* ログインせずに購入表示 */
.fotl-logIn .fs-c-guestPurchase .fs-c-buttonContainer {
    margin: 40px 0 0 0;
    line-height: 1.75;
}
.fotl-logIn .fs-c-guestPurchase .fs-c-button--guestPurchase {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 24px auto 0 auto;
    padding: 0 16px;
    max-width: 320px;
    height: 52px;
    width: 100%;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.4rem;
    letter-spacing: .1em;
    background: #000000;
    border-radius: 50px;
}
.fotl-logIn .fs-c-guestPurchase .fs-c-button--guestPurchase:hover {
    background: #00000080;
}

















/* アラート エラー表示 */
.fs-c-panel--error {
    all: unset;
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 8px 0;
    padding: 0;
    color: var(--col-red-50);
    font-size: 1.5rem;
    border: 0!important;
}
.fs-c-panel--error::before {
    all: unset;
    content: "\e001";
    font-family: "Material Icons"!important;
    font-size: 2.5rem;
    margin-right: 4px;
    position: static!important;
    top: auto!important;
    left: auto!important;
    animation: blinking .75s ease-in-out infinite alternate;
}
@keyframes blinking {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* アラート お知らせ表示 */
.fs-c-panel--info {
    all: unset;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    color: var(--col-blue-50);
    font-size: 1.5rem;
    border: 0!important;
}
.fs-c-panel--info::before {
    all: unset;
    content: "\e001";
    font-family: "Material Icons"!important;
    font-size: 2.5rem;
    margin-right: 4px;
    position: static!important;
    top: auto!important;
    left: auto!important;
}




/* ページが見つかりません本文 ※PAGE -------------------------- */
.fotl-error {
    position: relative;
    margin: 0 auto -88px auto;
    padding: 0 16px;
    height: calc(100vh - (var(--footer-height) + 88px)); 
}
.fotl-error .fs-c-panelContainer {
    margin: 0!important;
}
.fotl-error .fs-p-pageNotFound {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateY(-40%) translateX(-50%);
    width: 100%;
}
.fotl-error .fs-p-pageNotFound__title {
    margin: 0;
    padding: 0;
    color: var(--col-base-50);
    text-align: center;
    line-height: 1;
    font-size: 2.5rem;
    font-weight: 400;
    letter-spacing: .2em;
}
.fotl-error .fs-p-pageNotFound__title span {
    display: block;
    margin: 0 0 24px 0;
    padding: 0;
    text-align: center;
    font-size: 10rem;
    font-weight: 100;
}
.fotl-error .fs-p-pageNotFound__body p {
    margin: 40px 0 0 0;
    padding: 0;
    text-align: center;
    line-height: 2;
    font-size: 1.3rem;
}
@media screen and (max-width: 575px) {
    .fotl-error .fs-p-pageNotFound__title {
        font-size: 2rem;
    }
    .fotl-error .fs-p-pageNotFound__title span {
        font-size: 7.5rem;
    }
}












/* ショッピングカート ※PAGE -------------------------- */
.fotl-cart {
    position: relative;
    padding: 0;
}
@media screen and (max-width: 1232px) {
    .fotl-cart {
        padding: 0 16px;
    }
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-cart {
        padding: 0 12px;
    }
}

.fs-l-cart__contentsArea {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0 24px;
}

@media screen and (min-width: 576px) and (max-width: 991px) {
    .fs-l-cart__contentsArea {
        gap: 0 12px;
    }
}
@media screen and (max-width: 575px) {
    .fs-l-cart__contentsArea {
        gap: 0;
    }
}

.fs-l-cart__mainColumn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 0;
    width: calc(100% - 362px);
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fs-l-cart__mainColumn {
        width: calc((100% - 250px) - 8px);
    }
}
@media screen and (max-width: 575px) {
    .fs-l-cart__mainColumn {
        width: 100%;
    }
}






/* 購入商品リスト（テーブル） */
.fs-c-cartTableContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 0 0;
    padding: 0;
    width: 100%;
}
    .fs-c-bundlePreview__item__title {
        margin: 0 0 16px 0;
        padding: 0 0 0 8px;
        font-size: 1.4rem;
        border-left: solid 4px #000000;
    }

.fs-c-cartTable {
    margin: 0 0 0 0;
    padding: 0;
    width: 100%;
}
.fs-c-cartTable tr {
    border-bottom: solid 1px #EEEEEE;
}
.fs-c-cartTable tr:first-child {
    border-top: solid 1px #EEEEEE;
}
.fs-c-cartTable th {
    margin: 0;
    padding: 16px 12px;
    line-height: 1.2;
    font-weight: 200;
    white-space: nowrap!important;
    border: 0;
}
.fs-c-cartTable th:first-child {
    text-align: left;
}
.fs-c-cartTable td {
    margin: 0;
    padding: 16px 12px;
    width: 1%;
    line-height: 1.5;
    text-align: center;
    border: 0;
}
.fs-c-cartTable td:first-child {
    padding-left: 0;
    width: auto;
    text-align: left;
}
.fs-c-cartTable td .fs-c-cartTable__unitPrice .fs-c-productPrice__addon__label {
    margin-left: 2px;
    font-size: 1rem;
}
.fs-c-cartTable td .fs-c-cartTable__price .fs-c-price__value {
    font-size: 1.5rem;
    font-weight: 600;
}
@media screen and (max-width: 991px) {
    .fs-c-cartTable tbody {
        table-layout: fixed!important;
    }
   .fs-c-cartTable  tr {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-between;
        margin: 0;
        padding: 0;
        width: 100%;
    }
   .fs-c-cartTable__row:first-child {
        border-top: solid 1px #EEEEEE!important;
    }
    .fs-c-cartTable td {
        margin: 0;
        padding: 12px 12px;
        width: auto;
        text-align: center;
        border-top: 0;
    }
    .fs-c-cartTable td:first-child {
        margin: 0;
        padding: 12px 0 0 0;
        width: 100%;
        font-size: 1.4rem;
        font-weight: 500;
        border: 0;
    }
    .fs-c-cartTable td.fs-c-cartTable__dataCell--quantity {
        width: auto;
    }
   .fs-c-cartTable td .fs-c-price {
        display: flex;
        justify-content: center;
    }
    .fs-c-cartTable td::before {
        display: block;
        margin: 0 0 8px 0!important;
        min-width: auto;
        font-size: 1.2rem;
        font-weight: 200;
    }
}
.fs-c-cartTable__productImage {
    min-width: 75px;
    max-width: 75px;
    padding-right: 0!important;
}
.fs-c-cartTable__productInfo {
    padding-left: 8px!important;
}
.fs-c-listedProductName__name {
    word-break: break-all;
}
.fs-c-listedProductName__variation {
    margin: 2px 0 4px 0;
    font-size: 1.25rem;
}
.fs-c-listedProductName__variation::before ,
.fs-c-listedProductName__variation::after {
    content: "";
}
.fs-c-cartTable__dataCell .fs-c-quantity__select {
    margin: 0 auto!important;
    padding: 8px!important;
    width: auto;
    min-width: 2em!important;
    color: var(--col-base-20);
    text-align: center;
    text-align-last: center;
    border-radius: 4px;
    cursor: pointer;
}
@media screen and (max-width: 575px) {
    .fs-c-cartTable__dataCell .fs-c-cartTable__quantity {
        margin: 0 auto;
    }
}
.fs-c-cartTable__dataCell option:last-child {
    display: none;
}
.fs-c-cartTable__dataCell .fs-c-cartTable__actionButton {
    display: flex;
    flex-direction: column;
}
.fotl-cart .fs-c-cartTable__actionButton .fs-c-cartTable__actionButton__container--cancel--cart {
    order: 2;
}
.fotl-cart .fs-c-cartTable__actionButton .fs-c-cartTable__actionButton__container--buyItLater {
    order: 1;
}
.fotl-cart .fs-c-button--cancel--cart {
    display: flex;
    align-items: center;
}
.fotl-cart .fs-c-button--buyItLater {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}
.fotl-cart .fs-c-button--cancel--cart::before {
    display: inline-block;
    margin-left: -2px;
    margin-right: 3px;
    width: 24px;
    content: "\e92b";
    font-family: "Material Icons";
    font-size: 2.75rem;
    color: var(--col-base-70);
    line-height: 1;
}
.fotl-cart .fs-c-button--buyItLater::before {
    display: inline-block;
    width: 24px;
    content: "\e87d";
    font-family: "Material Icons";
    font-size: 2.25rem;
    color: var(--col-base-70);
    line-height: 1;
}
.fotl-cart .fs-c-button--cancel--cart:hover::before ,
.fotl-cart .fs-c-button--buyItLater:hover::before {
    color: var(--col-base-10);
}
.fotl-cart .fs-c-button--buyItLater span ,
.fotl-cart .fs-c-button--cancel--cart span {
    font-size: 1.1rem;
    white-space: nowrap
}

    .fs-c-bundlePreview__item__total {/*バンドル合計*/
        margin: 0 0 16px 0;
        padding: 0 0 16px 0;
    }
    .fs-c-bundlePreview__item__total .fs-c-bundlePrice {
        padding-right: 12px;
        gap: 12px 16px;
    }
    .fs-c-bundlePreview__item__total .fs-c-bundlePrice__label {
        font-size: 1.3rem;
        font-weight: 200;
    }
    .fs-c-bundlePreview__item__total .fs-c-bundlePrice__price--discount {
        color: var(--col-red-50);
        font-weight: 600;
    }
    .fs-c-bundlePreview__item__total .fs-c-bundlePrice__price--price {
        font-size: 1.4rem!important;
        font-weight: 600;
    }







/* セット購入でお得に・・・ */
.fs-c-cartBundleInfo {
    margin: 0;
    padding: 16px;
    width: calc(50% - 8px);
    background: #F9F9F9;
    border-radius: 8px;
}
@media screen and (max-width: 991px) {
    .fs-c-cartBundleInfo {
        width: 100%;
    }
}
.fs-c-cartBundleInfo__title {
    font-size: 1.3rem;
}
.fs-c-cartBundleInfo__list {
    margin: 8px 0 0 0;
}
.fs-c-cartBundleInfo__list a {
    color: var(--col-blue-50);
    font-size: 1.5rem;
    font-weight: 500;
}
.fs-c-cartBundleInfo button {
    margin: 8px 0 0 auto;
    width: 125px;
}

/* ------ */
.fs-c-cartDiscountInfo {
    margin: 0;
    padding: 16px;
    width: calc(50% - 8px);
    background: #F9F9F9;
    border-radius: 8px;
}
@media screen and (max-width: 991px) {
    .fs-c-cartDiscountInfo {
        width: 100%;
    }
}
.fs-c-cartDiscountInfo__body {
    font-size: 1.3rem;
}
.fs-c-cartDiscountInfo__title {
    margin: 0 0 0 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 600;
}
.fs-c-cartDiscountInfo__info {
    margin: 4px 0 0 0;
    padding: 0;
}
.fs-c-cartDiscountInfo__info__current {
    color: var(--col-red-50);
    font-size: 1.5rem;
    font-weight: 600;
}
.fs-c-cartDiscountInfo__info__next {
    color: var(--col-red-50);
    font-size: 1.5rem;
    font-weight: 600;
}
.fs-c-cartDiscountInfo__more {
    margin: 0;
    padding: 0;
    color: var(--col-red-50);
    font-size: 1.5rem;
    font-weight: 600;
}
.fs-c-cartDiscountInfo__note {
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 1.2rem;
}



/* 必須マーク */
.fs-c-requiredMark {
    all: unset;
    font-size: 0;
}
.fs-c-requiredMark::before {
    content: "※";
    display: inline-block!important;
    color: var(--col-red-50);
    font-size: 1.4rem!important;
}

/*　input補足 */
.fs-c-inputField__explanation {
    margin: 4px 0 0 0;
    padding: 0;
    font-size: 1.3rem;
}
/*　inputエラーテキスト */
.fs-c-assist.is-error {
    margin: 4px 0 0 0;
    padding: 0;
    font-size: 1.3rem;
}



/* 総合計エリア ------- */
.fs-c-totalAndActions {
    position: sticky;
    top: calc(var(--header-height) + 32px);
    margin: 0;
    padding: 16px;
    width: calc(350px - 12px);
    border-radius: 16px;
    background: #F9F9F9;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fs-c-totalAndActions {
        width: calc(250px - 8px);
    }
}
@media screen and (max-width: 575px) {
    .fs-c-totalAndActions {
        position: static;
        top: auto;
        padding: 16px;
        margin: 16px 0 0 0;
        width: 100%;
    }
}


/* 合計金額表示エリア */
.fs-c-totalAndActions table {
    margin: 0;
    padding: 0;
    width: 100%;
    background: #FFFFFF;
    border-radius: 8px;
}
.fs-c-totalAndActions th {
    margin: 0;
    padding: 16px 12px;
    text-align: left!important;
    font-size: 1.3rem;
    border: 0!important;
    border-bottom: solid 1px #EEEEEE!important;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fs-c-totalAndActions th {
        font-size: 1.1rem;
    }
}
.fs-c-totalAndActions tr:last-child th {
    color: var(--col-green-70);
    border-bottom: 0!important;
}

.fs-c-totalAndActions tr.fs-c-orderTotalTable__grandTotal th {
    font-size: 1.5rem!important;
}
.fs-c-totalAndActions td {
    margin: 0;
    padding: 16px 12px;
    font-size: 1.6rem;
    border: 0!important;
    border-bottom: solid 1px #EEEEEE!important;
}
.fs-c-totalAndActions tr:last-child td {
    color: var(--col-green-70);
    border-bottom: 0!important;
}
.fs-c-totalAndActions tr.fs-c-orderTotalTable__grandTotal td {
    font-size: 1.75rem!important;
}
.fs-c-purchaseHere__message {
    margin: 16px 0 0 0;
}
.fs-c-cartPayment__button {
    margin: 16px 0 0 0;
}

/* Amazon購入エリア */
.fs-c-payWithAmazon__message {
    margin: 16px 0 8px 0;
    padding: 16px 0 0 0;
    border-top: solid 1px var(--col-base-90);
}
.fs-c-payWithAmazon__message p {
    margin: 0;
    line-height: 1.5;
    font-size: 1.2rem;
}
.fs-c-payWithAmazon__button {
    width: 100%!important;
    border-radius: 50px!important;
}

/* ショッピングを続ける */
.fs-c-continueShopping {
    margin: 32px 0 0 0;
}
.fs-c-continueShopping a {
    color: var(--col-blue-50);
    margin: 0 auto;
}
@media screen and (max-width: 575px) {
    .fs-c-continueShopping {
        margin: 32px auto 0 auto;
    }
}

/* ショッピングを続ける・注文を確定する ボタン */
.fs-c-confirmOrder {
    margin: 16px auto 0 auto;
    max-width: 350px;
}


/* チェックアウト内 合計金額表示エリア */
.fotl-checkoutPayment .fs-c-totalAndActions {
    width: 100%;
    background: #FFFFFF;
}
.fotl-checkoutPayment .fs-c-totalAndActions th {
    padding: 16px 16px;
}
.fotl-checkoutPayment .fs-c-totalAndActions td {
    padding: 16px 16px;
}
.fotl-checkoutPayment .fs-c-orderTotalTable {
    background: #F9F9F9;
}












/* お客様情報入力 -------------------------- */
.fotl-customerInput {
    position: relative;
    padding: 0 16px;
    max-width: 880px;
}
.fotl-customerInput form {
    margin: 0;
    padding: 32px;
    width: 100%;
    border-radius: 16px;
    background: #F9F9F9;
}
@media screen and (max-width: 575px) {
    .fotl-customerInput form {
        padding: 24px 16px;
    }
}
.fotl-customerInput .fs-c-inputInformation__field {
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-customerInput fieldset {
    margin: 0 0 16px 0;
    padding: 0 0 0 0;
    width: 100%;
    border-bottom: solid 1px #DDDDDD;
}
.fotl-customerInput fieldset:last-child {
    border-bottom: 0;
}

@media screen and (max-width: 575px) {
    .fotl-customerInput .fs-c-radioGroup {
        all: unset;
        display: flex;
    }
    .fotl-customerInput .fs-c-radioGroup > * {
        all: unset;
        margin-right: 16px;
    }
}

.fotl-customerInput .fs-c-inputDate__year {
    width: 100px!important;
}
.fotl-customerInput .fs-c-inputDate__month ,
.fotl-customerInput .fs-c-inputDate__date {
    width: 85px!important;
}
@media screen and (max-width: 575px) {
    .fotl-customerInput .fs-c-inputDate__year {
        width: 85px!important;
}
    .fotl-customerInput .fs-c-inputDate__month ,
    .fotl-customerInput .fs-c-inputDate__date {
        width: 85px!important;
    }
}
.fotl-customerInput .fs-c-agreementConfirmationArea {
    margin: 0 0 0 0;
}
.fotl-customerInput .fs-c-agreementConfirmationArea__message {
    margin: 0 0 16px 0;
    padding: 0 0 0 0;
    font-size: 1.6rem;
    font-weight: 600;
}
.fotl-customerInput .fs-c-agreementConfirmation {
    margin: 0 0 16px 0;
    padding: 0 0 0 0;
    border-bottom: solid 1px #DDDDDD;
}
.fotl-customerInput .fs-c-agreementConfirmation:last-child {
    margin: 0 0 0 0;
    border-bottom: 0;
}
.fotl-customerInput .fs-c-agreementConfirmation > div ,
.fotl-customerInput .fs-c-agreementConfirmation > span {
    margin: 0 0 16px 0;
    padding: 0 0 0 0;
}

.fotl-customerInput .fs-c-agreementConfirmation__message{
    padding: 0 0 0 6px!important;
    border-left: solid 4px #000000;
}
.fotl-customerInput .fs-c-agreementConfirmation__message--registrationUnchecked {
    margin: 0;
    padding: 12px!important;
    line-height: 1.75;
    font-weight: 600;
    background: #FFFFFF;
    border-radius: 8px;
    border-left: 0;
}
.fotl-customerInput .fs-c-agreementConfirmation__message--registrationUnchecked ul {
    margin: 0;
    font-weight: 400;
}
.fotl-customerInput .fs-c-agreementConfirmation__message--registrationUnchecked ul li::before {
    position: relative;
    top: 2px;
    content: "\e817";
    margin-right: 4px;
    color: var(--col-green-50);
    font-family: "Material Icons";
    font-size: 1.6rem;
}
.fotl-customerInput .fs-c-agreementConfirmation__addon {
    margin: 0 0 0 32px;
}
.fotl-customerInput .fs-c-privacyPolicyAgreeField {
    margin: 24px 0 24px 0;
    text-align: center;
}

.fotl-customerInput .fs-c-inputInformation__button {
    margin: 0 auto;
    width: 300px;
}

.fotl-customerInput .fs-c-agreementConfirmation__addon__message {
    margin: 0 0 8px 0;
    color: var(--col-red-50);
    font-size: 1.5rem;
    font-weight: 600;
}
.fotl-customerInput .fs-c-agreementConfirmation__password__input {
    max-width: 350px;
    background: transparent;
    border: 0;
}













/* ご注文手続きエリア -------------------------- */
.fotl-checkoutPayment {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
    max-width: 880px;
}

/* ------ */
.fotl-checkoutPayment .fs-l-checkout__mainColumn {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 24px 24px;
}
.fotl-checkoutPayment .fs-l-checkout__mainColumn > div {
    padding: 0 0 24px 0;
    width: calc(50% - 12px);
    border-bottom: solid 1px #CCCCCC;
}
.fotl-checkoutPayment .fs-l-checkout__mainColumn > div:first-of-type ,
.fotl-checkoutPayment .fs-l-checkout__mainColumn > div:nth-of-type(2) {
    padding-top: 24px;
    border-top: solid 1px #CCCCCC;
}
.fotl-checkoutPayment .fs-l-checkout__mainColumn > div:nth-last-of-type(-n+3) ,
.fotl-checkoutPayment .fs-l-checkout__mainColumn > div:nth-last-of-type(-n+2) ,
.fotl-checkoutPayment .fs-l-checkout__mainColumn > div:last-of-type {
    padding: 0 0 0 0;
    width: 100%;
    border-bottom: none;
}
@media screen and (max-width: 575px) {
    .fotl-checkoutPayment .fs-l-checkout__mainColumn {
        gap: 24px 0;
    }
    .fotl-checkoutPayment .fs-l-checkout__mainColumn > div {
        padding: 0 0 16px 0;
        width: 100%;
        border-bottom: solid 1px #CCCCCC;
    }
    .fotl-checkoutPayment .fs-l-checkout__mainColumn > div:first-of-type {
        padding: 24px 0 16px 0;
        border-top: solid 1px #CCCCCC;
    }
    .fotl-checkoutPayment .fs-l-checkout__mainColumn > div:nth-of-type(2) {
        padding: 0 0 16px 0;
        border-top: 0;
    }    
}

/* ------ */
.fotl-checkoutPayment .fs-c-checkout-preview {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}
@media screen and (max-width: 575px) {
    .fotl-checkoutPayment .fs-c-checkout-preview {
        margin: 0 0 16px 0;
        padding: 0 0 0 0;
    }
}
.fotl-checkoutPayment .fs-c-checkout-preview__title {
    display: block;
    margin: 0 0 24px 0;
    padding: 0;
    text-align: left;
    font-size: 2rem;
    width: 100%;
    font-weight: 200;
}

/*お客様情報パーツ・お届け先情報パーツ*/
.fs-c-checkout-buyerInfo ,
.fs-c-checkout-destination {
}
.fs-c-checkout-buyerInfo .fs-c-checkout-customerInfo li ,
.fs-c-checkout-destination .fs-c-checkout-destination__list li {
    margin: 0 0 4px 0;
}
.fs-c-checkout-buyerInfo .fs-c-checkout-customerInfo__name ,
.fs-c-checkout-destination .fs-c-checkout-destination__name {
    font-size: 1.75rem;
    font-weight: 400;
}
.fs-c-checkout-preview__button {
    width: 100%;
}
.fs-c-checkout-preview__button button {
    margin: 0 0 0 auto;
}
.fs-c-checkout-destination__destination {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
.fs-c-checkout-destination__control {
    all: unset;
    width: 100%;
}
.fs-c-checkout-destination__button {
    margin-top: 8px;
}

/*お支払い方法フォーム*/
.fs-c-checkout-paymentInfo {
}
.fs-c-checkout-paymentInfo__message {
    margin: 0 0 12px 0;
    padding: 0 0 0 8px;
    font-size: 1.4rem;
    border-left: solid 4px #000000;
}
.fs-c-checkout-paymentInfo .fs-c-panelContainer .fs-c-panel--error {
    margin: 0 0 16px 0;
}

.fs-c-checkout-paymentMethod {
    margin: 0 0 8px 0;
}
.fs-c-checkout-paymentMethod__body {
    margin: 8px 0 16px 0;
    padding: 16px;
    background: #F9F9F9;
    border-radius: 16px;
}
.fs-c-checkout-paymentMethod__body > * {
    margin: 0;
}
.fs-c-checkout-paymentMethod__message p {
    line-height: 2;
    font-size: 1.4rem;
    font-weight: 500;
}
.fs-c-checkout-paymentMethod__message p::before {
    content: '※';
    color: var(--col-red-50);
}
.fs-c-creditCardIcons {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0 12px 0;
}
.fs-c-modal__contents .fs-c-creditCardIcons {
    justify-content: center;
    margin: 0 0 24px 0;
}


.fs-c-checkout-paymentMethod__option__title {
    display: inline-block;
    margin: 0 0 0 0;
    padding: 2px 12px 4px 12px;
    color: #FFFFFF;
    font-size: 1.2rem;
    background: var(--col-base-60);
    border-radius: 2px;
}
.fs-c-checkout-paymentMethod__option .fs-c-creditCard__number {
    letter-spacing: .2em;
}
.fs-c-checkout-paymentMethod__option {
    margin: 16px 0 0 0;
}
.fs-c-checkout-paymentMethod__option__body {
    margin: 16px 0 0 0;
}
.fs-c-checkout-paymentMethod__option__body--creditCard {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.fs-c-checkout-paymentMethod__option__body .fs-c-checkbox__labelText {
    color: var(--col-purple-30)!important;
    font-weight: 500;
}
.fs-c-checkout-paymentMethod__option__body .fs-c-checkAndNotice__notice {
    margin: 8px 0 0 0;
    font-size: 1.2rem;
}
/*お支払い方法フォーム クレジットカード入力　※モーダル */
.fs-c-modal--checkout-creditCard-add .fs-c-panel--error {
    justify-content: center;
    margin-bottom: 16px;
}

/*代引き手数料*/
.fs-c-checkout-paymentInfo .fs-c-commissionTable {
    margin: 12px 0 0 0;
    padding: 0;
    width: 100%;
    background: #FFFFFF;
}
.fs-c-checkout-paymentInfo .fs-c-commissionTable td ,
.fs-c-checkout-paymentInfo .fs-c-commissionTable th {
    margin: 0;
    padding: 12px;
    text-align: left;
    border: solid 1px #EEEEEE;
}
.fs-c-checkout-paymentInfo .fs-c-commissionTable th:last-child {
    text-align: right;
}
.fs-c-checkout-paymentInfo .fs-c-commissionTable td:last-child {
    text-align: right;
}


/*クーポンフォーム*/
.fs-c-checkout-couponInfo {
}
.fs-c-checkout-couponInfo .fs-c-checkout-couponInfo__message {
    margin: 0 0 12px 0;
    padding: 0 0 0 8px;
    font-size: 1.4rem;
    border-left: solid 4px #000000;
}
.fs-c-checkout-couponCodeInput {
    all: unset;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 16px;
    max-width: 420px;
    background: #F9F9F9;
    border-radius: 16px;
}
.fs-c-checkout-couponCodeInput .fs-c-checkout-couponCodeInput__title {
    margin: 0 0 12px 0;
    padding: 0;
    width: 100%;
    text-align: left;
    font-size: 1.5rem;
    font-weight: 600;
}
.fs-c-checkout-couponCodeInput .fs-c-checkout-couponCodeInput__input {
    width: calc(100% - 110px)!important;
}
.fs-c-checkout-couponCodeInput .fs-c-couponCodeInput__button {
    display: flex;
    align-items: center;
    width: 100px;
}
.fs-c-checkout-couponCodeInput .fs-c-couponCodeInput__button button {
    width: 100%;
}
.fs-c-checkout-couponList {
    margin: 16px 0 0 0;
    padding: 16px;
    max-width: 420px;
    background: #F9F9F9;
    border-radius: 16px;
}
.fs-c-checkout-couponList > li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 8px 0;
    padding: 0 0 8px 0;
    border-bottom: solid 1px #EEEEEE;
}
.fs-c-checkout-couponList > li:last-child {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    border-bottom: 0;
}
.fs-c-checkout-couponList > li > div:first-child {
    margin: 0;
    padding: 0;
}
.fs-c-checkout-couponList > li > div:first-child > span:first-child {
    display: block;
    margin: 0;
    padding: 0;
    font-weight: 500;
}
.fs-c-checkout-couponList > li > div:first-child > span:last-child {
    margin: 0 0 2px 0;
    font-size: 1.3rem;
}
.fs-c-checkout-couponList > li > div:ladt-child {
    margin: 0;
    padding: 0;
}
.fs-c-checkout-couponList .fs-c-checkout-couponStatus {
    border: 0;
    border-radius: 8px
}
.fs-c-checkout-couponList .fs-c-checkout-couponStatus.is-active {
    background: var(--col-green-70);
}
.fs-c-checkout-couponList .fs-c-checkout-couponStatus.is-active::after {
    content: "\e876";
    font-family: "Material Icons"!important;
    font-size: 3rem;
    font-weight: 600;
}
.fs-c-checkout-couponList .fs-c-checkout-couponStatus.is-inactive {
    color: var(--col-green-40);
    font-size: 0;
    background: var(--col-green-90);
    box-shadow: 2px 3px 6px 0 rgba(0, 0, 0, 0.2);
}
.fs-c-checkout-couponList .fs-c-checkout-couponStatus.is-inactive::after {
    content: "利用する";
    font-size: 1.3rem;
    font-weight: 600;
}
.fs-c-checkout-couponList .fs-c-checkout-couponStatus.is-disabled {
    background: var(--col-base-80);
}
.fs-c-checkout-couponList .fs-c-checkout-couponStatus.is-disabled::after {
    font-size: 2.5rem;
}


/*ポイント表示フォーム*/

.fotl-checkoutPayment #fs-pointInfo-container {
    display: none;   /* 基本は非表示 */
}
.fotl-checkoutPayment #fs-pointInfo-container:has(> *) {
    display: block;  /* 直下に子要素がある時だけ表示 */
}

.fotl-pointCard {
    margin: 0 auto;
    padding: 16px;
    max-width: 420px;
    background: #F9F9F9;
    border-radius: 16px;
}
.fotl-pointCard__lead {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 200;
}
.fotl-pointCard__point {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: 2.5rem;
    text-align: right;
}
.fotl-pointCard__point b {
    margin: 0 3px 0 0;
    font-size: 2rem;
    font-weight: 200;
}
.fotl-pointCard__expl {
    margin: 0;
    padding: 0;
}
.fotl-pointCard__expl--item {
    margin: 0 0 4px 0;
    padding: 0;
    text-align: right;
    font-size: 1.2rem;
    font-weight: 200;
}
.fotl-pointCard__expl--item span {
    font-size: 1.3rem;
    font-weight: 600;
}
.fs-c-checkout-pointInfo__usePoint__number {
    font-size: 2.75rem;
    font-weight: 600;
}
.fs-c-checkout-pointInfo__usePoint__number::after {
    content: 'pt';
    margin-left: 3px;
    font-size: 1.5rem;
    font-weight: 400;
}
.fs-c-checkout-pointInfo__usePoint__label {
    display: none;
}


/*配送方法表示フォーム*/
.fs-c-checkout-deliveryInfo {
    margin: 0;
    padding: 0;
    width: 100%;
}
@media screen and (max-width: 575px) {
    .fs-c-checkout-deliveryInfo {
        width: auto;
    }
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__method__title {
    margin: 0 0 8px 0;
    padding: 0;
    font-size: 1.75rem;
    font-weight: 400;
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__method__message p {
    margin: 0 0 16px 0;
    padding: 0;
    color: var(--col-orange-50);
    font-size: 1.4rem;
    font-weight: 600;
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__method__message p::before {
    content: '※';
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__method__deliveryDateTime {
    margin: 0;
    padding: 0;
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__method__deliveryDateTime dt {
    margin: 0 0 0 0;
    padding: 2px 12px 4px 12px;
    color: #FFFFFF;
    font-size: 1.2rem;
    background: var(--col-base-60);
    border-radius: 2px;
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__method__deliveryDateTime dt::after {
    display: none;
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__method__deliveryDateTime dd {
    padding: 3px 0 3px 4px;
    font-size: 1.5rem;
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__button {
    margin: 16px 0 0 0;
}
.fs-c-checkout-deliveryInfo .fs-c-checkout-delivery__button {
    margin: 16px 0 0 0;
}




/*包装パーツ*/
#fs-wrappingInfo-container {
display: none;
}





/*通信欄フォーム*/
.fotl-checkoutPayment .fs-c-checkout-communicationInfo__message {
    margin: 0 0 12px 0;
    padding: 0 0 0 8px;
    font-size: 1.4rem;
    border-left: solid 4px #000000;
}
.fotl-checkoutPayment .fs-c-checkout-communicationInfo .fs-c-checkout-communicationInfo__info:has(*) {
    margin: 0 0 16px 0;
    padding: 16px;
    font-size: 1.4rem;
    line-height: 1.75;
    background: #F9F9F9;
    border-radius: 8px;
}
.fotl-checkoutPayment .fs-c-checkout-communicationInfo .fs-c-checkout-previewAndEdit__button {
    margin: 0 0 0 auto;
}
.fs-c-modal--checkout-communication .fs-c-inputInformation__message {
    margin: 0 0 16px 16px;
}
.fs-c-modal--checkout-communication table tr {
    margin: 0 0 0 0!important;
}





/*ご注文内容パーツ*/
.fs-c-checkout-orderInfo {
    margin: 0;
    padding: 0;
}
.fs-c-checkout-orderInfo__body {
    margin: 0;
}
.fs-c-checkout-orderInfo__body .fs-c-cartTable {
    margin: 0 0 16px 0!important;
}

/*ポイント/包装　ボタン*/
.fotl-checkoutPayment .fs-c-checkout-previewAndEdit {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 16px 0 0 0;
    padding: 0;
}
.fotl-checkoutPayment .fs-c-checkout-previewAndEdit dl {
    display: flex;
    align-items: center;
}
.fotl-checkoutPayment .fs-c-checkout-previewAndEdit dl dt {
    display: flex;
    align-items: center;
    margin: 0 0 0 0;
    padding: 2px 12px 3px 12px;
    color: #FFFFFF;
    font-size: 1.2rem;
    background: var(--col-base-60);
    border-radius: 2px;
}
.fotl-checkoutPayment .fs-c-checkout-previewAndEdit dt::after {
    display: none;
}
.fotl-checkoutPayment .fs-c-checkout-previewAndEdit dl dd {
    padding: 0 0 2px 8px;
}

/*右寄せ ボタン*/
.fs-c-checkout-preview__button {
    width: 100%;
    text-align: right;
}
.fs-c-checkout-preview__button button {
    margin: 0 0 0 auto;
}
.fs-c-checkout-preview__button a {
    display: inline-block;
    margin: 0 0 0 auto!important;
}
.fs-c-checkout-destination__control {
    all: unset;
    width: 100%;
}
.fs-c-checkout-destination__button {
    margin-top: 8px;
}




/* 入力テーブル */
.fs-c-inputTable {
    margin: 0;
    padding: 0;
    width: 100%;
}
.fs-c-inputTable tr {
    display: flex;
    flex-direction: row!important;
    margin: 0 0 24px 0!important;
    padding: 0 0 0 0!important;
    width: 100%!important;
}
.fs-c-inputTable tr th {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    margin: 0;
    padding: 0 0 0 0!important;
    width: 250px!important;
    font-weight: 200;
    white-space: nowrap;
}
.fs-c-inputTable tr td {
    margin: 0;
    padding: 0 0 0 16px!important;
    width: 100%!important;
}
@media screen and (max-width: 575px) {
    .fs-c-inputTable tr {
        flex-direction: column!important;
    }
    .fs-c-inputTable tr th {
        flex-wrap: wrap!important;
        justify-content: flex-start!important;
        padding: 0 0 8px 0!important;
        width: 100%!important;
    }
    .fs-c-inputTable tr td {
        display: block!important;
        padding: 0!important;
        width: 100%!important;
    }
}






/* マイページ----------------------------------------- */
.fotl-mypage {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
    max-width: 640px;
}
.fotl-mypage__itemList {
    margin: 0;
    padding: 0;
    background: #F9F9F9;
    border-radius: 16px 16px 0 0;
}
.fotl-mypage__itemList ul {
    margin: 0;
    padding: 0 24px;
}
.fotl-mypage__itemList ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 24px 0;
    border-bottom: solid 1px #DDDDDD;
}
.fotl-mypage__itemList ul li .title {
    margin: 0;
    padding: 0;
    color: var(--col-base-50);
}
.fotl-mypage__itemList ul li .pointDetail {
    margin: 0;
    padding: 0;
    text-align: right;
}
.fotl-mypage__itemList ul li .pointDetail span {
    display: block;
    margin: 0 0 4px 0;
    padding: 0;
    font-size: 1.2rem;
}
.fotl-mypage__itemList ul li .pointDetail span:first-child {
    font-size: 1.75rem;
}
.fotl-mypage__itemList ul li .pointDetail span:first-child b {
    font-size: 1.2rem;
    font-weight: 400;
}
.fs-c-accountService {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    background: #F9F9F9;
    border-radius: 0 0 16px 16px;
}
.fs-c-accountService .fs-c-accountService__page--couponList { order: 2; }
.fs-c-accountService .fs-c-accountService__page--wishList { order: 3; }
.fs-c-accountService .fs-c-accountService__page--orderHistoryList { order: 4; }
.fs-c-accountService .fs-c-accountService__page--pointHistory { order: 1; }
.fs-c-accountService .fs-c-accountService__page--accountReviews { display: none; order: 5; }
.fs-c-accountService .fs-c-accountService__page--addressbook { order: 6; }
.fs-c-accountService .fs-c-accountService__page--accountCard { order: 7; }
.fs-c-accountService .fs-c-accountService__page--accountPassword { order: 9; }
.fs-c-accountService .fs-c-accountService__page--accountSettingsModify { order: 8; }
.fs-c-accountService .fs-c-accountService__page--accountDelete { order: 10; }

.fs-c-accountService li {
    margin: 0;
    padding: 0 24px;
    width: 100%;
}
.fs-c-accountService li a {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 24px 0;
    font-size: 1.3rem;
    color: var(--col-base-50);
    border-bottom: solid 1px #DDDDDD;
}
.fs-c-accountService li:last-child a {
    border-bottom: 0;
}
.fs-c-accountService li a::after {
    position: absolute;
    right: 0;
    content: '詳細';
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 0 auto;
    padding: 4px 18px 5px 18px;
    color: var(--col-blue-50);
    font-size: 1.2rem;
    font-weight: 500;
    background: #FFFFFF;
    border: solid 1px var(--col-blue-50);
    border-radius: 50px;
}

.fotl-mypage .fs-c-wishlistProduct {/*お気に入りリスト日表示*/
    display: none;
}


/* マイページ ※クーポン */
.fotl-mypageCoupon {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}

/* マイページ ※クーポン */
.fotl-mypageCoupon {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fs-c-couponList {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
    padding: 0;
    width: 100%;
}
.fs-c-couponList .fs-c-couponList__item {
    margin: 0;
    padding: 16px;
    width: calc((100% / 3) - 10.66666667px);
    border: solid 1px #EEEEEE;
    border-radius: 16px;
}
@media screen and (max-width: 575px) {
    .fs-c-couponList .fs-c-couponList__item {
        width: 100%;
    }
}
.fs-c-coupon__info .fs-c-coupon__image img{
    margin: 0 auto;
    border-radius: 8px;
}
.fs-c-coupon__info .fs-c-coupon__name {
    margin: 12px 0 0 0;
    text-align: center;
}
.fs-c-coupon__info .fs-c-couponName__name {
    font-size: 1.5rem;
    font-weight: 600;
}
.fs-c-coupon__info .fs-c-couponName__discount__value {
    font-size: 1.4rem;
    font-weight: 600;
}
.fs-c-coupon__info .fs-c-coupon__description {
    margin: 16px 0 0 0;
    padding: 16px;
    background: #F9F9F9;
    border-radius: 8px;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fs-c-coupon__info .fs-c-coupon__description {
        padding: 8px;
    }
}
.fs-c-coupon__info .fs-c-coupon__description__appliedCondition {
    margin: 8px 0 0 0;
}
.fs-c-coupon__info .fs-c-couponExpiration__title ,
.fs-c-coupon__info .fs-c-couponAppliedCondition__title {
    font-size: 1.2rem;
    font-weight: 600;
}
.fs-c-coupon__info .fs-c-couponExpiration__list ,
.fs-c-coupon__info .fs-c-couponAppliedCondition__list {
    padding: 2px 0 0 6px;
    font-size: 1.2rem;
    line-height: 1.75;
}
.fs-c-coupon__info .fs-c-couponExpiration__list__item {
    display: flex;
    align-items: center;
    line-height: 1.75;
}
.fs-c-coupon__info .fs-c-couponExpiration__list__item__title {
    font-size: 1.2rem;
    font-weight: 200;
}
.fs-c-coupon__info .fs-c-couponExpiration__list__item__title::after {
    content: '：';
}











/* マイページ ※お気に入りページ */
.fotl-mypageFavorite {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}



/* マイページ ※注文履歴 */
.fotl-mypageOrderhistory {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fotl-mypageOrderhistory .fs-c-history {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0;
}
.fotl-mypageOrderhistory .fs-c-history .fs-c-history__info {
    position: sticky;
    top: 106px;
    margin: 0;
    padding: 16px;
    width: 320px;
    background: #F9F9F9;
    border-radius: 16px;
}
@media screen and (min-width: 600px) and (max-width: 991px) {
    .fotl-mypageOrderhistory .fs-c-history .fs-c-history__info {
        width: 230px;
    }
}
@media screen and (max-width: 600px) {
    .fotl-mypageOrderhistory .fs-c-history .fs-c-history__info {
        position: static;
        top: auto;
        width: 100%;
    }
}
.fotl-mypageOrderhistory .fs-c-history__infoSummary {
    margin: 16px 0 0 0;
    padding: 0;
}
.fotl-mypageOrderhistory .fs-c-history__term {
    margin: 0 0 0 8px;
    padding: 0;
    font-weight: 200;
}
.fotl-mypageOrderhistory .fs-c-history__total {
    margin: 16px 0 0 0;
    padding: 16px;
    background: #FFFFFF;
    border-radius: 16px;
}
.fotl-mypageOrderhistory .fs-c-history__total dl {
    grid-row-gap: 12px;
}
.fotl-mypageOrderhistory .fs-c-history__total dl dt {
    margin: 0;
    padding: 0;
    text-align: right;
    font-size: 1.2rem;
    font-weight: 600;
}
.fotl-mypageOrderhistory .fs-c-history__total dl dd {
    margin: 0;
    padding: 0;
    text-align: right;
    font-size: 1.5rem;
}
.fotl-mypageOrderhistory .fs-c-history__total dl dd .fs-c-price__currencyMark {
    margin-right: 2px;

}

/* --- */
.fotl-mypageOrderhistory .fs-c-history .fs-c-history__listContainer {
    margin: 0;
    padding: 0;
    width: calc(100% - 336px);
}
@media screen and (min-width: 600px) and (max-width: 991px) {
    .fotl-mypageOrderhistory .fs-c-history .fs-c-history__listContainer {
        width: calc(100% - 246px);
    }
}
@media screen and (max-width: 600px) {
    .fotl-mypageOrderhistory .fs-c-history .fs-c-history__listContainer {
        margin: 32px 0 0 0;
        width: 100%;
    }
}
.fotl-mypageOrderhistory .fs-c-listControl {
    margin: 0 0 0 0;
    padding: 0;
    text-align: right;
    width: 100%;
    font-size: 1.2rem;
}
.fotl-mypageOrderhistory .fs-c-listControl:last-of-type {
    padding: 16px 0 0 0;
    border-top: solid 1px #EEEEEE;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem {
    margin: 16px 0 0 0;
    padding: 0;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: #F9F9F9;
    border-radius: 12px 12px 0 0;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__orderInfo {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistory .fs-c-orderHistoryItem__orderInfo {
        width: 100%;
    }
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__orderInfo dl {
    margin: 0 16px 0 0;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistory .fs-c-orderHistoryItem__orderInfo dl {
        margin: 0 0 0 0;
    }
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__orderInfo dl dt {
    font-size: 1.2rem;
    font-weight: 200;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__orderInfo dl dd {
    margin: 4px 0 0 1em;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__header__button {
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistory .fs-c-orderHistoryItem__header__button {
        order: 1;
        margin: 12px 0 0 0;
        width: 100%;
        text-align: right;
    }
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__header__button span {
    font-size: 1.2rem;
    color: var(--col-blue-50);
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__product {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto auto;
    gap: 2px 8px;
    margin: 0;
    padding: 8px;
    border-bottom: solid 1px #DDDDDD;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__product:last-of-type {
    margin: 0 0 32px 0;
    border-bottom: 0;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__product img {
    width: 100px;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__product > *{
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__productImage {
    grid-column: 1;
    grid-row: 1 / 4;
    margin: 0;
    padding: 0;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__productName {
    grid-column: 2;
    grid-row: 1;
    padding: 0;
    font-size: 1.3rem;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__productName .fs-c-listedProductName__variation {
    margin: 0;
    font-size: 1.2rem;
}

.fotl-mypageOrderhistory .fs-c-orderHistoryItem__unitPrice {
    grid-column: 2;
    grid-row: 2;
    font-size: 1.5rem;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__unitPrice .fs-c-productPrice__addon {
    margin-left: 4px;
    font-size: 1rem;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__productQuantity {
    grid-column: 2;
    grid-row: 3;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__productQuantity .fs-c-orderHistoryItem__productQuantity__label {
    margin-right: 4px;
    font-size: 1.1rem;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__deliveryInfo {
    grid-column: 3;
    grid-row: 1 / 4;
    width: max-content;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistory .fs-c-orderHistoryItem__deliveryInfo {
        grid-column: 1 / -1;
        grid-row: 4;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr auto;
        margin: 8px 0 0 0;
    }
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__deliveryInfo dt {
    margin: 4px 0 0 0;
    text-align: right;
    font-size: 1.1rem;
    font-weight: 200;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__deliveryInfo dd {
    margin: 0 0 0 0;
    text-align: right;
    font-size: 1.3rem;
}
.fotl-mypageOrderhistory .fs-c-orderHistoryItem__deliveryInfo dt:first-of-type {
    margin: 0 0 0 0;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistory .fs-c-orderHistoryItem__deliveryInfo dt {
        margin: 0 0 0 0;
    }
    .fotl-mypageOrderhistory .fs-c-orderHistoryItem__deliveryInfo dt::after {
        content: '：';
    }
    .fotl-mypageOrderhistory .fs-c-orderHistoryItem__deliveryInfo dd {
    }
}

.fotl-mypageOrderhistory .fs-c-buttonContainer--addReview--detail {
    display: none;
}





/* マイページ ※注文履歴 詳細 */
.fotl-mypageOrderhistoryDesc {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
    max-width: 860px;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetail {
    margin: 0;
    padding: 0;
}

.fotl-mypageOrderhistoryDesc .fs-c-orderDetail__data {
    margin: 0;
    padding: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetail__data dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetail__data dl dt {
    margin: 0 0 0 16px;
    padding: 2px 8px 4px 8px;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.1rem!important;
    background: var(--col-base-50);
    border-radius: 2px;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetail__data dl dt:first-child {
    margin: 0 0 0 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetail__data dl dd {
    margin: 0 0 0 8px;
    padding: 0;
    font-size: 1.4rem!important;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistoryDesc .fs-c-orderDetail__data dl dt {
        margin: 8px 0 0 0;
        width: 10em;
    }
    .fotl-mypageOrderhistoryDesc .fs-c-orderDetail__data dl dd {
        margin: 8px 0 0 0;
        padding: 0 8px;
        width: calc(100% - 10em);
    }
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetail__addresseeInfo {
    margin: 16px 0 0 0;
    padding: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-heading--section {
    margin: 0;
    padding: 0 0 0 8px;
    font-size: 1.75rem;
    font-weight: 200;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px;
    margin: 0;
    padding: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddresseeList {
    margin: 12px 0 0 0;
    padding: 16px;
    border: solid 1px #DDDDDD;
    border-radius: 16px;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee {
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__heading {
    margin: 0 0 0 0;
    padding: 0 0 0 4px;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 400;
    border-left: solid 4px #000000;
}

.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__addressee ,
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__deliveryInfoList {
    grid-template-columns: none!important;
    margin: 0;
    padding: 0;
    width: calc(50% - 8px);
    border: 0;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__addressee ,
    .fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__deliveryInfoList {
        width: 100%;
    }
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__addressee dt ,
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__deliveryInfoList dt {
    display: block;
    margin: 12px 0 0 0;
    padding: 0;
    font-weight: 200;
    font-size: 1.1rem;
    border: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__addressee dt:first-child ,
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__deliveryInfoList dt:first-of-type {
    margin: 0 0 0 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__addressee dd ,
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__deliveryInfoList dd {
    margin: 4px 0 0 8px;
    padding: 0;
    font-size: 1.3rem;
    border: 0;
}

.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__cartTable {
    margin: 0;
    padding: 0;
    width: calc(65% - 8px);
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__cartTable {
        width: 100%;
    }
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__cartTable tr td .fs-c-cartTable__productName ,
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__cartTable tr td .fs-c-listedProductName__variation {
    font-size: 1.2rem;
}

.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo {
    margin: 0;
    padding: 12px;
    width: calc(35% - 8px);
    border: solid 1px #DDDDDD;
    border-radius: 12px;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo {
        width: 100%;
    }
}

.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-orderTotalInfo {
    margin: 0;
    padding: 0;
    width: 100%;
    align-items: stretch;
}
.fotl-mypageOrderhistoryDes .fs-c-orderPerAddressee__orderDeliveryInfoc .fs-c-orderTotalInfo table {
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-orderTotalInfo table tbody {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-orderTotalInfo table tbody tr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-orderTotalInfo table tbody tr th {
    margin: 0;
    padding: 0;
    text-align: left!important;
    font-weight: 200;
    font-size: 1.2rem;
    border: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-orderTotalInfo table tbody tr td {
    margin: 0;
    padding: 0;
    text-align: right;
    font-size: 1.3rem;
    border: 0;
}

.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-deliveryInfoList {
    display: grid;
    grid-template-columns: 1fr auto;
    margin: 0;
    padding: 0;
    text-align: right;
    font-size: 1.3rem;
    border: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-deliveryInfoList dt {
    margin: 0;
    padding: 8px 0 0 0;
    text-align: left;
    font-weight: 200;
    font-size: 1.2rem;
    border: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-deliveryInfoList dd {
    margin: 0;
    padding: 8px 0 0 0;
    text-align: right;
    font-size: 1.3rem;
    border: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-deliveryInfoList dd > dl {
    margin: 0;
    padding: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-deliveryInfoList dd > dl dt {
    display: none
}
.fotl-mypageOrderhistoryDesc .fs-c-orderPerAddressee__orderDeliveryInfo .fs-c-deliveryInfoList dd > dl dd {
    margin: 0;
    padding: 0;
    font-size: 1.3rem;
}

.fotl-mypageOrderhistoryDesc .fs-c-orderDetail__orderInfo {
    margin: 32px 0 0 0;
    padding: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__cartTable {
    margin: 16px 0 0 0;
    padding: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal {
    margin: 16px 0 0 auto;
    padding: 12px;
    width: 50%;
    background: #F9F9F9;
    border-radius: 12px;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal {
        width: 100%;
    }
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable ,
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderPaymentTable {
    table-layout: fixed;
    margin: 0 0 0 auto;
    padding: 0;
    width: 100%;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable th ,
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderPaymentTable th {
    font-size: 1.2rem;
    padding: 8px;
    width: 40%;
    text-align: right;
    border: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable td ,
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderPaymentTable td {
    padding: 8px;
    width: 60%;
    text-align: right;
    font-size: 1.5rem;
    border: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable .fs-c-orderTotalTable__grandTotal {
    border-bottom: solid 1px #DDDDDD;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable .fs-c-orderTotalTable__grandTotal th ,
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable .fs-c-orderTotalTable__grandTotal td {
    padding: 4px 4px 12px 4px;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable td ,
    .fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderPaymentTable td {
        max-width: 250px;
    }
}

.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderPaymentTable th ,
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderPaymentTable td {
    border: 0;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderTotalTable td .fs-c-price {
    color: var(--col-red-50);
    font-size: 2rem;
}
.fotl-mypageOrderhistoryDesc .fs-c-orderDetailInfo__orderTotal .fs-c-orderPaymentTable .fs-c-orderPaymentTable__payment {
    font-size: 1.4rem;
}

.fotl-mypageOrderhistoryDesc .fs-c-buttonContainer--back {
    margin: 32px auto 0 auto;
    max-width: 320px;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistoryDesc .fs-c-buttonContainer--back {
        max-width: 240px;
    }
}

.fotl-mypageOrderhistoryDesc .fs-c-cartTable td {
    padding: 8px 8px 8px 8px;
}
@media screen and (max-width: 575px) {
    .fotl-mypageOrderhistoryDesc .fs-c-cartTable td:first-child {
        padding: 8px 8px 0 8px;
    }
}







/* マイページ ※ポイント履歴 */
.fotl-mypagePoint {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fotl-mypagePoint .fs-c-history {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0;
}
.fotl-mypagePoint .fs-c-history .fs-c-history__info {
    margin: 0;
    padding: 16px;
    width: 320px;
    background: #F9F9F9;
    border-radius: 16px;
}
@media screen and (min-width: 600px) and (max-width: 991px) {
    .fotl-mypagePoint .fs-c-history .fs-c-history__info {
        width: 230px;
    }
}
@media screen and (max-width: 600px) {
    .fotl-mypagePoint .fs-c-history .fs-c-history__info {
        width: 100%;
    }
}

.fotl-mypagePoint .fs-c-pointSummary {
    margin: 0;
    padding: 0;
}
.fotl-mypagePoint .fs-c-pointSummary .fs-c-pointSummary__label--availablePoint {
    margin: 0;
    padding: 12px;
    width: 100%;
    font-weight: 600;
    background: #FFFFFF;
    border-radius: 8px 8px 0 0;
}
.fotl-mypagePoint .fs-c-pointSummary .fs-c-pointSummary__value--availablePoint {
    margin: 0 0 16px 0;
    padding: 0 12px 12px 12px;
    width: 100%;
    font-size: 2rem;
    letter-spacing: .05em;
    background: #FFFFFF;
    border-radius: 0 0 8px 8px ;
}
.fotl-mypagePoint .fs-c-pointSummary dt {
    margin: 0;
    padding: 0 12px;
    color: var(--col-base-50);
    text-align: left;
    font-size: 1.2rem;
}
.fotl-mypagePoint .fs-c-pointSummary dd {
    margin: 0 0 12px 0;
    padding: 0 12px;
    text-align: right;
}
.fotl-mypagePoint .fs-c-pointSummary dd:last-child {
    margin: 0 0 0 0;
}
.fotl-mypagePoint .fs-c-history .fs-c-history__listContainer {
    margin: 0;
    padding: 0;
    width: calc(100% - 336px);
}
@media screen and (min-width: 600px) and (max-width: 991px) {
    .fotl-mypagePoint .fs-c-history .fs-c-history__listContainer {
        width: calc(100% - 246px);
    }
}
@media screen and (max-width: 600px) {
    .fotl-mypagePoint .fs-c-history .fs-c-history__listContainer {
        width: 100%;
    }
}
.fotl-mypagePoint .fs-c-history__termCtrl {
    margin: 0;
    padding: 0;
    max-width: 375px;
}
@media screen and (max-width: 600px) {
    .fotl-mypagePoint .fs-c-history__termCtrl {
        margin: 16px 0 0 0;
        width: 100%;
    }
}
.fotl-mypagePoint .fs-c-listControl {
    margin: 16px 0 0 0;
    padding: 0;
    text-align: right;
    width: 100%;
    font-size: 1.2rem;
}

.fotl-mypagePoint .fs-c-pointListTable {
    margin: 16px 0 0 0;
    padding: 0;
    width: 100%;
}
.fotl-mypagePoint .fs-c-pointListTable thead {
}
.fotl-mypagePoint .fs-c-pointListTable thead tr {
}
.fotl-mypagePoint .fs-c-pointListTable thead tr th {
    margin: 0;
    padding: 12px;
    font-size: 1.4rem;
    font-weight: 200;
    background: #F9F9F9;
    border: solid 1px #DDDDDD;
}
.fotl-mypagePoint .fs-c-pointListTable tbody {
}
.fotl-mypagePoint .fs-c-pointListTable tbody tr {
}
@media screen and (max-width: 575px) {
    .fotl-mypagePoint .fs-c-pointListTable tbody tr {
        border: solid 1px #DDDDDD;
        border-radius: 8px;
    }
}
.fotl-mypagePoint .fs-c-pointListTable tbody tr td {
    margin: 0;
    padding: 12px;
    font-size: 1.4rem;
    border: solid 1px #DDDDDD;
}

.fotl-mypagePoint .fs-c-pointListTable tbody tr td .fs-c-pointListTable__data {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 600px) {
    .fotl-mypagePoint .fs-c-pointListTable tbody tr td {
        border: 0;
    }
    .fotl-mypagePoint .fs-c-pointListTable tbody tr td .fs-c-pointListTable__data ,
    .fotl-mypagePoint .fs-c-pointListTable tbody tr td .fs-c-pointListTable__pointType {
        margin: 0 0 0 auto;
    }
    .fotl-mypagePoint .fs-c-pointListTable tbody tr td .fs-c-pointListTable__pointType .fs-c-pointListTable__data {
        display: flex;
        justify-content: flex-end;
    }
}
.fotl-mypagePoint .fs-c-pointListTable tbody tr td .fs-c-symbol {
    padding-right: 5px;
    line-height: 1;
    font-size: 1.5em;
}
.fotl-mypagePoint .fs-c-pointListTable tbody tr td .fs-c-symbol--minus {
    font-size: 0;
}
.fotl-mypagePoint .fs-c-pointListTable tbody tr td .fs-c-symbol--minus::before {
    position: relative;
    top: -3px;
    content: '-';
    color: var(--col-red-50);
    font-size: 3.5rem!important;
}

/* マイページ ※レビュー */
.fotl-mypageReview {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}


/* マイページ ※クレジットカード */
.fotl-mypageCreditCard {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fotl-mypageCreditCard .fs-c-inputInformation__message {
    margin: 0 auto 32px auto;
    padding: 0;
    text-align: center;
}
.fotl-mypageCreditCard .fs-c-creditCardList {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 auto;
    padding: 0;
}
.fotl-mypageCreditCard .fs-c-creditCardListItem {
    margin: 0;
    padding: 16px;
    width: calc((100% / 3) - 12px);
    border: solid 1px #EEEEEE;
    border-radius: 16px;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-mypageCreditCard .fs-c-creditCardListItem {
        margin: 0;
        width: calc((100% / 2) - 8px);
    }
}
@media screen and (max-width: 575px) {
    .fotl-mypageCreditCard .fs-c-creditCardListItem {
        width: 100%;
    }
}
.fotl-mypageCreditCard .fs-c-creditCardListItem.is-active {
    background: var(--col-green-95);
    border: solid 1px var(--col-green-95);
}
.fotl-mypageCreditCard .fs-c-creditCardListItem__status {
    margin: 0 0 12px 0;
    padding: 0;
    color: var(--col-green-50);
    font-weight: 600;
}
.fotl-mypageCreditCard .fs-c-creditCardListItem__cardInfo {
    margin: 0 0 16px 0;
}
.fotl-mypageCreditCard .fs-c-creditCardListItem__cardInfo dt {
    margin: 0 0 0 0;
    font-size: 1.2rem;
    font-weight: 200;
}
.fotl-mypageCreditCard .fs-c-creditCardListItem__button {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
}
.fotl-mypageCreditCard .fs-c-button--changeMainCreditCard {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 16px 0 0;
    padding: 3px 18px 4px 18px;
    color: var(--col-green-50);
    font-size: 1.2rem;
    font-weight: 500;
    background: #FFFFFF;
    border: solid 1px var(--col-green-50);
    border-radius: 50px;
}



/* マイページ ※お届け先リスト */
.fotl-mypageShippingAddr {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fs-c-addressBookList__addButton {
    margin: 0 auto;
    padding: 0;
    max-width: 350px;
}
.fs-c-addressBookList__count {
    margin: 32px auto 0 auto;
    padding: 0;
    max-width: 350px;
    text-align: center;
}

.fotl-mypageShippingAddr .fs-c-inputInformation__message {
    margin: 0 auto;
    padding: 0;
    max-width: 880px;
}

.fotl-mypageShippingAddr .fs-c-inputInformation__field {
    margin: 24px auto 0 auto;
    padding: 32px 32px 8px 32px;
    max-width: 880px;
    border-radius: 16px 16px 0 0;
    background: #F9F9F9;
    border-bottom: solid 1px #EEEEEE;
}
@media screen and (max-width: 575px) {
    .fotl-mypageShippingAddr .fs-c-inputInformation__field {
        padding: 24px 16px 0 16px;
    }
}
.fotl-mypageShippingAddr .fs-c-inputInformation__button {
    margin: 0 auto 0 auto;
    padding: 32px 32px 32px 32px;
    max-width: 880px;
    border-radius: 0 0 16px 16px;
    background: #F9F9F9;
}
@media screen and (max-width: 575px) {
    .fotl-mypageShippingAddr .fs-c-inputInformation__button {
        padding: 24px 16px 24px 16px;
    }
}
.fotl-mypageShippingAddr .fs-c-inputInformation__button button {
    margin: 0 auto 0 auto;
    max-width: 350px;
}
.fotl-mypageShippingAddr .fs-c-inputInformation__button a {
    margin: 16px auto 0 auto;
    max-width: 160px;
}

.fs-c-addressBookList__list {
    margin: 32px 0 0 0;
    padding: 0;
    width: 100%;
}
.fs-c-addressBookList__list tbody {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
    padding: 0;
    width: 100%;
}
.fs-c-addressBookList__list tbody tr {
    margin: 0;
    padding: 16px;
    width: calc((100% / 3) - 10.66666667px);
    border: solid 1px #DDDDDD;
    border-radius: 8px;
}
@media screen and (max-width: 600px) {
    .fs-c-addressBookList__list tbody tr {
        width: 100%;
    }
}
@media screen and (max-width: 600px) {
    .fs-c-addressBookList__list > tbody > tr + tr {
        all: unset;
        padding: 16px;
        width: 100%;
        border: solid 1px #DDDDDD;
        border-radius: 8px;
    }
}
.fs-c-addressBookList__list tbody tr td {
    display: block;
    margin: 0;
    padding: 0 0 8px 0;
    font-size: 1.3rem;
    width: 100%;
}
.fs-c-addressBookList__list tbody tr td:first-child {
    font-size: 1.5rem;
}
.fs-c-addressBookList__list tbody tr td:last-child {
    padding: 0 0 0 0;
    text-align: right;
    font-size: 1.4rem;
}
.fs-c-addressBookList__list tbody tr td .fs-c-address__tel {
    margin: 8px 0 0 0;
}
.fs-c-addressBookList__list tbody tr td a {
    all: unset;
    margin-right: 24px;
    color: var(--col-blue-50);
}
.fs-c-addressBookList__list tbody tr td button {
    all: unset;
    color: var(--col-blue-50);
}

.fs-c-addressbookRemoveField { /*モーダル※削除確認*/
    margin: 16px 0 0 0;
    padding: 16px;
    background: #F9F9F9;
    border-radius: 8px;
}
.fs-c-addressbookRemoveField tr {
    margin: 0 0 8px 0!important;
}
.fs-c-addressbookRemoveField tr:last-child {
    margin: 0 0 0 0!important;
}
.fs-c-addressbookRemoveField tr td {
    padding: 0 0 0 0!important;
}


/* マイページ ※パスワード変更 */
.fotl-mypagePassword {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fotl-mypagePassword .fs-c-inputInformation__message {
    margin: 0 auto;
    padding: 0;
    max-width: 560px;
}
.fotl-mypagePassword .fs-c-inputInformation__field {
    margin: 24px auto 0 auto;
    padding: 32px 32px 8px 32px;
    max-width: 560px;
    border-radius: 16px 16px 0 0;
    background: #F9F9F9;
    border-bottom: solid 1px #EEEEEE;
}
.fotl-mypagePassword .fs-c-inputGroup {
    background: #F9F9F9;
    border: 0;
}
.fotl-mypagePassword .fs-c-inputInformation__button {
    margin: 0 auto 0 auto;
    padding: 32px 32px 32px 32px;
    max-width: 560px;
    border-radius: 0 0 16px 16px;
    background: #F9F9F9;
}
.fotl-mypagePassword .fs-c-inputInformation__button button {
    margin: 0 auto 0 auto;
    max-width: 350px;
}
/* パスワード再設定 */
.fotl-mypagePassword .fs-c-orderedList {
    margin: 0;
}
.fotl-mypagePassword .fs-c-panelContainer {
    display: none;
}
.fotl-mypagePassword .fs-c-panelContainer:has(> *) {
    all: unset;
    display: block;
    margin: 0 0 16px 0!important;
}



/* マイページ ※会員詳細情報 ※会員登録 */
.fotl-mypageMemberInfo ,
.fotl-signup {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fotl-mypageMemberInfo .fs-c-inputInformation__message ,
.fotl-signup .fs-c-inputInformation__message {
    margin: 0 auto;
    padding: 0;
    max-width: 720px;
}
.fotl-mypageMemberInfo .fs-c-inputInformation__field {
    margin: 24px auto 0 auto;
    padding: 32px 32px 0 32px;
    max-width: 720px;
    border-radius: 16px 16px 0 0;
    background: #F9F9F9;
    border-bottom: solid 1px #EEEEEE;
}
.fotl-signup .fs-c-inputInformation__field {
    margin: 24px auto 0 auto;
    padding: 32px 32px 0 32px;
    max-width: 720px;
    border-radius: 16px 16px 0 0;
    background: #F9F9F9;
}
@media screen and (max-width: 575px) {
    .fotl-mypageMemberInfo .fs-c-inputInformation__field ,
    .fotl-signup .fs-c-inputInformation__field {
        padding: 32px 16px 0 16px;
    }
}
.fotl-mypageMemberInfo .fs-c-inputInformation__field .fs-c-inputTable tr th ,
.fotl-signup .fs-c-inputInformation__field .fs-c-inputTable tr th {
    font-size: 1.3rem;
}
.fotl-mypageMemberInfo .fs-c-inputInformation__field .fs-c-inputTable tr td ,
.fotl-signup .fs-c-inputInformation__field .fs-c-inputTable tr td {
    padding: 0 0 0 32px!important;
}
@media screen and (max-width: 575px) {
    .fotl-mypageMemberInfo .fs-c-inputInformation__field .fs-c-inputTable tr td ,
    .fotl-signup .fs-c-inputInformation__field .fs-c-inputTable tr td {
        padding: 0 0 0 0!important;
    }
}
.fotl-mypageMemberInfo .fs-c-inputInformation__field .fs-c-inputTable tr td .fs-system-assistTarget ,
.fotl-signup .fs-c-inputInformation__field .fs-c-inputTable tr td .fs-system-assistTarget {
    border: 0;
    background: #F9F9F9;
}
.fotl-signup .fs-c-additionalCheckField {
    display: block;
    padding: 16px 0 0 210px;
}
@media screen and (max-width: 575px) {
    .fotl-signup .fs-c-additionalCheckField {
        padding: 16px 0 0 32px;
    }
}
.fotl-signup .fs-c-additionalCheckField:nth-of-type(2) {
    border-top: solid 1px #DDDDDD!important;
}

.fotl-mypageMemberInfo .fs-c-inputInformation__button ,
.fotl-signup .fs-c-inputInformation__button {
    margin: 0 auto 0 auto;
    padding: 32px 32px 32px 32px;
    max-width: 720px;
    border-radius: 0 0 16px 16px;
    background: #F9F9F9;
}
.fotl-mypageMemberInfo .fs-c-inputInformation__button a ,
.fotl-mypageMemberInfo .fs-c-inputInformation__button button ,
.fotl-signup .fs-c-inputInformation__button a ,
.fotl-signup .fs-c-inputInformation__button button {
    margin: 0 auto;
    max-width: 350px;
}



/* マイページ ※会委員登録完了 */
.fotl-signup {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fotl-signup .fs-c-registerSuccessMessage {
    text-align: center;
}
.fotl-regSuccMsg__lead {
    margin: 0;
    padding: 0;
    text-align: center;
}
.fotl-regSuccMsg__lead .heading {
    margin: 0;
    padding: 0;
    font-size: 2rem;
}
.fotl-regSuccMsg__lead .expl {
    margin: 8px 0 0 0;
    padding: 0;
    color: var(--col-base-50);
}
@media screen and (max-width: 575px) {
    .fotl-regSuccMsg__lead .heading {
        font-size: 1.6rem;
        font-weight: 600;
    }
    .fotl-regSuccMsg__lead .expl {
        font-size: 1.2rem;
    }
}
.fotl-regSuccMsg__service {
    display: inline-block;
    margin: 32px auto 0 auto;
    padding: 0;
    text-align: left;
}
.fotl-regSuccMsg__service .lead {
    margin: 0;
    padding: 0;
}
.fotl-regSuccMsg__service .lead:last-of-type {
    margin: 16px 0 0 0;
    padding: 0;
}
.fotl-regSuccMsg__service .service {
    margin: 8px 0 0 0;
    padding: 16px;
    line-height: 2;
    background: #F9F9F9;
    border-radius: 16px;
}
.fotl-signup .fs-c-couponMessage {
    margin: 56px 0 0 0;
    padding: 0;
}
.fotl-signup .fs-c-couponMessage__label {
    padding-bottom: 8px;
    font-size: 1.4rem;
    border-bottom: 1px solid #DDDDDD;
}
.fotl-signup .fs-c-couponMessage__listItem {
    padding: 0;
    text-align: center;
    border: 1px solid #DDDDDD;
    border-radius: 8px;
}
.fotl-signup .fs-c-couponMessage__listItem__name {
    display: block;
    padding: 8px;
    font-weight: 600;
}
.fotl-signup .fs-c-couponMessage__listItem__discount {
    padding: 0;
    font-size: 1.6rem;
}
.fotl-signup .fs-c-couponMessage__listItem__expiration {
    font-size: 1.2rem;
    display: flex;
    justify-content: center;
    margin: 8px 0 0 0;
    padding: 8px;
    background: #F9F9F9;
    border-radius: 0 0 8px 8px;
    /* ↓ 無効 */
    grid-template-columns: unset;
    grid-auto-rows: unset;
    grid-auto-flow: unset;
    grid-column-gap: unset;
    grid-row-gap: unset;
    align-items: unset;
}






/* マイページ ※退会手続き */
.fotl-mypageCancellation {
    position: relative;
    margin: 0 auto;
    padding: 0 16px;
}
.fotl-mypageCancellation .fs-c-inputInformation__message {
    margin: 0 auto;
    padding: 0;
    max-width: 560px;
}
.fotl-mypageCancellation .fs-c-inputInformation__field {
    margin: 24px auto 0 auto;
    padding: 32px 32px 8px 32px;
    max-width: 560px;
    border-radius: 16px 16px 0 0;
    background: #F9F9F9;
    border-bottom: solid 1px #EEEEEE;
}
.fotl-mypageCancellation .fs-c-inputInformation__field .fs-c-inputTable tr th {
    font-size: 1.3rem;
}
.fotl-mypageCancellation .fs-c-inputInformation__field .fs-c-inputTable tr td {
    padding: 0 0 0 32px !important;
}
.fotl-mypageCancellation .fs-c-inputInformation__button {
    margin: 0 auto 0 auto;
    padding: 32px 32px 32px 32px;
    max-width: 560px;
    border-radius: 0 0 16px 16px;
    background: #F9F9F9;
}
.fotl-mypageCancellation .fs-c-inputInformation__button button {
    margin: 0 auto 0 auto;
    max-width: 350px;
}
.fotl-mypageCancellation .fs-c-inputInformation__button a {
    margin: 16px auto 0 auto;
    max-width: 160px;
}


/* マイページ ※マイページトップ ボタン */
.fs-c-buttonContainer--myPageTop {
    margin: 5vh auto 0 auto;
}
.fs-c-buttonContainer--myPageTop a {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 4px 18px 5px 18px;
    max-width: 240px;
    color: var(--col-blue-50);
    font-weight: 500;
    background: #FFFFFF;
    border: solid 1px var(--col-blue-50);
    border-radius: 50px;
}

/* マイページ ※ログアウト ボタン */
.fotl_btnLogout {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 2.5vh auto 0 auto;
    padding: 4px 18px 5px 18px;
    max-width: 240px;
    color: var(--col-blue-50);
    font-weight: 500;
    background: #FFFFFF;
    border: solid 1px var(--col-blue-50);
    border-radius: 50px;
}

/* - */
.fotl-mypage .fs-c-panelContainer {
    display: none;
}
.fotl-mypage .fs-c-panelContainer:has(> *) {
    margin: 0 0 16px 0;
}




/* ------------------------------------------------------- */
.fs-c-modal__inner {
    padding: 32px;
    border-radius: 16px;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fs-c-modal__inner {
        padding: 24px;
    }
}
@media screen and (max-width: 575px) {
    .fs-c-modal__inner {
        padding: 16px;
    }
}

.fs-c-modal__header {
    align-items: center;
}
.fs-c-modal__header h2 {
    font-weight: 200;
}
.fs-c-modal__close::before {
    all: unset;
    position: relative;
    top: 12px;
    left: 16px;
    content: "\e5cd";
    font-family: "Material Symbols Outlined"!important;
    font-size: 5rem;
    line-height: 0;
}
.fs-c-modal__contents {
    margin: 24px 0 0 0;
    padding: 0;
}

.fs-c-modal__contents .fs-c-checkout-addresseeSettingList {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.fs-c-modal__contents .fs-c-checkout-addresseeSettingList {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.fs-c-modal__contents .fs-c-checkout-addresseeSettingList > li {
    margin: 0;
    padding: 8px;
    width: calc(50% - 8px);
    border-radius: 16px;
    background: #F9F9F9;
}
@media screen and (max-width: 575px) {
    .fs-c-modal__contents .fs-c-checkout-addresseeSettingList > li {
        width: 100%;
    }
}
.fs-c-modal__contents .fs-c-checkout-addresseeSettingList > li:last-child {
    margin: 0;
    padding: 16px 0 0 0;
    width: 100%;
    border-radius: 0;
    background: #FFFFFF;
    border-top: solid 1px #EEEEEE;
}
.fs-c-modal__contents .fs-c-syncAccountInfoField ,
.fs-c-modal__contents .fs-c-additionalCheckField {
    margin: 0;
    padding: 16px 0 0 0;
    text-align: center;
    border-top: solid 1px #EEEEEE;
}
.fs-c-modal__contents .fs-c-inputInformation__button {
    margin: 16px auto 0 auto;
    padding: 0;
    max-width: 350px;
    text-align: center;
}
.fs-c-modal__contents .fs-c-button--cancel {
    margin: 16px auto 0 auto;
}







/* 商品ページ ※商品についてのお問い合わせ */
.fs-c-modal--inquiry .fs-c-inquiryProduct {
    margin: 0 0 24px 0;
    padding: 0;
    text-align: center;
}
@media screen and (max-width: 575px) {
    .fs-c-modal--inquiry .fs-c-modal__title {
        font-size: 1.8rem;
    }
}
.fs-c-inquiryProduct__productImage {
    margin-bottom: 16px;
}
.fs-c-inquiryProduct__productImage img {
    margin: 0 auto;
}
.fs-c-inquiryMessage {
    display: none;
}
.fs-c-modal--inquiry .fs-c-inputInformation__button {
    text-align: center;
}
.fs-c-modal--inquiry .fs-c-button--sendInquiry {
    display: flex;
    align-items: center;
    margin: 16px auto 0 auto;
    padding: 12px 24px;
    color: #FFFFFF;
    font-size: 1.3rem;
    background: #000000;
    border: solid 1px #000000;
    border-radius: 50px;
}
.fs-c-modal--inquiry .fs-c-button--sendInquiry:hover {
    background: #00000080;
    border: solid 1px #00000080;
}


/* お届け先リスト */
.fs-c-modal--addressList .fs-c-buttonContainer {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 24px 0 0 0;
    width: 100%;
    gap: 16px;
}
.fs-c-modal--addressList .fs-c-buttonContainer button {
    margin: 0;
}
.fs-c-checkout-addresseeList {
    margin: 0;
    padding: 0;
}
.fs-c-checkout-addressee {
    margin: 0 0 8px 0;
    padding: 16px;
    background: #F9F9F9;
    border-radius: 16px;
}
.fs-c-checkout-addressee:last-child {
    margin: 0;
}


/* ポイント利用 */
.fs-c-modal--checkout-point .fs-c-checkout-usePoint {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.fs-c-modal--checkout-point .fs-c-checkout-pointSettingList {
    display: inline-block;
    margin: 24px 0 16px 0;
}
.fs-c-modal--checkout-point .fs-c-checkout-pointSetting__inputUsePoint {
    display: flex;
    align-items: center;
}
.fs-c-modal--checkout-point .fs-c-checkout-pointSetting__inputUsePoint input {
    width: 10em;
}
.fs-c-modal--checkout-point .fs-c-checkout-pointSetting__inputUsePoint label {
    margin-left: 8px;
    white-space: nowrap;
}


/* カード情報入力 ※モーダル */
.fs-c-modal--checkout-creditCard-add input[name="securityCode"] {
    width: 5em!important;
}


/* 配送方法 ※モーダル */
.fs-c-modal--checkout-deliveryMethod .fs-c-modal__contents {
    margin: 24px auto 0 auto;
    max-width: 420px;
}
.fs-c-checkout-deliveryMethod__title {
    margin: 0 0 16px 0;
    padding: 0 0 16px 0;
    border-bottom: solid 1px #CCCCCC;
}
.fs-c-modal--checkout-deliveryMethod .fs-c-checkout-deliveryMethod__message {
    color: var(--col-red-50);
    font-weight: 600;
}
.fs-c-modal--checkout-deliveryMethod .fs-c-checkout-deliveryMethod__option__title {
    display: none;
}
.fs-c-modal--checkout-deliveryMethod .fs-c-checkout-deliveryMethod__option__message {
    margin: 8px 0 8px 0;
    padding: 0 0 0 0;
    color: var(--col-purple-20);
    font-size: 1.3rem;
}
.fs-c-modal--checkout-deliveryMethod .fs-c-checkout-deliveryMethod__option__message::before {
    content: '※';
}
.fs-c-modal--checkout-deliveryMethod .fs-c-checkout-deliveryMethod__option__setting {
    margin: 24px 0 0 0;
    display: flex;
    flex-wrap: wrap;
}
.fs-c-modal--checkout-deliveryMethod .fs-c-checkout-deliveryMethod__option__setting dt {
    margin-inline-start: 0;
    padding: 0 0 18px 0;
    width: 8em;
}
.fs-c-modal--checkout-deliveryMethod .fs-c-checkout-deliveryMethod__option__setting dd {
    margin-inline-start: 0;
    padding: 0 0 18px 0;
    width: calc(100% - 8em);
}
.fs-c-modal--checkout-deliveryMethod .fs-c-checkout-deliveryMethod__option__setting dd p {
    margin: 4px 0 0 0;
    font-size: 1.3rem;
}





/* 現在登録されている商品はありません。------------------------------------------------------- */
.fs-c-noResultMessage {
    margin: 0 auto;
    padding: 5vh 0 5vh 0;
    text-align: center;
}
.fs-c-noResultMessage__title {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    padding: 40px 24px;
    width: 100%;
    max-width: 350px;
    border-radius: 16px;
    background: #F9F9F9;
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.15);
}
.fs-c-noResultMessage__title--lead {
    display: block;
    margin: 0 0 16px 0;
    padding: 0;
    color: var(--col-base-50);
    font-size: 3rem;
    font-weight: 200;
    letter-spacing: .2em
}
@media screen and (max-width: 575px) {
    .fs-c-noResultMessage__title {
        font-size: 1.2rem;
    }
    .fs-c-noResultMessage__title--lead {
        font-size: 2.5rem;
    }
}








/* Terms & Policies（各種規約）------------------------------------------------------- */

/* 特定商取引法に基づく表示 */
.fotl-tpTokusho {
    margin: 0 auto;
    padding: 0 16px;
    max-width: 880px
}
.fotl-tokusho {
    margin: 0;
    padding: 0;
}
.fotl-tokusho table {
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-tokusho table tr {
    margin: 0;
    padding: 16px;
    text-align: right;
}
.fotl-tokusho table tr th {
    margin: 0;
    padding: 16px;
    text-align: left;
    font-weight: 200;
    font-size: 1.2rem;
    white-space: nowrap;
    border: solid 1px #EEEEEE;
}
.fotl-tokusho table tr th br {
    display: none;
}
@media screen and (max-width: 575px) {
    .fotl-tokusho table tr th br {
        display: block;
    }
}
.fotl-tokusho table tr td {
    margin: 0;
    padding: 16px;
    text-align: left;
    line-height: 1.6;
    font-size: 1.3rem;
    word-break: break-all;
    border: solid 1px #EEEEEE;
}
.fotl-tokusho table tr td .newLine {
    display: block;
    margin: 0 0 12px 0;
    padding: 0;
}
.fotl-tokusho table tr td .newLine:last-child {
    margin: 0;
}
/* 個人情報取り扱いについて・会員規約について */
.fotl-tpPrivacyPolicy ,
.fotl-tpMembershipTerms {
    margin: 0 auto;
    padding: 0 16px;
    max-width: 880px
}
.fotl-privacyPolicy ,
.fotl-membershipTerms {
    margin: 0;
    padding: 0;
}
.fotl-privacyPolicy__item ,
.fotl-membershipTerms_item {
    margin: 24px 0 0 0;
    padding: 0;
}
.fotl-privacyPolicy__item .sTitle ,
.fotl-membershipTerms_item .sTitle {
    margin: 0 0 0 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 200;
}
.fotl-privacyPolicy__item .text ,
.fotl-membershipTerms_item .text {
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 1.3rem;
    line-height: 1.75;
}
.fotl-privacyPolicy__item .num ,
.fotl-membershipTerms_item .num {
    padding-left: 1em;
    text-indent: -1em;
}
.fotl-privacyPolicy__item .num::first-letter ,
.fotl-membershipTerms_item .num::first-letter {
    font-weight: 600;
    font-size: 1.5rem;
}

/* ガイド */
.fotl-tpGuide {
    margin: 0 auto;
    padding: 0 16px;
    max-width: 1000px
}
.fotl-guide {
    margin: 0;
    padding: 0;
}
.fotl-guide__item {
    margin: 32px 0 0 0;
    padding: 0 0 32px 0;
    border-bottom: solid 1px #EEEEEE;
}
.fotl-guide__item--title {
    margin: 0;
    padding: 0 0 0 8px;
}
.fotl-guide__item--title .title {
    padding: 0 0 0 8px;
    font-size: 2rem;
    border-left: solid 5px #000000;
}
.fotl-guide__item--title .lead {
    display: block;
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 1.4rem;
    font-weight: 200;
}
.fotl-guide__item--item {
    margin: 24px 0 0 0;
    padding: 0;
}
.fotl-guide__item--item .stitle {
    margin: 32px 0 0 0;
    padding: 0;
    font-size: 1.75rem;
    font-weight: 200;
}
.fotl-guide__item--item .sstitle {
    margin: 24px 0 0 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 200;
}
.fotl-guide__item--item .text {
    margin: 8px 0 0 0;
    padding: 0 0 0 1em;
    line-height: 1.75;
    font-size: 1.3rem;
}
.fotl-guide__item--item .text b {
    font-size: 1.4rem;
}
.fotl-guide__item--item .text a {
    color: var(--col-blue-50);
}
.fotl-guide__item--item .text .btn {
    color: #FFFFFF;
    padding: 0 12px 2px 12px;
    background: #000000;
    border-radius: 30px;
}
.fotl-guide__item--item .bgFrame {
    display: inline-block;
    margin: 12px 0 0 0;
    padding: 16px;
    line-height: 2;
    background: #F9F9F9;
    border-radius: 16px;
}
.fotl-guide__item--item .bgFrame p {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}

.fotl-guide__item--item .cardImages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 12px 0 0 0;
    padding: 0 0 0 1em;
}
.fotl-guide__item--item .cardImages img {
    margin: 0 8px 0 0;
    height: 35px;
}
.fotl-guide__item--item .cardImages img:first-child {
    border: solid 1px #EEEEEE;
    border-radius: 4px;
}
.fotl-guide__item--item .list-status {
    display: block;
    margin: 16px 0 0 0;
    padding: 0 0 0 16px;
    font-size: 1.3rem;
}
.fotl-guide__item--item .list-status tr {
    margin: 0;
}
.fotl-guide__item--item .list-status tr th {
    margin: 0;
    padding: 0 0 8px 0;
    text-align: left;
}
.fotl-guide__item--item .list-status tr td {
    margin: 0;
    padding: 0 0 8px 16px;
}
@media screen and (max-width: 575px) {
    .fotl-guide__item--item .list-status tr th {
        display: block;
        padding: 12px 0 0 0;
    }
    .fotl-guide__item--item .list-status tr td {
        display: block;
        padding: 4px 0 0 8px;
    }
}

/* カスタマーサポート窓口 */
.fotl-guide__custSpt--expl {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 16px 0 0 0;
}
.fotl-guide__custSpt--expl .item {
    position: relative;
    margin: 0 0 0 0;
    padding: 24px 16px;
    width: calc((100% / 2) - 8px);
    text-align: center;
    background: #F9F9F9;
    border-radius: 16px;
}
@media screen and (max-width: 575px) {
    .fotl-guide__custSpt--expl .item {
        width: 100%;
    }
}
.fotl-guide__custSpt--expl .item .stitle {
    margin: 0 0 0 0;
    padding: 0;
    font-size: 1.75rem;
    font-weight: 200;
}
.fotl-guide__custSpt--expl .item .num {
    display: block;
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 2.25rem;
}
.fotl-guide__custSpt--expl .item .num a {
    color: #0000FF;
    font-size: 2.25rem;
}
.fotl-guide__custSpt--expl .item .open {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 12px 0 0 0;
    padding: 0;
}
.fotl-guide__custSpt--expl .item .open span {
    display: inline-block;
    margin: 0 4px 0 0;
    padding: 2px 8px 4px 8px;
    color: #FFFFFF;
    font-size: 1.2rem;
    background: var(--col-base-50);
    border-radius: 2px;
}
.fotl-guide__custSpt--expl .item .suppl {
    display: block;
    margin: 12px 0 0 0;
    padding: 0;
    width: 100%;
    font-size: 1.2rem;
}

/* メールフォーム（フリーページ）------------------------------------------------------- */
.fotl-tpInquery {
    margin: 0 auto;
    padding: 0 16px;
    max-width: 560px;
}
.fotl-mailform {
    margin: 0 0 0 0;
    padding: 24px;
    background: #F9F9F9;
    border-radius: 16px;
}
.fotl-mailform__input {
    margin: 32px 0 0 0;
    padding: 0;
}
.fotl-mailform__input:first-child {
    margin: 0 0 0 0;
}
.fotl-mailform__input label {
    margin: 0 0 0 0;
    padding: 0;
    font-size: 1.3rem;
}
.fotl-mailform__input label::before {
    content: '必須';
    margin-right: 4px;
    color: var(--col-red-50);
    font-size: 1rem;
}
.fotl-mailform__input input ,
.fotl-mailform__input textarea {
    display: block;
    margin: 8px 0 0 0;
    padding: 0;
}
.fotl-mailform__coution {
    display: block;
    margin: 12px 0 0 0;
    padding: 0;
    font-size: 1.3rem;
}
.fotl-mailform__coution {
    display: block;
    margin: 24px 0 0 0;
    padding: 0;
    text-align: center;
    font-size: 1.3rem;
}
.fotl-mailform__btn {
    display: block;
    margin: 24px auto 0 auto!important;
    padding: 0;
    max-width: 320px;
}

.fotl-mailform__thank {
    margin: 0 0 0 0;
    padding: 0;
}
.fotl-mailform__thank--title {
    margin: 0 0 0 0;
    padding: 0;
    text-align: center;
    font-size: 1.75rem;
    font-weight: 200;
}
.fotl-mailform__thank--lead {
    margin: 24px 0 0 0;
    padding: 0;
}
.fotl-mailform__thank--text {
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 1.3rem;
}

.fotl-tpInquery .fs-c-button--standard {
    margin: 56px auto 0 auto;
}








/* メールマガジン ------------------------------------------------------- */
/* 申込・停止 */
.fotl-tpMailMagagine {
    margin: 0 auto;
    padding: 0 16px;
    max-width: 560px;
}
.fotl-tpMailMagagine form {
    margin: 16px 0 0 0;
    padding: 24px;
    background: #F9F9F9;
    border-radius: 16px;
}
.fotl-tpMailMagagine .fs-c-privacyPolicyAgreeField {
    margin: 16px 0 0 0;
    text-align: center;
}
.fotl-tpMailMagagine .fs-c-inputInformation__button {
    margin: 24px auto 0 auto;
    max-width: 350px; 
    text-align: center;
}
/* 完了（サンクス） */
/* 完了（サンクス） */
.fotl-mailMagagine__thank {
    margin: 0 0 0 0;
    padding: 24px 16px;
    background: #F9F9F9;
    border-radius: 16px
}
.fotl-mailMagagine__thank--title {
    margin: 0 0 0 0;
    padding: 0;
    text-align: center;
    font-size: 1.75rem;
    font-weight: 200;
}
.fotl-mailMagagine__thank--lead {
    margin: 24px 0 0 0;
    padding: 0;
}
.fotl-mailMagagine__thank--text {
    margin: 8px 0 0 0;
    padding: 0;
    font-size: 1.3rem;
}
.fotl-tpMailMagagine .fs-c-button--standard {
    margin: 56px auto 0 auto;
}




/* ブランド概要 ------------------------------------------------------- */
.fotl-tpBrand {
    margin: 0 auto;
    padding: 0 16px;
    max-width: 720px;
}
.fotl-brand {
    margin: 0;
    padding: 0;
}
.fotl-brand__about {
    margin: 0;
    padding: 0;
}
.fotl-brand__about img {
    margin: 0 auto;
    padding: 0;
    width: 250px;
}
@media screen and (max-width: 575px) {
    .fotl-brand__about img {
        width: 175px;
    }
}
.fotl-brand__text {
    display: flex;
    flex-direction: column;
    margin: 72px 0 0 0;
    padding: 0;
    gap: 24px;
}
@media screen and (max-width: 575px) {
    .fotl-brand__text {
        margin: 56px 0 0 0;
    }
}
.fotl-brand__text p {
    margin: 0;
    padding: 0;
}
.fotl-brand__history {
    margin: 120px 0 0 0;
}
.fotl-brand__logoHistory {
    margin: 88px 0 0 0;
}
@media screen and (max-width: 575px) {
    .fotl-brand__history {
        margin: 80px 0 0 0;
    }
    .fotl-brand__logoHistory {
        margin: 56px 0 0 0;
    }
}






/* グループ（商品一覧）------------------------------------------------------- */
.fotl-productList {
}

/* パンくず */
.fotl-productList .fs-c-breadcrumb {
    margin: 0 auto 0 auto;
    padding: 40px 16px;
    max-width: 1232px;
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-breadcrumb {
        padding: 32px 16px;
    }
}
.fotl-productList .fs-c-breadcrumb ol {
    margin: 0;
    padding: 0;
}
.fotl-productList .fs-c-breadcrumb ol li {
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
}
.fotl-productList .fs-c-breadcrumb ol li:last-child {
    display: block;
    margin: 0 0 0 -2px;
    padding: 0;
    font-weight: 600;
    font-size: 3.75rem;
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-breadcrumb ol li:last-child {
        font-size: 2rem;
    }
}
.fotl-productList .fs-c-breadcrumb__listItem::after ,
.fotl-productList .fs-c-breadcrumb__listItem:first-child::after {
    position: relative;
    bottom: 1px;
    content: "\203A";
    margin-right: 4px;
    margin-left: 4px;
}
.fotl-productList .fs-c-breadcrumb__listItem::before ,
.fotl-productList .fs-c-breadcrumb__listItem:first-child::before ,
.fotl-productList .fs-c-breadcrumb__listItem:last-child::before ,
.fotl-productList .fs-c-breadcrumb__listItem:last-child::after {
    content: "";
}




/* 検索結果パングズ（タイトル） */
.fotl-searchList .fs-c-breadcrumb ol li:last-child {
    font-size: 2.25rem;
}
.fotl-searchList .fs-c-breadcrumb__listItem:first-child::before {
    content: "検索：";
    font-size: 1.5rem;
    font-weight: 200;
}
.fotl-searchList .fs-c-breadcrumb__listItem:first-child::after {
    content: "の検索結果";
    font-size: 1.5rem;
    font-weight: 200;
}
@media screen and (max-width: 575px) {
    .fotl-searchList .fs-c-breadcrumb ol li:last-child {
        font-size: 1.75rem;
    }
    .fotl-searchList .fs-c-breadcrumb__listItem:first-child::before {
        font-size: 1.3rem;
    }
    .fotl-searchList .fs-c-breadcrumb__listItem:first-child::after {
        font-size: 1.3rem;
    }
}




/* 商品グループ ボタン */
.fotl-productList .fs-c-subgroup {
    margin: 0 auto 0 auto;
    padding: 0 16px 32px 16px;
    max-width: 1232px;
    border-bottom: solid 1px var(--col-base-90);
}
.fotl-productList .fs-c-subgroup .fs-c-subgroupList {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-subgroup .fs-c-subgroupList {
        gap: 8px;
    }
}
.fotl-productList .fs-c-subgroup .fs-c-subgroupList li {
    margin: 0;
    padding: 0;
    width: calc((100% / 4) - 12px);
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-productList .fs-c-subgroup .fs-c-subgroupList li {
        width: calc((100% / 3) - 10.66666667px);
    }
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-subgroup .fs-c-subgroupList li {
        width: calc((100% / 2) - 6px);
    }
}
.fotl-productList .fs-c-subgroup .fs-c-subgroupList li a {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 8px;
    width: 100%;
    background: var(--col-base-95);
    border-radius: 3px;
}
.fotl-productList .fs-c-subgroup .fs-c-subgroupList li a:hover {
    background: var(--col-base-90);
}
.fotl-productList .fs-c-subgroup .fs-c-subgroupList li a .fs-c-subgroupList__image {
    padding: 4px;
    border-radius: 3px;
    background: #FFFFFF;
}
.fotl-productList .fs-c-subgroup .fs-c-subgroupList li a .fs-c-subgroupList__image img {
    width: 32px;
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-subgroup .fs-c-subgroupList li a .fs-c-subgroupList__image img {
        width: 28px;
    }
}
.fotl-productList .fs-c-subgroupList__label {
    padding: 0 0 0 1em;
    width: calc(100% - 75px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-productList .fs-c-subgroupList__label {
        width: calc(100% - 45px);
        font-size: 1.3rem;
    }
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-subgroupList__label {
        width: calc(100% - 37.5px);
        padding: 0 0 0 .5em;
        font-size: 1.1rem;
    }
}
.fotl-productList .fs-c-subgroup .fs-c-listControl {
    display: none;
}

/* ※バンドル対象一覧のみ 独自コメント設定（運用内） */
.fotl_bundleListCommentWrap {
    margin: 0 auto 40px auto;
    padding: 16px;
    max-width: 1232px;
    background: #F9F9F9;
    border-radius: 16px;
}

/* 並び替え・ページャーパーツ */
.fotl-productList .fs-c-productList__controller {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 24px auto 0 auto;
    padding: 16px 16px 0 16px;
    max-width: 1232px;
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-productList__controller {
        margin: 24px auto 24px auto;
    }
}
.fotl-productList .fs-c-productList__controller:last-of-type {
    margin: 48px auto 0 auto;
    padding: 0 16px 0 16px;
}
.fotl-productList .fs-c-sortItems {
    margin: 0 0 0 0;
    padding: 0;
    width: 100%;
}
.fotl-productList .fs-c-sortItems__label {
    display: none;
}
.fotl-productList .fs-c-sortItems__list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    width: 100%;
}

.fs-c-sortItems__list__item.is-active span {
    position: relative;
    display: flex;
    align-items: center;
}
.fs-c-sortItems__list__item.is-active span:before {
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    content: "\e876";
    font-family: "Material Icons";
    color: var(--col-green-70);
    font-size: 3rem;
    line-height: 0;
}

.fotl-productList .fs-c-listControl {
    margin: 40px 0 0 0;
    padding: 0;
    width: 100%;
    text-align: center;
}
.fotl-productList .fs-c-listControl__status {
    display: inline-block;
    margin: 0;
    padding: 10px 32px 14px 32px;
    height: 46px;
    letter-spacing: .1em;
    border: solid 1px var(--col-base-50);
    border-radius: 3px;
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-sortItems {
    display: none;
}


/* ページャーパーツ */
.fotl-productList .fs-c-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 16px auto 0 auto;
    text-align: center;
}
.fotl-productList .fs-c-pagination .fs-c-pagination__item {
    display: flex;
    justify-content: center;
    flex: 0;
    margin: 0;
    padding: 8px 16px;
    text-align: center;
    white-space: nowrap;
}
.fotl-productList .fs-c-productList__controller:first-of-type .fs-c-pagination .fs-c-pagination__item--prev ,
.fotl-productList .fs-c-productList__controller:first-of-type .fs-c-pagination .fs-c-pagination__item--next {
    font-size: 3rem;
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev ,
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next {
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 40px 0 0 0;
    padding: 0 32px;
    width: 200px;
    height: 46px;
    background: var(--col-base-95);
    border-radius: 3px;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev ,
    .fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next {
        width: 150px;
    }
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev,
    .fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next {
        padding: 0 19px;
        width: auto;
        height: 46px;
    }
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev {
    left: 16px;
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next {
    right: 16px;
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next::before ,
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev::after {
    display: inline-block;
    margin: 0 auto;
    font-size: 1.4rem;
    font-weight: 600;
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next::before {
    content: '次へ　　';
    padding-right: 1em;
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev::after {
    content: '前へ';
    padding-left: 1em;
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next::before ,
    .fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev::after {
        display: none;
    }
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev::before ,
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block!important;
    font-family: "Material Symbols Outlined"!important;
    font-size: 4rem !important;
    font-weight: 600!important;
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev::before {
    left: 0;
    content: "\e5cb"!important;
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next::after {
    right: 0;
    content: "\e5cc"!important;
}
@media screen and (max-width: 575px) {
    .fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev::before {
        left: -2px;
    }
    .fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next::after {
        right: -2px;
    }
}
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--prev:hover,
.fotl-productList .fs-c-productList__controller:last-of-type .fs-c-pagination .fs-c-pagination__item--next:hover {
    background: var(--col-base-90);
}



/* グループ(カテ)Heroエリア（フリーパーツ） */
.fotl-groupHero {
    margin: 0 0 48px 0;
    padding: 0;
    border-radius: 16px;
    overflow: hidden;
}
@media screen and (max-width: 991px) {
    .fotl-groupHero {
        border-radius: 0;
        overflow: hidden;
    }
}
@media screen and (max-width: 575px) {
    .fotl-groupHero {
        margin: 0 0 32px 0;
    }
}




/* 一覧 -------------------------- */
.fs-c-productList__list {
    display: flex;
    flex-wrap: wrap;
    margin: 56px auto 0 auto;
    padding: 0 16px;
    gap: 72px 48px;
    max-width: 1232px;
}
.fs-c-productList__list__item {
    position: relative;
    margin: 0;
    padding: 0;
    width: calc((100% / 4) - 36px);
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fs-c-productList__list {
        padding: 0 24px;
        gap: 64px 40px;
    }
    .fs-c-productList__list__item {
        width: calc((100% / 3) - 26.66666667px);
    }
}
@media screen and (max-width: 575px) {
    .fs-c-productList__list {
        margin: 24px auto 0 auto;
        gap: 32px 16px;
    }
    .fs-c-productList__list__item {
        width: calc((100% / 2) - 8px);
    }
}

/* 商品画像wrapper */
.fotl-productList .fotl-productList__InTheImage {
    position: relative;
    margin: 0 0 16px 0;
}
.fotl-productList .fotl-productList__InTheImage img {
    border-radius: 8px;
}

/* キャッチコピー 非表示中*/
.fs-c-productName__copy {
    display: none;
    margin: 0 0 4px 0;
    padding: 0;
    font-size: 1.2rem;
}
/* 商品マークパーツ*/
.fs-c-productList__list__item .fs-c-productMarks {
    margin: 0 0 4px 0;
}
/* キャッチコピー・バリエーション名 */
.fs-c-productList__list__item .fs-c-productName__copy ,
.fs-c-productList__list__item .fs-c-productName__variation {
    display: none;
}
/* 商品名 */
.fs-c-productListItem__productName {
    margin: 0 0 4px 0;
    padding: 0;
    line-height: 1.2;
    font-size: 1.5rem;
    font-weight: 400;
}
.fs-c-productListItem__productName .fs-c-productName__name.is-en {
    font-size: 1.4rem;
}
.fs-c-productListItem__productName .fs-c-productName__name.is-ja {
    font-size: 1.35rem;
}

/* 商品価格パーツ ----------- */
.fs-c-productListItem__prices {
    margin: 4px 0 0 0;
}
/* 通常価格(定価) 非表示中*/
.fs-c-productListItem__prices .fs-c-productPrice--listed .fs-c-productPrice__main {
    display: none;
    /*display: flex;*/
    align-items: center;
    margin: 4px 0 0 0;
    line-height: 1;
}
.fs-c-productListItem__prices .fs-c-productPrice--listed .fs-c-productPrice__main__label {
    margin-right: 4px;
    font-size: 1rem;
}
.fs-c-productListItem__prices .fs-c-productPrice--listed .fs-c-productPrice__main__price {
    font-size: 1.2rem;
}
/* 販売価格 */
.fs-c-productListItem__prices .fs-c-productPrice--selling {
    display: flex;
    align-items: flex-end;
    margin: 4px 0 0 0;
    line-height: 1;
}
.fs-c-productListItem__prices .fs-c-productPrice--selling .fs-c-productPrice__main {
    font-size: 1.6rem;
    letter-spacing: .05em;
}
.fs-c-productListItem__prices .fs-c-productPrice--selling .fs-c-productPrice__addon {
    position: relative;
    bottom: 1px;
    margin: 0 0 0 2px;
    font-size: 1rem;
}
/* 会員特別価格 */
.fs-c-productListItem__prices .fs-c-productPrice--member {
    display: flex;
    align-items: flex-end;
    margin: 4px 0 0 0;
    color: var(--col-red-50);
    line-height: 1;
}
.fs-c-productListItem__prices .fs-c-productPrice--member .fs-c-productPrice__main {
}
.fs-c-productListItem__prices .fs-c-productPrice--member .fs-c-productPrice__main .fs-c-productPrice__main__label {
    font-size: 1rem;
}
.fs-c-productListItem__prices .fs-c-productPrice--member .fs-c-productPrice__main .fs-c-price ,
.fs-c-productListItem__prices .fs-c-productPrice--member .fs-c-productPrice__main .fs-c-productPrice__main__price {
    all: unset;
    font-size: 1.6rem;
}
.fs-c-productListItem__prices .fs-c-productPrice--member .fs-c-productPrice__main .fs-c-productPrice__main__price::after {
    position: relative;
    bottom: 1px;
    content: '税込';
    margin: 0 0 0 2px;
    font-size: 1rem;
}
.fs-c-productListItem__prices .fs-c-productPrice--member .fs-c-productPrice__addon {
    display: none
}

/* 販売期間表示 */
.fs-c-productListItem__salesPeriodNotice {
    display: none;
}
.fs-c-productListItem__salesPeriod .fs-c-salesPeriod__date {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 8px 0 0 0;
    padding: 0;
}
.fs-c-productListItem__salesPeriod .fs-c-salesPeriod__date dt {
    margin: 0 8px 0 0;
    padding: 2px 8px 4px 8px;
    color: #FFFFFF;
    font-size: 1.1rem;
    background: var(--col-base-50);
    border-radius: 2px;
}
.fs-c-productListItem__salesPeriod .fs-c-salesPeriod__date dd {
    margin: 0 0 0 0;
    font-size: 1.4rem;
}





/* SOLD OUT */
.fs-c-productListItem__outOfStock.fs-c-productListItem__notice.fs-c-productStock {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translateY(-45%) translateX(-50%) rotate(10deg);
    padding: 0 8px 2px 8px;
    color: var(--col-red-50);
    font-weight: bold;
    text-align: center;
    font-size: 1.6rem;
    white-space: nowrap;
    background: #FFFFFFCC;
    border: solid 1px var(--col-red-50);
    border-radius: 3px;
    pointer-events: none;
}
@media screen and (max-width: 575px) {
    .fs-c-productListItem__outOfStock.fs-c-productListItem__notice.fs-c-productStock {
        font-size: 1.4rem;
    }
}

/* お気に入り登録ボタン */
.fs-c-productListItem__control {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    width: 100%;
}
.fs-c-productListItem__control .fs-c-button--addToWishList--icon ,
.fs-c-productListItem__control .fs-c-button--removeFromWishList--icon {
    position: relative;
    content: "\e87e";
    margin: 0 0 0 auto;
    color: var(--col-base-80);
    font-family: "Material Icons";
    font-size: 2.25rem;
    line-height: 1;
}
.fs-c-productListItem__control .fs-c-button--addToWishList--icon::before ,
.fs-c-productListItem__control .fs-c-button--removeFromWishList--icon::before {
    position: relative;
    content: "\e87e";
    color: var(--col-base-80);
    font-family: "Material Icons";
    font-size: 2.25rem;
    line-height: 1;
}
.fs-c-productListItem__control .fs-c-button--addToWishList--icon::before {
    content: "\e87e";
    color: var(--col-base-80);
}
.fs-c-productListItem__control .fs-c-button--removeFromWishList--icon::before {
    content: "\e87d";
    color: var(--col-pink-50);
}
.fs-c-productListItem__control .fs-c-button--addToWishList--icon .fs-c-button__label ,
.fs-c-productListItem__control .fs-c-button--removeFromWishList--icon .fs-c-button__label {
    display: none!important;
}
.fs-c-productListItem__control .fs-c-button--plain {
    margin: 0;
    padding: 2px 12px 4px 12px;
    color: #FFFFFF;
    font-size: 1.1rem;
    background: #000000;
    border-radius: 30px;
}









/* 商品ページ ------------------------------------------------------- */
.fotl-product {
    margin-top: 16px;
}

/* パンくず */
.fotl-product .fs-c-breadcrumb {
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 12px 16px 0 16px;
    max-width: 1232px;
}
.fotl-product .fs-c-breadcrumb:last-of-type {
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 0 16px 12px 16px;
    max-width: 1232px;
}
@media screen and (max-width: 575px) {
    .fotl-product .fs-c-breadcrumb {
        padding: 8px 16px 0 16px;
    }
    .fotl-product .fs-c-breadcrumb:last-of-type {
        padding: 2px 16px 8px 16px;
    }
}
.fotl-product .fs-c-breadcrumb ol {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.fotl-product .fs-c-breadcrumb ol li {
    margin: 0;
    padding: 0;
    line-height: 1.2;
    font-size: 1.2rem;
    white-space: nowrap;
}
.fotl-product .fs-c-breadcrumb ol li:last-child {
    margin: 0 0 0 0;
    padding: 0;
    font-weight: 600;
    font-size: 1.2rem;
    white-space: normal;
}
@media screen and (max-width: 575px) {
    .fotl-product .fs-c-breadcrumb ol li {
        font-size: 1rem;
    }
    .fotl-product .fs-c-breadcrumb ol li:last-child {
        font-size: 1rem;
    }
}
.fotl-product .fs-c-breadcrumb__listItem::after ,
.fotl-product .fs-c-breadcrumb__listItem:first-child::after {
    position: relative;
    bottom: 1px;
    content: "\203A";
    margin-right: 4px;
    margin-left: 4px;
}
.fotl-product .fs-c-breadcrumb__listItem::before ,
.fotl-product .fs-c-breadcrumb__listItem:first-child::before ,
.fotl-product .fs-c-breadcrumb__listItem:last-child::before ,
.fotl-product .fs-c-breadcrumb__listItem:last-child::after {
    content: ""!important;
}

.fotl-product .fs-c-breadcrumb__list--subgroup li {
    display: none!important;
}
.fotl-product .fs-c-breadcrumb__list--subgroup li:first-child {
    display: inline-block!important;
}
.fotl-product .fs-c-breadcrumb__list--subgroup li:first-child::after {
    display: none!important;
}



/* ----商品詳細 レイアウト------------------ */
.fs-l-productLayout {
    display: flex;
    flex-wrap: wrap;
    gap: 0 40px;
    margin: 0 auto;
    padding: 0;
    max-width: 1232px;
}
@media screen and (max-width: 1232px) {
    .fs-l-productLayout {
        padding: 0 16px;
    }
}



@media screen and (min-width: 576px) and (max-width: 991px) {
    .fs-l-productLayout {
        gap: 0 16px;
    }
}
@media screen and (max-width: 575px) {
    .fs-l-productLayout {
        padding: 0 0;
    }
}



/* ----画像エリア--- */
.fotl-productImagesWrap {
    margin: 0 auto;
    padding: 0;
    width: calc(55% - 20px);
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-productImagesWrap {
        width: calc(55% - 8px);
    }
}
@media screen and (max-width: 575px) {
    .fotl-productImagesWrap {
        width: 100%;
    }
}

.fotl-productImages {
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
.fotl-productImages .swiper {
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-productImages .swiper .swiper-wrapper {
    margin: 0;
    padding: 0;
}
.fotl-productImages .swiper .swiper-wrapper .swiper-slide {
    margin: 0;
    padding: 0;
    width: 100%;
}
.fotl-productImages .swiper .swiper-wrapper .swiper-slide  img {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    object-fit: cover;
}
/* サムネイル */
.fotl-productImages .thumb-swiper .swiper-thumb-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.fotl-productImages .thumb-swiper .swiper-thumb-wrapper .thumb-item {
    margin: 0;
    padding: 0;
    width: calc(100% / 8);
    opacity: 0.75;
    cursor: pointer;
    transition: opacity .2s;
}
.fotl-productImages .thumb-swiper .swiper-thumb-wrapper .thumb-item.active {
  opacity: 1;
}

/* ボタン next・prev */
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .1;
    cursor: auto;
    pointer-events: none
}
.swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 16px) !important;
    right: auto !important;
}
.swiper-button-next {
    right: var(--swiper-navigation-sides-offset, 16px) !important;
    left: auto !important;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .swiper-button-prev {
        left: var(--swiper-navigation-sides-offset, 12px) !important;
    }
    .swiper-button-next {
        right: var(--swiper-navigation-sides-offset, 12px) !important;
    }
}
@media screen and (max-width: 575px) {
    .swiper-button-prev {
        left: var(--swiper-navigation-sides-offset, 12px) !important;
    }
    .swiper-button-next {
        right: var(--swiper-navigation-sides-offset, 12px) !important;
    }
}
.swiper-button-prev:after {
    content: "" !important;
    width: 24px;
    height: 24px;
    border-left: solid 1px var(--col-green-50);
    border-bottom: solid 1px var(--col-green-50);
    transform: rotate(45deg)
}
.swiper-button-next:after {
    content: "" !important;
    width: 24px;
    height: 24px;
    border-top: solid 1px var(--col-green-50);
    border-right: solid 1px var(--col-green-50);
    transform: rotate(45deg)
}

/* zoom モーダル ---------------- */
.fotl-productImagesZoomModal {
    position: fixed;
    inset: 0;
    z-index: 9999999;
    display: none;
}
.fotl-productImagesZoomModal.is-open {
    display: block;
}
.fotl-productImagesZoomModal__bg {
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,1);
}
.fotl-productImagesZoomModal__inner {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fotl-productImagesZoomModal .swiper {
    width: 100vw;
    height: 100vh;
}
.fotl-productImagesZoomModal .swiper-slide {
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.fotl-productImagesZoomModal img {
    width: auto;
    height: auto;
    max-width: min(1000px, 100vw);
    max-height: 100vh;
    display: block;
}



/* 拡大ボタン */
.fotl-productImagesZoomModal__zoomBtn {
    position: absolute;
    bottom: 8px;
    right: 8px;
    width: 4.5rem;
    height: 4.5rem;
    z-index: 10;
    cursor: pointer;
    background: #FFFFFF80;
    border-radius: 50%;
}
.fotl-productImagesZoomModal__zoomBtn:hover {
    background: #FFFFFFE6;
}
.fotl-productImagesZoomModal__zoomBtn::after {
    content: "\e8ff";
    font-family: "Material Symbols Outlined";
    font-size: 4rem;
    color: #000000;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
/* 閉じるボタン */
.fotl-productImagesZoomModal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 10;
    cursor: pointer;
}
.fotl-productImagesZoomModal__close::after {
    content: "\e5cd";
    font-family: "Material Symbols Outlined";
    font-size: 7.5rem;
    color: #000000;
    align-items: center;
    line-height: 1;
}







/* ----詳細エリア--- */
.fotl-productDetailWrap {
    margin: 0 auto;
    padding: 0;
    width: calc(45% - 20px);
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .fotl-productDetailWrap {
        margin: 0;
        padding: 0;
        width: calc(45% - 8px);
    }
}
@media screen and (max-width: 575px) {
    .fotl-productDetailWrap {
        margin: 0;
        padding: 16px;
        width: 100%;
    }
}




/* 商品マークパーツ（システムパーツ）*/
.fs-c-productMarks {
    margin: 0 0 8px 0;
    padding: 0
}
.fs-c-productMark {
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 4px;
}
.fs-c-productMark__mark {
    display: block;
    margin: 0;
    padding: 4px 8px;
    color: #FFFFFF;
    font-size: 1.2rem;
    line-height: 1;
    border-radius: 3px;
}
.fotl_mark-2buy10off {
    background: var(--col-blue-60);
}
.fotl_mark-ecLimited {
    background: var(--col-green-60);
}





/* 商品名パーツ（システムパーツ）*/
.fs-c-productNameHeading {
    margin: 0;
    padding: 0;
}
.fs-c-productNameHeading .fs-c-productNameHeading__copy {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 1.2rem;
    font-weight: 400;
}
.fs-c-productNameHeading .fs-c-productNameHeading__name {
    display: block;
    margin: 8px 0 0 0;
    padding: 0;
    line-height: 1.2;
    font-size: 2rem;
    font-weight: 400;
}
@media screen and (max-width: 575px) {
    .fs-c-productNameHeading .fs-c-productNameHeading__name {
        margin: 4px 0 0 0;
    }
}


/* 商品番号パーツ（システムパーツ）*/
.fs-c-productNumber {
    margin: 4px 0 0 0;
    padding: 0;
    color: var(--col-base-65);
    font-size: 1.4rem;
    font-weight: 200;
}
.fs-c-productNumber__label {
    display: none;
}
.fs-c-productNumber__number {
    margin: 0;
    padding: 0;
    letter-spacing: .05em;
}
.fs-c-productNumber__number::before {
    content: 'No.';
    font-size: .9em;
}




/* 商品価格パーツ（システムパーツ）*/
.fs-c-productPrices--productDetail {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    margin: 4px 0 0 0;
    padding: 0;
}
/*通常販売価格 */
.fs-c-productPrices--productDetail .fs-c-productPrice--listed {
    width: 100%;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--listed .fs-c-productPrice__main {
    display: none;
    /*display: flex;*/
    align-items: center;
    margin: 4px 0 0 0;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--listed .fs-c-productPrice__main__label {
    margin-right: 4px;
    font-size: 1.1rem;
    font-weight: 600;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--listed .fs-c-productPrice__main__price {
    font-size: 1.4rem;
}
/*販売価格*/
.fs-c-productPrices--productDetail .fs-c-productPrice--selling {
    display: flex;
    align-items: flex-end;
    margin: 12px 0 0 0;
    line-height: 1;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--selling .fs-c-productPrice__main {
    font-size: 2.25rem;
    letter-spacing: .05em;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--selling .fs-c-productPrice__addon {
    position: relative;
    bottom: 3px;
    margin-left: 2px;
    font-size: 1.2rem;
}
/*「会員価格あり」テキスト*/
.fs-c-productPrices--productDetail .fs-c-mark--memberPrice {
    position: relative;
    bottom: 1px;
    margin: 0 0 0 12px;
    padding: 1px 8px 2px 8px;
    color: #FFFFFF;
    font-size: 1.2rem;
    background: var(--col-red-50);
    border-radius: 3px;
}
/* 会員特別価格 */
.fs-c-productPrices--productDetail .fs-c-productPrice--member {
    display: flex;
    align-items: flex-end;
    margin: 12px 0 0 0;
    width: 100%;
    color: var(--col-red-50);
    line-height: 1;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--member .fs-c-productPrice__main {
    display: flex;
    align-items: flex-end;
    font-size: 2.25rem;
    letter-spacing: .05em;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--member .fs-c-productPrice__main .fs-c-productPrice__main__label {
    margin-right: 10px;
    padding: 3px 8px 5px 8px;
    color: #FFFFFF;
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0;
    background: var(--col-red-50);
    border-radius: 3px;
}
.fs-c-productPrices--productDetail .fs-c-productPrice--member .fs-c-productPrice__addon {
    position: relative;
    bottom: 2px;
    margin-left: 2px;
    font-size: 1.2rem;
}



/* ポイントパーツ（システムパーツ）*/
.fs-c-productPointDisplay {
    margin: 16px 0 0 0;
    padding: 0;
}
.fs-c-productPointDisplay__label ,
.fs-c-productPointDisplay__unit {
    display: none;
}
.fs-c-productPointDisplay__quantity {
    display: inline-block;
    margin: 0;
    padding: 1px 8px 4px 8px;
    color: #FFFFFF;
    font-size: 1.5rem;
    font-weight: 400;
    background: var(--col-purple-15);
    border-radius: 2px;
}
.fs-c-productPointDisplay__quantity::before {
    content: '獲得ポイント：';
    font-size: 1.1rem;
    line-height: 1!important;
    font-weight: 200;
}
.fs-c-productPointDisplay__quantity::after {
    content: ' ポイント';
    font-size: 1.1rem;
    line-height: 1!important;
    font-weight: 200;
}


/* 販売期間表示（システムパーツ）*/
.fs-c-productSalesPeriod {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    font-size: 0;
}
.fs-c-productSalesPeriod .fs-c-productSalesPeriod__label {
    margin: 16px 8px 0 0;
    padding: 2px 8px 4px 8px;
    color: #FFFFFF;
    font-size: 1.1rem;
    background: var(--col-base-50);
    border-radius: 2px;
}
.fs-c-productSalesPeriod .fs-c-productSalesPeriod__date {
    margin: 16px 0 0 0;
    font-size: 1.4rem;
}


/* ログイン誘導リンク（システムパーツ）*/
.fs-c-productMembersLoginLink {
    display: inline-block;
    margin: 12px 0 0 0;
    padding: 0;
    font-size: 1.2rem;
    color: var(--col-blue-50);
    text-decoration: underline;
}



/* 在庫なし表示テキスト（システムパーツ）*/
.fs-c-productNotice--outOfStock {
    display: flex;
    align-items: center;
    margin: 32px 0 0 0;
    padding: 4px 16px;
    background: var(--col-red-95);
    border-radius: 3px;
}
.fs-c-productNotice--outOfStock::before {
    margin-right: 8px;
    content: "\e85a";
    font-family: "Material Icons";
    color: var(--col-red-50);
    font-size: 3rem;
}




/* カート・バリエーションごとにボタンパーツ（システムパーツ）*/
.fs-c-variationAndActions {
    margin: 24px 0 0 0;
    padding: 0;
    border-bottom: solid 1px #EEEEEE;
}
.fs-c-variationAndActions__variationLabel {
    display: none;
    margin: 0 0 0 0;
    font-weight: 600;
}
.fs-c-variationList__item {
    margin: 0 0 0 0;
}
.fs-c-variationList__item__body {
    margin-top: 0;
}
.fs-c-variationList__item__title {
    margin: 0;
    padding: 5px 12px;
    width: 100%;
    font-size: 1.5rem;
    font-weight: 600;
    background: #F9F9F9;
    border-radius: 2px;
}
.fs-c-variationList__item__cart {
    padding: 8px 0 0 0;
}
.fs-c-variationList__item__cart li {
    display: grid;
    align-items: center;
    margin: 0 0 6px 0;
    padding: 0 0 6px 0;
    gap: 16px;
    width: 100%;
    border-bottom: solid 1px #EEEEEE;
}
.fs-c-variationList__item__cart li:has(> div:nth-child(4)) {
    grid-template-columns: auto 1fr auto auto;
}
.fs-c-variationList__item__cart li:not(:has(> div:nth-child(4))) {
    grid-template-columns: 1fr auto auto;
}
.fs-c-variationList__item__cart li:last-child {
    border-bottom: none;
}
/* カラー別画像 */
.fs-c-variationList__item__image {
    margin: 0;
    padding: 6px 0 0 0;
}
/* サイズ別画像 */
.fs-c-variationCart--withImage .fs-c-variationCart__image {
    margin-right: 0;
}
/* サイズ・在庫状況*/
.fs-c-variationCart__variationName {
}
.fs-c-variationCart__variationName .fs-c-variationCart__variationName__name {
    font-size: 1.9rem;
}
.fs-c-variationCart__variationName .fs-c-variationCart__variationName__stock {
    display: block;
    margin: 0 0 0 0;
    font-size: 1.1rem;
}
/* お気に入りに登録する ボタン*/
.fs-c-variationCart__wishlist {
}
.fotl-product-favoriteEntry-btn .fs-c-button__label {
    font-size: 0;
}
.fotl-product-favoriteEntry-btn .fs-c-button__label::after {
    content: "\e87d";
    font-family: "Material Symbols Outlined";
    font-size: 3rem;
}
/* お気に入りに解除する ボタン*/
.fotl-product-favoriteCancellation-btn .fs-c-button__label {
    font-size: 0;
}
.fotl-product-favoriteCancellation-btn .fs-c-button__label::after {
    content: "\e87d";
    font-family: "Material Icons";
    font-size: 2.25rem;
}








/* カート・バリエーション選択スライダーパーツ（システムパーツ）*/
.fs-c-productChooseVariation {
    margin: 32px 0 0 0;
    padding: 0;
    border-bottom: solid 1px #EEEEEE;
}
.fs-c-variationPanelList__list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0 0 32px 0;
    gap: 8px;
    width: 100%;
}
.fs-c-productChooseVariation__variation:last-child .fs-c-variationPanelList__list {
    padding: 0 0 18px 0;
}
.fs-c-variationPanelList__list__item {
    display: flex;
    margin: 0;
    padding: 0;
    width: calc((100% / 4) - (8px * 3) / 4);
}
@media screen and (max-width: 991px) {
    .fs-c-variationPanelList__list__item {
        display: flex;
        margin: 0;
        padding: 0;
        width: calc((100% / 3) - (8px * 2) / 3);
    }
}

.fs-c-variationPanelList__radio {
    display: none;
}
.fs-c-variationPanelList__panel {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 8px 8px;
    min-height: 64px;
    width: 100%;
    line-height: 1.2;
    background: #fff;
    border-radius: 5px;
    border: solid 1px #000000;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.15);
    transition: all 0.5s ease;
    cursor: pointer;
}
.fs-c-variationPanelList__panel:hover {
    color: var(--col-green-70);
    border: solid 1px var(--col-green-70);
}
.fs-c-variationLabel__label {
    display: block;
    margin: 0 0 12px 0;
    padding: 0 0 0 6px;
    width: 100%;
    line-height: 1.2;
    font-size: 1.5rem;
    font-weight: 200;
    border-left: solid 2px var(--col-green-60);
}
.fs-c-productChooseVariation__variation .fs-c-variationLabel__value {
    display: none;
}
.fs-c-productChooseVariation__variation:last-of-type .fs-c-variationLabel__value {
    display: none;
}
.fs-c-variationPanelList__panel__image {
    margin: 0;
    padding: 0;
}
.fs-c-variationPanelList__panel__image img {
    margin: 0 auto 4px auto;
    padding: 0;
    width: 50px;
    border-radius: 6px;
}
.fs-c-variationPanelList__panel__label {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
}
.fs-c-productChooseVariation__variation:last-of-type .fs-c-variationPanelList__panel {
    display: flex;
    margin: 0;
    padding: 8px;
}
.fs-c-productChooseVariation__variation:last-of-type .fs-c-variationPanelList__panel .fs-c-variationPanelList__panel__label {
    display: block;
    margin: 0 0 0 0;
    padding: 0;
    font-size: 1.75rem
}
.fs-c-productChooseVariation__variation:last-of-type .fs-c-variationPanelList__panel .fs-c-variationPanelList__panel__stock {
    margin: 0;
    padding: 0;
    font-size: 1.2rem
}
/* radioがcheckedの時のlabel */
.fs-c-variationPanelList__radio:checked + .fs-c-variationPanelList__panel {
    color: var(--col-green-30);
    background: var(--col-green-90);
    border: solid 1px var(--col-green-90);
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0);
}

    .fs-c-variationPanelList__panel--outOfStock {
        color: var(--col-base-70);
        background: #F9F9F9;
        border: solid 1px rgba(0, 0, 0, 0);
        box-shadow: 0px 3px 3px rgba(0, 0, 0, 0);
        cursor: not-allowed;
    }


.fs-c-productQuantityAndWishlist {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 32px 0 0 0;
    padding: 0;
}
@media screen and (max-width: 575px) {
    .fs-c-productQuantityAndWishlist {
        margin: 24px 0 0 0;
    }
}
.fs-c-productQuantityAndWishlist__wishlist {
    order: 2;
}
.fs-c-button--addToWishList--detail ,
.fs-c-button--removeFromWishList--detail {
    display: flex;
    align-items: center;
    color: var(--col-base-20);
}
.fs-c-button--addToWishList--detail::before {
    content: "\e87d";
    font-family: "Material Symbols Outlined";
    color: var(--col-base-70);
    font-size: 4rem;
}
.fs-c-button--removeFromWishList--detail::before {
    content: "\e87d";
    font-family: "Material Icons";
    margin-right: 3px;
    color: var(--col-pink-50);
    font-size: 3.25rem;
}
.fs-c-button--addToWishList--detail .fs-c-button__label ,
.fs-c-button--removeFromWishList--detail .fs-c-button__label {
    font-size: 1.2rem;
}

.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__quantity {
    display: flex;
    align-items: center;
    order: 1;
}
.fs-c-productQuantityAndWishlist .fs-c-productQuantityAndWishlist__quantity::before {
    content: '数量';
    margin-right: 8px;
    white-space: nowrap;
}
.fs-c-productQuantityAndWishlist .fs-c-quantity__select {
    margin: 0;
    padding: 8px 0!important;
    color: var(--col-base-20);

    min-width: 3em;
    text-align: center;
    text-align-last: center;
    font-size: 1.75rem;
    background: #F9F9F9;
    border-radius: 4px;
    border: none;
    border: solid 1px #000000;
}
.fs-c-productQuantityAndWishlist .fs-c-quantity__select option:last-child {
    display: none;
}


/* 商品ページ  カートに入れる、再入荷お知らせ primary secondary */
.fs-c-productActionButton {
    margin-top: 24px;
}





/* 商品詳細 */
.fotl-pDetail {
    margin: 32px 0 0 0!important;
    padding: 0 0 0 0;
    border-top: solid 1px #EEEEEE;
}
.fotl-pd__cmt {
    margin: 0 0 24px 0;
    padding: 0;
    line-height: 1.75;
    font-size: 1.3rem;
    white-space: pre-line;
}
.fotl-pd__cmt .red {
    color: #FF0000;
}
.fotl-pd__size {
    margin: 0 0 24px 0;
    padding: 0;
}
.fotl-pd__size--tbl {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    line-height: 1.75;
    font-size: 1.3rem;
    table-layout: fixed;
    border-collapse: collapse;
}
.fotl-pd__size--tbl::before {
    position: absolute;
    top: -2.25em;
    right: 0;
    content: '単位：cm';
    font-size: 1.2rem;
    font-weight: 200;
}
.fotl-pd__size--tbl tr {
    margin: 0;
    padding: 0;
}
.fotl-pd__size--tbl tr th {
    margin: 0;
    padding: 12px;
    background: #EEEEEE;
    border: solid 1px #DDDDDD;
}
.fotl-pd__size--tbl tr th:first-child {
    font-size: 1.2rem;
    white-space: nowrap;
}
.fotl-pd__size--tbl tr td {
    margin: 0;
    padding: 12px;
    text-align: center;
    border: solid 1px #DDDDDD;
}
.fotl-pd__size--tbl tr td:first-child {
    background: #EEEEEE;
}
.fotl-pd__size--expl {
    margin: 8px 0 0 0;
    padding: 0;
    line-height: 1.75;
    font-size: 1.2rem;
    white-space: pre-line;
}
.fotl-pd__txt {
    margin: 0 0 16px 0;
    padding: 0 0 16px 0;
    border-bottom: solid 1px #EEEEEE;
}
.fotl-pd__txt:last-of-type {
    margin: 0 0 0 0;
}
.fotl-pd__txt--ttl {
    margin: 0 0 8px 0;
    padding: 0;
    line-height: 1.75;
    font-size: 1.4rem;
    font-weight: 200;
}
.fotl-pd__txt--txt {
    margin: 0 0 0 0;
    padding: 0;
    line-height: 1.75;
    font-size: 1.4rem;
    white-space: pre-line;
}



    /* 商品詳細 旧コメント ↓↓↓↓↓↓↓ */
    .fotl_oldComment {
        margin: 0;
        padding: 0;
        font-size: 1.3rem;
        line-height: 1.75;
    }
    .fotl_oldComment__item:first-child {
        margin: 0 0 0 0;
    }
    .fotl_oldComment__item:first-child:has(*) { /* ← 子要素がある場合 */
        margin: 24px 0 0 0;
    }
    .fotl_oldComment__item:last-child {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        border-bottom: none;
    }
    .fotl_oldComment__item:last-child:has(*) { /* ← 子要素がある場合 */
        margin: 0 0 24px 0;
        padding: 0 0 24px 0;
        border-bottom: solid 1px #EEEEEE;
    }
    .tbl_size {
        position: relative;
        margin: 24px 0 16px 0;
        padding: 0;
        width: 100%;
        line-height: 1.75;
        table-layout: fixed;
        border-collapse: collapse;
    }
    .tbl_size::before {
        position: absolute;
        top: -2.25em;
        right: 0;
        content: '単位：cm';
        font-size: 1.2rem;
        font-weight: 200;
    }
    .tbl_size tr {
        margin: 0;
        padding: 0;
    }
    .tbl_size tr th {
        margin: 0;
        padding: 12px;
        background: #EEEEEE;
        border: solid 1px #DDDDDD;
    }
    .tbl_size tr th:first-child {
        white-space: nowrap;
    }
    .tbl_size tr td {
        margin: 0;
        padding: 12px;
        text-align: center;
        border: solid 1px #DDDDDD;
    }
    .tbl_size tr td:first-child {
        background: #EEEEEE;
    }
    /* 商品詳細 旧コメント ↑↑↑↑↑↑↑ */


/* レビューパーツ・返品特約表示・お問い合わせパーツ */
.fotl-ReviewReturnInquiryWrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    margin: 24px 0 0 0;
    padding: 0;
}
.fotl-ReviewReturnInquiryWrap .fs-c-productReview .fs-c-button__label ,
.fotl-ReviewReturnInquiryWrap .fs-c-returnedSpecialContract a ,
.fotl-ReviewReturnInquiryWrap .fs-c-inquiryAboutProduct .fs-c-button__label {
    display: flex;
    align-items: center;
    margin: 0 0 0 24px;
    padding: 0;
    color: var(--col-base-50);
    font-size: 1.25rem;
}
.fotl-ReviewReturnInquiryWrap .fs-c-productReview .fs-c-button__label::before {
    content: "\e150";
    font-family: "Material Symbols Outlined";
    margin-right: 4px;
    font-size: 2.5rem;
}
.fotl-ReviewReturnInquiryWrap .fs-c-returnedSpecialContract a::before {
    content: "\eba1";
    font-family: "Material Symbols Outlined";
    margin-right: 4px;
    font-size: 2.5rem;
    transform: rotate(90deg);
}
.fotl-ReviewReturnInquiryWrap .fs-c-inquiryAboutProduct .fs-c-button__label::before {
    content: "\e158";
    font-family: "Material Symbols Outlined";
    margin-right: 4px;
    font-size: 2.5rem;
}


















/* おすすめ -------------------------- */














/* footer -------------------------- */
footer {
    margin: 0;
    padding: 0;
    width: 100%;
    background: #F7F7F7;
}
.footerInfo {
    margin: 0 auto;
    padding: 0 16px;
    max-width: 1232px;
}
.footerInfo__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 40px 0;
    line-height: 2; 
}
@media screen and (max-width: 575px) {
    .footerInfo__nav {
        padding: 24px 0;
    }
}
.footerInfo__nav a {
    margin: 0;
    padding: 0;
    font-size: 1.3rem;
}
@media screen and (min-width: 576px) and (max-width: 991px) {
    .footerInfo__nav a {
        font-size: 1.2rem;
    }
}
@media screen and (max-width: 575px) {
    .footerInfo__nav a {
        line-height: 2.5;
        font-size: 1.2rem;
    }
}
.footerInfo__bottom {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
    padding: 32px 0;
    border-top: solid 1px #DDDDDD;
}
@media screen and (max-width: 575px) {
    .footerInfo__bottom {
        padding: 32px 0 8px 0;
    }
}
.footerInfo__bottom--copy {
    margin: 0;
    padding: 0;
}
.footerInfo__bottom--sns {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}
.footerInfo__bottom--sns a {
    margin: 0 0 0 24px;
    padding: 0;
}
.footerInfo__bottom--sns a img {
    display: block;
    margin: 0;
    padding: 0;
    width: 20px;
}
@media screen and (max-width: 575px) {
    .footerInfo__bottom--copy {
        order: 2;
        margin: 24px 0 0 0;
        padding: 0;
        width: 100%;
        text-align: center;
        font-size: 1.2rem;
    }
    .footerInfo__bottom--sns {
        order: 1;
        justify-content: space-between;
        margin: 0;
        padding: 0;
        width: 100%;
    }
    .footerInfo__bottom--sns a {
        margin: 0 0 0 0;
    }
    .footerInfo__bottom--sns a:last-child img {
        width: 23px;
    }
}






















/* -------------------------- */
/* ボタン primary */
.fs-c-button--primary {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 16px;
    height: 52px;
    width: 100%;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.4rem;
    letter-spacing: .1em;
    background: #000000;
    border-radius: 50px;
}
.fs-c-button--primary:hover {
    background: #00000080;
}
/* ボタン secondary */
.fs-c-button--secondary {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 16px;
    height: 52px;
    width: 100%;
    text-align: center;
    color: var(--col-purple-30);
    font-size: 1.4rem;
    background: #FFFFFF;
    border: solid 1px var(--col-purple-30);
    border-radius: 50px;
}
.fs-c-button--secondary:hover {
    color: var(--col-purple-30);
    background: var(--col-purple-80);
    border: solid 1px var(--col-purple-80);
}
/* 
.fs-c-button--secondary .fs-c-button__label {
    display: flex;
    align-items: center;
}
.fs-c-button--secondary .fs-c-button__label::before {
    content: "\e7f4";
    font-family: "Material Symbols Outlined";
    font-size: 3rem;
    line-height: 0;
}
/* ボタン standard */
.fs-c-button--standard {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 0 0;
    padding: 3px 18px 4px 18px;
    color: var(--col-blue-50);
    font-size: 1.2rem;
    font-weight: 500;
    background: #FFFFFF;
    border: solid 1px var(--col-blue-50);
    border-radius: 50px;
}









/* -------------------------- */
/* 全幅100% */
.full {
    width: 100%!important;
}

/* 非表示 */
.fotl_hidden {
    display: none;
}



/* -------------------------- */
a {
    -webkit-transition: 0.5s;
    transition: 0.5s;
    outline: none;
    color: #000000;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
}
/* ------ */
img {
    display: block;
    border: none;
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
/* ------ */
table {
  border-collapse: collapse;
}
/* ------ */
button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    font-size: 1.4rem;
    background: transparent;
    margin-block: calc((1em - 1lh) / 2);
    transition: 0.5s;
    cursor: pointer;
}
button:focus {
    outline: 0;
}
/* ------ */
input {
    margin: 0;
    padding: 12px 8px!important;
    font-size: 1.6rem!important;
    background: #FFFFFF;
    outline: 0;
    border: solid 1px var(--col-base-60)!important;
    border-radius: 8px;
    transition: 0.5s;
    -webkit-appearance: none;
    appearance: none;
}
textarea {
    margin: 0;
    padding: 12px 8px;
    font-size: 1.6rem!important;
    background: #FFFFFF;
    outline: 0;
    border: solid 1px var(--col-base-50);
    border-radius: 8px;
    transition: 0.5s;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
    input:focus ,
    textarea:focus {
        outline: 0;
        border: solid 1px var(--col-green-70)!important;
    }

::placeholder {
    color: var(--col-base-60);
}

/* ------ */
select {
    margin: 0;
    padding: 12px 32px 12px 8px!important;
    background: #FFFFFF;
    outline: 0;
    font-size: 1.6rem!important;
    font-family: "Noto Sans JP"!important;
    border: solid 1px var(--col-base-60)!important;
    border-radius: 8px!important;
    -webkit-appearance: none;
    appearance: none;
}
    .fs-c-dropdown::after {
        width: 24px;
        padding: 0;
        border-left: 0!important;
        border-top-right-radius: 8px!important;
        border-bottom-right-radius: 8px!important;
    }
/* --- */
.fs-c-checkbox__checkMark {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    min-height: 24px;
    margin-right: 12px;
    border: 0;
    border: solid 2px var(--col-base-60);
}
.fs-c-checkbox__checkMark::before {
    all: unset;
    content: "\e5ca";
    font-family: "Material Icons"!important;
    font-size: 2rem;
    font-weight: 600;
    opacity: 0;
}
.fs-c-checkbox__checkbox:checked + label > .fs-c-checkbox__checkMark {
    min-width: 24px;
    min-height: 24px;
    border: solid 2px var(--col-green-60);
    background: var(--col-green-60);
}
.fs-c-checkbox__labelText {
    line-height: 1.65;
}
.fs-c-checkbox__labelText a {
    color: var(--col-blue-50);
}
/* --- */
.fs-c-radio__radioMark {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    min-height: 26px;
    margin-right: 4px;
    border: 0;
    border: solid 2px var(--col-base-60);
}
.fs-c-radio__radioMark::before {
    border-radius: 50%;
    content: "";
    display: block;
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark {
    border-color: var(--col-green-70);
    transition: all 0.5s 0s ease;
}
.fs-c-radio__radio:checked:enabled + label > .fs-c-radio__radioMark::before {
    min-width: 16px;
    min-height: 16px;
    background: var(--col-green-70);
    opacity: 1;
    transition: all 0.5s 0s ease;
}
.fs-c-radio__radioLabelText {
    line-height: 1.5;
}




/* --- */
.fs-c-button--displayPassword,
.fs-c-button--hidePassword {
    border: 0!important;
}
.fs-c-button--displayPassword::before ,
.fs-c-button--hidePassword::before {
    position: relative;
    bottom: 2px;
    font-family: "Material Icons";
    color: var(--col-base-50);
    font-size: 2.75rem;
}
.fs-c-button--displayPassword::before {
    content: "\e417";
}
.fs-c-button--hidePassword::before {
    content: "\e76e";
}



/* -------------------- */
@media screen and (max-width: 575px) {
    .onlySp { display: block; }
}
@media screen and (min-width: 575px) {
    .onlySp { display: none; }
}
/* -------------------- */
@media screen and (min-width: 575px) {
    .onlyPc { display: block; }
}
@media screen and (max-width: 575px) {
    .onlyPc { display: none; }
}






