/* 新規入会ページ
*************************/
.btnEntryGroup a.admissionButton {
    border-radius: 50px;
    font-weight: 500;
}

.figTerm_defer .figTerm_head {
    background-color: #f96870;
    border-radius: 3px;
}

.figTerm_valid .figTerm_head {
    background-color: #ff2631;
    border-radius: 3px;
}

.figTerm_entryDate {
    color: #ff2631;
}

.membersDetail_def dt {
    border-left: 4px solid #6666668f;
}

.figTerm_deferDeadline {
    color: #f96870;
}

.btnEntryGroup a {
    background-color: #666;
}

.membersDetail h3 {
    background-color: #666;
    border-radius: 10px;
}

.membersDetail_flow dt {
    background-color: #666 !important;
    border-radius: 10px;
}

.btnEntryGroup a {
    text-decoration: none;
}

.content.doc.admission {
    position: relative;
    margin-top: 0;
    border: 1px solid #666;
    border-radius: 12px;
    background-color: #fff;
    padding: 20px 12px 0px;
    filter: drop-shadow(0px 3px 0px #666);
    color: #000;
    text-align: left;
}

@media (min-width: 768px) {
    .figTerm_box {
        height: 7.5em;
    }

    .figTerm_before {
        width: 3%;
    }
}

@media (max-width: 767px) {
    .figTerm_head {
        width: 3em;
    }
}

p.m_tokuten {
    font-weight: 700;
    margin-bottom: 0em;
}

p.m_tokuten_txt {
    color: red;
    font-weight: 700;
}

/* メニュー消す
*************************/
#mainNav li:nth-child(9) {
    display: none;
}

#mainNav li:nth-child(10) {
    display: none;
}

/* FAQ
*************************/
.faq_menu li {
    display: inline-block;
}

summary {
    display: block;
    list-style: none;
}

.faq_wrapper summary {
    margin-bottom: 0.3em;
    padding: .4em 16px .4em 0;
    font-size: 100%;
    border-bottom: solid 3px #DEDEDE;
}

.membersDetail h3 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.faq_answer {
    color: #000000;
    background-color: #e6e6e6;
    padding: 0.5em 1em;
    margin-bottom: .5em;
}

.faqpage {
    padding: 0 8px;
}

/* MY PAGE
*************************/
@media (min-width: 768px) {
    .mypage_block {
        width: 100%;
    }
}

