@charset "UTF-8";
body {
  background: none;
}
body::before {
  display: none;
}

h2::before, h2::after {
  /* display: none !important; */
}

.section-note .container .fs-14.fw-bold {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .container {
    width: calc(100% - 32px);
    margin: 0 16px;
  }
}

.lp sup {
  font-weight: normal;
}

.lp [class*=link-self]::after {
  width: 18px;
  height: 18px;
}

.modal .modal-content > .modal-body {
  background-color: #fff;
}

.modal .modal-content > .modal-footer {
  background-color: #f2f2f2;
}

/*テキスト*/
.fs-36 {
  font-size: 36px !important;
}

@media screen and (max-width: 767px) {
  .fs-36-sp {
    font-size: 36px !important;
  }
}

.fs-44 {
  font-size: 44px;
}

@media screen and (max-width: 767px) {
  .fs-44-sp {
    font-size: 44px !important;
  }
}
.fs-48 {
  font-size: 48px;
}

@media screen and (max-width: 767px) {
  .fs-48-sp {
    font-size: 48px !important;
  }
}

.fs-56 {
  font-size: 56px;
}

.text-del {
  text-decoration: line-through;
}

.text-italic {
  font-style: italic;
}

@media screen and (max-width: 767px) {
  .text-upper.text-upper-sm {
    padding-inline: 12px;
  }
}
.text-upper.text-upper-sm::before, .text-upper.text-upper-sm::after {
  top: 2px;
  height: 72%;
  border-color: currentColor;
  border-width: 2px;
}
.text-upper.text-upper-sm::before {
  transform: rotate(-24deg);
}
.text-upper.text-upper-sm::after {
  transform: rotate(24deg);
}

