/*** media ***/
/*$tb : 1024px;*/
/*$sp : 768px;*/
/*$sp-s : 599px;*/
/*** font-size ***/
#plans main .s_text {
	font-size: 1.4rem;
	font-weight: normal;
}

/*** wide-size ***/
/*** color ***/
#plans main .color01 {
  color: #FFF10C;
}

#plans main .color02 {
  color: #FC0000;
}

/** main **/
#plans main .inner {
  padding: 0 20px;
}

@media only screen and (min-width: 769px) {
  #plans main .inner {
    padding: 0;
  }
}

#plans main .vi .inner {
  max-width: 860px;
  margin: 0 auto;
  padding-top: 40px;
}

#plans main .tabs {
  padding-top: 40px;
}

#plans main .tabs .inner {
  text-align: center;
  max-width: 860px;
  margin: 0 auto;
}

#plans main .tabs .inner ul {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: solid 3px #1a59c4;
}

@media only screen and (min-width: 769px) {
  #plans main .tabs .inner ul.fixed {
    position: fixed;
    top: 120px;
    width: 860px;
    /* background-color: white;*/
    z-index: 8888;
  }
}

#plans main .tabs .inner ul li {
  width: 80%;
  background-color: #b2b2b2;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  margin: 1rem 1rem -.3rem;
  padding: 1rem 0;
  border-bottom: solid 3px #1a59c4;
}

@media only screen and (min-width: 769px) {
  #plans main .tabs .inner ul li {
    margin: 1rem 0.5rem -.3rem;
  }
}

#plans main .tabs .inner ul li::before {
  content: "";
  margin-right: 0;
}

#plans main .tabs .inner ul li a {
  display: block;
  font-size: 1.8rem;
  color: white;
  font-weight: 500;
  /* padding-left: 1rem; */
}

@media only screen and (min-width: 769px) {
  #plans main .tabs .inner ul li a {
    font-size: 2rem;
  }
}

#plans main .tabs .inner ul li.active {
  padding: 0 0 1rem;
  border: solid 3px #1a59c4;
  border-bottom: solid 3px white;
  background-color: white;
}

#plans main .tabs .inner ul li.active a {
  margin-top: 2rem;
  color: #1a59c4;
}

#plans main .tabs .inner ul li.tabs1 a {
  font-size: 1.4rem;
}

#plans main .tabs .inner ul li.tabs1 a strong {
  font-size: 1.8rem;
}

#plans main .tabs .inner ul li.tabs2 a {
  font-size: 1.4rem;
}

#plans main .tabs .inner ul li.tabs2 a strong {
  font-size: 1.8rem;
}

#plans main .box_tabs .inner {
  text-align: left;
  max-width: 860px;
  margin: 0 auto;
  padding-top: 2.5rem;
}

#plans main .box_tabs .inner .title-h2.title-h2-top {
  padding-top: 0;
}

#plans main .box_tabs .inner .title-h3.title-h3-top {
  margin-top: 0;
}

#plans main .box_tabs .inner p {
  font-size: 1.4rem;
}

#plans main .box_tabs .inner p.lead {
  font-size: 1.6rem;
  padding: 0 0 2.5rem;
}

#plans main .box_tabs .inner .notes {
  text-indent: -1.2rem;
  margin-left: 1.2rem;
  line-height: 1.6;
  margin-bottom: .5rem;
}

#plans main .box_tabs .inner .notes.notes-s li {
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: .5rem;
}

#plans main .box_tabs .inner .notes.notes-s li ul {
  list-style-type: disc;
  margin-left: 1rem;
}

#plans main .box_tabs .inner .notes.notes-s.frequency {
  margin-top: 1.5rem;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .notes.notes-s.frequency {
    margin-top: 0;
  }
}

#plans main .box_tabs .inner .banner {
  margin-bottom: 1.5rem;
}