/* 会員証PC・SP共通
*************************/
.memberscard {
    --svg-memberscard:
        url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTY2IDU2IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik01NS43OTk0IDYuODg4MjZDNTcuMDQzMyA2LjY5MTM4IDU4LjcxODMgNi43NzEzMyA1OS45NDc3IDcuMDE5QzY2Ljg0NzYgOC40MDkyNiA2My41MTY5IDE1LjQ4MzkgNjQuMTI3NSAxNi4zNjAxQzY0LjM0MzQgMTYuNjcgNjQuNzE0MSAxNi43MzA1IDY1LjA2NDUgMTYuNzIzOUM2Ni4wNDA5IDE2LjcwNTUgNjcuMDc4NSAxNi4zNDM1IDY4LjAyNjQgMTYuMTEwMUM2OS42ODQ3IDE1LjcwMTYgNzEuNDA0NyAxNS4zNDM4IDczLjExNzQgMTUuMzI1N0M3NC41NDczIDE1LjMxMDYgNzYuMTM5MSAxNS40NTYxIDc3LjQyOSAxNi4xMjg0Qzc4LjY4NDIgMTYuNzgyNiA4MC4xMTg4IDE5LjA3MSA4MS40OTE0IDE4Ljg1NzlDODUuNTQ5NCAxOC4yMjc4IDk0LjExMTkgMTMuNTI5OCA5Ny41OTQ3IDE0LjEyNzFDOTguNTE2MiAxNC4yODUyIDk5LjI4OTMgMTQuNzYzNyA5OS44MjY1IDE1LjU0MzlDMTAwLjc5NSAxNi45NDk4IDk5LjcwMDkgMTguMDEyMiA5OS40NzAxIDE5LjM4NDFDOTkuNDI5NCAxOS42MjYzIDk5LjM2ODMgMTkuOTc5NCA5OS41MjQ0IDIwLjE5MDlDOTkuNzYyIDIwLjUxMTcgMTAwLjE3NyAyMC42MDE1IDEwMC41NTEgMjAuNjE5OEMxMDIuNTU4IDIwLjcxODQgMTA0LjY4IDIwLjE1MyAxMDYuNjU5IDE5Ljg0NDVDMTA5LjM0MyAxOS40MjU5IDExMi4wNDUgMTkuMTI1MiAxMTQuNzI3IDE4LjY5MzVDMTE2LjQ3NyAxOC40MTE4IDExOC4yMzEgMTguMTQyNyAxMTkuOTc4IDE3LjgzOEMxMjIuOTQ5IDE3LjMxOTkgMTI2LjIxMSAxNi40NzA3IDEyOS4yMjMgMTYuOTY4NkMxMzEuNjYgMTcuMzcxMyAxMzEuNTY0IDE4LjcyMDcgMTMyLjc2MSAyMC4zNTU3QzEzMy4zNTEgMjEuMTYyMiAxMzQuMjg5IDIwLjcyMTYgMTM1LjA4MiAyMC40OTc4QzEzNy43NjYgMTkuNzQwMyAxNDAuNDExIDE4LjgwMzkgMTQzLjA3NiAxNy45Nzc5QzE0Ny4xNDYgMTYuNzE2OSAxNTEuMjEzIDE1LjYyMjYgMTU1LjM4OSAxNC43ODg1QzE1Ny44MTEgMTQuMzA0OSAxNjAuNiAxMy43MjUxIDE2My4wNjcgMTQuMTM4NUMxNjQuMDQ5IDE0LjMwMzIgMTY1LjE0NSAxNC43Nzk0IDE2NS43MzEgMTUuNjMwNEMxNjUuOTYzIDE1Ljk3MjIgMTY2LjA1IDE2LjM5MzYgMTY1Ljk3MiAxNi44MDA3QzE2NS44MTEgMTcuNjY3OSAxNjQuODc5IDE4LjU5NjcgMTY0LjE3MyAxOS4wNTkxQzE2Mi41NTggMjAuMTE2NCAxNTUuODU5IDIxLjM4ODQgMTUzLjczNSAyMS44OTNDMTUwLjA4MyAyMi43NDgzIDE0Ni40MzkgMjMuNjM5MyAxNDIuODA0IDI0LjU2NThDMTM4LjExMyAyNS43NzA2IDEzMy40NDMgMjcuMDY2NSAxMjguODAxIDI4LjQ1M0MxMjYuMDU0IDI5LjI1MDkgMTIzLjI4MyAzMC4wNDg2IDEyMC41MTUgMzAuOTQ0OEMxMTcuODk0IDMxLjc5MzYgMTE1LjYzMSAzMy40NzM2IDExMy4xNTEgMzQuODEyMUMxMDguNzg2IDM3LjE2ODcgMTAyLjYxMSA0MC44NzYyIDk3LjQ0MDIgNDAuMDA4N0M5Ni41MzIyIDM5LjgxNjUgOTUuNjc4NSAzOS40MDIzIDk1LjE5MzEgMzguNTc0MUM5My44NDggMzYuMjc3MyA5NC45NjQgMzQuNjIzOSA5Ni42ODQxIDMzLjA1NEMxMDEuOTcxIDI4LjIyNzMgMTA5LjU5NyAyOS40MDU2IDExNS41NjcgMjUuOTg0OUMxMTUuOTI4IDI1Ljc3ODUgMTE2LjQ1NCAyNS4zMzI1IDExNi41NDUgMjQuOTE3N0MxMTYuMjI4IDIzLjgzNyAxMTMuMDQ0IDI0LjY0MzYgMTEyLjE5MyAyNC43NTcxQzEwOS44MTYgMjUuMDU4MyAxMDcuNDQxIDI1LjM5MTkgMTA1LjA3MSAyNS43NTc5QzEwMS4xNTcgMjYuMzY1NCA5NC4zOTExIDI4LjcyNjYgOTAuODg3MiAyNi4xNjA0Qzg5LjcwNTEgMjUuMjk0NyA4OC44Mjc2IDIzLjI3MTcgODguMDY1NiAyMi44OTM5Qzg2Ljc4NSAyMi4yNTk2IDc4Ljk1NzcgMjYuMjY2OSA3Ny40MjIzIDI3LjEzMDVDNzYuMTczMSAyNy44MzMgNzUuMDAzNiAyOC44NDE1IDczLjY0OTEgMjkuMzI0OEM3Mi44NzggMjkuNiA3MS45MjA5IDI5LjcwMDYgNzEuMTY5OSAyOS4zMjM0QzcwLjU1NTIgMjkuMDE0OCA2OS45ODE1IDI4LjMzNzYgNjkuNzYxMyAyNy42ODAxQzY4LjkxNDUgMjUuMTUyNCA3MS40ODgzIDIzLjg1OTUgNzIuNDIzMyAyMS45MjgxQzcyLjM0IDIxLjgzMjkgNzEuOTk2NCAyMS40NDQgNzEuOTE0MiAyMS4zOTQxQzcxLjA1ODUgMjAuOTc2NSA2OS40NTk1IDIxLjM5OTUgNjguNjAzNiAyMS42MjE2QzYzLjQ4NjUgMjIuOTQ5IDU4LjY0NDMgMjUuMDE4MiA1NC4wOSAyNy43MTUzQzUyLjAwOTMgMjguOTQ3NSA1MC4wNzg3IDMwLjgyODkgNDcuNjc0OCAzMS4yOTgxQzQ2LjM4NSAzMS41NjI2IDQ0LjcyNjggMzAuNDcxNiA0NC41ODg1IDI5LjEwNzlDNDQuMzQ4OCAyNi43NDQ3IDQ2Ljc3NDggMjUuNTExNSA0OC4zMzQzIDI0LjI3NUM0OC42NjY3IDI0LjAxMTUgNDkuMTI1NSAyMy42OTUgNDkuNDQyNSAyMy40Mzk1QzUxLjYyMDEgMjEuNjg0NCA1NC44NjYzIDE4Ljg3NDEgNTYuNDY5NCAxNi42NzM1QzYzLjE5OTUgNy40MzQ4IDQyLjg3MjggMTYuNTE0MSA0MC44MTU0IDE3LjM1OTJDMzMuOTggMjAuMjE2NSAyNi45ODcxIDIzLjQwNTkgMjAuNjQ1NCAyNy4zMjc5QzE3LjA3MjMgMjkuNTI2MiAxMy42MDQ5IDMxLjg5NTQgMTAuMjU0OSAzNC40Mjc0QzguMzgyMDcgMzUuODIzMyA2LjE2NDA2IDM3LjgyOSA0LjIzMzc4IDM4LjkyOTlDMC41MjgwNzQgNDEuMDQzMyAtMS41MzcyNCAzNy4wNTI5IDEuMzgxMjcgMzMuOTk1MUMzLjM3NDQyIDMxLjkwNjcgNS4xNDgxIDMwLjY5NTMgNy40MTAzMyAyOS4wMzYxQzExLjIyMTQgMjYuMjA5MSAxNS4xOTE5IDIzLjYwODQgMTkuMzAxNiAyMS4yNDcxQzI1LjA5ODUgMTcuOTE3NSAzMS41MTY3IDE0Ljk2MSAzNy42NzM0IDEyLjM5OUM0My4yODg2IDEwLjA2MjIgNDkuNzIxNCA3LjQ2MDYzIDU1Ljc5OTQgNi44ODgyNloiIGZpbGw9IiNGRUZFRkUiLz48cGF0aCBkPSJNOTUuMzc5IDAuNDM2NTYxQzk3LjYxNTkgMC4xMjQzODIgOTkuMjk3IDEuNDc3OTMgOTcuNTE0OSAzLjU3MzdDOTUuMDIwOCA2LjUwNTM5IDkxLjQ3NTMgOC4zMjQ1OSA4OC4yMjI2IDEwLjI0NzJDODcuNDEyMiAxMC43MjY0IDg2LjU4NjUgMTEuMTg1MiA4NS43MDU2IDExLjUyMTFDODQuNzIyMSAxMS43NjE0IDgzLjAzODQgMTEuOTU2NiA4Mi43Nzk2IDEwLjYwN0M4Mi41MTIzIDkuMjA3MzQgODMuOTk4MiA3Ljk2NTkxIDg0Ljg3NjUgNy4wNzQ4NEM4Ni43OTY5IDUuMTI1NDIgODkuMDE0NCAzLjUwNzczIDkxLjM5MjIgMi4xNzY0MUM5Mi42NjY4IDEuNDYzMDkgOTMuOTUyNCAwLjc2NjQxMiA5NS4zNzkgMC40MzY1NjFaIiBmaWxsPSIjRkVGRUZFIi8+PHBhdGggZD0iTTcxLjcxMzggMC4wMDExOTY0M0M3NC43NTk4IC0wLjExNDI3MyA4MS41MjQ1IDguMTY0MzQgNzYuNjE5NiA5LjIxODMyQzc2LjE2NDMgOS4xNjI4MiA3NS44ODM2IDkuMDczMjUgNzUuNDc1MiA4Ljg0MjIzQzczLjE2MjEgNy41MzM5OCA3MC44NTY3IDUuMzQxNzggNzAuMDI5NyAyLjczNDQ1QzY5Ljg1OTIgMi4xOTcxNyA2OS44MTE2IDEuNTM1OTIgNzAuMTAwOSAxLjA1MDU0QzcwLjQ5NTIgMC4zODg2OTYgNzEuMDM1MiAwLjE4MzQ5NCA3MS43MTM4IDAuMDAxMTk2NDNaIiBmaWxsPSIjRkVGRUZFIi8+PHBhdGggZD0iTTM3LjcwNjQgNTZINDAuNzczM1Y0NC42NjNIMzcuNzA2NFY1NloiIGZpbGw9IndoaXRlIi8+PHBhdGggZD0iTTQ0Ljg2MjcgNTZINDcuOTI5NlY1MS44Nzc1VjQ0LjY2M0g0NC44NjI3VjU2WiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMzcuNzA2NCA0OC43ODU2VjUxLjg3NzVINDcuOTI5NlY0OC43ODU2SDM3LjcwNjRaIiBmaWxsPSJ3aGl0ZSIvPjxwYXRoIGQ9Ik03NS4xOTE3IDUwLjMzMTVDNzUuMTkxNyA1My40NjIxIDcyLjY3NDMgNTYgNjkuNTY4OSA1NkM2Ni40NjM1IDU2IDYzLjk0NjEgNTMuNDYyMSA2My45NDYxIDUwLjMzMTVDNjMuOTQ2MSA0Ny4yMDA5IDY2LjQ2MzUgNDQuNjYzIDY5LjU2ODkgNDQuNjYzQzcyLjY3NDMgNDQuNjYzIDc1LjE5MTcgNDcuMjAwOSA3NS4xOTE3IDUwLjMzMTVaTTY3LjAzODcgNTAuMzMxNUM2Ny4wMzg3IDUxLjc0MDMgNjguMTcxNSA1Mi44ODIzIDY5LjU2ODkgNTIuODgyM0M3MC45NjYzIDUyLjg4MjMgNzIuMDk5MiA1MS43NDAzIDcyLjA5OTIgNTAuMzMxNUM3Mi4wOTkyIDQ4LjkyMjcgNzAuOTY2MyA0Ny43ODA3IDY5LjU2ODkgNDcuNzgwN0M2OC4xNzE1IDQ3Ljc4MDcgNjcuMDM4NyA0OC45MjI3IDY3LjAzODcgNTAuMzMxNVoiIGZpbGw9IndoaXRlIi8+PHBhdGggZD0iTTk4LjM2NDUgNTMuOTM4N0g5Ni4zMTk4TDk0LjI3NTIgNTAuMzY4NVY0NC42NjNMOTcuMzQyMiA1MC4wMTg0TDEwMC40MDkgNDQuNjYzVjUwLjM2ODVMOTguMzY0NSA1My45Mzg3WiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNOTEuMjA4MiA1NlY0NC42NjNIOTQuMjc1MlY1Nkg5MS4yMDgyWiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMTAwLjQwOSA1NlY0NC42NjNIMTAzLjQ3NlY1NkgxMDAuNDA5WiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMTE5LjQ5MyA1My40MjM0SDEyOC42OTRWNTZIMTE5LjQ5M1Y1My40MjM0WiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMTE5LjQ5MyA0NC42NjNIMTI4LjY5NFY0Ny4yMzk2SDExOS40OTNWNDQuNjYzWiIgZmlsbD0id2hpdGUiLz48cGF0aCBkPSJNMTIyLjU2IDQ0LjY2M1Y1NkgxMTkuNDkzVjQ0LjY2M0gxMjIuNTZaIiBmaWxsPSJ3aGl0ZSIvPjxwYXRoIGQ9Ik0xMjguMTgyIDUxLjg3NzVIMTE5LjQ5M1Y0OS4zMDA5QzEyMy4wODYgNDkuMzAwOSAxMjQuNTg5IDQ5LjMwMDkgMTI4LjE4MiA0OS4zMDA5VjUxLjg3NzVaIiBmaWxsPSJ3aGl0ZSIvPjwvc3ZnPg==");
}

