* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

body {
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", Arial, sans-serif;
    min-height: 100vh;
    min-height: -webkit-fill-available;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

a:hover {
    opacity: 0.7;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

a {
    text-decoration: none;
}

a:link, a:visited, a:hover, a:active {
    text-decoration: none;
}

button, select, input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 16px;
}

.container {
    max-width: 750px !important;
    margin: 0 auto;
    background: white;
    padding: 0 !important;
}

.header {
    background: white;
    color: #333;
    padding: 0;
    text-align: center;
    position: relative;
}

.header-content {
    position: relative;
    width: 100%;
}

.image-container {
    font-size: 0 !important;
    line-height: 0 !important;
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

.main-logo-wrapper {
    position: relative;
    font-size: 0;
    line-height: 0;
    margin: 0;
    padding: 0;
}

.title-overlay {
    position: absolute !important;
    top: 30% !important;
    left: 50% !important;
    -webkit-transform: translate(-50%, -50%) !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    max-width: 90% !important;
}

.schedule-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
}

.schedule-list {
    position: absolute;
    top: 51%;
    left: 52%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 63%;
    z-index: 10;
    pointer-events: auto;
}

.fancl_app_bk {
    position: absolute;
    top: 63.6%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 87%;
}

.fancl_app {
    position: absolute;
    top: 63.7%;
    left: 80%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10;
    pointer-events: auto;
    cursor: pointer;
}

.schedule-item {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    margin: 0 0 26px;
    font-size: 30px;
    color: #333;
    font-weight: bold;
}

.schedule-item:last-child {
    margin-bottom: 0;
}

.week-label {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}

.week-label img {
    width: auto;
    height: 100%;
}

.schedule-date {
    color: #333;
    font-weight: bold;
    font-size: 30px;
}

.schedule-date-wrapper {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
}

.point-text {
    background-color: #e4e4e4;
    color: #333;
    font-size: 16px;
    border-radius: 0;
    font-weight: normal;
    text-align: center;
    -webkit-align-items: center;
    align-items: center;
    height: 23px;
    display: -webkit-flex;
    display: flex;
}

.point-text::before {
    content: '';
    position: absolute;
    top: 196px;
    left: 134px;
    width: 100%;
    height: 30px;
    background-image: url('/fanclland/sale/assets/img/line_3.png');
    background-size: 67%;
    background-repeat: no-repeat;
    z-index: 1;
}

.section-divider {
    width: 100%;
    text-align: center;
}

.section-divider img {
    width: 100%;
    display: block;
}

.products-container {
    position: relative;
    width: 100%;
    min-height: auto;
}

.week-content {
    display: none;
    padding-top: 40px;
}

.week-content.active {
    display: block;
}

.category-header {
    position: relative;
    z-index: 2;
    width: 100%;
    text-align: center;
    padding: 0 0 75px;
}

.category-header img {
    height: auto;
}

.products-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: -webkit-linear-gradient(135deg, #e3f2fd 0%, #f0f8ff 100%);
    background: -moz-linear-gradient(135deg, #e3f2fd 0%, #f0f8ff 100%);
    background: linear-gradient(135deg, #e3f2fd 0%, #f0f8ff 100%);
}

.products-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-section {
    position: relative;
    z-index: 3;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 0 0 88px;
}

.product-box {
    width: 650px;
    background: white;
    border-radius: 50px;
    padding: 40px;
    position: relative;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    touch-action: manipulation;
}

.product-badge {
    position: absolute;
    top: 55px;
    left: 0px;
    background: #ff6b9d;
    color: white;
    padding: 8px 16px;
    border-radius: 0 50px 50px 0;
    font-size: 34px;
    font-weight: bold;
    z-index: 4;
    width: 193px;
}

.product-image {
    width: 100%;
    height: 550px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.product-image img {
    width: 80%;
}

.product-details {
    width: 100%;
}

.product-title-small {
    font-size: 36px;
    color: #2c5aa0;
    font-weight: bold;
    margin-bottom: 36px;
    padding-left: 26px;
}

.product-title-mid {
    font-size: 34px;
    color: #2c5aa0;
    font-weight: bold;
    margin-bottom: 10px;
    padding-left: 26px;
}

.product-title-large {
    font-size: 46px;
    color: #2c5aa0;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 36px;
    padding-left: 26px;
}

.price-section {
    padding-left: 26px;
}

.original-price-text {
    font-size: 40px;
    color: #2c5aa0;
    margin-bottom: 10px;
}

.sale-price-large {
    font-size: 65px;
    color: #ff6b9d;
    font-weight: bold;
}

.yen-tax {
    font-size: 65px;
    color: #ff6b9d;
}

.selector-area {
    padding-top: 40px;
}

.selector-label {
    font-size: 38px;
    color: #2c5aa0;
    padding-left: 26px;
    margin-bottom: 10px;
}

.selector {
    width: 100%;
    padding: 20px 38px;
    font-size: 38px;
    border: 2px solid rgba(0, 78, 162, 0.4);
    border-radius: 20px;
    background: white;
    color: #004ea2;
    height: 98px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('/fanclland/sale/assets/img/dropdown_arrow.png');
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 20px;
    filter: drop-shadow(0 6px 4px rgba(0, 0, 0, 0.3));
    touch-action: manipulation;
}

.selector option {
    font-size: 16px;
    padding: 15px;
    line-height: 1.4;
    width: fit-content;
}

.cart-button-area {
    padding: 40px 0 50px;
}

.cart-btn-wrapper {
    display: none;
    margin: 10px 0;
}

.cart-btn-wrapper.active {
    display: block;
}

.itemCartButton, .itemAlternative {
    margin-bottom: 10px;
}

.itemCartButton a, .itemAlternative a {
    display: block;
    width: 100%;
    text-decoration: none;
    touch-action: manipulation;
}

.itemCartButton img, .itemAlternative img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 6px 4px rgba(0,0,0,0.3));
    -webkit-transition: transform 0.2s ease;
    transition: transform 0.2s ease;
}

.itemCartButton a:active img, .itemAlternative a:active img {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
}

.itemShortage, .itemSuspended, .itemEndSale {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    margin: 10px 0;
}

.itemShortage, .itemSuspended {
    background: #ffebee;
    color: #d32f2f;
}

.itemEndSale {
    background: #f5f5f5;
    color: #757575;
}

.size-selection-area {
    padding: 40px 0;
}

.size-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 15px 26px;
    border: 2px solid #e0e0e0;
    border-radius: 15px;
    background: #fafafa;
}

.size-option:last-child {
    margin-bottom: 0;
}

.size-label {
    font-size: 32px;
    color: #2c5aa0;
    font-weight: bold;
    min-width: 120px;
}

.size-option [data-itemDataSet-child] {
    flex: 1;
    margin-left: 20px;
}

.size-option .js-itemDataSet-cart {
    width: 100%;
}

.size-option .itemCartButton,
.size-option .itemAlternative,
.size-option .itemShortage,
.size-option .itemSuspended,
.size-option .itemEndSale {
    margin: 0;
}

.size-option .itemCartButton img,
.size-option .itemAlternative img {
    width: 100%;
    max-width: 300px;
}

.stock-info {
    font-size: 18px;
    margin-bottom: 10px;
    padding: 5px 10px;
    border-radius: 5px;
    text-align: center;
}

.stock-normal {
    display: block;
    background: #e8f5e8;
    color: #2e7d2e;
}

.stock-low {
    display: block;
    background: #fff3e0;
    color: #f57c00;
}

.stock-out {
    background: #ffebee;
    color: #d32f2f;
    display: block;
}

.cart-button-orange {
    display: block;
    width: 100%;
    text-decoration: none;
    touch-action: manipulation;
}

.cart-button-orange img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 6px 4px rgba(0,0,0,0.3));
    -webkit-transition: transform 0.2s ease;
    transition: transform 0.2s ease;
    padding: 40px 0 50px;
}

