@charset "UTF-8";
.spec-tab-box sup {
  position: relative;
  font-size: .6em;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.voice-cost *,
.data-cost * {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.mt10 {
  margin-top: 10px;
}
/* 特定ページ側で有効にする */
.eraberu-only {
  display: none;
}
.simdevice-only {
  display: none;
}
.uservoice-only {
  display: none;
}
.id-all {
  display: none;
}
.gigaesim-only {
  font-weight: bold;
  font-size: 20px !important;
}
.spec-tab-head,
.spec-tab-head * {
  box-sizing: border-box;
  line-height: 1;
}
.spec-tab {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.spec-tab-box {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 30%;
  height: 4em;
  color: #b59e77;
  background-color: #ece5d9;
  border-top: 1px solid #d8c39c;
  border-left: 1px solid #d8c39c;
  border-right: 1px solid #d8c39c;
  cursor: pointer;
}
.spec-tab-box.checked {
  width: 37%;
  height: 4.5em;
  color: #333;
  background-color: #fff;
  border-top: 3px solid #e64d97;
  pointer-events: none;
}
.spec-tab-box.checked:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #fff;
  bottom: -2px;
  left: 0;
}
.tab-obi {
  margin-bottom: 5px;
  padding: 5px 24px;
  text-align: center;
  color: #fff;
  background-color: #d3c2a5;
  font-weight: bold;
}
.spec-tab-box.checked .tab-obi {
  background-color: #6084ce;
}
.tab-name {
  font-size: 18px;
  font-weight: bold;
}
.spec-tab-box.checked .tab-name {
  font-size: 20px;
}
.spec-tab-box:last-child .tab-name {
  letter-spacing: 0.3em;
}
.spec-tab-body {
  padding: 30px 80px;
  background-color: #fff;
  border: 1px solid #d8c39c;
}
.add-gb-cp {
  background-color: #fa4e9e;
  width: 960px;
  text-align: center;
  color: #FFF;
  font-size: 16px;
  line-height: 1.2em;
  padding: 0.5rem 0;
  margin: 0 auto;
}
.add-gb-cp .otoku_text {
  margin-left: 3px;
  margin-right: 3px;
  color: #fff40b;
  font-size: 16px;
  font-weight: bold;
}
.add-gb-cp.more-info {
  background-color: #f44e00;
}
.simplan_panel_area .add-gb-cp.more-info{
  width: 98%;
}
.add-gb-cp.add-gb-l_text {
  font-size: 20px;
}

.basic-ac {
  background-color: #e2d6c3;
  border-top: 1px solid #918064;
  border-bottom: 1px solid #918064;
  padding: 1rem 2rem;
  text-align: left;
  font-size: 2rem;
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.basic-ac:hover {
  opacity: .7;
  cursor: pointer;
}

.basic-ac .basic-ac-toggle {
  width: 30px;
  height: 30px;
  border-radius: 5px;
  background-color: #918064;
  position: relative;
}

.basic-ac .basic-ac-toggle::before {
  content: "";
  position: absolute;
  width: 2px;
  height: 60%;
  background-color: #FFF;
  top: 20%;
  left: 50%;
}

.basic-ac .basic-ac-toggle::after {
  content: "";
  position: absolute;
  width: 2px;
  height: 60%;
  background-color: #FFF;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) rotate(90deg);
}

.basic-ac .basic-ac-toggle.is-open::before {
  display: none;
}

.tieup-hukidasi {
  max-width: 960px;
  width: 75%;
  margin: 0 auto;
}

.tieup-hukidasi-item {
  position: relative;
  display: inline-block;
  padding: 5px 10px;
  width: fit-content;
  color: #e64d97;
  background: #FFF;
  border: solid 2px #e64d97;
  box-sizing: border-box;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.tieup-hukidasi-item:before {
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  margin-left: -15px;
  border: 8px solid transparent;
  border-top: 8px solid #FFF;
  z-index: 2;
}

.tieup-hukidasi-item:after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -17px;
  border: 10px solid transparent;
  border-top: 10px solid #e64d97;
  z-index: 1;
}

.tieup-hukidasi-item p {
  margin: 0;
  padding: 0;
  font-weight: bold;
  font-size: 20px;
}

.cost-init-box .tieup-bnr {
  margin:0;
  margin-bottom: -10px;
  width: 420px;
}

.cost-area-init .tieup-init-area .tieup-bnr img.center-image {
  width: 388px;
  margin: 20px auto 0;
}

.cost-init-box {
  padding: 1em 20px;
  border: #faf5ef solid 1px;
  border: #e7dccb solid 1px;
  background: #fff;
}

.cost-init-box h3 {
  font-size: 20px;
  margin-bottom: 20px;
  margin-top: 10px;
  text-align: center;
}

.cost-init-box h3 span.small-text {
  font-size: 74%;
}

.cost-init-box h3 img {
  margin-left: 10px;
  margin-right: 5px;
}

.cost-init-box h3 img:first-child {
  margin-left: 0;
}

.init-text-flex {
  display: flex;
  justify-content: center;
}
.init-text-flex p {
  /* margin-right: 10px; */
  margin-bottom: 0;
}

.icon-block{
  display: inline-block;
  padding-right: 5px;
}
.icon-block-inner{
  display: flex;
  justify-content: start;
  align-items: center;
}
.icon-text-block{
  font-size: 1.4rem;
  font-weight: bold;
}
.icon-text-block div {
  font-weight: bold;
}
.icon-text-block div span {
  font-size: 60%;
}
.icon-text-block .small-text{
  font-size: .7em;
  font-weight: normal;
}

.init-text-cp {
  position: relative;
  display: grid;
  place-items: center;
  width: 30%;
  border-radius: 6px;
  background: #fa4e9e;
  text-align: center;
  color: #fff;
  font-size: 14px;
}

.init-text-cost {
  margin-top: 23px;
  font-size: 15px;
  line-height: 1.6em;
}

.init-text-cost.cp_cost {
  color: #e4007f;
  margin-top: 0;
}

.init-text-cost .init-regular-cost {
  color: #999;
  text-decoration: line-through;
}

.init-text-cost .large-text {
  font-size: 20px;
}

.init-text-cost .large-text-more {
  margin-left: 5px;
  margin-right: 5px;
  font-size: 30px;
}
.ano-area li {
  padding-left: 1rem;
  line-height: 1;
  margin-top: 0.2rem;
  text-align: left;
  text-indent: -1rem;
}
.cost-area table.table-cost tr.first th.change_spec {
  position: relative;
  background: #fded9b !important;
}
.change_spec .new_spec {
  color: #d6331f;
  font-weight: bold;
}
.change_spec::before {
  content: '';
  position: absolute;
  top: -26px;
  left: 7px;
  width: 112px;
  height: 100%;
  background: url(/gigaplan/img/flag_osusume.png) no-repeat top left / contain;
}

.cost-area_title {
  font-size: 16px;
}
.cost-area_title span {
  font-size: 16px;
}
.cost-area_title.data-cost{
  margin-top: 50px;
}
.cost-area_title.voice-cost {
  margin-bottom: 1rem;
}
.miowari-obi {
  width: 100%;
  display: block;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1;
  background-color: #fcedf4;
  margin-top: 15px;
  padding: 10px;
  text-align: center;
}
.miowari-obi span {
  font-size: 18px;
  color: #e4007f;
}
.miowari-obi span span {
  font-size: 16px;
  margin-left: -0.5rem;
}
.miowari-obi .s_text {
  font-size: 80%;
  color: #333;
}
.underline {
  text-decoration: underline;
  color: inherit !important;
}
.miowari-obi b {
  font-weight: normal;
}
.miowari-obi a:hover {
  opacity: 0.5;
}
.voice-cost {
  position: relative;
}
.voice-cost table.table-cost tr td.pb40 {
  padding-bottom: 4rem;
}
.voice-cost .campaign_bnr, .data-cost .campaign_bnr {
  margin-top: 2rem;
}
.cost-area table.table-cost tr td.midashi .midashi_flex.voicesim {
  margin-bottom: 15px;
}
.midashi_flex.voiceesim {
  flex-wrap: wrap;
}
.plan_table,
.voice-opt-area {
  opacity: 0;
  transition: .2s;
}
.plan_table.show-spec,
.voice-opt-area.show-spec {
  opacity: 1;
}
table.plan_table {
  width: 100%;
}

#cost-area.data-cost {
  margin-top: 30px;
}
#cost-area-voice,
#cost-area,
#cost-area-voice *,
#cost-area * {
  box-sizing: border-box;
  line-height: 1;
}
#cost-area-voice h3,
#cost-area h3 {
  text-align: center;
  font-size: 20px;
}
.data-cost h3 {
  margin-top: 4em;
}
.data-cost h3 span.tobidashi {
  position: relative;
  font-weight: bold;
  font-size: 24px;
}
.data-cost h3 span.tobidashi:before {
  position: absolute;
  display: inline-block;
  content: "";
  background: #333;
  bottom: 0;
  left: -4%;
  transform: rotate(-35deg);
  content: "";
  width: 2px;
  height: 80%;
}
.data-cost h3 span.tobidashi:after {
  position: absolute;
  display: inline-block;
  content: "";
  background: #333;
  bottom: 0;
  right: -4%;
  transform: rotate(35deg);
  content: "";
  width: 2px;
  height: 80%;
}
.data-cost h3 span.tobidashi .s_text {
  font-weight: bold;
  font-size: 70%;
}
table.plan_table tr {
  border-bottom: 1px solid #d8c39c;
}
table.plan_table tr:first-child {
  border-bottom: none;
}
table.plan_table tr:last-child {
  border-bottom: 2px solid #d8c39c;
}
table.plan_table tbody tr:nth-child(2) {
  border-top: 2px solid #d8c39c;
}
table.plan_table tbody tr:first-child td.pinkarea {
  border-left: 3px solid #e64d97;
  border-right: 3px solid #e64d97;
  border-bottom: 3px solid #e64d97;
}
.voice-cost table.plan_table th,
.voice-cost table.plan_table td {
  width: calc(100% / 3);
}
table.plan_table th {
  position: relative;
  font-size: 26px;
  text-align: center;
  vertical-align: middle;
  background-color: #f9f4f0;
}
.data-cost table.plan_table th {
  width: 20%;
}
.data-cost table.plan_table td {
  width: calc(80% / 3);
}
table.plan_table th.plan-title {
  padding: 10px 2px;
  font-size: 18px;
  background-color: transparent;
}
table.plan_table td {
  position: relative;
  text-align: center;
  vertical-align: middle;
}
table.plan_table td.famiwari {
  background-color: #fffee5;
}
table.plan_table td.famiwari {
  background-color: #fffee5;
  border-left: 3px solid #e64d97;
  border-right: 3px solid #e64d97;
}
table.plan_table td.famiwari.td_last {
  border-bottom: 3px solid #e64d97;
}
table.plan_table td.pinkarea {
  position: relative;
  background-color: #e64d97;
}
table.plan_table td.pinkarea:after {
  position: absolute;
  content: "";
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  height: calc(23px / 2);
  width: 23px;
  background-color: #e64d97;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: 1;
}
#cost-area-voice table.plan_table td .td_title {
  line-height: 1.2;
}
#cost-area-voice table.plan_table td.pinkarea .td_title {
  color: #fff;
  font-weight: bold;
}
.data-cost table.plan_table td {
  font-size: 26px;
}
table.plan_table .tbody-flex {
  display: flex;
  justify-content: space-evenly;
}
.data-cost td.dataEsim-class,
.data-cost td.data-class {
  border-right: 1px solid #f9f4f0;
}
.base_text_line {
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-size: 26px;
}
table.plan_table .s_text,
.voice-opt-box .s_text {
  font-size: 60%;
}
table.plan_table tr {
  position: relative;
}
table.plan_table tr .tr_label {
  position: absolute;
  width: 155%;
  top: -14px;
  right: 4%;
  padding: 3px;
  font-size: 16px;
  color: #fff;
  background-color: #6084ce;
  line-height: 1;
}
.family_label {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin-top: 15px;
  padding: 10px 0;
  font-size: 16px;
  background-color: #f2f2f2;
}
.top_pink a {
  position: relative;
  display: block;
  margin-right: 15px;
  padding: 5px 5px 5px 20px;
  color: #fff;
  background-color: #e64d97;
}
.top_pink a:before {
  position: absolute;
  content: "";
  top: 50%;
  left: 9px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotateZ(-45deg) translateY(-75%);
}
.top_pink a:hover {
  text-decoration: none;
  opacity: .7;
}
.pink_text {
  font-size: 18px;
  font-weight: bold;
  color: #e64d97;
}
.family_label .s_text {
  font-size: 70%;
  font-weight: bold;
}
.category-wrap-title {
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
  letter-spacing: 1px;
  font-size: 20px;
}
.data-cost .category-wrap-title {
  margin-bottom: 0;
  justify-content: center;
  letter-spacing: 0;
  font-size: 18px;
}
.category-wrap-title img {
  width: 30px;
  margin-left: 20px;
  margin-right: 10px;
}
.category-wrap-title img:first-child {
  margin-left: 0;
}
.category-wrap-title p {
  display: flex;
  align-items: center;
  margin: 0;
  font-size: 20px;
}
.category-wrap-title span {
  margin-left: 5px;
  font-size: 12px;
}
#cost-area-voice h2.voice-title {
  display: none;
}