.memberscard .msinner_number p {
    font-weight: 600;
}

.memberscard .msinner_date p {
    font-weight: 600;
}

/* 会員証PC
*************************/
@media screen and (min-width: 720px) {
    .memberscard {
        margin: 0 auto;
        width: 672px;
        height: 378px;
    }

    .memberscard .memberscardinner {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        aspect-ratio: 16 / 9;
        background-color: #FF2731;
        border-radius: 16px;
    }

    .memberscard div.msinner_svg {
        width: 400px;
        height: 134px;
        background-image: var(--svg-memberscard);
        background-repeat: no-repeat;
        background-position: center;
    }

    .memberscard div.msinner_date {
        color: #fff;
        margin: 0;
        padding: 0;
        position: absolute;
        bottom: 24px;
        right: 24px;
        font-size: 16px;
        font-weight: 600;
        font-family: "Zen Maru Gothic", sans-serif;
    }

    .memberscard div.msinner_number {
        color: #fff;
        margin: 0;
        padding: 0;
        position: absolute;
        bottom: 24px;
        left: 24px;
        font-size: 16px;
        font-weight: 600;
        font-family: "Zen Maru Gothic", sans-serif;
    }
}

/* 会員証SP
*************************/
@media screen and (max-width: 719px) {
    .memberscard {
        padding: 0 16px;
    }

    .memberscard .memberscardinner {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        aspect-ratio: 16 / 9;
        background-color: #FF2731;
        border-radius: 16px;
    }

    .memberscard div.msinner_svg {
        width: 44.53vw;
        height: 100%;
        background-image: var(--svg-memberscard);
        background-repeat: no-repeat;
        background-position: center;
    }

    .memberscard div.msinner_number {
        color: #fff;
        margin: 0;
        position: absolute;
        bottom: 16px;
        left: 16px;
        font-size: 3.2vw;
        font-weight: 600;
        font-family: "Zen Maru Gothic", sans-serif;
    }

    .memberscard div.msinner_date {
        color: #fff;
        margin: 0;
        position: absolute;
        bottom: 16px;
        right: 16px;
        font-size: 3.2vw;
        font-weight: 600;
        font-family: "Zen Maru Gothic", sans-serif;
    }
}

/* GOODS
*************************/
li.searchItem.artistSearch {
    display: none;
}

.inCart a {
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 12px;
}

@media (min-width: 768px) {
    .inCart a {
        height: 50px;
    }
}

.goodsDetail .new {
    display: none;
}

ul.status {
    display: none;
}

li.flex-nav-prev a {
    text-decoration: none;
}

a.flex-next.flex-disabled {
    text-decoration: none;
}

.goodsDetail .btn .btn_orange {
    border-radius: 50px;
}

.goodsDetail .btn a {
    border-radius: 50px;
}

.btn_blue {
    background-color: #696C7B !important;
}

.btn_orange {
    background-color: #696C7B !important;
}

.personTag li {
    display: none;
}

#searchForm ul {
    border-radius: 12px;
}

.goodsBox .new {
    display: none;
}

.shipping-notice.label-alert {
    border-radius: 12px;
    font-size: 10px;
}


/* ここから9月納品データの修正
****************************************************************/
/* TOP　INFORMATION
*************************/
.pick_list li .box .txt_box {
    filter: none;
}

/* TOP　MAINアイコン
*************************/
.top_main .icon {
    width: 20% !important;
}

/* INFORMATION
*************************/
@media (min-width: 768px) {
    .pick_nav ul li a {
        font-size: 20px !important;
    }
}

@media (max-width: 767px) {
    .information .in_page.container {
        padding: 24px 0 0 !important;
    }
}

/* PROFILE
*************************/
.content.profile {
    filter: none;
}

.prof_guide .btn {
    padding: 16px !important;
}

@media (min-width: 768px) {
    .content.profile {
        margin-bottom: 32px !important;
    }
}

@media (max-width: 767px) {
    .content.profile {
        margin-bottom: 24px !important;
    }
}

/* 会員認証
*************************/
.noticeLogin {
    margin-top: revert;
    padding: revert;
    background-color: revert;
    font-size: revert;
    text-align: revert;
    border: revert;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: revert;
    box-sizing: revert;
}

.noticeLogin {
    order: 3;
    text-align: center;
    margin: auto;
}

/* GALLERY
*************************/
select#sort {
    border: 4px solid #000;
    border-radius: 8px;
    height: 40px;
    /* padding: 10px 25px 10px 10px; */
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 26px;
    margin-top: 18px;
}

dfn {
    font-size: 18px;
    font-weight: 700;
    font-style: normal !important;
}

.content.photoList {
    margin-bottom: 96px;
}

option {
    font-size: 15px;
    font-weight: 700;
}

.gallery .photoList {
    background: #00000000 !important;
}

@media (min-width: 768px) {
    .gallery .photoList {
        margin-top: -2px;
    }

    li.typeSelect {
        margin-top: -18px;
    }
}

@media (max-width: 767px) {
    select#sort {
        border: 3px solid;
        font-size: 12px;
        height: 32px;
        margin-top: 0px;
        margin-bottom: 3px;
    }

    .gallery .photoList {
        margin-top: 16px;
    }

    dfn {
        font-size: 12px;
    }

    option {
        font-size: 12px;
    }

    .gallery .photoList {
        margin-top: 24px !important;
    }

    a.fancybox-item.fancybox-close {
        margin-bottom: 10px;
    }
}

button {
    background: none;
    border: none;
}

/* MESSAGE
*************************/
.message .surveyList .surveyBox {
    filter: none;
}

.content.surveyList {
    background: #00000000 !important;
    width: calc(100% - 48px) !important;
}

@media (max-width: 767px) {
    .content.surveyList {
        width: calc(100% - 32px) !important;
    }
}

/* BLOG
*************************/
.blog .membersonly-btn-voice {
    background-color: #ffffff !important;
}

/* ハンバーガーメニュー
*************************/
@media (max-width: 767px) {
    .menuOpen #navSwitcher .l {
        background-color: #ffffff !important;
    }

    .menuOpen #navSwitcher .r {
        background-color: #ffffff !important;
    }
}