#plans main .box_tabs .inner .nav_anchor {
  padding: 35px 0 0;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .nav_anchor {
    padding: 55px 0 0;
  }
  #plans main .box_tabs .inner .nav_anchor.fixed {
    position: fixed;
    top: 80px;
    width: 860px;
    /* background-color: white;*/
    z-index: 8888;
  }
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .nav_anchor.wimax_anchor.fixed {
    top: 180px;
  }
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .nav_anchor ul {
    display: flex;
    justify-content: space-between;
  }
}

#plans main .box_tabs .inner .nav_anchor ul li {
  text-align: center;
  margin-bottom: .8rem;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .nav_anchor ul li {
    margin-right: 1.5rem;
    width: calc(99% / 3);
    margin-bottom: 0;
  }
}

#plans main .box_tabs .inner .nav_anchor ul li a {
  padding: 1rem;
  height: 100%;
  border: solid 3px #1a59c4;
  border-radius: 50px;
  display: grid;
  font-size: 1.6rem;
  font-weight: 500;
  color: #1a59c4;
  background-color: white;
  place-content: center;
}

#plans main .box_tabs .inner .nav_anchor ul li:last-child {
  margin-right: 0;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .nav_anchor ul li.nav_anchor-iij {
    margin-right: 1.5rem;
    width: calc(99% / 2);
    margin-bottom: 0;
  }
}

#plans main .box_tabs .inner #service table,
#plans main .box_tabs .inner #plan table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 2rem 0;
  -webkit-overflow-scrolling: touch;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner #service table,
  #plans main .box_tabs .inner #plan table {
    white-space: normal;
    overflow: hidden;
    display: inline-table;
  }
}

#plans main .box_tabs .inner #service table th,
#plans main .box_tabs .inner #plan table th {
  background-color: #1a59c4;
  color: white;
  text-align: center;
  padding: 1.5rem 0;
  border-top: 1px solid white;
  border-right: 1px solid white;
}

#plans main .box_tabs .inner #service table td,
#plans main .box_tabs .inner #plan table td {
  border-top: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  padding-left: 1.5rem;
}

#plans main .box_tabs .inner #service table.table_center,
#plans main .box_tabs .inner #plan table.table_center {
  margin-top: 2rem;
}

#plans main .box_tabs .inner #service table.table_center th,
#plans main .box_tabs .inner #plan table.table_center th {
  padding: 1.5rem 1rem;
}

#plans main .box_tabs .inner #service table.table_center td,
#plans main .box_tabs .inner #plan table.table_center td {
  text-align: center;
  padding: 1.5rem;
}

#plans main .box_tabs .inner #service table.table_center td strong,
#plans main .box_tabs .inner #plan table.table_center td strong {
  color: #1a59c4;
  font-size: 2.4rem;
}

#plans main .box_tabs .inner #service table.table_center td strong span,
#plans main .box_tabs .inner #service table.table_center td strong sup,
#plans main .box_tabs .inner #plan table.table_center td strong span,
#plans main .box_tabs .inner #plan table.table_center td strong sup {
  font-size: 1.4rem;
}

#plans main .box_tabs .inner #service table.table_left,
#plans main .box_tabs .inner #plan table.table_left {
  width: 100%;
  margin-top: 2rem;
}

#plans main .box_tabs .inner #service table.table_left td,
#plans main .box_tabs .inner #plan table.table_left td {
  text-align: left;
  padding: 1.5rem;
}

#plans main .box_tabs .inner #service table.table_left td strong,
#plans main .box_tabs .inner #plan table.table_left td strong {
  color: #1a59c4;
  font-size: 2.4rem;
}

#plans main .box_tabs .inner #service table.table_left td strong span,
#plans main .box_tabs .inner #service table.table_left td strong sup,
#plans main .box_tabs .inner #plan table.table_left td strong span,
#plans main .box_tabs .inner #plan table.table_left td strong sup {
  font-size: 1.4rem;
}

#plans main .box_tabs .inner #service table.sp,
#plans main .box_tabs .inner #plan table.sp {
  display: inline-table;
}