.spec-flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.spec-flex-box {
  display: flex;
  flex-direction: column;
}
.spec-flex-box:nth-child(1) {
  width: 74%;
}
.spec-flex-box.sp-column {
  width: 22%;
}
.spec-flex-box:nth-child(2) .spec-flex-box-title {
  font-size: 16px;
}
.spec-flex-box-title div {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: bold;
}
.spec-flex-box-title img {
  margin-right: 5px;
}
.voice-opt-area * {
  box-sizing: border-box;
}
.voice-opt-area p,
.voice-opt-area span {
  line-height: 1.2;
}
.voice-opt-area {
  position: relative;
  flex-grow: 1;
  padding: 5px;
  background-color: #f9f4f0;
  box-sizing: border-box;
}
.voice-opt-area .conect {
  position: absolute;
  top: 50%;
  right: 102%;
  width: 24px;
  height: 24px;
  background-color: #755f37;
  border-radius: 50%;
  transform: translateY(-50%);
}
.voice-opt-area .conect i.plus {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.voice-opt-area .conect i.plus:before {
  position: absolute;
  content: "";
  width: 70%;
  height: 3px;
  top: 50%;
  left: 50%;
  background-color: #fff;
  transform: translateX(-50%) translateY(-50%);
}
.voice-opt-area .conect i.plus:after {
  position: absolute;
  content: "";
  width: 3px;
  height: 70%;
  top: 50%;
  left: 50%;
  background-color: #fff;
  transform: translateX(-50%) translateY(-50%);
}
.voicecp_label {
  position: absolute;
  width: 100%;
  top: -14px;
  right: 0;
  padding: 3px;
  font-size: 16px;
  text-align: center;
  color: #fff;
  background-color: #6084ce;
  line-height: 1;
}
.voice-opt-box {
  padding: 30px 5px;
  background-color: #fff;
}
.voice-opt-name {
  margin-bottom: 7px;
  text-align: center;
}
.voice-opt-name span {
  font-size: 20px;
  font-weight: bold;
}
.voice-opt-box .before {
  font-size: 22px;
  text-decoration: none;
}
.voice-opt-box .before .s_text {
  font-size: 70%;
}
.voice-opt-link {
  margin-top: 25px;
  text-align: center;
}
.voice-opt-link a {
  position: relative;
  padding: 3px 15px 3px 25px;
  color: #e64d97;
  background-color: #fff;
  border: 1px solid #e64d97;
  border-radius: 50px;
}
.voice-opt-link a: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%);
}
.voice-opt-link a:hover {
  opacity: .7;
  text-decoration: none;
}
.esim-only {
  display: none;
}

table.plan_table {
  table-layout: fixed;
  position: relative;
}

.spec-tab-body .kome {
  margin: 0 0 10px;
  font-size: 12px;
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
}
.spec-tab-body .kome:before {
  content: "※";
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* ----------------
アフィリエイト系のリンク制御
------------------*/
#cost-area-voice.reject-link .top_pink a {
  pointer-events: none;
  padding: 5px;
}
#cost-area-voice.reject-link .top_pink a:before,
#cost-area-voice.reject-link .voice-opt-link,
#cost-area-voice.reject-link .simcp_title.mini {
  display: none;
}

table.plan_table.voice-table .icon_osusume:before {
    position: absolute;
    content: '';
    top: 0;
    left: -64px;
    width: 100%;
    height: 100%;
    background: url(/gigaplan/img/icon_osusume.png) no-repeat center;
}
@media screen and (max-width: 640px) {
  table.plan_table.voice-table .icon_osusume:before {
      background-size: clamp(28px, 7vw, 30px);
      left: -10.5vw;
  }
}