.cart-button-orange:active img {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
}

.cart-button-sold-out img{
    width: 100%;
}

.cart-button-disabled {
    width: 100%;
    color: #999;
    border: none;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    display: block;
    cursor: not-allowed;
    filter: grayscale(100%) opacity(0.5);
    touch-action: none;
}

.cart-button-disabled img{
   filter: drop-shadow(0 6px 4px rgba(0, 0, 0, 0.3));
}

.cart-button-disabled img {
    width: 100%;
}

.content-item {
    font-size: 31px;
    color: #2c5aa0;
    margin: 10px 0;
    padding-bottom: 10px;
}

.content-item:last-child {
    border-bottom: none;
}

.content-item a {
    color: #2f86e3;
    text-decoration: underline;
    touch-action: manipulation;
}

.content-item a:hover {
    color: #ff6b9d;
}

.divider-line {
   border-bottom: 1px solid #c9e3e5;
   padding-bottom: 30px;
}

.divider-line-top {
   border-top: 1px solid #c9e3e5;
   padding-top: 36px;
}

.decoration-bg {
    position: absolute;
    top: 3419px;
    left: -480px;
    width: 100%;
    height: 249px;
    background-image: url('/fanclland/sale/assets/img/source_1.png');
    background-repeat: no-repeat;
    background-position: top right, bottom left;
    z-index: 2;
}

