@charset "UTF-8";
/* 特定ページ側で有効にする */
.eraberu-only {
  display: none;
}
.simdevice-only {
  display: none;
}
.gigaesim-only {
  font-weight: bold;
  font-size: 20px !important;
}
.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 10px 1em; */
  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 40px;
  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: 14px;
  vertical-align: middle; */
  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;
  align-items: center;
}
.init-text-flex p {
  margin-bottom: 0;
  margin-right: 20px;
}

.icon-block{
  display: inline-block;
  padding-right: 5px;
}
/* .icon-block+.icon-block{
  padding-left: 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 .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-cp.init-text-cp-add::after  {
  content: "7/1スタート！";
  position: absolute;
  top: -20px;
  left: 50%;
  width: 100%;
  transform: translateX(-48%);
  color: #fa4e9e;
  z-index: 1;
}

.init-text-cost {
  /*width: 66%;*/
  margin-top: 10px;
  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;
  /*border: 2px solid #d6331f;*/
}
.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: 20px;
  font-weight: bold;
}
.cost-area_title span {
  font-size: 16px;
}
.cost-area_title.data-cost{
  margin-top: 50px;
}
.midashi_waribiki {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  padding: 1rem 2rem;
  background: #e4007f;
  color: #fff;
  font-weight: bold;
  height: 100%;
}
.midashi_waribiki::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 100%;
  top: 0;
  right: -15px;
  background: linear-gradient(to bottom left, transparent 50%, #e4007f 52%) top left/ 100% 50% no-repeat,linear-gradient(to top left, transparent 50%, #e4007f 52%) bottom left / 100% 51% no-repeat;
}
.miowari-obi {
  display: block;
  font-size: 16px;
  background-color: #fcedf4;
  padding: 10px;
  text-align: center;
  position: absolute;
  width: 78%;
  bottom: 35%;
  right: 1%;
}
.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;
}
.miowari_after_cost {
  color: #e4007f;
}
.miowari_after_arrow {
  position: relative;
  padding-bottom: 5px;
}
.voice-cost {
  position: relative;
}
.voice-cost table.table-cost tr td.pb40 {
  padding-bottom: 4rem;
}
.miowari_after_arrow::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-top: 8px solid #e4007f;
  border-bottom: 8px solid transparent;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  right: 0px;
  left: 0;
  bottom: 25px;
  margin: auto;
}
.cost-area table.table-cost tr td.midashi .midashi_flex.voicesim {
  margin-bottom: 15px;
}
.cost-area table.table-cost tr td.midashi .midashi_flex.voiceesim {
  margin-bottom: 10px;
}
.midashi_flex.voiceesim {
  flex-wrap: wrap;
}
.midashi_flex.voiceesim::before {
  content: '9月22日からドコモ回線も対応！';
  width: 100%;
  text-align: center;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0;
  color: #e4007f;
  background: #fcedf4;
  padding: 5px 3px 5px;
  margin: 0 5px 4px 0;
}
@media screen and (max-width: 640px) {
  .cost-area .voice-cost .table-cost .voiceesim {
    display: flex;
    flex-wrap: wrap;
    width: 60%;
    align-items: center;
  }
  .cost-area .voice-cost .table-cost .voiceesim::before {
    content: '9月22日からドコモ回線も対応！';
    width: 100%;
    text-align: center;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0;
    color: #e4007f;
    background: #fcedf4;
    padding: 2px 5px 2px;
    margin: 0 0 4px;
    line-height: 10px;
  }
}
/*アコーディオン*/
.data-cost .accordion-menu {
  margin-top: 10px;
  border: 1px solid #e4007f;
}
.data-cost .accordion-menu table.table-cost {
  margin-top: 0;
}
.data-cost .accordion-menu p.miowari_ac_title {
  text-align: center;
  font-size: 16px;
  color: #333;
}
.data-cost .accordion-menu p.miowari_ac_title span.miowari_ac_box {
  background-color: #e4007f;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 2px 15px;
  margin-right: 10px;
}
.data-cost .accordion-menu p.miowari_ac_title span.miowari_ac_tx {
  color: #e4007f;
  font-size: 18px;
}
.data-cost .accordion-menu p.miowari_ac_title span.miowari_ac_tx span {
  font-size: 16px;
  margin-left: -0.5rem;
}
.data-cost .accordion-menu p.miowari_ac_title .s_text {
  font-size: 80%;
}
.accordion-menu input[type=checkbox] {
  position: absolute;
  margin-left: -9999px;
  opacity: 0;
}
.accordion_box label {
  position: relative;
  display: block;
  color: #fff;
  padding: 10px 15px;
  background-color: #fcedf4;
  font-size: 20px;
  font-weight: bold;
  max-width: 960px;
}
.toggle {
  position: absolute;
  top: 20%;
  right: 20px;
  padding: 12px;
  background-color: #e4007f;
}
.toggle:before {
  position: absolute;
  content: "";
  top: 11px;
  right: 4px;
  width: 16px;
  height: 2px;
  background-color: #fff;
}
.toggle:after {
  position: absolute;
  content: "";
  top: 4px;
  right: 11px;
  width: 2px;
  height: 16px;
  background-color: #fff;
  transform: rotate(0deg);
  transition: .5s ease;
}
.accordion-menu input[type=checkbox]:checked+label i.toggle:after {
  transform: rotate(270deg);
  transition: .5s ease;
}
.cost-area .accordion-menu table.table-cost tr td:not(.midashi) {
  width: calc(960px/6);
}
.cost-area .accordion-menu table.table-cost tr td.midashi {
  width: 185px;
}

