@charset "utf-8";

/***
* common parts 
**************************************/
.c-btn.icon-right-arrow:after {
    position: absolute;
    top: 50%;
    right: calc(var(--winW) * 20);
    margin-top: -.5em;
    font-size: 0.8em;
    transform: translate(0);
    transition: transform .3s ease-in-out;
}
.c-btn.mg-top {
    margin-top: calc(var(--winW) * 60);
}
.c-btn-gray {
    margin: 0 auto;
    display: flex;
    width: calc(var(--winW) * 280);
    height: calc(var(--winW) * 38);
    font-size: calc(var(--winW) * 14);
    letter-spacing: 0;
    position: relative;
    background-color: #EFEFEF;
    justify-content: center;
    align-items: center;
    transition: color .3s ease-in-out;
}
.c-btn-gray.icon-right-arrow:after {
    color: #C3002F;
}
.c-btn-gray:hover {
    color: #C3002F;
}
.c-btn-gray:hover.icon-right-arrow:after {
    transform: translateX(calc(var(--winW) * 5));
}
.c-btn-red {
    margin: 0 auto;
    display: flex;
    width: calc(var(--winW) * 327);
    height: calc(var(--winW) * 38);
    font-size: calc(var(--winW) * 14);
    letter-spacing: 0;
    position: relative;
    background-color: #C3002F;
    color: #fff;
    justify-content: center;
    align-items: center;
    transition: color .3s ease-in-out;
}
.c-btn-red.icon-right-arrow:after {
    color: #fff;
}
.c-btn-red:hover {
    background-color: #920023;
}
.c-btn-red:hover.icon-right-arrow:after {
    transform: translateX(calc(var(--winW) * 5));
}
.title-common {
    font-size: calc(var(--winW) * 24);
    line-height: 1.5;
    position: relative;
}
@media screen and (min-width: 769px) {
    .title-common {
        font-size: calc(var(--winW) * 34);
    }
}
.title-common::before {
    content: '';
    display: block;
    width: calc(var(--winW) * 50);
    height: calc(var(--winW) * 4);
    background-color: #C3002F;
    position: absolute;
    left: 0;
    top: calc(var(--winW) * -12);
}
.admission-btn {
    display: flex;
    flex-direction: column;
    height: calc(var(--winW) * 78);
    row-gap: 0.3em;
}
@media screen and (min-width: 769px) {
    .admission-btn {
        width: calc(var(--winW) * 347);
        height: calc(var(--winW) * 78);
        font-size: calc(var(--winW) * 16);
    }
}
.admission-btn .text-big {
    font-size: 1.4em;
    letter-spacing: 0.2em;
}
.admission-btn.mg-top {
    margin-top: calc(var(--winW) * 36);
}
.admission-btn.mg-bottom {
    margin-bottom: calc(var(--winW) * 88);
}

.menu-element {
    display: inline-block;
}

.menu-element .pull-menu::after {
    content: "\e66c";
    font-family: icon-Nissan-Global;
    speak: none;
    font-weight: 400;
    line-height: 1;
    font-size: calc(var(--winW) * 11);
    color: #c3002f;
    position: absolute;
    top: 37%;
    right: 8%;
}
.menu-element.menu-open .pull-menu::after {
    content: "\e609";
    font-family: icon-Nissan-Global;
    color: #323232;
}
.menu-open .info-links {
    display: block;
}
.info-links {
    display: none;
    background-color: #2a2a2a;
    z-index: 10;
    width: calc(var(--winW) * 280);
    position: absolute;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
}
.info-links span {
    display: block;
    position: relative;
    border-bottom: 1px solid #1a1a1a;
}
.info-links span a {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: calc(var(--winW) * 18) calc(var(--winW) * 36);
    font-size: calc(var(--winW) * 14);
    text-align: left;
    min-height: auto;
}
.info-links span a:after{
    font-family: icon-Nissan-Global;
    speak: none;
    font-style: normal;
    font-weight: 400;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    font-size: calc(var(--winW) * 11);
    content: "";
    color: #c3002f;
    right:  calc(var(--winW) * 16);
    top: 50%;
    margin-top: -0.5em;
    position: absolute;
    font-variant: normal;
    overflow: hidden;
}


