@charset "utf-8";

/* common */
.-marker {
    background-image: linear-gradient(transparent 70%, #ffec04 70%, #ffec04 100%);
}

.annotation dt {
    position: relative;
    font-size: 24px;
    font-weight: bold;
    line-height: calc(64/24);
    padding-left: 40px;
    background-color: #f2f2f2;
    cursor: pointer;
}

.annotation dt::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 40px;
    width: 15px;
    height: 15px;
    border-top: 2px solid #333;
    border-left: 2px solid #333;
    transform: translate(0, -60%) rotate(225deg);
}

.annotation dt.open::after {
    transform: translate(0, -10%) rotate(45deg);
}

.annotation dd {
    display: none;
    line-height: 1.5;
    padding: 40px;
    border-bottom: 1px solid #aaa;
}

.annotation dd .-red,
[class$="_note"] li.-red,
[class$="_note"] li.-red a {
    color: #e40000;
}

[class$="_note"] li.-red a {
    text-decoration: underline;
}

.annotation dd li ul {
    margin: 10px 0;
}

.-blackCircle,
.-asterisk,
.-middleDot,
.-star {
    text-indent: -1.25em;
    padding-left: 1.25em;
}

.-number {
    text-indent: -2.75em;
    padding-left: 2.75em;
}

.-asterisk,
.-middleDot,
.-number {
    color: #666;
    font-size: 14px;
}

.-star {
    font-size: 14px;
}

.annotation ul + ul,
* + .-blackCircle {
    margin-top: 24px;
}

.-blackCircle::before {
    content: "● ";
}

.-asterisk::before {
    content: "※ ";
}

.-middleDot::before {
    content: "・ ";
}

.-star::before {
    content: "★ ";
}

/* header */
.header_upper-logo img:nth-of-type(1),
.header_upper-nav {
    display: none;
}

/* main */
main section + section {
    border-top: 2px solid var(--color-main);
}

main .annotation {
    margin-top: 40px;
}

main .annotation + .annotation {
    margin-top: 24px;
}

/* mv */
.mv {
    padding-top: 40px;
}

.mv > * {
    width: 1200px;
    margin: 0 auto;
}

.mv .common-title {
    font-size: 40px;
    line-height: calc(48/40);
    margin-top: 12px;
}

.mv_text,
.mv_planImage {
    margin-top: 40px;
}

.mv_planImage {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 0;
    border: 1px solid #888;
}

.mv_planImage-lead {
    display: flex;
    gap: 42px;
}

.mv_planImage-lead * {
    font-weight: bold;
}

.mv_planImage-lead span {
    color: var(--color-main);
}

.mv_planImage-price * {
    font-weight: bold;
}

.mv_planImage-price {
    color: #e40000;
    font-size: 38px;
}

.mv_planImage-price b {
    font-size: 74px;
    margin-right: 15px;
}

.mv_note {
    margin-top: 16px;
}

/* callCharge */
.callCharge {
    padding-top: 64px;
    margin-top: 64px;
}

.callCharge > * {
    width: 1200px;
    margin: 0 auto;
}

.callCharge_text {
    margin-top: 40px;
}

.callCharge_note {
    padding: 40px;
    margin-top: 16px;
    background-color: #fef1f8;
}

/* monthlyFee */
.monthlyFee {
    padding-top: 64px;
    margin-top: 64px;
}

.monthlyFee > * {
    width: 1200px;
    margin: 0 auto;
}

.monthlyFee_list > li + li h2 {
    margin-top: 64px;
    padding-top: 64px;
    border-top: 1px solid #dbdbdb;
}

.monthlyFee_text,
.monthlyFee_planImage {
    margin-top: 40px;
}

.monthlyFee_planImage {
    text-align: center;
    padding: 40px 0;
    border: 1px solid #888;
}

.monthlyFee_planImage-lead * {
    font-weight: bold;
}

.monthlyFee_planImage img,
.monthlyFee_planImage-note {
    margin-top: 8px;
}

.monthlyFee_note.bg_pink {
    padding: 40px;
    margin-top: 24px;
    background-color: #fef1f8;
}

.monthlyFee_table {
    margin-top: 24px;
    border: 6px solid var(--color-main);
    border-top: none;
}

.monthlyFee_table *:not(.monthlyFee_table-text),
.monthlyFee_table-text b {
    font-weight: bold;
}

.monthlyFee_table > dt {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: calc(64/24);
    text-align: center;
    background-color: var(--color-main);
}

.monthlyFee_table > dd dl {
    display: flex;
}

.monthlyFee_table > dd dt,
.monthlyFee_table > dd dd {
    padding: 20px;
}

.monthlyFee_table > dd dt {
    display: flex;
    align-items: center;
    width: 238px;
    background-color: #f2f2f2;
}

.monthlyFee_table-total dt {
    background-color: #fef1f8 !important;
}

.monthlyFee_table > dd dd {
    width: calc(100% - 238px);
}

.monthlyFee_table-total dd {
    display: flex;
    padding: 0 !important;
}

.monthlyFee_table-total dd div {
    width: 50%;
    padding: 20px;
}

.monthlyFee_table-total dd,
.monthlyFee_table-total dd div + div {
    border-left: 1px solid var(--color-main);
}

.monthlyFee_table-total {
    border-bottom: 1px solid var(--color-main);
}

.monthlyFee_table-basic dd,
.monthlyFee_table-detail dd {
    border-left: 1px solid #888;
}

.monthlyFee_table-basic {
    border-bottom: 1px solid #888;
}

.monthlyFee_table-detail dd {
    padding: 0 20px !important;
}