@media screen and (min-width: 641px) {
  .spec-tab-box:hover {
    opacity: .7;
  }
  #cost-area-voice,
  #cost-area {
    margin: 0 auto;
  }
  .cost-init-box h3 img {
    width: 32px;
  }
  .cost-init-box-flex {
    display: flex;
    justify-content: space-between;
  }
  .cost-init-box-flex>div {
    position: relative;
    margin-right: 80px;
    margin: 0 auto;
  }

  .cost-init-box-flex>div:last-child {
    margin-right: 0;
  }

  /* .cost-init-box-flex>div.init-flex-left::after {
    position: absolute;
    top: 0;
    left: 96%;
    margin: 0 40px;
    content: "";
    width: 1px;
    height: 100%;
    background-color: #faf5ef;
    background-color: #e7dccb;
  } */
  .init-flex-left {
    width: 60%;
  }
  .mouse_off.dataesim {
    width: 40%;
  }

  .top-border {
    padding-top: 1em;
    border-top: 1px solid #d8c39c;
  }
  table.plan_table th,
  table.plan_table td {
    height: 65px;
  }
  .data-cost table.plan_table th,
  .data-cost table.plan_table td {
    height: 53px;
  }
  table.plan_table th.first-th,
  table.plan_table th.first-td {
    height: 53px !important;
  }
  .data-cost table.plan_table .tbody-flex {
    width: 50%;
    margin: 0 auto;
  }

  .cost-init-box-flex>div {
    position: relative;
    margin: 0 auto;
  }

  .init-text-cp {
    width: 27%;
  }

  .cost-area table.table-cost tr.cp_giga_add th {
    border-left: 1px solid #e5d6c1;
    background-color: #F9F4F0;
    padding: .5rem 0;
  }
  .cost-area table.table-cost tr:last-child td {
    border-bottom: 1px solid #e5d6c1;
  }
  .cost-area table.table-cost tr.voice-row:last-child td {
    border-bottom: none;
  }
  table.plan_table th.first-th,
  table.plan_table td.first-th {
    padding: 10px 0;
  }

  .cost-area table.table-cost tr.cp_giga_add th.cp_giga_midashi {
    border-left: none;
    background: #e4007f;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    position: relative;
    text-decoration: underline;
    padding-left: 1rem;
  }

  .cost-area table.table-cost tr.cp_giga_add th.cp_giga_midashi a {
    color: #fff;
    position: relative;
  }

  .cost-area table.table-cost tr.cp_giga_add th.cp_giga_midashi a::before {
    content: "";
    position: absolute;
    left: -7px;
    top: 1px;
    display: inline-block;
    border-style: solid;
    border-width: 6px 0 6px 6px;
    border-color: transparent transparent transparent #fff;
  }

  .cost-area table.table-cost tr.cp_giga_add th.cp_giga_midashi::after {
    content: "";
    position: absolute;
    top: 0;
    right: -15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 23px 0 25px 15px;
    border-color: transparent transparent transparent #e4007f;
  }

  .cost-area table.table-cost tr.cp_giga_add th .cp_giga_flex {
    display: flex;
    justify-content: center;
    align-items: baseline;
  }

  .cost-area table.table-cost tr.cp_giga_add th .cp_giga_flex .cp_giga_before {
    color: #999999;
    font-size: 20px;
    margin-right: 20px;
    position: relative;
    padding: 0 5px;
    box-sizing: border-box;
  }

  .cost-area table.table-cost tr.cp_giga_add th .cp_giga_flex .cp_giga_before::before {
    position: absolute;
    content: "";
    display: block;
    transform: rotate(20deg);
    background-color: #e4007f;
    width: 100%;
    height: 1px;
    top: 50%;
    left: 0;
  }

  .cost-area table.table-cost tr.cp_giga_add th .cp_giga_flex .cp_giga_before::after {
    content: "";
    position: absolute;
    top: 40%;
    right: -18px;
    transform: translateY(-50%);
    border: 5px solid transparent;
    border-left: 8px solid #e4007f;
  }

  .cost-area table.table-cost tr.cp_giga_add th .cp_giga_flex .cp_giga_before span {
    font-size: 60%;
  }

  .cost-area table.table-cost tr.cp_giga_add th .cp_giga_flex .cp_giga_after {
    font-size: 26px;
    color: #e4007f;
  }

  .cost-area table.table-cost tr.cp_giga_add th .cp_giga_flex .cp_giga_after span {
    font-size: 60%;
  }

  .cost-area-init .tieup-init-area {
    width: 85%;
    margin: 20px auto;
  }

  .cost-area-init .tieup-init-area .tieup-bnr img {
    width: 100%;
  }
  .cost-area-init .tieup-init-area h3 {
    font-weight: bold;
    margin-bottom: 20px;
  }

  .cost-area-init .tieup-init-area .tieup-price {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .cost-area-init .tieup-init-area .tieup-price p {
    margin-bottom: 0;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-initcost {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    border: solid 1px #999;
    font-size: 17px;
    width: 31%;
    line-height: 1em;
    height: 75px;
    padding: 7px;
    box-sizing: border-box;
    position: relative;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-initcost::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 12px solid #ccc;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-initcost .tieup-initcost-right {
    font-size: 30px;
    color: #999;
    position: relative;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-initcost .tieup-initcost-right::before {
    position: absolute;
    content: "";
    display: block;
    transform: rotate(20deg);
    background-color: #e64d97;
    width: 100%;
    height: 1px;
    top: 35%;
    left: 0;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-initcost .tieup-initcost-right span {
    font-size: 12px;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-cpcost {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    border: solid 1px #e64d97;
    color: #e64d97;
    font-size: 16px;
    font-weight: bold;
    width: 31%;
    line-height: 1em;
    height: 75px;
    padding: 7px;
    box-sizing: border-box;
    position: relative;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-cpcost::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 12px solid #f6b2d2;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-cpcost .tieup-cpcost-right {
    font-size: 30px;
    position: relative;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-cpcost .tieup-cpcost-right::before {
    position: absolute;
    content: "";
    display: block;
    transform: rotate(20deg);
    background-color: #e64d97;
    width: 100%;
    height: 1px;
    top: 40%;
    left: 0;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-limitedcost {
    border: solid 3px #f6b2d2;
    width: 31%;
    background: #fffad3;
    font-weight: bold;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-limitedcost .limited-msg {
    color: #fffad3;
    background: #e64d97;
    font-size: 20px;
    margin: 1px 2px 0;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-limitedcost .limited-price {
    font-size: 45px;
    color: #e64d97;
    font-weight: bold;
  }

  .cost-area-init .tieup-init-area .tieup-price .tieup-limitedcost .limited-price span {
    font-size: 25px;
    font-weight: bold;
  }
  .voice-cost .campaign_bnr img, .data-cost .campaign_bnr img {
    width: 100%;
    max-width: 960px;
  }
  #cost-area-voice .spec-flex-box-title {
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    font-size: 22px;
    color: #95856b;
    line-height: 1.2em;
    letter-spacing: 0.2em;
    border-top: 2px solid #95856b;
    border-bottom: 2px solid #95856b;
  }
  #cost-area-voice .spec-flex-box-title.vf div {
    font-size: 16px;
    line-height: 1.2em;
  }
  .spec-tab-box {
    cursor: pointer;
  }
  .Period .cp_baloom_allPlan {
    font-size: 14px;
    border-radius: 5px;
    padding: 6px 3px;
    background: #e4348e;
    color: #fff;
    text-align: center;
    max-width: 16em;
    margin: 0 auto 0.5rem;
  }

  .Period .numTxtbox {
    font-size: 20px;
  }

  .Period .cost-area-init span {
    font-size: 20px;
  }

  .Period .cost-area-init .excluding-tax {
    font-size: 16px;
  }

  .Period .cost-area-init .fzXL {
    font-weight: bold;
    font-size: 30px;
  }

  #costTable {
    background-color: #faf5ef;
  }

  .costTableWrap {
    margin: auto;
    color: #333;
    max-width: 960px;
    padding-top: 1rem;
  }

  .costTable-title {
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 2px;
    padding: 3rem 0;
  }

  .spec_index {
    font-size: 20px;
    font-weight: normal;
    color: #303030;
    margin: 0 0 20px;
    padding-left: 15px;
    background: url(/hdd/img/service-voice-h2-title.jpg) no-repeat center left;
  }

  .cost-area-init {
    text-align: center;
    font-size: 30px;
    background: #fff;
    padding: .5rem;
  }

  .cost-area-init span {
    font-size: 50%;
  }

  .cost-area table.table-cost {
    width: 100%;
    margin: auto;
    margin-top: 3rem;
  }

  .cost-area table.table-cost tr.first th {
    background-color: #e5d6c1;
    padding: .5rem 0;
    color: #84704B;
    font-size: 26px;
    width: calc(960px/6);
    text-align: center;
  }
  .cost-area table.table-cost tr.first td {
    width: calc(960px/6);
  }
  .cost-area table.table-cost tr.first th:first-child, .cost-area table.table-cost tr.first td:first-child {
    width: 20%;
  }
  .cost-area table.table-cost tr.first th span {
    font-size: 13px;
  }

  .cost-area table.table-cost tr.first th div {
    border-left: 1px solid #fff;
  }

  .cost-area table.table-cost tr td {
    padding: 15px 0;
  }

  .cost-area table.table-cost tr.white td {
    background-color: #fff;
  }

  .cost-area table.table-cost tr td.midashi {
    box-sizing: border-box;
    font-size: 16px;
    letter-spacing: 4px;
    padding: 10px 0 10px 25px;
    vertical-align: middle;
    padding-left: 10px;
  }
  .cost-area table.table-cost tr td.midashi .midashi_flex {
    display: flex;
    align-items: center;
  }
  .cost-area table.table-cost tr td.midashi .midashi_flex p {
    font-size: 16px;
    margin: 0;
  }

  .cost-area table.table-cost tr td.midashi img {
    margin-right: 10px;
    vertical-align: middle;
  }

  .cost-area table.table-cost tr td.midashi img.ajust {
    margin-right: 12px;
  }

  .cost-area table.table-cost tr td.midashi span {
    font-size: 50%;
    display: block;
    letter-spacing: 0;
    margin-top: .5em;
  }

  .cost-area table.table-cost tr td:not(.midashi) {
    font-size: 26px;
    text-align: center;
    border-left: 1px solid #e5d6c1;
    line-height: .8;
    vertical-align: middle;
  }

  .cost-area table.table-cost .cp-ley {
    color: #d1528e;
  }

  .cost-area table.table-cost tr td:not(.midashi) span.s_text {
    font-size: 50%;
  }
  .cost-area table.table-cost tr td:not(.midashi) p.s_text {
    font-size: 45%;
    margin-bottom: 0;
  }
  .cost-area-hikari {
    margin: 1rem 0;
  }

  .cost-area-anno {
    margin: 1rem 0 3rem;
    font-size: 12px;
  }

  .cost-area-anno li {
    margin: .5rem 0;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.4em;
  }

  .cost-area .table-basic {
    width: 960px;
    margin: auto;
    display: flex;
  }

  .cost-area .table-basic dt {
    width: 25%;
    background-color: #e5d6c1;
    color: #84704B;
    font-size: 16px;
    line-height: 1.5;
  }

  .cost-area .table-basic dt div {
    border-bottom: 1px solid #fff;
    padding: 1.5rem .5rem;
    margin: 0 .5em;
    height: 100%;
    box-sizing: border-box;
  }

  .cost-area .table-basic dt div.border-none,
  .cost-area .table-basic dd div.border-none {
    border: none;
  }

  .cost-area .table-basic dd {
    width: 75%;
    background-color: #fff;
    font-size: 16px;
    line-height: 1.5;
  }

  .cost-area .table-basic dd div {
    border-bottom: 1px solid #e5d6c1;
    padding: 1.5rem 1rem;
    margin: 0 .5em;
    height: 100%;
    box-sizing: border-box;
  }

  .cost-area .table-basic dd ul {
    font-size: 14px;
    margin-top: 1rem;
  }

  .cost-area .table-basic dd ul li {
    margin: .5rem;
  }

  .cost-area .precautions {
    padding: 1rem;
    background-color: #fff;
    line-height: 1.5;
  }

  .cost-area .precautions li {
    margin: .5rem;
    padding-left: 1em;
    text-indent: -1em;
  }

  #costTable .cp_msg_flex {
    display: flex;
    justify-content: center;
    margin: 5px auto;
    width: auto;
  }

  #costTable .cp_msg,
  #costTable .cp_msg_detail {
    font-size: 15px;
  }

  #costTable .cp_msg {
    position: relative;
    color: #fff;
    padding: 5px 0 5px 10px;
    background-color: #cf458a;
  }

  #costTable .cp_msg:after {
    position: absolute;
    content: "";
    top: 0;
    right: -13px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 16.5px 13px;
    border-color: transparent transparent transparent #cf458a;
  }

  #costTable .cp_msg_detail {
    padding: 5px 10px 5px 20px;
    background-color: #ffe6f3;
    color: #e4007f;
  }
  .cost-init-box .tieup-bnr img {
    width: 70%;
  }
  .ano-area {
    margin-top: 1rem;
    font-size: 12px;
  }
  .miowari_after td {
    border-bottom: none !important;
  }
  .init-text-cp {
    padding: 10px 0;
  }
  .voice-cost table.plan_table tr:first-child td {
    height: auto;
    line-height: 15px;
    position: relative;
    vertical-align: baseline;
  }
  td .td_title {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 2px;
  }
  /*通話定額*/
  .voicecp_label {
    padding: 7px 3px;
  }
  .spec-flex-box-title.sp {
    display: none !important;
  }
  .spec-flex-box-title.vf {
    margin-bottom: 71px !important;
  }
  .voice-opt-box {
    margin-bottom: 5px;
    padding: 20px 5px;
  }
  .famiwari_obi {
    width: 100%;
    margin: 3rem 0 0;
    padding: 2%;
    font-size: 12px;
    background-color: #f7f5f1;
    text-align: center;
    line-height: 1.5!important;
  }
  .famiwari_obi span {
    font-size: 24px;
    color: #e64d97;
  }
  .kome.price-table-under {
    font-size: 14px;
  }

  /* ----------------
  アフィリエイト系のリンク制御
  ------------------*/
  #cost-area-voice.reject-link .famiwari_obi {
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 640px) {
  .spec-tab-box sup {
    font-size: clamp(10px, .6em, 12px);
  }
  .basic-ac {
    font-size: 1.7rem;
    line-height: 3rem;
  }

  .spec-tab-box {
    font-size: clamp(9px, 3vw, 13px);
  }
  .spec-tab-box .tab-name {
    font-size: clamp(9px, 3vw, 13px);
  }
  .spec-tab-box.checked {
    padding-top: 5px;
  }
  .spec-tab-box .Period {
    width: 85%;
  }
  .spec-tab-box.checked .Period {
    width: 82%;
  }
  .spec-tab-box.checked .tab-name {
    font-size: clamp(12px, 3.5vw, 17px);
  }
  .tab-obi {
    padding: 3px 5%;
  }
  .spec-tab-box.checked .tab-obi {
    padding: 3px 9%;
  }
  .spec-tab-body {
    padding: 5% 3%;
  }

  .cost-area_title {
    font-size: clamp(13px, 3.7vw, 18px);
    line-height: 1.1;
  }
  .cost-area_title .small_sp {
    font-size: 80%;
  }

  .cost-init-box {
    padding: 1em 0;
  }
  .cost-init-box.init_cp_box {
    padding: 0 !important;
    background: unset !important;
    border: none !important;
  }

  .cost-init-box-flex>div.init-flex-left,
  .cost-init-box-flex>div.dataesim {
    margin: 0 0 2vw;
    padding: 3vw 0vw 2vw;
    border: #e7dccb solid 1px;
    background: #fff;
  }
  .cost-init-box-flex>div.init-flex-left {
    margin-bottom: 1em;
  }

  /* .cost-init-box-flex>div:last-child {
    border-bottom: none;
    padding: 1em 0 0;
  } */
  .icon-text-block{
    font-size: 1rem;
    font-weight: bold;
  }
  .icon-text-block div span {
    font-size: 70%;
  }

  .cost-init-box h3 img {
    width: 6vw;
  }

  .cost-init-box h3 {
    font-size: 4vw;
    margin-bottom: 10px;
  }

  .cost-init-box h3.init-text-cp-ad {
    margin-bottom: 26px;
  }

  .init-text-cp {
    font-size: 3.6vw;
  }

  .init-text-cost {
    margin-top: 0;
    font-size: 3.6vw;
  }

  .init-text-cost .large-text {
    font-size: 4vw;
  }

  .init-text-cost .large-text-more {
    margin: 0;
    font-size: 6vw;
  }

  .tieup-initarea-sp {
    background: #fff;
    padding: 10px 7px;
  }

  .tieup-initarea-sp h3 {
    font-size: 23px;
    text-align: center;
    font-weight: bold;
    line-height: 1.2em;
    margin-top: 5px;
  }

  .tieup-initarea-sp h3 span {
    font-size: 16px;
    font-weight: bold;
  }

  .tieup-price p {
    margin-bottom: 0;
  }

  .tieup-initcost-title-sp {
    font-size: 4vw;
    margin: 0 3% 5%;
  }

  .tieup-initarea-sp .tieup-initcost {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    padding: 15px 5px;
    border: solid 1px #999;
    width: 85%;
    margin: 0 auto 20px;
    position: relative;
  }

  .tieup-initarea-sp .tieup-initcost::after {
    content: ' ';
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 0;
    height: 0;
    border: none;
    border-top: 12px solid #b8b8b8;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
  }

  .tieup-initcost-left {
    font-size: 18px;
    width: 45%;
    text-align: center;
  }

  .tieup-initcost-right {
    font-size: 28px;
    font-weight: bold;
    color: #777;
    line-height: 0.8em;
    position: relative;
    width: 45%;
  }

  .tieup-initcost-right span {
    font-size: 12px;
  }

  .tieup-initcost-right::before {
    position: absolute;
    content: "";
    display: block;
    transform: rotate(15deg);
    background-color: #e64d97;
    width: 80%;
    height: 1px;
    top: 45%;
    left: 0;
  }

  .tieup-initarea-sp .tieup-cpcost {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    padding: 15px 5px;
    border: solid 1px #e64d97;
    width: 85%;
    margin: 0 auto 20px;
    position: relative;
  }

  .tieup-initarea-sp .tieup-cpcost::after {
    content: ' ';
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 0;
    height: 0;
    border: none;
    border-top: 12px solid #f5c5d9;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
  }

  .tieup-cpcost-left {
    font-size: 17px;
    line-height: 1.2em;
    color: #e64d97;
    text-align: center;
    width: 45%;
  }

  .tieup-cpcost-right {
    font-size: 28px;
    font-weight: bold;
    color: #eb71ac;
    position: relative;
    width: 45%;
  }

  .tieup-cpcost-right::before {
    position: absolute;
    content: "";
    display: block;
    transform: rotate(15deg);
    background-color: #e64d97;
    width: 80%;
    height: 1px;
    top: 45%;
    left: 0;
  }

  .tieup-limitedcost {
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }

  .limited-msg {
    color: #ffff99;
    background: #e64d97;
    font-size: 20px;
    margin: 1px 2px 0;
  }

  .limited-price {
    font-size: 40px;
    color: #e64d97;
    font-weight: bold;
  }

  .limited-price span {
    font-size: 25px;
    font-weight: bold;
  }

  .tieup-hukidasi {
    width: 95%;
  }

  .tieup-hukidasi-item p {
    font-size: 4.5vw;
  }
  .simplan_panel_area .add-gb-cp.more-info{
    width: 96%;
  }
  .esim-label {
    margin-top: 10px;
  }
  table.plan_table tbody tr {
    height: 48px;
  }
  .data-cost table.plan_table tbody tr {
    height: auto;
  }
  .cost-area .voice-cost .table-cost .voiceesim {
    display: flex;
    flex-wrap: wrap;
    width: 60%;
    align-items: center;
  }
  .voice-cost table.plan_table tbody tr:first-child {
    max-height: 8vw;
    height: auto;
  }
  #cost-area-voice,
  #cost-area {
    margin-top: 0.5em;
    background-color: #fff;
    border-radius: 3px;
  }
  #cost-area.data-cost {
    margin-top: 2em;
  }
  #cost-area-voice h3,
  #cost-area h3 {
    font-size: 4vw;
  }
  .spec-flex-box-title {
    margin-bottom: 15px;
  }
  .data-cost h3 span.tobidashi {
    font-size: 4vw;
  }
  table.plan_table th {
    padding: 0;
    font-size: clamp(12px, 4vw, 18px);
    line-height: 1.2;
  }
  .data-cost table.plan_table th {
    padding: 0;
    font-size: clamp(16px, 5vw, 23px);
  }
  table.plan_table td {
    font-size: 4vw;
  }
  .voicecp_label {
    padding: 2px 0;
    top: -24px;
    font-size: 3.3vw;
    line-height: 1.1em;
  }
  .base_text_line {
    font-size: clamp(16px, 5vw, 22px);
  }
  .data-cost .base_text_line {
    padding: 10px 0;
    font-size: clamp(14px, 4.5vw, 20px);
  }
  .voice-opt-box .base_text_line {
    font-size: clamp(13px, 4.5vw, 19px);
  }
  .voice-opt-area .voice-opt-name {
    margin-bottom: 5px;
    font-size: clamp(10px, 3.2vw, 16px);
  }
  table.plan_table .s_text {
    font-size: 60%;
  }
  table.plan_table tr {
    position: relative;
  }
  table.plan_table tr .tr_label {
    top: -17%;
    right: 2%;
    padding: 2px 0;
    font-size: 3.3vw;
    line-height: 1.1em;
  }
  .voice-opt-box {
    padding: 20px 1%;
  }
  .voice-opt-name span {
    font-size: 3.2vw;
  }
  .family_label {
    margin-top: 15px;
    padding: 1.6vw;
    font-size: 3.1vw;
  }
  .top_pink a {
    margin-right: 1vw;
    padding: 1vw 1vw 1vw 3vw;
    color: #fff;
    background-color: #e64d97;
  }
  .top_pink a:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 7px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotateZ(-45deg) translateY(-75%);
  }
  .pink_text {
    font-size: 4vw;
  }
  .voice-opt-link a {
    font-size: 3vw;
    padding: 3px 15% 3px 20%;
  }
  .voice-opt-link a:before {
    left: 10%;
  }
  .ano-area {
    font-size: 12px;
  }
  .category-wrap {
    border-bottom: 1px solid #d8c39c;
    margin-bottom: 1rem;
  }
  .category-wrap.category-top {
    border-bottom: none;
    background: #f9f4f0;
  }
  .add-gb-cp {
    width: 100%;
    margin-bottom: 0;
    font-size: 3.6vw;
  }
  .add-gb-cp .otoku_text {
    font-size: 3.6vw;
  }

  .add-gb-cp a {
    position: relative;
    text-decoration: underline;
    color: #fff;
  }

  .category-wrap-title {
    font-size: 4vw;
  }
  .category-wrap-title img {
    margin-right: 0;
    margin-left: 10px;
  }
  .category-wrap-title img:first-child {
    margin-left: 0;
  }
  .category-wrap-title p {
    font-size: 4vw;
  }
  .accordion .category-wrap-title {
    border-bottom: 1px solid #d8c39c;
  }

  .accordion .category-wrap-title {
    margin-bottom: 0;
    padding: 0 1em 1em;
    justify-content: space-between;
  }

  .accordion table.plan_table tr:first-child {
    border-top: none;
  }
  .accordion .category-wrap-title i {
    position: relative;
    width: 6vw;
    height: 6vw;
    border: 1px solid #d8c39c;
  }
  .accordion .category-wrap-title i:before {
    position: absolute;
    content: "";
    width: 80%;
    height: 1px;
    top: 50%;
    left: 10%;
    background-color: #d8c39c;
  }
  .accordion .category-wrap-title i:after {
    position: absolute;
    content: "";
    width: 80%;
    height: 1px;
    top: 50%;
    left: 10%;
    background-color: #d8c39c;
    transform: rotateZ(90deg);
    transition: .3s ease;
  }
  .accordion .category-wrap-title.open i:after {
    transform: rotateZ(360deg);
    transition: .3s ease;
  }
  .data-cost h3 {
    margin-top: 0;
  }

  .esim-row .category-wrap-title {
    margin-top: 0;
  }

  .category-wrap-title img {
    margin-right: 5px;
    width: 6vw;
  }
  .data-cost .category-wrap-title img {
    width: 6vw;
    margin-right: 3px;
  }

  .category-wrap-title span {
    margin-left: 5px;
    font-size: 10px;
  }
  .data-cost .category-wrap-title span {
    margin-left: 1px;
  }
  .plan-title small {
    font-size: 70%;
    display: block;
    margin: 5px 0;
    line-height: 1;
    text-align: center;
  }
  .data-cost .category-wrap-title {
    font-size: clamp(9px, 3vw, 13px);
  }
  .data-cost .plan-title small {
    font-size: clamp(9px, 2.8vw, 13px);
  }

  .category-wrap ul {
    display: flex;
    justify-content: space-between;
  }
  .cost-area table.table-cost {
    width: 100%;
    background-color: #fff;
  }
  .cost-area table.table-cost span.s_text, .cost-area table.table-cost tr.first th span {
    font-size: 10px;
  }
  .cost-area table.table-cost span.cost_tax {
    display: block;
    line-height: 1;
  }
  .cost-area table.table-cost tr td {
    border-right: 1px solid #d8c39c;
  }
  .cost-area table.table-cost tr td:last-child {
    border-right: none;
  }
  .category-wrap ul li, .cost-area table.table-cost tr.first th {
    border: none;
    text-align: center;
    box-sizing: border-box;
    width: calc(100% / 5);
    margin-bottom: 1rem;
    background: #f9f4f0;
    font-size: 4vw;
  }
  .cost-area table.table-cost tr.first th div {
    border-right: 1px solid #d8c39c;
    margin-top: 4px;
    margin-bottom: 4px;
  }
  .cost-area table.table-cost tr td:not(.midashi) {
    text-align: center;
    font-size: 4.5vw;
    line-height: 1.1;
  }
  .category-wrap.category-top ul li {
    border: none;
    margin: 0;
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .category-wrap.category-top ul li.change_spec {
    border: 2px solid #d6331f;
    padding-top: 2px;
    padding-bottom: 2px;
  }

  .cost-area-voice-title {
    border-right: 1px solid #d8c39c;
    font-size: 4vw;
    margin-bottom: 0;
  }

  .cost-area-voice-title .before {
    font-size: 0.8em;
    color: #999;
    text-decoration: line-through;
    position: relative;
    padding-right: 8px;
  }

  .cost-area-voice-title .before::after {
    position: absolute;
    right: 0px;
    top: 10%;
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid #D14B89;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
  }

  .cost-area-voice-cost {
    font-size: 4.5vw;
    line-height: 1.1;
  }
  .cost-area-voice-before{
    display: inline-block;
    color: #999;
    font-size: 2vw;
    position: relative;
    margin-bottom: 2.4vw;
  }
  .cost-area-voice-before span{
    font-size: 2vw;
  }
  .cost-area-voice-before::before{
      position: absolute;
      content: "";
      display: block;
      background-color: #999;
      width: 100%;
      height: 1px;
      top: 50%;
      left: 0;
  }
  .cost-area-voice-before::after {
    position: absolute;
    left: 50%;
    bottom: -8px;
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #D14B89;
    transform: translateX(-50%);
  }

  .category-wrap span {
    font-size: 10px;
  }
  .category-wrap span.text-plus {
    color: #999;
    font-size: 5vw;
    font-weight: bold;
    margin-left: 0.4em;
    margin-right: 0.4em;
}
  .cost-area-voice-cost span.tax {
    display: block;
    line-height: 1;
  }
  .cost-area-voice-cost span.black_text {
    display: block;
    margin: 0.6em 0;
    line-height: 1;
    color: #333;
    font-size: 2vw;
    letter-spacing: -0.1em;
  }
  .cost-area-voice-cost span.black_text.black_text_l {
    font-size: 3vw;
  }
  .tieup-initarea-sp img.center-image {
    display: block;
  }
  .cost-init-box .tieup-bnr {
    width: 100%;
  }
  .cost-init-box .tieup-bnr img {
    width: 90%;
  }
  .spec-flex {
    display: flex;
    flex-wrap: wrap;
  }
  .spec-flex-box:nth-child(1) {
    width: 100%;
  }
  .spec-flex-box.sp-column {
    width: 100%;
  }
  .spec-flex-box-title {
    font-size: 4.5vw;
  }
  .spec-flex-box:nth-child(2) .spec-flex-box-title {
    font-size: 3.5vw;
    letter-spacing: 0;
  }
  .spec-flex-box-title img {
    margin-right: 2%;
    width: 20%;
  }
  .voice-opt-area .conect {
    left: -13px;
    width: 20px;
    height: 20px;
  }
  table.plan_table th.plan-title {
    padding: 0;
    vertical-align: top;
  }
  table.plan_table th.plan-title:nth-child(2) {
    line-height: 1;
  }
  .voice-cost .campaign_bnr, .data-cost .campaign_bnr {
    width: 100%;
  }
  .Period .cost-area-init {
    width: 100%;
    padding-left: 3%;
  }

  .Period .cp_baloom_allPlan {
    font-size: 3.8vw;
    line-height: 1.3;
    border-radius: 5px;
    padding: 6px 3px;
    background: #e4348e;
    color: #fff;
    text-align: center;
    max-width: 16em;
    margin: 0 auto 0.5rem;
  }

  .Period .cost-area-init .numTxtbox {
    font-size: 5vw;
  }

  .Period .cost-area-init .numTxtbox .initcost-sankaku::after {
    content: "↓";
    position: absolute;
    font-size: 14px;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  .Period .cost-area-init .numTxtbox img {
    vertical-align: baseline;
  }

  .Period .cost-area-init span {
    font-size: 4.5vw;
  }

  .Period .cost-area-init .excluding-tax {
    font-size: 3.5vw;
  }

  .Period .cost-area-init .fzXL {
    font-weight: bold;
    font-size: 8vw !important;
  }

  #costTable {
    background-color: #faf5ef;
  }

  .costTableWrap {
    margin: auto;
    color: #333;
    max-width: 960px;
    padding: 1rem 5px;
  }

  .costTable-title {
    text-align: center;
    font-size: 5vw;
    font-weight: bold;
    letter-spacing: 2px;
    padding: 3rem 0;
  }

  .spec_index {
    font-size: 4vw;
    font-weight: normal;
    color: #303030;
    margin: 0 3% 1rem;
    padding-left: 11px;
    background: url(/hdd/img/service-voice-h2-title.jpg) no-repeat center left / 3px auto;
  }

  .cost-area {
    margin-bottom: 2rem;
  }

  .cost-area-init-wrap {
    display: flex;
    align-items: center;
    background: #fff;
    padding: .5rem;
    font-size: 4vw;
  }

  .cost-area-init-title {
    width: 25%;
    text-align: center;
    letter-spacing: 2px;
  }

  .cost-area-init {
    font-size: 7vw;
    text-align: center;
    background-color: #fff;
    padding: 10px 0px;
    line-height: 6.2vw;
  }

  .cost-area-init span {
    font-size: 50%;
  }

  .cost-area-hikari {
    margin: 1rem 0;
  }

  .cost-area-anno {
    margin: 1rem 0 2rem;
    font-size: 12px;
  }

  .cost-area-anno li {
    line-height: 1.6em;
    margin: 0 0 .8rem;
    text-indent: -1em;
    padding-left: 1em;
  }

  .cost-area .table-basic {
    width: 100%;
    margin: auto;
    display: flex;
  }

  .cost-area .table-basic dt {
    width: 25%;
    background-color: #e5d6c1;
    color: #84704B;
    font-size: 3.5vw;
    line-height: 1.5;
  }

  .cost-area .table-basic dt div {
    border-bottom: 1px solid #fff;
    padding: 1.5rem 0;
    margin: 0 .5em;
    height: 100%;
    box-sizing: border-box;
  }

  .cost-area .table-basic dt div.border-none,
  .cost-area .table-basic dd div.border-none {
    border: none;
  }

  .cost-area .table-basic dd {
    width: 75%;
    background-color: #fff;
    font-size: 3.5vw;
    line-height: 1.5;
  }

  .cost-area .table-basic dd div {
    border-bottom: 1px solid #e5d6c1;
    padding: 1.5rem 0;
    margin: 0 .5em;
    height: 100%;
    box-sizing: border-box;
  }

  .cost-area .table-basic dd ul {
    font-size: 3.5vw;
    margin-top: 1rem;
  }

  .cost-area .table-basic dd ul li {
    margin: .5rem;
  }

  .cost-area .precautions {
    padding: 1rem;
    background-color: #fff;
    line-height: 1.5;
  }

  .cost-area .precautions li {
    margin: .5rem;
    padding-left: 1em;
    text-indent: -1em;
  }

  #costTable .cp_msg_flex {
    display: flex;
    justify-content: center;
    margin: 5px auto;
    width: auto;
    box-sizing: border-box;
  }

  #costTable .cp_msg,
  #costTable .cp_msg_detail {
    font-size: 2.8vw;
  }

  #costTable .cp_msg {
    position: relative;
    color: #fff;
    padding: 0 0 0 2%;
    background-color: #cf458a;
  }

  #costTable .cp_msg:after {
    position: absolute;
    content: "";
    top: 0;
    right: -2vw;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.1vw 0 3.1vw 2.2vw;
    border-color: transparent transparent transparent #cf458a;
  }

  #costTable .cp_msg_detail {
    padding: 0 2% 0 4%;
    background-color: #ffe6f3;
    color: #e4007f;
  }
  .miowari-kome, .miowari-kome-simplan{
    position: relative;
    padding: 0.4em 1em;
    border-top: solid 1px #dfd4c1;
    border-bottom: solid 1px #dfd4c1;
  }
  .miowari-kome.open, .miowari-kome-simplan.open{
    border-bottom: none;
  }
  .miowari-kome::before, .miowari-kome-simplan::before {
    content: "";
    display: block;
    width: 16px;
    height: 1px;
    border-radius: 5px;
    background: #dfd4c1;
    position: absolute;
    right: 15px;
    top: 48%;
    transform: translateY(-50%);
    transition: all 300ms 0s ease;
    }
  .miowari-kome::after,.miowari-kome-simplan::after {
    content: "";
    display: block;
    width: 16px;
    height: 1px;
    border-radius: 5px;
    background: #dfd4c1;
    position: absolute;
    right: 15px;
    top: 48%;
    transform: translateY(-50%) rotate(90deg);
    transition: all 300ms 0s ease;
    }
  .miowari-kome.open::before, .miowari-kome.open::after,
  .miowari-kome-simplan.open::before, .miowari-kome-simplan.open::after {
    transform: translateY(-50%) rotate(45deg);
  }
  .miowari-kome.open::after, .miowari-kome-simplan.open::after {
    transform: translateY(-50%) rotate(135deg);
  }
  .miowari-kome.kome2.open {
    border-bottom: solid 1px #dfd4c1;
  }
  .change_spec::before {
    top: -4vw;
    left: 1vw;
    width: 17vw;
  }

  .cost-area_title span {
    font-size: 70%;
  }
  .miowari-obi {
    width: 100%;
    margin-top: 15px;
    padding: 2%;
    font-size: 11px;
    line-height: 1.5 !important;
  }
  .miowari-obi span {
    font-size: 4.3vw;
  }
  .miowari-obi span span {
    font-size: 10px;
  }
  .voice-cost table.table-cost tr td.pb40 {
    padding-bottom: 4rem;
  }
  .data-cost .table-cost td span.s_text.sp {
    font-size: 50%;
    padding-right: 5px;
  }
  .voice-cost table.plan_table tr:first-child td {
    height: auto;
    line-height: 15px;
    position: relative;
    padding: 1%;
  }
  table.plan_table tbody tr:first-child th.first-th,
  table.plan_table tbody tr:first-child td.first-th {
    padding: 8px 0 5px;
  }
  .data-cost table.plan_table tbody tr:first-child {
    height: 5px;
  }
  .data-cost table.plan_table tbody tr:first-child th,
  .data-cost table.plan_table tbody tr:first-child td {
    padding: 0;
  }
  td .td_title {
    font-size: clamp(9px, 3vw, 13px);
    line-height: 1.3;
    letter-spacing: 0;
  }
  table.plan_table td.pinkarea:after {
    height: calc(20px / 2);
  }
  td .td_title.pink {
    color: #e64d97;
    font-weight: bold;
    position: absolute;
    top: -17px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-size: 67%;
  }
  table.plan_table td.famiwari {
    background-color: #fdf6f9;
  }

  /*通話定額*/
  .spec-flex-box-title {
    width: 100%;
    background-color: #faf5ef;
    border: none;
    margin-bottom: 10px;
    position: relative;
  }
  .spec-flex-box-title a {
    width: 100%;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    color: #95856b;
    line-height: 1.2em;
    letter-spacing: 0.2em;
    text-decoration: none;
  }
  .spec-flex-box-title div {
    font-size: clamp(15px, 4.5vw, 20px);
  }
  .spec-flex-box-title img {
    width: 5vw;
  }
  .spec-flex-box-title::before {
    position: absolute;
    content: "";
    top: 50%;
    right: 2%;
    transform: translateY(-50%);
    background-color: #e64d97;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    z-index: 1;
  }
  .spec-flex-box-title::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 3.5%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 7px solid #fff;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    z-index: 2;
  }
  .voice-opt-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: none;
    border-top: 1px solid #cfb685;
    border-bottom: 1px solid #cfb685;
    margin-top: 2rem;
    padding: 0;
  }
  .voicecp_label {
    width: 93%;
    top: 28%;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: 1px;
  }
  .voicecp_label .s_text {
    font-size: 60%;
  }
  .voice-opt-box {
    width: 30%;
    padding: 10px 1%;
    border-right: 1px solid #cfb685;
  }
  .voice-opt-box:nth-child(5) {
    border-right: none !important;
  }
  .famiwari_obi {
    width: 100%;
    margin: 10px 0 1rem;
    padding: 2% 0.5%;
    font-size: clamp(9.5px, 2.8vw, 13px);
    background-color: #f7f5f1;
    text-align: center;
  }
  .famiwari_obi span {
    font-size: 4.3vw;
    color: #e64d97;
  }
  .voice-opt-area div,
  .voice-opt-area span {
    line-height: 1;
  }
  .voice-opt-box .after span.s_text {
    font-size: 70% !important;
  }
  .voice-opt-box .before {
    position: relative;
    color: #a6a6a6;
  }
  .spec-tab-body .kome {
    font-size: clamp(9px, 3vw, 13px);
  }

  @media screen and (max-width: 375px) {
    .famiwari_obi {
      font-size: clamp(9px, 2.7vw, 13px);
    }
  }

  /* ----------------
  アフィリエイト系のリンク制御
  ------------------*/
  #cost-area-voice.reject-link .spec-flex-box-title:before,
  #cost-area-voice.reject-link .spec-flex-box-title:after {
    display: none!important;
  }
  #cost-area-voice.reject-link .spec-flex-box-title a {
    pointer-events: none!important;
  }
}