/* GOODS一覧
*************************/
.members.store .content {
    margin: 0 !important;
    margin-bottom: 96px !important;
    padding: 0 !important;
    text-align: left !important;
}

@media (max-width: 767px) {
    .members.store .searchItem .formEle {
        display: block;
    }

    .members.store #searchForm {
        display: block;
        pointer-events: none;
    }
}

/* ショッピングカート
*************************/
.content.inCartSec {
    border: 4px solid #020000;
    border-radius: 16px;
    margin-bottom: 32px;
    padding: 24px !important;
    background-color: #ffffff;
    text-align: center;
}

.content.inCartSec p {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4em;
}

.content.inCartSec p a {
    margin-bottom: 0;
    font-size: 18px;
    line-height: 1.4em;
    font-weight: 900;
}

.content.inCartSec {
    padding: 24px 24px 8px 24px !important;
}

.content.inCartSec {
    border: 4px solid #020000 !important;
}

@media (max-width: 767px) {
    .content.inCartSec {
        padding: 24px 24px 8px 24px !important;
        border-width: 3px !important;
        margin-left: 16px;
        margin-right: 16px;
    }

    .content.inCartSec p {
        font-size: 12px !important;
    }

    .content.inCartSec p a {
        font-size: 16px !important;
    }

    .content.inCartSec {
        width: 72% !important;
        border: 3px solid #020000 !important;
    }
}

.content.inCartSec {
    border-width: 3px !important;
    margin-left: 16px;
    margin-right: 16px;
    border: 4px solid #020000;
    border-radius: 16px;
    margin-bottom: 32px;
    padding: 24px !important;
    background-color: #ffffff;
    text-align: center;
}

.cartBox th {
    background: #e60012;
    color: #fff;
    font-weight: 700;
}

.cartBox td {
    color: #e60012;
    background: #faf5e4;
    font-weight: 700;
}

.cartBox table {
    border: 4px solid #000000;
}

.cartBox th {
    border-bottom: 4px solid #000;
}

.cartItemHeading {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
}

select {
    border: 4px solid #000;
    border-radius: 8px;
    height: 25px;
    font-size: 12px;
    font-weight: 700;
}

.btnCartFunc .btnCartFunc_blue {
    color: #FF2731 !important;
    background-color: #fff;
    border: 4px solid #FF2731;
    border-radius: 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    margin: 0;
    margin-bottom: 1em;
    text-decoration: none;
}

.btnCartFunc .btnCartFunc_gray {
    color: #FF2731 !important;
    background-color: #fff;
    border: 4px solid #FF2731;
    border-radius: 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    margin-bottom: 1em;
    text-decoration: none;
}

.content.inCartSec p a {
    color: #FF2731 !important;
    background-color: #fff !important;
    border: 4px solid #FF2731;
    border-radius: 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    margin-bottom: 1em;
    text-decoration: none;
}

p.announce {
    font-size: 14px !important;
}

p.cartShipping {
    font-size: 18px !important;
    margin-top: 16px;
    text-align: center;
}

.cartSum {
    background-color: #faf5e4;
}

.cartSum dt {
    font-weight: 700;
}

.cartSum dd {
    font-weight: 700;
}

.content>.mb2em.ctr {
    font-size: 16px;
}

@media (max-width: 767px) {
    .content>.mb2em.ctr {
        font-size: 14px;
    }

    .cartBox table {
        border: 3px solid #000000;
    }

    .cartBox th {
        border-bottom: 3px solid #000;
    }

    select {
        border: 3px solid #000;
    }

    .btnCartFunc .btnCartFunc_blue {
        border: 3px solid #FF2731;
        font-size: 16px;
    }

    .btnCartFunc .btnCartFunc_gray {
        border: 3px solid #FF2731;
        font-size: 16px;
    }

    p.announce {
        font-size: 12px !important;
    }

    p.cartShipping {
        font-size: 15px !important;
    }

    .content.inCartSec p a {
        border: 3px solid #FF2731;
    }

    .content.inCartSec p {
        text-align: center;
    }
}

/* GOODS詳細
*************************/
dl.shipping {
    display: none;
}

@media (min-width: 768px) {
    .goodsDetail .title {
        margin: 16px 16px 12px;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.5;
    }

    .goodsDetail .price {
        font-size: 22px;
        font-weight: 700;
        line-height: 1.5;
    }
}

span.taxIncluded {
    font-size: 12px;
    font-weight: 500;
}

.slides li {
    text-align: center;
    border: 4px solid #000;
    border-radius: 8px;
}

select#variation_seq_id {
    border: 4px solid #000;
    border-radius: 8px;
    height: 25px;
    /*padding: 10px 25px 10px 10px;*/
    font-size: 12px;
    font-weight: 700;
}

.goodsDetail .cart a {
    text-align: center;
    display: block;
    padding: 16px;
    border: 4px solid #FF2731;
    border-radius: 16px;
    outline: none;
    background-color: #ffffff !important;
    color: #FF2731 !important;
    font-size: 20px;
    line-height: initial;
    cursor: pointer;
    font-weight: 700;
    text-decoration: none !important;
}

.itemSelect select {
    vertical-align: 5%;
    border: 4px solid #000;
    border-radius: 8px;
    height: 25px;
    /*padding: 10px 15px 10px 10px;*/
    font-size: 12px;
    font-weight: 700;
}

.viewBox_inner p {
    font-weight: 500;
}

.itemSelect dt {
    font-weight: 500;
}

.goodsDetailCol .notice {
    font-weight: 500;
}

.flex-nav-prev a,
.flex-nav-next a {
    font-weight: 700;
}

p.serial {
    margin: 10px 16px 12px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.goodsDetail .btn .btn_orange {
    color: #FF2731 !important;
    background-color: #fff !important;
    border: 4px solid #FF2731;
    border-radius: 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    text-decoration: none;
    margin: 0;
    margin-bottom: 1em;
}

.goodsDetail .btn a {
    color: #FF2731 !important;
    background-color: #fff !important;
    border: 4px solid #FF2731;
    border-radius: 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    text-decoration: none;
    margin: 0;
    margin-bottom: 1em;
}

.view {
    border-radius: 8px;
    height: 40px;
    font-size: 12px;
    font-weight: 700;
}

.goodsDetail .cartNotice {
    font-weight: 500;
}

@media (max-width: 767px) {
    .goodsDetail .btn a {
        color: #FF2731 !important;
        background-color: #fff !important;
        border-radius: 16px;
        font-weight: 700;
        line-height: 1em;
        text-decoration: none;
        margin: 0;
        margin-bottom: 1em;
        font-size: 16px;
        border: 3px solid;
        min-width: 100%;
        width: 100%;
    }

    .goodsDetail .btn .btn_orange {
        color: #FF2731 !important;
        background-color: #fff !important;
        border-radius: 16px;
        font-weight: 700;
        line-height: 1em;
        text-decoration: none;
        margin: 0;
        margin-bottom: 1em;
        font-size: 16px;
        border: 3px solid;
        min-width: 100%;
        width: 100%;
    }

    .itemSelect select {
        width: 50%;
    }

    .goodsDetail .price {
        font-weight: 700;
        line-height: 1.5;
    }

    .goodsDetail .title {
        margin: 16px 16px 12px;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.5;
    }

    select#variation_seq_id {
        border: 3px solid #000;
    }

    .slides .itemImg {
        border-radius: 6px 6px 0px 0px;
    }

    .slides li {
        border: 3px solid #000;
    }
}

@media (max-width: 767px) {
    .members.store .keywordsSearchHeading {
        display: block !important;
    }

    elect#variation_seq_id {
        border: 2px solid #000;
    }

    .itemSelect select {
        border: 3px solid #000;
    }

    .goodsDetail .cart a {
        border: 3px solid #FF2731;
    }
}

