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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 768px) {
  .kaitei-btn {
    width: calc(100% - 10px);
  }

  .kaitei-btn a {
    font-size: 13px;
  }

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

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

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

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

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

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

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

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

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

  .price-revision__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-btn {
  margin: 0 auto;
}

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

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

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

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

.price-revision .price-revision__desc {
  margin: 32px 0 0;
  line-height: 1.9;
}

.price-revision .price-revision__content {
  margin: 40px auto 0;
  border: 2px solid #d6e3f2;
  border-radius: 4px;
  overflow: hidden;
}

.price-revision .price-revision__content + .price-revision__content {
  margin: 56px auto 0;
}

.price-revision .price-revision__title {
  padding: 16px 0;
  background: #e6f2ff;
  text-align: center;
  color: #0e0d6a;
  font-size: 18px;
  font-weight: 700;
}

.price-revision .price-revision__block {
  padding: 40px 45.9px;
  background-color: #fff;
}

.price-revision .price-revision__block h4 {
  font-size: 18px;
  line-height: 1.2;
}

.price-revision .price-revision__block .price-revision__table + h4 {
  margin: 40px 0 0;
}

.price-revision .price-revision__block p {
  font-size: 14px;
  line-height: 1.9;
}

.price-revision .price-revision__block p + p {
  margin: 40px 0 0;
}

.price-revision .price-revision__block h4 + p {
  margin: 20px 0 0;
}

.price-revision .price-revision__block .price-revision__table + p {
  margin: 32px 0 0;
}

.price-revision .price-revision__block .price-revision__table + .table-note {
  margin: 20px 0 0;
}

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

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

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

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

  .price-revision .price-revision__desc {
    margin: 20px 0 0;
    font-size: 11px;
  }

  .price-revision .price-revision__content {
    margin: 24px auto 0;
    border-radius: 4px;
  }

  .price-revision .price-revision__content + .price-revision__content {
    margin: 31px 0 0;
  }

  .price-revision .price-revision__title {
    padding: 10px 0;
    font-size: 13px;
  }

  .price-revision .price-revision__block {
    padding: 20px 18px 22px;
  }

  .price-revision .price-revision__block h4 {
    font-size: 14px;
  }

  .price-revision .price-revision__block .price-revision__table + h4 {
    margin: 25px 0 0;
  }

  .price-revision .price-revision__block p {
    font-size: 11px;
  }

  .price-revision .price-revision__block p + p {
    margin: 24px 0 0;
  }

  .price-revision .price-revision__block h4 + p {
    margin: 12px 0 0;
  }

  .price-revision .price-revision__block .price-revision__table + p {
    margin: 13px 0 0;
  }

  .price-revision .price-revision__block .price-revision__table + .table-note {
    margin: 13px 0 0;
  }

  .price-revision .price-revision__block ol {
    row-gap: 8px;
  }

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

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

.meiwaku-info .meiwaku-info__desc {
  margin: 32px 0 0;
}

.meiwaku-info .meiwaku-info__content {
  margin: 40px auto 0;
  border: 2px solid #d6e3f2;
  border-radius: 6px;
  overflow: hidden;
}

.meiwaku-info .meiwaku-info__content + .meiwaku-info__content {
  margin: 56px 0 0;
}

.meiwaku-info .meiwaku-info__title {
  padding: 16px 0;
  background: #e6f2ff;
  text-align: center;
  color: #0e0d6a;
  font-size: 18px;
  font-weight: 700;
}

.meiwaku-info .meiwaku-info__block {
  padding: 40px 45.9px;
  background-color: #fff;
}

.meiwaku-info .meiwaku-info__block + .meiwaku-info__block {
  padding: 40px 45.9px 48px;
  border-top: 1px solid #d6e3f2;
}

.meiwaku-info .meiwaku-info__block h4 {
  font-size: 18px;
  line-height: 1.2;
}

.meiwaku-info .meiwaku-info__block p {
  font-size: 14px;
  line-height: 1.9;
}

.meiwaku-info .meiwaku-info__block h4 + p {
  margin: 26px 0 0;
}

.meiwaku-info .meiwaku-info__block p + p {
  margin: 17px 0 0;
}

.meiwaku-info .meiwaku-info__block figure + p {
  margin: 35px 0 0;
}

.meiwaku-info .meiwaku-info__block ol + p {
  margin: 5px 0 0;
}

.meiwaku-info .meiwaku-info__block figure + .meiwaku-info__subtitle {
  margin: 44px 0 0;
}

.meiwaku-info .meiwaku-info__block p b {
  font-size: 16px;
  font-weight: 700;
}

.meiwaku-info .meiwaku-info__block a {
  color: #0e0d6a;
  text-decoration: underline;
}

.meiwaku-info .meiwaku-info__block a:hover {
  text-decoration: none;
}

.meiwaku-info .meiwaku-info__block .meiwaku-info__note {
  margin: 10px 0 0;
}

.meiwaku-info .meiwaku-info__block figure {
  margin: 11px 0 0;
}

.meiwaku-info .meiwaku-info__block figure + figure {
  margin: 21px 0 0;
}

.meiwaku-info .meiwaku-info__block figure img {
  width: 100%;
  height: auto;
}

.meiwaku-info .meiwaku-info__case {
  margin: 28px 0 0;
}

.meiwaku-info .meiwaku-info__case p + p {
  margin: -1px 0 0;
}

.meiwaku-info .meiwaku-info__case ul {
  display: flex;
  flex-direction: column;
  row-gap: 1px;
  margin: 31px 0 0;
}

.meiwaku-info .meiwaku-info__case ul li {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.9;
}

.meiwaku-info .meiwaku-info__case ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 14px;
  height: 27px;
  content: "＊";
}