.additional-text {
    font-size: 26px;
    padding-left: 10px;
    font-weight: bold;
}

@media (max-width: 750px) {
    .m-btn01_item {
        padding: 0;
    }

    .schedule-list {
        left: 50%;
    }
    
    .schedule-item {
        font-size: 28px;
        margin: 0 0 10px;
    }

    .fancl_app_bk {
        position: absolute;
        top: 63.6%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        z-index: 10;
        width: 87%;
    }
    
    .point-text {
        font-size: 18px;
        padding: 1px 4px;
    }

    .product-box {
        width: 650px;
        margin: 0 auto;
        padding: 40px 20px;
    }
    
    
    .product-title-small {
        font-size: 22px;
    }

    .product-title-mid {
        font-size: 22px;
        padding-left: 20px;
    }
    
    .product-title-large {
        font-size: 25px;
    }
    
    .original-price-text {
        font-size: 23px;
    }
    
    .sale-price-large {
        font-size: 35px;
    }
    
    .yen-tax {
        font-size: 30px;
    }
    
    .content-item {
        font-size: 20px;
    }

    .decoration-bg {
        top: 3433px;
        left: -100px !important;
    }
    
    .size-option {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
    
    .size-label {
        margin-bottom: 15px;
        min-width: auto;
    }
    
    .size-option [data-itemDataSet-child] {
        margin-left: 0;
    }
    
    .itemShortage, .itemSuspended, .itemEndSale {
        font-size: 24px;
    }

    .category-header {
        position: relative;
        z-index: 2;
        width: 70%;
        text-align: center;
        padding: 0 0 45px;
        margin: 0 auto;
    }

    .product-section {
        position: relative;
        z-index: 3;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: center;
        justify-content: center;
        padding: 0 20px 60px;
    }

    .product-image {
        width: 100%;
        height: 350px;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
    }

    .cart-button-orange img {
        width: 100%;
        height: auto;
        display: block;
        margin: 0 auto;
        filter: drop-shadow(0 6px 4px rgba(0, 0, 0, 0.3));
        -webkit-transition: transform 0.2s ease;
        transition: transform 0.2s ease;
        padding: 20px 0 30px;
    }

    .divider-line {
        border-bottom: 1px solid #c9e3e5;
        padding-bottom: 20px;
    }

    .content-item {
        font-size: 14px !important;
    }

    .product-badge {
        position: absolute;
        top: 43px;
        left: 0px;
        background: #ff6b9d;
        color: white;
        padding: 8px 12px;
        border-radius: 0 50px 50px 0;
        font-size: 24px;
        font-weight: bold;
        z-index: 4;
        width: 145px;
    }

    .fl_btn_box a.vip::after {
        content: '';
        background: url(/fanclland/sale/assets/img/btn/rose.png) no-repeat center / 100%;
        position: absolute;
        aspect-ratio: 120 / 222;
        width: 45px !important;
        bottom: 0;
        right: 18px;
    }
    
    .fl_btn_box a.vip::before {
        content: '';
        background: url(/fanclland/sale/assets/img/btn/key.png) no-repeat center / 100%;
        position: absolute;
        aspect-ratio: 70 / 204;
        width: 28px !important;
        bottom: 14px;
        left: 25px;
        z-index: 1;
    }

    .white_ttl .ttl {
        width: 85%;
        margin: 50px auto 50px !important;
        z-index: 1;
        position: relative;
        overflow: hidden;
    }

    .fl_btn_box a.vip > div {
        width: 100%;
        height: 32px;
        justify-content: center;
    }

    .fl_btn_box a > div > p {
        margin-bottom: 0;
        font-size: 14px;
    }

    .app_dl {
        width: 80%;
        position: absolute;
        display: flex;
        align-items: center;
        gap: 10px;
        bottom: 10%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        z-index: 10;
        pointer-events: auto;
        cursor: pointer;
        list-style: none;
    }

    .price-section {
        padding-left: 20px;
    }

    .product-title-large {
        font-size: 28px;
        color: #2c5aa0;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 20px;
        padding-left: 20px;
    }

    .white_ttl {
        position: relative;
        text-align: center;
        margin: 0px auto;
        z-index: 1;
        overflow: hidden;
    }
}

.js_size-select {
   width: 100%;
   padding: 20px 38px;
   font-size: 38px;
   border: 2px solid rgba(0, 78, 162, 0.4);
   border-radius: 20px;
   background: white;
   color: #004ea2;
   height: 98px;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background-image: url('/fanclland/sale/assets/img/dropdown_arrow.png');
   background-repeat: no-repeat;
   background-position: right 20px center;
   background-size: 20px;
   box-shadow: 0 5px 4px rgba(0, 0, 0, 0.2);
   touch-action: manipulation;
   font-weight: normal;
   -webkit-border-radius: 20px;
   -webkit-background-clip: padding-box;
   background-clip: padding-box;
}

@supports (-webkit-touch-callout: none) {
    .js_size-select {
        -webkit-appearance: none !important;
        appearance: none !important;
    }
}

.js_size-select option {
    font-size: 16px;
    padding: 15px;
    line-height: 1.4;
    width: fit-content;
}

.select_item {
    padding: 40px 0;
}

.item_inner {
    width: 100%;
}

.option {
    padding-bottom: 45px;
}

.btn_group {
    width: 100%;
}

.btn_group .btn {
    display: none;
    width: 100%;
    margin: 10px 0;
}

.btn_group .btn.is-active {
    display: block;
}

.btn_group .btn img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 6px 4px rgba(0,0,0,0.3));
    -webkit-transition: transform 0.2s ease;
    transition: transform 0.2s ease;
}