/* ----------------
タブ出し分け
------------------*/
.for-new .for-change,
.for-new .for-basic,
.for-new .for-kizonOnly,
.for-change .for-new,
.for-change .for-basic,
.for-change .for-kizonOnly,
.for-basic .for-new,
.for-basic .for-change,
.for-basic .for-kizonOnly,
.for-kizonOnly .for-new,
.for-kizonOnly .for-change,
.for-kizonOnly .for-basic {
  display: none;
}
.for-new .for-new,
.for-change .for-change,
.for-basic .for-basic,
.for-kizonOnly .for-kizonOnly {
  display: block;
}
.spec-tab-box[data-tab="for-kizonOnly"] {
  display: none;
}

/* ----------------
タブなし
------------------*/
.spec-tab-head.tab-none {
  display: none;
}
.spec-tab-head.tab-none + .spec-tab-body {
  padding: 0;
  background-color: transparent;
  border: none;
}


/* ----------------
えらべるSIMページ調整 .selectable を先頭につけること
------------------*/
.selectable .spec-tab-head {
  display: none;
}
.selectable .spec-tab-body {
  border: none;
}
@media screen and (max-width: 640px) {
  .selectable .category-wrap-title {
    margin-left: 2%;
  }
  .selectable .simcp_title {
    font-size: clamp(12px, 3.5vw, 16px);
  }
  .selectable .voice-cost {
    margin-bottom: 0;
  }
  .selectable #cost-area.data-cost {
    margin-top: 0;
  }
}

