@charset "UTF-8";
img {
  max-width: 100%;
}

.border {
  border-top: none;
  margin: 0;
}

header {
  display: block !important;
}
header .logo {
  padding: 8px 0;
  box-sizing: border-box;
  background: #000 !important;
  text-align: center;
  margin: 0 !important;
  /*li*/
}
header .logo li {
  display: inline-block;
}
header .logo li:first-child {
  padding-right: 38px;
  background: url("/tv/images/logo_center.png") right 16px bottom no-repeat;
  background-size: 6px auto;
}
header .logo li a {
  background: none !important;
}
header .logo li a img {
  height: 16px;
}

/*header*/
.listNote {
  padding-left: 0;
  font-size: 12px;
}
.listNote > li, .listNote > dl {
  position: relative;
  font-size: 12px;
  color: #000;
  padding-left: 1.4em;
}
.listNote > li:before, .listNote > dl:before {
  margin-left: -1.4em;
  position: absolute;
  content: "※";
}

.listNormal {
  padding-left: 0;
  margin: 0;
}
.listNormal > li, .listNormal > dl {
  position: relative;
  font-size: 12px;
  color: #000;
  padding-left: 1.4em;
}
.listNormal > li:before, .listNormal > dl:before {
  margin-left: -1.4em;
  content: "・";
  position: absolute;
}

footer .pagetop {
  right: 20px;
  display: none;
  position: fixed;
  top: auto;
  bottom: 70px;
  width: 50px;
}

.listNum {
  padding-left: 0;
  font-size: 12px;
}
.listNum li, .listNum dl {
  position: relative;
  font-size: 12px;
  color: #000;
  padding-left: 1.4em;
  list-style: none;
  counter-increment: cntnote;
  position: relative;
}
.listNum li:before, .listNum dl:before {
  margin-left: -1.4em;
  content: counter(cntnote) ".";
  position: absolute;
}

.listNumnote {
  padding-left: 0;
  font-size: 12px;
}
.listNumnote li, .listNumnote dl {
  position: relative;
  font-size: 12px;
  color: #000;
  padding-left: 2.2em;
  list-style: none;
  counter-increment: cntnote;
  position: relative;
}
.listNumnote li:before, .listNumnote dl:before {
  margin-left: -2.2em;
  content: "※" counter(cntnote);
  position: absolute;
}

.fnSp {
  float: none;
}

.top nav li a.top, .price nav li a.price, .flow nav a.flow, .attention nav li a.attention, .faq nav a.faq {
  border-radius: 4px 4px 0 0;
  background: #fff;
  color: #424242;
}
.top nav li a.top span, .price nav li a.price span, .flow nav a.flow span, .attention nav li a.attention span, .faq nav a.faq span {
  border-bottom: 3px solid #999999 !important;
}

.top nav li a.top, .price nav li a.price {
  background: #ffffff;
}

.redTxt {
  color: #e42154 !important;
}