.color-marker.yel {
  background: linear-gradient(transparent 1.1em, #ffee32 1.1em, #ffee32 1.35em, transparent 1.35em);
}
.color-marker.blu {
  background: linear-gradient(transparent 1.1em, #b2f7ff 1.1em, #b2f7ff 1.35em, transparent 1.35em);
}
.color-marker.pnk {
  background: linear-gradient(transparent 1.1em, #ffb9fa 1.1em, #ffb9fa 1.35em, transparent 1.35em);
}
.color-marker.grn {
  background: linear-gradient(transparent 1.1em, #8af8f9 1.1em, #8af8f9 1.35em, transparent 1.35em);
}

.text-under {
  text-decoration: underline;
}

.line-height-sm {
  line-height: 1.4;
}

/*フォントサイズ*/
.fs-34 {
    font-size: 34px !important;
}

/*リスト*/
.list-note-num.star > li::before {
  content: "★";
}

/*余白*/
@media screen and (max-width: 767px) {
  .p-0-sp {
    padding: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .p-md-sp {
    padding: 16px !important;
  }
}

.m-auto {
  margin-inline: auto;
}

/*ボーダー*/
.bd-color-jcom-mobile {
  border-color: #00a5a8;
}

/*ボード*/
.board-lg {
  padding: 32px 24px;
  border-radius: 32px;
}

/*角丸*/
.bd-radius-max {
  border-radius: 1000px !important;
}

.bd-radius-48 {
  border-radius: 48px !important;
}

.bd-radius-8 {
  border-radius: 8px !important;
}

/*幅指定*/
.w-full {
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
}

.w-100 {
  width: 100%;
}

.btn-w-450 {
  width: 100%;
  max-width: 450px !important;
}

.fit {
  width: 100%;
  height: auto;
}

/*ブロック要素*/
.block {
  display: block;
}

/*CVエリア タブレット時に幅が小さくなるのを回避*/
.section.section-cv .container .cv-guide[data-max-width="764"] {
  max-width: 764px;
  width: 100%;
}

.lp .acc {
  position: relative;
  border-radius: 16px;
  margin-top: 32px;
  padding: 10px 24px;
  border: solid #ddd 2px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .lp .acc {
    padding-left: 16px;
    padding-right: 16px;
    border-width: 2px;
    border-radius: 12px;
  }
}
.lp .acc[data-color=mobile] {
  border-color: #29a5a9;
}
.lp .acc[data-color=net] {
  border-color: #0087d1;
}
.lp .acc-trigger {
  cursor: pointer;
  font-size: 20px;
  line-height: 1.4;
  text-align: left;
  margin: 0;
  padding-top: 12px;
  padding-bottom: 12px;
  min-height: 27px;
  background: url(../images/acc_open.png) no-repeat center right/27px auto;
}
@media screen and (max-width: 767px) {
  .lp .acc-trigger {
    font-size: 18px;
  }
}
.lp .acc-trigger.open {
  background: url(../images/acc_close.png) no-repeat center right/27px auto;
}
.lp .acc-body {
  display: none;
  position: relative;
}
.lp .acc-body > .inner {
  margin-top: 8px;
  padding: 24px 0 0;
  border-top: 2px solid #cacaca;
}
.lp .acc-body[data-color=tv] > .inner {
  border-color: #e40077;
}
.lp .acc-body[data-color=mobile] > .inner {
  border-color: #29a5a9;
}

.lp .site-header {
  position: relative;
  z-index: 10;
  width: 100%;
  padding: 16px;
  box-sizing: border-box;
  background-color: #fff;
  box-shadow: 0 3px 6px -3px rgba(0, 0, 0, 0.25);
  -webkit-transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 767px) {
  .lp .site-header {
    display: none;
  }
}
.lp .site-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1120px;
  margin: auto;
}
.lp .site-header__logo {
  max-width: 99px;
}

.lp .site-header-sp {
  display: none;
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 16px 16px 12px;
  background-color: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767px) {
  .lp .site-header-sp {
    display: block;
  }
}
.lp .site-header-sp__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.lp .site-header-sp__logo {
  width: 24%;
  max-width: 90px;
}

@media screen and (max-width: 767px) {
  .section-cv .container {
    width: calc(100% - 32px);
    margin: 0 16px;
  }
}

.point-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .point-list {
    display: block;
  }
}
.point-list li {
  position: relative;
  width: calc(50% - 8px);
  margin: 16px 0 0;
  border-radius: 16px;
  border: 1px solid #ee5d44;
  box-shadow: 5px 5px 0 rgba(238, 93, 68, 0.5);
}
@media screen and (max-width: 767px) {
  .point-list li {
    width: 100%;
  }
}
.point-list li .point-list-row {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px;
  padding-right: 40px;
  color: #333;
}
@media screen and (max-width: 767px) {
  .point-list li .point-list-row {
    width: 100%;
    padding: 8px;
  }
}
.point-list li .point-list-row::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 24px;
  content: "";
  display: inline-block;
  width: 9px;
  height: 16px;
  margin: auto;
  background: url(/common_v10/images/icn-bullet-black.svg) no-repeat center center/contain;
  transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .point-list li .point-list-row::before {
    right: 12px;
    width: 7px;
    height: 13px;
  }
}

.point-label {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  text-align: center;
  width: 68px;
  height: 68px;
  margin-right: 12px;
  border-radius: 10px;
  background-color: #d9161B;
}
@media screen and (max-width: 767px) {
  .point-label {
    font-size: 12px;
    width: 62px;
    height: 62px;
  }
}
.point-label[data-color=tv] {
  background-color: #f12c8c;
}
.point-label[data-color=net] {
  background-color: #2b87f3;
}
.point-label p {
  margin-bottom: 0;
}
.point-label .num {
  font-size: 28px;
}
@media screen and (max-width: 767px) {
  .point-label .num {
    font-size: 26px;
  }
}

.h-point {
  display: flex;
  align-items: center;
  color: #000;
}

.net-price-head {
  text-align: center;
  padding: 32px 0 24px;
  border-radius: 16px 16px 0 0;
  background-color: #2b87f3;
}
@media screen and (max-width: 767px) {
  .net-price-head {
    padding: 20px 20px 16px;
    border-radius: 16px 16px 0 0;
  }
}

.net-price-body {
  text-align: center;
  padding: 32px 0 32px;
  border-radius: 0 0 16px 16px;
  border: solid #2b87f3 2px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .net-price-body {
    padding: 24px 16px;
    border-radius: 0 0 16px 16px;
  }
}

