@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@700;900&display=swap');

/* パンくず */
.bootstrap .breadcrumb {
  padding: 0.75rem 0;
  background: transparent;
}

@media (max-width: 768px) {
  .bootstrap .breadcrumb {
    display: none;
  }
}

/* ブロック */
.service-detail__block {
  margin-top: 0;
}

.content-block {
  margin: 80px 0;
}

/* リンク */
.content-inner a {
  color: #333;
  text-decoration: underline;
}

.content-inner a:hover {
  color: #bc2739;
  text-decoration: none !important;
}

.atten-link {
  margin-left: 4px;
}

.atten-link a {
  color: #0081CC !important;
}

.text-underline {
  text-decoration: underline !important;
}


/* テキスト */
.font--lato {
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
}

.svc-block-txt {
  line-height: 1.8;
  font-size: 18px;
}

.lead-text {
  margin: 24px 0 0 !important;
  font-size: 22px !important;
  text-align: center;
}

.service-detail__block .lead-text+.lead-text {
  margin-top: 4px !important;
}

.service-detail__block p {
  line-height: 1.8;
  font-size: 18px;
}

/* 見出し */
.left-border__heading {
  margin: 30px 0 24px !important;
  padding-left: 20px;
  border-left: 5px solid #BC2739;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.service-detail__block p.lead-text--rd {
  color: #BC2739;
  font-size: 24px !important;
  font-weight: 900;
}

.link-block+.left-border__heading {
  margin-top: 50px !important;
}

.sub-heading,
.bootstrap h2.sub-heading,
.bootstrap h3.sub-heading {
  display: block;
  margin: 80px 0 20px;
  padding-bottom: 16px;
  border-bottom: 4px solid #e5e5e5;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
}

.sub-heading::after {
  display: none;
}

.sub-heading::before {
  display: none;
}

.sub-heading:before {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 4px #bc2739;
  bottom: -4px;
  width: 204px;
}

.price_title {
  margin-top: 50px !important;
}

@media (max-width: 768px) {
  .price_title {
    margin-top: 30px !important;
  }

  .m-accordion-menu h3 {
    font-size: 18px !important;
    padding: 0px 0px 10px !important;
    line-height: 1.4 !important;
    min-height: auto !important;
  }
}

/* 利用規約 */
.terms-wrap .modal_content {
  overflow-y: inherit !important;
}

/* 注釈 */

.note__item,
.service-detail__block p.note__item {
  margin-left: 1.3em;
  font-size: 14px;
  text-indent: -1.3em;
  line-height: 1.6;
}

.note__item *,
.asterisk-text * {
  text-indent: 0;
}

.thumbnail-slider__box .note {
  padding: 15px;
  background: rgba(207, 30, 30, .2);
  margin-bottom: 20px;
  margin-top: 20px;
}

.thumbnail-slider__box .note__item {
  line-height: 1.6;
  font-weight: 600;
  text-indent: -1.2em;
}

@media (max-width: 768px) {
  .thumbnail-slider__box .note {
    padding: 15px !important;
  }
}


/* ※テキスト */
.asterisk-text {
  margin-left: 1.5em !important;
  text-indent: -1.5em;
}

.asterisk-text::before {
  content: "※";
  display: inline-block;
  margin-right: .5em;
  text-indent: 0;
}

.dot-text {
  margin-left: 1.2em !important;
  text-indent: -1.2em;
  font-size: 18px;
  line-height: 1.8;
}

.dot-text::before {
  content: "・";
  display: inline-block;
  margin-right: .2em;
  text-indent: 0;
}

.sq-text {
  margin-left: 1.5em !important;
  text-indent: -1.5em;
  font-weight: bold;
  font-size: 18px;
}


.ast-text {
  margin-left: 1.2em !important;
  text-indent: -1.2em;
  font-size: 18px;
}

.ast-text::before {
  content: "※";
  display: inline-block;
  margin-right: .2em;
  text-indent: 0;
}


.sq-text::before {
  content: "■";
  display: inline-block;
  margin-right: .5em;
  text-indent: 0;
}

@media (max-width: 768px) {
  .dot-text {
    font-size: 16px;
  }

  .ast-text {
    font-size: 16px;
  }


  .svc-block-txt {
    font-size: 16px;
  }
}

