﻿@charset "utf-8";
/* =============================================================================
   /coupon ??: style_map.css ???????E??E
   shell ??????E????? style_map ??
   .box_page_map / gMap ?Emap ?????E?????E???E????E???E
   ============================================================================= */

/*--------Layout/?????E-------*/
/*________wrapper________*/

/*________article_bgVisual________*/
#article_bgVisual {
    z-index: 0;
    position: fixed;
    top: 0;
}

#article_bgVisual,
#article_bgVisual #article_bgVisual--in,
#article_bgVisual #article_bgVisual--in .box_img,
#article_bgVisual #article_bgVisual--in .box_img img {
    height: 100vh;
    min-height: 80vh;
    z-index: 0;
}

#article_bgVisual #article_bgVisual--in .box_img img {
    object-fit: cover;
    object-position: left top;
}

@media only screen and (min-width : 769px) {

    #article_bgVisual,
    #article_bgVisual #article_bgVisual--in,
    #article_bgVisual #article_bgVisual--in .box_img,
    #article_bgVisual #article_bgVisual--in .box_img img {
        height: 100vh;
        min-height: 600px;
        width: 100%;
    }
}

/*________area_header________*/
@media only screen and (min-width : 769px) {
    #area_header {
        position: relative;
        opacity: 1;
        background: none;
        border: none;
        height: auto;
        padding-top: 48px;
        padding-bottom: 48px
    }

    #area_header #area_header--in {
        position: relative;
    }

    #area_header #logo_home #logo_home--link {
        width: 340px;
    }
}

/*________box__row________*/
.box_row {
    /* margin-top: 60px; */
    z-index: 2;
}

@media only screen and (min-width : 769px) {
    .box_row {
        margin-top: 0;
    }
}

.box_row .box_row--in {
    width: 100%;
    margin: 0 auto 0 auto;
    margin-top: 60px;
}

@media only screen and (min-width : 769px) {
    .box_row .box_row--in {
        padding-top: 0.5em;
        margin-top: 0;
    }
}

/*________area_main________*/
#area_main {
    position: relative;
    z-index: 1;
}

@media only screen and (min-width : 769px) {
    #area_main {
        width: 100%;
        margin-bottom: 2em;
    }
}

.page_movie #area_main--in {
    position: relative;
    background: rgba(255, 255, 255, 0.5);
    width: 100%;
}

@media only screen and (min-width : 769px) {
    #area_main--in {
        background: rgba(255, 255, 255, 1);
        border-radius: 10px 10px 10px 10px;
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }
}

/*________area_ttl________*/
.area_ttl {
    position: relative;
    z-index: 1;
    width: 100%;
    /* background: rgba(255, 109, 231, 0.5) */
}

@media only screen and (min-width : 769px) {
    .area_ttl {
        background: none;
    }
}

.area_ttl--in {
    position: relative;
    padding-bottom: 0.25em;
}

@media only screen and (min-width : 769px) {
    .area_ttl--in {
        padding-top: 1em;
    }
}

/*________area_contents?E?Eevent?E?________*/
.area_contents .box_page_coupon {
    width: 98%;
    margin: 0 auto;
}

/*________section_main________*/
.section_main {
    position: relative;
    width: 100%;
}

.section_main .section_inner {
    width: 98%;
    margin-left: auto;
    margin-right: auto;
}

/* =============================================================================
   City Heaven クーポン（shop_coupon.css 準拠）
   ============================================================================= */

#area_main .FlexBox {
    display: flex;
    width: 100%;
}

#area_main .FlexBox__item {
    display: block;
}

#area_main .coupon_list {
    width: 100%;
}

#area_main .coupon_box {
    position: relative;
    background: #fff;
    margin: 0 auto 24px;
    max-width: 800px;
    width: 100%;
}

#area_main .now_coupon {
    background: #fff;
    display: block;
    position: relative;
}

