@charset "UTF-8";
/* 注釈の書式統一 */

.annotation-d {
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    line-height: 160%;
}

.annotation-h {
    font-size: 17px;
    padding-left: 0px;
}

/* 注釈の書式統一ここまで */
/* 対応機種ここから */

.iphone-model {
    max-width: 1000px;
    width: 100%;
    margin: 40px auto 60px;
}

.sim_faq dt {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    padding: 16px 74px 14px 20px;
    background: var(--primary);
    background-size: 30px;
    line-height: 1.5;
    position: relative;
}

.sim_faq dd {
    font-size: 12px;
    color: #333;
    background: #efefef;
    padding: 20px;
    line-height: 1.7;
}

/* 対応機種ここまで */
/* 見出しここから */

h1.top-h {
    font-size: 42px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
}

span.underline {
    /* アンダーライン装飾 */
    background: linear-gradient(transparent 60%, rgba(255, 96, 67, .2) 40%);
}

span.underline-solid {
    /* アンダーライン装飾 */
    border-bottom: solid 1px #333333;
    padding-bottom: 10px;
}

h1.shadow {
    font-size: 42px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
    line-height: 1;
    -webkit-box-reflect: below -10px -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.2)) !important;
}

h2.top-h {
    text-align: center;
    font-size: 36px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
    line-height: 1.3;
}

h3.top-h {
    font-size: 24px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 800;
    color: #333333;
    line-height: 1.3;
    text-decoration: underline 2px #000000;
    text-underline-offset: 15px;
    text-shadow: 3px 3px 0 #FFF, -3px -3px 0 #FFF, -3px 3px 0 #FFF, 3px -3px 0 #FFF, 0px 3px 0 #FFF, 0-3px 0 #FFF, -3px 0 0 #FFF, 3px 0 0 #FFF;
}

h4.top-h {
    font-size: 20px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
    font-weight: 400;
    color: #333333;
    line-height: 1.4;
    text-decoration: underline 1px #000000;
    text-underline-offset: 15px;
}

h5:not(.start-date) {
    font-size: 22px;
    background: #ce0f31;
    color: #ffffff;
    border-radius: 5px;
    padding: 5px;
    width: 65%;
    margin: 20px auto 0 auto;
    text-align: center;
}

@media screen and (max-width: 768px) {
    h1.top-h {
        font-size: 180%;
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
        font-weight: 800;
        color: #333333;
        line-height: 2rem;
        letter-spacing: 2px;
    }

    span.underline {
        /* アンダーライン装飾 */
        background: linear-gradient(transparent 60%, rgba(255, 96, 67, .2) 40%);
    }

    span.underline-solid {
        /* アンダーライン装飾 */
        border-bottom: solid 1px #333333;
        padding-bottom: 10px;
    }

    h1.shadow {
        font-size: 42px;
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
        font-weight: 800;
        color: #333333;
        line-height: 1.2;
        margin: 40px auto 10px auto;
        -webkit-box-reflect: below -10px -webkit-linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.2)) !important;
    }

    h2.top-h {
        text-align: center;
        font-size: 30px;
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
        font-weight: 800;
        color: #333333;
        line-height: 1.2;
    }

    h3.top-h {
        font-size: 20px;
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
        font-weight: 800;
        color: #333333;
        line-height: 1.2;
        text-decoration: underline 2px #000000;
        text-underline-offset: 15px;
        text-shadow: 3px 3px 0 #FFF, -3px -3px 0 #FFF, -3px 3px 0 #FFF, 3px -3px 0 #FFF, 0px 3px 0 #FFF, 0-3px 0 #FFF, -3px 0 0 #FFF, 3px 0 0 #FFF;
    }

    h4.top-h {
        font-size: 18px;
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meirzyo, "メイリオ", sans-serif !important;
        font-weight: 400;
        color: #333333;
        line-height: 1.2;
        text-decoration: underline 1px #000000;
        text-underline-offset: 15px;
    }

    h5:not(.start-date) {
        font-size: 22px;
        background: #ce0f31;
        color: #ffffff;
        border-radius: 5px;
        padding: 5px;
        width: 65%;
        margin: 20px auto 0 auto;
    }
}

/* 見出しここまで */
/* 対応機種のアコーディオンメニューここから */
/*
section .accordion {
margin: 10px !important;
color: #333;
}

.acd-check {
display: none;
}

.acd-label {
padding: 15px 20px;
box-sizing: border-box;
background: #f1f1f1;
display: flex;
justify-content: space-between;
margin: 0 auto 5px;
width: 50%;
font-size: 20px;
border-radius: 5px;
cursor: pointer;
font-weight: 800;
}

.acd-label::after {
display: flex;
align-items: center;
content: "▼";
font-weight: 900;
transition: all 0.3s;
}

.acd-content {
height: 0;
opacity: 0;
transition: 0.3s;
visibility: hidden;
width: 50%;
padding: 0;
margin: 0 auto;
}

.acd-content p {
width: 100%;
margin: 5px auto 0 auto;
text-align: justify;
text-align-last: left;
text-justify: inter-ideograph;
padding: 12px;
line-height: 160%;
font-size: 14px;
background: #ffffff;
border-radius: 4px;
letter-spacing: 0.5px;
color: #333333;
}

.acd-check:checked+.acd-label+.acd-content {
height: auto;
opacity: 1;
padding: 15px 0;
visibility: visible;
display: flex;
align-items: center;
word-break: break-all;
}

.acd-check:checked+.acd-label::after {
transform: rotate(180deg);
}

.accordion .iphone-txt {
display: block;
width: 90%;
margin: 5px auto 0 auto;
text-align: justify;
text-align-last: left;
text-justify: inter-ideograph;
padding: 20px;
line-height: 160%;
font-size: 13px;
background: #efefef;
border-radius: 4px;
letter-spacing: 0.5px;
color: #333333;
}

@media screen and (max-width: 960px) {
.acd-label {
width: 95%;
}
.acd-content {
width: 95%;
}
.acd-check:checked+.acd-label+.acd-content {
padding: 10px 0;
}
}
*/
/* 対応機種のアコーディオンメニューここまで */
.text-left {
    text-align: left;
}

