@charset "utf-8";

@media(min-width: 769px) {
    .sp {
        display: none !important;
    }
    
    body {
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "YuGothic M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    }
    section {
        margin: 0 auto !important;
        max-width: 100% !important;
    }
    .mainContents a:hover img {
        opacity: 1 !important;
    }

    .bgGray {
        padding: 0 !important;
        background: #f5f5f5;
    }

    h2.h2style {
        position: relative;
        margin: 0 auto 45px;
        text-align: center;
        font-size: 34px;
    }
    h2.h2style::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 80px;
        height: 3px;
        margin: 0 0 -20px -40px;
        background: #0099ff;
    }

    /* --- kvArea --- */
    .mainContents .kvArea .link_btn {
        margin: 20px 15px 20px 0;
        text-align: right;
    }
    .mainContents .kvArea .link_btn a {
        position: relative;
    }
    .mainContents .kvArea .link_btn a::after {
        content: '';
        position: absolute;
        right: -11px;
        top: 50%;
        margin-top: -6px;
        display: inline-block;
        width: 9px;
        height: 9px;
        border: 1px solid;
        border-color: #0099ff transparent transparent #0099ff;
        transform: rotate(135deg);
    }
    .mainContents .kvArea .link_btn a:hover {
        opacity: 0.7;
    }
    .mainContents .kvArea h2 {
        text-align: center;
        margin: 20px auto 72px;
    }
    .mainContents .kvArea h2 img {
        max-width: 100%;
    }

    /* --- mvBox btnBox01 --- */
    .mainContents .mvBox .btnBox01 {
        position: relative;
        padding: 20px 0;
        text-align: center;
        background: #f5f5f5;
    }
    .mainContents .mvBox .btnBox01::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        margin-left: -35px;
        border: 35px solid transparent;
        border-top: 30px solid #ffffff;
    }
    .mainContents .mvBox .btnBox01 .read {
        position: relative;
        display: inline-block;
        margin: 20px 0 0;
        font-size: 20px;
        font-weight: bold;
    }
    .mainContents .mvBox .btnBox01 .read span {
        font-size: 32px;
        color: #fe295f;
    }
    .mainContents .mvBox .btnBox01 .read::before {
        content: '';
        position: absolute;
        top: 50%;
        left: -27px;
        width: 18px;
        height: 17px;
        margin: -4px 0 0;
        background: url(/special/select5/images/icon_text_l.png) 0 0 no-repeat;
    }
    .mainContents .mvBox .btnBox01 .read::after {
        content: '';
        position: absolute;
        top: 50%;
        right: -27px;
        width: 18px;
        height: 17px;
        margin: -4px 0 0;
        background: url(/special/select5/images/icon_text_r.png) 0 0 no-repeat;
    }

    .mainContents .mvBox .btnBox01 .btn01 a {
        display: inline-block;
        padding: 15px 100px;
        font-size: 24px;
        font-weight: bold;
        text-decoration: none;
        border-radius: 40px;
        background: #fe295f;
        color: #ffffff;
    }
    .mainContents .mvBox .btnBox01 .btn01 a:hover {
        opacity: 0.7;
    }

    .mainContents .mvBox .btnBox01 .btn02 a {
        position: relative;
        font-size: 16px;
        text-decoration: none;
    }
    .mainContents .mvBox .btnBox01 .btn02 a::after {
        content: '';
        position: absolute;
        right: -11px;
        top: 50%;
        margin-top: -6px;
        display: inline-block;
        width: 9px;
        height: 9px;
        border: 1px solid;
        border-color: #0099ff transparent transparent #0099ff;
        transform: rotate(135deg);
    }
    .mainContents .mvBox .btnBox01 .btn02 a:hover {
        opacity: 0.7;
    }

    /* --- mvBox btnBox02 --- */
    .mainContents .mvBox .btnBox02 {
        position: relative;
        padding: 40px 0 50px;
        background: url(/special/select5/images/bg_btnbox02.png) center center no-repeat;
        background-size: 100% 100%;
    }
    .mainContents .mvBox .btnBox02 .fBox {
        display: flex;
        justify-content: center;
    }
    .mainContents .mvBox .btnBox02 .fBox .btn {
        margin: 0;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
    }
    .mainContents .mvBox .btnBox02 .fBox .btn:nth-child(n+2) {
        margin: 0 0 0 40px;
    }
    .mainContents .mvBox .btnBox02 .fBox .btn a {
        position: relative;
        display: block;
        width: 280px;
        padding: 15px 0 30px;
        border-radius: 10px;
        background: #ffffff;
        text-decoration: none;
    }
    .mainContents .mvBox .btnBox02 .fBox .btn a::after {
        content: '';
        position: absolute;
        bottom: 12px;
        left: 50%;
        display: inline-block;
        width: 9px;
        height: 9px;
        border: 1px solid;
        border-color: transparent #0099ff #0099ff transparent;
        transform: rotate(45deg) translate(-50%, 0);
    }
    .mainContents .mvBox .btnBox02 .fBox .btn a:hover {
        opacity: 0.7;
    }

    .mainContents .basispackBox {
        padding: 85px 20px 110px;
        box-sizing: border-box;
    }
    .mainContents .basispackBox h2.h2style::before {
        content: '';
        position: absolute;
        bottom: 100%;
        left: 50%;
        width: 101px;
        height: 100px;
        background: url(/special/select5/images/icon_ttl01.png) 0 0 no-repeat;
        transform: translate(-50%, -20px);
    }
    .mainContents .basispackBox .txt {
        font-size: 18px;
        text-align: center;
        line-height: 1.7;
    }
    .mainContents .basispackBox .pointBox ul {
        display: flex;
        justify-content: space-between;
    }
    .mainContents .basispackBox .pointBox ul li {
        width: 32%;
    }
    .mainContents .basispackBox .pointBox ul li img {
        width: 100%;
    }

    /* --- payment --- */
    .mainContents .payment {
        min-width: 960px;
        max-width: 1200px;
        margin: 0 auto;
        padding: 85px 20px 110px;
        box-sizing: border-box;
    }
    .mainContents .payment h2.h2style::before {
        content: '';
        position: absolute;
        bottom: 100%;
        left: 50%;
        width: 101px;
        height: 100px;
        background: url(/special/select5/images/icon_ttl04.png) 0 0 no-repeat;
        transform: translate(-50%, -20px);
    }
    .mainContents .payment .txt {
        font-size: 18px;
        text-align: center;
        line-height: 1.7;
    }
    .mainContents .payment .paymentbox {
        display: flex;
        justify-content: space-between;
        margin: 0 auto 60px;
    }
    .mainContents .payment .paymentbox dl:nth-child(1) {
        position: relative;
        width: 28%
    }
    .mainContents .payment .paymentbox dl:nth-child(2) {
        width: 65%;
    }
    .mainContents .payment .paymentbox dl:nth-child(1)::after {
        content: '';
        position: absolute;
        top: 45%;
        right: -50px;
        border: 12px solid transparent;
        border-left: 16px solid #7fccff;
        transform: translate(0, -60%);
    }
    .mainContents .payment .paymentbox dl dt {
        position: relative;
        width: 100%;
        padding: 20px 0;
        font-size: 24px;
        text-align: center;
        background: #0099ff;
        color: #ffffff;
    }
    .mainContents .payment .paymentbox dl dt::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 50%;
        border: 15px solid transparent;
        border-top: 15px solid #0099ff;
        transform: translate(-50%, 0);
        z-index: 1;
    }
    .mainContents .payment .paymentbox dl dd {
        position: relative;
        height: 422px;
        background: #ffffff;
    }
    .mainContents .payment .paymentbox dl dd img {
        position: absolute;
        top: 50%;
        left: 50%;
        max-width: 100%;
        transform: translate(-50%, -50%);
    }

    .mainContents .payment .must_readbox {
        width: 790px;
        margin: 0 auto 40px;
        padding: 16px 30px 0;
        background: #ffffff;
        box-sizing: border-box;
    }
    .mainContents .payment .must_readbox dl {
        margin: 0;
    }
    .mainContents .payment .must_readbox dt {
        position: relative;
        padding: 5px 0 14px 36px;
        font-size: 22px;
        font-weight: bold;
        background: url(/special/select5/images/payment_icon01.png) 0 2px no-repeat;
    }
    .mainContents .payment .must_readbox dt::after {
        content: '';
        position: absolute;
        top: 2px;
        right: 0;
        width: 25px;
        height: 25px;
        background: url(/special/select5/images/icon_btn01.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .mainContents .payment .must_readbox dd {
        display: none;
        padding: 28px 0 13px;
        color: #888888;
        font-size: 14px;
        line-height: 1.5;
        border-top: 1px solid #0099ff;
    }
    .mainContents .payment .must_readbox dd a {
        color: #0099ff;
        text-decoration: none;
    }
    .mainContents .payment .must_readbox dd a:hover {
        opacity: 0.7;
        text-decoration: underline;
    }
    
    .mainContents .payment .must_readbox .caution_table {
        border: 1px solid #cccccc;
        width: 100%;
        border-spacing: 0px;
    }
    .mainContents .payment .must_readbox .caution_table th {
        width: 25%;
        padding: 20px 5px;
        border-right: 1px solid #cccccc;
        border-bottom: 1px solid #cccccc;
        background: #0099ff;
        color: #ffffff;
    }
    .mainContents .payment .must_readbox .caution_table td {
        padding: 10px;
        border-bottom: 1px solid #cccccc;
    }
    .mainContents .payment .must_readbox .caution_table td .icon_type_01 {
        margin: 5px 0 0;
        padding: 0 0 0 1rem;
        font-size: 14px;
        line-height: 1.5;
        color: #888;
    }
    .mainContents .payment .must_readbox .caution_table td .icon_type_01::before {
        content: '※';
        margin-left: -1rem;
    }

    /* --- usescenebox --- */
    .mainContents .payment .usescenebox {
        width: 790px;
        margin: 0 auto;
        padding: 90px 0 0;
    }
    .mainContents .payment .usescenebox .inbox_aw .inbox {
        position: relative;
        margin: 0 0 20px 0;
        padding: 85px 0 20px;
        text-align: center;
        background: #ffffff;
        box-sizing: border-box;
    }
    .mainContents .payment .usescenebox .inbox_aw .inbox::before {
        content: '';
        position: absolute;
        top: -55px;
        left: 50%;
        width: 113px;
        height: 122px;
        background: url(/special/select5/images/usescene_icon01.png) 0 0 no-repeat;
        background-size: 100% auto;
        transform: translate(-50%, 0);
    }
    .mainContents .payment .usescenebox .inbox_aw .inbox .ttl {
        margin: 0;
        padding: 0 20px;
        font-size: 26px;
        font-weight: bold;
        line-height: 1.4;
        color: #0099ff;
    }
    .mainContents .payment .usescenebox .inbox_aw .inbox .txt {
        margin: 15px 0 0;
        padding: 0 20px;
        font-size: 18px;
        line-height: 1.5;
    }
    .mainContents .payment .usescenebox .inbox_aw .inbox .txt_link {
        margin: 35px 0 0;
    }
    .mainContents .payment .usescenebox .inbox_aw .inbox .txt_link a {
        position: relative;
        font-size: 16px;
        font-weight: bold;
        color: #000000;
        text-decoration: none;
    }
    .mainContents .payment .usescenebox .inbox_aw .inbox .txt_link a::after {
        content: '';
        position: absolute;
        right: -15px;
        top: 50%;
        display: inline-block;
        width: 9px;
        height: 9px;
        margin: -5px 0 0 0;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg);
    }
    .mainContents .payment .usescenebox .inbox_aw .inbox .txt_link a:hover {
        opacity: 0.7;
        text-decoration: underline;
    }

    .mainContents .payment .btnBox01 {
        position: relative;
        padding: 20px 0;
        text-align: center;
    }
    .mainContents .payment .btnBox01 a:hover {
        opacity: 0.7;
    }
    .mainContents .payment .btnBox01 .btn01 a {
        display: inline-block;
        padding: 15px 100px;
        font-size: 24px;
        font-weight: bold;
        text-decoration: none;
        border-radius: 40px;
        background: #fe295f;
        color: #ffffff;
    }
    .mainContents .payment .btnBox01 .btn02 {
        margin: 0;
    }
    .mainContents .payment .btnBox01 .btn02 a {
        position: relative;
        font-size: 16px;
        text-decoration: none;
        color: #000000;
    }
    .mainContents .payment .btnBox01 .btn02 a::after {
        content: '';
        position: absolute;
        right: -15px;
        top: 50%;
        display: inline-block;
        width: 9px;
        height: 9px;
        margin: -5px 0 0 0;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg);
    }
    .mainContents .payment .btnBox01 .btn03 {
        color: #0099ff;
        font-size: 20px;
        font-weight: bold;
    }

    /* --- comparison --- */
    .mainContents .comparison {
        min-width: 960px;
        max-width: 960px;
        width: 100%;
        margin: 0 auto;
        padding: 85px 0 110px;
        box-sizing: border-box;
    }
    .mainContents .comparison h2.h2style::before {
        content: '';
        position: absolute;
        bottom: 100%;
        left: 50%;
        width: 101px;
        height: 100px;
        background: url(/special/select5/images/icon_ttl06_02.png) 0 0 no-repeat;
        transform: translate(-50%, -20px);
    }
    .mainContents .comparison .txt_center {
        text-align: center;
    }
    .mainContents .comparison .example img {
        width: 100%;
    }
    .mainContents .comparison .icon_type_01 {
        position: relative;
        margin: 5px 0 0;
        padding: 0 0 0 1rem;
        font-size: 14px;
        line-height: 1.6;
        color: #888888;
    }
    .mainContents .comparison .icon_type_01::before {
        content: '※';
        margin: 0 0 0 -1rem;
    }
    .mainContents .comparison .btn_only {
        padding: 0;
        text-align: center;
    }
    .mainContents .comparison .btn_only .btnBox01 {
        padding: 20px 0;
    }
    .mainContents .comparison .btn_only .btnBox01 a:hover {
        opacity: 0.7;
    }
    .mainContents .comparison .btn_only .btnBox01 .btn04 {
        margin: 0 0 25px 0;
    }
    .mainContents .comparison .btn_only .btnBox01 .btn04 a {
        display: inline-block;
        padding: 15px 100px;
        font-size: 24px;
        font-weight: bold;
        text-decoration: none;
        border: 1px solid #33adff;
        border-radius: 40px;
        background: #ffffff;
        color: #33adff;
    }
    .mainContents .comparison .btn_only .btnBox01 .btn02 a {
        position: relative;
        font-size: 16px;
        text-decoration: none;
        color: #000000;
    }
    .mainContents .comparison .btn_only .btnBox01 .btn02 a::after {
        content: '';
        position: absolute;
        right: -15px;
        top: 50%;
        display: inline-block;
        width: 9px;
        height: 9px;
        margin: -5px 0 0 0;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg);
    }

    /* --- summary --- */
    .mainContents .summary .arrow img {
        width: 100%;
    }
    .mainContents .summary .btn_only {
        padding: 72px 0 65px;
    }
    .mainContents .summary .btn_only .btnBox01 {
        position: relative;
        padding: 20px 0;
        text-align: center;
    }
    .mainContents .summary .btn_only .btnBox01 a:hover {
        opacity: 0.7;
    }
    .mainContents .summary .btn_only .btnBox01 .btn01 a {
        display: inline-block;
        padding: 15px 100px;
        font-size: 24px;
        font-weight: bold;
        text-decoration: none;
        border-radius: 40px;
        background: #fe295f;
        color: #ffffff;
    }
    .mainContents .summary .btn_only .btnBox01 .btn02 a {
        position: relative;
        font-size: 16px;
        text-decoration: none;
        color: #000000;
    }
    .mainContents .summary .btn_only .btnBox01 .btn02 a::after {
        content: '';
        position: absolute;
        right: -15px;
        top: 50%;
        display: inline-block;
        width: 9px;
        height: 9px;
        margin: -5px 0 0 0;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg);
    }
    .mainContents .summary .btn_only .btnBox01 .btn03 {
        font-size: 20px;
        font-weight: bold;
        color: #0099ff;
    }

    /* --- ch47 --- */
    .mainContents .ch47 {
        max-width: 960px;
        margin: 0 auto;
        padding: 85px 20px 110px;
    }
    .mainContents .ch47 h2.h2style::before {
        content: '';
        position: absolute;
        bottom: 100%;
        left: 50%;
        width: 101px;
        height: 100px;
        background: url(/special/select5/images/icon_ttl02.png) 0 0 no-repeat;
        transform: translate(-50%, -20px);
    }
    .mainContents .ch47 .txt {
        font-size: 18px;
        text-align: center;
        line-height: 1.7;
    }
    .mainContents .ch47 .comments {
        font-size: 14px;
        line-height: 1.5;
    }
    .mainContents .ch47 .ch_amount img {
        width: 100%;
    }
    .mainContents .ch47 .ac_border {
        margin: 10px 0 0 0;
        border: 3px solid #e8e8e8;
    }
    .mainContents .ch47 .ac_border:nth-of-type(1) {
        margin: 0;
    }
    .mainContents .ch47 .ac_border dt {
        position: relative;
        padding: 10px 30px 6px;
        font-weight: bold;
        background: #ffffff;
        background-size: 25px auto;
        color: #888888;
        cursor: pointer;
    }
    .mainContents .ch47 .ac_border dt::before {
        position: absolute;
        content: "";
        background: url(/special/select5/images/icon_btn01.png) 0 0 no-repeat;
        background-size: 100% auto;
        width: 25px;
        height: 25px;
        right: 30px;
        top: 50%;
        margin: -12.5px 0 0;
    }
    .mainContents .ch47 .ac_border dt.active:before {
        background: url(/special/select5/images/icon_btn02.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .mainContents .ch47 .ac_border dt span.ch_name  {
        margin-right: 10px;
        font-size: 22px;
        color: #0099ff;
    }
    .mainContents .ch47 .ac_border dd {
        display: none;
        padding: 0 30px;
        background: #fff;
    }
    .mainContents .ch47 .chbox {
        overflow: hidden;
        border-top: 1px solid #0099ff;
    }
    .mainContents .ch47 .chbox .ch_detail {
        display: table;
        align-items: center;
        overflow: hidden;
        float: left;
        max-width: 280px;
        width: 100%;
        margin-left: 27px;
        border-top: 1px solid #e8e8e8;
    }
    .mainContents .ch47 .chbox .ch_detail:nth-child(3n+1) {
        margin-left: 0;
    }
    .mainContents .ch47 .chbox .ch_detail:nth-child(-n+3) {
        border-top: none;
    }
    .mainContents .ch47 .chbox .ch_detail a {
        position: relative;
        width: 100%;
        padding: 0 30px 0 0;
        display: table-cell;
        vertical-align: middle;
        text-decoration: none;
        height: 156px !important;
    }
    .mainContents .ch47 .chbox .ch_detail a::after {
        position: absolute;
        right: 4px;
        top: 50%;
        margin-top: -8px;
        display: inline-block;
        content: "";
        width: 17px;
        height: 17px;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        -ms-transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
    .mainContents .ch47 .chbox .ch_detail a:hover {
        opacity: 0.7;
    }
    .mainContents .ch47 .chbox .ch_detail p {
        margin: 0;
    }
    .mainContents .ch47 .chbox .ch_detail .img {
        float: left;
        width: 50px;
        height: 50px;
        margin-right: 10px;
        border: 1px solid #e8e8e8;
    }
    .mainContents .ch47 .chbox .ch_detail .img img {
        width: 100%;
        height: auto;
    }
    .mainContents .ch47 .chbox .ch_detail .ttl {
        color: #000;
        font-size: 16px;
        font-weight: bold;
        height: 54px;
        line-height: 1.15;
        overflow: hidden;
    }
    .mainContents .ch47 .chbox .ch_detail div {
        overflow: hidden;
        clear: both;
        padding-top: 5px;
    }
    .mainContents .ch47 .chbox .ch_detail .ondemand {
        float: left;
        width: 74px;
        height: 38px;
        margin-right: 10px;
        padding: 8px 5px 0;
        box-sizing: border-box;
        background: #0099ff;
        color: #fff;
        font-size: 10px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        text-align: center;
    }
    .mainContents .ch47 .chbox .ch_detail .txt {
        color: #000;
        font-size: 13px;
        text-align: left;
        line-height: 1.38;
        font-weight: bold;
    }

    /* --- watch_ch --- */
    .mainContents .watch_ch {
        margin: 0 auto;
        padding: 85px 0 110px;
    }
    .mainContents .watch_ch .carousel {
        padding-left: 0 !important;
        overflow: inherit;
    }
    .mainContents .watch_ch h2.h2style::before {
        content: '';
        position: absolute;
        bottom: 100%;
        left: 50%;
        width: 101px;
        height: 100px;
        background: url(/special/select5/images/icon_ttl03.png) 0 0 no-repeat;
        transform: translate(-50%, -20px);
    }
    .mainContents .watch_ch .txt {
        font-size: 18px;
        text-align: center;
        line-height: 1.7;
    }
    .mainContents .watch_ch .chBox {
        min-width: 960px;
        max-width: 1200px;
        margin: 0 auto;
    }
    .mainContents .watch_ch .chBox li.slick-slide {
        display: flex;
        justify-content: space-between;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div {
        width: 19%;
        margin: 0 0.5%;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div div:nth-child(1) {
        padding: 0 0 30px 0;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div div:hover {
        opacity: 0.7;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div p {
        margin: 0;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div p.img01 {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 153px;
        background: #000000;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div p.img01 img {
        max-width: 100%;
        max-height: 100%;
        width: 100%;
        margin: 0 auto;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div p.img01.no_img img {
        width: 90px;
        height: auto;
        margin: 0;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div p.img02 {
        float: left;
        width: 46px;
        height: 46px;
        margin: 10px 10px 10px 0;
        border: 1px solid #e8e8e8;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div p.img02 img {
        width: 100%;
    }
    .mainContents .watch_ch .chBox li.slick-slide > div p.ttl {
        height: 42px;
        margin: 16px 0;
        overflow: hidden;
        font-size: 16px;
        line-height: 1.4;
    }
    .mainContents .watch_ch .chBox .slick-arrow {
        position: absolute;
        top: 50%;
        left: -60px;
        margin-top: -20px;
        cursor: pointer;
    }
    .mainContents .watch_ch .chBox .slick-arrow.next-arrow {
        right: -60px;
        left: auto;
    }
}
@media(max-width: 1320px) {
    .mainContents .watch_ch .chBox .slick-arrow {
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -20px;
        cursor: pointer;
    }
    .mainContents .watch_ch .chBox .slick-arrow.next-arrow {
        right: 0px;
        left: auto;
    }
}


@media(max-width: 768px) {
    .pc {
        display: none !important;
    }

    body {
        font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "YuGothic M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    }
    section {
        margin: 0 auto !important;
        max-width: 100% !important;
    }
    .mainContents .mainContentsIn {
        margin: 0 auto !important;
    }
    .mainContents a:hover img {
        opacity: 1 !important;
    }

    .bgGray {
        padding: 0 !important;
        background: #f5f5f5;
        overflow: inherit !important;
    }

    h2.h2style {
        position: relative;
        margin: 0 auto 7.2vw;
        text-align: center;
        line-height: 1.5;
        font-size: 5.2vw;
    }
    h2.h2style::before {
        content: '';
        position: absolute;
        top: -14vw;
        left: 50%;
        width: 12vw;
        height: 12vw;
        transform: translate(-50%, 0);
    }
    h2.h2style::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 10vw;
        height: 2px;
        margin: 0 0 -2.5vw -5vw;
        background: #0099ff;
    }

    /* --- kvArea --- */
    .mainContents .kvArea {
        padding: 0 3vw;
        box-sizing: border-box;
    }
    .mainContents .kvArea .link_btn {
        text-align: right;
        margin: 2vw 3vw 2vw 0;
    }
    .mainContents .kvArea .link_btn a {
        position: relative;
        font-size: 3.2vw;
        color: #000000;
    }
    .mainContents .kvArea .link_btn a::after {
        content: '';
        position: absolute;
        top: 8%;
        right: -2vw;
        display: inline-block;
        width: 1.5vw;
        height: 1.5vw;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg) translate(0, -50%);
    }
    .mainContents .kvArea h2 img {
        width: 100%;
    }

    /* --- mvBox --- */
    .mainContents .mvBox .btnBox01 {
        position: relative;
        padding: 7vw 0 6vw;
        background: #f5f5f5;
        text-align: center;
    }
    .mainContents .mvBox .btnBox01::after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        border: 4vw solid transparent;
        border-top: 4vw solid #ffffff;
        transform: translate(-50%, 0);
    }
    .mainContents .mvBox .btnBox01 p {
        margin: 0;
    }
    .mainContents .mvBox .btnBox01 .read {
        position: relative;
        display: inline-block;
        margin: 0 0 3vw 0;
        font-size: 3.2vw;
        font-weight: bold;
    }
    .mainContents .mvBox .btnBox01 .read::before {
        content: '';
        position: absolute;
        top: 50%;
        left: -4vw;
        width: 3.2vw;
        height: 3.2vw;
        background: url(/special/select5/images/sp/icon_text_l.png) 0 0 no-repeat;
        background-size: 100%;
        transform: translate(0, -50%);
    }
    .mainContents .mvBox .btnBox01 .read::after {
        content: '';
        position: absolute;
        top: 50%;
        right: -4vw;
        width: 3.2vw;
        height: 3.2vw;
        background: url(/special/select5/images/sp/icon_text_r.png) 0 0 no-repeat;
        background-size: 100%;
        transform: translate(0, -50%);
    }
    .mainContents .mvBox .btnBox01 .read span {
        font-size: 4.2vw;
        color: #fe295f;
    }
    .mainContents .mvBox .btnBox01 .btn01 {
        margin: 0 0 4vw 0;
    }
    .mainContents .mvBox .btnBox01 .btn01 a {
        width: 80%;
        display: block;
        margin: 0 auto;
        padding: 3vw 0;
        font-size: 4vw;
        font-weight: bold;
        border-radius: 50vw;
        background: #fe295f;
        color: #ffffff;
    }
    .mainContents .mvBox .btnBox01 .btn02 {
        position: relative;
        display: inline-block;
        font-size: 3.4vw;
    }
    .mainContents .mvBox .btnBox01 .btn02 a::after {
        content: '';
        position: absolute;
        top: 5%;
        right: -1.5vw;
        display: inline-block;
        width: 1.8vw;
        height: 1.8vw;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg) translate(0, -50%);
    }

    .mainContents .mvBox .btnBox02 {
        position: relative;
        padding: 6vw 0;
        background: url(/special/select5/images/sp/bg_btnbox02.png) center center no-repeat;
        background-size: cover;
    }
    .mainContents .mvBox .btnBox02 .fBox {
        display: flex;
        justify-content: space-between;
        width: 80%;
        margin: 0 auto;
    }
    .mainContents .mvBox .btnBox02 .fBox p {
        margin: 0;
    }
    .mainContents .mvBox .btnBox02 .fBox .btn {
        width: 47%;
    }
    .mainContents .mvBox .btnBox02 .fBox .btn a {
        position: relative;
        width: 100%;
        display: block;
        padding: 3vw 0 5vw;
        font-size: 3.2vw;
        font-weight: bold;
        border-radius: 1vw;
        text-align: center;
        background: #ffffff;
    }
    .mainContents .mvBox .btnBox02 .fBox .btn a::after {
        content: '';
        position: absolute;
        bottom: 3.5vw;
        right: 50%;
        display: inline-block;
        width: 1.5vw;
        height: 1.5vw;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(225deg) translate(-50%, 0);
    }

    /* --- basispackBox --- */
    .mainContents .basispackBox {
        padding: 10vw 8vw 8vw;
    }
    .mainContents .basispackBox h2.h2style::before {
        background: url(/special/select5/images/sp/icon_ttl01.png) 0 0 no-repeat;
        background-size: 100%;
    }
    .mainContents .basispackBox .txt {
        font-size: 3.2vw;
        line-height: 1.7;
        text-align: center;
    }
    .mainContents .basispackBox .pointBox {
        width: 100%;
    }
    .mainContents .basispackBox .pointBox ul li {
        margin: 0 0 3vw 0;
    }
    .mainContents .basispackBox .pointBox ul li img {
        width: 100%;
    }

    /* --- payment --- */
    .mainContents .payment {
        padding: 10vw 8vw 8vw;
    }
    .mainContents .payment h2.h2style::before {
        background: url(/special/select5/images/sp/icon_ttl04.png) 0 0 no-repeat;
        background-size: 100%;
    }
    .mainContents .payment .txt {
        font-size: 3.2vw;
        line-height: 1.7;
        text-align: center;
    }
    .mainContents .payment .paymentbox {
        margin: 8vw 0 4vw;
        overflow: hidden;
    }
    .mainContents .payment .paymentbox dl {
        position: relative;
        width: 100%;
    }
    .mainContents .payment .paymentbox dl:not(:last-child) {
        margin-bottom: 9vw;
    }
    .mainContents .payment .paymentbox dl:not(:last-child):after {
        content: '';
        position: absolute;
        bottom: -8.5vw;
        left: 50%;
        border: 2.7vw solid transparent;
        border-top: 2.9vw solid #7fccff;
        transform: translate(-50%, 0);
    }
    .mainContents .payment .paymentbox dt {
        position: relative;
        padding: 3vw 0;
        font-size: 3.6vw;
        text-align: center;
        background: #0099ff;
        color: #ffffff;
    }
    .mainContents .payment .paymentbox dt::after {
        content: '';
        position: absolute;
        bottom: -5.5vw;
        left: 50%;
        border: 3vw solid transparent;
        border-top: 3vw solid #0099ff;
        transform: translate(-50%, 0);
    }
    .mainContents .payment .paymentbox dd {
        padding: 6vw 0 5vw;
        background: #ffffff;
    }
    .mainContents .payment .paymentbox dd img {
        width: 100%;
    }
    .mainContents .payment .paymentbox .comments {
        font-size: 3.2vw;
        line-height: 1.5;
    }

    .mainContents .payment .must_readbox {
        width: 100%;
        margin: 0 auto 6vw;
        background: #ffffff;
        box-sizing: border-box;
    }
    .mainContents .payment .must_readbox dl {
        padding: 0 3vw;
    }
    .mainContents .payment .must_readbox dl dt {
        position: relative;
        padding: 3vw 5vw;
        font-size: 3.6vw;
        font-weight: bold;
        line-height: 1.5;
        background: url(/special/select5/images/sp/payment_icon01.png) 0vw 3.9vw no-repeat;
        background-size: 3.6vw auto;
    }
    .mainContents .payment .must_readbox dl dt::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 0;
        width: 4.2vw;
        height: 4.2vw;
        background: url(/special/select5/images/sp/icon_btn01.png) 0 0 no-repeat;
        background-size: 100% auto;
        transform: translate(0, -50%);
    }
    .mainContents .payment .must_readbox dl dt.active::after {
        background: url(/s/special/select5/images/icon_btn02.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .mainContents .payment .must_readbox dl dd {
        display: none;
        padding: 4vw 0;
        font-size: 2.6vw;
        line-height: 1.7;
        border-top: 1px solid #0099ff;
    }
    .mainContents .payment .must_readbox dl dd a {
        color: #0099ff;
    }
    .mainContents .payment .must_readbox dl dd a:visited {
        color: #9966ff;
    }

    .mainContents .payment .must_readbox .caution_table {
        border: 1px solid #cccccc;
        width: 100%;
        border-spacing: 0px;
    }
    .mainContents .payment .must_readbox .caution_table th {
        width: 25%;
        padding: 3vw 0;
        border-right: 1px solid #cccccc;
        border-bottom: 1px solid #cccccc;
        background: #0099ff;
        color: #ffffff;
    }
    .mainContents .payment .must_readbox .caution_table td {
        padding: 2vw;
        border-bottom: 1px solid #cccccc;
    }
    .mainContents .payment .must_readbox .caution_table td .icon_type_01 {
        margin: 1.5vw 0 0;
        padding: 0 0 0 3vw;
    }
    .mainContents .payment .must_readbox .caution_table td .icon_type_01:first-child {
        margin: 0;
    }
    .mainContents .payment .must_readbox .caution_table td .icon_type_01::before {
        content: '※';
        margin: 0 0 0 -2vw;
    }

    /* --- usescenebox --- */
    .mainContents .usescenebox {
        margin: 0 0 5vw 0;
        padding: 9vw 0 0;
    }
    .mainContents .usescenebox .inbox {
        position: relative;
        padding: 10vw 3vw 5vw;
        text-align: center;
        background: #ffffff;
        box-sizing: border-box;
    }
    .mainContents .usescenebox .inbox::before {
        content: '';
        position: absolute;
        top: -6vw;
        left: 50%;
        width: 13vw;
        height: 14vw;
        background: url(/s/special/select5/images/usescene_icon01.png) 0 0 no-repeat;
        background-size: 100% auto;
        transform: translate(-50%, 0);
    }
    .mainContents .usescenebox .inbox p {
        margin: 0;
    }
    .mainContents .usescenebox .inbox .ttl {
        margin: 0 0 3vw 0;
        font-size: 4vw;
        font-weight: bold;
        line-height: 1.3;
        color: #0099ff;
    }
    .mainContents .usescenebox .inbox .txt {
        margin: 0 0 3vw 0;
        font-size: 3.2vw;
        line-height: 1.5;
        text-align: center;
    }
    .mainContents .usescenebox .inbox .txt_link:not(:last-child) {
        margin: 0 0 3vw 0;
    }
    .mainContents .usescenebox .inbox .txt_link a {
        position: relative;
        font-size: 3.2vw;
        font-weight: bold;
        color: #000000;
    }
    .mainContents .usescenebox .inbox .txt_link a::after {
        content: '';
        position: absolute;
        top: 10%;
        right: -1.5vw;
        display: inline-block;
        width: 1.7vw;
        height: 1.7vw;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg) translate(0, -50%);
    }
    .mainContents .payment .btnBox01 {
        text-align: center;
    }
    .mainContents .payment .btnBox01 p {
        margin: 0;
    }
    .mainContents .payment .btnBox01 .btn01 {
        margin: 0 0 5vw 0;
    }
    .mainContents .payment .btnBox01 .btn01 a {
        width: 80%;
        display: block;
        margin: 0 auto;
        padding: 3vw 0;
        font-size: 4vw;
        font-weight: bold;
        border-radius: 50vw;
        background: #fe295f;
        color: #ffffff;
    }
    .mainContents .payment .btnBox01 .btn03 {
        margin: 0 0 2.5vw 0;
        font-size: 3.6vw;
        font-weight: bold;
        color: #0099ff;
    }
    .mainContents .payment .btnBox01 .btn02 a {
        position: relative;
        font-size: 3.6vw;
        color: #000000;
    }
    .mainContents .payment .btnBox01 .btn02 a::after {
        content: '';
        position: absolute;
        top: 8%;
        right: -1.5vw;
        display: inline-block;
        width: 1.7vw;
        height: 1.7vw;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg) translate(0, -50%);
    }

    /* --- comparison --- */
    .mainContents .comparison {
        padding: 10vw 4vw 2vw;
    }
    .mainContents .comparison h2.h2style::before {
        background: url(/special/select5/images/sp/icon_ttl06_02.png) 0 0 no-repeat;
        background-size: 100%;
    }
    .mainContents .comparison .example img {
        width: 100%;
    }
    .mainContents .comparison .icon_type_01 {
        margin: 2.5vw 0 0;
        padding: 0 0 0 4vw;
        font-size: 3.3vw;
        line-height: 1.5;
        color: #888888;
    }
    .mainContents .comparison .icon_type_01:first-child {
        margin: 0;
    }
    .mainContents .comparison .icon_type_01::before {
        content: '※';
        margin: 0 0 0 -3vw;
    }
    .mainContents .comparison .img_only {
        margin: 0 0 7vw 0;
        text-align: center;
    }
    .mainContents .comparison .img_only p img {
        width: 100%;
    }
    .mainContents .comparison .img_only p:nth-child(1) img {
        width: 7vw;
    }
    .mainContents .comparison .btn_only .btnBox01 {
        text-align: center;
    }
    .mainContents .comparison .btn_only .btnBox01 .btn04 {
        margin: 0 0 5vw 0;
    }
    .mainContents .comparison .btn_only .btnBox01 .btn04 a {
        width: 80%;
        display: block;
        margin: 0 auto;
        padding: 3vw 0;
        font-size: 4vw;
        font-weight: bold;
        border: 1px solid #0099ff;
        border-radius: 50vw;
        background: #ffffff;
        color: #0099ff;
    }
    .mainContents .comparison .btn_only .btnBox01 .btn02 a {
        position: relative;
        font-size: 3.6vw;
        color: #000000;
    }
    .mainContents .comparison .btn_only .btnBox01 .btn02 a::after {
        content: '';
        position: absolute;
        top: 10%;
        right: -1.5vw;
        display: inline-block;
        width: 1.7vw;
        height: 1.7vw;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg) translate(0, -50%);
    }

    /* --- comparison --- */
    .mainContents .summary {
        padding: 0 3vw 8vw;
    }
    .mainContents .summary .arrow img {
        width: 100%;
    }
    .mainContents .summary .btnBox01 {
        text-align: center;
        margin: 8vw 0;
    }
    .mainContents .summary .btnBox01 p {
        margin: 0;
    }
    .mainContents .summary .btnBox01 .btn01 {
        margin: 0 0 5vw 0;
    }
    .mainContents .summary .btnBox01 .btn01 a {
        width: 80%;
        display: block;
        margin: 0 auto;
        padding: 3vw 0;
        font-size: 4vw;
        font-weight: bold;
        border-radius: 50vw;
        background: #fe295f;
        color: #ffffff;
    }
    .mainContents .summary .btnBox01 .btn03 {
        margin: 0 0 2.5vw 0;
        font-size: 3.6vw;
        font-weight: bold;
        color: #0099ff;
    }
    .mainContents .summary .btnBox01 .btn02 a {
        position: relative;
        font-size: 3.6vw;
        color: #000000;
    }
    .mainContents .summary .btnBox01 .btn02 a::after {
        content: '';
        position: absolute;
        top: 8%;
        right: -1.5vw;
        display: inline-block;
        width: 1.7vw;
        height: 1.7vw;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg) translate(0, -50%);
    }
    .mainContents .summary .select__tax {
        font-size: 3.4vw;
    }

    /* --- ch47 --- */
    .mainContents .ch47 {
        padding: 10vw 8vw 8vw;
    }
    .mainContents .ch47 h2.h2style::before {
        background: url(/special/select5/images/sp/icon_ttl02.png) 0 0 no-repeat;
        background-size: 100%;
    }
    .mainContents .ch47 .txt {
        font-size: 3.2vw;
        line-height: 1.7;
        text-align: center;
    }
    .mainContents .ch47 .comments {
        font-size: 3vw;
        line-height: 1.5;
    }
    .mainContents .ch47 .acBox {

    }
    .mainContents .ch47 .acBox .ac_border {
        margin-top: 1.5vw;
        border: 3px solid #e8e8e8;
    }
    .mainContents .ch47 .acBox .ac_border:first-child {
        margin-top: 0;
    }
    .mainContents .ch47 .acBox .ac_border dt {
        position: relative;
        padding: 2.2vw 4vw;
        font-size: 3.2vw;
        font-weight: bold;
        background: #ffffff;
        color: #888888;
        cursor: pointer;
    }
    .mainContents .ch47 .acBox .ac_border dt::before {
        content: '';
        position: absolute;
        top: 50%;
        right: 4vw;
        width: 4vw;
        height: 4vw;
        background: url(/special/select5/images/sp/icon_btn01.png) 0 0 no-repeat;
        background-size: 100% auto;
        transform: translate(0, -50%);
    }
    .mainContents .ch47 .acBox .ac_border dt span.ch_name {
        margin-right: 2vw;
        font-size: 3.6vw;
        color: #0099ff;
    }
    .mainContents .ch47 .acBox .ac_border dd {
        display: none;
        padding: 0 4vw;
        background: #ffffff;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox {
        border-top: 1px solid #0099ff;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail {
        position: relative;
        overflow: hidden;
        width: 100%;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail:not(:first-child) {
        border-top: 1px solid #e8e8e8;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 2.25vw;
        display: inline-block;
        width: 3.5vw;
        height: 3.5vw;
        margin-top: -2.25vw;
        border-top: 1px solid #0099ff;
        border-left: 1px solid #0099ff;
        transform: rotate(135deg);
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail a {
        position: relative;
        width: 100%;
        padding: 2vw 4vw 4vw 0;
        display: block;
        box-sizing: border-box;
        overflow: hidden;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail .img {
        float: left;
        width: 10vw;
        height: 10vw;
        margin-right: 2.5vw;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail .img img {
        width: 100%;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail .ttl {
        font-size: 3.2vw;
        font-weight: bold;
        overflow: hidden;
        color: #000000;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail div {
        overflow: hidden;
        clear: both;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail .ondemand {
        float: left;
        margin: 0 2.5vw 0 0;
        padding: 2vw 2vw 1.5vw;
        font-size: 2.2vw;
        border-radius: 2vw;
        background: #0099ff;
        color: #ffffff;
        box-sizing: border-box;
    }
    .mainContents .ch47 .acBox .ac_border dd .chbox .ch_detail .txt {
        margin: 0;
        text-align: left;
        font-size: 2.4vw;
        font-weight: bold;
        color: #000000;
    }

    /* --- watch_ch --- */
    .mainContents .watch_ch {
        padding: 10vw 0 8vw;
    }
    .mainContents .watch_ch h2.h2style::before {
        background: url(/special/select5/images/sp/icon_ttl03.png) 0 0 no-repeat;
        background-size: 100%;
    }
    .mainContents .watch_ch .txt {
        font-size: 3.2vw;
        line-height: 1.7;
        text-align: center;
    }
    .mainContents .watch_ch .chBox .carousel {
        margin: 0 !important;
    }
    .mainContents .watch_ch .chBox .carousel li {
        display: flex;
        justify-content: space-between;
        padding: 0 0.8vw;
    }
    .mainContents .watch_ch .chBox .carousel li > div {
        width: 49%;
    }
    .mainContents .watch_ch .chBox .carousel a {
        overflow: hidden;
        display: block;
        color: #000000;
        text-decoration: none;
    }
    .mainContents .watch_ch .chBox .carousel .img01 {
        display: flex;
        justify-content: center;
        align-items: center;
        background: #000000;
        height: 27vw;
    }
    .mainContents .watch_ch .chBox .carousel .img01 img {
        max-width: 100%;
        max-height: 100%;
    }
    .mainContents .watch_ch .chBox .carousel .img01.no_img img {
        max-width: 40%;
        height: auto;
        margin: 0 auto;
    }
    .mainContents .watch_ch .chBox .carousel .img02 {
        width: 9vw;
        height: 9vw;
        border: 1px solid #e8e8e8;
        box-sizing: border-box;
    }
    .mainContents .watch_ch .chBox .carousel .img02 img {
        width: 100%;
        height: auto;
    }
    .mainContents .watch_ch .chBox .carousel .ttl {
        height: 7.4vw;
        overflow: hidden;
        font-size: 3.2vw;
        line-height: 1.3;
    }
    .mainContents .watch_ch .chBox .carousel .slide-arrow {
        position: absolute;
        top: 50%;
        left: 0;
        margin-top: -9vw;
        width: 8%;
        height: auto;
        z-index: 999;
    }
    .mainContents .watch_ch .chBox .carousel .slide-arrow img {
        width: 100%;
    }
    .mainContents .watch_ch .chBox .carousel .slide-arrow.next-arrow {
        right: 0;
        left: auto;
    }
}