/* ----------------
音声eSIMページ調整 /gigaplan/esim/phone/ #voice_esim を先頭につけること
------------------*/
@media screen and (min-width: 641px) {
  #voice_esim .cost-area .category-wrap-title img {
    width: 26px;
  }
  #voice_esim .cost-area .category-wrap-title img ~ p {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 640px) {
  #voice_esim .cost-area p.simcp_title {
    margin-bottom: 0.5rem!important;
    font-size: clamp(12px, 3.5vw, 16px);
  }
  #voice_esim .voice-opt-box .voicecp-cptext {
    margin-top: 0;
  }
}

/* ----------------
メインキャンペーンページ.simcpと .devicecp を先頭につけること
------------------*/
.simcp #cost-area-voice .campaign_bnr,
.devicecp #cost-area-voice .campaign_bnr {
  padding: 0;
}

/* ----------------
エディオンページ #edion_co02_BOX を先頭につけること
------------------*/
#edion_co02_BOX .category-wrap-title img ~ p {
  margin-bottom: 0;
}
#edion_co02_BOX .spec-tab-head {
  display: none;
}
#edion_co02_BOX .spec-tab-body {
  padding: 0;
  background-color: transparent;
  border: none;
}
@media screen and (min-width: 641px) {
  #edion_co02_BOX .category-wrap-title img {
    width: 26px;
  }
  #edion_co02_BOX .voice-opt-link {
    display: none;
  }
  #edion_co02_BOX .famiwari_obi {
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 640px) {
  #edion_co02_BOX .spec-flex-box-title a {
    pointer-events: none;
  }
  #edion_co02_BOX .spec-flex-box-title:before,
  #edion_co02_BOX .spec-flex-box-title:after {
    display: none;
  }
  #edion_co02_BOX .miowari-kome-detail.ano-area li:nth-child(3) {
    display: block!important;
  }
}