.inner {
    padding: 0 32px;
}

.subInner {
    padding: 0 32px;
}

.d-pre {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

.d-pre img {
    width: 100%;
}

.d-pre .box {
    margin-right: 40px;
}

.d-pre .box:nth-of-type(2) {
    margin-top: 10px;
}

.d-pre .box:last-child {
    margin-right: 0;
}

.bnr_docomoshop {
    width: 277px;
    height: auto;
}

.d-pre .box:nth-of-type(2) .pc-view img {
    width: 240px;
    height: auto;
    margin: auto;
    display: block;
}

.d-pre .box:nth-of-type(2) img {
    width: 400px;
    height: auto;
}

.d-title {
    margin: auto;
    text-align: center;
    margin-top: 17px;
    margin-bottom: 0;
}

.d-title img {
    width: 500px;
    height: auto;
}

.main-area {
    position: relative;
    max-width: 820px;
    width: 100%;
    height: 368px;
    margin: 32px auto 0;
}

.main-area-list {
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(54, 182, 230, 0.2) 100%);
    /* background: url(../../d/images/top/main-area_ul_bg.png) top center/cover no-repeat; */
}

.main-area-list ul {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    padding: 44px 32px 0;
}

.cmt_wrap ul li,
.safe ul li,
.main-area-list ul li,
.six-month ul li,
.unlimited_content_wrap ul li,
.origin ul li,
.safe_content ul li,
.iphone_wrap ul li,
.callcharge_list li,
.annotation li {
    text-indent: -32px;
    margin-left: 30px;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    line-height: 1.6;
    color: #333333;
}

.main-area-list ul li span,
.callcharge_list span,
.last-annotation span,
.cmt_wrap span {
    padding-right: 10px;
}

.mv_ttl {
    position: absolute;
    top: 40px;
    left: 0;
}

.main-area-economy {
    top: 0;
    right: 100px;
}

.fv_family {
    position: absolute;
    bottom: 0;
    left: 0;
}

.fv_sakaken {
    position: absolute;
    bottom: 0;
    right: 0;
}

.main-area div p.main-area-unlimited {
    top: 40px;
    right: 100px;
}

.main-area .main-area-price {
    position: absolute;
    bottom: 44px;
    left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 26px;
}

section {
    max-width: 1100px;
    width: 100%;
    margin: 80px auto;
    text-align: center;
}

a {
    text-decoration: none;
}

ul li {
    text-align: left;
}

h2 {
    font-size: 24px;
    text-align: center;
}

h3 img {
    width: 600px;
    height: auto;
}

.flex {
    display: flex;
}

.cmt {
    font-size: 14px;
}

.iphone_wrap {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

.one-plan {
    margin: 10px auto 0px auto;
}

.one-plan_list {
    max-width: 650px;
    width: 100%;
    margin: 30px auto 0px;
}

.one-plan_list .one-plan_title {
    max-width: 650px;
    margin: auto;
}

.one-plan_list .one-plan_title02 {
    max-width: 544px;
    margin: 20px 0 20px 0;
}

.one-plan_contents {
    max-width: 550px;
    margin: auto;
}

/* suggest */
.suggest {
    margin: 80px auto;
}

.suggest .tone-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
}

.suggest_content {
    max-width: 800px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 36px;
}

.suggest_item {
    display: flex;
    max-width: 376px;
    width: 100%;
    padding: 31px 41px 24px;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    align-self: stretch;
    box-sizing: border-box;
    border-radius: 30px;
    background: #FFF;
    box-shadow: 17px 20px 33px 0px rgba(54, 182, 230, 0.16), 2px 0px 33px 0px rgba(54, 182, 230, 0.10);
}

.suggest_item_ttl {
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
}

.unlimited_content_wrap {
    position: relative;
    max-width: 800px;
    width: 100%;
    margin: auto;
}

.unlimited_content_wrap .flex {
    margin: 0 auto 20px;
    justify-content: space-between;
    align-items: flex-end;
}

.unlimited_content {
    width: 47%;
}

.unlimited_content_wrap .plus {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    margin: auto;
    width: 100px;
}

.unlimited_content_wrap ul {
    display: inline-block;
    margin: auto;
}

.unlimited_content_wrap .annotation-d {
    padding: 0 10px;
}

.unlimited_content_wrap ul span {
    margin-right: 10px;
}

.origin h2 {
    width: 100%;
}

.origin_content {
    max-width: 630px;
    width: 100%;
    margin: auto;
}

.origin_content .cmt {
    line-height: 160%;
    text-align: left;
    font-size: unset;
}

.origin_content .cmt.pt10 {
    padding-top: 8px;
}

.origin_content .cmt.ml-s {
    text-align: right;
    color: #333333;
}

.origin ul,
.origin_sub {
    max-width: 630px;
    width: 100%;
}

.origin_sub {
    margin: 32px auto 0px;
    gap: 24px;
    justify-content: space-between;
}

