@charset "utf-8";

[class^="campaign_text"] a,
[class^="campaign_caution"] a {
    text-decoration: underline;
}

[class^="campaign_text"] a:hover,
[class^="campaign_caution"] a:hover {
    text-decoration: none;
}

.campaign_wrapper b {
    font-weight: bold;
}

.campaign_wrapper .red {
    color: #E40000;
}

.campaign_wrapper .-shadow {
    box-shadow: var(--box-shadow-general);
}

.campaign_wrapper .-caution {
    display: inline-block;
    color: #666666;
    font-size: 12px;
    text-indent: -1.3em;
    padding-left: 1.3em;
}

.campaign_wrapper .-caution.-number {
    text-indent: -1.8em;
    padding-left: 1.8em;
}

/* campaign_wrapper */
.campaign_wrapper{
    width: 800px;
    margin: 0 auto;
}

.campaign_wrapper h1.common-title,
.campaign_wrapper h2.common-title,
.campaign_wrapper h3.common-title{
    margin-top: 40px;
}

.campaign_wrapper h1.common-title {
    line-height: calc(58/48);
}

.campaign_wrapper h2.common-title {
    line-height: calc(48/40);
}

.campaign_wrapper h3.common-title {
    font-size: 32px;
    line-height: calc(38/32);
}

.campaign_icons {
    display: flex;
    gap: 5px;
    margin-top: 24px;
}

.campaign_icons span {
    font-size: 14px;
    line-height: calc(21/14);
    padding: 0 8px;
}

.campaign_icon-mobile {
    color: #FFFFFF;
    background-color: #E3007F;
}

.campaign_icon-wimax {
    color: #FFFFFF;
    background-color: #00267F;
}

.campaign_text,
.campaign_image,
.campaign_text-list,
.campaign_caution,
.campaign_cautionLong {
    margin-top: 24px;
}

.campaign_icons + .campaign_text {
    margin-top: 40px;
}

.campaign_text-list li {
    text-indent: -1em;
    padding-left: 1em;
}

.campaign_caution li,
.campaign_caution li a {
    color: #666666;
}

.campaign_caution li {
    font-size: 12px;
    line-height: calc(18/12);
    text-indent: -1.3em;
    padding-left: 1.3em;
}

.campaign_cautionLong li {
    font-size: 12px;
    text-indent: -2.5em;
    padding-left: 2.5em;
}

.campaign_btnWrapper {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}

.campaign_btnWrapper [class^="campaign_btn"] {
    display: flex;
    justify-content: center;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: bold;
    line-height: calc(60/20);
    width: 386px;
    border-radius: 4px;
}

.campaign_btn {
    background-color: var(--color-general);
}

.campaign_btn::after {
    border: 2px solid var(--color-general);
    border-radius: 4px;
}

.campaign_btn:hover {
    color: var(--color-general);
}

.campaign_btn-applicationLink {
    background-color: #0091d7;
}

.campaign_btn-applicationLink::after {
    border: 2px solid #0091d7;
    border-radius: 4px;
}

.campaign_btn-applicationLink:hover {
    color: #0091d7;
}

.campaign_btn-applicationLink[target="_blank"] .switch_text {
    position: relative;
    text-align: center;
    width: 100%;
}

.campaign_btn-applicationLink[target="_blank"] .switch_text::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 16px;
    height: 16px;
    background: url(https://mvno.geo-mobile.jp/v2/img/cmn/general/blank-white.svg) no-repeat center center / 100% auto;
    transform: translateY(-50%);
    transition: .3s;
}

.campaign_btn-applicationLink[target="_blank"]:hover .switch_text::after {
    background: url(https://mvno.geo-mobile.jp/v2/img/cmn/general/blank-blue.svg) no-repeat center center / 100% auto;
}

/* campaign_table */
.campaign_table,
.campaign_table th,
.campaign_table td {
    border: 1px solid #888888;
}

.campaign_table th,
.campaign_table td {
    line-height: calc(24/16);
    padding: 20px;
}

.campaign_table {
    margin-top: 40px;
    border-collapse: collapse;
}

.campaign_table th {
    font-weight: bold;
    text-align: left;
    width: 200px;
    background: #F2F2F2;
}

.campaign_table td {
    width: calc(100% - 200px);
}

.campaign_table sup{
    font-size: calc(12/16*1em);
    vertical-align: top;
}

.campaign_table.-col3,
.campaign_table.-col2 {
    width: 100%;
}

.campaign_table.-col3 th,
.campaign_table.-col3 td,
.campaign_table.-col2 th,
.campaign_table.-col2 td {
    text-align: center;
    vertical-align: middle;
}

.campaign_table.-col3 th:not([colspan]),
.campaign_table.-col3 td {
    width: calc(100%/3);
}

.campaign_table.-col2 th:not([colspan]),
.campaign_table.-col2 td {
    width: calc(100%/2);
}

.campaign_table-head th {
    color: #FFFFFF;
    font-size: 24px;
    background-color: #888888;
}

.campaign_table-price {
    font-weight: bold;
}

.campaign_table-price span {
    font-size: 32px;
    font-weight: bold;
}

/* accordion */
.accordion {
    margin-top: 40px;
}

.accordion_head {
    position: relative;
    font-size: 24px;
    line-height: 1;
    font-weight: bold;
    padding: 20px 40px;
    background: #F2F2F2;
    border-radius: 4px;
    cursor: pointer;
}

.accordion_head::after {
    background: transparent;
    border-right: solid 1.5px #333;
    border-top: solid 1.5px #333;
    bottom: 0;
    content: "";
    display: block;
    margin: auto;
    position: absolute;
    right: 48px;
    top: 0;
    width: 13px;
    height: 13px;
    transform: rotate(135deg);
    transition: 0.2s;
}

.accordion_head.-open::after {
    transform: rotate(-45deg);
    top: 10px;
}

.accordion_body {
    display: none;
    padding: 20px;
    border-bottom: 1px solid #AAAAAA;
}

.accordion_body .accordion_top {
    margin-top: 0;
}

/* simulation_wrapper */
.simulation_wrapper {
    margin-top: 64px;
    border-top: 2px solid #AAAAAA;
}

/* footer */
footer {
    margin-top: 0;
}