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

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


/* 見出し */
.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 30px;
  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;
}

/* 注釈 */
.note {
  margin: 32px 0 0 !important;
}

.note__item,
.service-detail__block p.note__item {
  margin-left: 1.5em;
  font-size: 14px;
  text-indent: -1.5em;
}

.note__item *,
.asterisk-text * {
  text-indent: 0;
}

.note__item+.note__item {
  margin-top: 4px;
}

/* ※テキスト */
.asterisk-text {
  margin-left: 1.5em !important;
  text-indent: -1.5em;
}

.asterisk-text::before {
  content: "※";
  display: inline-block;
  margin-right: .5em;
  text-indent: 0;
}

/* ※+数字テキスト */
.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 40px;
    padding: 0 0 18px;
    font-size: 32px;
  }

  .lead-text+.left-border__heading,
  .block-tbl-base+.left-border__heading {
    margin-top: 30px !important;
  }

  /* テキスト */
  .lead-text {
    margin-top: 28px !important;
    text-align: left;
  }

  .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: 30px 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;
}

/* 右側ブロック */
.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;
  }

}



/* MV下移動ブロック */
.mv-under {
  margin-top: 50px;
  padding: 40px 0 56px;
  background: url(/sites/default/files/media/service/home5g/image/benefit_bg-pc.webp);
}

.benefit-heading {
  text-align: center;
}

.benefit-heading span {
  position: relative;
  display: inline-block;
  padding: 0 42px;
  color: #fff;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.1;
}

.benefit-heading span::before,
.benefit-heading span::after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 5px;
  height: 44px;
  background: #FDD000;
}

.benefit-heading span::before {
  left: 0;
  transform: translateY(-50%) rotate(-26deg);
}

.benefit-heading span::after {
  right: 0;
  transform: translateY(-50%) rotate(26deg);
}

.benefit-list {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin: 50px 0 0 !important;
}

.benefit-item {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: calc(25% - 24px);
  text-align: center;
}

.benefit-title {
  color: #fff;
  font-size: 22px !important;
  font-weight: 900 !important;
}

.benefit-card {
  flex: 1;
  margin: 5px 0 0;
  padding: 24px 25px 30px;
  box-shadow: 0 6px 20px rgba(39, 39, 39, 0.2);
  border-radius: 16px;
  background: #fff;
}

.benefit-card p {
  margin-bottom: 0;
}

.benefit-text {
  margin: 10px 0 0 !important;
  font-size: 16px;
}

.benefit-text--m {
  font-size: 18px !important;
}

.benefit-text--l {
  font-size: 25px !important;
}

.sb_text--gr+.benefit-text {
  margin-top: 3px !important;
}

.benefit-card01_text {
  padding-left: 40px;
  font-weight: 700;
  line-height: 1.2;
}

.sb_text {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
}

.add-sb {
  position: relative;
  margin: 10px 0 0;
}

.sb_text--rd {
  position: absolute;
  top: -60px;
  left: -6px;
  width: 60px;
  height: 61px;
  background: url(/sites/default/files/media/service/home5g/image/icon_sb-rd.webp) no-repeat center / cover;
  font-size: 18px;
}

.sb_text--gr {
  width: 140px;
  height: 36px;
  margin: 0 auto;
  padding: 0 0 6px;
  background: url(/sites/default/files/media/service/home5g/image/icon_sb-gr.webp) no-repeat center / cover;
  font-size: 14px;
}