.blueTable {
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  .blueTable {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    background: url("/tv/images/ico_arrowscroll.png") right top no-repeat;
    background-size: 32px 8px;
    padding-top: 20px;
  }
}
.blueTable table {
  border-radius: 6px;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  text-align: center;
  width: 840px;
}
.blueTable table th {
  width: 16%;
}
.blueTable table .wAuto {
  width: auto;
}
.blueTable table th, .blueTable table .blueCell {
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  font-weight: bold;
  color: #fff;
  background: #005bac;
  padding: 8px;
}
.blueTable table td {
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  padding: 8px;
}
a.blueBtn {
  display: block;
  border-radius: 58px;
  border: 1px solid #262626;
  text-align: center;
  width: 100%;
  text-decoration: none;
  background: #ffffff;
  font-weight: bold;
  color: #262626;
  font-size: 16px;
  padding: 10px 0;
  margin-bottom: 10px;
  position: relative;
  line-height: 100%;
  -webkit-border-radius: 58px;
  -moz-border-radius: 58px;
  -ms-border-radius: 58px;
  -o-border-radius: 58px;
}
a.blueBtn:after {
  position: absolute;
  content: url("/hikari/fvno/tv/images/ico_link.png");
  right: 18px;
  top: 50%;
  margin-top: -6px;
  line-height: 0;
  height: 14px;
}
a.blueBtn.blank:after {
  content: url("/tv/images/ico_blank.png");
  margin-top: -8px;
  right: 16px;
  height: 16px;
}
a.blueBtn:hover {
  opacity: 0.8;
  color: #fff;
}
/* ::::: 共通ボタン ::::: */
.cnBtn {
  width: 98.66667vw;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 58px;
  padding: 3.2vw 0 !important;
  display: block;
  text-decoration: none;
  font-weight: bold;
  -webkit-border-radius: 58px;
  -moz-border-radius: 58px;
  -ms-border-radius: 58px;
  -o-border-radius: 58px;
}
.cnBtn a {
  text-decoration: none;
}
.contents {
  width: 100%;
  margin: 0 auto;
  text-align: left;
  font-size: 3.73vw;;
  /*section*/
  /*plan*/
  /*plan*/
  /*point*/
  /*point*/
  /*reco*/
  /*reco*/
  /*price*/
  /*campaign*/
  /*campaign*/
  /*second*/
  /*second*/
  /*attention*/
  /*attention*/
  /*flow*/
  /*flow*/
  /*secConv*/
  /*secConv*/
}
.contents li, .contents p, .contents dl {
  line-height: 160%;
}
.contents img {
  width: 100%;
}
.contents section {
  /*.inner*/
}
.contents section h2 {
  font-weight: normal;
  font-size: 22px;
  border: none;
  padding: 0 5px 2px;
  margin: 0 0 18px;
  /* display: inline-block; */
  line-height: 120%;
  text-align: center;
  /*background: -webkit-linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0) 70%, #fff200 70%, #fff200 100%);
  background: -o-linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0) 70%, #fff200 70%, #fff200 100%);
  background: linear-gradient(rgba(0,0,0,0) 0%, rgba(0,0,0,0) 70%, #fff200 70%, #fff200 100%); /* Chrome10-25,Safari5.1-6 */
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
@media screen and (max-width: 640px) {
  .contents section h2 {
    background-size: 1px 10px;
    font-weight: bold;
    padding: 40px 0 10px;
  }
}
.contents section .topList {
  padding: 10px;
  margin: 0;
  font-size: 12px !important;
  text-align: left;
  box-sizing: border-box;
}
.contents section .inner1, .contents section .inner2, .contents section .inner3 {
  width: 100%;
  box-sizing: border-box;
  padding: 20px 15px 15px;
  margin: 0 auto;
  text-align: center;
}
.contents section .blueBox {
  background: #fff;
  border: 2px solid #00a1e5;
  border-radius: 8px;
  padding: 0 15px;
  text-align: left;
  width: 100%;
  display: block;
  box-sizing: border-box;
}
.contents section .blueBox .numH3 {
  border-bottom: 1px solid #000;
  padding: 0 0 12px 50px;
  margin: 12px 0 12px;
  font-size: 18px;
  font-weight: bold;
  position: relative;
}
.contents section .blueBox .numH3 span {
  position: absolute;
  font-size: 16px;
  top: 0;
  left: 0;
  border-radius: 60px;
  color: #fff;
  padding: 4px 11px;
  background: #005bac;
}
.contents section .blueBox .imgContent {
  padding: 80px 0 20px;
  background-position: center 10px;
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  .contents section .blueBox .imgContent {
    background-size: 89px 67px;
  }
}
.contents section .blueBox .imgContent h4 {
  font-weight: bold;
  font-size: 18px;
  margin: 0 0 15px;
}
.contents .kv .kvInner {
  padding: 0 38% 20px 22px;
  box-sizing: border-box;
  position: relative;
}
.contents .kv .kvInner h1 {
  border: none;
  padding: 0 0 10px;
  margin: 0;
  line-height: 100%;
}
.contents .kv .kvInner .kvDate {
  border-top: 1px solid #ffff81;
  border-bottom: 1px solid #ffff81;
  padding: 4px 0;
  line-height: 120%;
  color: #ffff81;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  margin: 0 10px;
}
.contents .kv .kvInner ul {
  position: absolute;
  bottom: 1px;
  left: 40px;
  margin: 0 !important;
}
.contents .kv .kvInner ul li {
  color: #fff !important;
  font-size: 10px;
}
@media screen and (min-width: 521px) {
  .contents .kv .kvInner {
    padding: 0 31% 20px 40px;
  }
  .contents .kv .kvInner:after {
    width: 37%;
  }
}
@media screen and (max-width: 410px) {
  .contents .kv .kvInner {
    padding: 0 36% 20px 22px;
  }
  .contents .kv .kvInner:after {
    width: 42%;
  }
  .contents .kv .kvInner .kvDate {
    font-size: 14px;
  }
}
@media screen and (max-width: 410px) {
  .contents .kv .kvInner {
    padding: 16px 38% 20px 15px;
  }
  .contents .kv .kvInner:after {
    width: 43%;
  }
  .contents .kv .kvInner .kvDate {
    font-size: 14px;
  }
}
.contents nav {
  background: #ffffff;
  padding: 5px 0 0;
  border-bottom: 1px solid #ccc;
  border-top: 1.0666666667vw solid #eff0f1;
}
.contents nav ul {
  display: flex;
  flex-grow: 1;
  margin: 0 5px;
}
.contents nav ul li {
  width: 25%;
}

.contents nav ul li:nth-child(2) a span, .contents nav ul li:nth-child(4) a span {
  padding-top: 0.5em;
  padding-bottom: 1em;
}
.contents nav ul li a {
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 10px 0 0px;
  display: block;
  text-decoration: none;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 400px) {
  .contents nav ul li a {
    font-size: 3.2vw;
    font-weight: normal;
  }
}
.contents nav ul li a span {
  box-sizing: border-box;
  padding-bottom: 4px;
  display: inline-block;
  border-bottom: 3px solid #ffffff;
  line-height: 120%;
  color: #424242;
}
.contents nav ul li a:hover span {
  border-bottom: 3px solid #ffffff
}
/* ::::: ひかりTVとは ::::: */
/* ::::: plan section ::::: */
.contents .secPlan {
  background: #ffffff;
  /*.planArea*/
}
.contents .secPlan p.leadTxt, .contents .secPlan p.bottomTxt {
  text-align: center;
  font-size: 14px;
  margin: 0 0 25px;
}
.contents .secPlan .planArea {
  display: flex;
  flex-direction: column;
}
.contents .secPlan .planArea .planBlock {
  background: #fff;
  border: 5px solid #52b0e4;
  border-radius: 6px;
  box-sizing: border-box;
  padding: 30px 10px;
  text-align: center;
  margin-bottom: 25px;
}
.contents .secPlan .planArea .planBlock h3 {
  margin: 0 0 5px;
  padding: 0 0 10px;
  border-bottom: 1px solid #d5d5d5;
}
.contents .secPlan .planArea .planBlock:first-child .planTxt {
  background-image: url("/tv/images/plan_img1.png");
}
.contents .secPlan .planArea .planBlock:last-child .planTxt {
  background-image: url("/tv/images/plan_img2.png");
}
.contents .secPlan .planArea .planBlock .planTxt {
  padding: 0 0 0 80px;
  text-align: left;
  margin: 20px 0 0;
  background-repeat: no-repeat;
  background-position: 10px top;
  min-height: 64px;
}
@media screen and (max-width: 640px) {
  .contents .secPlan .planArea .planBlock .planTxt {
    background-size: 45px auto;
  }
}
.contents .secPlan .planArea .planBlock .planTxt > span {
  font-size: 18px;
  font-weight: bold;
}
.contents .secPlan .planArea .planBlock .planTxt > span > span {
  font-size: 30px;
}
.contents .secPlan .planArea .planBlock .planTxt .redTxt {
  color: #e42154;
}
/* ::::: point section ::::: */
.contents .secPoint {
  background-color: #E2EBF0;
}
.contents .secPoint .pointArea {
  display: flex;
  flex-direction: column;
}
.contents .secPoint .pointArea .pointBlock {
  border-radius: 6px;
  box-sizing: border-box;
  padding: 30px 15px 15px;
  text-align: center;
  margin: 0 0 15px;
  background-color: #ffffff;
}
.contents .secPoint .pointArea .pointBlock h3 {
  padding: 80px 0 10px;
  background-size: 69px 59px;
  background-position: center top;
  background-repeat: no-repeat;
  font-size: 20px;
}
.contents .secPoint .pointArea .pointBlock dt {
  position: absolute;
  width: 18.6666666667vw;
  height: 12.9626666667vw;
}
.contents .secPoint .pointArea .pointBlock dd div {
  text-align: left;
}
.contents .secPoint .pointArea .pointBlock dd div span {
  font-weight: bold;
  padding-left: 21.8666666667vw;
  height: 13.0026666667vw;
  display: flex;
  align-items: center;
  margin-bottom: 2.1333333333vw;
}

/* .contents .secPoint .pointArea .pointBlock:nth-of-type(1) h3 {
  background-image: url("/tv/images/point_img1.png");
}
.contents .secPoint .pointArea .pointBlock:nth-of-type(2) h3 {
  background-image: url("/tv/images/point_img2.png");
}
.contents .secPoint .pointArea .pointBlock:nth-of-type(3) h3 {
  background-image: url("/tv/images/point_img3.png");
}
.contents .secPoint .pointArea .pointBlock:nth-of-type(4) h3 {
  background-image: url("/tv/images/point_img4.png");
} */
/* ::::: recommend section ::::: */
.contents .secReco {
  background: #ffffff;
}
.contents .secReco .blueBox {
  margin-bottom: 15px;
  padding-bottom: 20px;
}
.contents .secReco .blueBox .imgContent {
  padding: 120px 0 20px;
}
@media screen and (max-width: 640px) {
  .contents .secReco .blueBox .imgContent {
    background-size: 97px;
  }
}
.contents .secReco .blueBox:nth-of-type(1) .imgContent {
  background-image: url("/tv/images/reco_img1.png");
}
.contents .secReco .blueBox:nth-of-type(2) .imgContent {
  background-image: url("/tv/images/reco_img2.png");
}
.contents .secReco .blueBox:nth-of-type(3) .imgContent {
  background-image: url("/tv/images/reco_img3.png");
}
.contents .secReco .blueBox:nth-of-type(4) .imgContent {
  background-image: url("/tv/images/reco_img4.png");
}
/* ::::: recomendplan section ::::: */
.contents .recommendPlan__titleIcon {
  width: 32.5333333333vw;
  height: 5.8666666667vw;
  text-align: center;
  font-size: 3.7333333333vw;
  display: block;
  margin: 0 auto 4vw;
  line-height: 1.6;
}
.contents .recommendPlan__titleIcon {
  font-size: 16px;
  background-color: #EA592A;
  color: #fff;
  border-radius: 6px;
  margin-right: 49px;
  display: inline-block;
  width: 122px;
  height: 28px;
  vertical-align: middle;
  line-height: 1.9;
}
.contents .recommendPlan{
  background-color: #e2ebf0;
}
.contents .recommendPlan .sec__heading {
  margin-bottom: 4.9066666667vw;
  font-weight: bold;
}
.contents .recommendPlan .lightBox {
  padding: 10.6666666667vw 5.3333333333vw 8vw;
  background-color: #ffffff;
  box-shadow: 2.6666666667vw 2.6666666667vw 2.6666666667vw 0 rgb(0 0 0 / 16%);
}
.contents .recommendPlan__title {
  font-size: 6.4vw;
  margin-bottom: 4.8vw;
}
.contents .recommendPlan__titleIcon {
  width: 32.5333333333vw;
  height: 5.8666666667vw;
  text-align: center;
  font-size: 3.7333333333vw;
  display: block;
  margin: 0 auto 4vw;
  line-height: 1.6;
}
.contents .recommendPlan__innerBox {
  margin-bottom: 8vw;
}
.contents .recommendPlan__innerTitle {
  padding: 2.4vw;
  margin-bottom: 6.4vw;
  font-size: 3.7333333333vw;
  background-color: #EFF0F1;
}
.contents .recommendPlan__innerSubTitle {
  font-size: 4vw;
  margin-bottom: 6.6666666667vw;
  color: #EA592A;
}
.contents .recommendPlan__grid {
  display: block;
}
.contents .recommendPlan__grid--pdd {
  padding: 0;
}
.contents .recommendPlan__gridItem {
  width: 100%;
  text-align: center;
  font-size: 4.2666666667vw;
  font-weight: bold;
}
.contents .recommendPlan__gridItem img {
  display: block;
}
.contents .recommendPlan__gridItem--arrow {
  width: 6.6906666667vw;
  margin: 3.8133333333vw auto 3.3866666667vw;
}
.contents .recommendPlan__gridItem--plus {
  width: 4.5253333333vw;
  margin: 2.0266666667vw auto;
}
.contents .recommendPlan__gridBlock {
  display: flex;
  flex-wrap: wrap;
}
.contents .recommendPlan__gridBlockItem {
  width: 47%;
  height: 24vw;
  margin: 0;
  font-size: 3.4666666667vw;
  background-color: #E2EBF0;
  font-weight: bold;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contents .recommendPlan__gridBlockItem--spMb {
  margin-bottom: 3.4666666667vw;
  background-color: #E2EBF0;
  font-weight: bold;
  text-align: center;
}
.contents .recommendPlan__gridBlockItem--spMr {
  margin-right: 3.7333333333vw;
  background-color: #E2EBF0;
  font-weight: bold;
}
.contents .recommendPlan__gridBlockItem--tvService {
  font-size: 3.2vw;
}
.contents .recommendPlan__xlText {
  font-size: 6.4vw;
}
/* ::::: price section ::::: */
.contents .secPrice .spSwipe {
  width: 57.3333333333vw;
  margin: 0 auto;
}
.contents .secPrice h2 {
  font-weight: bold;
}
.contents .pricePlan__table {
  padding: 14vw 0;
  overflow-x: scroll;
}
.contents .pricePlan__table table {
  position: relative;
  border-collapse: collapse;
  white-space: nowrap;
  text-align: center;
  table-layout: fixed;
  min-width: 100%;
  margin-left: 5.3333333333vw;
}
.contents .pricePlan__table tr:first-child th {
  background: #DEDEDE;
  border-right: 1px solid #fff;
  border-left: none;
  border-top: 1px solid #E5E5E5;
  border-bottom: 1px solid #E5E5E5;
  font-size: 3.7333333333vw;
}
.contents .pricePlan__table tr:first-child th:first-child {
  border-left: 1px solid #E5E5E5;
}
.contents .pricePlan__table tr:first-child th:last-child {
  border-right: 1px solid #E5E5E5;
}
.contents .pricePlan__table tr:nth-of-type(2) td {
  border-top: none;
}
.contents .pricePlan__table table {
  width: 100%;
}
.contents .pricePlan__table .pricePlan__tableTitle {
  vertical-align: middle;
  font-size: 3.7333333333vw;
}
.contents .pricePlan__table .pricePlan__tableTitle span {
  writing-mode: vertical-rl;
}
.contents .pricePlan__table .pricePlan__tableHead--option {
  width: 14vw;
}
.contents .pricePlan__table table, .pricePlan__table .pricePlan__table td, .pricePlan__table .pricePlan__table th {
  border: 1px solid #595959;
  border-collapse: collapse;
  text-align: center;
  vertical-align: middle;
}
.contents .pricePlan__table td, .pricePlan__table .pricePlan__table th {
  font-size: 16px;
  vertical-align: middle;
}
.contents .pricePlan__table td {
  border: 1px solid #595959;
  padding: 3.3333333333vw 2.6666666667vw;
  line-height: 5.3333333333vw;
}
.contents .pricePlan__tableBlue {
  color: #0066BE;
}
.contents .pricePlan__tableRed {
  color: #EA592A;
}
.contents .pricePlan__tableBold {
  font-weight: bold;
}
.contents .pricePlan__table .pricePlan__tableHead {
  width: 54.1333333333vw;
  padding: 4.5066666667vw 1.3333333333vw 3.4666666667vw;
  font-size: 3.7333333333vw;
  line-height: 5.3333333333vw;
}
.contents .pricePlan__table .pricePlan__tableHead .pricePlan__textXl {
  margin-bottom: 18.1px;
}
.contents .pricePlan__table .pricePlan__tableTitle {
  font-weight: bold;
}
.contents .pricePlan__table .pricePlan__tableText--option {
  margin-top: 10px;
}
.contents .pricePlan__table .pricePlan__tableIcon {
  display: block;
  position: absolute;
  color: #fff;
  background-color: #EA592A;
  width: 122px;
  height: 28px;
  font-size: 16px;
  font-weight: bold;
  transform: translateX(33%) translateY(-250%);
  text-align: center;
  border-radius: 6px;
  line-height: 1.8;
  letter-spacing: -0.1em;
}
.contents .pricePlan__table .pricePlan__tableIcon::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 10px 0 10px;
  border-color: #ea5a2a transparent transparent transparent;
  bottom: -14px;
  left: 41%;
}
.contents .pricePlan__table .pricePlan__textXl {
  font-size: 3.7333333333vw;
}
.contents .pricePlan__table .pricePlan__textXl--option {
  font-size: 26px;
  line-height: 1;
  margin-bottom: 9px;
}
.contents .pricePlan__table .pricePlan__textXs {
  font-size: 20px;
}
.contents .secPrice {
  background: #ffffff;
}
.contents .secPrice h3 {
  font-size: 20px;
}
.contents .secPrice h3 span {
  color: #f4511e;
  margin: 0 0 20px;
}
.contents .secPrice .planBox {
  border-radius: 6px;
  padding: 20px;
  display: block;
  background: #fff;
  border: 1px solid #d6d6d6;
  display: flex;
  flex-direction: column;
  display: block;
  margin: 0 0 20px;
}
.contents .secPrice .planBox .priceArea {
  border-bottom: 1px solid #d6d6d6;
  padding: 0 0 10px;
  margin: 0 0 10px;
}
.contents .secPrice .planBox .priceArea h4 {
  font-weight: bold;
  font-size: 22px;
  display: inline-block;
  padding: 0 2px 2px;
  border-bottom: 8px solid #7fc7ef;
  margin: 0 0 30px;
}
.contents .secPrice .planBox .priceArea .price > div {
  margin: 0 0 2px;
  font-size: 14px;
  color: #333;
}
.contents .secPrice .planBox .priceArea .price p {
  margin: 5px 0 0;
}
.contents .secPrice .planBox .channel {
  font-size: 20px;
  margin: 0 0 20px;
  text-align: left;
}
.contents .secPrice .planBox .channel p {
  margin: 0;
}
.contents .secPrice .planBox .channel ul {
  display: flex;
  flex-wrap: wrap;
}
.contents .secPrice .planBox .channel ul li {
  margin: 0 5px 5px 0;
  color: #fff;
  font-size: 13px;
  text-align: center;
  box-sizing: border-box;
  display: block;
}
.contents .secPrice .planBox .channel ul li span {
  padding: 2px 5px;
  display: block;
}
.contents .secPrice .planBox .channel ul li span.orange {
  width: 70px;
  background: #ff9507;
}
.contents .secPrice .planBox .channel ul li span.gray {
  background: #e7e7e7;
  color: #c9c9c9;
}
.contents .secPrice .planBox .channel ul li a {
  color: #fff;
  padding: 2px 5px;
  display: block;
}
.contents .secPrice .planBox .channel ul li a.pink {
  background: #fd585d;
}
.contents .secPrice .planBox .channel ul li a.green {
  background: #6fb401;
}
.contents .secPrice .planBox .channel ul li a.blue {
  background: #7fc7ef;
}
.contents .secPrice .planBox .channel ul li a:hover {
  opacity: 0.8;
}
.contents .secPrice .tvBox {
  border: 4px solid #00a1e6;
  background: #fff;
  padding: 15px;
  display: block;
  margin: 0 0 20px;
}
.contents .secPrice .tvBox h4 {
  border-bottom: 1px solid #d7d7d7;
  font-size: 20px;
  font-weight: bold;
  padding: 0 0 10px;
  margin: 0 0 15px;
}
.contents .secPrice .tvBox h5 {
  font-size: 18px;
  text-align: center;
  margin: 0 0 15px;
}
.contents .secPrice .tvBox .txtArea {
  text-align: left;
  font-size: 3.73vw;
}
.contents .secPrice .tvBox .txtArea:first-child {
  padding: 100px 0 0;
  background: url("/tv/price/price_img1.png") no-repeat center top;
  background-size: 80px auto;
}
/* ::::: tuner section ::::: */
.contents .secTurner {
  background: #E2EBF0;
}
.contents .secTurner .tunerBox {
  padding: 3vw;
  margin: 0 auto 28px;
  background-color: #ffffff;
  box-shadow: 2.6666666667vw 2.6666666667vw 2.6666666667vw 0 rgb(0 0 0 / 16%);
}
.contents .secTurner .tunerRental {
  padding:2vw;
}
.contents .secTurner .tunerRental h2 span {
  font-weight: bold;
}
.contents .secTurner .tunerRental .tunerBox .tunerName {
  font-size: 16px;
  color: #0066BE;
  background-color: #EFF0F1;
  padding: 16.5px 10px;
  margin-bottom: 32.4px;
  font-weight: bold;
  font-size: 3.73vw;
}
.contents .secTurner .tunerRental .tunerBox .tunerPrice  {
  font-size: 4.2666666667vw;
  font-weight: bold;
  margin-bottom: 8.4vw;
}
.contents .secTurner .tunerRental .tunerBox .tunerPrice span {
  font-size: 6.4vw;
  font-weight: bold;
}
.contents .secTurner .tunerRental .tunerBox .tunerText {
  text-align: left;
}
.contents .secPrice .tunerBox {
  border: 4px solid #00a1e6;
  display: block;
  padding: 15px 15px 15px 140px;
  background: url("/tv/price/images/price_deco.png") 20px bottom no-repeat #fff;
  text-align: left;
  position: relative;
  box-sizing: border-box;
  margin: 0 0 28px;
}
.contents .secPrice .tunerBox:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 12px 0 12px;
  border-color: #00a1e6 transparent transparent transparent;
  left: 50%;
  margin-left: -12px;
  bottom: -22px;
}
.contents .secPrice .tunerRental {
  border: 1px solid #d6d6d6;
  background: #fff;
  padding: 15px 25px;
  border-radius: 6px;
  display: block;
}
.contents .secPrice .tunerRental h4 {
  font-size: 18px;
  margin: 0 0 10px;
  padding: 0 0 5px;
  border-bottom: 1px solid #d6d6d6;
}
.contents .secPrice .tunerRental ul {
  display: flex;
  flex-direction: column;
}
.contents .secPrice .tunerRental ul li {
  text-align: center;
  margin: 0 0 10px;
}
/* ::::: image section ::::: */
.contents .secImg .imgText {
  font-weight: bold;
  margin-bottom: 15px;
}
.contents .secImg .imgText .blue{
  color: #0066BE;
}
.contents .secImg .imgText .red{
  color: #EA592A;
}
.contents .secImg .imgBox {
  border: 4px solid #E2EBF0;
  padding: 30px 15px;
  margin-bottom: 15px;
}
.contents .secImg .imgBox .imgInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  display: block;
}
.contents .secImg .imgBox .imgInner .imgRight {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}
.contents .secImg .imgBox .imgInner .imgRight span {
  font-weight: bold;
  font-size: 32px;
}
.contents .secImg .imgBox .imgInner .imgLeft {
  text-align: center;
  width: 100%;
}
.contents .secImg .imgBox .imgInner .imgLeft:first-child {
  border-bottom: 1px solid #757575;
  padding-bottom: 4.1866666667vw;
  margin-bottom: 3.0666666667vw;
}
.contents .secImg .imgBox .imgInner .imgLeft ul li .red{
  color: #EA592A;
}
.contents .secImg .imgBox .imgInner .imgLeft ul li {
  margin-bottom: 15px;
}
.contents .secImg .imgBox .imgInner .imgLeft p {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
.contents .secImg .imgNotice {
  text-align: left;
}
/* :::: conversion button ::::: */
.contents .conBtn {
  background-color: #4b99e6;
}
.contents .sec__inner {
  padding-top: 10.6666666667vw;;
  padding-bottom: 10.6666666667vw;;
  margin: 0 8vw;
}
.contents .c-btn {
  background-color: #fcf150;
  color: #4b99e6 !important;
  box-shadow: 10px 10px 10px 0 rgba(0, 0, 0, 0.16);
  font-size: 3.7333333333vw;
  padding: 3.2vw 0 !important;
  transition: all 0.3s;
  text-decoration: none;
  border-radius: 15.4666666667vw;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
}
.contents .c-btn:hover {
  box-shadow: 10px 10px 10px 0 rgba(0, 0, 0, 0.28);
}
.contents .secTiming .inner2 p {
  text-align: left;
  font-size: 3.73333vw;
}
.contents .secTiming .inner2 h2 {
  color: #424242;;
}
.contents .secTiming .inner2 div {
  max-width: 760px;
  margin: 0 auto 24.5px;
}
/* ::::: campaign section ::::: */
.contents .secCam {
  /*tokuten*/
  /*monthArea*/
  font-size: 3.2vw;
}
.contents .secCam h2 span {
  font-weight: bold;
}
.contents .secCam h3 {
  font-size: 19px;
  text-align: center;
  margin: 0 0 15px;
  padding: 18px 30px;
  background-repeat: no-repeat;
  background-size: 11px 38px;
  background-position: left center , right center;
  display: inline-block;
}
.contents .secCam h4 {
  font-size: 20px;
  text-align: center;
  margin: 0 0 18px;
  font-weight: normal;
}
.contents .secCam h4 span {
  font-weight: bold;
}
.contents .secCam .tokutenArea {
  display: flex;
  flex-direction: column;
}
.contents .secCam .tokutenArea .tokutenBlock {
  border-radius: 6px;
  color: #fff;
  box-sizing: border-box;
  text-align: center;
  display: table;
  width: 100%;
}
.contents .secCam .tokutenArea .tokutenBlock h5 {
  border-right: 1px solid #fff;
  font-size: 22px;
  padding: 0 20px 0 0;
  margin: 0;
  display: table-cell;
  vertical-align: middle;
  width: 80px;
}
.contents .secCam .tokutenArea .tokutenBlock h5 span {
  position: relative;
}
.contents .secCam .tokutenArea .tokutenBlock h5 span sup {
  position: absolute;
  font-size: 11px;
  top: 10px;
  right: -2em;
  font-weight: normal;
}
.contents .secCam .tokutenArea .tokutenBlock .tokutenContent {
  display: table-cell;
  vertical-align: middle;
  padding: 0 0 0 20px;
}
.contents .secCam .tokutenArea .tokutenBlock .tokutenContent p {
  font-size: 14px;
  margin: 0 0 10px;
}
.contents .secCam .monthArea li {
  border-radius: 6px;
  border: 1px solid #005bac;
  margin-bottom: 10px;
  /*monthTtl*/
}
.contents .secCam .monthArea li .monthTtl {
  background: #005bac;
  text-align: center;
  padding: 25px 10px 20px;
  position: relative;
}
.contents .secCam .monthArea li .monthTtl p {
  display: table;
  margin: 0 auto;
  line-height: 100%;
}
.contents .secCam .monthArea li .monthTtl p span {
  display: table-cell;
  vertical-align: baseline;
  font-weight: bold;
  color: #fff;
}
.contents .secCam .monthArea li .monthTtl p span:nth-of-type(1) {
  font-size: 18px;
  width: 6.2em;
  text-align: left;
}
.contents .secCam .monthArea li .monthTtl p span:nth-of-type(2) {
  font-size: 36px;
  width: 3.6em;
  text-align: right;
}
.contents .secCam .monthArea li .monthTtl p span:nth-of-type(3) {
  font-size: 18px;
  width: 1.4em;
  text-align: right;
}
.contents .secCam .monthArea li .monthTtl:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 10px 0 10px;
  border-color: #005cac transparent transparent transparent;
  bottom: -16px;
  left: 50%;
  margin-left: -5px;
}
.contents .secCam .monthArea li .monthContent {
  padding: 20px;
}
.contents .secCam .monthArea li .monthContent p {
  font-size: 18px;
  margin: 0 0 10px;
}
.contents .secCam .monthArea li .monthContent .waribiki {
  border-radius: 6px;
  margin: 15px 0 0;
  padding: 15px;
  background: #beecff;
}
.contents .secCam .inner2 .fstickBox {
  border: 4px solid #F5AC95;
  padding: 5.7333333333vw 5.4666666667vw;;
  font-size: 3.7333333333vw;
}
.contents .secCam .inner2 .fstickBox .fstickCont div {
  margin-bottom: 8vw;
  margin-right: 0;
}
.contents .secCam .inner2 .fstickBox .fstickCont h4 span {
  color: #EA582A;
}
.contents .secCam .inner2 .fstickBox .fstickCont div img {
  width: 48.224vw;
  margin: 0 auto;
}
.contents .secCam .inner2 .fstickBox .fstickItem {
  display: block;
  padding: 5.4666666667vw 0 5.4666666667vw;
}
.contents .secCam .inner2 .fstickBox .fstickItem dt img {
  width: 40vw;
  margin: 0 auto 3.3333333333vw;
}
.contents .secCam .inner2 .fstickBox .fstickItem dd {
  width: 100%;
  font-size: 3.7333333333vw;
}
.contents .secCam .inner2 .fstickBox .fstickItem dd h4 {
  font-size: 4.2666666667vw;
  margin-bottom: 5.3333333333vw;
  text-align: center;
  letter-spacing: -0.01em;
  font-weight: bold;
}
.contents .secCam .inner2 .fstickBox .fstickItem dd p {
  text-align: left;
}
.contents .secCam .inner2 .fstickBox .fstickItem dd ul {
  margin-top: 4.9333333333vw;
  font-size: 16px;
}
.contents .secCam .inner2 .fstickBox .fstickItem dd ul li::before{
  content: "※";
  position: absolute;
  left: 50px;
  top: 0;
}
.contents .secCam .inner2 .camNotice {
  margin-top: 40px;
  text-align: left;
}
.contents .secCam .inner2 .camNotice ul li{
  text-align: left;
}
/* ::::: timing section ::::: */
.contents .secTiming {
  background: #E2EBF0;
  color: #757575;
}
/* ::::: second section ::::: */
.contents .secSecond {
  background-color: #E2EBF0;
}
.contents .secSecond .sec_inner {
  padding: 3.066667vw 6.4vw 13.4666666667vw;
}
.contents .secSecond .second_txt{
  text-align: center;
  font-weight: bold;
}
.contents .secSecond h2 {
  font-weight: bold;
}
.contents .secSecond .inner2 > p {
  font-weight: bold;
}
.contents .secSecond h3 {
  font-size: 18px;
  margin: 0 0 20px;
}
.contents .secSecond li {
  color: #757575;
}
.contents .secSecond .secondBlock {
  text-align: left;
  display: block;
  border: 4px solid #e3e3e3;
  background-repeat: no-repeat;
  background-color: #ffffff;
}
.contents .secSecond .secondBlock h4 {
  font-size: 4.1066666667vw;
  text-align: center;
  margin: 0 0 15px;
}
.contents .secSecond .secondBlock h4 span {
  font-size: 20px;
}
.contents .secSecond .secondBlock p {
  font-weight: bold;
  margin: 0 0 10px;
}
.contents .secSecond .secondBlock dl {
  padding: 6.56vw 5.3333333333vw 5.8133333333vw;
}
.contents .secSecond .secondBlock dl dt {
  height: auto;
  margin-bottom: 5.4133333333vw;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contents .secSecond .secondBlock dl dd h4 {
  text-align: center;
}
.contents .secSecond .secondBlock dl dd p {
  font-weight: normal;
}
.contents .secSecond .secondBlock dl dt img {
  width: auto;
  max-width: 100%;
}
/* ::::: attention section ::::: */
.contents .secAttention article {
  padding: 25px 0;
  border-bottom: 1px solid #000;
}
.contents .secAttention article:last-child {
  border-bottom: none;
}
.contents .secAttention article h3 {
  font-size: 18px;
  padding: 0;
  margin: 0 0 15px;
}
.contents .secAttention article h4 {
  font-size: 14px;
  font-weight: bold;
  padding: 0;
  margin: 0 0 10px;
}
.contents .secAttention article > article {
  border-bottom: none;
  padding: 0 0 20px;
}
.contents .secAttention p {
  margin: 0;
}
.contents .secAttention .blueBox ul, .contents .secAttention .blueBox ol {
  margin: 5px 0 0;
}
.contents .secAttention .blueBox ul li, .contents .secAttention .blueBox ol li {
  font-size: 16px !important;
}
/* ::::: flow section ::::: */
.contents .secFlow {
  /*blueBox*/
}
.contents .secFlow .blueBox {
  margin-bottom: 36px;
  position: relative;
  /*1*/
  /*2*/
  /*3*/
  /*4*/
  /*5*/
}
.contents .secFlow .blueBox:after {
  position: absolute;
  content: "";
  height: 12px;
  width: 21px;
  bottom: -24px;
  left: 50%;
  margin-left: -10px;
  background: url("/tv/flow/images/ico_arrow.png");
  background-size: 100%;
}
.contents .secFlow .blueBox:last-child {
  margin-bottom: 0;
}
.contents .secFlow .blueBox:last-child:after {
  content: none;
}
.contents .secFlow .blueBox:nth-of-type(1) .imgContent {
  background-image: url("/tv/flow/images/ico_flow1.png");
}
.contents .secFlow .blueBox:nth-of-type(2) .imgContent {
  background-image: url("/tv/flow/images/ico_flow2.png");
}
.contents .secFlow .blueBox:nth-of-type(3) .imgContent {
  background-image: url("/tv/flow/images/ico_flow3.png");
}
.contents .secFlow .blueBox:nth-of-type(4) .imgContent {
  background-image: url("/tv/flow/images/ico_flow4.png");
}
.contents .secFlow .blueBox:nth-of-type(5) .imgContent {
  background-image: url("/tv/flow/images/ico_flow5.png");
}
.contents .secConv {
  background-color: #4B99E6;
  /*.topArticle*/
  /*.secondArticle*/
}
.contents .secConv .topArtticle {
  margin: 0 0 15px;
  display: block;
  text-align: left;
}
.contents .secConv .topArtticle h3 {
  padding: 0;
  margin: 0;
}
.contents .secConv .topArtticle > div {
  background: #fff;
  border-radius: 0 0 6px 6px;
  padding: 15px 15px;
}
.contents .secConv .topArtticle > div .btnArea {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.contents .secConv .topArtticle > div .btnArea li {
  width: 100%;
  box-sizing: border-box;
  display: block;
  border-radius: 6px;
  background: #f0f3f4;
  padding: 15px;
  margin-bottom: 15px;
}
.contents .secConv .topArtticle > div .btnArea li p {
  text-align: center;
  margin: 0 0 15px;
}
.contents .secConv .topArtticle > div .btnArea li a {
  display: block;
  border-radius: 6px;
  text-align: center;
  width: 100%;
  text-decoration: none;
  background: #005bac;
  font-weight: bold;
  color: #fff;
  font-size: 20px;
  padding: 16px 0;
  position: relative;
  line-height: 100%;
  box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.1);
}
.contents .secConv .topArtticle > div .btnArea li a:after {
  position: absolute;
  content: url("/tv/images/ico_link.png");
  right: 18px;
  top: 50%;
  margin-top: -7px;
  line-height: 0;
  height: 14px;
}
.contents .secConv .topArtticle > div .btnArea li a:hover {
  opacity: 0.8;
  color: #fff;
}
.contents .secConv .secondArticle {
  border-radius: 6px;
  background: #fff;
  padding: 15px 15px;
  margin: 0 0 15px;
  display: block;
  text-align: left;
  /*callArea*/
}
.contents .secConv .secondArticle .callArea {
  margin: 0 0 20px;
}
.contents .secConv .secondArticle .callArea > div {
  text-align: center;
}
.contents .secConv .secondArticle .callArea > div:last-child {
  padding: 10px 0 0;
}
.contents .secConv .secondArticle .callArea > div:last-child dl {
  margin: 0;
  display: table;
  width: 100%;
}
.contents .secConv .secondArticle .callArea > div:last-child dl dt {
  padding: 10px 15px;
  background: #00a1e5;
  font-size: 18px;
  font-weight: bold;
  float: left;
  color: #fff;
  display: table-cell;
  vertical-align: top;
  white-space: nowrap;
}
.contents .secConv .secondArticle .callArea > div:last-child dl dd {
  font-weight: bold;
  font-size: 16px;
  display: table-cell;
  padding-left: 20px;
  margin: 0;
  text-align: left;
  vertical-align: top;
}
.contents .secConv .secondArticle .callArea > div:last-child dl dd ul {
  margin: 5px 0 0;
}
.contents .secConv .secondArticle .callArea > div:last-child dl dd ul li {
  font-size: 14px;
  font-weight: normal;
}
.contents .secConv a.bottomBtn {
  display: block;
  border-radius: 6px;
  background: #005bac;
  font-weight: bold;
  box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.1);
  font-size: 18px;
  color: #fff;
  text-align: center;
  position: relative;
  line-height: 100%;
  text-decoration: none;
  padding: 20px 0;
}
.contents .secConv a.bottomBtn:before {
  content: "";
  top: 50%;
  background-size: 100%;
  background: url("/tv/images/ico_faq_sp.png");
  position: absolute;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  line-height: 0;
}
.contents .secConv a.bottomBtn:after {
  content: url("/tv/images/ico_blank.png");
  position: absolute;
  top: 50%;
  margin-top: -8px;
  right: 16px;
  height: 16px;
  line-height: 0;
}
.contents .secConv a.bottomBtn:hover {
  opacity: 0.8;
  color: #fff;
}
.contents .secConv a.bottomBtn:first-letter {
  padding-left: 30px;
}