.meiwaku-info .meiwaku-info__block ol {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  margin: 17px 0 0;
}

.meiwaku-info .meiwaku-info__block ol li {
  position: relative;
  display: flex;
  column-gap: 10px;
  font-size: 14px;
  line-height: 1.9;
}

.meiwaku-info .meiwaku-info__block ol li:has(figure) {
  flex-wrap: wrap;
}

.meiwaku-info .meiwaku-info__block ol li span {
  display: block;
}

.meiwaku-info .meiwaku-info__block ol li p {
  flex: 1;
}

.meiwaku-info .meiwaku-info__block ol li p b {
    font-size: 14px;
    font-weight: 700;
}

.meiwaku-info .meiwaku-info__block ol li figure {
  width: 100%;
  margin: 20px auto 0;
}

.meiwaku-info .meiwaku-info__block ol li:has(figure) + li {
  margin: 15px 0 0;
}

.meiwaku-info .meiwaku-info__block .meiwaku-info__images {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 20px 0 0;
}

.meiwaku-info .mweiwaku-info__wrap {
  display: flex;
  column-gap: 40px;
}

.meiwaku-info .mweiwaku-info__wrap figure {
  max-width: 327px;
}

.meiwaku-info .mweiwaku-info__wrap ol {
  flex: 1;
}