.btn_group .btn img:active {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
}

.btn_group .btn .itemCartButton,
.btn_group .btn .itemAlternative {
    margin: 0;
}

.btn_group .btn .itemCartButton a,
.btn_group .btn .itemAlternative a {
    display: block;
    width: 100%;
    text-decoration: none;
    touch-action: manipulation;
}

.btn_group .btn .itemCartButton img,
.btn_group .btn .itemAlternative img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 6px 4px rgba(0,0,0,0.3));
    -webkit-transition: transform 0.2s ease;
    transition: transform 0.2s ease;
}

.btn_group .btn .itemCartButton a:active img,
.btn_group .btn .itemAlternative a:active img {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
}

.btn_group .btn .itemShortage,
.btn_group .btn .itemSuspended,
.btn_group .btn .itemEndSale {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    margin: 0;
}

.btn_group .btn .itemShortage,
.btn_group .btn .itemSuspended {
    background: #ffebee;
    color: #d32f2f;
}

.btn_group .btn .itemEndSale {
    background: #f5f5f5;
    color: #757575;
}

.product-section .btn_group {
    padding: 40px 0 50px;
}

.select_item .btn_group {
    padding: 20px 0 0;
}

.select_item .selector-label {
    font-size: 38px;
    color: #2c5aa0;
    padding-left: 26px;
    margin-bottom: 10px;
}

.product-contents p {
    font-size: 28px;
}