/***
* main 
**************************************/
.kv-main {
    padding-top: calc(var(--winW) * 6);
    text-align: center;
    letter-spacing: 0.04em;
}
@media screen and (min-width: 769px) {
    .kv-main {
        padding-top: calc(var(--winW) * 38);
    }
}
.kv-main sup {
    font-size: 80%;
    vertical-align: top;
}
.kv-main .title {
    font-size: calc(var(--winW) * 32);
    line-height: 1.5;
}
@media screen and (min-width: 769px) {
    .kv-main .title {
        font-size: calc(var(--winW) * 40);
        line-height: 1.8;
    }
}
.kv-main .section-text {
    font-size: calc(var(--winW) * 12);
    line-height: 1.8;
    margin-top: calc(var(--winW) * 16);
}
@media screen and (min-width: 769px) {
    .kv-main .section-text {
        font-size: calc(var(--winW) * 18);
        margin-top: calc(var(--winW) * 24);
    }
}
.kv-main .section-text-note {
    font-size: calc(var(--winW) * 10);
    margin-top: calc(var(--winW) * 8);
}
.kv-main .car-img {
    width: 100%;
    margin-top: calc(var(--winW) * 6);
}
@media screen and (min-width: 769px) {
    .kv-main .car-img {
        width: calc(var(--winW) * 864);
        margin: 0 auto;
        margin-top: calc(var(--winW) * 16);
    }
}
.gradation-box {
    width: 100%;
    margin-top: calc(var(--winW) * 8);
    padding-bottom: calc(var(--winW) * 12);
    background: linear-gradient(#ffffff, #EFEFEF 80%);
}
@media screen and (min-width: 769px) {
    .gradation-box {
        margin-top: 0;
        padding-bottom: 0;
    }
}
.model-text {
    font-size: calc(var(--winW) * 12);
    letter-spacing: 0.04em;
    margin-bottom: calc(var(--winW) * 34);
}
@media screen and (min-width: 769px) {
    .model-text {
        font-size: calc(var(--winW) * 18);
        margin-bottom: calc(var(--winW) * 26);
    }
}
.card-title {
    display: block;
    text-align: left;
    margin: 0 auto;
    margin-top: calc(var(--winW) * 75);
    width: calc(var(--winW) * 327);
    font-size: calc(var(--winW) * 24);
    line-height: 1.5;
}
@media screen and (min-width: 769px) {
    .card-title {
        text-align: center;
        margin: 0 auto;
        margin-top: calc(var(--winW) * 123);
        width: calc(var(--winW) * 864);
        font-size: calc(var(--winW) * 28);
    }
}
/***
* card swiper contents 
**************************************/
.gray-background {
    background-color: #EFEFEF;
    padding-top: calc(var(--winW) * 48);
    padding-bottom: calc(var(--winW) * 72);
}
@media screen and (min-width: 769px) {
    .gray-background {
        padding-top: calc(var(--winW) * 64);
        padding-bottom: calc(var(--winW) * 96);
    }
}
.card-parent {
    position: relative;
    margin-bottom: calc(var(--winW) * 213);
}
@media screen and (min-width: 769px) {
    .card-parent {
        width:  calc(var(--winW) * 1000);
        margin: 0 auto;
        margin-bottom: calc(var(--winW) * 176);
    }
}
.card-parent .card-item {
    width: calc(var(--winW) * 310);
    height: calc(var(--winW) * 551);
    border-radius: calc(var(--winW) * 24);
    padding: calc(var(--winW) * 16);
    display: flex;
    flex-direction: column;
    background-color: #fff;
    margin: 0 auto;
}
.card-parent .card-item .title {
    font-size: calc(var(--winW) * 14);
    color: #019BDB;
    font-weight: bold;
    line-height: 1.2;
}
.card-parent .card-item .title small {
    font-size: calc(var(--winW) * 12);
}
.card-parent .card-item .main-text {
    font-size: calc(var(--winW) * 18);
    margin-top: calc(var(--winW) * 8);
    letter-spacing: 0.04em;
    line-height: 1.5;
}
.card-parent .card-item .detail-text {
    font-size: calc(var(--winW) * 14);
    margin-top: calc(var(--winW) * 8);
    line-height: 1.8;
}
.card-parent .card-item .note-text {
    font-size: calc(var(--winW) * 10);
    line-height: 1.5;
}
.card-parent .card-item .main-img {
    flex-grow: 1;
    display: flex;
    width: calc(var(--winW) * 240);
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}
.card-parent .card-item .link-detail {
    display: flex;
    width: calc(var(--winW) * 110);
    height: calc(var(--winW) * 22);
    font-size: calc(var(--winW) * 12);
    margin-left: auto;
    align-items: center;
    position: relative;
}
.card-parent .card-item .link-detail.icon-right-arrow:after {
    position: absolute;
    top: 50%;
    right: calc(var(--winW) * 10);
    margin-top: -.3em;
    font-size: 0.8em;
    transform: translate(0);
    transition: transform .3s ease-in-out;
}
.card-parent .card-item .link-detail.icon-right-arrow:after {
    color: #C3002F;
}
.card-parent .card-item .link-detail:hover {
    color: #C3002F;
}
.card-parent .card-item .link-detail:hover.icon-right-arrow:after {
    transform: translateX(calc(var(--winW) * 5));
}
.card-parent .swiper-button-prev,
.card-parent .swiper-button-next {
    background-color: rgba(0,0,0,0.25);
    border-radius: 50%;
    width: calc(var(--winW) * 36);
    height: calc(var(--winW) * 36);
}
@media screen and (min-width: 769px) {
    .card-parent .swiper-button-prev,
    .card-parent .swiper-button-next {
        width: calc(var(--winW) * 64);
        height: calc(var(--winW) * 64);
    }
    .card-parent .swiper-button-prev {
        left: calc(var(--winW) * -8);
    }
    .card-parent .swiper-button-next {
        right: calc(var(--winW) * -8);
    }
}
.card-parent .swiper-button-prev:after {
    font-family: "icon-Nissan-Global";
    content: "\e622";
    font-size: calc(var(--winW) * 18);
    color: #fff;
    left: calc(var(--winW) * -1);
    position: relative;
}
@media screen and (min-width: 769px) {
    .card-parent .swiper-button-prev:after {
        font-size: calc(var(--winW) * 32);
        left: calc(var(--winW) * -1);
    }
}
.card-parent .swiper-button-next:after {
    font-family: "icon-Nissan-Global";
    content: "\e634";
    font-size: calc(var(--winW) * 18);
    color: #fff;
    right: calc(var(--winW) * -1);
    position: relative;
}
@media screen and (min-width: 769px) {
    .card-parent .swiper-button-next:after {
        font-size: calc(var(--winW) * 32);
        right: calc(var(--winW) * -1);
    }
}
.card-parent .swiper-pagination-bullet {
    width: calc(var(--winW) * 47);
    height: calc(var(--winW) * 2);
    border-radius: 0;
    background: #000;
    opacity: 0.3;
}
@media screen and (min-width: 769px) {
    .card-parent .swiper-pagination-bullet {
        width: calc(var(--winW) * 60);
    }
}
.card-parent .swiper-pagination-bullet-active {
    background: #000;
    opacity: 1;
}
.card-parent .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: calc(var(--winW) * -48);
}
@media screen and (min-width: 769px) {
    .card-parent .swiper-pagination-bullets.swiper-pagination-horizontal {
        bottom: calc(var(--winW) * -46);
    }
}
/***
* user voice contents 
**************************************/
.uservoice > .title {
    display: block;
    text-align: left;
    margin: 0 auto;
    width: calc(var(--winW) * 327);
    font-size: calc(var(--winW) * 24);
    line-height: 1.5;
}
@media screen and (min-width: 769px) {
    .uservoice > .title {
        text-align: center;
        margin: 0 auto;
        width: calc(var(--winW) * 864);
        font-size: calc(var(--winW) * 24);
    }
}
.uservoice .contents {
    margin-top: calc(var(--winW) * 48);
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--winW) * 36);
}
@media screen and (min-width: 769px) {
    .uservoice .contents {
        width: calc(var(--winW) * 918);
        margin: 0 auto;
        margin-top: calc(var(--winW) * 48);
        flex-direction: row;
        column-gap: calc(var(--winW) * 24);
        justify-content: center;
    }
}
.uservoice .contents .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: calc(var(--winW) * 34);
}
@media screen and (min-width: 769px) {
    .uservoice .contents .item {
        row-gap: calc(var(--winW) * 23);
    }
}
.uservoice .speech-balloon {
    width: calc(var(--winW) * 327);
    padding-top: calc(var(--winW) * 16);
    padding-right: calc(var(--winW) * 16);
    padding-bottom: calc(var(--winW) * 16);
    padding-left: calc(var(--winW) * 16);
    position: relative;
    background-color: #fff;
    border-radius: calc(var(--winW) * 12);
}
@media screen and (min-width: 769px) {
    .uservoice .speech-balloon {
        flex-grow: 1;
        width: calc(var(--winW) * 290);
        padding-top: calc(var(--winW) * 16);
        padding-right: calc(var(--winW) * 16);
        padding-bottom: calc(var(--winW) * 16);
        padding-left: calc(var(--winW) * 16);
    }
}
.uservoice .speech-balloon::after {
    content: '';
    display: block;
    width: calc(var(--winW) * 24);
    height: calc(var(--winW) * 24);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: #fff;
    position: absolute;
    bottom: calc(var(--winW) * -18);
    left: 0;
    right: 0;
    margin: auto;
}
@media screen and (min-width: 769px) {
    .uservoice .speech-balloon::after {
        width: calc(var(--winW) * 23);
        height: calc(var(--winW) * 23);
        bottom: calc(var(--winW) * -18);
    }
}
.uservoice .speech-balloon .msg {
    font-size: calc(var(--winW) * 14);
    letter-spacing: 0.04em;
    line-height: 1.5;
    text-align: justify;
}
.uservoice .speech-balloon .msg .small {
    font-size: 0.857em;
}
.uservoice .character-img{
    width: calc(var(--winW) * 80);
}
.uservoice .speech-balloon .title {
    font-size: calc(var(--winW) * 14);
    letter-spacing: 0.04em;
    line-height: 1.5;
    color: #019BDB;
}
/***
* PP2 contents 
**************************************/
.PP2-inner {
    width: calc(var(--winW) * 327);
    margin: 0 auto;
    padding-top: calc(var(--winW) * 64);
    padding-bottom: calc(var(--winW) * 136);
}
@media screen and (min-width: 769px) {
    .PP2-inner {
        width: calc(var(--winW) * 670);
        padding-top: calc(var(--winW) * 128);
        padding-bottom: calc(var(--winW) * 138);
    }
}
.PP2-inner .title {
    font-size: calc(var(--winW) * 19);
    line-height: 1.5;
}
@media screen and (min-width: 769px) {
    .PP2-inner .title {
        font-size: calc(var(--winW) * 24);
        line-height: 1.8;
        text-align: center;
    }
}
.PP2-inner .title small {
    font-size: 0.8em;
}
.PP2-inner .title .color-blue {
    color: #019BDB;
}
.PP2-inner .main-img {
    margin-top: calc(var(--winW) * 48);
    margin-bottom: calc(var(--winW) * 35);
    width: 100%;
    border-radius: calc(var(--winW) * 12);
    overflow: hidden;
}
@media screen and (min-width: 769px) {
    .PP2-inner .main-img {
        margin-bottom: calc(var(--winW) * 48);
        border-radius: calc(var(--winW) * 24);
    }
}
/***
* SERVICE LIST title 
**************************************/
.servicelist-inner {
    padding-bottom: calc(var(--winW) * 81);
}
@media screen and (min-width: 769px) {
    .servicelist-inner {
        padding-bottom: calc(var(--winW) * 144);
    }
}
.servicelist-inner .title-wrap {
    width: calc(var(--winW) * 327);
    margin: 0 auto;
}
@media screen and (min-width: 769px) {
    .servicelist-inner .title-wrap {
        width: calc(var(--winW) * 960);
    }
}
@media screen and (min-width: 1024px) {
    .servicelist-inner .title-wrap {
        width:93.75vw;
        max-width: 1170px;
    }
}
.servicelist-inner .title-wrap .model {
    margin-top: calc(var(--winW) * 8);
    font-size: calc(var(--winW) * 12);
    letter-spacing: 0.04em;
    line-height: 1.5;
}
.servicelist-inner .title-wrap .info {
    margin-top: calc(var(--winW) * 48);
    font-size: calc(var(--winW) * 14);
    letter-spacing: 0.04em;
    line-height: 1.92;
}
@media screen and (min-width: 769px) {
    .servicelist-inner .title-wrap .info {
        line-height: 1.5;
    }
}
.note-text-wrap {
    margin: 0 auto;
    margin-top: calc(var(--winW) * 16);
    width: calc(var(--winW) * 334);
    font-size: calc(var(--winW) * 12);
    letter-spacing: 0.04em;
    line-height: 1.5;
    text-indent: -1.5em;
    padding-left: 1.5em;
}
@media screen and (min-width: 769px) {
    .note-text-wrap {
        width: 93.75vw;
        max-width: 1170px;
    }
}
 .note-text-wrap.page-bottom {
    text-indent: 0;
    padding-left: 0;
}