#plans main .box_tabs .inner #service table.sp th,
#plans main .box_tabs .inner #plan table.sp th {
  width: 30%;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner #service table.sp,
  #plans main .box_tabs .inner #plan table.sp {
    display: none;
  }
}

#plans main .box_tabs .inner #service .accordion,
#plans main .box_tabs .inner #plan .accordion {
  padding-top: 3rem;
}

#plans main .box_tabs .inner #service .accordion dt,
#plans main .box_tabs .inner #plan .accordion dt {
  border-left: 3px solid #1a59c4;
  font-weight: 500;
  font-size: 1.6rem;
  padding: 1.5rem 2rem;
  margin-bottom: 1rem;
  cursor: pointer;
  background: url(../img/users/ic_open.png) no-repeat right #f3f3f3;
}

#plans main .box_tabs .inner #service .accordion dt.active,
#plans main .box_tabs .inner #plan .accordion dt.active {
  background: url(../img/users/ic_close.png) no-repeat right #f3f3f3;
}

#plans main .box_tabs .inner #service .accordion dd,
#plans main .box_tabs .inner #plan .accordion dd {
  padding: 1.5rem 2rem;
  margin-bottom: 1rem;
  font-size: 1.6rem;
  display: none;
}

#plans main .box_tabs .inner #service .accordion dd .title-h4,
#plans main .box_tabs .inner #plan .accordion dd .title-h4 {
  margin-bottom: 1.5rem;
}

#plans main .box_tabs .inner #service .accordion .notes li,
#plans main .box_tabs .inner #plan .accordion .notes li {
  margin-bottom: 0;
}

#plans main .box_tabs .inner #service .accordion .link-outside li a,
#plans main .box_tabs .inner #plan .accordion .link-outside li a {
  color: #1a59c4;
  text-decoration: underline;
}

#plans main .box_tabs .inner #service h2,
#plans main .box_tabs .inner #plan h2 {
  padding-top: 55px;
}

#plans main .box_tabs .inner #service .title-h3,
#plans main .box_tabs .inner #plan .title-h3 {
  margin-bottom: 1.5rem;
}

#plans main .box_tabs .inner #service .title-h3.h3-images,
#plans main .box_tabs .inner #plan .title-h3.h3-images {
  margin-top: 0;
}

#plans main .box_tabs .inner #service .img-center,
#plans main .box_tabs .inner #plan .img-center {
  text-align: center;
  padding: 3rem 0;
}

#plans main .box_tabs .inner #service .img-center img,
#plans main .box_tabs .inner #plan .img-center img {
  margin: 0 auto;
}

#plans main .box_tabs .inner #service .table_plan,
#plans main .box_tabs .inner #plan .table_plan {
  border-spacing: 0;
  border-collapse: collapse;
  font-size: 1.6rem;
  text-align: center;
}

#plans main .box_tabs .inner #service .table_plan th,
#plans main .box_tabs .inner #plan .table_plan th {
  background: #1a59c4;
  text-align: center;
  color: white;
  font-weight: 500;
  border-right: 1px solid white;
  padding: 1rem;
}

#plans main .box_tabs .inner #service .table_plan th:nth-child(1),
#plans main .box_tabs .inner #plan .table_plan th:nth-child(1) {
  width: 45%;
}

#plans main .box_tabs .inner #service .table_plan th:nth-child(2),
#plans main .box_tabs .inner #plan .table_plan th:nth-child(2) {
  width: 15%;
}

#plans main .box_tabs .inner #service .table_plan th:nth-child(3),
#plans main .box_tabs .inner #plan .table_plan th:nth-child(3) {
  width: 20%;
}

#plans main .box_tabs .inner #service .table_plan th:nth-child(4),
#plans main .box_tabs .inner #plan .table_plan th:nth-child(4) {
  width: 20%;
}