#area_main .now_title {
    background-color: #b8090c;
    background-image: url("/image/parts/coupon/solidred_pc.jpg");
    background-position: left 2px top;
    background-repeat: repeat-x;
    background-size: 10px auto;
    box-sizing: border-box;
    color: #fff;
    font-size: 15px;
    height: auto;
    min-height: 58px;
    line-height: 1.45;
    margin: 0;
    overflow: visible;
    padding: 18px 10px 12px 20px;
    text-overflow: unset;
    vertical-align: middle;
    white-space: normal;
    word-break: break-word;
}

#area_main .director_coupon .now_coupon {
    position: relative;
}

#area_main .director_coupon .big_coupon {
    position: absolute;
    top: -5px;
    left: -5px;
    z-index: 2;
    max-width: 160px;
    height: auto;
}

#area_main .director_coupon .now_title {
    padding: 18px 10px 12px 170px;
}

#area_main .director_coupon.director_coupon--no-badge .now_title {
    padding: 18px 10px 12px 20px;
}

#area_main .now_course {
    border-bottom: 3px solid #ccc;
    border-left: 3px solid #ccc;
    border-right: 3px solid #ccc;
    color: #333;
    font-size: 12px;
    display: flex;
    flex-wrap: wrap;
}

#area_main .now_shop {
    border-right: 1px solid #ccc;
    box-sizing: border-box;
    padding: 25px;
    width: 250px;
    flex: 0 0 auto;
}

#area_main .now_shop .img img {
    max-width: 100%;
    height: auto;
    display: block;
}

#area_main .now_shop .text_girlname {
    color: #333;
    font-size: 13px;
    margin: 8px 0 0;
}

#area_main .now_shop .text_girlsize {
    color: #333;
    font-size: 10px;
    margin: 4px 0 0;
}

#area_main .now_shop a {
    color: #333;
    text-decoration: none;
}

#area_main .now_text {
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 0;
    position: relative;
}

#area_main .now_text .director {
    position: absolute;
    top: 25px;
    right: 10px;
    display: inline-block;
    padding: 3px 8px 3px 24px;
    border: #C30327 solid 3px;
    border-radius: 3px;
    color: #C30327;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.3;
    margin: 0;
    background-image: url("/image/parts/coupon/director_coupon_icon.png");
    background-repeat: no-repeat;
    background-size: 25px;
    background-position: 1px center;
    white-space: nowrap;
}

#area_main .now_text .director--gyokai {
    font-size: 13px;
    padding-left: 26px;
}

#area_main .now_text .now_limit {
    padding: 25px;
}

#area_main .now_text .now_limit .now_condition {
    padding-top: 20px;
}

#area_main .now_limit .mb05 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

#area_main .now_limit .mb05 .now_date {
    flex: 1 1 100%;
    margin: 0;
}

#area_main .now_date {
    font-size: 13px;
    font-weight: bold;
    padding-bottom: 10px;
    margin: 0;
}

#area_main .price_off {
    background-image: url("/image/parts/coupon/bg_off.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    box-sizing: border-box;
    color: #fff;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    min-width: 68px;
    padding: 0;
    border-radius: 50%;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.05;
    margin: 0;
    text-align: center;
    text-shadow: 2px 2px 2px #840709;
    vertical-align: middle;
    flex-shrink: 0;
    overflow: hidden;
}

#area_main .price_off .off_font {
    display: block;
    font-size: 13px;
    font-weight: bold;
    padding-top: 1px;
    line-height: 1.1;
}

#area_main .now_val {
    display: inline-block;
    margin: 0;
    vertical-align: middle;
    flex: 1 1 180px;
    min-width: 0;
}

#area_main .course_name {
    color: #cf3247;
    display: inline-block;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 0;
}

#area_main .now_price {
    color: #f44336;
    font-size: 46px;
    font-weight: bold;
}

#area_main .now_count {
    color: #999;
    font-size: 15px;
    font-weight: bold;
    padding-left: 2px;
    padding-right: 7px;
}

