@charset "UTF-8";

/* 初期非表示設定 */
.contShowHide,
.contShowHide_inlineBlock {
    display: none;
}

.forInfiniteMembersOliveNcFixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 991;
}

@media (min-width: 641px) {
    #header.vpass>.headerInner {
        height: auto !important;
    }

    div#header.vpass::after {
        display: none !important;
    }

    #header.vpass .hLeft p.logo_out {
        margin-bottom: 11px !important;
    }

    .forInfiniteMembersFixed {
        position: fixed;
        top: 48px;
        left: 0;
        width: 100%;
        z-index: 991;
    }
}

@media (max-width: 640px) {
    #header.vpass {
        position: relative !important;
        padding-bottom: 0 !important;
    }

    #header.vpass.header-fixed {
        position: fixed !important;
        top: 0;
    }

    #header.vpass.header-fixed.headerFixedOliveNc {
        height: 0;
    }

    .subMenu_item {
        margin-right: 20px;
    }

    .forInfiniteMembersFixed {
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        z-index: 991;
    }
}

/* 共通ルール 共通部打ち消し用 */
body {
    line-height: 1.5;
}

section.cmp-section {
    padding-bottom: 48px;
    margin-bottom: 56px;
}

.bps-section:first-of-type section.cmp-section {
    padding-bottom: 56px;
}

.bps-section:has(.title:only-child) section.cmp-section {
    padding-bottom: 0;
}

.bps-section:has(+ .bps-section) section.cmp-section {
    margin-bottom: 24px;
}

.text_mem {
    margin-top: 12px;
    margin-bottom: 12px;
}

.cmp-text>p+p {
    margin-top: 12px;
}

.cmp-text p {
    line-height: 24px;
    letter-spacing: 0.48px;
}

a:hover img {
    opacity: 1;
}

/* ページ背景色 */
.root {
    background-color: #F5F5F5;
}

/* マージン */
.maT48_32 {
    margin-top: 48px !important;
}

.maT_minus8 {
    margin-top: -8px !important;
}

.maT_minus16 {
    margin-top: -16px !important;
}

.maB0 {
    margin-bottom: 0 !important;
}

.maB56_40 {
    margin-bottom: 56px !important;
}

/* タグを非表示にする */
.hidden_tag,
.filtering_hidden_tag {
    display: none !important;
}

/* セクション直下の全要素 */
section.cmp-section>*:not(.conversion_Button):not(.primary_Button):not(.secondary_Button):not(.tertiary-back_Button):not(.tabs) {
    padding-left: 12px;
    padding-right: 12px;
}

section.cmp-section>.conversion_Button,
section.cmp-section>.primary_Button,
section.cmp-section>.secondary_Button,
section.cmp-section>.tertiary-back_Button {
    padding-left: 12px;
    padding-right: 12px;
}

/* カルーセルを含むセクション */
section.cmp-section:has(.heroArea) {
    margin-bottom: 0;
}

/* h1 */
.cmp-title h1 {
    font-size: 32px;
    line-height: 44.8px;
    letter-spacing: 0.38px;
    padding: 48px 0;
}

/* h2 */
.cmp-title h2 {
    font-size: 28px;
    text-align: left;
    line-height: 39.2px;
    letter-spacing: 0.34px;
    margin-top: 48px;
    margin-bottom: 24px;
}

.cmp-title h2::before {
    display: none;
}

/* H2調整用 */
.cmp-section>.title:nth-of-type(n+2) h2 {
    margin-top: 48px;
}

div.container.action+div.title:nth-of-type(n+2) h2,
div.container.agreement+div.title:nth-of-type(n+2) h2,
div.container.anchor-sp-vertical+.title:nth-of-type(n+2) h2,
div.container.anchor-sp-side+div.title:nth-of-type(n+2) h2,
div.container.image-description-detail+div.title:nth-of-type(n+2) h2,
div.container.image-description-summary+div.title:nth-of-type(n+2) h2,
div.container.image-imgtitle+div.title:nth-of-type(n+2) h2,
div.container.image-link+div.title:nth-of-type(n+2) h2,
div.container.information+div.title:nth-of-type(n+2) h2,
div.container.inquiry+div.title:nth-of-type(n+2) h2,
div.container.listed-header+div.title:nth-of-type(n+2) h2,
div.container.listed-link+div.title:nth-of-type(n+2) h2,
div.container.mem-list+div.title:nth-of-type(n+2) h2,
div.container.overview+div.title:nth-of-type(n+2) h2,
div.container.points+div.title:nth-of-type(n+2) h2,
div.container.related-link+div.title:nth-of-type(n+2) h2,
div.container.step+div.title:nth-of-type(n+2) h2,
div.linkcontainer+div.title:nth-of-type(n+2) h2 {
    margin-top: 48px;
}

div.bps-image+div.title:nth-of-type(n+2) h2,
div.button+div.title:nth-of-type(n+2) h2,
div.bps-modal+div.title:nth-of-type(n+2) h2,
div.accordion+div.title:nth-of-type(n+2) h2 {
    margin-top: 48px;
}

/* テキスト＋H2調整 */
div.text+div.title:nth-of-type(n+2) h2 {
    /* margin-top: 36px; */
    margin-top: 48px;
}

div.text:has(.attention_indent)+div.title:nth-of-type(n+2) h2,
div.text:has(ul)+div.title:nth-of-type(n+2) h2,
div.text.attention_text_gray+div.title:nth-of-type(n+2) h2,
div.text.attention_text_red+div.title:nth-of-type(n+2) h2 {
    /* margin-top: 24px; */
    margin-top: 48px;
}

/* h3 */
/* H3デフォルトスタイル */
.cmp-title h3 {
    font-size: 20px;
    text-align: left;
    line-height: 30px;
    letter-spacing: 0.6px;
    margin-top: 8px;
    margin-bottom: 24px;
}

.cmp-title h3::after {
    display: none;
}

.cmp-title h3::before {
    display: none;
}

/* H3調整用 */
div.container.action+div.title h3,
div.container.agreement+div.title h3,
div.container.anchor-sp-vertical+.title h3,
div.container.anchor-sp-side+div.title h3,
div.container.image-description-detail+div.title h3,
div.container.image-description-summary+div.title h3,
div.container.image-imgtitle+div.title h3,
div.container.image-link+div.title h3,
div.container.information+div.title h3,
div.container.inquiry+div.title h3,
div.container.listed-header+div.title h3,
div.container.listed-link+div.title h3,
div.container.mem-list+div.title h3,
div.container.overview+div.title h3,
div.container.points+div.title h3,
div.container.related-link+div.title h3,
div.container.step+div.title h3,
div.linkcontainer+div.title h3 {
    margin-top: 8px;
}

div.bps-image+div.title h3,
div.button+div.title h3,
div.bps-modal+div.title h3,
div.accordion+div.title h3 {
    margin-top: 8px;
}

/* テキスト＋H3調整 */
div.text+div.title h3 {
    margin-top: 20px;
}

div.text:has(.attention_indent)+div.title h3,
div.text:has(ul)+div.title h3,
div.text.attention_text_gray+div.title h3,
div.text.attention_text_red+div.title h3 {
    margin-top: 8px;
}

.title:has(h2)+.title:has(h3)>.cmp-title>.cmp-title__text {
    margin-top: 8px;
}

/* h4 */
.cmp-title h4 {
    font-size: 20px;
    text-align: left;
    color: #707070;
    line-height: 30px;
    letter-spacing: 0.6px;
    margin-top: 0px;
    margin-bottom: 16px;
}

/* H4調整用 */
div.container.action+div.title h4,
div.container.agreement+div.title h4,
div.container.anchor-sp-vertical+.title h4,
div.container.anchor-sp-side+div.title h4,
div.container.image-description-detail+div.title h4,
div.container.image-description-summary+div.title h4,
div.container.image-imgtitle+div.title h4,
div.container.image-link+div.title h4,
div.container.information+div.title h4,
div.container.inquiry+div.title h4,
div.container.listed-header+div.title h4,
div.container.listed-link+div.title h4,
div.container.mem-list+div.title h4,
div.container.overview+div.title h4,
div.container.points+div.title h4,
div.container.related-link+div.title h4,
div.container.step+div.title h4,
div.linkcontainer+div.title h4 {
    margin-top: 0px;
}

div.bps-image+div.title h4,
div.text+div.title h4,
div.button+div.title h4,
div.bps-modal+div.title h4,
div.accordion+div.title h4 {
    margin-top: 0px;
}

/* テキスト＋H4調整 */
div.text+div.title h4 {
    margin-top: 12px;
}

div.text:has(.attention_indent)+div.title h4,
div.text:has(ul)+div.title h4,
div.text.attention_text_gray+div.title h4,
div.text.attention_text_red+div.title h4 {
    margin-top: 0;
}

/* H5 */
.cmp-title h5 {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.48px;
    margin-top: 0px;
    margin-bottom: 16px;
}

.cmp-title h5::before {
    display: none;
}

.cmp-title h5 p {
    margin-left: 0;
}

/* H5調整用 */
div.container.action+div.title h5,
div.container.agreement+div.title h5,
div.container.anchor-sp-vertical+.title h5,
div.container.anchor-sp-side+div.title h5,
div.container.image-description-detail+div.title h5,
div.container.image-description-summary+div.title h5,
div.container.image-imgtitle+div.title h5,
div.container.image-link+div.title h5,
div.container.information+div.title h5,
div.container.inquiry+div.title h5,
div.container.listed-header+div.title h5,
div.container.listed-link+div.title h5,
div.container.mem-list+div.title h5,
div.container.overview+div.title h5,
div.container.points+div.title h5,
div.container.related-link+div.title h5,
div.container.step+div.title h5,
div.linkcontainer+div.title h5 {
    margin-top: 0px;
}