/* ※+数字テキスト */
.note--numbered .note__item,
.service-detail__block .note--numbered p.note__item {
  margin-left: 3em;
  text-indent: -3em;
  line-height: 1.6;
}

.note--numbered .note__item span {
  margin-right: 18px;
}

/* 先頭中黒リスト */
.dot-list {
  margin: 18px 0 0 !important;
}

.dot-list__item {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}

.dot-list__item::before {
  position: absolute;
  top: calc(.5em + 3px);
  left: calc(.5em + 3px);
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #272727;
  font-size: 14px;
  line-height: 1.5;
}

.dot-list__item+.dot-list__item {
  margin-top: 20px;
}

.dot-list__item sup {
  font-size: 14px;
}

.left-border__heading+.dot-list {
  margin-top: 34px !important;
}

.dot-list+.note {
  margin-top: 34px !important;
}

.flow-list .dot-list {
  margin-top: 0px !important;
}

.flow-list .dot-list__item {
  padding-left: 23px;
  font-size: 16px;
  margin-top: 0px;
}

/* スライダー */
.slick-next,
.slick-prev {
  width: 48px;
  height: 48px;
}

.slick-next {
  right: 12px;
}

.slick-prev {
  left: 12px;
}

.slick-next:before {
  background: url(/sites/default/files/media/service/home5g/image/slider_arrow-bk-r.webp) no-repeat center / 100%;
  background-size: contain;
}

.slick-prev:before {
  background: url(/sites/default/files/media/service/home5g/image/slider_arrow-bk-l.webp) no-repeat center / 100%;
  background-size: contain;
}

.slick-dots {
  bottom: -18px;
}

.slick-dots li,
.slick-dots li button {
  width: 10px;
  height: 10px;
}

@media only screen and (max-width: 768px) {

  /* 見出し */
  .left-border__heading {
    min-height: auto;
    margin-top: 70px !important;
    padding: 0 0 0 18px;
  }

  .sub-heading,
  .bootstrap h2.sub-heading,
  .bootstrap h3.sub-heading {
    margin: 80px 0 20px;
    padding: 0 0 16px;
    font-size: 28px;
  }

  .lead-text+.left-border__heading,
  .block-tbl-base+.left-border__heading {
    margin-top: 30px !important;
  }

  .m-accordion-menu *+h3 {
    margin-top: 70px;
  }

  /* テキスト */
  .lead-text {
    margin-top: 28px !important;
    text-align: left;
  }

  .bf-ast {
    font-size: 14px;
  }

  .bf-dot {
    font-size: 14px;
  }

  .bf-ast-num {
    padding-left: 35px;
  }

  .service-detail__block .lead-text+.lead-text {
    margin-top: 12px !important;
  }

  .service-detail__block p.text-center--sp {
    text-align: center;
  }

  .flex-wrap--sp {
    flex-wrap: wrap;
  }

  .w100--sp {
    margin-top: 10px;
    width: 100%;
  }

  /* 注釈 */
  .note {
    margin: 20px 0 0;
  }

  .note__item {
    line-height: 1.8;
  }

}


/* MVエリア */
.service-detail__main-visual .main-visual--inr .main-heading {
  margin: 0;
  padding-left: 20px;
  border-left: 5px solid #BC2739;
  font-size: 44px;
  font-weight: bold;
  line-height: 1.3;
}

.service-detail__main-visual .main-visual--inr .tag-group+.main-heading {
  margin-top: 20px;
}

.main-visual--inr picture {
  display: inline-block;
  margin: 30px auto 0;
}

@media only screen and (max-width: 768px) {
  .service-detail__main-visual .main-visual--inr .main-heading {
    font-size: 40px;
  }
}


/*CTAボタン*/
.bootstrap a.oval-link,
.content-inner a.oval-link {
  text-decoration: none !important;
}


.price-button {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 30px;
  display: block;
}

@media screen and (max-width: 768px) {
  .price-button {
    margin-bottom: 30px;
  }
}

/* 右側ブロック */
.service-detail__cart {
  padding: 20px 20px 24px;
}

.service-detail__cart .cart-inr {
  padding: 24px 16px;
}

.price-detail p {
  margin-bottom: 0 !important;
}