#area_main .text_condition {
    font-size: 12px;
    font-weight: bold;
    padding-bottom: 10px;
    margin: 0;
}

#area_main .text_overview {
    font-size: 12px;
    line-height: 1.7;
    margin: 0;
    color: #333;
}

#area_main .now_text .table2-wrap {
    box-sizing: border-box;
    max-width: 100%;
    padding: 0 20px 20px;
}

#area_main table.table2 {
    border-collapse: collapse;
    color: #333;
    font-size: 12px;
    font-style: normal;
    font-weight: normal;
    letter-spacing: 0;
    line-height: 1.35;
    margin: 0;
    table-layout: fixed;
    width: 100%;
}

#area_main .table2 .table2-col-label {
    width: 38%;
}

#area_main .table2 .table2-col-price {
    width: auto;
}

#area_main .table2 .table2-col-arrow {
    width: 28px;
}

#area_main .table2 thead th,
#area_main .table2 tfoot td {
    font-size: 12px;
    font-weight: normal;
}

#area_main .table2 tfoot th {
    background-color: #e0e0e0;
    border-top: 1px solid #ccc;
    font-size: 12px;
    font-weight: bold;
    padding: 8px 8px 8px 10px;
    text-align: left;
    white-space: normal;
    word-break: break-word;
}

#area_main .table2 tfoot td {
    background-color: rgba(255, 255, 255, 0.9);
    border-top: 1px solid #ccc;
    color: #333;
    font-size: 12px;
    line-height: 1.35;
    padding: 8px 6px;
    text-align: right;
    white-space: normal;
    word-break: break-word;
}

#area_main .table2 th.table2-arrow-col,
#area_main .table2 td.table2-arrow-col {
    box-sizing: border-box;
    max-width: 28px;
    min-width: 28px;
    padding: 4px 2px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    width: 28px;
}

#area_main .table2 thead th.table2-arrow-col {
    background: #e0e0e0;
    border-top: 1px solid #ccc;
    padding: 4px 2px;
}

#area_main .table2 tfoot td.table2-arrow-col {
    border-top: 1px solid #ccc;
    padding: 8px 2px;
    text-align: center;
}

#area_main .table2 .table2-arrow-icon {
    background: none;
    background-image: none;
    color: #333;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    vertical-align: middle;
}

#area_main .table2 .r_arrow {
    background: none !important;
    background-image: none !important;
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    width: 0 !important;
}

#area_main .table2 thead th {
    background: #e0e0e0;
    border-top: 1px solid #ccc;
    font-weight: bold;
    line-height: 1.35;
    padding: 4px 6px 3px;
    text-align: right;
    white-space: normal;
    word-break: break-word;
}

#area_main .table2 thead th:first-child {
    padding: 5px 8px 4px 0;
    width: 38%;
}

#area_main .table2 tbody th {
    background-color: #f9f9f9;
    color: #333;
    font-size: 12px;
    line-height: 1.35;
    padding: 8px 8px 8px 10px;
    text-align: left;
    white-space: normal;
    word-break: break-word;
}

#area_main .table2 tbody td {
    background-color: rgba(255, 255, 255, 0.9);
    color: #333;
    font-size: 12px;
    line-height: 1.35;
    padding: 8px 6px;
    text-align: right;
    white-space: normal;
    word-break: break-word;
}

