@charset "utf-8";

#primary { padding: 0; }
#main {min-height:0;}

#membership_21 section * {
    margin:0;
    padding:0;
    box-sizing: border-box;
    font-family:"HelveticaNeueW01-UltLt", "Helvetica Neue LT W05 25 Ult Lt", "RodinCattleyaPro-L{pm}", sans-serif !important;
    line-height:1;
    letter-spacing:0;
}
#membership_21 {
    width:100%;
    background:#000;
    color:#000;
}
#membership_21 section {
    width:min(100%, 750px);
    margin-inline:auto;
    padding:min(calc((55 / 750) * 100vw), 55px) min(calc((40 / 750) * 100vw), 40px) min(calc((85 / 750) * 100vw), 85px);
    background-color: #fff;
    line-break:strict;
}
#membership_21 img {
    border:none;
    vertical-align: bottom;
}
#membership_21 a {
    margin-inline:auto;
    text-decoration:none;
    transition: background 0.3s;
}
#membership_21 li {
    list-style:none;
}
#membership_21 dt {
    clear:none;
    float:none;
    min-width:0;
}
#membership_21 dd {
    float:none;
}
#membership_21 .txt-en {
    font-family:"Helvetica Neue LT W01_35 Thin", "Helvetica Neue LT W05 35 Thin", sans-serif !important;
    font-size:120%;
    line-height:0.8;
}
#membership_21 .yugo {
    font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
}
#membership_21 .section-title {
    margin-bottom: min(calc((41 / 750) * 100vw), 41px);
    padding-block: min(calc((28 / 750) * 100vw), 28px) min(calc((20 / 750) * 100vw), 20px);
    background:#D9D9D9;
    color:#000;
    font-size:min(calc((46 / 750) * 100vw), 46px);
    font-family: "Helvetica Neue LT W01_35 Thin", "Helvetica Neue LT W05 35 Thin", "RodinCattleyaPro-L{pm}", sans-serif !important;
    line-height:calc(52 / 46);
    text-align:center;
    letter-spacing: min(calc((2 / 750) * 100vw), 2px);
}
#membership_21 .section-cont {
    padding-inline: min(calc((20 / 750) * 100vw), 20px);
}
#membership_21 .section-cont p {
    font-size: min(calc((28 / 750) * 100vw), 28px);
    line-height: calc(40 / 28);
}
#membership_21 .disc-list li {
    position: relative;
    margin-top: min(calc((10 / 750) * 100vw), 10px);
    padding-left: 1em;
    font-size: min(calc((28 / 750) * 100vw), 28px);
    line-height: calc(40 / 28);
}
#membership_21 .disc-list li::before {
    position: absolute;
    left: 0;
    content: "・";
}
#membership_21 .notes {
    margin-top: min(calc((10 / 750) * 100vw), 10px);
}
#membership_21 .notes li {
    position: relative;
    margin-top: min(calc((6 / 750) * 100vw), 6px);
    padding-left: 1em;
    font-size: min(calc((20 / 750) * 100vw), 20px);
    line-height: calc(32 / 20);
}
#membership_21 .notes li::before {
    position: absolute;
    left: 0;
    content: "※";
}
#membership_21 .h-scroll {
    overflow-x: scroll;
    margin-bottom: min(calc((32 / 750) * 100vw), 32px);
}
#membership_21 .h-scroll::-webkit-scrollbar {
    height: 8px;
}
@media screen and (max-width:750px) {
    #membership_21 .h-scroll::-webkit-scrollbar {
        height:calc((8 / 750) * 100vw);
    }
}
#membership_21 .h-scroll::-webkit-scrollbar-track {
    border-radius:3px;
    background:#FFF;
}
@media screen and (max-width:750px) {
    #membership_21 .h-scroll::-webkit-scrollbar-track {
        border-radius:calc((3 / 750) * 100vw);
    }
}
#membership_21 .h-scroll::-webkit-scrollbar-thumb {
    border-radius:3px;
    background: #A9A9A9;
    border: none;
}
@media screen and (max-width:750px) {
    #membership_21 .h-scroll::-webkit-scrollbar-thumb {
        border-radius:calc((3 / 750) * 100vw);
    }
}