.net-price-discount {
  padding-top: 8px;
}
@media screen and (max-width: 767px) {
  .net-price-discount {
    padding-top: 0;
  }
}
.net-price-discount .discount-detail {
  margin: 0 auto 32px;
  padding: 24px 24px;
  background-color: #eef6ff;
}
@media screen and (max-width: 767px) {
  .net-price-discount .discount-detail {
    margin-block: 0 24px;
    padding: 12px 12px 16px;
  }
}
.net-price-discount .discount-detail .detail-item {
  position: relative;
}
.net-price-discount .discount-detail .detail-item + .item {
  margin-top: 24px;
}
.net-price-discount .discount-detail .detail-item .detail-item-header {
  position: relative;
  z-index: 0;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  margin-bottom: 8px;
  padding: 8px 12px;
  background: #2b87f3;
}
@media screen and (max-width: 899px) {
  .net-price-discount .discount-detail .detail-item .detail-item-header {
    font-size: 16px;
    padding: 6px 4px;
  }
}
.net-price-discount .discount-detail .detail-item .detail-item-body {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-bottom: 16px;
}
.net-price-discount .discount-detail .detail-item .detail-item-body p {
  margin-bottom: 0;
}
.net-price-discount .discount-detail .detail-item .detail-item-body .txt-1 {
  font-size: 22px;
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .net-price-discount .discount-detail .detail-item .detail-item-body .txt-1 {
    font-size: 18px;
  }
}
.net-price-discount .discount-detail .detail-item .detail-item-body .txt-1 .strong {
  position: relative;
  top: 2px;
  font-size: 36px;
  color: #d9161B;
}
@media screen and (max-width: 767px) {
  .net-price-discount .discount-detail .detail-item .detail-item-body .txt-1 .strong {
    top: 1px;
    font-size: 26px;
  }
}
.net-price-discount .discount-detail .detail-item .detail-item-body .txt-2 {
  font-size: 20px;
  line-height: 1.4;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .net-price-discount .discount-detail .detail-item .detail-item-body .txt-2 {
    font-size: 18px;
  }
}
.net-price-discount .discount-detail .detail-item .detail-item-body .txt-2 .strong {
  position: relative;
  top: 2px;
  font-size: 28px;
  color: #d9161B;
}
@media screen and (max-width: 767px) {
  .net-price-discount .discount-detail .detail-item .detail-item-body .txt-2 .strong {
    top: 1px;
    font-size: 24px;
  }
}
.net-price-discount .item-1 {
  max-width: 540px;
  margin: auto;
}
.net-price-discount .item-2 {
  max-width: 540px;
  margin: 32px auto 0;
}
@media screen and (max-width: 767px) {
  .net-price-discount .item-2 {
    margin-top: 24px;
  }
}

.tv-course {
  margin-top: 24px;
  margin-bottom: 32px;
}
.tv-course-items {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .tv-course-items {
    display: block;
  }
}
.tv-course-items li {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s;
  text-align: center;
  width: calc(50% - 10px);
  box-sizing: border-box;
  border-radius: 16px;
  border: solid #EB5C47 2px;
  background-color: #fff;
  box-shadow: 5px 5px 0 rgba(235, 92, 71, 0.3);
}
@media screen and (max-width: 767px) {
  .tv-course-items li {
    width: 100%;
    margin: 0 0 16px;
  }
}
.tv-course-items li a {
  display: block;
  padding: 24px 12px;
  width: 100%;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .tv-course-items li a {
    padding: 18px 12px;
  }
}
.tv-course-items li a p {
  color: #333;
}
.tv-course-items li a p:last-of-type {
  margin-bottom: 0;
}
.desktop .tv-course-items li:hover {
  opacity: 0.6;
}
.tv-course-items li::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8px;
  content: "";
  display: inline-block;
  width: 9px;
  height: 16px;
  margin: auto;
  background: url(/common_v10/images/icn-bullet-black.svg) no-repeat center center/contain;
}
.tv-course-items li .course-name {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
}
.tv-course-items li .course-desc {
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tv-course-items li .course-desc {
    margin-bottom: 8px;
  }
}

