@charset "utf-8";

/**
 *
 *  料金の改定・サービス内容について index
 *
 */

/*--------------------------------------------------------------------------
   overwrite  - 共通CSSの上書き -
---------------------------------------------------------------------------*/
@media screen and (min-width: 769px) {
  .for-sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .for-pc {
    display: none;
  }
}

.l-base {
  width: 100%;
  max-width: 980px;
}

.m-page-head__ttl {
  font-size: 32px;
}

.kaitei-btn {
  max-width: 600px;
}

.kaitei-btn a {
  border: 2px solid #f87e46;
  background: #f87e46;
}

.kaitei-btn.is-inactive a {
  background: #c3c3c3;
  border: 2px solid #c3c3c3;
  pointer-events: none;
}

.modePC .kaitei-btn a:hover {
  background: #fff;
  color: #f87e46;
}

.modePC .kaitei-btn a:hover span:before {
  border-color: transparent transparent transparent #f87e46;
}

.kaitei-btn-block p {
  margin: 10px 0 0;
  line-height: 1.5;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}

.price-review__table {
  border: 1px solid #0e0d6a;
  border-radius: 5px;
  overflow: hidden;
}

p + .price-review__table {
  margin: 20px 0 0;
}

.price-review__table table {
  width: 100%;
  margin: 0 auto;
  border-radius: 5px;
  border-collapse: collapse;
  background-color: #fff;
}

.price-review__table th,
.price-review__table td {
  padding: 12px 10px;
  vertical-align: middle;
  border: 1px solid #d8e4ef;
  font-size: 16px;
  line-height: 1.375;
  text-align: center;
}

.price-review__table th span {
  font-size: 14px;
}

.price-review__table td {
  width: 31%;
  font-size: 30px;
  font-weight: 700;
}

.price-review__table td ul {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
}

.price-review__table td ul li {
  font-size: 14px;
  padding-left: 1em;
  text-indent: -1em;
}

.price-review__table td small {
  font-size: 24px;
}

@media screen and (max-width: 768px) {
  .m-page-head__ttl {
    font-size: 16px;
  }

  .kaitei-btn {
    width: calc(100% - 10px);
  }

  .kaitei-btn a {
    border-radius: 40px;
    font-size: 13px;
    line-height: 1.5;
    padding: 10px 20px;
  }

  .kaitei-btn a span {
    padding-left: 19px;
  }

  .kaitei-btn a span:before {
    border-width: 6px 0 6px 8px;
  }

  .kaitei-btn-block p {
    font-size: 14px;
  }

  p + .price-review__table {
    margin: 11px 0 0;
  }

  .price-review__table th,
  .price-review__table td {
    padding: 10px 5px;
    font-size: 11px;
    line-height: 1.4;
  }

  .price-review__table td {
    width: 33%;
  }

  .price-review__table th span {
    font-size: 10px;
  }

  .price-review__table td {
    font-size: 20px;
  }

  .price-review__table td ul {
    row-gap: 0;
  }

  .price-review__table td ul li {
    font-size: 11px;
  }

  .price-review__table td small {
    font-size: 16px;
  }
}

.g-footer__bottom {
  max-width: 1020px;
  padding: 20px;
  box-sizing: border-box;
}

.g-footer__help__list {
  padding-left: 0;
}

@media screen and (max-width: 768px) {
  .g-footer__bottom {
    padding: 0;
  }
}
/*--------------------------------------------------------------------------
kaitei
---------------------------------------------------------------------------*/
.kaitei {
  padding: 0 20px 120px;
}

@media screen and (max-width: 768px) {
  .kaitei {
    padding: 0 15px 58px;
  }
}

/* kaitei-header
-----------------------------------------------------------------*/
.kaitei-header {
  max-width: 980px;
  margin: 0 auto;
  padding: 64px 0 0;
}

.kaitei-header .kaitei-header__desc {
}

.kaitei-header .kaitei-header__desc p {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  color: #ff0000;
}