div.bps-image+div.title h5,
div.button+div.title h5,
div.bps-modal+div.title h5,
div.accordion+div.title h5 {
    margin-top: 0px;
}

/* テキスト＋H5調整 */
div.text+div.title h5 {
    margin-top: 12px;
}

div.text:has(.attention_indent)+div.title h5,
div.text:has(ul)+div.title h5,
div.text.attention_text_gray+div.title h5,
div.text.attention_text_red+div.title h5 {
    margin-top: 0;
}

.title:has(h4)+.title:has(h5)>.cmp-title>.cmp-title__text {
    margin-top: 8px;
}

/* 灰色注釈 */
.attention_text_gray {
    margin-top: 24px;
    margin-bottom: 24px;
}

.attention_text_gray>.cmp-text>p+p {
    margin-top: 8px;
}

.attention_text_gray>.cmp-text>p {
    margin-bottom: 0;
}

/* 赤色注釈 */
.attention_text_red {
    margin-top: 16px;
    margin-bottom: 16px;
}

.attention_text_gray+.attention_text_gray,
.attention_text_gray+.attention_text_red,
.attention_text_red+.attention_text_red,
.attention_text_red+.attention_text_gray {
    margin-top: 0px;
}

.attention_text_red>.cmp-text>p+p {
    margin-top: 8px;
}

.attention_text_red>.cmp-text>p {
    margin-bottom: 0;
}

/* icon_title */
.icon_title {
    font-size: 20px;
}

/* button */
.button {
    margin-top: 32px;
    margin-bottom: 32px;
}

/* conversion */
.conversion_Button .cmp-button {
    border-radius: 8px;
    padding: 12px 0;
}

.conversion_Button .cmp-button::before {
    border-radius: 8px;
}

.conversion_Button.disabled .cmp-button {
    border-radius: 8px;
}