@media (max-width: 768px) {
    #area_main .director_coupon .now_title {
        padding-left: 120px;
        font-size: 13px;
        white-space: normal;
        height: auto;
        min-height: 58px;
    }

    #area_main .director_coupon .big_coupon {
        max-width: 110px;
    }

    #area_main .coupon_box {
        margin-left: 0;
        margin-right: 0;
    }

    #area_main .now_course {
        flex-direction: column;
    }

    #area_main .now_shop {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #ccc;
        padding: 16px;
    }

    #area_main .now_text .now_limit {
        padding: 16px;
    }

    #area_main .now_text .director {
        position: static;
        display: inline-block;
        margin: 0 0 10px 16px;
    }

    #area_main .price_off {
        width: 60px;
        height: 60px;
        min-width: 60px;
        font-size: 14px;
    }

    #area_main .price_off .off_font {
        font-size: 11px;
    }

    #area_main .now_price {
        font-size: 34px;
    }

    #area_main .course_name {
        font-size: 14px;
    }

    #area_main .now_count {
        font-size: 13px;
    }

    #area_main .now_text .table2-wrap {
        padding: 0 16px 16px;
    }

    #area_main table.table2 {
        font-size: 11px;
    }

    #area_main .table2 tbody td,
    #area_main .table2 tfoot td {
        font-size: 11px;
        padding: 8px 4px;
    }

    #area_main .table2 .table2-arrow-col {
        max-width: 24px;
        min-width: 24px;
        padding: 8px 1px;
        width: 24px;
    }

    #area_main .coupon-card__priceTable {
        width: 100%;
    }
}

@media (max-width: 480px) {
    #area_main .director_coupon .now_title {
        padding-left: 90px;
        padding-top: 18px;
        font-size: 12px;
    }

    #area_main .director_coupon .big_coupon {
        max-width: 88px;
        top: 0;
        left: 0;
    }

    #area_main .price_off {
        width: 54px;
        height: 54px;
        min-width: 54px;
        font-size: 13px;
    }

    #area_main .price_off .off_font {
        font-size: 10px;
    }

    #area_main .now_price {
        font-size: 28px;
    }

    #area_main .now_limit .mb05 {
        gap: 8px 10px;
    }
}

/* =============================================================================
   夜遊びクーポン
   ============================================================================= */
#area_main .coupon-card-grid {
    display: flex;
    flex-direction: column;
    gap: 28px;
    width: 100%;
}

#area_main .coupon-card {
    width: 100%;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

#area_main .coupon-card__inner {
    padding: 0;
    overflow: hidden;
}

#area_main .coupon-card--yoasobi .coupon-card__yoHead {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #5c3d32;
    color: #fff;
}

#area_main .coupon-card--yoasobi .coupon-card__yoNum {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 28px;
    height: 28px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

#area_main .coupon-card--yoasobi .coupon-card__yoTitle {
    margin: 0;
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
    color: #fff;
}

#area_main .coupon-card--yoasobi .coupon-card__yoDate {
    margin: 0;
    padding: 8px 14px 0;
    font-size: 13px;
    line-height: 1.5;
    color: #444;
    font-weight: 600;
}

#area_main .coupon-card--yoasobi .coupon-card__content--yoasobi {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 14px 14px 18px;
    align-items: start;
}

#area_main .coupon-card--yoasobi.coupon-card--has-media .coupon-card__content--yoasobi {
    grid-template-columns: minmax(110px, 28%) minmax(0, 1fr);
}

#area_main .coupon-card__mediaCol {
    text-align: center;
}

#area_main .coupon-card__thumb-in {
    display: flex;
    justify-content: center;
    align-items: center;
}

#area_main .coupon-card__img {
    max-width: 100%;
    height: auto;
    display: block;
}

#area_main .coupon-card__girlName {
    margin: 8px 0 0;
    font-size: 14px;
    font-weight: 700;
    color: #222;
}

#area_main .coupon-card__mainCol {
    min-width: 0;
}

#area_main .coupon-card--yoasobi .coupon-card__offerRow {
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin-bottom: 12px;
}

#area_main .coupon-card--yoasobi .coupon-card__discount {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    align-self: center;
    width: 72px;
    height: 72px;
    min-width: 72px;
    padding: 0;
    background-image: url("/image/parts/coupon/coupon_badge.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.05;
    text-align: center;
    text-shadow: 1px 1px 2px #840709;
}