.kaitei-header .kaitei-header__desc p + p {
  margin: 16px 0 0;
}

.kaitei-header .kaitei-btn {
  margin: 0 auto;
}

.kaitei-header .kaitei-toc {
  margin: 72px 0 0;
  padding: 34px 48px 46px;
  border: 1px solid #1b266f;
  border-radius: 6px;
  background: #fff;
}

.kaitei-header .kaitei-toc p {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.kaitei-header .kaitei-toc > ul {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  margin: 29px 0 0;
}

.kaitei-header .kaitei-toc > ul > li {
  position: relative;
  padding-left: 20px;
}

.kaitei-header .kaitei-toc li::before {
  position: absolute;
  top: 10px;
  left: 4px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #0e0d6a;
  content: "";
}

.kaitei-header .kaitei-toc > ul li a {
  color: #0000ee;
  font-size: 16px;
  font-weight: 700;
}

.kaitei-header .kaitei-toc > ul > li > ul {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
  margin: 5px 0 0;
}

.kaitei-header .kaitei-toc > ul > li > ul > li {
  position: relative;
  padding-left: 11px;
}

.kaitei-header .kaitei-toc > ul > li > ul > li::before {
  left: 0;
}

.kaitei-header .kaitei-toc > ul > li > ul > li a {
  font-weight: 300;
  color: #0e0d6a;
}

@media screen and (max-width: 768px) {
  .kaitei-header {
    padding: 26px 0 0;
  }

  .kaitei-header .kaitei-header__desc p {
    font-size: 16px;
  }

  .kaitei-header .kaitei-header__desc p + p {
    margin: 10px 0 0;
  }

  .kaitei-header .kaitei-toc {
    margin: 24px 0 0;
    padding: 20px 20px 15px;
  }

  .kaitei-header .kaitei-toc p {
    font-size: 12px;
  }

  .kaitei-header .kaitei-toc > ul {
    row-gap: 10px;
    margin: 11px 0 0;
  }

  .kaitei-header .kaitei-toc > ul > li {
    padding-left: 10px;
  }

  .kaitei-header .kaitei-toc li::before {
    top: 8px;
    left: 3px;
    width: 3px;
    height: 3px;
  }

  .kaitei-header .kaitei-toc > ul li a {
    font-size: 12px;
  }

  .kaitei-header .kaitei-toc > ul > li > ul {
    row-gap: 3px;
    margin: 5px 0 0;
  }

  .kaitei-header .kaitei-toc > ul > li > ul > li {
    padding-left: 11px;
  }

  .kaitei-header .kaitei-toc > ul > li > ul > li::before {
    left: 4px;
  }
}

/* is-disable
-----------------------------------------------------------------*/
.is-disable {
  position: relative;
}

.is-disable > *:not(.kaitei-caution) {
  opacity: 0.4;
  pointer-events: none;
}

/* kaitei-caution
-----------------------------------------------------------------*/
.kaitei-caution {
  position: absolute;
  top: 50px;
  left: 50%;
  width: calc(100% - 40px);
  max-width: 800px;
  padding: 50px 40px;
  border: 5px solid #ff0000;
  box-sizing: border-box;
  background-color: #fff;
  transform: translateX(-50%);
  z-index: 1;
}

.contact .kaitei-caution {
  top: 100px;
}

.kaitei-caution p {
  font-weight: 700;
  color: #ff0000;
  text-align: center;
}

.kaitei-caution p + p {
  margin: 20px 0 0;
}

.kaitei-caution .kaitei-caution__title {
  font-size: 24px;
}

.kaitei-caution .kaitei-caution__desc {
  font-size: 20px;
}

@media screen and (max-width: 768px) {
  .kaitei-caution {
    max-width: 450px;
    padding: 30px 15px;
  }

  .contact .kaitei-caution {
    top: 50px;
  }

  .kaitei-caution .kaitei-caution__title {
    font-size: 18px;
  }

  .kaitei-caution .kaitei-caution__desc {
    font-size: 14px;
  }
}

/* price-review
-----------------------------------------------------------------*/
.price-review {
  margin: 72px 0 0;
}

.price-review .price-review__desc {
  margin: 32px 0 0;
  line-height: 1.9;
}

.price-review .price-review__content {
  margin: 40px auto 0;
  border: 1px solid #1b266f;
  border-radius: 4px;
  overflow: hidden;
}

.price-review .price-review__content + .price-review__content {
  margin: 56px auto 0;
}

.price-review .price-review__title {
  padding: 16px 0;
  background: #ffec70;
  text-align: center;
  color: #0e0d6a;
  font-size: 18px;
  font-weight: 700;
}

.price-review .price-review__block {
  padding: 40px 45.9px;
  background-color: #fff;
}

.price-review .price-review__block h4 {
  font-size: 18px;
  line-height: 1.2;
}

.price-review .price-review__block p {
  font-size: 14px;
  line-height: 1.9;
}

.price-review .price-review__block p b {
  font-size: 16px;
  font-weight: 700;
}

.price-review .price-review__block p + p,
.price-review .price-review__block figure + p {
  margin: 40px 0 0;
}

.price-review .price-review__block h4 + p {
  margin: 20px 0 0;
}

.price-review .price-review__block a {
  color: #0e0d6a;
  text-decoration: underline;
}

.price-review .price-review__block a:hover {
  text-decoration: none;
}

.price-review .price-review__block ol {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

.price-review .price-review__block ol li {
  position: relative;
  display: flex;
  column-gap: 10px;
}

.price-review .price-review__block ol li span {
  display: block;
  margin: 2px 0 0;
}

.price-review .price-review__block > figure {
  margin: 40px auto 0;
}

.price-review .price-review__block > .price-review__graph {
  max-width: 400px;
}

.price-review .price-review__block > .price-review__detail {
  max-width: 800px;
}

.price-review .price-review__block > figure img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .price-review {
    margin: 40px 0 0;
  }

  .price-review .price-review__desc {
    margin: 20px 0 0;
    font-size: 11px;
  }

  .price-review .price-review__content {
    margin: 24px auto 0;
    border-radius: 4px;
  }

  .price-review .price-review__content + .price-review__content {
    margin: 31px 0 0;
  }

  .price-review .price-review__title {
    padding: 10px 0;
    font-size: 13px;
  }

  .price-review .price-review__block {
    padding: 20px 18px 22px;
  }

  .price-review .price-review__block h4 {
    font-size: 14px;
  }

  .price-review .price-review__block p {
    font-size: 11px;
  }

  .price-review .price-review__block p + p,
  .price-review .price-review__block figure + p {
    margin: 24px 0 0;
  }

  .price-review .price-review__block h4 + p {
    margin: 12px 0 0;
  }

  .price-review .price-review__block .price-review__table + p {
    margin: 13px 0 0;
  }

  .price-review .price-review__block .price-review__table + .table-note {
    margin: 13px 0 0;
  }

  .price-review .price-review__block ol {
    row-gap: 8px;
  }

  .price-review .price-review__block ol li {
    column-gap: 5px;
    font-size: 11px;
  }

  .price-review .price-review__block > figure {
    margin: 20px auto 0;
  }

  .price-review .price-review__block > .price-review__graph {
    max-width: 250px;
  }

  .price-review .price-review__block > .price-review__detail {
    max-width: 350px;
  }
}

@media screen and (max-width: 430px) {
  .price-review .price-review__block > .price-review__detail {
    max-width: 280px;
  }
}

/* new-plan
-----------------------------------------------------------------*/
.new-plan {
  margin: 72px 0 0;
}

.new-plan .new-plan__desc {
  margin: 32px 0 0;
}

.new-plan .new-plan__content {
  margin: 40px auto 0;
  border: 1px solid #1b266f;
  border-radius: 6px;
  overflow: hidden;
}

.new-plan .new-plan__content + .new-plan__content {
  margin: 56px 0 0;
}

.new-plan .new-plan__title {
  padding: 16px 0;
  background: #ffec70;
  text-align: center;
  color: #0e0d6a;
  font-size: 18px;
  font-weight: 700;
}

.new-plan .new-plan__block {
  padding: 40px 45.9px;
  background-color: #fff;
}

.new-plan .new-plan__block + .new-plan__block {
  padding: 40px 45.9px 48px;
  border-top: 1px solid #d6e3f2;
}

.new-plan .new-plan__block h4 {
  font-size: 18px;
  line-height: 1.2;
}

.new-plan .new-plan__block p {
  font-size: 14px;
  line-height: 1.9;
}

.new-plan .new-plan__block h4 + p {
  margin: 26px 0 0;
}

.new-plan .new-plan__block p + p {
  margin: 17px 0 0;
}

.new-plan .new-plan__block figure + p {
  margin: 35px 0 0;
}

.new-plan .new-plan__block ol + p {
  margin: 17px 0 0;
}

.new-plan .new-plan__block figure + .new-plan__subtitle {
  margin: 44px 0 0;
}

.new-plan .new-plan__block p b {
  font-size: 16px;
  font-weight: 700;
}

.new-plan .new-plan__block a {
  color: #0e0d6a;
  text-decoration: underline;
}

.new-plan .new-plan__block a:hover {
  text-decoration: none;
}

.new-plan .new-plan__block .new-plan__note {
  margin: 10px 0 0;
}

.new-plan .new-plan__block .new-plan__detail {
  margin: 30px auto 0;
  max-width: 700px;
}

.new-plan .new-plan__block .new-plan__graph {
  max-width: 300px;
  margin: 10px auto 0;
}

.new-plan .new-plan__block figure + figure {
  margin: 21px 0 0;
}

.new-plan .new-plan__block figure img {
  width: 100%;
  height: auto;
}

.new-plan .new-plan__case {
  margin: 28px 0 0;
}

.new-plan .new-plan__case p + p {
  margin: -1px 0 0;
}

.new-plan .new-plan__case ul {
  display: flex;
  flex-direction: column;
  row-gap: 1px;
  margin: 31px 0 0;
}

.new-plan .new-plan__case ul li {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.9;
}

.new-plan .new-plan__case ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 14px;
  height: 27px;
  content: "＊";
}

