@charset "utf-8";

/* --------------------
.overview
-------------------- */
.overview .bg-black {
  padding-bottom: 40px;
}

.overview .bg-black .area.outline {
  position: relative;
  padding-top: 60px;
}

.overview .bg-black .area.outline::before {
  display: block;
  content: "";
  width: 160px;
  height: 4px;
  background-color: #23b8ef;
  position: absolute;
  top: 0;
  left: calc(50% - 80px);
}

.overview .bg-black .maxheadline {
  margin-bottom: 10px;
}

.overview .bg-black .maxheadline .text {
  color: #2C95BB;
}

.overview .bg-black .maxheadline.small-text .text {
  font-size: 32px;
}

.overview .bg-black .lead.large-text {
  font-size: 20px;
  padding-bottom: 20px;
}

.overview .bg-black .image {
  width: 940px;
  display: block;
  margin: 0 auto 20px auto;
  padding: 20px;
}

.overview .bg-black .area.outline .image {
  width: 100%;
  padding: 20px 0;
}

.overview .bg-white {
  margin: 0;
}

@media screen and (min-width: 1600px) {
  .overview .bg-black .area.outline {
    padding-top: 3.75vw;
  }

  .overview .bg-black .area.outline::before {
    width: 10vw;
    height: 0.25vw;
    left: calc(50% - 5vw);
  }

  .overview .bg-black .lead.large-text {
    font-size: 1vw;
  }

  .overview .bg-black .maxheadline {
    margin-bottom: 0.625vw;
  }

  .overview .bg-black .maxheadline.small-text .text {
    font-size: 1.75vw;
  }
}

@media screen and (max-width: 1250px) {
  .overview .bg-black {
    margin: 0 10px;
  }
}

@media screen and (max-width: 960px) {
  .overview .bg-black .maxheadline {
    padding: 0;
  }

  .overview .bg-black .area .maxheadline .text {
    font-size: 32px;
  }

  .overview .bg-black .lead.large-text {
    font-size: 16px;
  }

  .overview .bg-black .area.outline .image {
    width: 100%;
  }

}

@media screen and (max-width: 767px) {
  .overview .bg-black .area.outline {
    padding-top: 40px;
  }

  .overview .bg-black .area .maxheadline .text {
    font-size: 28px;
  }

  .overview .bg-black .area.outline .image {
    width: 100%;
  }

  .overview .bg-black .maxheadline.small-text .text {
    font-size: 28px;
    line-height: 1.5em;
  }

  .overview .btn {
    width: auto;
  }
}

/*
feature
-------------------- */

.feature {
  padding: 0;
  position: relative;
}

.feature .inner {
  max-width: 960px;
  margin: 0 auto 80px auto;
}

.feature .inner.margin-bottom-none {
  margin-bottom: 0;
}

.feature .headline .text {
  color: #ff5500;
  font-size: 32px;
  font-weight: bold;
}

.feature .headline span::before {
  content: none;
}

.feature .item-list {
  display: block;
  position: relative;
  left: 0;
}

.feature .item-list .item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  margin-bottom: 40px;
}

.feature .item-list .item:last-child {
  margin-bottom: 0;
}

.feature .item-list .item figure {
  width: 80px;
  margin-right: 20px;
}

.feature .item-list .item figure img {
  width: 80px;
  border-radius: 40px;
  box-shadow: rgba(0, 0, 0, 20%) 4px 4px 0;
}

.feature .item-list .item .title {
 margin-bottom: 10px;
 text-align: left;
 display: block;
}

.feature .item-list .item .title span {
 font-size: 20px;
 line-height: 1.75em;
 font-weight: bold;
 color: #fff;
}

.feature .item-list .item .lead {
 display: block;
 font-size: 16px;
 text-align: left;
 color: #fff;
}

.feature img {
 width: 96px;
}

.feature small {
 font-size: 12px;
}

.feature small {
 font-size: 12px;
}

.feature .btn {
 width: 50%;
 padding: 40px 0 20px 0;
}

@media screen and (min-width: 1600px) {
  .feature .item-list .item {
    margin-bottom: 3vw;
  }

  .feature .item-list .item figure {
    width: 5vw;
  }

  .feature .item-list .item figure img {
    width: 100%;
    border-radius: 50%;
  }

  .feature .item-list .item .text-area {
    width: 90%;
  }

  .feature .item-list .item .title span {
    font-size: 1.25vw;
  }

  .feature .item-list .item .lead {
    font-size: 1vw;
  }

  .feature .item-list .item .lead .pc {
    display: none;
  }
}