.tv-course-catch {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .tv-course-catch {
    font-size: 18px;
  }
}

.ott {
  max-width: 560px;
  margin: 0 auto;
}

.flow-step {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .flow-step {
    display: block;
  }
}

.flow-step-item {
  width: 100%;
  max-width: 240px;
}
@media screen and (max-width: 767px) {
  .flow-step-item {
    max-width: calc(100% - 32px);
    margin: auto;
  }
}
.flow-step-item > .head {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  padding: 8px 0;
  border-radius: 20px 20px 0 0;
  background-color: #489cff;
}
@media screen and (max-width: 767px) {
  .flow-step-item > .head {
    font-size: 20px;
  }
}
.flow-step-item > .body {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px 32px;
  background-color: #fff;
  border: 2px solid #489cff;
  border-radius: 0 0 20px 20px;
}
@media screen and (max-width: 767px) {
  .flow-step-item > .body {
    padding: 16px 12px 16px;
  }
}
.flow-step-item > .body .icn {
  width: 42px;
  margin-right: 8px;
}
.flow-step-item > .body .txt {
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .flow-step-item > .body .txt {
    font-size: 16px;
  }
}
.flow-step-item > .body p {
  margin-bottom: 0;
}

.flow-step-next {
  min-width: 11px;
  min-height: 21px;
  align-self: center;
  margin: 0 8px;
}
@media screen and (max-width: 767px) {
  .flow-step-next {
    width: 11px;
    height: 21px;
    transform: rotate(90deg);
    margin: 4px auto;
  }
}

.other-service {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .other-service {
    display: block;
  }
}

.other-service-item {
  position: relative;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  width: calc(50% - 10px);
  margin-bottom: 20px;
  border-radius: 16px;
  border: 2px solid #ddd;
}
@media screen and (max-width: 767px) {
  .other-service-item {
    width: 100%;
  }
}
.other-service-item a {
  display: block;
  height: 100%;
  padding: 24px 24px;
  color: #333 !important;
}
@media screen and (max-width: 767px) {
  .other-service-item a {
    padding: 24px 16px;
  }
}
.other-service-item::before {
  /*
  position: absolute;
  top: 0;
  bottom: 0;
  right: 8px;
  content: "";
  display: inline-block;
  width: 7px;
  height: 14px;
  margin: auto;
  background: url(/common_v10/images/icn-bullet-black.svg) no-repeat center center/contain;
  */
}
.other-service-item .brand {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 2px solid #ddd;
  /*
  &.bd-phone {
  	padding-bottom: 10px;
  	border-bottom: 2px solid #00a33e;
  }

  &.bd-mobile {
  	padding-bottom: 10px;
  	border-bottom: 2px solid common.$color_mobile;
  }
  */
}
.other-service-item .brand .logo {
  display: block;
  height: 32px;
}
.other-service-item .brand .logo img {
  height: 100%;
  width: auto;
}
@media screen and (max-width: 767px) {
  .other-service-item .brand .logo {
    height: 30px;
  }
}
.other-service-item .brand .logo-other img {
  height: 44px;
  width: auto;
}
.other-service-item p {
  margin-bottom: 0;
}
.other-service-item p + p {
  margin-top: 4px;
}

.lp {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}
.lp h2 {
  font-size: 34px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .lp h2 {
    font-size: 28px;
    margin-bottom: 24px;
  }
}

.color-blu {
  color: #2b87f3;
}

.color-pnk {
  color: #f12c8c;
}