.new-plan .new-plan__case ul li > ul {
  margin: 0;
}

.new-plan .new-plan__case ul li ul li::before {
  content: "※";
}

.new-plan .new-plan__case ul li ul li:has(b)::before {
  color: #ff0000;
}

.new-plan .new-plan__case ul li ul li b {
  color: #ff0000;
  font-weight: 400;
}

.new-plan .new-plan__block ol {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  margin: 17px 0 0;
}

.new-plan .new-plan__block ol li {
  position: relative;
  display: flex;
  column-gap: 10px;
  font-size: 14px;
  line-height: 1.9;
}

.new-plan .new-plan__block ol li:has(figure) {
  flex-wrap: wrap;
}

.new-plan .new-plan__block ol li span {
  display: block;
}

.new-plan .new-plan__block ol li p {
  flex: 1;
}

.new-plan .new-plan__block ol li p b {
  font-size: 14px;
  font-weight: 700;
}

.new-plan .new-plan__block ol li figure {
  width: 100%;
  margin: 20px auto 0;
}

.new-plan .new-plan__block ol li:has(figure) + li {
  margin: 15px 0 0;
}

.new-plan .new-plan__block .new-plan__images {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 20px 0 0;
}

.new-plan .mweiwaku-info__wrap {
  display: flex;
  column-gap: 40px;
}