#plans main .box_tabs .inner #service .table_plan td,
#plans main .box_tabs .inner #plan .table_plan td {
  border: 1px solid #dfdfdf;
  padding: 1rem;
}

#plans main .box_tabs .inner #service .table_plan td.center,
#plans main .box_tabs .inner #plan .table_plan td.center {
  text-align: left;
}

#plans main .box_tabs .inner #service .lead_devices,
#plans main .box_tabs .inner #plan .lead_devices {
  font-size: 2rem;
  font-weight: 700;
  padding: 3rem 1rem;
  text-align: center;
  color: #19bbea;
  background-color: #e6f9ff;
  border-radius: 20px;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner #service .lead_devices,
  #plans main .box_tabs .inner #plan .lead_devices {
    font-size: 2.4rem;
  }
}

#plans main .box_tabs .inner #service .devices,
#plans main .box_tabs .inner #plan .devices {
  margin-top: 55px;
}

#plans main .box_tabs .inner #service .devices li,
#plans main .box_tabs .inner #plan .devices li {
  padding-bottom: 45px;
  margin-bottom: 55px;
  border-bottom: 1px solid #dfdfdf;
}

#plans main .box_tabs .inner #service .devices li:last-child,
#plans main .box_tabs .inner #plan .devices li:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

#plans main .box_tabs .inner #service .devices li .list,
#plans main .box_tabs .inner #plan .devices li .list {
  padding: 0 0 1.5rem;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner #service .devices li .list,
  #plans main .box_tabs .inner #plan .devices li .list {
    padding: 0 0px 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

#plans main .box_tabs .inner #service .devices li .list img,
#plans main .box_tabs .inner #plan .devices li .list img {
  max-width: 320px;
  margin: 0 auto;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner #service .devices li .list img {
    max-width: 240px;
  }

  #plans main .box_tabs .inner #plan .devices li .list img {
    max-width: 300px;
    margin-right: 2em;
  }
}

#plans main .box_tabs .inner #service .devices li .list div,
#plans main .box_tabs .inner #plan .devices li .list div {
  width: 100%;
  margin-left: 20px;
  margin-top: 1rem;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner #service .devices li .list div,
  #plans main .box_tabs .inner #plan .devices li .list div {
    width: 72%;
    margin-top: 0;
  }
}

#plans main .box_tabs .inner #service .devices li .list div .lead,
#plans main .box_tabs .inner #plan .devices li .list div .lead {
  color: #1a59c4;
  font-weight: 500;
  padding: 0 0 1rem;
  font-size: 1.2rem 0.2rem;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner #service .devices li .list div .lead,
  #plans main .box_tabs .inner #plan .devices li .list div .lead {
    padding: 0 0 1.5rem;
  }
}

#plans main .box_tabs .inner #service .devices li .list div .title_sub,
#plans main .box_tabs .inner #plan .devices li .list div .title_sub {
  font-size: 1.6rem;
  background-color: #fff10c;
  font-weight: 400;
  display: inline;
  line-height: 1.8;
}

#plans main .box_tabs .inner #service .devices li .list div .title_devices,
#plans main .box_tabs .inner #plan .devices li .list div .title_devices {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

#plans main .box_tabs .inner #service .devices li .list div .spec,
#plans main .box_tabs .inner #plan .devices li .list div .spec {
  color: #888888;
  font-size: 1.2rem;
}

#plans main .box_tabs .inner #area .sp h3 {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: .8rem;
}

#plans main .box_tabs .inner #area .sp p {
  font-size: 1.4rem;
  margin-bottom: .5rem;
}

#plans main .box_tabs .inner #area .sp .btn-outer {
  text-align: center;
}

#plans main .box_tabs .inner #area .sp .btn-outer input {
  margin: 2rem auto;
  padding: 1rem 2rem;
  border-radius: 50px;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  color: white;
  border: none;
  background-color: #1a59c4;
}

#plans main .box_tabs .inner #area .sp .list-type-none {
  text-align: center;
  margin-bottom: 3rem;
}