.benefit-marker {
  position: relative;
  display: inline-block;
  margin: 6px 0 0 !important;
  background-image: linear-gradient(#FDD000, #FDD000);
  background-repeat: no-repeat;
  background-size: 100% 8px;
  background-position: 0 100%;
  color: #BC2739;
  font-weight: 900;
  line-height: 1.2;
}

.benefit-marker--main {
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  font-size: 40px;
}

.benefit-marker--unit {
  font-size: 25px;
}

.benefit-marker--sale {
  margin-left: 3px;
  font-size: 32px;
}

.benefit-marker--promo {
  font-size: 26px;
}

.benefit-marker--small {
  font-size: 18px;
}

.benefit-label {
  display: flex;
  align-items: center;
  justify-content: center;
}

.benefit-label__inner {
  display: flex;
  align-items: center;
  margin: 16px 0 0 !important;
  padding: 4px 22px;
  background: #FBF5E5;
  line-height: 1;
  font-weight: 700;
}

.benefit-label__text {
  font-size: 14px;
}

.benefit-label__text--s {
  font-size: 12px;
}

.benefit-label--num {
  margin: 0 6px;
  color: #BC2739;
  font-size: 24px;
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
}

.benefit-point {
  margin: 14px 0 0 !important;
  color: #BC2739;
  font-size: 18px;
  font-weight: 900;
}

.benefit-card .oval-link--border--red {
  width: 100%;
  margin: 30px 0 0;
}

.benefit-month {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.benefit-month .font--lato {
  font-size: 24px;
  font-weight: 900;
}

.benefit-item--02 .benefit-text {
  margin-top: 3px !important;
}

.benefit-item--02 .benefit-text--m {
  margin-top: -8px !important;
}

.benefit-item--02 .benefit-marker:first-of-type,
.benefit-item--03 .benefit-marker:first-of-type {
  margin-top: 0 !important;
}

.benefit-item--02 .oval-link--border--red,
.benefit-item--03 .oval-link--border--red {
  margin-top: 16px;
}

.benefit-item--03 .benefit-text {
  margin-top: 0 !important;
}

.benefit-item--03 .benefit-image {
  margin-top: -14px;
}

.benefit-item--03 .benefit-text--m {
  margin-top: -16px !important;
}

.benefit-item--04 .benefit-image {
  margin-top: 12px;
}

.benefit-item--04 .benefit-image+.benefit-text {
  margin-top: 22px !important;
}

.benefit-item--04 .benefit-text--m {
  margin-top: 2px !important;
}

.benefit-item--04 .add-sb {
  width: 102%;
  margin: -14px 0 0 -1%;
}

.benefit-item--04 .sb_text--rd {
  top: -68px;
  left: -4px;
}

.benefit-item--04 .benefit-marker {
  margin-top: 0 !important;
  line-height: 1;
}

.benefit-item--04 .benefit-marker--small {
  display: block;
  color: #BC2739;
  font-weight: 700;
  line-height: 1;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .mv-under {
    margin: 50px 0 0;
    padding: 38px 0 48px;
    background: url(/sites/default/files/media/service/home5g/image/benefit_bg-sp.webp);
  }

  h2.benefit-heading {
    margin: 0;
    padding: 0;
    border: none;
  }

  .benefit-heading span {
    line-height: 1.2;
  }

  .benefit-heading span::before,
  .benefit-heading span::after {
    top: auto;
    bottom: 0;
  }

  .benefit-heading span::before {
    transform: rotate(-26deg);
  }

  .benefit-heading span::after {
    transform: rotate(26deg);
  }

  .benefit-list {
    flex-direction: column;
    gap: 54px;
  }

  .benefit-item {
    width: 91%;
    margin: 0 auto;
  }

  .benefit-title {
    justify-content: center;
    min-height: auto;
    padding: 0;
  }

  .benefit-text {
    margin-top: 12px !important;
    font-size: 17px;
  }

  .benefit-text--m {
    font-size: 20px !important;
    font-weight: 900;
  }

  .benefit-card01_text {
    padding-left: 34px;
  }

  .benefit-card01_text .benefit-text--l {
    margin-top: 18px !important;
  }

  .benefit-markers {
    margin-top: 16px;
  }

  .benefit-marker--main {
    font-size: 44px;
  }

  .benefit-marker--sale {
    font-size: 40px;
  }

  .benefit-point {
    font-size: 20px;
  }

  .sb_text--gr {
    width: 160px;
    height: 41px;
  }

  .benefit-month {
    margin-top: 6px !important;
  }

  .benefit-month .font--lato {
    font-size: 28px;
  }

  .benefit-item--01 .benefit-image {
    width: 270px;
    margin: 0 auto;
  }

  .benefit-item--02 .benefit-text {
    margin-top: 4px !important;
  }

  .benefit-item--02 .benefit-image {
    margin: -4px auto 0;
    width: 276px;
  }

  .benefit-item--02 .benefit-text--m {
    margin-top: -4px !important;
  }

  .benefit-item--02 .benefit-markers {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
  }

  .benefit-item--02 .benefit-point {
    margin-top: 20px !important;
  }

  .benefit-item--03 .benefit-image {
    width: 274px;
    margin: -14px auto 0;
  }

  .benefit-item--03 .benefit-markers {
    margin-top: 0;
  }

  .benefit-item--03 .benefit-point {
    margin-top: 14px !important;
  }

  .benefit-item--04 .benefit-image {
    width: 276px;
    margin: 18px auto 0;
  }

  .benefit-item--04 .benefit-image+.benefit-text {
    margin-top: 28px !important;
  }

  .benefit-item--04 .benefit-markers {
    margin-top: 14px;
  }

  .benefit-item--04 .add-sb {
    margin-top: -30px;
  }

  .benefit-item--04 .sb_text--rd {
    top: -78px;
    left: 16px;
    width: 70px;
    height: 72px;
  }

  .benefit-item--04 .benefit-marker--small {
    margin: 0 0 8px;
    font-size: 20px;
  }

}



/* home5Gとは？ */
.how-heading {
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 25px;
  font-size: 24px !important;
  font-weight: 700 !important;
}

.how-heading img {
  width: 278px;
}

.how-list {
  display: flex;
  justify-content: center;
  max-width: 1044px;
  margin: 54px auto 0 !important;
}

.how-item {
  width: 33%;
}

.how-item__image {
  width: 197px;
  margin: 0 auto;
}

.service-detail__block p.how-item__text {
  margin: 14px 0 0;
  color: #BC2739;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  h2.how-heading {
    margin: 0;
    padding: 0;
    border: none;
  }

  .how-list {
    flex-direction: column;
    gap: 26px;
  }

  .how-item {
    width: 100%;
  }

  .service-detail__block p.how-item__text {
    margin-top: 18px;
  }
}



/* 活用例/利用シーン */
.scene-list {
  display: flex;
  gap: 30px;
  margin: 34px 0 0 !important;
}

.scene-item {
  width: calc((100% - 90px) / 4);
}

.scene-item__title {
  margin: 0;
  padding: 0;
  border: none;
  color: #BC2739;
  font-size: 22px !important;
  font-weight: 600 !important;
  text-align: center;
  line-height: 1.1 !important;
}

.scene-item__image {
  margin: 15px 0 0 !important;
}

.check-list__item {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  font-size: 18px;
  font-weight: 700;
  margin: 10px 0 0;
}

.check-list__item::before {
  position: absolute;
  top: 2.5px;
  left: 0;
  content: "";
  display: inline-block;
  width: 27px;
  height: 27px;
  background: url(/sites/default/files/media/service/home5g/image/icon_check.webp) no-repeat center / contain;
}

.check-list--simple .check-list__item {
  padding-left: 34px;
  font-size: 14px;
  font-weight: normal;
}

.check-list--simple .check-list__item::before {
  top: 0;
  width: 24px;
  height: 24px;
  background: url(/sites/default/files/media/service/home5g/image/icon_check-simple.webp) no-repeat center / contain;
}

.scene-list+.left-border__heading {
  margin-top: 70px !important;
}

/* 対象エリア */
.area-image {
  width: 441px;
  margin: 30px auto 0 !important;
}

.link-block {
  margin: 34px 0 0;
  text-align: center;
}

.link-block .oval-link {
  padding: 15px 65px;
}

@media only screen and (max-width: 768px) {
  .scene-list {
    flex-direction: column;
    margin-top: 36px !important;
    gap: 36px;
  }

  .scene-item {
    width: 100%;
  }

  .check-list__item {
    margin-top: 14px;
  }

  /* 対象エリア */
  .area-image {
    width: 100%;
  }
}



/* 料金および割引 */
.charge.content-block {
  margin-top: 102px;
}

.service-detail__block .charge p.lead-text {
  text-align: left;
}

.block-tbl-base {
  width: 100%;
  margin: 30px 0 0;
  letter-spacing: .04em;
}

.block-tbl-base th {
  width: 350px;
  padding: 30px 0 30px 40px;
  background: #E5E5E5;
  color: #272727;
  font-size: 20px;
  font-weight: 700;
  text-align: left;
  vertical-align: middle;
}

.block-tbl-base td {
  padding: 25px 40px;
  border: 1px solid #E3E3E3;
  text-align: left;
}

.block-tbl-base td .note {
  margin-top: 3px !important;
}

.charge-text__wrap {
  display: flex;
  align-items: center;
  gap: 6px;
}

.service-detail__block p.charge-text {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.service-detail__block p.charge-text span {
  margin: 0 5px 0 0;
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  font-size: 32px;
  font-weight: 900;
}

.service-detail__block p.charge-text--fee span {
  font-size: 24px;
}

.charge .content-inner>.note {
  margin-top: 14px !important;
}

.charge .content-inner>.note .note__item {
  margin-left: 3em !important;
  text-indent: -3em !important;
}

.charge .content-inner>.note .asterisk-text::before {
  margin-right: 26px;
}

@media only screen and (max-width: 768px) {

  .block-tbl-base,
  .block-tbl-base tbody,
  .block-tbl-base tr,
  .block-tbl-base th,
  .block-tbl-base td {
    display: block;
    width: 100%;
  }

  .service-detail__block p.charge-text {
    margin-top: 10px;
  }
}



/* 下部リンクエリア */
.bnr-block {
  margin: 50px auto 0;
  max-width: 640px;
}

.bnr-block--norikae {
  margin-top: 30px;
}

.bnr-block .link-block {
  margin: 30px 0 0;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .bnr-block .link-block .oval-link {
    padding: 10px 60px;
  }
}

/* ご利用開始までの流れ */
.flow.content-block {
  margin-top: 98px;
}

.step-list {
  display: flex;
  gap: 50px;
}

.step-item {
  position: relative;
  width: calc((100% - 100px) / 3);
  padding: 18px 14px 46px;
  border: 8px solid #FFEAE9;
  border-radius: 20px;
  text-align: center;
}

.step-item:nth-child(n + 2)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -42px;
  transform: translateY(-50%);
  display: inline-block;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid #7D7D7D;
}

.service-detail__block p.step-step {
  display: inline-block;
  margin: 0;
  padding: 10px 30px;
  border-radius: 100vh;
  background: #BC2739;
  color: #fff;
  font-family: 'Lato', 'Noto Sans JP', Helvetica, Neue Haas Grotesk, Arial;
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
}

.step-step span {
  display: inline-block;
  margin-left: 4px;
  font-size: 29px;
}

.step-title {
  margin: 14px 0 0 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.step-image {
  display: block;
  width: 269px;
  margin: -6px auto 0;
}

.service-detail__block p.step-text {
  margin: -8px 0 0;
  font-size: 16px;
  text-align: left;
  line-height: 1.5;
}

.step-item--01 .step-image {
  margin-top: 0px;
}

.service-detail__block .step-item--01 p.step-text {
  margin-top: 20px;
}

.step-list+.left-border__heading {
  margin-top: 70px !important;
}

@media only screen and (max-width: 768px) {
  .step-list {
    flex-direction: column;
  }

  .step-item {
    width: 100%;
    padding: 18px 14px 24px;
  }

  h3.step-title {
    display: block;
    min-height: auto;
    padding: 0;
  }

  .step-image {
    width: 76.5%;
    margin-top: -6px;
  }

  .step-item:nth-child(n + 2)::before {
    border-top: 20px solid #7D7D7D;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    left: 50%;
    transform: translateX(-50%);
    border-bottom: none;
    top: -42px;
  }
}

/* ご利用までの詳細なお手続きについて */
.accordion-heading {
  cursor: pointer;
  position: relative;
  transition: all 0.25s;
}

.accordion-heading:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  bottom: auto;
  transform: translateY(-50%);
  display: inline-block !important;
  width: 16px;
  height: 16px;
  border: none;
  background: url(/sites/default/files/media/service/home5g/image/icon_plus.webp) no-repeat center / 100%;
}

.accordion-heading.is-active::after {
  background: url(/sites/default/files/media/service/home5g/image/icon_minus.webp) no-repeat center / 100%;
}

@media only screen and (max-width: 768px) {
  .accordion-heading {
    padding-right: 38px;
  }
}

.accordion-body {
  margin: 30px 0 0;
  padding: 0;
}

.flow-item {
  display: flex;
}

.flow-item:nth-child(n + 2) {
  margin-top: 22px;
}

.flow-heading {
  width: 350px;
}

.flow-heading__inner {
  position: relative;
  min-height: 68px;
  height: calc(100% - 20px);
  padding: 16px;
  background: #F3F3F3;
  text-align: center;
}

.flow-heading__inner::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -19px;
  display: inline-block;
  border-top: 20px solid #F3F3F3;
  border-left: 175px solid transparent;
  border-right: 175px solid transparent;
}