.new-plan .mweiwaku-info__wrap figure {
  max-width: 327px;
}

.new-plan .mweiwaku-info__wrap ol {
  flex: 1;
}

.new-plan .kaitei-btn {
  margin: 64px auto 0;
}

@media screen and (max-width: 768px) {
  .new-plan {
    margin: 40px 0 0;
  }

  .new-plan .new-plan__desc {
    margin: 32px 0 0;
  }

  .new-plan .new-plan__desc + figure {
    max-width: 200px;
    margin: 20px auto 0;
  }

  .new-plan .new-plan__content {
    margin: 20px auto 0;
  }

  .new-plan .new-plan__content + .new-plan__content {
    margin: 32px 0 0;
  }

  .new-plan .new-plan__title {
    padding: 10px 0;
    font-size: 13px;
  }

  .new-plan .new-plan__block {
    padding: 20px 20px;
  }

  .new-plan .new-plan__block + .new-plan__block {
    padding: 24px 20px 30px;
  }

  .new-plan .new-plan__block h4 {
    margin: 4px 0 0;
    font-size: 14px;
  }

  .new-plan .new-plan__block p {
    font-size: 11px;
  }

  .new-plan .new-plan__block .new-plan__subtitle {
    line-height: 1.4;
  }

  .new-plan .new-plan__block h4 + p {
    margin: 14px 0 0;
  }

  .new-plan .new-plan__block p + p {
    margin: 7px 0 0;
  }

  .new-plan .new-plan__block figure + p {
    margin: 25px 0 0;
  }

  .new-plan .new-plan__block ol + p {
    margin: 5px 0 0;
  }

  .new-plan .new-plan__block figure + .new-plan__subtitle {
    margin: 26px 0 0;
  }

  .new-plan .new-plan__block .new-plan__subtitle + .new-plan__subtitle {
    margin: 21px 0 0;
  }

  .new-plan .new-plan__block p b {
    font-size: 12px;
    line-height: 1.4;
  }

  .new-plan .new-plan__block .new-plan__note {
    margin: 3px 0 0;
  }

  .new-plan .new-plan__block figure {
    margin: 6px 0 0;
  }

  .new-plan .new-plan__block figure + figure {
    margin: 15px 0 0;
  }

  .new-plan .new-plan__block p + figure {
    margin: 12px 0 0;
  }

  .new-plan .new-plan__block .new-plan__graph {
    width: 70%;
  }

  .new-plan .new-plan__block .new-plan__detail {
    max-width: 450px;
    margin: 20px auto 0;
  }

  .new-plan .new-plan__case {
    margin: 20px 0 0;
  }

  .new-plan .new-plan__case p + p {
    margin: 5px 0 0;
  }

  .new-plan .new-plan__case ul {
    row-gap: 7px;
    margin: 23px 0 0;
  }

  .new-plan .new-plan__case ul li {
    padding-left: 12px;
    font-size: 11px;
  }

  .new-plan .new-plan__case ul li::before {
    left: -2px;
  }

  .new-plan .new-plan__block ol {
    row-gap: 7px;
    margin: 4px 0 0;
  }

  .new-plan .new-plan__block ol li {
    column-gap: 4px;
    font-size: 11px;
  }

  .new-plan .new-plan__block ol li figure {
    margin: 0 auto;
  }

  .new-plan .new-plan__block ol li:has(figure) + li {
    margin: 15px 0 0;
  }

  .new-plan .new-plan__block ol li p b {
    font-size: 11px;
  }

  .new-plan .new-plan__block .new-plan__annotation {
    margin: 13px 0 0;
  }

  .new-plan .new-plan__block .new-plan__annotation + p {
    margin: 20px 0 0;
  }

  .new-plan .mweiwaku-info__wrap {
    flex-direction: column;
    row-gap: 20px;
  }

  .new-plan .mweiwaku-info__wrap figure {
    max-width: 225px;
    margin: 0 auto;
  }

  .new-plan .kaitei-btn {
    margin: 40px auto 0;
  }
}