@media screen and (max-width: 960px) {
  .feature .inner {
    padding: 0 10px;
  }
  .feature .headline .text {
    font-size: 28px;
  }
  .feature .item-list {
    left: 0;
  }
}

@media screen and (max-width: 767px) {
  .feature .inner {
    width: auto;
    padding: 0;
  }

  .feature .headline {
    padding-bottom: 0;
    margin-bottom: 20px;
  }

  .feature .item-list {
    display: block;
  }

  .feature .item-list .item {
    width: auto;
    margin: 0 0 40px 0;
    align-items: flex-start;
  }

  .feature .item-list .item .title {
    display: flex;
    align-items: center;
    min-height: 60px;
  }

  .feature .item-list .item figure {
    margin: 0 10px;
  }

  .feature .item-list .item figure img {
    width: 60px;
    height: 60px;
    border-radius: 30px;
  }

  .feature .item-list .item .text-area {
    width: 100%;
  }

  .feature .item-list .item .lead {
    width: calc(100% + 60px);
    position: relative;
    left: -70px;
  }
}


@media screen and (max-width: 1250px) {
  .content .bg-black {
    margin: 0 10px;
  }
}

@media screen and (max-width: 767px) {
  .content .bg-black .maxheadline .text {
    font-size: 28px;
    line-height: 1.5em;
  }

  .content .bg-black .lead.large-text {
    font-size: 16px;
  }

  .content .bg-black.bg-whie .area {
    padding: 20px 10px;
  }

  .bg-black .bnr-list {
    flex-direction: column;
  }

  .bg-black .bnr-list .bnr-item {
    width: 100%;
  }
}

/* --------------------
price
-------------------- */
.price {
  padding-top: 0;
  padding-bottom: 0;
}

.price .lead {
  font-size: 20px;
  line-height: 1.75em;
}

.price .bg-white.image {
  margin-bottom: 20px;
  width: 880px;
  margin: 20px auto;
}

@media screen and (min-width: 1600px) {
  .price .bg-white.image {
    width: auto;
  }

  .price .lead {
    font-size: 1vw;
  }
}