.conversion_Button.ic-arrow-right .cmp-button p {
    padding-left: 16px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

.conversion_Button.ic-blank .cmp-button p {
    padding-left: 16px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

/* primary */
.primary_Button .cmp-button {
    border-radius: 8px;
    padding: 12px 0;
    background-color: #333333;
}

.primary_Button .cmp-button::before {
    border-radius: 8px;
    background-color: #000000;
}

.primary_Button.disabled .cmp-button {
    border-radius: 8px;
}

.primary_Button.ic-arrow-right .cmp-button p {
    padding-left: 16px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

.primary_Button.ic-blank .cmp-button p {
    padding-left: 16px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

.primary_Button.ic-window .cmp-button p {
    padding-left: 16px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

/* secondary */
.secondary_Button .cmp-button {
    border-radius: 8px;
    padding: 12px 0;
    color: #333333;
    border: 2px solid #333333;
}

.secondary_Button .cmp-button::before {
    border-radius: 4px;
    background-color: #333333;
}

.secondary_Button.disabled .cmp-button {
    border-radius: 8px;
}

.secondary_Button.ic-arrow-right .cmp-button p {
    padding-right: 39px;
    padding-left: 15px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

.secondary_Button.ic-blank .cmp-button p {
    padding-right: 39px;
    padding-left: 15px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

.secondary_Button.ic-window .cmp-button p {
    padding-right: 39px;
    padding-left: 15px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

.secondary_Button.ic-arrow-right:not(.disabled) .cmp-button:not(:hover):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b{fill:none;}.b{stroke:%23333333;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cpath class='b' d='M4.55,1.1l5,5-5,5' transform='translate(1.449 1.898)'/%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.secondary_Button.ic-blank:not(.disabled) .cmp-button:not(:hover):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23333333;stroke-linecap:round;stroke-width:2px;}.b{stroke-linejoin:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.455 2.455)'%3E%3Cpath class='b' d='M12.086,9.711v2.376H1V1H3.376' transform='translate(-1 -1)'/%3E%3Cpath class='b' d='M9,1h4.751V5.752' transform='translate(-2.665 -1)'/%3E%3Cpath class='c' d='M5,1,0,6' transform='translate(5.543 -0.457)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.secondary_Button.ic-window:not(.disabled) .cmp-button:not(:hover):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23333333;stroke-linejoin:round;stroke-width:2px;}.c{stroke-linecap:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.355 2)'%3E%3Cpath class='b' d='M9,7.088V9H1V1H2.914' transform='translate(-1 2.641)'/%3E%3Crect class='c' width='8' height='8' transform='translate(3.644)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

/* tertiary */
.tertiary-back_Button .cmp-button {
    border-radius: 8px;
    padding: 12px 0;
    background-color: #FFFFFF;
    border: 2px solid #333333;
}

.tertiary-back_Button .cmp-button::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b{fill:none;}.b{stroke:%23333333;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16' transform='translate(16 16) rotate(180)'/%3E%3Cpath class='b' d='M4.55,1.1l5,5-5,5' transform='translate(14.551 14.102) rotate(180)'/%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.tertiary-back_Button .cmp-button::before {
    border-radius: 4px;
    background-color: #333333;
}

.tertiary-back_Button:not(.disabled) .cmp-button:hover {
    color: #FFFFFF;
}

.tertiary-back_Button .cmp-button:hover::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b{fill:none;}.b{stroke:%23FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16' transform='translate(16 16) rotate(180)'/%3E%3Cpath class='b' d='M4.55,1.1l5,5-5,5' transform='translate(14.551 14.102) rotate(180)'/%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.tertiary-back_Button.disabled .cmp-button {
    pointer-events: none;
    background: #DDDDDD;
    color: #FFFFFF;
    border-radius: 8px;
    border: none;
}

.tertiary-back_Button.disabled .cmp-button::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b{fill:none;}.b{stroke:%23FFFFFF;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16' transform='translate(16 16) rotate(180)'/%3E%3Cpath class='b' d='M4.55,1.1l5,5-5,5' transform='translate(14.551 14.102) rotate(180)'/%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.tertiary-back_Button .cmp-button p {
    padding-left: 40px;
    padding-right: 16px;
    line-height: 24px;
    letter-spacing: 0.48px;
}

/* もっと見る　*/
.showMoreArea {
    display: flex;
    justify-content: center;
}

.showMoreArea .button .cmp-button {
    display: flex;
    justify-content: center;
    align-items: center;
}

.showMoreArea .button .cmp-button:hover {
    cursor: pointer;
}

/* text-link */
/* テキストリンク調整用 */
div.button.text-link-A_Button,
div.button.text-link-B_Button,
div.button.text-link-C_Button,
div.button.text-link-D_Button {
    margin-top: 24px;
    margin-bottom: 24px;
}

/* 通常テキストリンクL */
.text-link-A_Button .cmp-button {
    color: #707070;
    font-family: "Noto Sans JP";
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
}

.text-link-A_Button:not(.disabled) .cmp-button:hover {
    color: #333333;
    text-decoration: underline;
}

.text-link-A_Button .cmp-button p {
    line-height: 24px;
    letter-spacing: 0.48px;
}

/* 通常テキストリンクM */
.text-link-B_Button .cmp-button {
    color: #707070;
    font-family: "Noto Sans JP";
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
}

.text-link-B_Button .cmp-button::after {
    color: #707070;
}

.text-link-B_Button:not(.disabled) .cmp-button:hover {
    color: #333333;
    text-decoration: underline;
}

.text-link-B_Button .cmp-button p {
    line-height: 24px;
    letter-spacing: 0.48px;
}

/* 通常テキストリンクS */
.text-link-D_Button .cmp-button {
    color: #707070;
}

.text-link-D_Button:not(.disabled) .cmp-button:hover {
    color: #333333;
    text-decoration: underline;
}

.text-link-D_Button .cmp-button p {
    line-height: 24px;
    letter-spacing: 0.48px;
}

/* テキストリンクアイコン */
.ic-arrow-right-p:not(.disabled)>.cmp-button:not(.hover)>p:nth-child(n+2):nth-last-child(n+2):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b{fill:none;}.b{stroke:%23707070;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cpath class='b' d='M4.55,1.1l5,5-5,5' transform='translate(1.449 1.898)'/%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.ic-arrow-right-p:not(.disabled) .cmp-button:hover>p:nth-child(n+2):nth-last-child(n+2):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b{fill:none;}.b{stroke:%23333333;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cpath class='b' d='M4.55,1.1l5,5-5,5' transform='translate(1.449 1.898)'/%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.ic-blank-p:not(.disabled)>.cmp-button:not(.hover)>p:nth-child(n+2):nth-last-child(n+2):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23707070;stroke-linecap:round;stroke-width:2px;}.b{stroke-linejoin:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.455 2.455)'%3E%3Cpath class='b' d='M12.086,9.711v2.376H1V1H3.376' transform='translate(-1 -1)'/%3E%3Cpath class='b' d='M9,1h4.751V5.752' transform='translate(-2.665 -1)'/%3E%3Cpath class='c' d='M5,1,0,6' transform='translate(5.543 -0.457)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.ic-blank-p:not(.disabled) .cmp-button:hover>p:nth-child(n+2):nth-last-child(n+2):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23333333;stroke-linecap:round;stroke-width:2px;}.b{stroke-linejoin:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.455 2.455)'%3E%3Cpath class='b' d='M12.086,9.711v2.376H1V1H3.376' transform='translate(-1 -1)'/%3E%3Cpath class='b' d='M9,1h4.751V5.752' transform='translate(-2.665 -1)'/%3E%3Cpath class='c' d='M5,1,0,6' transform='translate(5.543 -0.457)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.ic-window-p:not(.disabled)>.cmp-button:not(.hover)>p:nth-child(n+2):nth-last-child(n+2):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23707070;stroke-linejoin:round;stroke-width:2px;}.c{stroke-linecap:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.355 2)'%3E%3Cpath class='b' d='M9,7.088V9H1V1H2.914' transform='translate(-1 2.641)'/%3E%3Crect class='c' width='8' height='8' transform='translate(3.644)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.ic-window-p:not(.disabled) .cmp-button:hover>p:nth-child(n+2):nth-last-child(n+2):after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23333333;stroke-linejoin:round;stroke-width:2px;}.c{stroke-linecap:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.355 2)'%3E%3Cpath class='b' d='M9,7.088V9H1V1H2.914' transform='translate(-1 2.641)'/%3E%3Crect class='c' width='8' height='8' transform='translate(3.644)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

/* 文中リンクや見出しに適用L */
.cmp-text a {
    font-family: "Noto Sans JP";
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    color: #707070;
    font-weight: 700;
}


.cmp-text a:hover {
    color: #333333;
    text-decoration: underline;
    font-weight: 700;
}

.text_mem .cmp-text a[target="_self"]:after {
    display: none;
}

/* 文中リンクや見出しに適用M */
.cmp-text span {
    line-height: 21px;
    letter-spacing: 0.42px;
}

/* 文中リンクアイコン */
.text_mem .cmp-text a[target="_blank"]:after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23707070;stroke-linecap:round;stroke-width:2px;}.b{stroke-linejoin:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.455 2.455)'%3E%3Cpath class='b' d='M12.086,9.711v2.376H1V1H3.376' transform='translate(-1 -1)'/%3E%3Cpath class='b' d='M9,1h4.751V5.752' transform='translate(-2.665 -1)'/%3E%3Cpath class='c' d='M5,1,0,6' transform='translate(5.543 -0.457)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.text_mem .cmp-text a[target="_blank"]:hover:after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23333333;stroke-linecap:round;stroke-width:2px;}.b{stroke-linejoin:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.455 2.455)'%3E%3Cpath class='b' d='M12.086,9.711v2.376H1V1H3.376' transform='translate(-1 -1)'/%3E%3Cpath class='b' d='M9,1h4.751V5.752' transform='translate(-2.665 -1)'/%3E%3Cpath class='c' d='M5,1,0,6' transform='translate(5.543 -0.457)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.text_mem .cmp-text a[target="_WinPop"]:after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23707070;stroke-linejoin:round;stroke-width:2px;}.c{stroke-linecap:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.355 2)'%3E%3Cpath class='b' d='M9,7.088V9H1V1H2.914' transform='translate(-1 2.641)'/%3E%3Crect class='c' width='8' height='8' transform='translate(3.644)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.text_mem .cmp-text a[target="_WinPop"]:hover:after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b,.c{fill:none;}.b,.c{stroke:%23333333;stroke-linejoin:round;stroke-width:2px;}.c{stroke-linecap:round;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cg transform='translate(2.355 2)'%3E%3Cpath class='b' d='M9,7.088V9H1V1H2.914' transform='translate(-1 2.641)'/%3E%3Crect class='c' width='8' height='8' transform='translate(3.644)'/%3E%3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

/* その他パーツ */
/* anchor */
.anchor-link_Button .cmp-button>p {
    padding: 4px 0 4px 24px;
}

.anchor-link_Button .cmp-button>p:first-of-type {
    padding: 0;
}

.anchor-link_Button .cmp-button>p:last-of-type {
    padding: 0;
}

.anchor-link_Button:not(.disabled) .cmp-button {
    color: #707070;
}

.anchor-link_Button:not(.disabled) .cmp-button:hover {
    color: #333333;
}

.anchor-link_Button .cmp-button:before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b{fill:none;}.b{stroke:%23707070;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cpath class='b' d='M4.55,1.1l5,5-5,5' transform='translate(1.449 1.898)'/%3E%3C/svg%3E")no-repeat;
    background-size: contain;
    margin-top: -8px;
    transform: rotate(90deg);
}

.anchor-link_Button .cmp-button:hover:before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cdefs%3E%3Cstyle%3E.a,.b{fill:none;}.b{stroke:%23333333;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}%3C/style%3E%3C/defs%3E%3Crect class='a' width='16' height='16'/%3E%3Cpath class='b' d='M4.55,1.1l5,5-5,5' transform='translate(1.449 1.898)'/%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.anchor-link_Button .cmp-button {
    border-bottom: none;
    padding-bottom: 0;
}

.anchor-link_Button {
    margin: 32px 24px 32px 0 !important;
}

.cmp-container .anchor-link_Button:last-of-type {
    margin-right: 0 !important;
}

/* accordion */
.cmp-accordion__button,
.cmp-accordion__button:hover {
    font-size: 16px;
    padding: 16px 40px 16px 16px;
    background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2862_7090)'%3E%3Cpath d='M13.002 5.99805L8.00195 10.998L3.00195 5.99805' stroke='%23707070' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2862_7090'%3E%3Crect width='16' height='16' fill='white' transform='matrix(0 -1 1 0 0 16)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E")no-repeat;
    background-position: right 20px center;
}

.cmp-accordion__button:hover {
    color: initial;
}

.cmp-accordion__button:before,
.cmp-accordion__button:after {
    display: none;
}

span.cmp-accordion__title {
    font-family: "Noto Sans JP";
    line-height: 24px;
    letter-spacing: 0.48px;
}

.cmp-accordion__panel>div.container>div.cmp-container>div>*:not(.conversion_Button):not(.primary_Button):not(.secondary_Button):not(.tertiary-back_Button) {
    padding-left: 16px;
    padding-right: 16px;
}

.cmp-accordion__panel>div.container>div.cmp-container {
    padding-top: 8px;
    padding-bottom: 32px;
}

/* step */
.attention_indent {
    text-indent: -1.14em;
}

.cmp-text>p+p .attention_indent {
    margin-top: 12px;
}

.cmp-text .attention_indent b {
    letter-spacing: 0em;
}

.text_mem .cmp-text:has(p .attention_indent),
.text_mem .cmp-text:has(p u > a) {
    margin-left: 13px;
}

.text_mem:has(p>.attention_indent) {
    margin-top: 24px;
    margin-bottom: 24px;
}

/* list */
.cmp-text li {
    line-height: 24px;
    letter-spacing: 0.48px;
}

.cmp-text ul {
    padding-left: 30px;
}

.cmp-text ul>li:nth-of-type(n+2) {
    margin-top: 16px;
}

.text_mem:has(ul) {
    margin-top: 24px;
    margin-bottom: 24px;
}

/* listed-link */
.u-line_button>.cmp-button {
    border-bottom: 1px solid #DDDDDD;
}

.u-line_button .cmp-button p:nth-child(2) {
    min-height: auto;
}

.u-line_button>.cmp-button>p:nth-of-type(2) {
    font-size: 14px;
    color: #707070;
}

.u-line_button>.cmp-button>p:nth-of-type(3) {
    font-weight: 700;
}

.u-line_button>.cmp-button>p:nth-of-type(n) {
    margin-bottom: 8px;
    font-weight: 400;
}

.u-line_button>.cmp-button>p:first-of-type {
    margin-bottom: 0;
}

.u-line_button>.cmp-button>p:last-of-type {
    margin-bottom: 0;
}

.u-line_button>.cmp-button>p:nth-last-of-type(2) {
    margin-bottom: 16px;
}

.u-line_button:not(.disabled) .cmp-button:hover {
    border-bottom-color: #333333;
    opacity: 0.7;
}

.text-link-E_Button:not(.disabled) .cmp-button:hover {
    color: #333333;
}

.cmp-container .u-line_button:last-of-type>.cmp-button {
    border-bottom: none;
}

/* listed-linkアイコン */
.u-line_button.ic-arrow-u_line .cmp-button:after {
    display: none;
}

/* agreement */
.tagcontainer>#check_container>.aem-Grid {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tagcontainer>#check_container>.aem-Grid>.text_mem:first-of-type {
    margin-bottom: 0;
}

.tagcontainer>#check_container>.aem-Grid .attention_text_gray {
    width: 320px;
    margin-top: 0;
}

.tagcontainer>.check_container>.cmp-container>.aem-Grid {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tagcontainer>.check_container>.cmp-container>.aem-Grid>.text_mem:first-of-type {
    margin-bottom: 0;
}

.tagcontainer>.check_container>.cmp-container>.aem-Grid .attention_text_gray {
    width: 320px;
    margin-top: 0;
}

#check_agreement_proper,
#check_agreement_olive,
#check_agreement_olive_nc {
    transform: scale(1.23);
    margin-left: 1px;
    margin-right: 8px;
    display: inline;
}

#p_text_agreement_proper,
#p_text_agreement_olive,
#p_text_agreement_olive_nc {
    text-align: center;
}

@media (max-width: 640px) {

    #chk_lbl_agreement_proper,
    #chk_lbl_agreement_olive,
    #chk_lbl_agreement_olive_nc {
        width: calc(100% - (22px));
    }

    #p_text_agreement_proper,
    #p_text_agreement_olive,
    #p_text_agreement_olive {
        text-align: left;
    }
}

/* information */
.information {
    font-size: 20px;
}

/* Image-description-summary */
div.container.image-description-summary {
    margin: 24px 0;
}