/***
* SERVICE LIST CT swiper 
**************************************/
.servicelist-contens {
    padding-top: calc(var(--winW) * 30);
}
.servicelist-contens > .title {
    margin: 0 auto;
    margin-top: calc(var(--winW) * 30);
    width: calc(var(--winW) * 334);
    font-size: calc(var(--winW) * 18);
}
@media screen and (min-width: 769px) {
    .servicelist-contens > .title {
        width: calc(var(--winW) * 960);
    }
}
@media screen and (min-width: 1024px) {
    .servicelist-contens > .title {
        width:93.75vw;
        max-width: 1170px;
    }
}

.servicelist-contens .ct-wrap {
    margin-top: calc(var(--winW) * 20);
    background-color: #EFEFEF;
}
@media screen and (min-width: 769px) {
    .servicelist-contens .ct-wrap {
        width: calc(var(--winW) * 960);
        margin: 0 auto;
        margin-top: calc(var(--winW) * 20);
    }
}
@media screen and (min-width: 1024px) {
    .servicelist-contens .ct-wrap {
        width:93.75vw;
        max-width: 1170px;
    }
}
.servicelist-contens .ct-wrap .ct-parent {
    position: relative;
    padding-top: calc(var(--winW) * 18);
    padding-bottom: calc(var(--winW) * 28);
}
@media screen and (min-width: 769px) {
    .servicelist-contens .ct-wrap .ct-parent {
        width: calc(var(--winW) * 820);
        margin: 0 auto;
    }
}
@media screen and (min-width: 1024px) {
    .servicelist-contens .ct-wrap .ct-parent {
        width:80.078vw;
        max-width: 999px;
    }
}
.servicelist-contens .ct-wrap .ct-parent .ct-swiper {
    padding-left: calc(var(--winW) * 52);
}
@media screen and (min-width: 769px) {
    .servicelist-contens .ct-wrap .ct-parent .ct-swiper {
        padding-left: 0;
    }
}
.servicelist-contens .ct-wrap .ct-parent .ct-item {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    height: calc(var(--winW) * 320);
}
@media screen and (min-width: 1024px) {
    .servicelist-contens .ct-wrap .ct-parent .ct-item {
        height : 31.25vw;
        max-height: 354px;
    }
}