@media screen and (max-width: 960px) {
  .price .lead {
    font-size: 16px;
    padding-bottom: 20px;
  }

  .price.content .bg-white {
    padding: 20px;
  }

  .price .bg-white.image {
    margin: 0 0 10px 0;
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .price .lead {
    font-size: 16px;
  }

  .price.content .bg-white {
    margin: 20px 0;
  }

  .price .btn {
    width: auto;
  }
}

/* --------------------
career
-------------------- */
.career {
  padding-bottom: 0;
}

.career .lead.large-text {
  font-size: 20px;
  line-height: 1.75em;
}

.career .image {
  width: 85%;
  margin: 0 auto 20px auto;
}

.career .lead.blue {
  color: #2e8db0;
}

.career .bg-white {
  padding: 40px;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
  margin: 20px 0;
}

.career .bg-white .subheadline {
  text-align: center;
  margin-bottom: 40px;
}

.career .bg-white .subheadline .text {
  font-size: 20px;
  color: #2c95bb;
}

.career .bg-white .ul-list li {
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.75em;
  text-indent: -1rem;
}

.career .bg-white .ul-list li::before {
  content: "・";
}

.career .bg-white .ul-list.text-link-list {
  margin:  16px 0 0 0;
}

.career .bg-white .ul-list.text-link-list li {
  margin-bottom: 0;
}

.career .bg-white .ul-list.text-link-list li .fa {
  text-indent: 0.5rem;
}

.career .bg-white .ul-list.text-link-list li .text-link:hover {
  text-decoration: underline;
  color: #46c3f1;
}

/* btn */
.btn-2column .btn.white {
  width: 100%;
}

@media screen and (min-width: 1600px) {
  .career .bg-white {
    padding: 2vw 5vw;
  }

  .career .lead.large-text {
    font-size: 1vw;
  }

  .career .bg-white .subheadline .text {
    font-size: 1.5vw;
  }

  .career .bg-white .ul-list li {
    font-size: 1vw;
  }

  .career .bg-white .ul-list li .pc {
    display: none;
  }
}

@media screen and (max-width: 960px) {
  .content .sim-network .inner.case .table-area .table th,
  .content .sim-network .inner.case .table-area .table td {
    font-size: 10px;
  }
  .content .sim-network .inner.case .table-area .table .tb {
    display: none;
  }

  .career .lead.large-text {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .career .bg-white {
    padding: 20px;
    width: auto;
  }

  .btn-2column .btn.white {
    margin: 0 0 20px 0;
  }
}

/* --------------------
security
-------------------- */
.security {
  padding-bottom: 0;
}

.security .bg-blue {
  padding-bottom: 40px;
  background-color: #2c95bb;
  margin: 0 10%;
  border-radius: 10px;
}

.security .bg-blue .area {
  position: relative;
  padding-top: 60px;
}

.security .bg-blue .area .headline {
  padding: 0;
}

.security .bg-blue .area .headline span {
  color: #fff;
  font-size: 40px;
}

.security .bg-blue .area .lead.large-text {
  font-size: 20px;
  line-height: 1.75em;
  color: #fff;
}

.security .bg-blue .area .image {
  margin: 20px auto;
  width: auto;
  padding: 40px 20px;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 20%) 4px 4px 0;
  border-radius: 10px;
  text-align: center;
}

.security .bg-blue .area .image .pc {
  width: 800px;
  margin: 0 auto;
}

.security .bg-blue .area .ul-list {
  color: #fff;
}

.security .bg-blue .area .ul-list li {
  margin-bottom: 12px;
  font-size: 14px;
}

@media screen and (min-width: 1600px) {
  .security .bg-blue .area {
    padding-top: 3.75vw;
  }

  .security .bg-blue .area .headline span {
    font-size: 1.75vw;
  }
  
  .security .bg-blue .area .lead.large-text {
    font-size: 1vw;
  }

  .security .bg-blue .area .image {
    padding: 2.5vw 1.25vw;
  }

  .security .bg-blue .area .image .pc {
    width: 100%;
  }

  .security .bg-blue .area .ul-list li {
    font-size: 0.75vw;
  }
}

@media screen and (max-width: 1250px) {
  .security .bg-blue {
    margin: 0 10px;
  }
}

@media screen and (max-width: 960px) {
  .security .bg-blue .area {
    padding: 40px 0;
  }

  .security .bg-blue .area .headline {
    margin-bottom: 20px;
  }

  .security .bg-blue .area .headline span {
    font-size: 32px;
  }

  .security .bg-blue .area .lead.large-text {
    font-size: 16px;
  }

  .security .bg-blue .area .image {
    padding: 20px;
  }

  .security .bg-blue .area .image .pc {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .security .bg-blue {
    margin: 0 10px;
  }

  .security .bg-blue .area {
    padding: 40px 0 0 0;
  }

  .security .bg-blue .area .image {
    width: auto;
  }

  .security .bg-blue .area .headline span {
    font-size: 28px;
  }

  .security .bg-blue .area .lead.large-text {
    font-size: 16px;
  }
}

/* --------------------
mobile-gateway
-------------------- */
.mobile-gateway .bg-black .area.outline {
  position: relative;
}

.mobile-gateway .bg-black .area.outline::before {
  display: block;
  content: "";
  width: 160px;
  height: 4px;
  background-color: #23b8ef;
  position: absolute;
  top: 0;
  left: calc(50% - 80px);
}

.mobile-gateway .bg-black .maxheadline {
  padding: 0;
  margin-bottom: 0;
}

.mobile-gateway .bg-black .maxheadline .text {
  padding-bottom: 30px;
}

.mobile-gateway .maxheadline .ruby {
  display: block;
  color: #23b8ef;
  font-size: 24px;
  padding-bottom: 10px;
}

.mobile-gateway .bg-black .overview .pc {
  width: 100%;
}

.mobile-gateway .bg-black .lead.large-text {
  line-height: 1.75em;
  padding-bottom: 40px;
  font-size: 20px;
}

.mobile-gateway .headline {
  margin-bottom: 30px;
  padding-bottom: 0;
}

.mobile-gateway .headline .text {
  font-size: 32px;
  color: #23b8ef;
  padding-bottom: 0;
}

.mobile-gateway .headline .text::before {
  content: none;
}

.mobile-gateway .item-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap:  20px;
  flex-wrap: wrap;
}

.mobile-gateway .item-list .item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  margin-bottom: 40px;
  width: calc(50% - 20px);
}

.mobile-gateway .item-list .item:last-child {
  margin-bottom: 0;
}

.mobile-gateway .item-list .item figure {
  width: 80px;
  margin-right: 20px;
}