@media screen and (max-width: 640px) {
  .basic-ac {
    font-size: 1.7rem;
    line-height: 3rem;
  }

  .cost-init-box {
    padding: 1em 0;
    border-radius: 6px;
  }

  .cost-init-box-flex>div {
    margin: 0 4vw;
    padding: 0 2vw 0;
    border-bottom: #e7dccb solid 1px;
  }

  .cost-init-box-flex>div:last-child {
    border-bottom: none;
  }
  .icon-text-block{
    font-size: 1.4rem;
    font-weight: bold;
  }

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

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

  /* .cost-init-box h3 span.small-text {
    font-size: 3vw;
  } */
  .cost-init-box h3.init-text-cp-ad {
    margin-bottom: 26px;
  }

  .init-text-cp {
    font-size: 3.6vw;
    padding: 5px 0;
  }

  .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;
  }
}

@media screen and (min-width: 641px) {
  .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;
    width: calc(46% - 80px / 2);
    width: 50%; */
    margin: 0 auto;
  }
  /*.cost-init-box-flex>div.init-flex-left {
    width: calc(54% - 80px / 2);
  }*/

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

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

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

  .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.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;
  }
}

@media screen and (max-width: 640px) {
  #cost-area-sp {
    margin-top: 1rem;
    padding: .5rem .5rem 2rem;
    background-color: #fff;
    border: 1px solid #d8c39c;
    border-radius: 3px;
  }
  .ano-area {
    font-size: 12px;
  }
  #cost-area-sp div:not(.category-top) ul.cost_cp {
    color: #d1528e;
  }
  #cost-area-sp div:not(.category-top) ul.cost_cp.esim {
    color: #000;
  }
  .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;
  }

  /* .add-gb-cp 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;
  } */

  .category-wrap-title {
    margin-top: 1rem;
    padding-top: 1rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: end;
    letter-spacing: 1px;
    font-size: 4vw;
    padding-left: 3%;
    border-top: 1px solid #d8c39c;
  }

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

  .category-wrap-title img {
    margin-right: 5px;
    width: 25px;
  }

  .category-wrap-title span {
    margin-left: 5px;
    font-size: 10px;
  }

  .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-sp-title {
    border-right: 1px solid #d8c39c;
    font-size: 4vw;
    margin-bottom: 0;
  }

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

  .cost-area-sp-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-sp-cost {
    font-size: 4.5vw;
    line-height: 1.1;
  }
  .cost-area-sp-before{
    display: inline-block;
    color: #999;
    font-size: 2vw;
    position: relative;
    margin-bottom: 2.4vw;
  }
  .cost-area-sp-before span{
    font-size: 2vw;
  }
  .cost-area-sp-before::before{
      position: absolute;
      content: "";
      display: block;
      background-color: #999;
      width: 100%;
      height: 1px;
      top: 50%;
      left: 0;
  }
  .cost-area-sp-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-sp-cost span.tax {
    display: block;
    line-height: 1;
  }
  .cost-area-sp-cost span.black_text {
    display: block;
    margin: 0.6em 0;
    line-height: 1;
    color: #333;
    font-size: 2vw;
    letter-spacing: -0.1em;
  }
  .cost-area-sp-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%;
  }
}

@media screen and (min-width: 641px) {
  .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 {
    margin-bottom: 1rem;
  } */

  .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 th:first-child {
    width: 185px;
  }
  .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;
    /* padding:5px 0 15px;
    vertical-align: top; */
  }

  .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 table.table-cost .cp-ley .before{
    display: inline-block;
    color: #999;
    font-size: 16px;
    position: relative;
    margin-bottom: 16px;
  }
  .cost-area table.table-cost .cp-ley .before span.s_text{
    font-size: 13px;
  }
  .cost-area table.table-cost .cp-ley .before::before{
      position: absolute;
      content: "";
      display: block;
      background-color: #999;
      width: 100%;
      height: 1px;
      top: 50%;
      left: 0;
  }
  .cost-area table.table-cost .cp-ley .before::after {
    position: absolute;
    left: 50%;
    bottom: -10px;
    content: "";
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-top: 7px solid #D14B89;
    border-right: 7px solid transparent;
    transform: translateX(-50%);
  }
  .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;
  }
  .after_cost_calc {
    margin-left: -0.5rem;
  }
  .miowari_after td {
    border-bottom: none !important;
  }
  .init-text-cp {
    padding: 10px 0;
  }
}

@media screen and (max-width: 640px) {
  .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: .8rem 0;
    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);
  }
  .change_spec::before {
    top: -4vw;
    left: 1vw;
    width: 17vw;
  }

  .cost-area_title span {
    font-size: 70%;
  }
  .miowari_after_arrow {
    padding-right: 5px;
    padding-bottom: 5px;
  }
  .miowari_after_arrow::before {
    border-top: 6px solid #D14B89;
    border-bottom: 6px solid transparent;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    left: 65%;
    bottom: 65%;
  }
  .miowari-obi {
    width: 98%;
    font-size: 11px;
    transform: translateX(-50%);
    left: 50%;
    bottom: 28%;
  }
  .miowari-obi span {
    font-size: 16px;
  }
  .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;
  }
  .data-cost .accordion-menu {
    margin-top: 20px;
    border: none;
  }
  .accordion_box label {
    padding: 10px 5px;
  }
  .data-cost .accordion-menu p.miowari_ac_title {
    text-align: left;
    font-size: 11px;
  }
  .data-cost .accordion-menu p.miowari_ac_title span.miowari_ac_tx {
    font-size: 16px;
  }
  .data-cost .accordion-menu p.miowari_ac_title span.miowari_ac_tx span {
    font-size: 10px;
  }
  .toggle {
    top: 17%;
    right: 1%;
  }
  .cost-area .accordion-menu table.table-cost tr td:not(.midashi) {
    width: calc(100% / 5);
  }
  .data-cost .accordion-menu table.table-cost {
    background-color: #fff;
  }
}