.servicelist-contens .ct-wrap .ct-parent .ct-item .text-wrap {
    margin-top: calc(var(--winW) * 20);
    line-height: 1.5;
    flex-grow: 1;
    color: #343434;
}
.ct-parent .ct-item .text-wrap .title {
    font-size: calc(var(--winW) * 15);
}
.ct-parent .ct-item .text-wrap .detail-text {
    font-size: calc(var(--winW) * 14);
    margin-top: calc(var(--winW) * 4);
}
.ct-parent .ct-item .link-detail {
    font-size: calc(var(--winW) * 14);
    display: flex;
    width: calc(var(--winW) * 134);
    height: calc(var(--winW) * 22);
    font-size: calc(var(--winW) * 15);
    align-items: center;
    position: relative;
    color: #343434;
}
.ct-parent .ct-item .link-detail.icon-right-arrow:after {
    position: absolute;
    top: 50%;
    right: calc(var(--winW) * 10);
    margin-top: -.3em;
    font-size: 0.8em;
    transform: translate(0);
    transition: transform .3s ease-in-out;
}
.ct-parent .ct-item .link-detail.icon-right-arrow:after {
    color: #C3002F;
}
.ct-parent .ct-item .link-detail:hover {
    color: #C3002F;
}
.ct-parent .ct-item .link-detail:hover.icon-right-arrow:after {
    transform: translateX(calc(var(--winW) * 5));
}
.ct-parent .swiper-pagination {
    display: none;
}
@media screen and (min-width: 769px) {
    .ct-parent .swiper-pagination {
        display: block;
        bottom: calc(var(--winW) * -30);
    }
    .ct-parent .swiper-pagination .swiper-pagination-bullet-active {
        background-color: #C3002F;
    }
}
.ct-parent .swiper-button-prev {
    display: none;
}
.ct-parent .swiper-button-next {
    display: none;
}
@media screen and (min-width: 769px) {
    .ct-parent .swiper-button-prev,
    .ct-parent .swiper-button-next {
        display: flex;
        width: calc(var(--winW) * 28);
        height: calc(var(--winW) * 164);
        top: 0;
        bottom: 0;
        margin-top: auto;
        margin-bottom: auto;
        align-items: center;
        background-color: #fff;
        transition: background-color 0.3s;
    }
    .ct-parent .swiper-button-prev {
        left: calc(var(--winW) * -49);
    }
    .ct-parent .swiper-button-next {
        right: calc(var(--winW) * -49);
    }
    .ct-parent .swiper-button-prev:hover,
    .ct-parent .swiper-button-next:hover {
        background-color: #c3002f;
    }
    .ct-parent .swiper-button-prev::after,
    .ct-parent .swiper-button-next::after {
        font-family: "icon-Nissan-Global";
        font-size: calc(var(--winW) * 18);
        color: #666;
        transition: color 0.3s;
    }
    .ct-parent .swiper-button-prev::after {
        content: "\e622";
    }
    .ct-parent .swiper-button-next::after {
        content: "\e634";
    }
    .ct-parent .swiper-button-prev:hover::after,
    .ct-parent .swiper-button-next:hover::after {
        color: #fff;
    }
}
/***
* Prise plan 
**************************************/
.price-plan-inner {
    padding-bottom: calc(var(--winW) * 48);
}
@media screen and (min-width: 769px) {
    .price-plan-inner {
        padding-bottom: calc(var(--winW) * 128);
    }
}
.price-plan-inner .title-wrap {
    width: calc(var(--winW) * 327);
    margin: 0 auto;
}
@media screen and (min-width: 769px) {
    .price-plan-inner .title-wrap {
        width: calc(var(--winW) * 960);
    }
}
@media screen and (min-width: 1024px) {
    .price-plan-inner .title-wrap {
        width:93.75vw;
        max-width: 1170px;
    }
}
.price-plan-inner .contents {
    margin-top: calc(var(--winW) * 48);
}
.price-plan-inner .price-wrap {
    width: calc(var(--winW) * 327);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: calc(var(--winW) * 16);
}
@media screen and (min-width: 769px) {
    .price-plan-inner .price-wrap {
        width: calc(var(--winW) * 960);
        flex-direction: row;
        column-gap: calc(var(--winW) * 38);
        align-items: start;
    }
}
@media screen and (min-width: 1024px) {
    .price-plan-inner .price-wrap {
        width:93.75vw;
        max-width: 1170px;
    }
}
.price-item {
    width: 100%;
}
@media screen and (min-width: 769px) {
    .price-item:nth-of-type(1) {
        width: calc(var(--winW) * 518);
    }
    .price-item:nth-of-type(3) {
        width: calc(var(--winW) * 318);
    }

}
@media screen and (min-width: 1024px) {
    .price-item:nth-of-type(1) {
        width:50.82vw;
        max-width: 628px;
    }
    .price-item:nth-of-type(3) {
        width:30.82vw;
        max-width: 423px;
    }

}
.price-item .price-plan-box {
    width: 100%;
    background-color: #C3002F;
    color: #fff;
    text-align: center;
    height: calc(var(--winW) * 180);
    display: flex;
    flex-direction: column;
    justify-content: center;
    letter-spacing: 0.04em;
    font-size: calc(var(--winW) * 16);
    margin-bottom: calc(var(--winW) * 8);
}
@media screen and (min-width: 769px) {
    .price-item .price-plan-box {
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: calc(var(--winW) * 230);
    }
}
@media screen and (min-width: 1024px) {
    .price-item .price-plan-box {
        height: 22.461vw;
        max-height: 266px;
    }
}
.price-item .price-plan-box .price-plan-text .price-value {
    font-size: calc(var(--winW) * 31);
}
.price-item .price-plan-box .price-plan-text .unit {
    font-size: calc(var(--winW) * 24);
    padding-left: calc(var(--winW) * 2);
}
.price-item .price-plan-box .price-plan-text .price-sup {
    font-size: 1em;
    vertical-align: super;
    display: inline-flex;
    vertical-align: bottom;
}
.price-item .price-plan-box .price-plan-text .price-sup .num {
    font-size: 0.6em;
}
.price-item .price-plan-box .price-plan-separator {
    margin: calc(var(--winW) * 20) 0;
}
.price-item .price-plan-box .price-plan-cta{
    margin-top: calc(var(--winW) * 14);
}
.price-item .price-wifi-box {
    width: 100%;
    padding: calc(var(--winW) * 13) 0;
    background-color: #EFEFEF;
    margin-bottom: calc(var(--winW) * 8);
}
@media screen and (min-width: 769px) {
    .price-item .price-wifi-box {
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: calc(var(--winW) * 230);
    }
}
@media screen and (min-width: 1024px) {
    .price-item .price-wifi-box {
        height: 22.461vw;
        max-height: 266px;
    }
}
.price-item .price-wifi-box .price-wifi-title {
    font-size: calc(var(--winW) * 16);
    text-align: center;
    line-height: 1.125;
}
.price-item .price-wifi-box .price-wifi-title .small {
    font-size: calc(var(--winW) * 13.9);
}
.price-item .price-wifi-box .price-wifi-list {
    margin: 0 auto;
    margin-top: calc(var(--winW) * 11);
    width: calc(var(--winW) * 300);
}
@media screen and (min-width: 769px) {
    .price-item .price-wifi-box .price-wifi-list {
        margin-top: calc(var(--winW) * 26);
        width: 90%;
    }
}
.price-item .price-wifi-box .price-wifi-list .price-wifi-list-title {
    text-align: center;
    background-color: #8A8A8A;
    color: #fff;
    font-size: calc(var(--winW) * 14);
    padding-top: calc(var(--winW) * 9);
    padding-bottom: calc(var(--winW) * 6);
}
.price-item .price-wifi-box .price-wifi-list .price-wifi-list-main {
    background-color: #fff;
    padding-top: calc(var(--winW) * 20);
    padding-left: calc(var(--winW) * 50);
    padding-bottom: calc(var(--winW) * 20);
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--winW) * 18);
}
@media screen and (min-width: 769px) {
    .price-item .price-wifi-box .price-wifi-list .price-wifi-list-main {
        row-gap: calc(var(--winW) * 14);
        padding-left: 0;
        align-items: center;
    }
}
.price-item .price-wifi-box .price-wifi-list .price-wifi-list-main .item {
    font-size: calc(var(--winW) * 14);
}
@media screen and (min-width: 769px) {
    .price-item .price-wifi-box .price-wifi-list .price-wifi-list-main .item {
        width: calc(var(--winW) * 196);
    }
}
.price-item .price-wifi-box .price-wifi-list .price-wifi-list-main .item .price-value {
    font-size: calc(var(--winW) * 21);
}.price-item .price-wifi-box .price-wifi-list .price-wifi-list-main .item .unit {
    font-size: calc(var(--winW) * 16);
}
.price-wrap .plus-mark {
    font-size: calc(var(--winW) * 48);
}
@media screen and (min-width: 769px) {
    .price-wrap .plus-mark {
        margin-top: calc(var(--winW) * 86);
    }
}
@media screen and (min-width: 1024px) {
    .price-wrap .plus-mark {
        margin-top: 8.398vw;
    }
}
@media screen and (min-width: 1200px) {
    .price-wrap .plus-mark {
        margin-top: 100px;
    }
}
.price-item .note-text {
    font-size: calc(var(--winW) * 12);
    letter-spacing: 0.04em;
    line-height: 1.5;
}
@media screen and (min-width: 1100px) {
    .price-item .note-text br.pc-none {
        display: none;
    }
}
.price-item .note-text sup {
    font-size: 80%;
    vertical-align: baseline;
}
.price-item .link-external {
    font-size: calc(var(--winW) * 12);
    letter-spacing: 0.04em;
    line-height: 1.5;
}
.great-value {
    margin: 0 auto;
    margin-top: calc(var(--winW) * 80);
    width: calc(var(--winW) * 327);
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--winW) * 16);
}
@media screen and (min-width: 769px) {
    .great-value {
        margin-top: calc(var(--winW) * 96);
        width: calc(var(--winW) * 960);
        row-gap: calc(var(--winW) * 24);
    }
}
@media screen and (min-width: 1024px) {
    .great-value {
        width: 93.75vw;
        max-width: 1170px;
    }
}
.great-value .title {
    font-size: calc(var(--winW) * 18);
    line-height: 1.5;
}
@media screen and (min-width: 769px) {
    .great-value .title {
        font-size: calc(var(--winW) * 24);
    }
}
.great-value .detail {
    font-size: calc(var(--winW) * 14);
    line-height: 1.5;
}
.great-value .list-wrap {
    width: 100%;
    padding: calc(var(--winW) * 16) calc(var(--winW) * 13.5);
    font-size: calc(var(--winW) * 12);
    line-height: 1.5;
    background-color: #EFEFEF;
}
@media screen and (min-width: 769px) {
    .great-value .list-wrap {
        padding: calc(var(--winW) * 16) calc(var(--winW) * 14);
    }
}
.great-value .list-wrap .note {
    margin-top: calc(var(--winW) * 18);
}
.campaign-wifi {
    margin: 0 auto;
    margin-top: calc(var(--winW) * 80);
    width: calc(var(--winW) * 327);
    background-color: rgba(195,0,47,0.1);
    padding: calc(var(--winW) * 16);
}
@media screen and (min-width: 769px) {
    .campaign-wifi {
        width: 93.75vw;
        max-width: 1170px;
        padding: calc(var(--winW) * 24);
    }
}
.campaign-wifi .title {
    text-align: center;
    font-size: calc(var(--winW) * 20);
    letter-spacing: 0.04em;
    line-height: 1.4;
}
@media screen and (min-width: 769px) {
    .campaign-wifi .title {
        font-size: calc(var(--winW) * 24);
        text-align: left;
    }
}
.campaign-wifi .detail {
    margin-top: calc(var(--winW) * 20);
    font-size: calc(var(--winW) * 14);
    letter-spacing: 0.08em;
    line-height: 1.8;
    word-break: break-all;
}
@media screen and (min-width: 769px) {
    .campaign-wifi .detail {
        font-size: calc(var(--winW) * 16);
    }
}
.campaign-wifi .link-detail {
    display: flex;
    width: calc(var(--winW) * 110);
    height: calc(var(--winW) * 22);
    font-size: calc(var(--winW) * 12);
    margin-left: auto;
    align-items: center;
    position: relative;
    margin-top: calc(var(--winW) * 28);
}
@media screen and (min-width: 769px) {
    .campaign-wifi .link-detail {
        width: calc(var(--winW) * 134);
        height: calc(var(--winW) * 22);
        font-size: calc(var(--winW) * 15);
        align-items: center;
        position: relative;
    }
}
.campaign-wifi .link-detail::after {
    color: #C3002F;
    position: absolute;
    top: 50%;
    right: calc(var(--winW) * 10);
    margin-top: -.3em;
    font-size: 0.8em;
    transform: translate(0);
    transition: transform .3s ease-in-out;
}
.campaign-wifi .link-detail:hover {
    color: #C3002F;
}
.campaign-wifi .link-detail:hover.icon-right-arrow:after {
    transform: translateX(calc(var(--winW) * 5));
}
.campaign-wifi-note-text {
    margin: 0 auto;
    margin-top: calc(var(--winW) * 15);
    width: calc(var(--winW) * 327);
    font-size: calc(var(--winW) * 12);
    letter-spacing: 0.04em;
    line-height: 1.6;
}
@media screen and (min-width: 769px) {
    .campaign-wifi-note-text {
        width: 93.75vw;
        max-width: 1170px;
        margin-top: calc(var(--winW) * 8);
    }
}