.mobile-gateway .item-list .item figure img {
  width: 80px;
  border-radius: 40px;
  box-shadow: rgba(0, 0, 0, 20%) 4px 4px 0;
}

.mobile-gateway .item-list .item .title {
 margin-bottom: 10px;
 text-align: left;
 display: block;
}

.mobile-gateway .item-list .item .title span {
 font-size: 20px;
 line-height: 1.75em;
 font-weight: bold;
 color: #fff;
}

.mobile-gateway .item-list .item .lead {
 display: block;
 font-size: 16px;
 text-align: left;
 color: #fff;
}

.mobile-gateway .image.overview {
  width: auto;
  border-radius: 10px;
  padding: 20px;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 20%) 4px 4px 0;
}

.mobile-gateway .image.overview img {
  width: 100%;
}

.mobile-gateway img {
 width: 96px;
}

.mobile-gateway small {
 font-size: 12px;
}

.mobile-gateway small {
 font-size: 12px;
}

.mobile-gateway .btn {
 padding: 40px 0 0 0;
}

.mobile-gateway .bg-black .area {
  margin-bottom: 0;
  padding: 60px 0;
}

.mobile-gateway .bg-black .area.function {
  padding-top: 0;
}

@media screen and (min-width: 1600px) {
  .mobile-gateway .bg-black .area {
    padding: 3.75vw 0;
  }

  .mobile-gateway .bg-black .area.outline::before {
    width: 10vw;
    height: 0.25vw;
    left: calc(50% - 5vw);
  }

  .mobile-gateway .image.overview {
    padding: 2vw;
  }

  .mobile-gateway .maxheadline .ruby {
    font-size: 1vw;
  }

  .mobile-gateway .headline .text {
    font-size: 1.75vw;
  }

  .mobile-gateway .bg-black .lead.large-text {
    font-size: 1vw;
  }

  .mobile-gateway .item-list .item figure {
    width: 5vw;
  }

  .mobile-gateway .item-list .item figure img {
    width: 100%;
    border-radius: 50%;
  }

  .mobile-gateway .item-list .item .title span {
    font-size: 1.25vw;
  }

  .mobile-gateway .item-list .item .lead {
    font-size: 1vw;
  }
}


@media screen and (max-width: 960px) {
  .mobile-gateway .inner {
    padding: 0 10px;
  }

  .mobile-gateway .headline .text {
    font-size: 28px;
  }

  .mobile-gateway .bg-black .lead.large-text {
    font-size: 16px;
  }

  .mobile-gateway .item-list {
    left: 0;
  }

  .mobile-gateway .item-list .item .title span {
    font-size: 18px;
  }

  .mobile-gateway .item-list .item .lead {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .mobile-gateway .bg-black .area {
    padding: 40px 0;
  }

  .mobile-gateway .maxheadline .ruby {
    font-size: 16px;
    padding-bottom: 0;
  }

  .mobile-gateway .item-list {
    display: block;
  }

  .mobile-gateway .item-list .item {
   width: auto;
   align-items: flex-start;
  }

  .mobile-gateway .item-list .item figure {
    margin: 0 10px;
  }

  .mobile-gateway .item-list .item figure img {
    width: 60px;
    height: 60px;
    border-radius: 30px;
  }

  .mobile-gateway .item-list .item .text-area .title {
    display: flex;
    align-items: center;
    min-height: 60px;
  }

  .mobile-gateway .item-list .item .text-area {
    width: 100%;
  }

  .mobile-gateway .item-list .item .lead {
    width: calc(100% + 60px);
    position: relative;
    left: -70px;
  }

  .mobile-gateway .btn {
    width: auto;
  }
}

/* --------------------
web-flow
-------------------- */
.web-flow {
  padding-top: 0;
}

.web-flow .lead {
  font-size: 20px;
  line-height: 1.75em;
}

.web-flow .image {
  width: 640px;
  margin: 40px auto;
}

@media screen and (min-width: 1600px) {
  .web-flow .lead {
    font-size: 0.85vw;
  }

  .web-flow .image {
    width: auto;
    margin: 2vw 10vw;
  }
}


@media screen and (max-width: 960px) {
  .web-flow .lead {
    font-size: 16px;
  }

}

@media screen and (max-width: 767px) {
  .web-flow .image {
    width: 25%;
    margin: 20px auto;
  }

  .web-flow .btn {
    width: auto;
  }
}