/* faq__block
-----------------------------------------------------------------*/
.faq__block {
  margin: 72px 0 0;
}

.faq__units {
  padding: 0 38px;
  border: 1px solid #1b266f;
  border-radius: 6px;
  background: #fff;
}
.faq__unit {
  padding: 38px 0 35px;
}
.faq__unit + .faq__unit {
  padding: 36px 0;
  border-top: 1px solid #d6e3f2;
}
.faq__unit dt {
  position: relative;
  padding-left: 57px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.75;
  cursor: pointer;
}
.faq__unit dd {
  display: none;
  position: relative;
  margin-top: 13px;
  padding-top: 10px;
  padding-left: 57px;
}
.faq__unit dt:before,
.faq__unit dd:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  line-height: 38px;
}
.faq__unit dt:before {
  content: "Q";
  top: -5px;
  margin: auto;
  background: #f38141;
  color: #fff;
}
.faq__unit dd:before {
  content: "A";
  background: #e6ebf1;
  color: #0e0d6a;
}
.faq__unit dd p {
  font-size: 14px;
  line-height: 1.4;
}

.faq__unit dd p + p {
  margin: 8px 0 0;
}

.faq__unit dd a {
  color: #0e0d6a;
  text-decoration: underline;
}

.faq__unit dd a:hover {
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .faq__block {
    margin: 40px 0 0;
  }
  .faq__units {
    padding: 0 20px;
  }
  .faq__unit {
    padding: 24px 0 22px;
  }
  .faq__unit + .faq__unit {
    padding: 25px 0 20px;
  }
  .faq__unit dt {
    padding-left: 37px;
    font-size: 12px;
    line-height: 1.6;
  }
  .faq__unit dd {
    padding-top: 0;
    padding-left: 37px;
  }
  .faq__unit dt:before,
  .faq__unit dd:before {
    width: 28px;
    height: 28px;
    font-size: 15px;
    line-height: 28px;
  }
  .faq__unit dd p {
    font-size: 11px;
  }
  .faq__unit dd p + p {
    margin: 5px 0 0;
  }
}