#area_main .coupon-card--yoasobi .coupon-card__discountPercent {
    display: block;
}

#area_main .coupon-card--yoasobi .coupon-card__discountOff {
    display: block;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.1;
    padding-top: 1px;
}

#area_main .coupon-card--yoasobi .coupon-card__priceBox {
    flex: 1 1 auto;
    min-width: 0;
    border: 2px solid #c62828;
    background: #fff;
}

#area_main .coupon-card--yoasobi .coupon-card__priceBoxHead {
    margin: 0;
    padding: 8px 10px;
    background: #c62828;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

#area_main .coupon-card--yoasobi .coupon-card__priceBoxBody {
    padding: 10px 12px 12px;
    text-align: center;
}

#area_main .coupon-card--yoasobi .coupon-card__normalSummary {
    margin: 0 0 4px;
    color: #666;
    font-size: 13px;
    line-height: 1.45;
}

#area_main .coupon-card--yoasobi .coupon-card__highlight {
    margin: 0;
    color: #c62828;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.35;
}

#area_main .coupon-card--yoasobi .coupon-card__cond--inline {
    margin: 0 0 12px;
    padding: 0;
    border: none;
    font-size: 13px;
    line-height: 1.65;
}

#area_main .coupon-card__cond--inline {
    display: block;
}

#area_main .coupon-card__cond-label {
    display: block;
    margin-bottom: 4px;
    color: #8b1420;
    font-weight: 700;
    font-size: 14px;
}

#area_main .coupon-card__cond-body {
    display: block;
    color: #1a1a1a;
    font-weight: 400;
}

#area_main .coupon-card--yoasobi .coupon-card__tableWrap {
    margin-top: 10px;
    width: 100%;
    text-align: left;
}

#area_main .coupon-card--yoasobi .coupon-card__tableWrap--withBadge {
    margin-left: calc(72px + 12px);
    max-width: calc(100% - 72px - 12px);
    width: auto;
}

#area_main .coupon-card--yoasobi .coupon-card__tableLabel {
    display: inline-block;
    margin: 0;
    padding: 5px 16px;
    border-radius: 999px;
    background: #b8e4f5;
    color: #222;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
}

#area_main .coupon-card--yoasobi .coupon-card__tableLabel--sp {
    display: none;
    margin: 0 0 8px;
}

#area_main .coupon-card--yoasobi .coupon-card__tableLabel--pc {
    display: inline-block;
}

#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi {
    width: 100%;
    margin: 0;
    table-layout: fixed;
    font-size: 13px;
    border-collapse: collapse;
}

#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi th,
#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi td {
    border: 1px solid #ccc;
    padding: 9px 10px;
    vertical-align: middle;
    white-space: nowrap;
}

#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi thead th {
    background: #b3e5fc;
    font-weight: 700;
    text-align: right;
    color: #222;
}

#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi thead th.coupon-card__priceTableCorner {
    width: 30%;
    background: #fff;
    text-align: center;
    vertical-align: middle;
    border-top: none;
    border-left: none;
}

#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi thead th:nth-child(2),
#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi thead th:nth-child(3) {
    width: 35%;
}

#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi tbody th {
    background: #f7f7f7;
    font-weight: 600;
    text-align: left;
    white-space: nowrap;
}

#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi tbody td {
    background: #fff;
    text-align: right;
}

#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi tbody tr.coupon-card__totalRow th,
#area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi tbody tr.coupon-card__totalRow td {
    font-weight: 800;
    background: #fff0f3;
}