@media (max-width: 750px) {
    .product-contents p {
        font-size: 14px !important;
    }
    .js_size-select {
        font-size: 18px;
        padding: 19px 20px;
        height: 70px;
        max-width: 99%;
        width: 100%;
    }

    .content-item {
        margin: 0;
        padding-bottom: 10px;
    }

    .selector-label {
        font-size: 20px;
        padding-left: 20px;
    }
    
    .select_item .selector-label {
        font-size: 22px;
    }

    .item_inner>.action {
        padding: 0 !important;
    }
    .btn_group .btn .itemShortage,
    .btn_group .btn .itemSuspended,
    .btn_group .btn .itemEndSale {
        font-size: 24px;
    }

    .item.js_item {
        padding: 20px 0 30px !important;
    }

    .fl_a_btn01 > a > div::before {
        width: 25px !important;
        height: 25px !important;
        right: 24px !important;
    }
    .fl_btn_flex02 {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 15px 0 !important;
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .fl_btn_flex02 > a {
        width: calc(50% - 8px) !important;
        aspect-ratio: 330/340;
        font-size: 1.2rem;
        line-height: 1.2em;
    }
    /* display block */
    .spnone {
        display: block;
    }

    .pcnone {
        display: none;
    }
}

.js-itemDataSet-cart img {
    width: 100%;
    padding: 40px 0 50px;
}

.item.js_item {
    padding: 40px 0;
}

.off_cartin img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 6px 4px rgba(0, 0, 0, 0.3));
    -webkit-transition: transform 0.2s ease;
    transition: transform 0.2s ease;
}

.download {
    position: relative;
}

.app_dl {
    position: absolute;
    width: 80%;
    display: flex;
    align-items: center;
    gap: 20px;
    bottom: 10%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 10;
    pointer-events: auto;
    cursor: pointer;
    list-style: none;
}

.app_dl li:hover {
    opacity: 0.7;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.cartin input {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0 6px 4px rgba(0, 0, 0, 0.3));
    -webkit-transition: transform 0.2s ease;
    transition: transform 0.2s ease;
}


.white_ttl {
    position: relative;
    text-align: center;
    margin: 0px auto 25px;
    z-index: 1;
    overflow: hidden;
}

.white_ttl .ttl {
    width: 85%;
    margin: 100px auto 50px;
    z-index: 1;
    position: relative;
    overflow: hidden;
}

.white_ttl .ttl img {
    width: 100%;
    height: auto;
}

.white_ttl_deco {
    position: relative;
}

.white_ttl_deco > span {
    position: absolute;
}

.white_ttl_deco > span:nth-child(1) {
    width: 23%;
    left: 27px;
    top: -255px;
}

.white_ttl_deco > span:nth-child(2) {
    width: 26%;
    right: -59px;
    bottom: 142px;
}

.white_ttl_deco span img {
    width: 100%;
    height: auto;
}

.fl_btn_box {
    padding: 0 20px;
    max-width: 750px;
    margin: 0 auto;
}

.fl_btn_flex01 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px 0;
    margin-bottom: 15px;
}

.fl_btn_flex01 > a {
    width: 100%;
    aspect-ratio: 700/400;
    font-size: 1.8rem;
}

.fl_btn_flex02 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px 0;
    margin-top: 40px;
    margin-bottom: 40px;
}

.fl_btn_flex02 > a {
    width: calc(50% - 15px);
    aspect-ratio: 330/340;
    font-size: 1.2rem;
    line-height: 1.2em;
}