.image-description-summary .cmp-container {
    background-color: #FFFFFF;
    border-radius: 8px;
}

.image-description-summary img {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    margin-bottom: 16px;
}

/* イメージ提示サマリーの背景がグレーのテキストに適用 */
.text-bc-gure {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    background-color: #E8E8E8;
}

/* Card normal */
.image-description-summary .text_mem {
    padding-left: 16px;
    padding-right: 16px;
}

/* 画像 */
.bps-image {
    margin-top: 32px;
    margin-bottom: 32px;
}

section.cmp-section>.title:has(h1)+.bps-image {
    margin-top: 0px;
    margin-bottom: 32px;
}

.pc_paR80 img {
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    padding-right: 24px;
}

/* テキスト内部注釈 */
ul>li>.attention_gray {
    margin-top: 8px;
    line-height: 18px;
}

/* 中カテカード用CSS */
.l-four-area {
    margin-bottom: 56px;
}

.l-four {
    display: flex;
    flex-wrap: wrap
}

.l-four-card {
    max-width: 296px;
    margin-left: 12px;
    margin-right: 12px;
    background-color: #FFFFFF;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
    box-shadow: 0px 1px 2px 0px #0000001A;
}

.l-four-card:nth-of-type(n+4) {
    margin-top: 24px;
}

.l-four-card-item {
    display: inline-block;
}

.l-four-card-item:hover {
    opacity: 0.7;
}