#membership_21 .h-scroll .scroll-item {
    padding-bottom: min(calc((12 / 750) * 100vw), 12px);
}
#membership_21 .h-scroll + .scroll-attention {
    font-size: min(calc((20 / 750) * 100vw), 20px);
    line-height: calc(32 / 20);
}
#membership_21 .common-btn {
    display:flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    height: min(calc((80 / 750) * 100vw), 80px);
    border: min(calc((1 / 750) * 100vw), 1px) #000 solid;
    background:#fff;
    color:#000;
    font-size:min(calc((26 / 750) * 100vw), 26px);
}
#membership_21 .common-btn::after {
    display:inline-block;
    position:absolute;
    top:57%;
    right: min(calc((30 / 750) * 100vw), 30px);
    transform: rotate(-90deg);
    margin-top: min(calc((-10 / 750) * 100vw), -10px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    font-family: 'icomoon' !important;
    content:"\e904";
}
@media screen and (min-width:751px) {
    #membership_21 .common-btn:hover {
        background:#000;
        color:#fff;
    }
}
/* .section-head ------------------------------------------------------------------------*/
#membership_21 .section-head {
    padding: 0;
}
#membership_21 .section-head .section-head_img-wrap {
    position: relative;
}
#membership_21 .section-head .section-head_txt {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    margin-bottom: min(calc((47 / 750) * 100vw), 47px);
    color: #fff;
    font-size: min(calc((32 / 750) * 100vw), 32px);
    line-height: calc(45 / 32);
    text-align: center;
}
/* .section-nav ------------------------------------------------------------------------*/
#membership_21 .section-nav .nav-button a {
    display: flex;
    justify-content: center;
    align-items: center;
    position:relative;
    height: min(calc((80 / 750) * 100vw), 80px);
    border:min(calc((1 / 750) * 100vw), 1px) solid #000;
    background:#000;
    color:#fff;
    font-size:min(calc((26 / 750) * 100vw), 26px);
    text-align:center;
    text-decoration: none;
    transition: background 0.3s;
}
#membership_21 .section-nav .nav-button a:not(:nth-of-type(1)) {
    margin-top: min(calc((20 / 750) * 100vw), 20px);
}
@media screen and (min-width:768px) {
    #membership_21 .section-nav .nav-button a:hover {
        background:#fff;
        color:#000;
    }
}
#membership_21 .section-nav .nav-button a::after {
    display:inline-block;
    position:absolute;
    top:55%;
    right: min(calc((30 / 750) * 100vw), 30px);
    margin-top: min(calc((-10 / 750) * 100vw), -10px);
    font-size: min(calc((30 / 750) * 100vw), 30px);
    font-family: 'icomoon' !important;
    content:"\e904";
}
#membership_21 .section-nav .nav-button a .txt-en {
    line-height: calc(26 / 31.2);
}
/* .section-about-program ------------------------------------------------------------------------*/
#membership_21 .section-about-program .section-title {
    padding-block: min(calc((22 / 750) * 100vw), 22px) min(calc((14 / 750) * 100vw), 14px);
}
#membership_21 .section-about-program .about-program-img {
    display: flex;
    justify-content: space-between;
    margin-block: min(calc((70 / 750) * 100vw), 70px);
}
#membership_21 .section-about-program .about-program-img div {
    width: min(calc((300 / 750) * 100vw), 300px);
    text-align: center;
}
#membership_21 .section-about-program .about-program-img div img {
    width: min(calc((201 / 750) * 100vw), 201px);
}
#membership_21 .section-about-program .about-program-img div p {
    margin-top: min(calc((30 / 750) * 100vw), 30px);
    font-size: min(calc((24 / 750) * 100vw), 24px);
    line-height: calc(34 / 24);
    letter-spacing: min(calc((1 / 750) * 100vw), 1px);
}
#membership_21 .section-about-program div p a {
    text-decoration: underline;
}
#membership_21 .section-about-program .notes {
    display: none;
}
/* .section-about-rank ------------------------------------------------------------------------*/
#membership_21 .section-about-rank p:nth-of-type(2) {
    margin-top: min(calc((10 / 750) * 100vw), 10px);
}
#membership_21 .section-about-rank .about-rank-table {
    margin-block: min(calc((70 / 750) * 100vw), 70px) min(calc((68 / 750) * 100vw), 68px);
}
#membership_21 .section-about-rank .table-item {
    display: flex;
    align-items: center;
    gap: min(calc((42 / 750) * 100vw), 42px);
    border-bottom: min(calc((2 / 750) * 100vw), 2px) solid #E7E7E7;
    padding-block: min(calc((10 / 750) * 100vw), 10px) min(calc((8 / 750) * 100vw), 8px);
}
#membership_21 .section-about-rank .table-item img {
    width: min(calc((230 / 750) * 100vw), 230px);
}
#membership_21 .section-about-rank .table-item p {
    font-size: min(calc((32 / 750) * 100vw), 32px);
    line-height: calc(32 / 32);
}
#membership_21 .section-about-rank .table-item p .num,
#membership_21 .section-about-rank .table-item p .txt-en {
    font-size: min(calc((50 / 750) * 100vw), 50px);
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "RodinCattleyaPro-L{pm}", sans-serif !important;
}
#membership_21 .section-about-rank .table-item p .num {
    padding-right: min(calc((4 / 750) * 100vw), 4px);
}
#membership_21 .section-about-rank .table-note {
    margin-top: min(calc((25 / 750) * 100vw), 25px);
    font-size: min(calc((24 / 750) * 100vw), 24px);
    font-family:"HelveticaNeueW01-45Ligh", "Helvetica Neue LT W05 45 Light", "RodinCattleyaPro-L{pm}", sans-serif !important;
    line-height: calc(32 / 24);
    text-align: center;
    letter-spacing: min(calc((1 / 750) * 100vw), 1px);
}
#membership_21 .section-about-rank .btn-wrap a {
    margin-top: min(calc((20 / 750) * 100vw), 20px);
}
#membership_21 .section-about-rank .notes {
    margin-top: min(calc((70 / 750) * 100vw), 70px);
}
#membership_21 .section-about-rank .member-wrap {
    margin-block: min(calc((140 / 750) * 100vw), 140px) min(calc((55 / 750) * 100vw), 55px);
}
#membership_21 .section-about-rank h3 {
    display: block;
    width: min(calc((670 / 750) * 100vw), 670px);
    margin-inline: min(calc((-10 / 750) * 100vw), -10px);
    padding-bottom: min(calc((30 / 750) * 100vw), 30px);
    border-bottom: min(calc((1 / 750) * 100vw), 1px) solid #000;
    font-size: min(calc((38 / 750) * 100vw), 38px);
    font-family:"Helvetica Neue LT W01_35 Thin", "Helvetica Neue LT W05 35 Thin", "RodinCattleyaPro-L{pm}", sans-serif !important;
    line-height: calc(46 / 38);
    text-align: center;
    letter-spacing: min(calc((1 / 750) * 100vw), 1px);
}
#membership_21 .section-about-rank .member-wrap p {
    margin-top: min(calc((70 / 750) * 100vw), 70px);
}
#membership_21 .section-about-rank .member-wrap .notes {
    margin-top: min(calc((10 / 750) * 100vw), 10px);
}
#membership_21 .section-about-rank .member-wrap img {
    display: block;
    width: min(calc((256 / 750) * 100vw), 256px);
    margin: min(calc((64 / 750) * 100vw), 64px) auto min(calc((70 / 750) * 100vw), 70px);
}
#membership_21 .section-about-rank .rank-wrap  {
    margin-block: min(calc((140 / 750) * 100vw), 140px) 0;
}
#membership_21 .section-about-rank .rank-wrap .benefit-table {
    margin-block: min(calc((42 / 750) * 100vw), 42px) min(calc((70 / 750) * 100vw), 70px);
}
#membership_21 .section-about-rank .rank-wrap table {
    width: min(calc((1818 / 750) * 100vw), 1818px);
    margin-bottom: min(calc((12 / 750) * 100vw), 12px);
}
#membership_21 .section-about-rank .rank-wrap thead th,
#membership_21 .section-about-rank .rank-wrap tbody tr {
    height: min(calc((98 / 750) * 100vw), 98px);
    border-right: min(calc((2 / 750) * 100vw), 2px) solid #E7E7E7;
    border-bottom: min(calc((2 / 750) * 100vw), 2px) solid #E7E7E7;
}
#membership_21 .section-about-rank .rank-wrap thead th {
    width: min(calc((390 / 750) * 100vw), 390px);
    background-color: #595959;
    color: #fff;
    font-size: min(calc((26 / 750) * 100vw), 26px);
    line-height: calc(32 / 26);
    text-align: center;
    vertical-align: middle;
}
#membership_21 .section-about-rank .rank-wrap thead th:first-of-type {
    width: min(calc((258 / 750) * 100vw), 258px);
    background-color: #fff;
}
#membership_21 .section-about-rank .rank-wrap tbody th {
    border-right: min(calc((2 / 750) * 100vw), 2px) solid #E7E7E7;
}
#membership_21 .section-about-rank .rank-wrap tbody th img {
    display: block;
    width: min(calc((178 / 750) * 100vw), 178px);
    margin-inline: auto;
}
#membership_21 .section-about-rank .rank-wrap tbody td {
    border-right: min(calc((2 / 750) * 100vw), 2px) solid #E7E7E7;
    background-color: #000;
    color: #fff;
    text-align: center;
    vertical-align: middle;
}
#membership_21 .section-about-rank .rank-wrap tbody td {
    font-size: min(calc((32 / 750) * 100vw), 32px);
    line-height: calc(37 / 32);
}
#membership_21 .section-about-rank .rank-wrap tbody .txt-en {
    font-size: min(calc((32 / 750) * 100vw), 32px);
    line-height: calc(37 / 32);
}
#membership_21 .section-about-rank .rank-wrap tbody .insider .disc {
    color: #BC1E3D;
}
#membership_21 .section-about-rank .rank-wrap tbody .icon .disc {
    color: #A098A3;
}
#membership_21 .section-about-rank .rank-wrap tbody .star .disc {
    color: #fff;
}
#membership_21 .section-about-rank .rank-wrap .disc-list {
    margin-bottom: min(calc((70 / 750) * 100vw), 70px);
}
#membership_21 .section-about-rank .rank-wrap .btn-wrap + ul {
    width: max-content;
    margin-top: min(calc((24 / 750) * 100vw), 24px);
    margin-inline: auto;
}
/* .section-sp-gift ------------------------------------------------------------------------*/
#membership_21 .section-sp-gift .notes {
    margin-bottom: min(calc((70 / 750) * 100vw), 70px);
}
#membership_21 .section-sp-gift .gift-wrap {
    margin-block: min(calc((84 / 750) * 100vw), 84px) min(calc((10 / 750) * 100vw), 10px);
}
#membership_21 .section-sp-gift .gift-wrap h3 {
    width: min(calc((670 / 750) * 100vw), 670px);
    margin-bottom: min(calc((40 / 750) * 100vw), 40px);
    margin-inline: min(calc((-10 / 750) * 100vw), -10px);
    padding-block: min(calc((3 / 750) * 100vw), 3px);
    background-color: #000;
    color: #fff;
    font-size:  min(calc((32 / 750) * 100vw), 32px);
    line-height: calc(40 / 32);
    text-align: center;
}
#membership_21 .section-sp-gift .gift-wrap h3 .txt-en {
    font-size: min(calc((38 / 750) * 100vw), 38px);
    line-height: calc(40 / 38);
}
#membership_21 .section-sp-gift .gift-slide {
    text-align: center;
}
#membership_21 .section-sp-gift .gift-slide p {
    margin-bottom: min(calc((40 / 750) * 100vw), 40px);
    font-size: min(calc((32 / 750) * 100vw), 32px);
    line-height: calc(32 / 32);
}
#membership_21 .section-sp-gift .gift-slide div img {
    width: min(calc((450 / 750) * 100vw), 450px);
}
/*slick*/
#membership_21 .section-sp-gift .gift-slide .slick-prev,
#membership_21 .section-sp-gift .gift-slide .slick-next {
    top: 46%;
}
#membership_21 .section-sp-gift .gift-slide .slick-prev {
    left: min(calc((17 / 750) * 100vw), 17px);
}
#membership_21 .section-sp-gift .gift-slide .slick-next {
    right: min(calc((17 / 750) * 100vw), 17px);
}
#membership_21 .section-sp-gift .gift-slide .slick-prev:before,
#membership_21 .section-sp-gift .gift-slide .slick-next:before {
    font-size: min(calc((60 / 750) * 100vw), 60px);
}
#membership_21 .section-sp-gift .gift-slide .slick-dots {
    margin-block: min(calc((27 / 750) * 100vw), 27px) min(calc((45 / 750) * 100vw), 45px);
}
#membership_21 .section-sp-gift .gift-slide .slick-dots li button:before {
    width: min(calc((14 / 750) * 100vw), 14px);
    height: min(calc((14 / 750) * 100vw), 14px);
}
#membership_21 .section-sp-gift .gift-slide .slick-dots li {
    margin-inline: min(calc((9 / 750) * 100vw), 9px);
}
/* .section-faq ------------------------------------------------------------------------*/
#membership_21 .section-faq {
    padding-bottom:min(calc((45 / 750) * 100vw), 45px);
}
#membership_21 .section-faq .section-cont:not(:nth-of-type(1)) {
    margin-top: min(calc((100 / 750) * 100vw), 100px);
    margin-bottom: min(calc((155 / 750) * 100vw), 155px);
}
#membership_21 .section-faq .section-title {
    margin-bottom: min(calc((37 / 750) * 100vw), 37px);
}
#membership_21 .section-faq .section-subtitle {
    position: relative;
    width: max-content;
    margin-inline: auto;
    margin-top: min(calc((36 / 750) * 100vw), 36px);
    font-size: min(calc((25 / 750) * 100vw), 25px);
    line-height: calc(40 / 25);
}
#membership_21 .section-faq .section-subtitle::before,
#membership_21 .section-faq .section-subtitle::after {
    position: absolute;
    top: 45%;
    width: min(calc((24 / 750) * 100vw), 24px);
    height: 1px;
    background-color: #000;
    content: "";
}
#membership_21 .section-faq .section-subtitle::before {
    left: min(calc((-18 / 750) * 100vw), -18px);
}
#membership_21 .section-faq .section-subtitle::after {
    right: min(calc((-18 / 750) * 100vw), -18px);
}
#membership_21 .section-faq .section-subtitle .txt-en {
    font-size: min(calc((30 / 750) * 100vw), 30px);
    line-height: calc(40 / 30);
}
#membership_21 .section-faq_wrap {
    padding-left:min(calc((40 / 750) * 100vw), 40px);
}
#membership_21 .section-faq_q {
    padding-top: min(calc((110 / 750) * 100vw), 110px);
}
#membership_21 .section-faq_q:first-of-type {
    padding-top: min(calc((33 / 750) * 100vw), 33px);
}
#membership_21 .section-faq_anim {
    display:block;
    position:relative;
    font-size:min(calc((38 / 750) * 100vw), 38px);
    line-height:calc(46 / 38);
    letter-spacing:0.07em;
}
@media (min-width:751px) {
    #membership_21 .section-faq_anim:hover {
        cursor: pointer;
    }
}
#membership_21 .section-faq_anim::before,
#membership_21 .section-faq_anim::after {
    position:absolute;
    top:0;
    bottom:0;
    left:max(calc((-45 / 750) * 100vw), -45px);
    width:min(calc((36 / 750) * 100vw), 36px);
    height:min(calc((36 / 750) * 100vw), 36px);
    margin-top: max(calc((2 / 750) * 100vw), 2px);
    background:url("../image/faq_minus.svg") no-repeat 50% 50% / contain;
    content:'';
}
#membership_21 .section-faq_anim::after {
    transform: rotate(90deg);
}
#membership_21 .section-faq_anim.a-open::after {
    transform: rotate(0);
}