@media (min-width: 769px) {
    #area_main .coupon-card--yoasobi .coupon-card__yoHead {
        padding: 14px 20px;
        gap: 12px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__yoTitle {
        font-size: 17px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__yoDate {
        padding: 8px 20px 0;
        font-size: 14px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__content--yoasobi {
        padding: 16px 20px 22px;
        column-gap: 20px;
    }

    #area_main .coupon-card--yoasobi.coupon-card--has-media .coupon-card__content--yoasobi {
        grid-template-columns: minmax(140px, 26%) minmax(0, 1fr);
    }

    #area_main .coupon-card--yoasobi .coupon-card__offerRow {
        gap: 16px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__tableWrap--withBadge {
        margin-left: calc(72px + 16px);
        max-width: calc(100% - 72px - 16px);
    }

    #area_main .coupon-card--yoasobi .coupon-card__highlight {
        font-size: 24px;
    }
}

@media (max-width: 768px) {
    #area_main .coupon-card-grid {
        gap: 20px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__yoTitle {
        font-size: 15px;
    }

    #area_main .coupon-card--yoasobi.coupon-card--has-media .coupon-card__content--yoasobi {
        grid-template-columns: minmax(0, 1fr);
    }

    #area_main .coupon-card--yoasobi .coupon-card__offerRow {
        flex-wrap: wrap;
    }

    #area_main .coupon-card--yoasobi .coupon-card__priceBox {
        flex: 1 1 180px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__highlight {
        font-size: 20px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__tableWrap,
    #area_main .coupon-card--yoasobi .coupon-card__tableWrap--withBadge {
        margin-left: 0;
        max-width: 100%;
        width: 100%;
    }

    #area_main .coupon-card--yoasobi .coupon-card__tableLabel--sp {
        display: inline-block;
        max-width: 100%;
        white-space: normal;
        word-break: break-word;
    }

    #area_main .coupon-card--yoasobi .coupon-card__tableLabel--pc {
        display: none;
    }

    #area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi thead th.coupon-card__priceTableCorner {
        width: 28%;
        padding: 8px 4px;
        background: #b3e5fc;
        border-top: 1px solid #ccc;
        border-left: 1px solid #ccc;
    }

    #area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi {
        width: 100%;
    }

    #area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi thead th:nth-child(2),
    #area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi thead th:nth-child(3) {
        width: 36%;
    }

    #area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi tbody th {
        white-space: normal;
        word-break: break-word;
    }

    #area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi th,
    #area_main .coupon-card--yoasobi .coupon-card__priceTable--yoasobi td {
        white-space: normal;
        font-size: 12px;
        padding: 8px 6px;
    }
}

@media (max-width: 480px) {
    #area_main .coupon-card--yoasobi .coupon-card__discount {
        width: 62px;
        height: 62px;
        min-width: 62px;
        font-size: 13px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__discountOff {
        font-size: 11px;
    }

    #area_main .coupon-card--yoasobi .coupon-card__highlight {
        font-size: 18px;
    }
}

#area_main .coupon-empty {
    width: 100%;
    padding: 40px 16px;
    text-align: center;
    color: #555;
}

#area_main .coupon-pager {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 28px 0 0;
}

#area_main .coupon-pager a,
#area_main .coupon-pager span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 6px;
    background: #fff;
    color: #333;
    text-decoration: none;
    font-size: 14px;
}

#area_main .coupon-pager .is-current {
    background: #222;
    color: #fff;
    border-color: #222;
}

.page_coupon #area_main {
    position: relative;
    z-index: 1;
}

.page_coupon #area_main--in {
    position: relative;
    background: rgba(255, 255, 255, 0.2);
}

.page_coupon #section_main--event .coupon-page + .top-return-box {
    margin-top: 1.75rem;
}

.page_coupon #section_main--event .top-return-box {
    margin-bottom: 1.25rem;
}

.page_coupon #section_main--event .top-return-box + .top-return-box {
    margin-top: 1.25rem;
}

#area_main .coupon_box .now_coupon > .now_title,
#area_main .coupon-page .now_coupon > .now_title,
.page_top .section--coupon .now_title,
#area_main p.now_title {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    height: auto !important;
    min-height: 58px;
    max-height: none !important;
    line-height: 1.45 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    -webkit-line-clamp: unset !important;
    display: block !important;
}
