@charset "utf-8";

/*---------- 申込ボタン調整 ----------*/
.apply-button .newModel-except-none,
.apply-button .box-link-area {
    display: none !important;
}

/*---------- 共通 ----------*/

main p {
    font-size: 3.6vw;
    line-height: 1.6em;
}
@media screen and (min-width: 641px) {
    main p {
        font-size: 16px;
    }
}

/*---------- メイン ----------*/
.main h1 {
    position: relative;
    margin-top: 0;
    margin-bottom: 0;
}
.sr_text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    overflow: hidden;
}
@media screen and (min-width: 641px) {
    .main h1 {
        background: url(/campaign/device/img/motorola202507/main.png) center top no-repeat;
        height: 370px;
    }
}

/*---------- Moto AI搭載の新機種はコチラ！ ----------*/
.newModel {
    padding: 12vw 0;
    background: #cce8fc;
}
.newModel_inner {
    width: 90%;
    margin: auto;
    margin-top: 4vw;
    padding: 5vw 0 4vw;
    background: #fff;
}
.newModel-logo {
    width: 70vw;
}
.newModel-catch {
    font-size: 4vw;
    letter-spacing: 1vw;
    padding: 2vw 0;
}
.newModel-img {
    width: 60vw;
}
.mnp-text {
    font-size: 4vw;
}
.device-charge {
    display: grid;
    grid-template:
    "beforPprice salePeriod" 7vw
    "afterPrice afterPrice" auto /
    54vw auto
}
.befor-price {
    grid-area: beforPprice;
    margin-right: 6vw;
    color: #989897;
}
.inf-or-amount1 {
    display: block;
    font-size: 5vw;
    position: relative;
    margin-bottom: 0.2vw;
}
.inf-or-amount1::before {
    position: absolute;
    content: "";
    background-color: #ff005f;
    height: 1px;
    width: 21vw;
    transform: rotate(10deg);
    top: 3vw;
    left: -1vw
}
.inf-or-amount1::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2vw 2vw 0 2vw;
    border-color: #FF005F transparent transparent transparent;
    bottom: -1.5vw;
    left: 6vw;
}
.befor-price-yen {
    font-size: 3.5vw;
    margin-bottom: 1vw;
}
.sale-period {
    grid-area: salePeriod;
}
.sale-period div {
    line-height: 1;
    display: inline-block;
    background-color: #f0f0f0;
    padding: 1vw 3vw;
}
.sale-period-date {
    font-size: 4.5vw;
    margin-right: 0.5vw;
}
.after-price {
    grid-area: afterPrice;
}
.special-price {
    line-height: 1;
    height: 13vw;
    width: 13vw;
    background: linear-gradient(135deg, #e64d97, #e64d97 50%, #d6276b 50%, #d6276b 100%);
    border-radius: 100vh;
    margin-bottom: 1vw;
    margin-right: 1vw;
}
.special-price-inner {
    padding-top: 1vw;
    color: #ff0;
    font-style: italic;
    font-size: 2.2vw;
    letter-spacing: 0.2vw;
}
.after-price {
    color: #ff005f;
    padding-top: 2vw;
}
.inf-ctl-amount1 {
    line-height: 1;
    font-weight: bold;
    font-size: 14vw;
}
.special-price-yen {
    font-weight: bold;
    line-height: 1;
    font-size: 7vw;
    margin-bottom: 2vw;
}
.special-price-tax {
    text-align: center;
    line-height: 1;
    font-size: 2.5vw;
}
.newModel-logo-wrap,
.newModel-catch {
    text-align: center;
}
@media screen and (min-width: 641px) {
    .newModel {
        padding: 80px 0;
    }
    .newModel_inner {
        width: 960px;
        margin-top: 20px;
        padding: 20px 0;
    }
    .newModel .device-detail {
        width: 760px;
        margin: auto;
    }
    .newModel .device-detail .device-detail-list {
        padding: 24px 0;
    }
    .tab-switch > label {
        padding: 8px 0;
    }
    .tab-switch > label .fw-b {
        font-size: 24px;
        width: 400px;
    }
    .tab-arrow {
        border-width: 8px 10px 0 10px;
    }
    .tab-content {
        padding: 28px 40px;
    }
    .tab-content_inner {
        padding: 0;
    }
    .newModel-except-none {
        display: grid;
        grid-template:
        "img catch" 66px
        "img logo" 60px
        "img mnpText" 20px
        "img charge" auto /
        320px auto;
        /* column-gap: 60px; */
    }
    .newModel-catch {
        grid-area: catch;
        letter-spacing: 5px;
        padding: 30px 0 0 40px;
        text-align: left;
    }
    main .newModel-catch p {
        font-size: 20px;
    }
    .newModel-logo-wrap {
        grid-area: logo;
        padding-left: 40px;
        text-align: left;
    }
    .mnp-text {
        grid-area: mnpText;
        font-size: 15px;
        letter-spacing: 3px;
        padding-left: 40px;
    }
    .device-charge {
        grid-area: charge;
    }
    .newModel-img-wrap {
        grid-area: img;
    }
    .newModel-img {
        width: 300px;
    }
    .newModel-logo {
        width: 380px;
    }
    .device-charge {
        grid-template:
        "beforPprice salePeriod" 40px
        "afterPrice afterPrice" 90px /
        170px auto
    }
    .inf-or-amount1 {
        font-size: 26px;
        margin-bottom: 0;
    }
    .inf-or-amount1::before {
        width: 105px;
        top: 16px;
        left: -4px;
    }
    .inf-or-amount1::after {
        border-width: 9px 9px 0 9px;
        bottom: -7px;
        left: 35px;
    }
    .befor-price {
        margin-right: 24px;
    }
    .befor-price-yen {
        font-size: 18px;
        margin-bottom: 4px;
    }
    .sale-period {
        margin-right: 50px;
        text-align: right;
    }
    .sale-period div {
        padding: 5px 17px;
        font-size: 20px;
        letter-spacing: 1px;
        margin-top: 5px;
    }
    .sale-period-date {
        font-size: 22px;
        margin-right: 0;
    }
    .special-price {
        height: 60px;
        width: 60px;
        margin-bottom: 8px;
        margin-right: 3px;
    }
    .special-price-inner {
        padding-top: 5px;
        font-size: 10px;
        letter-spacing: 1px;
        line-height: 1.2;
    }
    .after-price {
        padding-top: 10px;
    }
    .inf-ctl-amount1 {
        font-size: 74px;
    }
    .special-price-yen {
        font-size: 40px;
        margin-bottom: 10px;
    }
    .special-price-tax {
        font-size: 13px;
    }
    .newModel .deviceItem-apt-btn,
    .newModel .deviceItem-apt-btn2 {
        margin-top: 20px;
    }
}
@media screen and (max-width: 640px) {
    .tab-arrow {
        /* display: block; */
        margin: auto;
        margin-top: 0.5vw;
    }
    .device-detail .device-detail-payment .-flex-2col {
        width: 100%;
    }
    .device-detail .device-detail-payment {
        margin-top: 0;
    }
    .device-detail .device-detail-list {
        padding: 0;
    }
    .mnp-text {
        text-align: center;
        padding-bottom: 2vw;
    }
    .newModel-logo-wrap {
        margin-bottom: 3vw;
    }
    .newModel-img-wrap {
        text-align: center;
    }
    .newModel .deviceItem-apt-btn,
    .newModel .deviceItem-apt-btn2 {
        width: 70vw;
        margin-top: 0;
    }
}

/*---------- motorola ----------*/
.company {
    margin: 12vw auto;
}
.company .gray_box {
    box-sizing: border-box;
    width: 90%;
    margin: 2rem auto;
    padding: 4vw;
    border: 1px solid #333;
}
.company .gray_box img {
    margin-bottom: 1rem;
    width: 50vw;
}

@media screen and (min-width: 641px) {
    .company {
        margin: 80px auto;
    }
    .company .gray_box {
        width: 960px;
        padding: 3rem;
    }
    .company .gray_box img {
        width: 250px;
    }
}