#plans main .box_tabs .inner #area .sp .list-type-none li a {
  margin: 1rem auto;
  padding: 1rem 2rem;
  border-radius: 50px;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
  color: white;
  border: none;
  background-color: #1a59c4;
  text-decoration: none;
}

#plans main .box_tabs .inner #area .sp h4 {
  font-size: 1.6rem;
  font-weight: 600;
}

#plans main .box_tabs .inner #area .sp .wi_txt02 {
  font-size: 1.2rem;
}

#plans main .box_tabs .inner #area #area-map {
  margin-bottom: 20px;
}

#plans main .box_tabs .inner #area #area-map iframe {
  width: 100%;
  height: 877px;
  overflow: none;
  padding: 0;
  margin: 0;
  border: 1px solid #c1c1c1;
}

#plans main .box_tabs .inner #area-map #area-map-lte {
  display: none;
}

#plans main .box_tabs .inner #area-map #area-map-pinpoint {
  display: none;
}

#plans main .box_tabs .inner .area-cols .col-3 {
  margin: 0 9px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #plans main .box_tabs .inner .block-pc {
    display: inline !important;
  }
  #plans main .box_tabs .inner .block-sp {
    display: block !important;
  }
  #plans main .box_tabs .inner .visible-pc {
    display: none !important;
  }
  #plans main .box_tabs .inner .hidden-pc {
    display: block !important;
  }
  #plans main .box_tabs .inner .visible-sp {
    display: block !important;
  }
  #plans main .box_tabs .inner .visible-sp.inline {
    display: inline-block !important;
  }
  #plans main .box_tabs .inner .hidden-sp {
    display: none !important;
  }
  #plans main .box_tabs .inner .text-center-sp {
    text-align: center !important;
  }
  #plans main .box_tabs .inner #area article img {
    max-width: 100%;
    height: auto !important;
  }
  #plans main .box_tabs .inner #area #area-map {
    display: none;
  }
  #plans main .box_tabs .inner .area-cols .col-3 {
    margin: 0 0 12px;
  }
  #plans main .box_tabs .inner .area-cols .col-3:last-child {
    margin-bottom: 0;
  }
}

#plans main .box_tabs .inner .btn {
  text-align: center;
}

#plans main .box_tabs .inner .btn a {
  border: solid 3px #1a59c4;
  display: inline-block;
  border-radius: 50px;
  padding: 1.5rem 0;
  width: 90%;
  color: #1a59c4;
  background: url(../img/common/ic_arrow.png) no-repeat 95%;
  text-decoration: none;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .btn a {
    width: 400px;
  }
}

#plans main .box_tabs .inner .btn a.btn_gray {
  border: solid 3px #dcdcdc;
  color: #333;
  background: url(../img/common/ic_arrow_gray.png) no-repeat 95%;
}

#plans main .box_tabs .inner .btn a.btn-outside {
  border: solid 3px #dcdcdc;
  color: #333;
  background: url(../img/common/ic_window_black.png) no-repeat 95%;
}

#plans main .box_tabs .inner .btn.mode {
  margin-top: 3rem;
}

#plans main .box_tabs .inner .uq {
  border-top: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  margin: 4rem 0 8rem;
  padding: 2rem 0;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .uq {
    margin: 6rem 0 10rem;
  }
}

#plans main .box_tabs .inner .uq ul {
  display: flex;
  flex-wrap: wrap;
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .uq ul {
    justify-content: space-around;
  }
}

@media only screen and (min-width: 769px) {
  #plans main .box_tabs .inner .uq ul li.btn {
    width: auto;
  }
}

#plans main .box_tabs2 .inner {
  text-align: left;
  max-width: 860px;
  margin: 0 auto;
}

/* other */
.commode .inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px;
  text-align: left;
}

.commode .inner .notes {
  text-indent: -1.2rem;
  margin-left: 1.2rem;
  line-height: 1.6;
  margin-bottom: .5rem;
}