.view {
    display: none;
}

a#add_cart span {
    font-weight: 700;
}

/* 新規入会
*************************/
.membersDetail p {
    font-weight: 500;
}

p.mini {
    font-size: 12px;
    line-height: 18px;
    font-weight: 400;
}

p.goods {
    margin-bottom: 0px;
    font-size: 14px;
    margin-top: 19px;
}

.join .membersDetail_def dd {
    font-weight: 500;
}

.join .btnEntryGroup a.admissionButton {
    padding: 16px;
}

@media (max-width: 767px) {
    p.goods {
        font-size: 11px;
        margin-top: 16px;
    }
}

/* 特定商
*************************/
.membersDetail h3 {
    background-color: #000 !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 24px !important;
}

.contentHeading.legal.notice + .content .membersDetail h3 {
    border: none;
    border-radius: 6px;
    width: 100%;
    padding: 12px 16px 13px;
}

@media (max-width: 767px) {
    .contentHeading.legal.notice + .content .membersDetail h3 {
        font-size: 16px;
        padding: 12px 12px 13px;
    }
}



/* MYPAGE
*************************/
a.mypage_block.mypage_block--noicon {
    color: #FF2731 !important;
    background-color: #fff;
    border: 4px solid #FF2731;
    padding: 48px 0;
    border-radius: 16px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1em;
    text-decoration: none;
    margin: 0;
}

.content.clearfix {
    position: relative;
    border-radius: 12px;
    background-color: #fff;
    padding: 32px !important;
    color: #000;
    width: 100% !important;
    transition: .2s;
    margin-bottom: 96px;
}

@media (max-width: 767px) {
    .content.clearfix {
        margin-bottom: 24px;
    }
    a.mypage_block.mypage_block--noicon {
        padding: 24px 0;
    }
}

.mypage_block p {
    font-weight: 700;
}

/* ボタン
*************************/
.btnEntryGroup a {
    color: #FF2731 !important;
    background-color: #fff;
    border: 4px solid #FF2731;
    border-radius: 16px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1em;
    text-decoration: none;
    margin: 0;
    text-decoration: none;
}

/* メール受信設定
*************************/
.content {
    position: relative;
    border-radius: 16px;
    background-color: #fff !important;
    padding: 24px;
    color: #000 !important;
    transition: .2s !important;
    /* width: 90% !important; */
    width: calc(100% - 48px);
    box-sizing: border-box;

    &:last-child {
        margin-bottom: 96px;
    }
}

article.membersDetail {
    padding: 24px !important;
}

.membersDetail .explanation {
    font-weight: 700;
}

.sideBy {
    font-weight: 700;
}

.sideBy [type=radio] {
    transform: scale(1.2);
    accent-color: red;
    margin-bottom: 3px;
}

.toMypage a {
    font-weight: 700;
}

.toMypage {
    margin-top: -50px;
    margin-bottom: 50px;
}

/* 会員情報確認・変更
*************************/
.col2Table {
    margin-top: 24px;
}

.btnEntryGroup small {
    padding: 24px !important;
}

.col2Table .members_status {
    border-top: 4px solid #000000;
    background-color: #e60012;
    font-weight: 700;
}

.col2Table th {
    background: #e60012;
    color: #fff;
    font-weight: 700;
}

.col2Table td {
    color: #e60012;
    background: #faf5e4;
    font-weight: 700;
}

@media (min-width: 768px) {
    .col2Table {
        min-width: 90%;
    }
}

/*.col2Table th, .col2Table td {
    border: 2px solid #000000;
}*/
table.col2Table {
    border: 4px solid #000000;
    border-radius: 12px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
}

tr:not(:last-child) th,
tr:not(:last-child) td {
    border-bottom: 4px solid #000000;
}

tr th:not(:first-child),
tr td:not(:first-child) {
    border-left: 4px solid #000000;
}

@media (max-width: 767px) {
    .content {
        border: solid 3px rgb(0, 0, 0) !important;
        /* width: 90% !important; */
        border-radius: 8px;
        width: calc(100% - 32px);
        margin: 0 auto;
        padding: 16px;

        &:last-child {
            margin-bottom: 64px;
        }
    }

    table.col2Table {
        width: 90%;
    }

    tr:not(:last-child) th,
    tr:not(:last-child) td {
        border-bottom: 3px solid #000000;
    }

    tr th:not(:first-child),
    tr td:not(:first-child) {
        border-left: 0px solid #000000;
    }

    table.col2Table {
        border: 3px solid #000000;
        border-radius: 12px;
        border-collapse: separate;
        border-spacing: 0;
        overflow: hidden;
    }

    .col2Table th {
        border-bottom: 3px solid #000;
    }

    .btnEntryGroup a {
        padding: 8px 16px;
        border: 3px solid #FF2731;
        font-size: 16px;
        border-radius: 8px;
    }

    .toMypage {
        margin-top: 35px;
        margin-bottom: 50px;
    }
}

/* ご注文手続き
*************************/
.userDataTable strong {
    color: #fff;
    margin-right: 8px;
    background-color: #FF2731;
    display: inline;
    padding: 5px 8px 7px 8px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 8px;
    font-size: 14px;
    height: 100% !important;
}

.userDataTable th {
    width: 14.5em;
    background: #e60012;
    color: #fff;
    font-weight: 700;
}

.userDataTable td {
    color: #e60012;
    background: #faf5e4;
    font-weight: 700;
}

.userDataTable {
    border: 4px solid #000000;
}

.docHeading {
    border: 4px solid #000;
    border-radius: 12px;
}

.userDataTable [type='text'],
.userDataTable [type='tel'] {
    border: 4px solid #000;
    border-radius: 8px;
}

.userDataTable .getAddress {
    background-color: #e60012;
    color: #ffffff;
}

.userDataTable select {
    height: 3.1em;
    border: 4px solid #000;
    font-weight: 500;
}

.requiredLabel {
    margin: 0 .5em;
    color: #fff;
    margin-right: 8px;
    background-color: #FF2731;
    display: inline;
    padding: 5px 8px 7px 8px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 8px;
    font-size: 14px;
    height: 100% !important;
}

p.mb2em.fs1down {
    font-size: 16px;
}

.orderTable {
    border: 4px solid #000;
}

.orderTable .sum {
    border-top: 4px solid #000;
}

.orderTable th {
    padding: .4em 1em .4em .4em;
    font-weight: 700;
}

.orderTable tbody td {
    font-weight: 700;
}

section.content.inCartSec p {
    font-size: 95%;
}

@media (max-width: 767px) {
    .userDataTable {
        border: 3px solid #000000;
    }

    .docHeading {
        border: 3px solid #000;
    }

    .userDataTable [type='text'],
    .userDataTable [type='tel'] {
        border: 3px solid #000;
    }

    .userDataTable select {
        height: 2.8em;
        border: 3px solid #000;
    }

    .userDataTable th {
        width: auto;
    }

    .userDataTable strong {
        color: #fff;
        margin-right: 8px;
        background-color: #FF2731;
        display: inline;
        text-align: center;
        white-space: nowrap;
        vertical-align: baseline;
        padding: 4px 8px;
        font-size: 10px;
        border-radius: 4px;
    }

    .requiredLabel {
        margin: 0 .5em;
        font-weight: 700;
        line-height: 1;
        color: #fff;
        margin-right: 8px;
        background-color: #FF2731;
        display: inline;
        text-align: center;
        white-space: nowrap;
        vertical-align: baseline;
        padding: 4px 8px;
        font-size: 10px;
        border-radius: 4px;
    }

    p.mb2em.fs1down {
        font-size: 13px;
    }

    .orderTable {
        border: 3px solid #000;
    }

    .orderTable .sum {
        border-top: 3px solid #000;
    }

    .orderTable tbody tr:not(:last-child) {
        border-bottom: none;
    }

    .orderTable tfoot {
        border-top: none;
    }
}

