@charset "UTF-8";
/* 料金表用　SIMキャンペーン中に適用させるもの */
.voice-cost {
    margin-bottom: 2em;
}
p.simcp_title {
    display: inline-block;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 1rem;
    position: relative;
}
p.simcp_title::before {
    position: absolute;
    display: inline-block;
    content: "";
    background: #333;
    bottom: 0;
    left: -4%;
    transform: rotate(-35deg);
    content: "";
    width: 2px;
    height: 100%;
}
p.simcp_title::after {
    position: absolute;
    display: inline-block;
    content: "";
    background: #333;
    bottom: 0;
    right: -4%;
    transform: rotate(35deg);
    content: "";
    width: 2px;
    height: 100%;
}
table.plan_table .campaign {
    position: relative;
}
.campaign .base_text_line {
    font-size: 14px!important;
    text-decoration: line-through;
    color: #666;
}
table.plan_table .campaign .s_text {
    font-size: 100%;
}
table.plan_table .campaign .campaign-obi {
    position: absolute;
    font-weight: bold;
    color: #fff;
    background-color: #6084ce;
    z-index: 1;
}
table.plan_table .campaign .campaign-obi.col2 {
    top: -6px;
    width: 180%;
    left: 10%;
    padding: 3px 0;
}
table.plan_table .campaign .campaign-obi-flex {
    display: flex;
    justify-content: center;
    align-items: baseline;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 2px;
}
table.plan_table .campaign .campaign-obi.row6 {
    display: flex;
    justify-content: center;
    width: 1.1em;
    top: 0;
    left: 25px;
}
table.plan_table .campaign .campaign-obi-vertical {
    align-items: center;
    height: 100%;
    font-size: 15px;
    font-weight: bold;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 2px;
}
table.plan_table .campaign .campaign-obi-flex .s_text {
    font-size: 80%;
    font-weight: bold;
}
table.plan_table .campaign .campaign-obi-flex .s_text.ml {
    margin-left: 3px;
}
table.plan_table .campaign .campaign-obi-vertical .s_text {
    margin-bottom: 2px;
    font-size: 80%;
    font-weight: bold;
    writing-mode: horizontal-tb;
    letter-spacing: 0;
}
table.plan_table .campaign .campaign-obi-vertical .s_text.num {
    font-size: 90%;
}
table.plan_table td.campaign .base_text_line {
    margin-top: 10px;
}
table.plan_table th.campaign .base_text_line,
table.plan_table th.campaign .cp_text_line {
    margin-left: 20px;
}
p.simcp_title .s_text {
    font-size: 70%!important;
}
.cp_text_line {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: baseline;
    color: #e64d97;
    font-size: 26px;
}
.cp_text_line span {
    font-weight: bold;
}
.voice-cost table.plan_table .cp_text_line span.s_text {
    font-size: 60%;
}
.tab_banner {
    display: none;
}
#tabPrice .tab_banner {
    display: block;
}
table.plan_table.voice-table .icon_osusume {
  position: relative;
}
/* table.plan_table.voice-table .icon_osusume:before {
  position: absolute;
  content: '';
  top: 0;
  left: -57px;
  width: 100%;
  height: 100%;
  background: url(/gigaplan/img/icon_osusume.png) no-repeat center;
} */

@media screen and (min-width: 641px) {
    .miowari-obi {
        width: 100%;
        position: static;
        padding: 10px 0;
    }
    table.plan_table.voice-table tr:nth-child(n + 2) td,
    table.plan_table.voice-table tr:nth-child(n + 2) th {
        height: 75px;
    }
}
@media screen and (max-width: 640px) {
    .campaign .base_text_line {
        font-size: clamp(10px, 2.5vw, 13px)!important;
    }
    p.simcp_title {
        font-size: clamp(12px, 3.5vw, 16px);
        margin-bottom: 0.5rem;
    }
    p.simcp_title::before {
        height: 105%;
        left: -3%;
    }
    p.simcp_title::after {
        height: 105%;
        right: -3%;
    }
    .cp_text_line {
        font-size: clamp(16px, 5vw, 22px);
    }
    table.plan_table .campaign .campaign-obi-flex {
        letter-spacing: 0;
    }
    table.plan_table .campaign .campaign-obi-flex .s_text {
        font-size: 90%;
    }
    table.plan_table.voice-table tr:nth-child(n + 2) td,
    table.plan_table.voice-table tr:nth-child(n + 2) th {
        height: 14vw;
    }
    table.plan_table td.campaign {
        padding: 3% 0 1%!important;
    }
    table.plan_table td.campaign .base_text_line {
        margin-top: 7px;
    }
    table.plan_table .campaign .campaign-obi.col2 {
        top: -4px;
    }
    table.plan_table .campaign .campaign-obi.row6 {
        width: 1.4em;
        left: 0;
    }
    table.plan_table th.campaign .base_text_line,
    table.plan_table th.campaign .cp_text_line {
        margin-left: 10%;
    }
    table.plan_table .campaign .campaign-obi-vertical,
    table.plan_table .campaign .campaign-obi-flex {
        font-size: clamp(9px, 3vw, 13px);
    }
    table.plan_table .campaign .campaign-obi-vertical {
        /* 初期読み込みでiPhone実機が崩れるので高さ最小値を入れておく */
        min-height: 290px;
    }
    table.plan_table.show-spec .campaign .campaign-obi-vertical {
        /* 初期読み込み完了時に最小値は解除 */
        min-height: auto;
    }
    /* table.plan_table.voice-table .icon_osusume:before {
        background-size: clamp(28px, 9vw, 40px);
        left: -10.5vw;
    } */
}