.fl_btn_box a {
    display: flex;
    align-items: flex-end;
    border: 2px solid #004ea2;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0px 5px 5px 0px rgba(0, 78, 162, 0.4);
    line-height: 1.3em;
    text-decoration: none;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.fl_btn_box a > div {
    background-color: #004ea2;
    color: #fff;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
}

.fl_btn_box a > div > p {
    margin-bottom: 0;
}

.fl_btn_box a > div::before {
    content: '';
    background: url("/fanclland/sale/assets/img/btn/a_btn02.svg") no-repeat center/100%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

.fl_btn_flex01 > a > div {
    width: 100%;
    height: 64px;
    justify-content: center;
}

.fl_btn_flex01 > a > div::before {
    width: 20px;
    height: 20px;
    right: 25px;
}

.fl_btn_flex02 > a > div {
    width: 100%;
    padding: 14px 60px 14px 14px;
}

.fl_btn_flex02 > a > div::before {
    width: 40px;
    height: 40px;
    right: 14px;
}

/* btn styles */
.fl_btn_box a.sale {
    background: url("/fanclland/sale/assets/img/btn/sale.png") no-repeat center/100%;
}

.fl_btn_box a.vip {
    background: url("/fanclland/sale/assets/img/btn/vip.png") no-repeat center/100%;
    border: 2px solid #d9b500;
    position: relative;
    border-bottom: none;
}

.fl_btn_box a.vip > div {
    background-color: #d9b500;
}

.fl_btn_box a.vip > div::before {
    background: url("/fanclland/sale/assets/img/btn/a_btn03.svg") no-repeat center/100%;
    right: 31px;
    z-index: 1;
}

.fl_btn_box a.vip::before {
    content: '';
    background: url("/fanclland/sale/assets/img/btn/key.png") no-repeat center/100%;
    position: absolute;
    aspect-ratio: 70/204;
    width: 58px;
    bottom: 14px;
    left: 25px;
    z-index: 1;
}

.fl_btn_box a.vip::after {
    content: '';
    background: url("/fanclland/sale/assets/img/btn/rose.png") no-repeat center/100%;
    position: absolute;
    aspect-ratio: 120/222;
    width: 95px;
    bottom: 0;
    right: 18px;
}

.fl_btn_box a.bar {
    background: url("/fanclland/sale/assets/img/top_bnr_bar.gif") no-repeat center/100%;
}

.fl_btn_box a.bar > div {
    background-color: #fff;
}

.fl_btn_box a.bar > div > p {
    color: #024ea2;
}

.fl_btn_box a.bar > div > p > span {
    color: #f76e86;
}

.fl_btn_box a.bar > div::before {
    background: url("/fanclland/sale/assets/img/btn/a_btn.svg") no-repeat center/100%;
}

.fl_btn_box a.tarots {
    background: url("/fanclland/sale/assets/img/top_bnr_tarot.gif") no-repeat center/100%;
}

.fl_btn_box a.castle {
    background: url("/fanclland/sale/assets/img/top_bnr_castle.gif") no-repeat center/100%;
}

.fl_btn_box a.castle > div {
    background-color: #fff;
}

.fl_btn_box a.castle > div > p {
    color: #024ea2;
}

.fl_btn_box a.castle > div > p > span {
    color: #f76e86;
}

.fl_btn_box a.castle > div::before {
    background: url("/fanclland/sale/assets/img/btn/a_btn.svg") no-repeat center/100%;
}

.fl_btn_box a.beach {
    background: url("/fanclland/sale/assets/img/top_bnr_beach.gif") no-repeat center/100%;
}

.fl_btn_box a.sdgs {
    background: url("/fanclland/sale/assets/img/top_bnr_sdgs.gif") no-repeat center/100%;
}

.fl_btn_box a.mamapapa {
    background: url("/fanclland/sale/assets/img/top_bnr_mmpp.gif") no-repeat center/100%;
}

.fl_btn_box a.mamapapa > div {
    background-color: #fff;
}

.fl_btn_box a.mamapapa > div > p {
    color: #675a54;
}

.fl_btn_box a.mamapapa > div > p > span {
    color: #ff6f02;
}

.fl_btn_box a.mamapapa > div::before {
    background: url("/fanclland/sale/assets/img/btn/a_btn.svg") no-repeat center/100%;
}

/* link btn */
@media (max-width: 767.98px) {
    .fl_a_btn01 > a {
        width: 100%;
        height: 70px !important;
        font-size: 20px !important;
    }
}
.fl_a_btn01 > a {
    background-color: #004ea2;
    color: #fff;
    position: relative;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 5px 5px 0px rgba(0, 78, 162, 0.4);
    width: 100%;
    height: 120px;
    font-size: 2rem;
}

.fl_a_btn01 {
    padding: 0 20px;
    margin: 30px 0 40px;
}

.fl_a_btn01 > a > div::before {
    width: 40px;
    height: 40px;
    right: 24px;
}

.fl_a_btn01 a > div::before {
    content: '';
    background: url(/fanclland/sale/assets/img/btn/a_btn02.svg) no-repeat center / 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

.main-contents {
    background: #cffbff !important;
}
#footer{
    background-color: #fff !important;
}

/* display block */
.spnone {
    display: none;
}

.pcnone {
    display: block !important;
}