/*.contents*/
#footArea {
  background: #262626;
  border-top: 1px #cccccc solid;
  color: #ffffff;
  margin: 49px 0 0;
  padding: 16px 0 16px;
  text-align: center;
  width: 100%;
}
#footArea .copy {
  font-size: 12px;
  display: block;
  overflow: hidden;
  text-align: center;
  color: #fff;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .secFireTv {
    background-color: #E2EBF0;
  }
  .secFireTv .inner {
    padding: 40px 15px;
    margin: 0 auto;
  }
  .secFireTv .inner h3 {
    text-align: center;
    margin: 0 0 15px;
  }
  .secFireTv .inner h4 {
    font-weight: bold;
    font-size: 23px;
    margin: 0 0 25px;
    text-align: center;
  }
  .secFireTv .inner .boldGray {
    border: 1px solid #ededed;
  }
  .secFireTv .inner .whiteBk {
    background-color: white !important;
  }
  .secFireTv .inner .inlineBk {
    display: inline-block;
  }
  .secFireTv .inner .border_bm {
    border-bottom: 1px solid #000;
  }
  .secFireTv .inner .advicePoint {
    padding: 30px;
  }
  .secFireTv .inner .advicePoint__text {
    font-weight: bold;
    font-size: 18px;
  }
  .secFireTv .inner .advicePoint li {
    flex-wrap: wrap !important;
  }
  .secFireTv .inner .advicePoint li:first-child {
    padding-bottom: 20px;
    border-bottom: 1px solid #ededed;
  }
  .secFireTv .inner .advicePoint li:last-child {
    padding-top: 20px;
  }
  .secFireTv .inner .advicePoint li > div {
    padding: 10px;
  }
  .secFireTv .inner .advicePoint li > div:first-child {
    width: 100%;
  }
  .secFireTv .inner .advicePoint li > div:last-child {
    width: 100%;
  }
  /* ::::: よくあるご質問 ::::: */
  /* ::::: faq section ::::: */
  .contents .faq .section_inner {
    margin: 10.6666666667vw 8vw;
  }
  .content .contents .faq .sec__inner .sec__heading {
    display: block;
    font-weight: normal!important;
    padding: 15px 0 10px;
  }
  .contents .faq .faqList > li {
    padding: 0;
    border-bottom: 0.2666666667vw dotted #aaa;
  }
  .contents .faq .faqList > li .q {
    font-size: 4.2666666667vw;
    padding: 5.3333333333vw 13.3333333333vw 5.3333333333vw 10.6666666667vw;
    font-weight: bold;
    position: relative;
    background: url("/common/images/maincontents/icon-question.gif") no-repeat 1.3333333333vw 5.8666666667vw;
    cursor: pointer;
    margin: 0;
  }
  .contents .faq .faqList > li .q:after {
    position: absolute;
    transition: transform 0.2s linear;
    transform-origin: 50% 50%;
    content: url("/hikari/faq/images/faq_arrow.png");
    right: 5.3333333333vw;
    top: 8.5333333333vw;
    height: 2.6666666667vw;
    line-height: 0;
  }
  .contents .faq .faqList > li .q.on:after {
    transform: rotateX(180deg);
    transform-origin: 50% 50%;
  }
  .contents .faq .faqList > li .a {
    padding-left: 12vw;
    position: relative;
    margin: 0;
    padding: 2.6666666667vw 6.6666666667vw 6.6666666667vw 12vw;
    display: none;
  }
  .contents .faq .faqList > li .a:before {
    position: absolute;
    width: 5.3333333333vw;
    height: 6.4vw;
    background: url("/common/images/maincontents/icon-answer.gif") no-repeat left top;
    content: "";
    top: 4vw;
    left: 1.3333333333vw;
  }
  .contents .faq__tableArea {
    margin-top: 0;
  }
  .contents .faq__connect {
    width: 100%;
    overflow-x: scroll;
  }
  .contents .faq__connect img {
    min-width: 168.2666666667vw;
  }
  .contents .faq__connect {
    margin-top: 0;
  }
  .contents .mainArea__topics {
    display: block;
    width: auto;
    background-color: #fff;
    margin: auto;
    padding: 5.3333333333vw 6.4vw;
  }
  .contents .mainArea__topicsLabel {
    width: auto;
  }
  .contents .mainArea__topicsList {
    width: auto;
    border-left: none;
    border-top: 0.2666666667vw solid #bababa;
    padding-left: 0;
    padding-top: 3.2vw;
    margin-top: 2.1333333333vw;
    font-size: 3.73vw;
  }
  .contents .mainArea__topicsList li {
    margin-bottom: 4.32vw;
  }
  .contents .mainArea__topicsList li:last-child {
    margin-bottom: 0;
  }
  .contents .mainArea__topicsList a {
    text-decoration: underline;
  }
  .contents .mainArea__kv {
    background: none;
    height: auto;
  }
  .contents .mainArea__kvImage img {
    display: block;
  }

}

/*# sourceMappingURL=style_sp.css.map */