.color-yel {
  color: #ffee32;
}

.bd-color-primary {
  border-color: #d9161B !important;
}

.bd-color-blu {
  border-color: #2b87f3 !important;
}

.bd-color-pnk {
  border-color: #f12c8c !important;
}

.bd-color-jcom-tv {
  border-color: #e40077 !important;
}

.bd-color-jcom-net {
  border-color: #0087d1 !important;
}

.board-bd-sm {
  position: relative;
  padding: 16px 0;
  border-radius: 12px;
  border: 2px solid #ddd;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .board-bd-sm {
    padding: 12px 0;
  }
}

h1 {
  font-size: 30px;
  margin: 24px auto;
}
@media screen and (max-width: 767px) {
  h1 {
    font-size: 26px;
    margin: 16px auto;
  }
}
.section-hero {
  padding: 0 0 32px;
}
@media screen and (max-width: 767px) {
  .section-hero {
    padding: 0 0 24px;
  }
}
.section-hero .container p {
  margin: 0;
}
.btn-white-tv,
.btn-white-net {
  padding-left: 0;
  padding-right: 0;
}
.btn-white-tv::after,
.btn-white-net::after {
  background: url(/common_v10/images/icn-bullet-black.svg) no-repeat center center/contain;
}

.btn-white-net {
  border-color: #2b87f3;
}

.btn-white-tv {
  border-color: #ff58a9;
}

.icn-cashback {
  margin-right: 4px;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .icn-cashback {
    width: 38px;
    margin-right: 2px;
  }
}

/*
.bnr-setplan {
	position: relative;
	overflow: hidden;
	padding: 12px;
	box-sizing: border-box;
	border-radius: 16px;
	border: 2px solid #ddd;

	@media screen and (max-width: 767px) {
		padding-right: 24px;
	}

	a {
		display: block;
		color: #333;
	}

	&::after {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 24px;
		content: "";
		display: inline-block;
		width: 9px;
		height: 16px;
		margin: auto;
		background: url(/common_v10/images/icn-bullet-black.svg) no-repeat center center/contain;
		transform: rotate(90deg);

		@media screen and (max-width: 767px) {
			right: 10px;
		}
	}

	.setplan-row {
		display: flex;
		//align-items: center;

		.icn-add {
			align-self: center;
			position: relative;
			z-index: 1;
			width: 28px;
			height: 28px;
			margin: 0 -8px;

			img {
				width: 100%;
				height: auto;
			}
		}
	}

	.setplan-item {
		position: relative;
		text-align: center;
		width: 120px;
		padding: 16px 0;
		border-radius: 12px;
		background-color: #e9f3ff;

		@media screen and (max-width: 767px) {
			width: 108px;
			padding: 10px 0;
			border-radius: 8px;
		}

		p {
			line-height: 1.3;
		}
	}

	.setplan-price {
		position: relative;

		@media screen and (max-width: 767px) {
			display: flex;
			align-items: center;
		}

		.label-gray {
			line-height: 1.4;

			@media screen and (max-width: 767px) {
				display: flex;
				align-items: center;
			}
		}

		.price-txt {
			position: relative;
			font-size: 42px;
			line-height: 1.0;

			@media screen and (max-width: 767px) {
				font-size: 30px;
				margin-top: -6px;
				padding-left: 8px;
				padding-bottom: 6px;
			}

			.strong {
				position: relative;
				top: 2px;
				font-size: 80px;
				line-height: 1;
				color: common.$color_jcom;
				padding-right: 4px;

				@media screen and (max-width: 767px) {
					font-size: 56px;
				}
			}

			.tax {
				position: absolute;
				z-index: 1;
				right: 36px;
				top: 20px;
				font-size: 14px;

				@media screen and (max-width: 767px) {
					font-size: 11px;
					right: 24px;
					top: 12px;
				}
			}
		}
	}
}
*/
.bg-tv {
  background-color: #fff3fa;
}

.bg-net {
  background-color: #e5f1ff;
}