.commode .inner .notes.notes-s {
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: .5rem;
}

@media only screen and (min-width: 769px) {
  .commode .inner div {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
}

.commode .inner div p {
  font: 1.2rem 0.2rem;
  padding-right: 1.5rem;
}

.commode .inner div p span {
  display: block;
  margin-top: 1.5rem;
}

@media only screen and (min-width: 769px) {
  .commode .inner div img {
    margin-top: -55px;
  }
}

.commode .inner .mode {
  margin-bottom: 1.5rem;
}

.commode .inner .mode li {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: 1px solid #dfdfdf;
}

.commode .inner .mode li:last-child {
  border: none;
}

.commode .inner .mode li h3 {
  font-size: 1.8rem;
  width: 40%;
  padding: 3rem 1.5rem;
  color: white;
  font-weight: 600;
  border-bottom: 1px solid white;
  margin-bottom: -1px;
}

.commode .inner .mode li p {
  width: 60%;
  padding: 0 2rem;
  font-size: 1.4rem;
}

.commode .inner .mode li p strong {
  color: #1e84ff;
  font-size: 1.6rem;
}

.commode .inner .mode li.basic h3 {
  background-color: #1e84ff;
}

.commode .inner .mode li.basic h3 span {
  display: inline-block;
  color: #1e84ff;
  background-color: white;
  padding: .3rem 1rem;
  font-size: 1.4rem;
}

.commode .inner .mode li.basic strong span {
  color: #1a59c4;
}

.commode .inner .mode li.highspeed h3 {
  background-color: #ffa000;
}

.commode .inner .mode li.highspeed p strong span {
  color: #ffa000;
}

.commode .inner .mode li.nolimit h3 {
  background-color: #0069bf;
}

.commode .inner .notes {
  text-indent: -1.2rem;
  margin-left: 1.2rem;
  line-height: 1.6;
  margin-bottom: .5rem;
}

.commode .inner .notes.notes-s li {
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: .5rem;
}

.kddi_support {
  padding-bottom: 2rem;
}

.kddi_support a {
  color: #1a59c4;
}

.service-mnets {
  margin-top: 2rem;
}

.service-mnets dt {
  font-size: 1.6rem;
  font-weight: 600;
  padding-bottom: .5rem;
}

.service-mnets dd {
  font-size: 1.4rem;
  padding-bottom: 1rem;
}

.service-mnets p {
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .service-mnets p {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.service-mnets p img {
  margin: 3rem auto 0;
}

@media only screen and (min-width: 769px) {
  .service-mnets p img {
    margin: 3rem 3rem 0;
  }
}

.notes.notes-disc {
  list-style-type: disc;
  text-indent: 0 !important;
  margin-top: 1rem;
}

.notes.notes-disc li {
  margin-bottom: .5rem;
  margin-left: 1.2rem;
}

.step {
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .step {
    text-align: left;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
}

.step img {
  margin: 0 auto;
}

.step ul {
  text-align: left;
  margin-top: 1.5rem;
}

@media only screen and (min-width: 769px) {
  .step ul {
    margin-top: 0;
    margin-left: 2rem;
  }
}

.step ul li {
  font-size: 1.4rem;
  margin: 0 0 1rem;
  padding: 0 0 0 3.5rem;
  position: relative;
}

@media only screen and (min-width: 769px) {
  .step ul li {
    font-size: 1.6rem;
  }
}

.step ul li span {
  display: inline-block;
  width: 2.5rem;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  background-color: #dfdfdf;
}

.pr {
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .pr {
    text-align: left;
    display: flex;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 769px) {
  .pr li {
    max-width: 257px;
  }
}

.pr li h4 {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a59c4;
  line-height: 3.0;
  padding: 1.5rem 0 0;
}

.pr li:last-child h4 {
  line-height: 1.6;
}

.pr li img {
  margin: 1rem auto;
}

.pr li p {
  text-align: left;
}

.pr-umobile {
  margin-top: 3rem;
}

@media only screen and (min-width: 769px) {
  .pr-umobile {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-left: -20px;
  }
}

@media only screen and (min-width: 769px) {
  .pr-umobile li {
    width: calc(99% / 2);
    margin-left: 2rem;
  }
}

.pr-umobile li p {
  font-size: 1.4rem;
  margin-bottom: 2rem;
}

.pr-umobile li ul {
  margin-left: 0;
}

.pr-umobile li ul li {
  width: 100%;
  margin-left: 0;
}

.pr-umobile li h3 {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
}

.pr-umobile li img {
  margin-bottom: 1.5rem;
}

/* anchor */
#service {
  padding-top: 118px;
  margin-top: -118px;
}

h2#year,
h2#year2,
h2#mobileset,
h2#monthly,
h2#about,
h2#service_cont{
  padding-top: 173px !important;
  margin-top: -118px;
}

/* Dsas 追加*/

.ttl_type01{
  font-size: 1.75rem;
  margin-bottom:1rem;
  border-left: 3px solid #1a59c4;
  padding: 0 0.5em;
  line-height: 1.2;
}

.column_type01{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  justify-items: center;
}
.column_type01 li{
  font-size: 1.3rem;
  text-align: center;
}
.column_type01 span{
  display: block;
  padding-top: 0.5em;
  font-size: 1.25em;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .column_type01{
  grid-template-columns: repeat(2, 1fr);
}
}
.column_type02{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-bottom: 0.5em;
}
.column_type02.col2{
  grid-template-columns: repeat(2, 1fr);
}

.column_type02 li{
  background-color: #1a59c4;
  padding:1em 1.5em;
  border-radius: 1.5em;
  font-family: "Noto Sans JP", "Roboto", "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-weight: 400;
  color: #fff;
}
.column_type02 li span{
  display: block;
  text-align: center;
}

.column_type02 li .ct_plan{
  font-size: 2.1em;
  color: #bfe8ff;
  font-weight: 900;
  margin-bottom: 0.5em;
}

.column_type02 li .ct_fee{
  font-size: 4em;
  font-weight: 900;
  color: #f0ff00;
}
.column_type02 li .ct_price{
  font-size: 2em;
  font-weight:700;
  font-style: italic;
}

.column_type02 li .ct_price span{
  display: inline;
  font-size: 0.5em;
  font-weight: 400;
  margin-left:0.5em;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 768px) {
  .column_type02,
  .column_type02.col2{
    grid-template-columns: repeat(1, 1fr);
  }
}
.column_type03{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  align-items: start;
  border-bottom: 1px solid #dfdfdf;
  margin-bottom: 1em;
  gap: 2px;
}
.column_type03.col2{
  grid-template-columns: repeat(2, 1fr);
}
.column_type03 table{
  position: relative;
  margin-bottom: -1px !important;
}
.column_type03 table th{
  border: none !important;
}
@media only screen and (max-width: 768px) {
  .column_type03,
  .column_type03.col2{
    grid-template-columns: repeat(1, 1fr);
  }
}
table *{
	word-break: break-all;
}
table.table_type01,
table.table_type02{
  table-layout: fixed;
}

table.table_type01 th:first-child{
  width: 20%;
}
table.table_type01 .s_note{
  display: block;
  font-size: 0.857em;
  text-align: left;
}

table.table_type02{
	margin-bottom: 1em;
}

table.table_type02 th{
	padding: 1rem;
	height: 6.5em;
}
table.table_type02 th:first-child{
	width: 10%;	
}
table.table_type02 td:first-child{
	color:#004b87;
	font-weight:bold;
	text-align:center;
}
table.table_type02 td:nth-child(n+2){
	vertical-align: bottom;
}
table.table_type02 img{
	display: inline;
}
table.table_type02 span{
	display: block;
	margin-top:0.5em;
	font-size: 0.857em;
}