.meiwaku-info .kaitei-btn {
  margin: 64px auto 0;
}

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

  .meiwaku-info .meiwaku-info__desc {
    margin: 32px 0 0;
  }

  .meiwaku-info .meiwaku-info__content {
    margin: 20px auto 0;
  }

  .meiwaku-info .meiwaku-info__content + .meiwaku-info__content {
    margin: 32px 0 0;
  }

  .meiwaku-info .meiwaku-info__title {
    padding: 10px 0;
    font-size: 13px;
  }

  .meiwaku-info .meiwaku-info__block {
    padding: 20px 20px;
  }

  .meiwaku-info .meiwaku-info__block + .meiwaku-info__block {
    padding: 24px 20px 30px;
  }

  .meiwaku-info .meiwaku-info__block h4 {
    margin: 4px 0 0;
    font-size: 14px;
  }

  .meiwaku-info .meiwaku-info__block p {
    font-size: 11px;
  }

  .meiwaku-info .meiwaku-info__block .meiwaku-info__subtitle {
    line-height: 1.4;
  }

  .meiwaku-info .meiwaku-info__block h4 + p {
    margin: 14px 0 0;
  }

  .meiwaku-info .meiwaku-info__block p + p {
    margin: 7px 0 0;
  }

  .meiwaku-info .meiwaku-info__block figure + p {
    margin: 25px 0 0;
  }

  .meiwaku-info .meiwaku-info__block ol + p {
    margin: 5px 0 0;
  }

  .meiwaku-info .meiwaku-info__block figure + .meiwaku-info__subtitle {
    margin: 26px 0 0;
  }

  .meiwaku-info .meiwaku-info__block .meiwaku-info__subtitle + .meiwaku-info__subtitle {
    margin: 21px 0 0;
  }

  .meiwaku-info .meiwaku-info__block p b {
    font-size: 12px;
    line-height: 1.4;
  }

  .meiwaku-info .meiwaku-info__block .meiwaku-info__note {
    margin: 3px 0 0;
  }

  .meiwaku-info .meiwaku-info__block figure {
    margin: 6px 0 0;
  }

  .meiwaku-info .meiwaku-info__block figure + figure {
    margin: 15px 0 0;
  }

  .meiwaku-info .meiwaku-info__block p + figure {
    margin: 12px 0 0;
  }

  .meiwaku-info .meiwaku-info__case {
    margin: 20px 0 0;
  }

  .meiwaku-info .meiwaku-info__case p + p {
    margin: 5px 0 0;
  }

  .meiwaku-info .meiwaku-info__case ul {
    row-gap: 7px;
    margin: 23px 0 0;
  }

  .meiwaku-info .meiwaku-info__case ul li {
    padding-left: 12px;
    font-size: 11px;
  }

  .meiwaku-info .meiwaku-info__case ul li::before {
    left: -2px;
  }

  .meiwaku-info .meiwaku-info__block ol {
    row-gap: 7px;
    margin: 4px 0 0;
  }

  .meiwaku-info .meiwaku-info__block ol li {
    column-gap: 4px;
    font-size: 11px;
  }

  .meiwaku-info .meiwaku-info__block ol li figure {
    margin: 0 auto;
  }

  .meiwaku-info .meiwaku-info__block ol li:has(figure) + li {
    margin: 15px 0 0;
  }

  .meiwaku-info .meiwaku-info__block ol li p b {
    font-size: 11px;
  }

  .meiwaku-info .meiwaku-info__block .meiwaku-info__annotation {
    margin: 13px 0 0;
  }
  
  .meiwaku-info .meiwaku-info__block .meiwaku-info__annotation + p {
    margin: 20px 0 0;
  }

  .meiwaku-info .mweiwaku-info__wrap {
    flex-direction: column;
    row-gap: 20px;
  }

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

  .meiwaku-info .kaitei-btn {
    margin: 40px auto 0;
  }
}

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

.faq__units {
  padding: 0 38px;
  border: 2px solid #d6e3f2;
  border-radius: 6px;
  background: #fff;
}
.faq__unit {
  padding: 40px 0 33px;
}
.faq__unit + .faq__unit {
  padding: 34px 0 38px;
  border-top: 1px solid #d6e3f2;
}
.faq__unit dt {
  position: relative;
  padding-left: 57px;
  font-size: 18px;
  font-weight: 700;
  line-height: 38px;
}
.faq__unit dd {
  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";
  bottom: 0;
  margin: auto;
  background: #fdff42;
}
.faq__unit dd:before {
  content: "A";
  background: #e6ebf1;
}
.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/denwa/shared/images/common/bg_section02.jpg) top left / 400px 250px repeat;
}

.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 43px;
  border-radius: 6px;
  background-color: #fff;
  border: 2px solid #D6E3F2;
}

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

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