/* ----------------
ギガプラン #tabPrice  を先頭につけること
------------------*/
@media screen and (max-width: 640px) {
    #tabPrice table.plan_table td.campaign:has(.campaign-obi) {
        padding: 4% 0;
    }
}



/* ----------------
Web取次：ギガプランモバイルパートナー募集 .merit_reason_item  を先頭につけること
このページはキャンペーン要素なしのフラットの状態にする
------------------*/
.merit_reason_item .voice-cost table.plan_table .cp_text_line,
.merit_reason_item table.plan_table .campaign .campaign-obi {
    display: none;
}
.merit_reason_item .campaign .base_text_line .s_text {
    font-size: 60%!important;
}
.merit_reason_item table.plan_table td.campaign .base_text_line {
    margin-top: 0!important;
}
@media screen and (min-width: 641px) {
    .merit_reason_item .campaign .base_text_line {
        font-size: 26px!important;
        text-decoration: none!important;
        color: #333!important;
    }
}
@media screen and (max-width: 640px) {
    .merit_reason_item .campaign .base_text_line {
        font-size: clamp(16px, 5vw, 22px)!important;
        text-decoration: none!important;
        color: #333!important;
    }
}

/* ----------------
格安SIMガイドiPhoneページ #iphone_prosandcons1  を先頭につけること
このページはキャンペーン要素なしのフラットの状態にする
------------------*/
#iphone_prosandcons1 .simcp_title.voice-cost,
#iphone_prosandcons1 .voice-cost table.plan_table .cp_text_line,
#iphone_prosandcons1 table.plan_table .campaign .campaign-obi {
    display: none;
}
#iphone_prosandcons1 .campaign .base_text_line .s_text {
    font-size: 60%!important;
}
#iphone_prosandcons1 table.plan_table td.campaign .base_text_line {
    margin-top: 0!important;
}
@media screen and (min-width: 641px) {
    #iphone_prosandcons1 .campaign .base_text_line {
        font-size: 26px!important;
        text-decoration: none!important;
        color: #333!important;
    }
}
@media screen and (max-width: 640px) {
    #iphone_prosandcons1 .campaign .base_text_line {
        font-size: clamp(16px, 5vw, 22px)!important;
        text-decoration: none!important;
        color: #333!important;
    }
    #iphone_prosandcons1 .dataEsim-class.campaign .base_text_line {
        font-size: clamp(14px, 4.4vw, 20px) !important;
    }
}

/* ---------------------- */
/* ---tab切替の表示制御--- */
/* ---------------------- */
.link-pos {
    display: none;
    position: absolute;
    bottom: 10%;
    left: 15%;
    width: 170%;
    font-weight: bold;
    color: pink;
    z-index: 1;
}
.icon_osusume:before {
    display: none;
}

/* 新規 .for-new */

/* 旧プランから .for-change */