.origin_sub_imgbox {
    max-width: 150px;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.origin_sub_imgtxt {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.origin_sub_img {
    max-width: 103px;
}

.origin_sub_txt {
    font-size: 20px;
    text-align: left;
    line-height: 1.7;
}

.origin ul {
    margin: 10px auto;
}

.origin ul li span {
    margin-right: 13px;
}

/* safe */
.safe {
    max-width: 720px;
    width: 100%;
    margin: auto;
}

.safe_content ul {
    margin-top: 20px;
}

.safe h2 p:first-of-type {
    margin: 0 auto 20px;
}

.safe .annotation-d {
    margin: 20px auto;
}

.safe .annotation-d span {
    margin-right: 10px;
}

.safe_content {
    position: relative;
    max-width: 720px;
    width: 100%;
    margin: 50px auto 20px;
    padding: 50px 0px 30px 0px;
    box-sizing: border-box;
    border-radius: 20px;
    background: #FFE9E5;
}

.safe_content .icon_wrap:last-of-type .icon_box:last-of-type h4 {
    margin: 17px 0 10px;
}

.cp-ttl-img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: auto;
}

.safe_content .icon_wrap:last-of-type .icon_box h4 {
    margin: 20px 0 10px;
    padding: 0;
    font-size: 16px;
    text-align: center;
    background: none;
}

.icon_wrap.flex {
    gap: 20px;
    justify-content: center;
    align-items: center;
}

.icon_wrap .cmt {
    font-size: 12px;
}

.icon_box {
    max-width: 300px;
    width: 100%;
}

h1.dots {
    margin: 40px auto 10px auto;
}

h1.dots span:not(.annotation-h) {
    position: relative;
    /* 基準値とする */
}

h1.dots span:not(.annotation-h)::before {
    content: "・";
    /* 文字の上に置くものを指定 */
    position: absolute;
    /* 相対位置とする */
    top: -0.8em;
    /* 縦方向の表示位置を調整（-1emくらいがちょうどいいかんじ） */
    left: 0;
    /* 横方向の表示位置を調整 */
    color: #ff6041;
}

section.stage {
    width: 100%;
    margin-bottom: 0 !important;
}

.stage h2 {
    max-width: 620px;
    width: 100%;
    margin: auto;
}

.stage .stage-title {
    width: 400px;
    margin: 10px auto 20px auto;
}

.stage_title-familly {
    max-width: 500px;
    width: 100%;
    margin: 0 auto 20px;
}

.stage-chart {
    margin: 0px auto 20px auto;
    text-align: center;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 213, 0, 0.3) 100%);
    padding-top: 0px;
}

.stage-chart img {
    position: relative;
    width: 800px;
    height: auto;
    top: -27px;
    margin-top: 0px;
}

.stage-chart div {
    width: 1000px;
    position: relative;
    margin: auto;
}

.stage-chart ul {
    text-align: left;
    position: absolute;
    bottom: 30px;
    left: 10px;
    left: 100px;
    width: 577px;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
}

.stage-chart ul li {
    text-indent: -32px;
    margin-left: 30px;
}

.stage-chart ul li span {
    padding-right: 10px;
}

.safesystem {
    max-width: 800px;
    width: 100%;
    margin: 80px auto 0;
}

.safesystem_text {
    margin: 30px auto;
}

.safesystem_text p {
    padding-bottom: 10px;
    font-size: 20px;
    border-bottom: 1px solid #333;
    display: inline;
    line-height: 2.4;
    color: #333333;
}

.safesystem_content {
    max-width: 600px;
    width: 100%;
    margin: 20px auto;
}

.safesystem_content img {
    margin-bottom: 30px;
}

.safesystem_subttl {
    display: block;
    max-width: 600px;
    width: 100%;
    margin: 60px auto 10px;
    padding: 15px 0;
    background: #f1f1f1;
    border-radius: 50px;
    font-size: 24px;
    font-weight: bold;
    color: #333333;
}

.safesystem_content .safesystem_subttl {
    max-width: 100%;
    margin: 30px auto 0;
    font-weight: normal;
    font-size: 16px;
    border-radius: 10px;
    line-height: 1.5;
}

.safesystem_subttl span {
    font-size: 20px;
}