/* ----------------
大学生協向けページ #plan を先頭につけること
------------------*/
#plan .spec-tab {
  display: none;
}
#plan .spec-tab-body {
  padding: 0;
  background-color: transparent;
  border: none;
}
#plan .title-voice {
  margin-top: 20px;
}
@media screen and (min-width: 641px) {
  #plan .cost-area_title.voice-cost {
    padding: 0;
  }
  #plan .title-voice {
    padding: 0;
  }
  #plan #cost-area-voice,
  #plan #cost-area {
    padding: 0;
  }
}

@media screen and (max-width: 640px) {
  #plan #costTable .costTableWrap {
    padding: 0 0 2rem;
  }
  #plan .category-wrap-title {
    margin-bottom: 0;
  }
  #plan .cost-area_title.voice-cost {
    padding: 0.7em 0;
  }
  #plan p.simcp_title {
    margin-bottom: 0.5rem!important;
  }
  #plan .voice-cost {
    margin-bottom: 0;
  }
  #plan #cost-area.data-cost {
    margin-top: 0;
  }
}

/* ----------------
ブラステルページ .section2-3 を先頭につけること
------------------*/
.section2-3 #tabPrice * {
  box-sizing: border-box;
}
.section2-3 .spec-tab {
  display: none;
}
.section2-3 .spec-tab-body {
  padding: 0;
  background-color: transparent;
  border: none;
}
@media screen and (min-width: 641px) {
  .section2-3 .cost-area_title.voice-cost {
    padding: 30px 0 0;
  }
  .section2-3 .title-voice {
    padding: 0;
  }
  .section2-3 #cost-area-voice,
  .section2-3 #cost-area {
    padding: 0;
  }
}
@media screen and (max-width: 640px) {
  .section2-3 .cost-area_title.voice-cost {
    padding: 0.7em 0 0;
  }
  .section2-3 p.simcp_title {
    margin-bottom: 0.5rem!important;
  }
  .section2-3 .voice-opt-area {
    margin-top: 2rem;
  }
}