.price-category {
  font-size: 18px;
  font-weight: 700;
}

.price-box+.price-category {
  margin-top: 20px;
}

.service-detail__cart .cart-inr .price-box {
  align-items: center;
}

.service-detail__cart .cart-inr .price-box:nth-child(n+2) {
  margin-top: 5px;
}

.price-text {
  font-size: 14px;
}

.service-detail__cart .cart-inr .price {
  font-size: 14px;
}

.service-detail__cart .cart-inr .price span.text {
  color: #000;
  font-size: 14px;
  font-weight: 400;
}

.service-detail__links {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin: 20px 0 0;
}

.service-detail__links .oval-link--red {
  width: 289px;
}

.service-detail__links .text-underline {
  color: #272727 !important;
  font-size: 14px;
  font-weight: 700;
}

.service-detail__links .text-underline:hover {
  color: #85B7FE !important;
}

.service-detail__links .oval-link+.oval-link {
  margin-top: 10px;
}

.service-detail__links .oval-link+.text-underline {
  margin-top: 20px;
}

@media only screen and (max-width: 768px) {
  .service-detail__main-visual {
    margin: 60px auto 0;
  }

  .tag-group__item img {
    height: 32px;
  }

  .service-detail__main-visual .main-visual--inr .heading {
    padding: 0 20px;
  }

  .service-detail__main-visual .main-visual--inr .main-heading {
    padding: 0 0 0 20px;
    line-height: 1.5;
  }

  .main-visual--inr picture {
    margin: 30px 0 0;
  }

  .main-visual--inr .note {
    padding: 0 20px;
  }

}

/*ご利用開始の流れ*/
.p-flow {
  padding-left: 0;
  margin-top: 35px !important;
}

.p-flow>li {
  list-style-type: none;
  position: relative;
  padding-left: 50px;
}

.p-flow>li:not(:last-child) {
  padding-bottom: 20px;
}

.p-flow>li:not(:last-child)::before {
  content: '';
  background: #c3c3c3;
  width: 4px;
  height: 100%;
  position: absolute;
  top: calc(50% - -30px);
  left: 19px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.p-flow>li dl dt {
  font-size: 1.8rem;
  font-weight: 600;
  color: #193775;
}

.p-flow>li .c-flow__icon {
  width: 40px;
  height: 40px;
  line-height: 2.3;
  text-align: center;
  border-radius: 100vh;
  display: inline-block;
  background: #193775;
  color: #fff;
  position: absolute;
  left: 1px;
  top: -9px;
}

.p-flow>li dl dd {
  margin-left: 0;
  margin-top: 8px;
  line-height: 1.8;
  font-size: 18px;
}

.p-flow .c-flow__marker {
  color: #c03;
  background: #ffff00;
}

@media only screen and (max-width: 768px) {
  .p-flow {
    margin-top: 30px !important;
  }

  .p-flow>li dl dd {
    font-size: 16px;
  }
}


/*商品情報*/
.content_block {
  margin-top: 90px;
}

/* よくあるご質問 */
.faq.content-block {
  margin-top: 86px;
}

.faq-list>li {
  border: none;
}

.faq-answer__block p {
  margin-bottom: 0;
}

.tel-list__text .freedial img {
  height: 20px;
  display: inline-block;
  margin-right: 5px;
}



/* 注意事項 */
.attention .note__item {
  line-height: 1.8;
}

.attention .note__item+.note__item {
  margin-top: 3px;
}


/* フッター */
.footer-sitemap__block--col2 .sitemap-list__item {
  margin: 0px 0 16px;
}

.footer-sitemap .sitemap-list--col1 .sitemap-list__item {
  margin-right: 24px;
}

/* テーブル */
.block-tbl-base td span {
  font-size: 14px;
}

.table-scroll {
  overflow: inherit !important;
}

.price-button {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 30px;
  display: block;
}

table {
  table-layout: auto;
}

.block-tbl-base tr td,
.block-tbl-base th {
  vertical-align: middle;
  font-size: 18px !important;
}

.teigaku td {
  padding: 14px 0px;
}

.table-block {
  margin-top: 24px;
}

.table-block__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-block__table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  background: #fff;
}

.table-block__caption {
  margin-bottom: 12px;
  font-weight: 700;
  text-align: left;
}