.btn {
    display: block;
    position: relative;
    max-width: 550px;
    width: 100%;
    padding: 20px;
    background: var(--primary);
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    border: 2px solid var(--primary);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.btn:hover {
    background: #fff;
    color: var(--primary);
}

.btn::before {
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}

.btn:hover:before {
    border-color: var(--primary);
}

.safesystem .btn {
    margin: 20px auto 100px auto;
}

.safesystem .annotation-d li {
    text-indent: -20px;
    margin-left: 20px;
    color: #333333;
}

.one-plan02 {
    position: relative;
    max-width: 800px;
    width: 100%;
    margin: 100px auto 40px;
    z-index: 1;
}

.one-plan02 h1 {
    line-height: 3.5rem;
}

.one-plan02 h1:nth-of-type(2) {
    width: 100%;
    margin-bottom: 40px;
}

.one-plan02 .plus {
    width: 60px;
    margin: 10px auto;
    z-index: 10;
}

.tone-family-option {
    background: #e6F1F6;
    width: 800px;
    margin: 10px auto;
    border-radius: 25px;
    padding: 40px 0 30px 0;
}

.tone-family-option-title {
    position: relative;
    font-size: 30px;
    font-weight: 800;
    width: 500px;
    padding: 10px;
    margin: 0 auto;
    background-color: #ffffff;
    border: var(--primary) solid 3px;
    border-radius: 35px;
    z-index: 3;
    color: #333333;
}

.tone-family-option-icon {
    position: relative;
    top: -30px;
    background: #ffffff;
    width: 57%;
    margin: 0 auto;
    padding: 50px 90px 35px;
    border-radius: 25px;
}

.tone-family-option-text {
    font-size: 30px;
    font-weight: 800;
    color: #333333;
}

.family p {
    margin-top: 20px;
}

.family p:first-child img {
    width: 500px;
    height: auto;
}

.family p:last-child img {
    width: 700px;
    height: auto;
}


section.six-month {
    width: 100%;
    background-size: 100% 700px;
    margin-top: -300px;
}

.six-month p.six-month-price {
    padding-top: 300px;
}

.six-month p.six-month-price img {
    width: 600px;
    height: auto;
}

.six-month p.six-month-free {
    width: 600px;
    margin: auto;
}

.six-month p.six-month-free img {
    width: 600px;
    height: auto;
}

.six-month ul {
    width: 800px;
    margin: 15px auto;
}

.six-month ul li span {
    padding-right: 10px;
}

.six-month .border {
    width: 100%;
    height: 3px;
    background: #333;
    margin: 0 auto 10px;
}

.one-plan02-list {
    width: 800px;
    margin: 0 auto;
}

h4 {
    font-size: 20px;
    background: #e3e3e3;
    padding: 15px 0;
    border-radius: 25px;
}

.tone-ai-flame {
    padding-top: 30px;
}

.tone-ai-flame div {
    width: 400px;
    margin-right: 40px;
}

.tone-ai-flame div:last-child {
    margin-right: 0;
}

.tone-ai-flame div ul {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 350px;
    margin: 30px auto 0;
}

.tone-ai-flame div ul li {
    text-align: left;
    margin-right: 20px;
    font-size: 16px;
    line-height: 140%;
}

.tone-ai-flame div ul li img {
    width: 280px;
    height: auto;
}

.d-open {
    width: 100%;
    background-color: #cf0f31;
    padding: 55px 0 30px;
    position: relative;
    margin: 120px auto 10px;
}

.d-open h5 {
    position: absolute;
    top: -65px;
    left: 0;
    right: 0;
}

.d-open h5 img {
    width: 400px;
    height: auto;
}

.d-open p img {
    width: 400px;
    height: auto;
}

/* d-shop  */
.d-shop {
    max-width: 750px;
    width: 100%;
    margin: 80px auto;
}

.shop-search {
    font-size: 30px;
    font-weight: bold;
    color: #ce0f31;
    background: #fff;
}

.logo_dpoint,
.dpoint_increase {
    max-width: 600px;
    width: 100%;
}

.logo_dpoint {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}

.dpoint_increase {
    margin: 0 auto;
}

.dpoint_txt {
    margin: 30px auto 40px;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}

.dpoint_txt .red {
    position: relative;
    margin: 0 5px;
    background: #cc0d30;
    padding: 3px 5px;
    color: #fff;
}

.dpoint_txt .red:last-child::after {
    content: "※一部対象外となるサービスがございます";
    position: absolute;
    right: 0px;
    bottom: -15px;
    font-size: 10px;
    color: #333;
    white-space: nowrap
}

.dpoint_increase .btn {
    margin: 30px auto 60px;
}

.dpoint_increase .every-month-icon {
    width: 100px;
    position: relative;
    left: -270px;
    top: -10px;
}

.every-month-100point-banner {
    position: relative;
    width: 580px;
    margin: 0 auto;
    top: -40px;
}

.dpoint_increase h2 {
    font-size: 35px;
}

.dpoint_increase h2:nth-of-type(1) {
    position: relative;
    top: -35px;
}

.dpoint_increase h2:nth-of-type(2) {
    position: relative;
    top: -35px;
}

.docomo_balloon {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
}

.docomo_balloon::before,
.docomo_balloon::after {
    content: '';
    width: 2px;
    height: 24px;
    background-color: var(--black);
}

.docomo_balloon::before {
    transform: rotate(-35deg);
    margin-right: 16px;
}

.docomo_balloon::after {
    transform: rotate(35deg);
    margin-left: 16px;
}

.d-point p {
    margin: 0 auto 40px;
}

.d-point p:first-child img {
    width: 400px;
    height: auto;
}

.d-point p:nth-child(2) {
    width: 500px;
    height: auto;
}

.iphone_wrap .flex {
    max-width: 800px;
    width: 100%;
    margin: 40px auto 0;
    justify-content: space-between;
}

.iphone {
    width: 280px;
}

.iphone img {
    width: 350px;
}

p.iphone-docomo_title,
.iphone_content {
    position: relative;
    max-width: 500px;
    margin: auto;
}

.iphone-docomo_title {
    position: relative;
    margin: 10px auto 0;
    width: max-content;
}

h2.iphone-docomo {
    font-size: 30px;
    line-height: 40px;
}

.notice-line {
    position: absolute;
    width: 80px;
    right: -52px;
    top: 6px;
}

.notice-line02 {
    position: absolute;
    width: 80px;
    right: -39px;
    top: 4px;
}

.available-iphone {
    width: 370px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.left {
    width: 55%;
    text-align: left;
    font-size: 16px;
}

.left span.small-text {
    font-size: 12px;
    color: #333333;
}

.kakko {
    position: relative;
    display: block;
    width: 200px;
    padding: 15px 20px;
    margin: 10px 0;
    font-size: 13px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.kakko::before,
.kakko::after {
    position: absolute;
    top: 0;
    content: '';
    width: 20px;
    height: 100%;
    border-top: 1px solid #555;
    border-bottom: 1px solid #555;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.kakko::before {
    left: 0;
    border-left: 1px solid #555;
}

.kakko::after {
    right: 0;
    border-right: 1px solid #555;
}

img.osagari-iphone-icon {
    width: 45%;
    padding: 4px 0 0 5px;
}

p.iphone-docomo_list {
    max-width: 400px;
    margin: 0 0 30px;
}

.iphone_table {
    margin: 40px auto;
}

.iphone_table h3 {
    padding: 20px;
    background: #CE0F31;
    color: #fff;
}

.iphone_table dl.flex {
    flex-wrap: wrap;
    align-items: stretch;
}

.iphone_table dt,
.iphone_table dd {
    padding: 10px 30px 10px 40px;
    width: 12%;
    border-bottom: 1px solid #CE0F31;
    font-weight: bold;
}

.iphone_table dt {
    position: relative;
    display: flex;
    align-items: center;
    width: 45%;
    position: relative;
    background: #fff9f9;
    text-align: left;
    font-size: 20px;
}

.iphone_table dt::after {
    content: "";
    position: absolute;
    top: 17px;
    left: 18px;
    width: 15px;
    height: 15px;
    background: #CE0F31;
    border-radius: 50px;
}

.iphone_table dt:last-of-type:after {
    content: none;
}

.iphone_table dt:last-of-type {
    font-weight: normal;
}

.iphone_table dd {
    padding: 10px 126px;
    text-align: right;
    font-family: 'Roboto', sans-serif;
    font-size: 24px;
}

.iphone_table dd:nth-of-type(2) {
    padding: 20px 126px;
}

.iphone_table dt span,
.iphone_table dd span {
    font-size: 14px;
    font-weight: normal;
}

.iphone_wrap ul li {
    text-indent: -26px;
    margin-left: 24px;
}

.iphone-txt {
    width: 70%;
    margin: 5px auto 0 auto;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    padding: 12px;
    line-height: 160%;
    font-size: 10px;
    background: #efefef;
    border-radius: 4px;
    letter-spacing: 0.5px;
    color: #333333;
}

.iphone-shop-help {
    background: url(/d/images/top/shop_icon.svg) no-repeat #ffe700 left 20px center / 24px auto;
    padding: 12px 0;
    border-radius: 20px;
    margin-top: 15px;
    font-size: 14px;
}

.kaedoki {
    margin-top: 60px;
    text-align: center;
}

.kaedoki img {
    width: 600px;
    margin: 10px auto 0 auto;
}

.s-search-btn {
    background-color: #ce0f31;
    padding: 40px 0;
}

.s-search-btn a {
    display: block;
    background-color: #fff;
    background-image: url(../../d/images/top/icon_search.png);
    background-repeat: no-repeat;
    background-size: 50px auto;
    background-position: left 10px center;
    padding: 20px 30px 20px 40px;
    color: #333;
    width: 500px;
    margin: auto;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    border-radius: 40px;
    transition: 0.3s;
}

.s-search-btn a:hover {
    opacity: 0.8;
}

.cmt_wrap {
    max-width: 680px;
    width: 100%;
    margin: 30px auto;
}

/* other */
.other {
    max-width: 680px;
    width: 100%;
    margin: auto;
    color: #333333;
}

.other h2 {
    margin: 60px auto 30px;
    text-align: left;
    font-size: 30px;
    padding: 10px 0 10px 20px;
    border-left: 10px solid var(--primary);
}

.other .border {
    width: 2px;
    height: 110px;
    border-left: 2px dotted #333;
}

.other_content,
.callcharge_wrap {
    margin: 0 auto 10px;
    justify-content: flex-start;
    align-items: center;
    border: 1px solid #333;
    padding: 15px 20px;
}

.other_content>.flex {
    align-items: center;
}

.other .cmt {
    text-align: left;
    margin: 10px auto 0px;
}

.sign_ttl {
    padding: 0 20px 0 0;
    font-size: 24px;
    font-weight: bold;
}

.tax {
    font-size: 11px;
    font-weight: bold;
}

.tone-sim {
    width: 60px;
}

.price_cotents.flex {
    display: flex;
    align-items: center;
    gap: 10px;
}

.price_ttl {
    font-size: 24px;
    text-align: left;
}

.price_wrap .price {
    font-weight: bold;
    font-size: 42px;
}

.price_wrap span.small {
    font-size: 12px;
    line-height: 1;
}

.price-image_plus {
    width: 33px;
}

.price_wrap.sign {
    margin-left: 20px;
}

/* option　pcファースト
------------------ */
.option_service_wrap.flex {
    justify-content: space-between;
    flex-wrap: wrap;
}

.option_service_box {
    width: 49%;
    margin-bottom: 20px;
}

.option_service_imgbox {
    width: 100%;
    display: flex;
    padding: 16px 16px 8px;
    border-radius: 8px;
    background-color: var(--background-blue);
    justify-content: space-between;
}

.option_service_imgbox img {
    width: 58px;
}

.option_service_txtbox {
    max-width: 240px;
    width: 100%;
    flex-direction: column;
    justify-content: center;
}

.option_service_ttl {
    font-size: 13px;
    padding: 6px 10px;
    text-align: center;
    background-color: var(--primary);
    color: var(--white);
    border-radius: 8px;
    font-weight: bold;
}

.option_service_price {
    font-size: 19px;
    text-align: center;
}

.option_service_price .big {
    font-size: 180%;
}

.text-link {
    text-decoration: underline;
    color: var(--primary);
    transition: 0.3s ease;
}

@media (hover:hover) {
    .text-link:hover {
        text-decoration: underline;
        opacity: 0.5;
    }
}

.option_service_info {
    font-size: 12px;
    line-height: 160%;
    text-align: left;
    margin-bottom: 20px;
}

.option_link_wrap {
    text-align: right;
}

.option_link {
    padding: 0 3px 5px;
    border-bottom: 1px solid var(--primary);
    color: #333;
    font-size: 16px;
}

.option_link:hover {
    opacity: 0.8;
}
/* callcharge */
.callcharge_wrap {
    padding: 0 20px;
}

.callcharge_content:first-of-type {
    border-bottom: 1px solid #333;
}

.callcharge_content {
    padding: 20px 0;
    align-items: center;
}

.callcharge_content .callcharge_txt {
    font-size: 18px;
    text-align: left;
}

.callcharge_content .sign_ttl {
    max-width: 120px;
    width: 100%;
}

.callcharge_content .callcharge_txt span {
    font-weight: bold;
}

.annotation {
    max-width: 790px;
    width: 100%;
    margin: 60px auto;
    padding: 20px;
    border-radius: 20px;
    background: #f1f1f1;
}

.family-att {
    max-width: 800px;
    width: 100%;
    line-height: 160%;
    margin: 10px auto 0;
    text-align: left;
}

.kaedokiLink a:link {
    text-decoration: underline;
    color: #333333;
}

.spacer_top-sm {
    text-align: center;
}

.docomo_orange {
    max-width: 600px;
    width: 100%;
    margin: 30px auto;
    color: #ff6041;
    font-size: 18px;
    padding: 16px;
    border: 1px solid #ff6041;
    border-radius: 8px;
    font-weight: bold;
}

.underNav .navButtons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0;
}

.float_btn {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1;
}

.float_btn .s-search-btn {
    padding: 17px 0;
    margin-bottom: 0;
}

.float_btn .s-search-btn a {
    max-width: 550px;
    width: 100%;
    margin: auto;
    padding: 14px 30px 14px 40px;
    font-size: 16px;
    box-sizing: border-box;
    background-size: 32px auto;
}

.underNav .navButtons {
    max-width: 920px;
    width: 100%;
    margin: auto;
    justify-content: center;
}

.underNav .tel-btn a,
.underNav .all-btn a {
    width: 100%;
    box-sizing: border-box;
}

.underNav .all-btn a {
    margin-right: 0;
}

/* 20220810 動画1GB */
.main_1GB {
    max-width: 1100px;
    width: 100%;
    margin: 30px auto;
    text-align: center;
}

.main_1GB .date {
    padding: 14px 20px;
    background: #546366;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    color: #fff
}

.main_1GB_txt {
    font-size: 43px;
    font-weight: bold;
    margin: 20px auto 30px;
    display: inline-block;
    background: linear-gradient(transparent 60%, rgba(255, 96, 67, .2) 40%);
}

.yasashii {
    max-width: 730px;
    width: 100%;
}

/* 注釈 */
ul.notes {
    display: table;
    width: 100%;
    margin: 0;
    padding-left: 0;
}

ul.notes li {
    list-style: none;
    font-size: 12px;
    line-height: 1.6;
}

ul.notes li .notes_head {
    display: table-cell;
    vertical-align: top;
    white-space: nowrap;
    padding-right: 0.5em;
}

ul.notes li .notes_body {
    display: table-cell;
    vertical-align: top;
}

/* イオシスバナー追加 */
.iosys_banner_wrapper {
    max-width: 680px;
    width: 100%;
    margin: auto;
}

.iosys_banner {
    width: 100%;
}

.iosys_banner_wrapper a {
    display: block;
    border-radius: 25px;
    box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease-out;
}

@media (hover:hover) {
    .iosys_banner_wrapper a:hover {
        transform: translateY(4px);
        box-shadow: -3px -3px 12px transparent;
    }
}

.pc {
    display: block;
}

@media screen and (max-width: 869px) {
    .sp-view {
        margin-top: 32px;
    }

    .spacer_top-md .tone-contents {
        padding: 0 32px;
    }

    .inner {
        padding: 0;
    }

    .pc {
        display: none;
    }

    header {
        border-bottom: none;
    }

    section {
        width: 90%;
    }

    .main-area {
        max-width: 100%;
        height: auto;
    }

    .main-area .main-area-price {
        position: static;
        max-width: inherit;
        display: flex;
        width: 100%;
        align-content: center;
        justify-content: center;
        padding: 32px 24px;
        background: #FCFFE9;
        gap: 24px;
    }

    .mv_ttl {
        position: static;
        text-align: center;
        margin: 0 auto 30px;
        padding: 0 16px;
    }

    .main-area-price .op {
        display: block;
        margin: 0;
        max-width: 210px;
    }

    .bnr_economy {
        max-width: 100%;
    }

    .main-area-price .of {
        max-width: 100%;
        height: auto;
    }

    .fv_sakaken {
        position: static;
        display: block;
        max-width: 400px;
        width: 100%;
        margin: 0 auto;
    }

    .d-pre {
        display: block;
        position: relative;
        width: 90%;
        margin: 20px auto;
    }

    .d-pre .box:nth-of-type(2) {
        margin-top: 0;
    }

    .d-pre .box:nth-of-type(2) p img {
        display: block;
        width: 250px;
        height: auto;
        margin: auto;
    }

    .d-pre .box:nth-of-type(2) img {
        width: 300px;
        height: auto;
        margin: auto;
    }

    .d-pre .box h1 {
        text-align: center;
    }

    .d-pre .box {
        margin-right: 0;
    }

    .d-pre li {
        margin-right: 20px;
    }

    .d-pre li:last-child {
        margin-right: 0;
        margin-top: 9px;
    }

    .d-pre li:first-child img,
    .d-pre li:last-child img {
        width: 180px;
        height: auto;
    }

    .d-title-copy01 {
        width: 60%;
        height: auto;
        margin: auto;
    }

    .d-title {
        width: 90%;
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
    }

    .main-area-list ul {
        max-width: auto;
        width: auto;
        margin: auto;
        padding: 24px 20px 0;
    }

    .tone-family-img {
        margin-top: -30px;
    }

    .annotation {
        max-width: 90%;
        padding: 20px 10px;
    }

    .annotation li {
        text-indent: -26px;
        margin-left: 24px;
    }

    .annotation-d {
        line-height: 1.8;
        font-size: 13px;
    }

    .cmt_wrap ul li,
    .safe ul li,
    .main-area-list ul li,
    .six-month ul li,
    .unlimited_content_wrap ul li,
    .origin ul li,
    .safe_content ul li,
    .iphone_wrap ul li,
    .callcharge_list li,
    .annotation li {
        width: 95%;
        text-indent: -22px;
        margin: 0 auto;
        padding-left: 15px;
        text-align: justify;
        text-align-last: left;
        text-justify: inter-ideograph;
        line-height: 1.6;
        color: #333333;
    }

    .main-area-list ul li span,
    .callcharge_list span,
    .last-annotation span,
    .six-month ul li span,
    .unlimited_content_wrap ul span {
        padding-right: 0px;
        margin-right: 0;
    }

    .six-month ul {
        width: 85%;
        margin: 15px auto;
    }

    .origin ul li span {
        margin-right: 0px;
    }

    .origin ul {
        width: 95%;
    }

    .origin_content .annotation-d ul li {
        padding: 0;
        text-indent: -13px;
    }

    .safe_content ul {
        width: 95%;
        margin: 0 auto;
        margin-left: 35px;
    }

    .safe_content ul li {
        padding: 0;
        margin-left: -14px;
        text-indent: -22px;
    }

    .stage-chart-list ul li {
        padding: 0;
        text-indent: -18px;
    }

    .stage-chart ul li {
        text-indent: -26px;
        position: relative;
        margin: 0 5px 0 43px;
        top: -60px;
        text-align: justify;
        text-align-last: left;
        text-justify: inter-ideograph;
    }

    .stage-chart ul li span {
        padding-right: 5px;
    }

    .safesystem .annotation-d li {
        text-indent: -14px;
        margin-left: 20px;
        text-align: justify;
        text-align-last: left;
        text-justify: inter-ideograph;
        color: #333333;
        font-size: 13px;
    }

    .one-plan02-list {
        width: 85%;
        margin: 0 auto;
    }

    .one-plan02-list ul {
        width: 100%;
    }

    .one-plan02-list ul li {
        padding: 0;
        margin-left: 18px;
        text-indent: -22px;
    }

    .callcharge_list {
        width: 95%;
        font-size: 12px;
    }

    .callcharge_list li {
        font-size: 12px;
        text-indent: -18px;
    }

    .callcharge_list ul li {
        padding: 0;
    }

    .last-annotation .cmt ul li {
        font-size: 12px;
    }

    .last-annotation .cmt ul li span {
        padding-right: 20px;
    }

    .last-annotation .cmt {
        font-size: 12px;
        padding: 0 15px;
    }

    .last-annntation .cmt li {
        text-indent: -56px !important;
        margin: 0 auto !important;
    }

    .cmt_wrap {
        max-width: 90%;
    }

    .cmt_wrap span {
        padding-right: 0;
    }

    .other .cmt {
        text-align: left;
        margin: 10 auto 0;
        font-size: 12px;
    }

    .stage-chart-sp ul li {
        text-indent: -32px;
        margin-left: 30px;
    }

    .stage-chart-sp ul li span {
        padding-right: 10px;
    }

    .last-annotation {
        border-radius: 5px;
        width: 85% !important;
        margin: 0 auto;
    }

    .flex {
        flex-wrap: wrap;
    }

    /* suggest */
    .suggest {
        margin: 60px auto;
    }

    .suggest_content {
        flex-direction: column;
    }

    .suggest_item {
        margin: auto;
    }

    /* unlimited */
    .unlimited_content {
        width: 95%;
        margin: 0 auto;
    }

    .unlimited_content:first-of-type {
        margin: 0 auto;
    }

    .unlimited_content_wrap .plus {
        position: relative;
        width: 100%;
        margin: 20px auto 0;
    }

    .unlimited_content_wrap .plus p img {
        position: absolute;
        top: 45%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit-transform: translateY(-50%) translateX(-50%);
        margin: auto;
        width: 75px;
    }

    .unlimited_content.sp-space {
        padding-top: 50px;
    }

    /* origin */
    .origin h2 {
        font-size: 20px;
    }

    .origin h2.top-h {
        font-size: 28px;
    }

    .origin_sub {
        justify-content: center;
    }

    .origin_sub_txt {
        font-size: 14px;
    }

    .origin-title {
        margin-bottom: 15px;
    }

    .safe h2 {
        margin: 0 auto 0px;
    }

    .safe_content {
        width: 100%;
        margin: 50px auto 20px;
    }

    .cp-ttl-img img {
        width: 95%;
        margin: 10px auto 5px auto;
    }

    .icon_box img {
        max-width: 100px;
        width: 100%;
        margin: 10px auto 5px auto;
    }

    .icon_wrap.flex {
        flex-direction: column;
        gap: 20px;
        padding: 0 16px;
    }

    .icon_box {
        width: 100%;
    }

    h1.dots {
        margin: 15px auto 10px auto;
    }

    .stage_title-familly {
        margin: 0 auto 10px;
    }

    /* safesystem */
    .safesystem {
        max-width: 100%;
        width: 100%;
        position: relative;
    }

    .safesystem h1 {
        margin-bottom: -20px;
    }

    .safesystem_text p {
        width: 80%;
        font-size: 12px;
    }

    .safesystem_content img:first-of-type {
        margin: 0 auto 20px;
        max-width: 90%;
    }

    .safesystem_content .safesystem_subttl {
        font-size: 14px;
    }

    .safesystem_content img {
        margin-bottom: 10px;
    }

    .safesystem_subttl {
        width: 100%;
        margin: 30px auto 10px;
        padding: 10px 0;
        background: #f1f1f1;
        border-radius: 50px;
        font-size: 12px;
        font-weight: bold;
        color: #333333;
    }

    .safesystem_subttl span {
        font-size: 17px;
        font-weight: 800;
    }

    .safesystem .btn {
        margin: 10px auto 10px auto;
    }

    .btn {
        display: block;
        position: relative;
        max-width: 100%;
        width: auto;
        padding: 10px 0;
        font-size: 16px;
    }

    .btn::before {
        left: 5%;
    }

    .one-plan02 {
        position: relative;
        width: 100%;
        margin: 10px auto 40px;
        z-index: 1;
    }

    .one-plan02 h1:nth-of-type(1) {
        line-height: 1rem;
    }

    .one-plan02 h1:nth-of-type(2) {
        width: 100%;
        margin-bottom: 10px;
    }

    .one-plan02 .plus {
        width: 30px;
    }

    .one-plan02 h1.dots {
        margin: 15px auto 10px auto;
        font-size: 19px;
    }

    .one-plan02 span.annotation-h {
        font-size: 10px;
    }

    .tone-family-option {
        background: #e6F1F6;
        width: 100%;
        max-width: 690px;
        margin: 10px auto;
        border-radius: 25px;
        padding: 20px 0 20px 0;
    }

    .tone-family-option-title {
        position: relative;
        font-size: 16px;
        font-weight: 800;
        width: 77%;
        padding: 10px;
        margin: 0 auto;
        background-color: #ffffff;
        border: var(--primary) solid 1px;
        border-radius: 35px;
        z-index: 3;
        color: #333333;
    }

    .tone-family-option-icon {
        position: relative;
        top: 18px;
        background: #ffffff;
        width: 65%;
        margin: 0 auto;
        padding: 10px 30px 10px;
        border-radius: 13px;
    }

    .tone-family-option-icon img {
        width: 300px;
    }

    .tone-family-option-text {
        font-size: 16px;
        margin-top: 36px;
        text-align: center;
        font-weight: 800;
        color: #333333;
    }

    .family p:first-child img {
        width: 100%;
        height: auto;
    }

    .family p:last-child img {
        width: 100%;
        height: auto;
    }

    .stage h2 {
        font-size: 14px;
    }

    .stage .stage-title {
        width: 80%;
        margin: 5px auto 10px auto;
    }

    .stage-chart {
        padding-top: 25px;
        padding-bottom: 20px;
        margin: 20px auto 10px;
    }

    .stage-chart p {
        width: 90%;
        margin: auto;
    }

    .stage-chart img {
        position: relative;
        width: 100%;
        height: auto;
        top: -45px;
        left: 10px;
        margin-top: 0px;
    }

    .stage-chart div {
        width: 90%;
    }

    .stage-chart ul {
        position: unset;
        width: 100%;
        margin: 20px auto 0;
    }

    .stage-chart-sp {
        margin-top: 10px;
        font-size: 12px;
        width: 90%;
        margin: auto;
    }

    .tone-ai-flame {
        display: block;
        padding-top: 0px;
    }

    .tone-ai-flame div {
        width: 100%;
    }

    .tone-ai-flame div ul {
        width: unset;
        margin: 10px auto 30px;
    }

    .d-open {
        padding: 40px 0 13px;
        margin: 80px auto 10px;
    }

    .d-open h5 {
        top: -50px;
        left: -20px;
    }

    .d-open h5 img {
        width: 300px;
        height: auto;
    }

    .d-open p img {
        width: 60%;
        height: auto;
    }

    .logo_dpoint {
        width: 95%;
        margin: 10px auto;
    }

    /* .dpoint_increase {
        margin: -20px 0 0 0;
    } */
    .dpoint_increase h2:nth-of-type(1) {
        font-size: 24.5px;
        line-height: 2.5rem;
    }

    .dpoint_increase h2:nth-of-type(2) {
        font-size: 19px;
    }

    .dpoint_txt {
        margin: 40px auto 20px;
        font-size: 22px;
        /* font-size: 5.9vw; */
    }

    .dpoint .near-store a {
        width: 100%;
    }

    .every-month-100point-banner {
        width: 94%;
        margin: 5px auto;
    }

    .iphone-sp {
        width: 120px;
        margin: 40px auto 0;
    }

    .shop-search {
        font-size: 20px;
        padding: 10px 0;
    }

    .s-search-btn {
        margin-bottom: 40px;
        padding: 20px 0;
    }

    .s-search-btn a {
        width: 250px;
        padding: 0;
        font-size: 16px;
        padding: 10px 10px 10px 33px;
        background-size: 28px auto;
    }

    .iphone-shop-help {
        background: url(/d/images/top/shop_icon.svg) no-repeat #ffe700 left 10px center / 24px auto;
        padding-left: 30px;
        font-size: 12px;
    }

    h2.iphone-docomo {
        font-size: 22px;
        line-height: 32px;
    }

    .iphone_wrap .flex {
        margin: 20px auto 0;
    }

    .iphone_content h5:not(.start-date) {
        font-size: 22px;
        background: #ce0f31;
        color: #ffffff;
        border-radius: 5px;
        padding: 5px;
        width: 90%;
        margin: 20px auto 0 auto;
    }

    .iphone-sp {
        animation: poyopoyo 2s ease-out infinite;
        opacity: 1;
    }

    @keyframes poyopoyo {

        0%,
        40%,
        60%,
        80% {
            transform: scale(1.0);
        }

        50%,
        70% {
            transform: scale(0.95);
        }
    }

    .iphone_content {
        width: 100%;
    }

    .notice-line {
        position: absolute;
        width: 50px;
        right: -30px;
        top: 8%;
    }

    .notice-line02 {
        position: absolute;
        width: 50px;
        right: -23px;
        top: 4px;
    }

    .left {
        width: auto;
        font-size: 12px;
    }

    .iphone-txt {
        width: 90%;
        margin: 5px auto 0 auto;
        text-align: justify;
        text-align-last: left;
        text-justify: inter-ideograph;
        padding: 12px;
        line-height: 160%;
        font-size: 10px;
        background: #efefef;
        border-radius: 4px;
        letter-spacing: 0.5px;
        color: #333333;
    }

    .kakko {
        position: relative;
        display: block;
        width: 165px;
        padding: 15px 20px;
        margin: 10px 0;
        font-size: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .available-iphone {
        width: 100%;
        justify-content: center;
    }

    .docomo_orange {
        /* width: 90%; */
        margin: 20px auto;
        color: #ff6041;
        font-size: 16px;
        padding: 12px;
        border: 1px solid #ff6041;
        border-radius: 8px;
        font-weight: bold;
    }

    /* other */
    .subInner {
        padding: 24px;
    }

    .other h2 {
        font-size: 20px;
        padding: 10px 0 10px 10px;
    }

    .other_content {
        display: block;
    }

    .other_content,
    .callcharge_wrap {
        padding: 12px 16px;
    }

    .other_content>.flex {
        flex-direction: column;
        gap: 10px;
    }

    .price_cotents.flex {
        flex-direction: column;
    }

    .other .border {
        width: 100%;
        height: 0px;
        padding: 0px;
        border-bottom: 2px dotted #333;
    }

    .sign_ttl {
        max-width: 100%;
        padding: 0;
    }

    .price_wrap.sign {
        margin: 0;
        display: inline-block;
        vertical-align: middle;
    }

    .price_wrap {
        font-size: 14px;
        text-align: left;
        margin: 10px auto;
    }

    .price_wrap .price {
        font-weight: bold;
        font-size: 35px;
    }

    .tone-sim {
        width: 43px;
        margin: 3px auto 0;
        vertical-align: middle;
    }

    .price-image_plus {
        width: 23px;
        margin: 0px auto;
    }

    .month .price_wrap {
        text-align: center;
    }
    /* option */

    .option_service_box {
        width: 100%;
        margin-bottom: 20px;
    }

    .option_service_wrap.flex {
        margin-bottom: 10px;
    }

    .option_service_imgbox {
        padding: 24px 16px;
        align-items: center;
        gap: 0;
    }

    .option_service_imgbox img {
        max-width: 72px;
        width: 100%;
    }

    .option_service_txtbox {
        max-width: 100%;
    }

    .option_service_ttl {
        font-size: 14px;
    }

    /* callcharge */
    .callcharge_content .callcharge_txt {
        padding: 10px 0 0;
        font-size: 16px;
        text-align: center;
    }

    .callcharge_content .sign_ttl {
        max-width: 100%;
    }

    .callcharge_content:first-of-type {
        border-bottom: none;
    }

    .callcharge_content.flex {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }

    .callcharge_wrap .price span {
        text-align: center;
    }

    .family-att {
        width: 90%;
        margin: 5px auto 0;
        line-height: 150%;
        font-size: 12px;
    }

    .origin_content .cmt.ml-s {
        margin-left: 0px;
        font-size: 10px;
        text-align: center;
    }

    .iphone-model {
        width: 90%;
        margin: 30px auto 60px;
    }
}

@media screen and (max-width: 500px) {
    .main-area .main-area-price {
        gap: 16px;
    }

    .fv_sakaken {
        width: 60vw;
    }

    .mv_ttl {
        margin: 0 auto 10px;
    }

    .main-area-price .op {
        width: 40vw;
    }

    .safesystem_text {
        padding: 0;
    }
}

@media screen and (max-width: 320px) {
    .one-plan {
        margin-top: -70px !important;
    }

    .one-plan_list {
        margin-top: -70px !important;
    }
}