/* FAQ
*************************/
.faq_answer a {
    overflow-wrap: anywhere;
}

/* ヘッダー
*************************/
@media (max-width: 767px) {}

/* ASPFC-1589 対応
PHOTO一覧
*************************/
.pia_fancyboxTitle {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    line-height: 1;
    font-size: 86%;
    font-weight: bold;
}

.fancyboxCaption {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: 100%;
}

.fancyboxDate {
    align-self: flex-end;
    font-size: 90%;
}


/* ==================================================================
 * ギャラリーページ（/photo/list/）
 * ================================================================== */

.fancybox-title button {
    opacity: 1;
    transition: opacity 0.3s ease;
    cursor: pointer;
}

.fancybox-title button:hover {
    opacity: 0.6;
}

.fancybox-title button img {
    content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB4PSIyIiB5PSIyIiBzdHJva2U9IiNmZjI3MzEiIHN0cm9rZS13aWR0aD0iNCIgcng9IjYiLz48cGF0aCBmaWxsPSIjZmYyNzMxIiBkPSJNMTYuNDUgMjIuNTVhMS4xMyAxLjEzIDAgMSAxIDEuNi0xLjZsNC44MiA0LjgzVjE1YTEuMTIgMS4xMiAwIDEgMSAyLjI1IDB2MTAuNzhsNC44My00LjgzYTEuMTMgMS4xMyAwIDEgMSAxLjYgMS42TDI0LjggMjkuM2ExLjEzIDEuMTMgMCAwIDEtMS42IDB6bTE1LjggOC41N2gtMTYuNWExLjEyIDEuMTIgMCAxIDAgMCAyLjI1aDE2LjVhMS4xMiAxLjEyIDAgMSAwIDAtMi4yNCIvPjwvc3ZnPg==");
}

.gallery #searchForm .photoFilter .typeSelect {
    display: flex;
    align-items: center;
    gap: 12px;
}

.gallery #searchForm .photoFilter .typeSelect select#sort {
    border: 4px solid #020000;
    border-radius: 8px;
    padding: 4px 6px;
}

.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {
    z-index: 200001;
}

.fancybox-overlay {
    z-index: 20000;
}

/* 未ログイン用 */
.gallery .content:not(.photoList) {
    border-radius: 16px;
    filter: none;
    border: 4px solid #020000;
    border-radius: 16px;
    gap: 16px;
    margin-bottom: 96px;
    padding: 24px;
}

.gallery .content:has(.photoThumb) {
    border-radius: 16px;
    filter: none;
    border: 4px solid #020000;
    border-radius: 16px;
    gap: 16px;
    margin-bottom: 96px;
    padding: 24px;
}

.gallery .content:has(.photoThumb) p:first-child {
    color: #FF2731;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5em;
}

.gallery .content:has(.photoThumb) p:first-child::before {
    content: "GALLERY";
    background-color: #000;
    color: #fff;
    padding: 8px 16px 9px;
    border-radius: 8px;
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    margin-right: 16px;
}

.gallery .content:has(.photoThumb) p:nth-child(2) {
    margin-top: 16px;
    font-size: 20px;
    font-weight: 700;
}

.gallery .content:has(.photoThumb) p:nth-child(3) {
    margin-top: 12px;
    font-size: 14px;
    font-weight: 500;
    text-align: left !important;
}

.gallery .content .photoThumb {
    display: flex;
    gap: 0px;
    padding: 0;
    margin: 24px auto 16px;
    max-width: 480px;
}

.gallery .content .photoThumb li {
    margin: 0;
}

.gallery .content .photoThumb li span {
    aspect-ratio: inherit;
}

.gallery .content .photoThumb li button {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0;
    width: 240px;
    background-color: #fff;
    border: 4px solid #ff2731;
    border-radius: 16px;
    outline: none;
    margin: 24px auto 0;
    padding: 16px;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    color: #ff2731;
}

.gallery .content .photoThumb li button img {
    content: var(--svg-downalod-btn);
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.gallery .content .photoThumb li button::before {
    content: "DOWNLOAD";
    line-height: 1;
}

@media (max-width: 767px) {
    .fancybox-title button:hover {
        opacity: 1;
    }

    .gallery #searchForm .photoFilter .typeSelect {
        gap: 8px;
    }

    .gallery #searchForm .photoFilter .typeSelect select#sort {
        border-width: 3px;
        padding: 4px;
    }

    /* 未ログイン用 */
    .gallery .content:not(.photoList) {
        border-width: 3px;
        border-radius: 8px;
        gap: 8px;
        margin-top: 16px;
        margin-bottom: 64px;
        padding: 16px;
    }

    .gallery .content:has(.photoThumb) {
        border-width: 3px;
        border-radius: 8px;
        gap: 8px;
        margin-top: 16px;
        margin-bottom: 64px;
        padding: 16px;
    }

    .gallery .content:has(.photoThumb) p:first-child {
        font-size: 12px;
    }

    .gallery .content:has(.photoThumb) p:first-child::before {
        border-radius: 6px;
        font-size: 12px;
        line-height: 1.5;
        width: auto;
        padding: 4px 8px;
        margin-right: 8px;
    }

    .gallery .content:has(.photoThumb) p:nth-child(2) {
        margin-top: 8px;
        font-size: 16px;
    }

    .gallery .content:has(.photoThumb) p:nth-child(3) {
        margin-top: 8px;
        font-size: 12px;
    }

    .gallery .content .photoThumb {
        margin: 12px auto 0;
        max-width: 480px;
    }

    .gallery .content .photoThumb li span {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    .gallery .content .photoThumb li {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        height: 100%;
        padding: 0;
    }

    .gallery .content .photoThumb li button {
        min-width: initial;
        border: 3px solid #ff2731;
        border-radius: 8px;
        padding: 8px 16px;
        margin: 16px auto 0;
        font-size: 16px;
        width: 200px;
    }

    .gallery .content .photoThumb li button img {
        width: 20px;
        height: 20px;
    }

    .gallery .content .photoThumb li button::before {
        content: "DOWNLOAD";
        line-height: 1;
        height: 20px;
        line-height: 21px;
    }
}

/* ==================================================================
 * メール受信設定
 * ================================================================== */

#mailmag_form {
    padding: 0 24px;
}

#mailmag_form .content {
    width: 100% !important;
    box-sizing: border-box;
    margin-bottom: 24px !important;
}

#mailmag_form article.membersDetail {
    display: flex;
    flex-wrap: wrap;
    padding: 0 !important;
    margin-bottom: 0;
    column-gap: 16px;
    justify-content: center;
}

#mailmag_form article.membersDetail h3 {
    margin: 0 0 16px !important;
    font-size: 20px;
    width: 100%;
}

#mailmag_form article.membersDetail .explanation {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    margin-bottom: 4px;
    width: 100%;
}

#mailmag_form article.membersDetail .notice {
    font-size: 12px;
    margin-bottom: 16px;
    width: 100%;
}

#mailmag_form .btnEntryGroup {
    margin-top: 0;
}

#mailmag_form .btnEntryGroup #btn_mailmag {
    margin-bottom: 0;
    margin: 0 auto;
    max-width: 280px;
    width: 100%;
}

#mailmag_form article.membersDetail .sideBy {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 24px;
    cursor: pointer;
}

#mailmag_form article.membersDetail .sideBy [type=radio] {
    position: relative;
    width: 24px;
    height: 24px;
    border-radius: 9in;
    border: 1px solid #666;
    margin: 0;
    transform: inherit;
    cursor: pointer;

    &[checked="checked"] {
        border-color: #FF2731;
    }

    &[checked="checked"]::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: block;
        width: 14px;
        height: 14px;
        border-radius: 9in;
    }
}