.plan_table {
	width:100%;
    margin-bottom: calc(var(--winW) * 8);
}
.plan_table td {
	width:33.333%;
	padding: calc(var(--winW) * 6);
	font-size: calc(var(--winW) * 11);
	text-align:center;
    border: calc(var(--winW) * 1) solid #fff;
    line-height: 1.3;
}
@media screen and (min-width: 769px) {
    .plan_table td {
        font-size: calc(var(--winW) * 16);
    }
}

.plan_table .plan01-1 {
	background:#858585;
	color:#fff;
	font-size:calc(var(--winW) * 12);
	height:calc(var(--winW) * 60);
}
@media screen and (min-width: 769px) {
    .plan_table .plan01-1 {
        font-size:calc(var(--winW) * 16);
        height:calc(var(--winW) * 120);
    }
}
.plan_table .plan01-2 {
	background:#858585;
	color:#fff;
	font-size:calc(var(--winW) * 12);
	height:calc(var(--winW) * 50);
}
@media screen and (min-width: 769px) {
    .plan_table .plan01-2 {
        font-size: calc(var(--winW) * 16);
        height: calc(var(--winW) * 72);
    }
}
.plan_table .plan02-1 {
	background:#DDDDDD;
	color:#000;
	font-size:calc(var(--winW) * 12);
}
@media screen and (min-width: 769px) {
    .plan_table .plan02-1 {
        font-size:calc(var(--winW) * 16);
    }
}
.plan_table .plan02-2 {
	background:#DDDDDD;
	color:#000;
}
.plan_table .plan03 {
	background:#F6F6F6;
	color:#000;
	font-size: calc(var(--winW) * 12);
}
@media screen and (min-width: 769px) {
    .plan_table .plan03 {
        background:#F6F6F6;
        color:#000;
        font-size: calc(var(--winW) * 21);
    }
}
.plan_table .empty-cell {
  background-color:#666666;
}