/* ----------------
体験談ページ #plan .monthly を先頭につけること
------------------*/
#plan .monthly .category-wrap-title img ~ p {
  margin-bottom: 0;
}
#plan .monthly .spec-tab {
  display: none;
}
#plan .monthly .spec-tab-body {
  padding: 0;
  background-color: transparent;
  border: none;
}
#plan .monthly .title-voice {
  margin-top: 0;
}

@media screen and (max-width: 640px) {
  #plan .monthly #cost-area-voice {
    margin-top: 0;
  }
  #plan .monthly p.simcp_title {
    font-size: clamp(11px, 3.3vw, 15px);
  }
}

/* ----------------
格安SIMガイドiPhoneページ #iphone_prosandcons1  を先頭につけること
------------------*/
#iphone_prosandcons1 .spec-flex-box.sp-column {
  display: none;
}
#iphone_prosandcons1 .for-basic .link-pos.is-basic {
  display: none;
}
#iphone_prosandcons1 table.plan_table.voice-table .icon_osusume:before {
  display: none !important;
}
#iphone_prosandcons1 .spec-tab {
  display: none;
}
#iphone_prosandcons1 .spec-tab-body {
  padding: 0;
  background-color: transparent;
  border: none;
}
@media screen and (min-width: 641px) {
  #iphone_prosandcons1 .category-wrap-title img {
    width: 30px;
  }
}

@media screen and (max-width: 640px) {
  #iphone_prosandcons1 .category-wrap-title img {
    width: 6vw;
  }
}

/* ----------------
既存向けLP（家族割引系） .sim-tsuika  を先頭につけること
------------------*/
@media screen and (max-width: 640px) {
  .sim-tsuika #cost-area-voice {
    margin-top: 0;
  }
  .sim-tsuika .voice-opt-area {
    margin-top: 1rem;
  }
}

/* ----------------
Web取次：ギガプランモバイルパートナー募集 .merit_reason_item  を先頭につけること
------------------*/
.merit_reason_item .spec-flex-box.sp-column {
  display: none;
}
.merit_reason_item .for-basic table.plan_table .campaign .base_text_line.negative-margin {
  margin-top: 0 !important;
}
.merit_reason_item .for-basic .link-pos.is-basic {
  display: none;
}
.merit_reason_item table.plan_table.voice-table .icon_osusume:before {
  display: none !important;
}
.merit_reason_item .voice-cost table.plan_table tr:nth-child(n + 2) th {
  width: 20%;
}
.merit_reason_item .spec-tab {
  display: none;
}
.merit_reason_item .spec-tab-body {
  border: none;
}
.merit_reason_item .spec-tab-head.tab-none + .spec-tab-body {
  padding: 30px 80px;
  background-color: #fff;
}
@media screen and (max-width: 640px) {
  .merit_reason_item .spec-tab-head.tab-none + .spec-tab-body {
    padding: 5% 3%;
  }
}