/* contact
-----------------------------------------------------------------*/
.contact {
  background: url(/catv-service/shared/images/conversion/bg_img.jpg) no-repeat 50% 0;
}

.contact .contact__wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 64px 20px 72px;
}

.contact .contact__wrap h2 {
  font-size: 34px;
  color: #fff;
  line-height: 1.6;
  text-align: center;
}

.contact .contact__wrap .contact__main {
  margin: 32px 0 0;
  padding: 28px 48px 30px;
  border-radius: 6px;
  background-color: #fff;
  border: 1px solid #1b266f;
}

.contact .contact__wrap .contact__main .contact__subtitle {
  font-size: 18px;
  line-height: 1.9;
  text-align: center;
}

.contact .contact__wrap .contact__main .contact__link {
  text-align: center;
}

.contact .contact__wrap .contact__main .contact__link a {
  font-size: 40px;
  font-weight: 700;
  color: #f72d66;
  text-align: center;
}

.contact .contact__wrap .contact__main .contact__detail {
  margin: 26px 0 0;
}

.contact .contact__wrap .contact__main .contact__detail p b {
  font-weight: 700;
}

.contact .contact__wrap .contact__main .contact__detail p + p {
  margin: 4px 0 0;
}

.contact .contact__wrap .contact__main .contact__detail .contact__note {
  margin: 14px 0 0;
}

@media screen and (max-width: 768px) {
  .contact .contact__wrap {
    padding: 32px 15px 34px;
  }

  .contact .contact__wrap h2 {
    font-size: 20px;
  }

  .contact .contact__wrap .contact__main {
    margin: 20px 0 0;
    padding: 21px 20px;
  }

  .contact .contact__wrap .contact__main .contact__subtitle {
    font-size: 14px;
    line-height: 1.4;
  }

  .contact .contact__wrap .contact__main .contact__link {
    margin: 8px 0 0;
  }

  .contact .contact__wrap .contact__main .contact__link a {
    font-size: 32px;
  }

  .contact .contact__wrap .contact__main .contact__detail {
    margin: 13px 0 0;
  }

  .contact .contact__wrap .contact__main .contact__detail p + p {
    margin: 2px 0 0;
  }

  .contact .contact__wrap .contact__main .contact__detail .contact__note {
    margin: 10px 0 0;
  }
}