/***
* U-CAR 
**************************************/
.ucar {
}
.ucar-inner-title {
    width: 93.75vw;
    max-width: 1170px;
    margin: 0 auto;
}
.ucar .bg-gray {
    background-color: #EFEFEF;
}
.ucar-inner {
    padding-top: calc(var(--winW) * 1);
    width: calc(var(--winW) * 327);
    margin: 0 auto;
    padding-bottom: calc(var(--winW) * 128);
    margin-top: calc(var(--winW) * 40);
}
@media screen and (min-width: 769px) {
    .ucar-inner {
        width: calc(var(--winW) * 960);
    }
}
@media screen and (min-width: 1024px) {
    .ucar-inner {
        width: 93.75vw;
        max-width: 1170px;
    }
}
.ucar-inner-title .title-text {
    margin-top: calc(var(--winW) * 30);
    font-size: calc(var(--winW) * 14);
    line-height: 1.5;
}
@media screen and (min-width: 769px) {
    .ucar-inner-title .title-text {
        margin-top: calc(var(--winW) * 26);
    }
}
.ucar-inner .box-img {
    margin-top: calc(var(--winW) * 48);
    font-size: calc(var(--winW) * 14);
    line-height: 1.5;
}
@media screen and (min-width: 769px) {
    .ucar-inner .box-img {
        margin-top: calc(var(--winW) * 36);
    }
}
.ucar-inner .note-text {
    margin-top: calc(var(--winW) * 48);
    font-size: calc(var(--winW) * 12);
    line-height: 1.5;
}
@media screen and (min-width: 769px) {
    .ucar-inner .note-text {
        margin-top: calc(var(--winW) * 36);
    }
}
.ucar-inner .btn-wrap {
    margin-top: calc(var(--winW) * 48);
    display: flex;
    flex-direction: column;
    row-gap: calc(var(--winW) * 36);
}
.section-separator {
    padding-top: calc(var(--winW) * 80);
}
@media screen and (min-width: 769px) {
    .section-separator {
        padding-top: calc(var(--winW) * 100);
    }
}