.l-four-card-img {
    display: block;
    width: 100%;
    height: auto;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.l-four-card-content {
    display: block;
    width: 100%;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
    padding: 24px;
}

.l-four-card-title {
    max-height: 48px;
    font-weight: 700;
    font-size: 16px;
    color: #333333;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.l-four-card-text {
    max-height: 63px;
    font-size: 14px;
    color: #333333;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* TOPカルーセル、イベント、キャンペーン用カード */
.card {
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
    background-color: #FFFFFF;
}

.card-img-wrapper {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.card-content {
    padding: 16px;
}

.card-content>* {
    margin-bottom: 12px;
}

.card-content>*:last-child {
    margin-bottom: 0;
}

.card-label {
    display: inline-block;
    padding: 4px 8px;
    background-color: #DDDDDD;
    font-size: 14px;
    font-weight: 400;
    border-radius: 4px;
}

.card-content .card-text {
    font-weight: bold;
}

.clamp-3-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-date {
    display: flex;
    font-size: 12px;
    font-weight: 400;
    color: #707070;
}

.card-date .reports {
    display: flex;
    align-items: center;
    width: 87px;
    padding-right: 8px;
    margin-right: 8px;
    border-right: 1px solid #707070;
}

.card-date .period {
    display: flex;
    align-items: center;
}

/* カード用リンクオプション */
.card-link {
    color: currentColor;
    text-decoration: none;
}

.card-link:focus,
.card-link:not(.noLink):hover {
    opacity: 0.7;
}

/* カルーセルエリア */
.carousel-area {
    margin-top: 48px;
}

/* イベント・キャンペーンのタイトルエリア */
.responsive-inner {
    width: 100%;
    max-width: 960px;
}

.title-link-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 12px 24px;
}

.title-link-row .title {
    font-size: 28px;
    font-weight: bold;
}

.title-link-row .text-link {
    font-weight: bold;
    color: #707070;
    text-decoration: underline;
}

.title-link-row .text-link:hover,
.title-link-row .text-link:focus {
    color: #333;
}

/* グリッド → 縦並びコンテナ（３列） */
.cards-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0 12px;
}

/* グリッド → スクロール用ラッパー */
.scroll-wrapper {
    padding-bottom: 56px;
    max-width: 960px;
}

/* スマホ表示でスクロール前の左にだけ隙間をあける用のスペーサーを非表示 */
.card-spacer {
    display: none;
}

/* モーダル */
.iziModal {
    border-radius: 8px;
}

div.bps-modal.text-link-A_Modal .cmp-modal__text {
    color: #707070;
}

div.bps-modal.text-link-B_Modal .cmp-modal__text {
    color: #707070;
}

div.bps-modal.text-link-A_Button .cmp-modal__text {
    color: #707070;
}

div.bps-modal.text-link-B_Button .cmp-modal__text {
    color: #707070;
}

div.bps-modal.text-link-A_Modal:not(.disabled) .cmp-modal__text {
    color: #707070;
}

div.bps-modal.text-link-A_Modal:not(.disabled) .cmp-modal__text:hover {
    color: #333333;
}

div.bps-modal.text-link-B_Modal:not(.disabled) .cmp-modal__text:hover {
    color: #333333;
}

div.bps-modal.text-link-A_Button:not(.disabled) .cmp-modal__text:hover {
    color: #333333;
}

div.bps-modal.text-link-B_Button:not(.disabled) .cmp-modal__text:hover {
    color: #333333;
}

.ic-modal-p:not(.disabled)>.cmp-modal__text:not(.hover)>p:after {
    background: url("data:image/svg+xml,%3C?xml version='1.0' encoding='UTF-8'?%3E%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E  %3Cdefs%3E    %3Cstyle%3E      .cls-1 {        fill: none;      }      .cls-2 {        fill: %23707070;      }    %3C/style%3E  %3C/defs%3E  %3Cg id='_レイヤー_1-2' data-name='レイヤー 1'%3E    %3Cg%3E      %3Cpath class='cls-2' d='M13.59,1.51H2.41c-.55,0-1,.45-1,1v10.98c0,.55.45,1,1,1h11.17c.55,0,1-.45,1-1V2.51c0-.55-.45-1-1-1ZM12.59,12.49H3.41v-6.69h9.17v6.69ZM12.61,4.21c0,.13-.11.24-.24.24h-1.12c-.13,0-.24-.11-.24-.24v-1.12c0-.13.11-.24.24-.24h1.12c.13,0,.24.11.24.24v1.12Z'/%3E      %3Crect class='cls-1' width='16' height='16'/%3E    %3C/g%3E  %3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.ic-window-p:not(.disabled)>.cmp-modal__text:not(.hover)>p:after {
    background: url("data:image/svg+xml,%3C?xml version='1.0' encoding='UTF-8'?%3E%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E  %3Cdefs%3E    %3Cstyle%3E      .cls-1 {        fill: none;      }      .cls-2 {        fill: %23707070;      }    %3C/style%3E  %3C/defs%3E  %3Cg id='_レイヤー_1-2' data-name='レイヤー 1'%3E    %3Cg%3E      %3Cpath class='cls-2' d='M13.59,1.51H2.41c-.55,0-1,.45-1,1v10.98c0,.55.45,1,1,1h11.17c.55,0,1-.45,1-1V2.51c0-.55-.45-1-1-1ZM12.59,12.49H3.41v-6.69h9.17v6.69ZM12.61,4.21c0,.13-.11.24-.24.24h-1.12c-.13,0-.24-.11-.24-.24v-1.12c0-.13.11-.24.24-.24h1.12c.13,0,.24.11.24.24v1.12Z'/%3E      %3Crect class='cls-1' width='16' height='16'/%3E    %3C/g%3E  %3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.ic-modal-p:not(.disabled) .cmp-modal__text:hover>p:after {
    background: url("data:image/svg+xml,%3C?xml version='1.0' encoding='UTF-8'?%3E%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E  %3Cdefs%3E    %3Cstyle%3E      .cls-1 {        fill: none;      }      .cls-2 {        fill: %23333333;      }    %3C/style%3E  %3C/defs%3E  %3Cg id='_レイヤー_1-2' data-name='レイヤー 1'%3E    %3Cg%3E      %3Cpath class='cls-2' d='M13.59,1.51H2.41c-.55,0-1,.45-1,1v10.98c0,.55.45,1,1,1h11.17c.55,0,1-.45,1-1V2.51c0-.55-.45-1-1-1ZM12.59,12.49H3.41v-6.69h9.17v6.69ZM12.61,4.21c0,.13-.11.24-.24.24h-1.12c-.13,0-.24-.11-.24-.24v-1.12c0-.13.11-.24.24-.24h1.12c.13,0,.24.11.24.24v1.12Z'/%3E      %3Crect class='cls-1' width='16' height='16'/%3E    %3C/g%3E  %3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

.ic-window-p:not(.disabled) .cmp-modal__text:hover>p:after {
    background: url("data:image/svg+xml,%3C?xml version='1.0' encoding='UTF-8'?%3E%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E  %3Cdefs%3E    %3Cstyle%3E      .cls-1 {        fill: none;      }      .cls-2 {        fill: %23333333;      }    %3C/style%3E  %3C/defs%3E  %3Cg id='_レイヤー_1-2' data-name='レイヤー 1'%3E    %3Cg%3E      %3Cpath class='cls-2' d='M13.59,1.51H2.41c-.55,0-1,.45-1,1v10.98c0,.55.45,1,1,1h11.17c.55,0,1-.45,1-1V2.51c0-.55-.45-1-1-1ZM12.59,12.49H3.41v-6.69h9.17v6.69ZM12.61,4.21c0,.13-.11.24-.24.24h-1.12c-.13,0-.24-.11-.24-.24v-1.12c0-.13.11-.24.24-.24h1.12c.13,0,.24.11.24.24v1.12Z'/%3E      %3Crect class='cls-1' width='16' height='16'/%3E    %3C/g%3E  %3C/g%3E%3C/svg%3E")no-repeat;
    background-size: contain;
}

/* for Infinite Members */
.forInfiniteMembersArea {
    display: flex;
    height: 48px;
    justify-content: center;
    background-color: #170D06;
    min-width: 960px;
}

.forInfiniteMembersArea img {
    min-width: 1920px;
}

/* ナビゲーション */
.navigationArea {
    display: flex;
    justify-content: center;
    padding: 8px 12px 56px;
    background-color: #E8E8E8;
    min-width: 960px;
    width: 100vw;
    margin-left: calc(480px - 50vw);
}

.navigationInner {
    width: 936px;
}

.navigationItemArea {
    display: flex;
}

.navigationItem {
    display: flex;
    width: 96px;
    height: 100px;
    box-shadow: 0px 1px 2px 0px #0000001A;
    background-color: #FFFFFF;
    border-radius: 8px;
    flex-direction: column;
    margin: 0 4px 5px;
}

.navigationItem a {
    padding: 8px;
    color: #333333;
    height: 100px;
}

.navigationItem a:hover {
    opacity: 0.7;
}

.navigationItem img {
    width: 40px;
    height: 40px;
    margin-bottom: 8px;
    display: block;
}

.navigationItem p {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.36px;
}

.bps-section:has(.heroArea)+.experiencefragment .navigationArea {
    background-color: #F5F5F5;
}

.cmp-container:has(.navigationArea):has(.campaign-gray:not(.hidden_tag)) .cmp-experiencefragment .navigationArea {
    padding-bottom: 48px;
}

/* L3ナビゲーション */
.thirdNavigation {
    margin: 0 12px;
}

.thirdNavigationInner {
    width: 936px;
}

.thirdNavigationArea {
    display: flex;
    gap: 24px;
}

.thirdNavigationItem {
    display: flex;
    box-shadow: 0px 1px 2px 0px #0000001A;
    background-color: #FFFFFF;
    border-radius: 8px;
    width: 216px;
}

.thirdNavigationItem a {
    padding: 16px 8px;
    width: 100%;
}

.thirdNavigationItem a:hover {
    opacity: 0.7;
}

.thirdNavigationItem p {
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.42px;
    color: #333333;
}

/* お問い合わせエリア */
.inquiryWrapArea {
    text-align: left;
    margin-bottom: 0;
}

.inquiryWrapArea:has(+ .inquiryWrapArea) {
    margin-bottom: 64px;
}

.inquiryWrapArea h4 {
    margin-bottom: 24px;
}

.inquiryWrapArea h5 {
    font-size: 20px;
    margin-bottom: 24px;
}

.inquiryWrapArea p {
    margin-bottom: 24px;
}

.inquiryWrapArea ul,
.inquiryWrapArea ol {
    padding: 0;
    line-height: 1.5;
}

.inquiryWrapArea ul>li {
    list-style-type: none;
    margin-bottom: 24px;
}

.inquiryWrapArea ul>li:last-of-type {
    margin-bottom: 0;
}

.inquiryWrapArea .grid-wrap {
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
}


.inquiryWrapArea .inquiryName {
    font-size: 20px;
    margin-bottom: 24px;
}

.inquiryWrapArea .inquiryName.gray-text {
    margin-bottom: 16px;
}

.inquiryWrapArea [data-ui-module-display*="phone"] {
    margin-bottom: 24px;
}

.inquiryWrapArea [data-ui-module-display*="phone"] [data-ui-module-prop*="phone"] {
    font-size: 20px;
    color: #333333;
    line-height: 1.5;
    vertical-align: text-top;
}

.inquiryWrapArea [data-ui-module-display*="phone"]>span:first-child:not([data-ui-module-prop*="phone"]) {
    font-size: 12px;
    padding: 2px 8px;
    margin-right: 8px;
    background-color: #E8E8E8;
    border-radius: 4px;
    vertical-align: middle;
}

.inquiry-label {
    font-size: 12px;
    padding: 2px 8px;
    margin-right: 8px;
    background-color: #E8E8E8;
    border-radius: 4px;
    vertical-align: middle;
}

.inquiryWrapArea .subtext {
    vertical-align: middle;
    margin-top: 16px;
}


.inquiryWrapArea [data-ui-module-display="reception_hours"] {
    font-weight: normal;
    margin-bottom: 24px;
}

.inquiryWrapArea [data-ui-module-display*="annotation"] {
    color: #707070;
    padding-left: 1.3em;
    text-indent: -1.3em;
    font-size: 12px;
}

.inquiryWrapArea [data-ui-module-display*="annotation"]:has(+ [data-ui-module-display*="annotation"]) {
    margin-bottom: 8px;
}

.inquiryWrapArea [data-ui-module-display*="annotation"]:before {
    content: "※ ";
    color: inherit;
    font-size: inherit;
}

.smallArrowLink>li>a {
    font-family: "Noto Sans JP";
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    color: #707070;
    font-weight: 700;
}

.smallArrowLink>li>a:hover {
    color: #333333;
    text-decoration: underline;
    font-weight: 700;
}

.note>li {
    color: #707070;
    padding-left: 1.3em;
    text-indent: -1.3em;
    font-size: 12px;
}

.note>li::before {
    content: "※ ";
    color: inherit;
    font-size: inherit;
}

/* お問い合わせエリア内で使うユーティリティクラス */
.inquiryWrapArea .gray-text {
    color: #707070 !important;
}

.inquiryWrapArea .black-text {
    color: #333333 !important;
}

/* パンくず用CSS */
.bps-breadcrumb {
    margin-top: 58px;
    margin-bottom: 0;
}

/* インクルードJSPのモーダルスタイル */
.ModalArea {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#55000000, EndColorStr=#55000000);
    color: #333333;
    display: none;
    z-index: 999;
}

/*IE9以上*/
.ModalArea:not(:target) {
    filter: none;
}

.ModalInner {
    width: auto;
    max-width: 696px;
    background: #ffffff;
    position: absolute;
    left: 0;
    right: 0;
    padding: 0 16px;
    margin: 0 auto;
    opacity: 0;
    outline: none;
    border-radius: 8px;
}

.ModalCloseBtn {
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: -30px;
    right: 0;
    pointer-events: none;
    overflow: hidden;
}

.ModalCloseBtn:before {
    content: "×";
    display: block;
    font-size: 33px;
    line-height: 1;
    margin-top: -5px;
    position: absolute;
    top: 0;
    left: -4px;
    color: #F5F5F5;
}

/* イベント一覧 */
.eventCategoryConditionsArea,
.receptionStatusConditionsArea {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.eventCategoryConditionsArea {
    margin-bottom: 24px;
}

.eventCategoryConditionsArea .checkboxContainer label,
.receptionStatusConditionsArea .checkboxContainer label {
    display: flex;
    font-size: 14px;
    padding: 16px 8px;
    border: 1px solid #DDDDDD;
    border-radius: 8px;
}

.eventCategoryConditionsArea .checkboxContainer label:hover,
.receptionStatusConditionsArea .checkboxContainer label:hover {
    cursor: pointer;
}

.eventCategoryConditionsArea .checkboxContainer label:has(input[type="checkbox"]:checked),
.receptionStatusConditionsArea .checkboxContainer label:has(input[type="checkbox"]:checked) {
    background-color: #DDDDDD;
}

.eventCategoryConditionsArea input[type="checkbox"],
.receptionStatusConditionsArea input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 0;
    z-index: 2;
}

.filteringButtonArea .primary_Button {
    display: flex;
    justify-content: center;
}

.filteringButtonArea .primary_Button .cmp-button {
    display: flex;
    justify-content: center;
    align-items: center;
}

.filteringButtonArea .primary_Button .cmp-button:hover {
    cursor: pointer;
}

.event-condition-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0 12px 32px;
}

.event-condition-container .count-event {
    display: flex;
    align-items: center;
    font-weight: bold;
}

.event-condition-container .sortSelect {
    height: 48px;
    display: flex;
    align-items: center;
    border-radius: 8px;
    border: 1px solid #DDDDDD;
    outline: none;
    font-weight: bold;
    font-size: 14px;
    background-color: #FFFFFF;
    position: relative;
}

.event-condition-container .sortSelect:hover {
    cursor: pointer;
}

.event-condition-container .selectedEvent {
    padding-left: 40px;
    background-image: url("/content/dam/smcc/jp/ja/mem/infinite/res/img/icon_sort.svg");
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: 8px center;
}

.event-condition-container .sortSelect:hover .selectedEvent {
    opacity: 0.7;
}

.event-condition-container .sortOptions {
    border-radius: 8px;
    border: 1px solid #DDDDDD;
    position: absolute;
    top: 54px;
    left: 0;
    right: 0;
    background-color: #FFFFFF;
    z-index: 11;
}

.event-condition-container .optionItem {
    display: flex;
    border-bottom: 1px solid #DDDDDD;
    height: 48px;
    align-items: center;
    font-size: 12px;
    padding-left: 16px;
}

.sortOptions .optionItem:last-of-type {
    border-bottom: none;
}

.event-condition-container .optionItem:hover {
    background-color: #DDDDDD;
}

.event-condition-container .conditions_Button {
    background-color: #FFFFFF;
    border-radius: 8px;
    font-size: 14px;
}

.event-condition-container .conditions_Button a {
    height: 48px;
    display: flex;
    align-items: center;
    padding-left: 40px;
    color: #333333;
    border-radius: 8px;
    border: 1px solid #DDDDDD;
    outline: none;
    font-weight: bold;
    background-image: url("/content/dam/smcc/jp/ja/mem/infinite/res/img/icon_filter.svg");
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: 8px center;
}

.event-condition-container .conditions_Button a:hover {
    cursor: pointer;
    opacity: 0.7;
}

.event-condition-container .conditions_Button .filteringConditionCount {
    display: inline-block;
    position: relative;
    width: 16px;
    height: 16px;
    line-height: 13px;
    font-size: 10px;
    font-weight: bold;
    color: #FFFFFF;
    text-align: center;
    margin-left: 4px;
    z-index: 1;
}

.event-condition-container .conditions_Button .filteringConditionCount::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 50%;
    width: 16px;
    height: 16px;
    background-color: black;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.eventNoData {
    margin: -56px 12px 56px;
}

/* 開催予定のイベント */
.upcomingEventOuterFrame {
    margin: 0 12px;
}

.upcomingEventOuterFrame .cmp-title h2 {
    margin-top: -8px;
}

.upcomingEventArea .upcomingEvent {
    border-bottom: 1px solid #DDDDDD;
    margin-bottom: 16px;
}

.upcomingEventArea .upcomingEvent:last-child {
    margin-bottom: 56px;
}

.upcomingEventArea .upcomingEvent .scheduledDate {
    font-size: 14px;
    color: #707070;
    margin-bottom: 8px;
    font-weight: 400;
}

.upcomingEventArea .upcomingEvent .eventTitle {
    font-weight: bold;
    margin-bottom: 16px;
}

.eventEndedOuterFrame {
    margin: 0 12px;
}

.eventEndedOuterFrame .cmp-title h2 {
    margin-top: -8px;
}

.eventEndedOuterFrame .eventEndedArea div.button.text-link-A_Button:last-child {
    margin-bottom: 56px;
}

/* イベントアーカイブ */
.button:has(#backEventList) {
    margin-bottom: 56px;
}

/* TOP 大カテ イベントエリア */
.bps-freehtml:has(.cmp-includejsp > .responsive-inner.event_top) {
    margin-top: -8px;
}

/* キャンペーンエリア */
.campaign_list {
    margin-bottom: 56px;
}

.campaign-gray {
    display: flex;
    justify-content: center;
    background-color: #E8E8E8;
    min-width: 960px;
    width: 100vw;
    margin-left: calc(480px - 50vw);
    flex-direction: column;
    align-items: center;
}

.campaign_list>.campaign-area+p {
    margin: 0 12px;
}

/* お知らせエリア */
.notice-area {
    display: flex;
    max-width: 960px;
    flex-direction: column;
    padding: 0 12px;
}

.notice-link {
    display: inline-block;
    border-bottom: 1px solid #DDDDDD;
    margin-top: 16px;
}

.notice-link:hover {
    opacity: 0.7;
}

.notice-link:first-of-type {
    margin-top: 0px;
}

.notice-day {
    color: #707070;
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.42px;
    margin-bottom: 8px;
}

.notice-title {
    color: #333333;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.48px;
    margin-bottom: 16px;
    font-weight: 700;
    font-style: Bold;
}

.notice-list {
    margin-bottom: 56px;
}

/* slickSliderスタイル */
.slick-slider {
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;

    content: '';
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;

    height: auto;

    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* slickカスタマイズ用スタイル */
.carousel.top-carousel {
    /* スライド1枚ずつにつけたマージンで設定幅からさらに要素が小さくなってしまうためネガティブマージンで広げる */
    margin: 0 -12px;
}

/* slick-track */
.carousel .slick-track {
    display: flex;
}

/* slick-slide */
.carousel .slick-slide {
    /* 親要素のoverflow:hiddenでシャドウが隠れないようにmargin-bottom:5px */
    margin: 0 12px 5px;
    padding: 0;
    background-color: #F5F5F5;
    border-radius: 8px;
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
}

.slick-slide.card {
    height: auto;
}

.carousel .slick-slide img {
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}

.slick-initialized .slick-slide.card {
    /* initでblockにされてしまうため上書き */
    display: flex;
}

/* Dots */
/* bps-base.cssに書かれているslick-theme.cssの内容を打ち消し（slick系のファイルが分離されたら不要） */
.slick-dots {
    position: static;
}

.slick-dots li {
    height: 8px;
    width: 8px;
    margin: 0;
}

.slick-dots li button:before {
    content: none;
    display: none;
}

/* slick-dotsのインフィニット用スタイル */
.slick-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin-top: 16px;
}

.slick-dots li {
    display: flex;
    /* button を中央に揃えるため */
}

.slick-dots li button {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #DDDDDD;
    border: none;
    padding: 0;
    cursor: pointer;
    color: transparent;
    /* 文字を透明に */
    text-indent: -9999px;
    /* 視覚的に押し出す */
    overflow: hidden;
}

.slick-dots .slick-active button {
    background-color: #707070;
}

@media (max-width: 960px) {

    /* ナビゲーション */
    .navigationArea {
        margin-left: 0;
        margin-right: 0;
    }

    /* キャンペーンエリア */
    .campaign-gray {
        margin-left: 0;
    }
}

@media (max-width: 640px) {

    /* 共通ルール 共通部打ち消し用 */
    section.cmp-section {
        padding-bottom: 32px;
        margin-bottom: 40px;
    }

    .bps-section:first-of-type section.cmp-section {
        padding-bottom: 40px;
    }

    .bps-section:has(+ .bps-section) section.cmp-section {
        margin-bottom: 16px;
    }

    .text_mem {
        margin-top: 8px;
        margin-bottom: 8px;
    }

    .cmp-text>p+p {
        margin-top: 8px;
    }

    /* マージン */
    .maT48_32 {
        margin-top: 32px !important;
    }

    .maB56_40 {
        margin-bottom: 40px !important;
    }

    /* セクション直下の全要素 */
    section.cmp-section>*:not(.conversion_Button):not(.primary_Button):not(.secondary_Button):not(.tertiary-back_Button):not(.tabs) {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* h1 */
    .cmp-title h1 {
        font-size: 24px;
        line-height: 33.6px;
        letter-spacing: 0.72px;
        padding: 32px 0;
    }

    /* h2 */
    .cmp-title h2 {
        font-size: 20px;
        line-height: 30px;
        letter-spacing: 0.6px;
        margin-top: 32px;
        margin-bottom: 16px;
    }

    .cmp-section>.title:nth-of-type(n+2) h2 {
        margin-top: 136px;
    }

    /* H2調整用 */
    .cmp-section>.title:nth-of-type(n+2) h2 {
        margin-top: 32px;
    }

    div.container.action+div.title:nth-of-type(n+2) h2,
    div.container.agreement+div.title:nth-of-type(n+2) h2,
    div.container.anchor-sp-vertical+.title:nth-of-type(n+2) h2,
    div.container.anchor-sp-side+div.title:nth-of-type(n+2) h2,
    div.container.image-description-detail+div.title:nth-of-type(n+2) h2,
    div.container.image-description-summary+div.title:nth-of-type(n+2) h2,
    div.container.image-imgtitle+div.title:nth-of-type(n+2) h2,
    div.container.image-link+div.title:nth-of-type(n+2) h2,
    div.container.information+div.title:nth-of-type(n+2) h2,
    div.container.inquiry+div.title:nth-of-type(n+2) h2,
    div.container.listed-header+div.title:nth-of-type(n+2) h2,
    div.container.listed-link+div.title:nth-of-type(n+2) h2,
    div.container.mem-list+div.title:nth-of-type(n+2) h2,
    div.container.overview+div.title:nth-of-type(n+2) h2,
    div.container.points+div.title:nth-of-type(n+2) h2,
    div.container.related-link+div.title:nth-of-type(n+2) h2,
    div.container.step+div.title:nth-of-type(n+2) h2,
    div.linkcontainer+div.title:nth-of-type(n+2) h2 {
        margin-top: 32px;
    }

    div.bps-image+div.title:nth-of-type(n+2) h2,
    div.button+div.title:nth-of-type(n+2) h2,
    div.bps-modal+div.title:nth-of-type(n+2) h2,
    div.accordion+div.title:nth-of-type(n+2) h2 {
        margin-top: 32px;
    }

    div.button.text-link-A_Button+div.title:nth-of-type(n+2) h2,
    div.button.text-link-B_Button+div.title:nth-of-type(n+2) h2,
    div.button.text-link-C_Button+div.title:nth-of-type(n+2) h2,
    div.button.text-link-D_Button+div.title:nth-of-type(n+2) h2,
    div.button.anchor-link_Button+div.title:nth-of-type(n+2) h2,
    div.button.window-link-B_Button+div.title:nth-of-type(n+2) h2,
    div.button.text-link-E_Button+div.title:nth-of-type(n+2) h2,
    div.bps-modal.text-link-A_Button+div.title:nth-of-type(n+2) h2 {
        margin-top: 32px;
    }

    /* テキスト＋H2調整 */
    div.text+div.title:nth-of-type(n+2) h2 {
        /* margin-top: 24px; */
        margin-top: 32px;
    }

    div.text:has(.attention_indent)+div.title:nth-of-type(n+2) h2,
    div.text:has(ul)+div.title:nth-of-type(n+2) h2,
    div.text.attention_text_gray+div.title:nth-of-type(n+2) h2,
    div.text.attention_text_red+div.title:nth-of-type(n+2) h2 {
        /* margin-top: 16px; */
        margin-top: 32px;
    }

    /* h3 */
    .cmp-title h3 {
        width: 100%;
        font-size: 16px;
        margin-left: 0.48px;
        margin-top: 8px;
        margin-bottom: 16px;
    }

    /* H3調整用 */
    div.container.action+div.title h3,
    div.container.agreement+div.title h3,
    div.container.anchor-sp-vertical+.title h3,
    div.container.anchor-sp-side+div.title h3,
    div.container.image-description-detail+div.title h3,
    div.container.image-description-summary+div.title h3,
    div.container.image-imgtitle+div.title h3,
    div.container.image-link+div.title h3,
    div.container.information+div.title h3,
    div.container.inquiry+div.title h3,
    div.container.listed-header+div.title h3,
    div.container.listed-link+div.title h3,
    div.container.mem-list+div.title h3,
    div.container.overview+div.title h3,
    div.container.points+div.title h3,
    div.container.related-link+div.title h3,
    div.container.step+div.title h3,
    div.linkcontainer+div.title h3 {
        margin-top: 8px;
    }

    div.bps-image+div.title h3,
    div.button+div.title h3,
    div.bps-modal+div.title h3,
    div.accordion+div.title h3 {
        margin-top: 8px;
    }

    div.button.text-link-A_Button+div.title h3,
    div.button.text-link-B_Button+div.title h3,
    div.button.text-link-C_Button+div.title h3,
    div.button.text-link-D_Button+div.title h3,
    div.button.anchor-link_Button+div.title h3,
    div.button.window-link-B_Button+div.title h3,
    div.button.text-link-E_Button+div.title h3,
    div.bps-modal.text-link-A_Button+div.title h3 {
        margin-top: 8px;
    }

    /* テキスト＋H3調整 */
    div.text+div.title h3 {
        margin-top: 16px;
    }

    /* 実装方針は要件等　7/11
    div.container:has(.text) + div.title h3 {
        margin-top: 16px;
    } */

    div.text:has(.attention_indent)+div.title h3,
    div.text:has(ul)+div.title h3,
    div.text.attention_text_gray+div.title h3,
    div.text.attention_text_red+div.title h3 {
        margin-top: 8px;
    }

    .title:has(h2)+.title:has(h3)>.cmp-title>.cmp-title__text {
        margin-top: 8px;
    }

    /* h4 */
    .cmp-title h4 {
        font-size: 16px;
        margin-left: 0.48px;
        margin-top: 0px;
        margin-bottom: 12px;
    }

    /* H4調整用 */
    div.container.action+div.title h4,
    div.container.agreement+div.title h4,
    div.container.anchor-sp-vertical+.title h4,
    div.container.anchor-sp-side+div.title h4,
    div.container.image-description-detail+div.title h4,
    div.container.image-description-summary+div.title h4,
    div.container.image-imgtitle+div.title h4,
    div.container.image-link+div.title h4,
    div.container.information+div.title h4,
    div.container.inquiry+div.title h4,
    div.container.listed-header+div.title h4,
    div.container.listed-link+div.title h4,
    div.container.mem-list+div.title h4,
    div.container.overview+div.title h4,
    div.container.points+div.title h4,
    div.container.related-link+div.title h4,
    div.container.step+div.title h4,
    div.linkcontainer+div.title h4 {
        margin-top: 0px;
    }

    div.bps-image+div.title h4,
    div.button+div.title h4,
    div.bps-modal+div.title h4,
    div.accordion+div.title h4 {
        margin-top: 0px;
    }

    div.button.text-link-A_Button+div.title h4,
    div.button.text-link-B_Button+div.title h4,
    div.button.text-link-C_Button+div.title h4,
    div.button.text-link-D_Button+div.title h4,
    div.button.anchor-link_Button+div.title h4,
    div.button.window-link-B_Button+div.title h4,
    div.button.text-link-E_Button+div.title h4,
    div.bps-modal.text-link-A_Button+div.title h4 {
        margin-top: 0px;
    }

    /* テキスト＋H4調整 */
    div.text+div.title h4 {
        margin-top: 8px;
    }

    div.text:has(.attention_indent)+div.title h4,
    div.text:has(ul)+div.title h4,
    div.text.attention_text_gray+div.title h4,
    div.text.attention_text_red+div.title h4 {
        margin-top: 0;
    }

    /* H5 */
    .cmp-title h5 {
        font-size: 14px;
        line-height: 21px;
        letter-spacing: 0.42px;
        margin-top: 0px;
        margin-bottom: 12px;
    }

    .cmp-title h5 p {
        margin-left: 0;
    }

    /* H5調整用 */
    div.container.action+div.title h5,
    div.container.agreement+div.title h5,
    div.container.anchor-sp-vertical+.title h5,
    div.container.anchor-sp-side+div.title h5,
    div.container.image-description-detail+div.title h5,
    div.container.image-description-summary+div.title h5,
    div.container.image-imgtitle+div.title h5,
    div.container.image-link+div.title h5,
    div.container.information+div.title h5,
    div.container.inquiry+div.title h5,
    div.container.listed-header+div.title h5,
    div.container.listed-link+div.title h5,
    div.container.mem-list+div.title h5,
    div.container.overview+div.title h5,
    div.container.points+div.title h5,
    div.container.related-link+div.title h5,
    div.container.step+div.title h5,
    div.linkcontainer+div.title h5 {
        margin-top: 0px;
    }

    div.bps-image+div.title h5,
    div.text+div.title h5,
    div.button+div.title h5,
    div.bps-modal+div.title h5,
    div.accordion+div.title h5 {
        margin-top: 0px;
    }

    div.text.attention_text_gray+div.title h5,
    div.text.attention_text_red+div.title h5 {
        margin-top: 0px;
    }

    div.button.text-link-A_Button+div.title h5,
    div.button.text-link-B_Button+div.title h5,
    div.button.text-link-C_Button+div.title h5,
    div.button.text-link-D_Button+div.title h5,
    div.button.anchor-link_Button+div.title h5,
    div.button.window-link-B_Button+div.title h5,
    div.button.text-link-E_Button+div.title h5,
    div.bps-modal.text-link-A_Button+div.title h5 {
        margin-top: 0px;
    }

    .title:has(h4)+.title:has(h5)>.cmp-title>.cmp-title__text {
        margin-top: 4px;
    }

    /* テキスト＋H5調整 */
    div.text+div.title h5 {
        margin-top: 8px;
    }

    div.text:has(.attention_indent)+div.title h5,
    div.text:has(ul)+div.title h5,
    div.text.attention_text_gray+div.title h5,
    div.text.attention_text_red+div.title h5 {
        margin-top: 0;
    }

    /* テキストリンク調整用 */
    div.button.text-link-A_Button,
    div.button.text-link-B_Button,
    div.button.text-link-C_Button,
    div.button.text-link-D_Button {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    /* 灰色注釈 */
    .attention_text_gray {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    /* 赤色注釈 */
    .attention_text_red {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    .attention_text_gray+.attention_text_gray,
    .attention_text_gray+.attention_text_red,
    .attention_text_red+.attention_text_red,
    .attention_text_red+.attention_text_gray {
        margin-top: 0px;
    }

    /* icon_title */
    .icon_title {
        font-size: 16px;
    }

    /* button */
    .button {
        margin-top: 24px;
        margin-bottom: 24px;
    }

    /* もっと見る　*/
    .showMoreArea {
        margin-left: 16px;
        margin-right: 16px;
    }

    .showMoreArea .button {
        width: 100%;
    }

    section.cmp-section>.conversion_Button .cmp-button,
    section.cmp-section>.primary_Button .cmp-button,
    section.cmp-section>.secondary_Button .cmp-button,
    section.cmp-section>.tertiary-back_Button .cmp-button {
        max-width: 100%;
    }

    /* その他パーツ */
    /* anchor */
    .anchor-sp-vertical>.cmp-container .anchor-link_Button {
        margin: 16px 0 0 0 !important;
    }

    .anchor-sp-vertical>.cmp-container .anchor-link_Button:first-of-type {
        margin: 24px 0 0 0 !important;
    }

    .anchor-sp-vertical>.cmp-container .anchor-link_Button:last-of-type {
        margin: 16px 0 24px 0 !important;
    }

    /* accordion */
    .cmp-accordion__button,
    .cmp-accordion__button:hover {
        font-size: 14px;
        padding: 16px 40px 16px 16px;
        background: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2862_7090)'%3E%3Cpath d='M13.002 5.99805L8.00195 10.998L3.00195 5.99805' stroke='%23707070' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2862_7090'%3E%3Crect width='16' height='16' fill='white' transform='matrix(0 -1 1 0 0 16)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E")no-repeat;
        background-position: right 20px center;
    }

    span.cmp-accordion__title {
        line-height: 21px;
    }

    .cmp-accordion__panel>div.container>div.cmp-container {
        padding-bottom: 24px;
    }

    /* step */
    .cmp-text>p+p .attention_indent {
        margin-top: 8px;
    }

    .attention_indent {
        padding-left: 1.1em;
    }

    .text_mem:has(p>.attention_indent) {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    /* list */
    .cmp-text li {
        line-height: 21px;
        letter-spacing: 0.42px;
    }

    .cmp-text ul>li:nth-of-type(n+2) {
        margin-top: 12px;
    }

    .text_mem:has(ul) {
        margin-top: 16px;
        margin-bottom: 16px;
    }

    /* agreement */
    .tagcontainer>#check_container>.aem-Grid>.text_mem:first-of-type {
        margin-bottom: 0;
    }

    .tagcontainer>#check_container>.aem-Grid .attention_text_gray {
        margin-top: 0;
        width: 100%;
    }

    /* information */
    .information {
        font-size: 16px;
    }

    /* 画像＋紹介文の余白用 */
    .bps-image {
        margin-top: 24px;
        margin-bottom: 24px;
    }

    section.cmp-section>.title:has(h1)+.bps-image {
        padding-left: 0px !important;
        padding-right: 0px !important;
        margin-top: 0px;
        margin-bottom: 24px;
    }

    /* 画像 */
    .pc_paR80 img {
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
        margin: 32px 0;
    }

    /* 中カテカード用 */
    .l-four-area {
        margin-bottom: 40px;
    }

    .l-four {
        display: flex;
        flex-direction: column;
    }

    .l-four-card,
    .l-four>.l-four-card:nth-of-type(3n+1),
    .l-four>.l-four-card:first-of-type {
        margin-top: 16px;
        margin-left: 16px;
        margin-right: 16px;
        max-width: 100%;
        margin-bottom: 0px;
    }

    .l-four>.l-four-card:first-of-type {
        margin-top: 0;
    }

    .l-four-card-item:hover {
        opacity: 0.7;
    }

    .l-four-card-content {
        padding: 16px;
    }

    .l-four-card-title {
        max-height: 48px;
        margin-bottom: 8px;
    }

    .l-four-card-text {
        max-height: 42px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* TOPカルーセル、イベント、キャンペーン用カード */
    .card-content {
        padding: 16px;
    }

    .card-content>* {
        margin-bottom: 8px;
    }

    .card-label {
        padding: 2px 8px;
        font-size: 12px;
    }

    .card-date {
        font-size: 12px;
    }

    .card-date .reports {
        width: 82px;
    }

    /* カルーセルエリア */
    .carousel-area {
        margin-top: 24px;
    }

    /* イベント・キャンペーンのタイトルエリア */
    .responsive-inner {
        width: 100vw;
    }

    .title-link-row {
        margin: 0 16px 16px;
    }

    .title-link-row .title {
        font-size: 20px;
    }

    .title-link-row .text-link {
        font-size: 14px;
    }

    /* グリッド → 縦並びコンテナ（３列） */
    .cards-container {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-left: 16px;
        margin-right: 16px;
    }

    /* グリッド → スクロール用ラッパー */
    .scroll-wrapper {
        padding-bottom: 40px;
        overflow-x: auto;
        /* スクロールバー非表示 */
        -ms-overflow-style: none;
        scrollbar-width: none;
        max-width: 100vw;
    }

    /* スクロールバー非表示 */
    .scroll-wrapper::-webkit-scrollbar {
        display: none;
    }

    .scroll-wrapper .cards-container {
        display: flex;
        flex-direction: row;
        gap: 8px;
        width: max-content;
        /* 640px以下の時にスクロールバー非表示にすることでbox-shadowが消えないように */
        margin-bottom: 5px;
    }

    .scroll-wrapper .card {
        width: 309px;
        flex-shrink: 0;
    }

    /* スクロール前の左にだけ隙間をあける用のスペーサー（8px + gap8px = 16px） */
    .card-spacer {
        display: block;
        width: 8px;
        flex-shrink: 0;
    }

    /* for Infinite Members */
    .forInfiniteMembersArea {
        height: 45px;
        min-width: 100%;
    }

    .forInfiniteMembersArea img {
        min-width: 640px;
    }

    /* ナビゲーション */
    .navigationArea {
        padding: 8px 16px 40px 16px;
        min-width: 100%;
        margin-left: 0;
    }

    .navigationInner {
        width: 100%;
    }

    .navigationItemArea {
        overflow-x: scroll;
        width: 100%;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .navigationItemArea::-webkit-scrollbar {
        display: none;
    }

    .navigationItem a {
        height: 82px;
    }

    .navigationItem {
        min-width: 85px;
        height: 82px;
        box-shadow: 0px 1px 2px 0px #0000001A;
        background-color: #FFFFFF;
        border-radius: 8px;
        flex-direction: column;
    }

    .navigationItem img {
        width: 32px;
        height: 32px;
        margin-bottom: 4px;
    }

    .navigationItem p {
        font-size: 10px;
        line-height: 15px;
        letter-spacing: 0.3px;
    }

    .cmp-container:has(.navigationArea):has(.campaign-gray:not(.hidden_tag)) .cmp-experiencefragment .navigationArea {
        padding-bottom: 32px;
    }

    /* L3ナビゲーション */
    .thirdNavigation {
        margin: 0 16px;
    }

    .thirdNavigationInner {
        width: 100%;
    }

    .thirdNavigationArea {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .thirdNavigationItem {
        width: 100%;
    }

    .thirdNavigationItem a {
        width: 100%;
        padding: 16px 8px;
    }

    .thirdNavigationItem a:hover {
        opacity: 0.7;
    }

    .thirdNavigationItem p {
        font-size: 12px;
        line-height: 18px;
        letter-spacing: 0.36px;
    }

    /* お問い合わせエリア */
    section.cmp-section:has(.inquiryWrapArea) .text-link-A_Button .cmp-button,
    section.cmp-section:has(.inquiryWrapArea) .text-link-B_Button .cmp-button,
    section.cmp-section:has(.inquiryWrapArea) .text-link-C_Button .cmp-button,
    section.cmp-section:has(.inquiryWrapArea) .text-link-D_Button .cmp-button {
        font-size: 14px;
    }

    .inquiryWrapArea:has(+ .inquiryWrapArea) {
        margin-bottom: 48px;
    }

    .inquiryWrapArea h4 {
        margin-bottom: 16px;
    }

    .inquiryWrapArea h5 {
        font-size: 16px;
    }

    .inquiryWrapArea p {
        margin-bottom: 16px;
    }

    .inquiryWrapArea ul,
    .inquiryWrapArea ol {
        margin: 0;
    }

    .inquiryWrapArea ul>li {
        margin-bottom: 16px;
        font-size: 14px;
    }

    .inquiryWrapArea .inquiryName {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .inquiryWrapArea .inquiryName.gray-text {
        margin-bottom: 12px;
    }

    .inquiryWrapArea [data-ui-module-display*="phone"] [data-ui-module-prop*="phone"] {
        font-size: 16px;
    }

    .inquiryWrapArea .subtext {
        font-size: 14px;
        margin-top: 8px;
    }

    .inquiryWrapArea [data-ui-module-display="reception_hours"] {
        font-size: 14px;
    }

    .inquiryWrapArea [data-ui-module-display*="phone"] {
        margin-bottom: 16px;
    }

    .inquiryWrapArea [data-ui-module-display="reception_hours"] {
        margin-bottom: 16px;
    }

    .inquiryWrapArea .note>li {
        font-size: 12px;
        text-indent: 0;
    }

    /* パンくず用CSS */
    .bps-breadcrumb {
        margin-top: 40px;
        margin-bottom: 0;
    }

    .cmp-breadcrumb__list {
        margin: 0 16px;
    }

    /* インクルードJSPのモーダルスタイル */
    .ModalInner {
        width: auto;
        left: 20px;
        right: 20px;
    }

    /* イベント一覧 */
    .eventCategoryConditionsArea .checkboxContainer label,
    .receptionStatusConditionsArea .checkboxContainer label {
        font-size: 12px;
    }

    .event-condition-container {
        margin: 0 16px 24px;
        gap: 8px;
    }

    .event-condition-container .sortSelect {
        font-size: 12px;
    }

    .event-condition-container .sortOptions {
        width: 171px;
    }

    .event-condition-container .conditions_Button {
        font-size: 12px;
    }

    .event-condition-container .conditions_Button.afterFiltering {
        min-width: 118px;
    }

    .eventNoData {
        margin: -40px 16px 40px;
    }

    .eventEndedOuterFrame {
        margin: 0 16px;
    }

    .eventEndedOuterFrame .eventEndedArea div.button.text-link-A_Button:last-child {
        margin-bottom: 40px;
    }

    /*　開催予定のイベント */
    .upcomingEventOuterFrame {
        margin: 0 16px;
    }

    .upcomingEventArea .upcomingEvent:last-child {
        margin-bottom: 40px;
    }

    /* イベントアーカイブ */
    .button:has(#backEventList) {
        margin-bottom: 40px;
    }

    /* キャンペーンエリア用 */
    .campaign_list {
        margin-bottom: 40px;
    }

    .campaign_list>.campaign-area+p {
        margin: 0 16px;
    }

    .campaign-gray {
        display: flex;
        align-items: flex-start;
        width: 100%;
    }

    /* お知らせエリア */
    .notice-list {
        margin-bottom: 40px;
    }

    .notice-area {
        padding: 0 16px;
    }

    /* slickSliderスタイル */
    .carousel .slick-slide {
        margin: 0 4px 5px;
    }

    .carousel.top-carousel.notSlide {
        margin: 0 0;
    }

    .slick-dots {
        margin-top: 8px;
    }
}

#main>div.aem-Grid>div.experiencefragment>div.cmp-experiencefragment>div.xf-content-height>div.aem-Grid>div.responsivegrid>div.aem-Grid>div.bps-section>section.cmp-section {
    /* 白背景を画面いっぱい広げるための設定 */
    margin-left: calc((960px - 100vw) / 2);
    border-left: solid calc((-960px + 100vw) / 2) #ffffff;
    border-right: solid calc((-960px + 100vw) / 2) #ffffff;
}

@media all and (max-width:960px) {

    /* mainコンテナ直下のセクション */
    #main>div.aem-Grid>div.experiencefragment>div.cmp-experiencefragment>div.xf-content-height>div.aem-Grid>div.responsivegrid>div.aem-Grid>div.bps-section>section.cmp-section {
        /* PC用白背景設定を打ち消す */
        margin-left: 0;
        border-left: 0;
        border-right: 0;
    }
}

section.cmp-section>div.container.tagcontainer:first-child:has(div .title) {
    margin-top: 0;
}