.bg-mobile {
  background-color: #daf6f6;
}

.bg-blu {
  background-color: #2b87f3 !important;
}

.bg-light-blu {
  background-color: #e9f3ff;
}

.box-wht {
  max-width: 950px;
  margin-inline: auto;
  padding: 32px 32px;
  border-radius: 32px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .box-wht {
    border-radius: 0;
    width: calc(100% + 48px);
    margin-left: -24px;
    padding: 40px 28px 24px;
  }
}
@media screen and (max-width: 767px) {
  .box-wht[data-color=mobile] {
    border: none;
  }
}
@media screen and (max-width: 767px) {
  .box-wht[data-color=net] {
    border: none;
  }
}

.box-pnk {
  padding: 24px 20px;
  border-radius: 16px;
  background-color: #fee3de;
}
@media screen and (max-width: 767px) {
  .box-pnk {
    padding: 16px 16px;
  }
}

.content-800 {
  position: relative;
  max-width: 800px;
  margin-inline: auto;
}
.content-800 + .content-800 {
  margin-top: 60px;
}

.sec-container {
  padding: 48px 16px;
  box-sizing: content-box;
}
@media screen and (max-width: 767px) {
  .sec-container {
    padding: 32px 12px;
  }
}
.sec-container .sec-item {
  margin: 48px auto;
}

.h2-balloon {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  padding-bottom: 4px;
  max-width: 320px;
  height: 72px;
  margin: 0 auto 48px;
  border-radius: 6px;
  background-color: #e945b8;
}
.h2-balloon span::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: calc(50% - 20px);
  bottom: -18px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #e945b8 transparent transparent transparent;
}
@media screen and (max-width: 899px) {
  .h2-balloon {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .h2-balloon {
    font-size: 22px;
    width: 68%;
    height: 60px;
    margin-bottom: 32px;
    padding-bottom: 2px;
  }
}

.h2-txt {
  font-size: 28px;
  margin: 0 0 48px;
  text-align: center;
  padding: 18px 12px;
  background: url(../images/tit_bar.png) no-repeat bottom center/360px 4px, url(../images/tit_bar.png) no-repeat top center/360px 4px;
}
@media screen and (max-width: 767px) {
  .h2-txt {
    font-size: 22px;
    margin-bottom: 32px;
    padding: 16px 0;
    background-size: 85% 4px;
  }
}

.pagetop {
  display: none;
  position: fixed;
  z-index: 2;
  right: 12px;
  bottom: 12px;
}

.pagetop__btn > a {
  transition: 0.3s;
  display: flex;
  justify-content: center;
  opacity: 0.75;
  cursor: pointer;
  width: 42px;
  height: 42px;
  border-radius: 100%;
  border: solid #fff 1px;
  background-color: rgba(0, 0, 0, 0.2);
}
.pagetop__btn > a::after {
  transition: 0.3s;
  position: absolute;
  content: "";
  width: 9px;
  height: 9px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(-45deg);
  right: 16px;
  top: 50%;
  margin-top: -4.5px;
}
@media (hover: hover) and (pointer: fine) {
  .pagetop__btn > a:hover {
    background-color: #f05d44;
  }
  .pagetop__btn > a:hover::after {
    border-color: #fff;
  }
}
@media (hover: none) {
  .pagetop__btn > a:active {
    background-color: #f05d44;
  }
  .pagetop__btn > a:active::after {
    border-color: #fff;
  }
}

.copyright {
  max-width: 100%;
  font-size: 12px;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  margin: 60px 0 0;
  padding: 12px 12px;
  background-color: #939393;
}
@media screen and (max-width: 767px) {
  .copyright {
    font-size: 10px;
    margin-top: 75px;
  }
}





/*タブ*/
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}
.tab-content h4 {
  text-align: center;
  background: #469CF5;
  color: #ffffff;
  font-weight: bold;
  padding: 12px;
}