#membership_21 .section-faq_a *,
#membership_21 .section-faq_a {
    font-size:min(calc((28 / 750) * 100vw), 28px);
    line-height:calc(40 / 28);
}
#membership_21 .section-faq_a {
    display:none;
    padding-top: min(calc((28 / 750) * 100vw), 28px);
}
#membership_21 .section-faq_a span {
    display:block;
    margin-top: min(calc((20 / 750) * 100vw), 20px);
}
#membership_21 .section-faq_a.mt-ad span {
    margin-top: min(calc((28 / 750) * 100vw), 28px);
}
#membership_21 .section-faq_a.mt-ad span:first-of-type {
    margin-top: 0;
}
#membership_21 .section-faq li {
    position: relative;
    margin-top: min(calc((20 / 750) * 100vw), 20px);
    padding-left: 1em;
    line-height: calc(40 / 28);
}
#membership_21 .section-faq li::before {
    position: absolute;
    left: 0;
    content: "・";
}
#membership_21 .section-faq .section-cont:first-of-type li {
    padding-left: min(calc((18 / 750) * 100vw), 18px);
}
#membership_21 .section-faq .section-cont:first-of-type li::before {
    left: min(calc((-6 / 750) * 100vw), -6px);
}
#membership_21 .section-faq ul.point-change li:first-of-type {
    margin-top: 0;
}
#membership_21 .h-scroll .scroll-item.rank-chart {
    width: min(calc((1080 / 750) * 100vw), 1080px);
    margin-top: min(calc((44 / 750) * 100vw), 44px);
}
#membership_21 .section-faq .point-use {
    width: min(calc((630 / 750) * 100vw), 630px);
    margin-top: min(calc((28 / 750) * 100vw), 28px);
}
#membership_21 .section-attention {
    margin-top: min(calc((28 / 750) * 100vw), 28px);
    font-size: min(calc((28 / 750) * 100vw), 28px);
}
#membership_21 .section-attention span {
    display: block;
    margin-top: min(calc((20 / 750) * 100vw), 20px);
    line-height: calc(40 / 28);
}