/* 通常 .for-basic */
.for-basic table.plan_table .campaign .campaign-obi,
.for-basic table.plan_table .cp_text_line,
.for-basic .simcp_title,
.for-basic .cp_text_line,
.for-basic .voicecp-cptext,
.for-basic .voice-opt-box .campaign-obi {
    display: none;
}
/* 既存cp .for-kizonOnly */
.for-kizonOnly .kizon-off{
    display: none !important;
}
.for-kizonOnly table.plan_table.voice-table th.campaign .base_text_line,
.for-kizonOnly table.plan_table.voice-table tr:not(.kizon-on) td.campaign .base_text_line {
    text-decoration: none;
    font-size: 26px !important;
    color: #333;
    margin: 0;
}
.for-kizonOnly table.plan_table.voice-table th.campaign .s_text,
.for-kizonOnly table.plan_table.voice-table tr:not(.kizon-on) td.campaign .s_text {
    font-size: 60%;
}
@media screen and (max-width: 640px) {
    .for-kizonOnly table.plan_table.voice-table th.campaign .base_text_line,
    .for-kizonOnly table.plan_table.voice-table tr:not(.kizon-on) td.campaign .base_text_line {
        font-size: clamp(16px, 5vw, 22px) !important;
    }
}
.for-kizonOnly .icon_osusume:before {
    display: block;
}
/* .is-basic 特定の要素のみ表示 */
/* .for-basic .is-basic.icon_osusume:before {
    display: block;
} */
.for-basic .link-pos.is-basic {
    display: block;
}
.for-basic .link-pos.is-basic .inner-link .link {
    line-height: 1.5 !important;
    display: block;
    position: relative;
    color: rgb(230, 77, 151);
    background-color: #ffffff;
    border: 1px solid rgb(230, 77, 151);
    border-radius: 50px;
    cursor: pointer;
    /* transition: color 0.3s ease; */
}
.for-basic .link-pos.is-basic .inner-link .link:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 13px;
  width: 5px;
  height: 5px;
  border-right: 1px solid #e64d97;
  border-bottom: 1px solid #e64d97;
  transform: rotateZ(-45deg) translateY(-75%);
}
.for-basic .link-pos.is-basic .inner-link .link.tucode:before {
    display: none;
}
.for-basic .link-pos.is-basic .inner-link .link.tucode {
    pointer-events: none;
}
.for-basic .link-pos.is-basic .inner-link .link.tucode:hover {
    opacity: 1;
}
.for-basic .link-pos.is-basic .inner-link .link:hover {
    opacity: .7;
}
/* .for-basic table.plan_table .campaign .base_text_line.negative-margin {
    margin-top: -14% !important;
} */

.for-basic table.plan_table .campaign .base_text_line,
.for-basic .voice-opt-box .base_text_line {
    margin: 0!important;
    font-size: 26px!important;
    text-decoration: none!important;
    color: #333!important;
}
.for-basic table.plan_table .s_text,
.for-basic .voice-opt-box .base_text_line .s_text {
    font-size: 60%!important;
}
.for-new .simcp_title.mini,
.for-change .simcp_title.mini {
    display: none;
}

@media screen and (min-width: 641px) {
    .for-basic .simcp_title.mini {
        display: inline-block;
        margin-top: 15px;
        margin-bottom: 0;
        font-size: 14px;
    }
    .for-basic .voice-opt-link {
        margin-top: 15px;
    }
    .for-basic .inner-link {
        margin-top: 15px;
    }

    /* .for-basic table.plan_table.voice-table .icon_osusume:before {
        left: -64px;
    } */
}

@media screen and (max-width: 640px) {
    .for-basic table.plan_table .campaign .base_text_line,
    .for-basic .voice-opt-box .base_text_line {
        font-size: clamp(16px, 5vw, 22px)!important;
    }
    .for-basic table.plan_table td.campaign {
        padding: 0!important;
    }
    .for-basic .simcp_title.voice-cost.voicefree-cpon {
        display: inline-block;
    }
    .for-basic .is-basic.campaign-obi a .campaign-obi-flex {
        font-size: clamp(8px, 2.6vw, 13px);
    }
    .for-basic .link-pos {
        bottom: 7%;
    }
    /* .for-basic table.plan_table .campaign .base_text_line.negative-margin {
        margin-top: -17% !important;
    } */

    .for-basic .link-pos.is-basic .inner-link .link {
        font-weight: bold;
        font-size: 3.1vw;
        padding: 2.2px 0px 2px 6px;
        line-height: 1 !important;
    }
    .for-basic .link-pos.is-basic .inner-link .link:before {
        left: 7px;
    }
}

/* データeSIM キャンペーン */
@media screen and (max-width: 640px) {
  .for-basic table.plan_table .dataEsim-class.campaign .base_text_line {
    font-size: clamp(14px, 4.4vw, 20px) !important;
  }
  .data-cost .base_text_line {
    font-size: clamp(14px, 4.4vw, 20px) !important;
  }
}