.tab-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-bottom: 24px;
}
.tab-btn {
  background: #ffffff;
  border: 2px solid #469CF5;
  height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #469CF5;
  font-weight: bold;
  cursor: pointer;
  position: relative;
}
.tab-btn.active {
  background: #469CF5;
  color: #ffffff;
}
.tab-btn::before {
  content: "";
  position: absolute;
  left: calc(50% - 15px);
  bottom: -12px;
  display: block;
  width: 30px;
  height: 12px;
  background: url(../images/arr_btm_hikari.svg) no-repeat;
  background-size: 100% auto;
  vertical-align: middle;
}
.net-course {
  border: 1px solid #AEAEAE;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 0;
}
@media (max-width:767px) {
  .net-course {
    display: block;
  }
}
.price1 {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.price1 .large {
  font-size: 32px;
}
.price1 small {
  font-weight: normal;
  display: block;
  font-size: 14px;
  margin-left: 15px;
}
.price2 {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}
.price2 .zutto {
  font-size: 18px;
  display: block;
  color: #D9161B;
  margin-bottom: -16px;
  margin-left: 28px;
}
.price2 .large {
  font-size: 44px;
  color: #D9161B;
  position: relative;
}
.price2 .large::before {
  content: '';
  width: 100%;
  height: 8px;
  background: #F5D100;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.price2 small {
  font-weight: normal;
  display: block;
  font-size: 14px;
  margin-left: 20px;

}
.triangle {
  margin: 0 40px 0 60px;
}
@media (max-width:767px) {
  .triangle {
    text-align: center;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .triangle img {
    transform: rotate(90deg);
  }

}
.tv {
  display: flex;
  align-items: center;
  border: 1px solid #AEAEAE;
  padding: 26px;
}
@media (max-width:767px) {
  .tv {
    display: block;
  }
}
.tv .antena {
  border-bottom: 6px solid #F5D100;
}

.lp .net-speed-summary {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .lp .net-speed-summary {
    margin-top: 16px;
  }
}
.lp .net-speed-summary ul {
  max-width: 600px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .lp .net-speed-summary ul {
    max-width: 100%;
    padding: 16px 0 0;
  }
}
.lp .net-speed-summary ul li {
  display: flex;
  margin: 0;
  padding: 10px;
  border: 1px solid #FFD3CC;
  background-color: #FFF2F0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .lp .net-speed-summary ul li {
    padding: calc(8px + (10 - 8) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .lp .net-speed-summary ul li {
    padding: 10px;
  }
}
.lp .net-speed-summary ul li + li {
  margin-top: 12px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .lp .net-speed-summary ul li + li {
    margin-top: calc(10px + (12 - 10) * (100vw - 768px) / (1024 - 768));
  }
}
.lp .net-speed-summary ul li .col-1 {
  position: relative;
  display: flex;
  align-items: center;
  text-align: center;
  width: 29%;
  margin-right: 10px;
  background-color: #32a2f6;
}
.lp .net-speed-summary ul li .col-1 img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .lp .net-speed-summary ul li .col-1 {
    width: 30%;
    max-width: 108px;
  }
}
.lp .net-speed-summary ul li .col-2 {
  position: relative;
  flex: 1;
  color: #333;
}
.lp .net-speed-summary ul li .col-2 .txt-1 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 2px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .lp .net-speed-summary ul li .col-2 .txt-1 {
    font-size: calc(14px + (16 - 14) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .lp .net-speed-summary ul li .col-2 .txt-1 {
    font-size: 15px;
  }
}
.lp .net-speed-summary ul li .col-2 .txt-2 {
  font-size: 12px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .lp .net-speed-summary ul li .col-2 .txt-2 {
    font-size: calc(11px + (14 - 11) * (100vw - 768px) / (1024 - 768));
  }
}
@media screen and (max-width: 767px) {
  .lp .net-speed-summary ul li .col-2 .txt-2 {
    font-size: 12px;
  }
}
.bd-radius-12 {
  border-radius: 12px !important;
}

.inc_tax {
    margin: -4px 0 0 15px;
    display: block;
}