.table-block__table th,
.table-block__table td {
  padding: 12px 16px;
  border: 1px solid #707070 !important;
  font-size: 18px;
  line-height: 1.6;
  vertical-align: middle;
}

.table-block__table thead th {
  background: #3d3d3d;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

.table-block__table tbody th {
  background: #e5e5e5;
  color: #272727;
  white-space: nowrap;
}

.table-block__table tbody td {
  background: #fff;
  text-align: left;

  &.text-center {
    text-align: center
  }

  .oval-link--blank--red {
    position: relative;

    &::after {
      content: "";
      position: absolute;
      top: 50%;
      right: -1em;
      transform: translateY(-50%);
      display: inline-block;
      width: 12px;
      height: 12px;
      background: url(/themes/custom/subsphere/images/resources/icon_window-r.webp) no-repeat center/100%;

    }
  }

}

@media (max-width: 768px) {

  .block-tbl-base td span {
    font-size: 12px;
  }

  .table-scroll {
    overflow-y: hidden !important;
  }

  .table-scroll .block-tbl-base {
    width: 680px;
  }


  .table-block__table th,
  .table-block__table td {
    padding: 10px 12px;
  }

  .block-tbl-base tr td,
  .block-tbl-base th {
    font-size: 14px !important;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/*下部バナー*/
.docomo-member--bnr img {
  margin: 0 auto;
}

/*サービスの特長*/
.feature__block {
  display: flex;
  box-shadow: 0 3px 20px 0 rgba(26, 34, 41, .18);
  background-color: #ffffff;
  margin: 0 0 50px;
  border-radius: 10px;
  align-items: center;
}

.feature-point__block {
  background: #F2F2F2;
  width: 150px;
  padding: 23px;
  display: flex;
  height: stretch;
  justify-content: center;
  align-items: center;
}

.feature-point__block p {
  font-weight: bold;
  color: #666666;
  font-size: 22px;
  text-align: center;
  line-height: 1.3 !important;
  margin-bottom: 0px;
}

.feature-point__block p span {
  font-size: 38px;
}

.feature-detail__block {
  padding: 25px;
}

.feature-detail {
  display: flex;
  align-items: center;
  gap: 15px;
}

.feature-txt {
  font-size: 24px;
  color: #cc0033;
  font-weight: bold;
}

.feature-txt_detail {
  font-size: 18px;
}

.feature-txt_detail {
  margin-bottom: 0px !important;
}

.feature__block-top {
  margin-top: 65px;
}

.feature-detail__block .svc-block-img {
  margin-bottom: 0px !important;
}

.feature-point02__title {
  margin-top: 30px !important;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
}

.feature-point02__block {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}

.feature-point02__item {
  padding: 25px;
  border-radius: 20px;
  background-color: #FCEDE4;
  flex: 1;
}

.feature-point02__txt {
  font-weight: bold;
  color: #cc0033;
  font-size: 20px;
  text-align: center;
}

.feature-point02__detail {
  font-size: 18px;
  margin-bottom: 0px !important;
}

@media (max-width: 768px) {
  .feature__block {
    flex-direction: column;
  }

  .feature__block-top {
    margin-top: 40px;
  }

  .feature-point__block {
    padding: 10px;
    width: 100%;
  }

  .feature__img {
    max-width: 450px;
    margin: 0 auto;
  }

  .feature-point__block p span {
    font-size: 30px;
  }

  .feature-txt {
    font-size: 20px;
  }

  .feature-txt_detail {
    font-size: 16px;
  }

  .feature-detail {
    flex-direction: column;
  }

  .feature-point02__item {
    padding: 20px;
  }

  .feature-point02__detail {
    font-size: 16px;
  }

  .feature-point02__title {
    font-size: 20px;
  }

  .feature-point02__block {
    flex-direction: column;
    gap: 15px;
  }
}

/*ビデオ*/
.video-wrapper {
  width: 70% !important;
  margin: 0 auto -180px !important;
}

.video-wrapper iframe {
  height: 70% !important;
}

@media (max-width: 768px) {
  .video-wrapper {
    width: 100% !important;
    margin: 0 auto !important;

  }

  .video-wrapper iframe {
    height: 100% !important;
  }
}