#mailmag_form + .toMypage {
    margin: 48px auto 96px;
    vertical-align: baseline;
}
#mailmag_form + .toMypage a {
    background-color: #fff;
    border: 4px solid #ff2731;
    border-radius: 16px;
    outline: none;
    width: 200px;
    margin: 0 8px;
    padding: 16px;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
    color: #ff2731 !important;
}

@media (max-width: 767px) {
    #mailmag_form {
        padding: 0 16px;
    }

    #mailmag_form .content {
        padding: 16px !important;
    }

    #mailmag_form article.membersDetail h3 {
        font-size: 16px;
        margin-bottom: 8px !important;
        border-radius: 8px;
    }

    #mailmag_form article.membersDetail .explanation {
        font-size: 14px;
        margin-bottom: 4px;
    }

    #mailmag_form article.membersDetail .notice {
        margin-bottom: 16px;
    }


    #mailmag_form article.membersDetail .sideBy {
        font-size: 14px;
        gap: 8px;
        margin-bottom: 16px;
    }

    #mailmag_form .btnEntryGroup #btn_mailmag {
        margin: 0 auto;
        width: 100%;
        max-width: 200px;
        line-height: 1.6;
        min-width: auto;
    }

    #mailmag_form .btnEntryGroup {
        margin-bottom: 8px;
    }

    #mailmag_form + .toMypage {
        margin: 24px auto;
    }

    #mailmag_form + .toMypage a {
        min-width: initial;
        border: 3px solid #ff2731;
        border-radius: 8px;
        width: 180px;
        padding: 8px 16px;
        font-size: 16px;
    }
}

/* ログアウト画面 */
.docDef {
    margin-bottom: 16px;
    line-height: 1.6;
}

.docDef dt {
    font-size: 20px;
    margin-bottom: 12px;
}

.docDef dd {
    font-size: 16px;
}

.btnEntryGroup {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.btnEntryGroup a#btn_top {
    display: inline-block;
    padding: 16px 64px;
    border: 4px solid #FF2731;
    border-radius: 16px;
    outline: none;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    vertical-align: baseline;
    background-color: #ffffff;
    color: #FF2731;
}

@media (max-width: 767px) {
    .docDef dt {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .docDef dd {
        font-size: 14px;
    }

    .content.doc {
        padding: 20px 16px;
    }

    .btnEntryGroup {
        gap: 12px;
    }

    .btnEntryGroup a#btn_top {
        min-width: initial;
        padding: 8px 24px;
        font-size: 16px;
        border: 3px solid #FF2731;
        border-radius: 8px;
    }
}

/** マイページブロック */
.content.clearfix:has(.mypage_block) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: calc(100% - 32px) !important;
    margin: 0 auto 64px !important;
    padding: 24px !important;
    gap: 16px;
    &::before {
        content: none;
    }
    &::after {
        content: none;
    }
}

@media screen and (max-width: 767px) {
    .content.clearfix:has(.mypage_block) {
        grid-template-columns: 1fr;
        padding: 16px !important;
        gap: 12px;
    }
}

/** グッズ購入履歴一覧 */

.mainSection .contentHeading+p {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    padding: 24px 16px;
    background-color: #fff;
    border: 4px solid #020000;
    border-radius: 16px;
    width: calc(100% - 48px);
    margin: 0 auto 24px;
}

.mainSection .contentHeading+p.mb2em {
    background: none;
    border: none;
    text-align: left;
    font-size: 16px;
    padding: 0;
    margin: 0 auto 16px;
    width: calc(100% - 48px);
    font-weight: 500;
}

@media (max-width: 767px) {
    .mainSection .contentHeading+p {
        font-size: 16px;
        padding: 16px;
        border: 3px solid #020000;
        border-radius: 8px;
        margin-bottom: 16px;
        width: calc(100% - 32px);
    }

    .mainSection .contentHeading+p.mb2em {
        font-size: 12px;
        padding: 0;
        border: none;
        width: calc(100% - 32px);

    }

}

/** 入会手続 .content.doc #form_confirm_settlement */

.settlement_item:before,
.settlement_item:after {
    display: none;
}