.flow-item:last-of-type .flow-heading__inner {
  height: 100%;
}

.flow-item:last-of-type .flow-heading__inner::after {
  display: none;
}

.service-detail__block p.flow-num {
  margin: 0;
  color: #BC2739;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.flow-title {
  margin: 5px 0 0 !important;
  padding: 0;
  border: none;
  font-weight: 600 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.flow-body {
  width: calc(100% - 350px);
  padding: 10px 20px;
  border-top: 1px solid #E3E3E3;
}

.flow-text {
  font-size: 16px;
  line-height: 1.8;
}

.flow-text+.flow-text {
  margin-top: 30px;
}

.service-detail__block p.flow-note {
  margin: 3px 0 0;
  font-size: 14px;
  line-height: 1.55;
}

.service-detail__block p.flow-label {
  display: inline-block;
  margin: 0;
  padding: 9px;
  background: #7D7D7D;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.flow-label+.flow-text {
  margin-top: 2px;
}

.flow-text+p.flow-label {
  margin-top: 32px;
}

@media only screen and (max-width: 768px) {
  .flow-heading {
    width: 34vw;
  }

  .flow-body {
    width: calc(100% - 34vw);
    padding: 10px;
  }

  .flow-heading__inner::after {
    border-top: 20px solid #F3F3F3;
    border-left: 17vw solid transparent;
    border-right: 17vw solid transparent;
  }

  .flow-item:last-of-type .flow-heading__inner {
    padding: 16px 12px;
  }

  .service-detail__block p.flow-label {
    padding: 8px 9px;
    line-height: 1.4;
  }

  .flow-label+.flow-text {
    margin-top: 5px;
  }
}

/* 導入事例 */
.case.content-block .sub-heading {
  margin-top: 0;
}

.card__list--case {
  justify-content: center;
}

.card__list--case .card__list-item {
  width: calc(30% - 18px);
}

.card__list--case .card__list-item a:hover {
  color: #333;
}

.card__list--case .card__list-item p {
  margin-bottom: 0;
  line-height: 1.5;
}

.card__list--case .card__list-detail {
  position: relative;
  padding: 2px 24px 122px !important;
}

.card__list--case .card__list-title {
  line-height: 1.5 !important;
}

.card__list--case .card__list-type {
  margin: 10px 0 0 !important;
}

.card__list--case .card__list-tag {
  padding: 5px 10px !important;
  line-height: 1.8;
}

.card__list--case .card__list-text {
  margin-top: 0;
  line-height: 1.8;
}

.card__list--case .check-list {
  margin: 6px 0 0 !important;
}

.card__list--case .card__list-item p.card__list-link {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.card__list--case .oval-link {
  max-width: 240px;
  padding: 18px 40px;
}



@media only screen and (max-width: 768px) {
  .case.content-block {
    margin-bottom: 0;
  }

  .case .content-inner {
    padding: 0;
    overflow: hidden;
  }

  .case.content-block .sub-heading {
    margin: 0 24px 40px;
  }

  .case .sub-heading {
    margin-right: 20px;
    margin-left: 20px;
  }

  .case .slick-list {
    padding: 20px;
  }

  .case .card__list {
    display: block;
  }

  .case .card__list--case .card__list-item {
    min-width: auto;
    margin: 0 24px !important;
  }

  .card__list--case .card__list-item .card__list-image {
    width: auto;
    height: auto;
  }

  .card__list--case .card__list-item .card__list-image img {
    margin: 0 auto;
  }

  .card__list--case .card__list-detail {
    padding: 2px 35px 110px !important;
  }

  .card__list--case .card__list-title {
    font-size: 22px;
  }

  .card__list--case .card__list-type {
    margin-top: 15px !important;
  }

  .card__list--case .check-list {
    margin-top: 0 !important;
  }

}

/* 製品仕様 */
.spec .sub-heading {
  margin-top: 70px !important;
}

.tbl-section th {
  width: 350px;
  padding: 7px 20px;
  border: 1px solid #E3E3E3;
  background: #E5E5E5;
  color: #272727;
  font-weight: bold;
  text-align: left;
}

.tbl-section tr:not(:first-of-type) th,
.tbl-section tr:not(:last-of-type) th {
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.tbl-section tr:first-of-type th {
  border-bottom: 2px solid #fff;
}

.tbl-section tr:last-of-type th {
  border-top: 2px solid #fff;
}

.tbl-section__th {
  display: flex;
  align-items: flex-end;
}

.tbl-section td {
  padding: 10px 18px;
}

.service-detail__block p.tbl-section__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
}

.service-detail__block p.tbl-section__atten {
  font-size: 14px;
}

.spec .note--numbered .note__item {
  line-height: 1.8;
}

.spec .note--numbered .note__item+.note__item {
  margin-top: 10px;
}

@media only screen and (max-width: 768px) {
  .spec.content-block {
    margin-top: 72px;
  }

  .tbl-section th {
    width: 34.1vw;
    padding: 10px;
  }

  .tbl-section__th {
    flex-wrap: wrap;
  }

  .tbl-section td {
    padding: 10px 16px;
  }

  .service-detail__block p.tbl-section__text {
    line-height: 1.75;
  }
}



/* よくあるご質問 */
.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.75;
}

.attention .note__item+.note__item {
  margin-top: 11px;
}


/* フッター */
.footer-sitemap__block--col2 .sitemap-list__item {
  margin: 0px 0 16px;
}

.footer-sitemap .sitemap-list--col1 .sitemap-list__item {
  margin-right: 24px;
}

/* テーブル */
.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: 16px;
  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) {

  .table-block__table th,
  .table-block__table td {
    padding: 10px 12px;
    font-size: 14px;
  }
}