/* ----------------
simguide/esim/dual.html .esim-dual  を先頭につけること
------------------*/
.esim-dual .data-cost .category-wrap-title.esim-only {
  display: flex!important;
  margin-bottom: 1em!important;
  justify-content: flex-start!important;
}
.esim-dual .data-cost th.dataEsim-class,
.esim-dual .data-cost td.dataEsim-class {
  display: table-cell!important;
  width: 65%!important;
  border-right: none!important;
}
.esim-dual .data-cost table.plan_table tr:first-child,
.esim-dual .data-cost table.plan_table tr:first-child th {
  height: 0!important;
}
.esim-dual .data-cost th:first-child {
  display: table-cell!important;
  width: 35%!important;
}
.esim-dual .data-cost th.plan-title {
  height: 0!important;
  padding: 0!important;
}
.esim-dual .data-cost th.plan-title * {
  display: none!important;
}
.esim-dual .spec-tab {
  display: none;
}
.esim-dual .spec-tab-body {
  padding: 0;
  background-color: transparent;
  border: none;
}
@media screen and (min-width: 641px) {
  .esim-dual .category-wrap-title img {
    width: 26px!important;
  }
  .esim-dual .category-wrap-title img ~ p {
    margin-bottom: 0!important;
  }
}
@media screen and (max-width: 640px) {
  .esim-dual .category-wrap-title img {
    width: 6vw!important;
  }
  .esim-dual .category-wrap-title img ~ p {
    margin-bottom: 0!important;
    font-size: clamp(12px, 4vw, 18px)!important;
  }
  .esim-dual .data-cost .category-wrap-title {
    font-size: clamp(12px, 4vw, 18px)!important;
  }
}

/* ----------------
jvc .jvc-cost  を先頭につけること
------------------*/
.jvc-cost .data-cost th.data-class,
.jvc-cost .data-cost td.data-class {
  display: table-cell!important;
  width: 65%!important;
  border-right: none!important;
}
.jvc-cost .data-cost table.plan_table tr:first-child {
  height: 0!important;
}
.jvc-cost .data-cost table.plan_table tr:first-child th {
  height: 0!important;
  border-bottom: none!important;
}
.jvc-cost .data-cost th:first-child {
  display: table-cell!important;
  width: 35%!important;
}
.jvc-cost .data-cost th.plan-title {
  height: 0!important;
  padding: 0!important;
}
.jvc-cost .data-cost th.plan-title * {
  display: none!important;
}
.jvc-cost #cost-area.data-cost {
  margin-top: 0;
}
.jvc-cost .spec-tab {
  display: none;
}
.jvc-cost .spec-tab-body {
  padding: 0;
  border: none;
}
@media screen and (min-width: 641px) {
  .jvc-cost .category-wrap-title img {
    width: 26px!important;
  }
  .jvc-cost .category-wrap-title img ~ p {
    margin-bottom: 0!important;
  }
}
@media screen and (max-width: 640px) {
  .jvc-cost .category-wrap-title img {
    width: 6vw!important;
  }
  .jvc-cost .category-wrap-title img ~ p {
    margin-bottom: 0!important;
    font-size: clamp(12px, 4vw, 18px)!important;
  }
  .jvc-cost .data-cost .category-wrap-title {
    font-size: clamp(12px, 4vw, 18px)!important;
  }
  .jvc-cost #cost-area.data-cost,
  .jvc-cost .cost-area-anno {
    padding: 0 3%;
  }
}

/* ----------------
訪日外国人向け #price_list.plan_section:has(.inner[data-lang="jp"])  を先頭につけること
------------------*/
#price_list .spec-flex-box.sp-column {
  display: none;
}
#price_list table.plan_table.voice-table .icon_osusume:before {
  display: none !important;
}
#price_list .for-basic table.plan_table .campaign .base_text_line.negative-margin {
  margin-top: 0 !important;
}
#price_list.plan_section:has(.inner[data-lang="jp"]) .spec-tab {
  display: none;
}
#price_list.plan_section:has(.inner[data-lang="jp"]) .spec-tab-body {
  padding: 0;
  border: none;
}

/* ----------------
既存向けLP②（家族割引系） .sim-tsuika  を先頭につけること
------------------*/
.sim-tsuika .spec-tab {
  display: none;
}
.sim-tsuika  .spec-tab-body {
  padding: 0;
  border: none;
}

/* ----------------
.data-esim-only
------------------*/
/* キャンペーン なし */
.dataEsim-class .cp_text_line {
  display: none;
}
.dataEsim-class.campaign .base_text_line {
  font-size: 26px !important;
  text-decoration: none !important;
  color: #333 !important;
  margin-top: 0 !important;
}
table.plan_table .dataEsim-class.campaign .s_text {
  font-size: 60%;
}
table.plan_table .dataEsim-class.campaign span.s_text {
  /* font-size: 100%; */
}
table.plan_table .dataEsim-class.campaign .campaign-obi {
  display: none;
}
/* キャンペーン あり */
  .data-esim-only .dataEsim-class .cp_text_line {
    display: block;
  }
  .data-esim-only .dataEsim-class.campaign .base_text_line {
    font-size: 14px !important;
    text-decoration: line-through !important;
    color: #666 !important;
    /* margin-top: 10px !important; */
    margin: 5px 0 !important;
  }
  /* table.plan_table .dataEsim-class.campaign .s_text {
    font-size: 100%;
    font-size: 60%;
  } */

 .data-esim-only table.plan_table .dataEsim-class.campaign span.s_text {
    font-size: 100%;
  }
 .data-esim-only table.plan_table .dataEsim-class.campaign .cp_text_line span.s_text {
    font-size: 60% !important;
  }

 .data-esim-only table.plan_table .dataEsim-class.campaign .campaign-obi.col2 {
    display: block;
  }
 .data-esim-only table.plan_table .dataEsim-class.campaign .campaign-obi.col2 {
    left: 5%;
    top: -18%;
    width: 90%;
  }
/* sp */
@media screen and (max-width: 640px) {
  /* キャンペーン なし */
  table.plan_table td.dataEsim-class .base_text_line {
    font-size: clamp(14px, 4.4vw, 20px) !important;
  }
  table.plan_table td.dataEsim-class.campaign {
    padding: 0 !important;
  }

  /* キャンペーン あり */
   .data-esim-only table.plan_table td.dataEsim-class.campaign .base_text_line {
      padding: 0 !important;
      margin-top: 7px;
      font-size: clamp(10px, 2.5vw, 13px) !important;
    }
   .data-esim-only table.plan_table .dataEsim-class.campaign .cp_text_line span.s_text {
      font-size: 60%;
    }
   .data-esim-only table.plan_table td.dataEsim-class.campaign {
      padding: 2% 0 2% !important;
    }
   .data-esim-only table.plan_table td.dataEsim-class.campaign.campaign-band  {
      padding: 3% 0 1% !important;
    }
}

/* 調整 */
.data-esim-only .data-cost .category-wrap-title.esim-only {
  display: flex!important;
  margin-bottom: 1em!important;
  justify-content: flex-start!important;
}
.data-esim-only .data-cost th.dataEsim-class,
.data-esim-only .data-cost td.dataEsim-class {
  display: table-cell!important;
  width: 65%!important;
  border-right: none!important;
}
.data-esim-only .data-cost table.plan_table tr:first-child,
.data-esim-only .data-cost table.plan_table tr:first-child th {
  height: 0!important;
}
.data-esim-only .data-cost th:first-child {
  display: table-cell!important;
  width: 35%!important;
}
.data-esim-only .data-cost th.plan-title {
  height: 0!important;
  padding: 0!important;
}
.data-esim-only .data-cost th.plan-title * {
  display: none!important;
}
.data-esim-only .spec-tab {
  display: none;
}
.data-esim-only .spec-tab-body {
  padding: 0;
  background-color: transparent;
  border: none;
}
@media screen and (min-width: 641px) {
  .data-esim-only .category-wrap-title img {
    width: 26px!important;
  }
  .data-esim-only .category-wrap-title img ~ p {
    margin-bottom: 0!important;
  }
}
@media screen and (max-width: 640px) {
  .data-esim-only .category-wrap-title img {
    width: 6vw!important;
  }
  .data-esim-only .category-wrap-title img ~ p {
    margin-bottom: 0!important;
    font-size: clamp(12px, 4vw, 18px)!important;
  }
  .data-esim-only .data-cost .category-wrap-title {
    font-size: clamp(12px, 4vw, 18px)!important;
  }
}

/* EOT000001, KKT000001 */
.EOT000001 .spec-tab,
.KKT000001 .spec-tab {
  display: none !important;
}
.EOT000001 .gaiyo-tab,
.KKT000001 .gaiyo-tab  {
  display: none !important;
}
.EOT000001 .gaiyo-tab-body,
.KKT000001 .gaiyo-tab-body {
  margin: 50px auto 0 !important;
}
.EOT000001 .gaiyo-applicable-link a[href="#overview_cp_sp_sale"],
.KKT000001 .gaiyo-applicable-link a[href="#overview_cp_sp_sale"] {
  display: none !important;
}
.EOT000001 #overview_cp_sp_sale,
.KKT000001 #overview_cp_sp_sale {
  display: none !important;
}