.monthlyFee_table-detail dd div {
    padding: 20px 0;
}
.monthlyFee_table-detail dd div + div {
    border-top: 1px solid #dbdbdb;
}

.monthlyFee_table-cell {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.monthlyFee_table-price span {
    font-size: 24px;
    line-height: 1;
    margin-right: 5px;
}

.monthlyFee_table-total .monthlyFee_table-price {
    color: #e40000;
}

.monthlyFee_table-total .monthlyFee_table-price span {
    font-size: 40px;
}

.monthlyFee_list > li > a:not(.blankLink) {
    display: block;
    text-decoration: underline;
    width: fit-content;
    margin-top: 40px;
}

a + .monthlyFee_note {
    margin-top: 40px;
}

.monthlyFee_note + .monthlyFee_note {
    margin-top: 24px;
}

/* feature */
.feature {
    padding-top: 64px;
    margin-top: 64px;
}

.feature > * {
    width: 1200px;
    margin: 0 auto;
}

.feature_list h3 {
    font-size: 32px;
    font-weight: bold;
    line-height: calc(48/32);
}

.feature_list > li:nth-of-type(1) h3 {
    margin-top: 40px;
}

.feature_list > li + li {
    margin-top: 64px;
    padding-top: 64px;
    border-top: 1px solid #dbdbdb;
}

.feature_list-service,
.feature_list-service + a {
    margin-top: 20px;
}

.feature_list-service + a {
    display: inline-block;
    line-height: 1;
}

.feature_list-service > li {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
}

.feature_list-service > li + li {
    border-top: 1px solid #888;
}

.feature_list > li.ponta .feature_list-service,
.feature_list > li.subscription .feature_list-service {
    border-bottom: 1px solid #888;
}

.feature_list-service > li .left,
.feature_list-service > li .right {
    width: 590px;
}

.feature_list-service > li .wide {
    width: 100%;
}

.feature_list-service h4 {
    font-size: 24px;
    font-weight: bold;
}

.feature_list-service .tag + h4 {
    margin-top: 16px;
}

.feature_list-service .tag span {
    display: inline-block;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: calc(20/12);
    padding: 0 8px;
    background-color: var(--color-main);
}

.feature_list-service .tag sup {
    color: var(--color-main);
    font-size: 14px;
    vertical-align: super;
    margin-left: 5px;
}

.feature_list-service .-flex {
    display: flex;
    align-items: center;
}

.feature_list-service h4.-flex {
    gap: 20px;
}

.feature_list > li.ponta .feature_list-service div.-flex {
    gap: 40px;
    padding-left: 40px;
    margin-top: 40px;
}

.feature_list > li.auStarlinkDirect .feature_list-service .-flex {
    gap: 34px;
    margin-top: 16px;
}

.feature_text b,
.feature_text span,
.feature_text strong {
    font-weight: bold;
}

.feature_text span,
.feature_text strong {
    font-size: 20px;
}

.feature_text span {
    color: var(--color-main);
}

.feature_text img {
    margin-top: 16px;
}

.feature_text sup {
    font-size: 14px;
    vertical-align: super;
}

.feature_list-service .-flex + .feature_text {
    margin-top: 40px;
}

.feature_list-service + .feature_text {
    margin-top: 64px;
}

.emphasis {
    color: #e40000;
    font-weight: bold;
}

.feature_text + .emphasis {
    margin-top: 40px;
}

.feature_planImage {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 62px;
    padding: 40px 0;
    margin-top: 24px;
    border: 1px solid #888;
}

.feature_planImage-lead {
    display: flex;
    justify-content: center;
    gap: 150px;
}

.feature_planImage-lead *,
.feature_planImage-text,
.feature_planImage-text * {
    font-weight: bold;
}

.feature_planImage-text {
    font-size: 46px;
    line-height: 1.2;
}

.feature_planImage-text small {
    font-size: 32px;
}

.feature_planImage-text span {
    color: var(--color-main);
}

.feature_planImage-text b {
    font-size: 80px;
}

.feature_note.bg_pink {
    padding: 40px;
    margin-top: 40px;
    background-color: #fef1f8;
}

.feature_list-service > li .feature_note {
    margin-top: 24px;
}

/* option */
.option {
    padding-top: 64px;
    margin-top: 64px;
}

.option > * {
    width: 1200px;
    margin: 0 auto;
}

.option_text,
.option_text span {
    font-weight: bold;
}

.option_text {
    margin-top: 40px;
}

.option_text span {
    color: var(--color-main);
}

.option_info {
    margin-top: 24px;
}

.option_info p + p,
.option_note {
    margin-top: 16px;
}

.option_info p b {
    font-weight: bold;
}

/* bottomSection */
.bottomSection {
    padding-top: 64px;
    margin-top: 64px;
}

.bottomSection > * {
    width: 1200px;
    margin: 0 auto;
}

.bottomSection .box-btn {
    position: relative;
    display: block;
    color: var(--color-main);
    font-size: 14px;
    font-weight: bold;
    line-height: calc(21/14);
    text-align: center;
    width: 590px;
    padding: 24px 0;
    margin: 0 auto;
    border: 1px solid #888;
    border-radius: 4px;
    box-shadow: var(--box-shadow-general);
}

.bottomSection .box-btn:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #888;
    border-right: 1px solid #888;
    transform: translate( 0,-50%) rotate(45deg);
}

.bottomSection .box-btn span {
    color: #333;
    font-size: 20px;
    font-weight: bold;
}

.bottomSection .box-btn:hover {
    background-color: #fef1f8;
}

.bottomSection .main-btn {
    width: 386px;
    margin-top: 64px;
}

.bottomSection_note {
    margin-top: 40px;
}