.content.doc #form_confirm_settlement .docDef dt {
    font-size: 16px;
    margin-bottom: 24px;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_item {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    width: 100%;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_label {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 0;
    font-size: 16px;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_radio {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
    float: inherit;
    border: none;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_radio input {
    width: 24px;
    height: 24px;
    accent-color: #FF2731;
    background-color: #ffffff;
    border-radius: 9in;
    border: 1px solid #cccccc;
    margin: 0;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_name {
    width: auto;
    padding: 0;
    float: inherit;
    height: auto;
    font-size: 20px;
    border: none;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_detail {
    width: auto;
    padding: 0;
    float: inherit;
    height: auto;
    font-size: 16px;
    border: none;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting {
    width: auto;
    padding: 0;
    margin: 0;
    float: inherit;
    height: auto;
    border: none;
    display: flex;
}

.settlement_setting.carrier_detail .settlement_label {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
}

.settlement_setting.carrier_detail .settlement_label input {
    width: 20px;
    height: 20px;
    accent-color: #FF2731;
    background-color: #ffffff;
    border-radius: 9in;
    border: 1px solid #cccccc;
    margin: 0;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting.carrier_detail {
    width: 100%;
    border-radius: 8px;
    padding: 16px;
    border: 1px solid #ccc;
    margin-top: 8px;
    display: grid;
    grid-template-columns: 264px 1fr auto;
}


.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting.carrier_detail .settlement_label {
    display: inline-flex;
    padding: 0;
    height: 32px;
    font-size: 16px;
    width: 264px;
    min-width: inherit;
    flex-shrink: 0;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_label+img {
    width: 100%;
    display: inline-block;
    max-width: fit-content;
    height: 32px;
    margin-bottom: 16px;

    &:last-of-type {
        margin-bottom: 0;
    }
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_credit_another .settlement_label {
    margin-bottom: 12px;
}

.content.doc #form_confirm_settlement .docDef .settlement .formBox.creditAvailable {
    padding: 16px;
    margin: 0 0 16px;
    width: auto;
    height: auto;
    border: none;
    background-color: #f8f8fa;
    border-radius: 8px;
}

.content.doc #form_confirm_settlement .docDef .settlement .formBox.creditAvailable dt {
    margin: 0 0 12px;
}

.content.doc #form_confirm_settlement .docDef .settlement .formBox.creditAvailable dd {
    display: flex;
    width: 100%;
    gap: 16px;
}

.content.doc #form_confirm_settlement .docDef .settlement .formBox.creditAvailable dd figcaption {
    font-size: 14px;
    color: #666;
}

.content.doc #form_confirm_settlement .docDef .settlement .formBox.creditAvailable dd figure img {
    width: 32px;
    height: 32px;
}

.content.doc #form_confirm_settlement .docDef .settlement .formBox.creditAvailable dd figure {
    margin: 0;
    padding: 0;
    float: inherit;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting.card_detail {
    width: 100%;
    border-radius: 8px;
    padding: 16px;
    border: 1px solid #ccc;
    margin-top: 8px;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_credit_another {
    width: 100%;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting div.formBox {
    margin: 0 0 16px !important;
    width: 100%;

    &:last-of-type {
        margin-bottom: 0 !important;
    }
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox dfn {
    font-size: 14px;
    color: #666;
    margin: 0 16px 0 0;
    min-width: inherit;
    width: 140px;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox input {
    width: 100%;
    font-size: 16px;
    padding: 12px;
    max-width: 240px;
    border-radius: 8px;
    border: 1px solid #ccc;
}


.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox select {
    padding: 12px;
    font-size: 14px;
    max-width: 160px;
    height: auto;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-weight: 400;
    margin-right: 8px;
    width: 100%;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox select:nth-of-type(2) {
    margin-left: 8px;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox small {
    font-size: 14px;
    color: #666;
    margin: 0;
    margin-left: 16px;
}

.content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox span {
    margin-left: calc(16px + 140px);
    margin-top: 8px;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail {
    width: 100%;
    border-radius: 8px;
    padding: 16px;
    border: 1px solid #ccc;
    margin-top: 8px;
    flex-wrap: wrap;
    gap: 16px;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .mb2em {
    font-size: 14px;
    color: #666;
    font-weight: 400;
    width: 100%;
    margin-bottom: 0;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .mb2em br {
    display: block;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox {
    padding: 12px 16px;
    margin: 0;
    border: none;
    width: calc(50% - 8px);
    float: inherit;
    background-color: #f8f8fa;
    border-radius: 8px;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox label {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 0;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox .conv_logo {
    width: 64px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox .conv_logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox input {
    width: 20px;
    height: 20px;
    accent-color: #FF2731;
    background-color: #ffffff;
    border-radius: 9in;
    border: 1px solid #cccccc;
    margin: 0;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox span {
    display: flex;
    width: 20px;
    height: 20px;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox .conv_name {
    font-size: 16px;
    padding: 0;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox .conv_detail {
    margin: 0;
    margin-top: 8px;
    font-size: 14px;
    color: #666;
}

.content.doc #form_confirm_settlement .docDef .settlement .cv_detail .conv_about {
    margin: 0;
    font-size: 14px;
    color: #666;
    margin-left: auto;
    width: 100%;
}

.content.doc #form_confirm_settlement .btnEntryGroup {
    display: flex;
    justify-content: center;
    grid-column-gap: 16px;
}

.content.doc #form_confirm_settlement .btnEntryGroup a {
    display: inline-block;
    padding: 16px;
    text-decoration: none;
    color: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 240px;
}

@media screen and (max-width: 767px) {
    .content.doc #form_confirm_settlement .docDef dt {
        font-size: 14px;
    }


    h1.contentHeading:has(~ .content.doc #form_confirm_settlement) {
        font-size: 28px;
    }

    .content:has(#form_confirm_settlement) {
        width: calc(100% - 32px);
        margin: 0 auto 64px !important;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_item {
        gap: 12px 8px;
    }


    .content.doc #form_confirm_settlement .docDef .settlement .settlement_label {
        font-size: 14px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_radio input {
        width: 16px;
        height: 16px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_name {
        font-size: 16px;
        margin-bottom: 0;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_detail {
        font-size: 14px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting.carrier_detail {
        margin-top: 0;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting.carrier_detail .settlement_label {
        width: auto;
        height: auto;
        flex-direction: row;
        gap: 8px;
        align-items: center;
    }

    .settlement_setting.carrier_detail .settlement_label input {
        width: 12px;
        height: 12px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_label+img {
        width: 100%;
        object-fit: contain;
        margin-bottom: 8px;
        height: 24px;
    }


    .content.doc #form_confirm_settlement .docDef .settlement .formBox.creditAvailable dd {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        flex-wrap: wrap;
        gap: 12px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .formBox.creditAvailable dd:before {
        display: none;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting div.formBox {
        margin-bottom: 12px !important;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox input {
        max-width: 100%;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox small {
        font-size: 12px;
        line-height: 1.4;
        margin-left: 0;
        margin-top: 4px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox dfn {
        margin-right: 0;
        margin-bottom: 4px;
        border: none;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox select {
        width: 100%;
        font-size: 12px;
        margin-bottom: 8px
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox select:nth-of-type(2) {
        font-size: 12px;
        margin-left: 0;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .settlement_setting .formBox span {
        width: 100%;
        margin: 4px 0 0;
        font-size: 12px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .mb2em {
        margin: 0;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox {
        width: 100%;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox span {
        width: 16px;
        height: 16px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox .conv_logo {
        width: 48px;
        height: 32px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox .conv_name {
        font-size: 14px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox label {
        gap: 8px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox .conv_detail {
        font-size: 12px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .settlement_convBox {
        padding: 12px;
    }

    .content.doc #form_confirm_settlement .docDef .settlement .cv_detail .conv_about {
        font-size: 12px;
    }

    .content.doc #form_confirm_settlement .btnEntryGroup {
        flex-direction: column;
        gap: 16px;
        align-items: center;
    }
}

/* 会員登録確認 */
.mainSection:has(+ #form_select) .mb2em.ctr {
    margin-bottom: 24px;
    font-size: 18px;
    font-weight: bold;
}

.mainSection:has(+ #form_select) .col2Table {
    margin: 0 0 24px;
    width: 100%;
    border: 3px solid #222;
    border-radius: 8px;
}

.mainSection:has(+ #form_select) .col2Table th,
.mainSection:has(+ #form_select) .col2Table td {
    border-right: none;
}

.mainSection:has(+ #form_select) tr:not(:last-child) th,
.mainSection:has(+ #form_select) tr:not(:last-child) td {
    border-bottom: 3px solid #222;
}

.mainSection:has(+ #form_select) .col2Table th {
    background-color: #000;
    border-bottom: 3px solid #222;
}

.mainSection:has(+ #form_select) tr th:not(:first-child),
.mainSection:has(+ #form_select) tr td:not(:first-child) {
    border-left: 3px solid #222;
}

.mainSection:has(+ #form_select) .col2Table td {
    color: #000;
}

.mainSection:has(+ #form_select) .btnEntryGroup {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 280px));
    grid-template-areas:
        "btn1 btn2"
        "select select";
    justify-items: center;
    gap: 16px;
    justify-content: center;
}

.mainSection:has(+ #form_select) .btnEntryGroup #btn_select {
    grid-area: select;
    border: none;
    text-decoration: underline;
    padding: 0;
    font-size: 16px;
    margin-top: 4px;
}

.mainSection:has(+ #form_select) .btnEntryGroup a {
    width: 100%;
    max-width: 280px;
}

.mainSection:has(+ #form_select) .mt2em {
    margin-top: 16px;
    font-size: 14px;
}

@media screen and (max-width: 767px) {
    .mainSection:has(+ #form_select) .mb2em.ctr {
        font-size: 14px;
        margin: 0 0 12px;
    }

    .mainSection:has(+ #form_select) .col2Table {
        margin: 0 0 16px;
        border: none;
        border-radius: 6px;
    }

    .mainSection:has(+ #form_select) tr:not(:last-child) th,
    .mainSection:has(+ #form_select) tr:not(:last-child) td {
        border-bottom: none;
    }

    .mainSection:has(+ #form_select) .col2Table th {
        background-color: #000;
        border-bottom: none;
        border-radius: 6px;
        font-size: 14px;
    }

    .mainSection:has(+ #form_select) tr th:not(:first-child),
    .mainSection:has(+ #form_select) tr td:not(:first-child) {
        border-left: none;
    }

    .mainSection:has(+ #form_select) .col2Table td {
        color: #000;
        background-color: #fff;
        padding: 12px 0 16px;
        font-size: 14px;
    }

    .mainSection:has(+ #form_select) .btnEntryGroup {
        display: grid;
        grid-template-columns: repeat(1, minmax(0, 280px));
        grid-template-areas:
            "btn1"
            "btn2"
            "select";
        justify-items: center;
        gap: 12px;
        justify-content: center;
        margin-bottom: 24px;
    }

    .mainSection:has(+ #form_select) .btnEntryGroup #btn_select {
        grid-area: select;
        border: none;
        text-decoration: underline;
        padding: 0;
        font-size: 14px;
        margin-top: 4px;
    }

    .mainSection:has(+ #form_select) .btnEntryGroup a {
        width: 100%;
        max-width: 280px;
        padding: 16px;
        font-size: 16px;
    }

    .mainSection:has(+ #form_select) .mt2em {
        margin-top: 16px;
        font-size: 12px;
    }
}


@media screen and (max-width: 767px) {
    .contentHeading.legal.notice {
        margin: 20px 0 !important;
        font-size: 28px;
        padding: 0 16px !important;
    }
}