@charset "UTF-8";

a[href^="tel:"] {
  pointer-events: auto;
}

html,
body {
  min-width: 320px;
}

html {
  font-size: 54.5% !important;
}


body {
  -webkit-text-size-adjust: 100%;
}

img {
  max-width: 100%;
}

th {
  border-bottom: none;
}

th,
td {
  display: block;
  width: 100%;
  padding: 8px 16px;
  border-width: 1px;
}

td {
  margin: 0 0 16px;
}

.inner {
  width: 100%;
}

.print-area {
  display: none;
}

.narrow-pop {
  position: absolute;
  top: 0;
  left: 0;
}

.narrow-pop {
  width: 100%;
  padding: 15px;
}

.narrow-pop-channel,
.narrow-pop-genre,
.narrow-pop-area {
  display: block;
  width: 100%;
}

.narrow-pop-genre,
.narrow-pop-area {
  margin-top: 20px;
}

.narrow-pop-channel li,
.narrow-pop-genre li {
  width: 100%;
  letter-spacing: 0;
}

.narrow-pop-btnarea {
  padding: 30px 0 0;
  text-align: center;
}

.narrow-pop-btnarea .btn-02 {
  width: 100%;
  text-align: center;
}

.narrow-pop-btnarea .btn-02 ~ .btn-02 {
  margin-left: 0;
  margin-top: 5px;
}


table + .note {
  margin-top: 0;
}

.file-download a {
  padding-left: 48px;
  background-position: 20px center;
}

.head-03 {
  margin-left: 20px;
  margin-right: 20px;
  font-size: 1.5rem;
}

.detail-title {
  margin: 0;
  padding: 20px 0;
  box-shadow: none;
  border-left: none;
  border-right: none;
  border-radius: 0;
}

.detail-title > h2 {
  font-size: 2.1rem;
  padding: 0 20px;
}

.questionnaire li {
  display: block;
}

.questionnaire .btn-02 {
  display: block;
  width: 100%;
  text-align: left;
}

.questionnaire li:not(:last-child) .btn-02 {
  border-bottom: none;
}

.inner-section {
  width: auto;
  /*	padding:20px 20px 40px;*/
  overflow: hidden;
}

.table-01 th,
.table-01 td {
  display: table-cell;
  width: auto;
}

.scroll_x {
  overflow: auto;
  -webkit-overflow-scrolling: touch
}

.scroll_x table {
  width: auto;
  margin-bottom: 8px;
}

.banner-list {
  margin: 0;
}

.banner-list > li,
.banner-list > li:nth-child(4) ~ li {
  width: 100%;
  margin: 16px 0 0;
}

.banner-list > li:first-child {
  margin-top: 0;
}

.banner-list a {
  display: block;
  cursor: pointer;
}

.banner-list-img {
  text-align: center;
}

.banner-list-text {
  text-align: center;
}

/* tabset */

.tabset-content-wrap {
  padding: 0;
  border-top-width: 1px;
}

.tabset-content {
  padding: 40px 16px;
  border-top: 1px solid #e3e9ef;
}

.tabset-sptitle {
  margin: 0;
  padding: 20px 52px 20px 20px;
  background-size: 22px auto;
  position: relative;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;
}

.tabset-sptitle:not(:first-child) {
  border-top: 1px solid #e3e9ef;
}

.tabset-sptitle.active {
  background-color: #566d81;
  color: #fff;
}

.tabset-sptitle.active:before {
  border-bottom: 6px solid #fff;
  border-top: none;
}

.tabset-sptitle:before {
  content: '';
  border-top: 6px solid #566d81;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  right: 20px;
  top: 50%;
  margin: -3px 0 0;
}

.floating-sns {
  position: relative;
  bottom: auto;
  right: auto;
  padding: 12px 0 8px;
  text-align: center;
  z-index: 0;
}

.floating-sns li {
  display: inline-block;
}

.sns-fb {
  margin-right: 5px;
}

.sns-tw {
  margin-right: 5px;
}

/* hide */

.header {
  display: none;
}

.scroll-header {
  display: none;
}

/* min-header */

.min-header {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  z-index: 100;
  overflow-x: hidden;
  overflow-y: auto;
}

.min-header > div:first-child {
  background: #fff;
}

.min-header-logo {
  padding: 15px 40px 15px 15px;
  max-height: 70px;
}

.min-header-menu {
  width: 17vw;
  background: #004098;
  color: #fff;
  font-size: .9rem;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  transition: all 0.25s ease-out;
}

.min-header-menu:hover {
  /*	background-color: #5498eb;*/
}

.min-header-menu img {
  display: block;
  width: 40%;
  margin: 0 auto 8px;
}

/* min-mnav */

.min-mnav {
  position: absolute;
  display: none;
  padding: 15px 15px 30px;
  background: #004098;
  z-index: 200;
}

.min-mnav > .group:first-child {
  border: 1px #1755a0 solid;
}

.min-mnav > .group:first-child > div a {
  display: block;
  min-height: 88px;
  padding: 18px 0 0;
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1;
}

.min-mnav-home a {
  background: #fff;
  border-right: 1px #1755a0 solid;
  color: #1755a0;
}

.min-mnav-home a:hover,
.min-mnav-home a:active {
  background-color: #e3e9ef;
}

.min-mnav-home a:before {
  content: '';
  display: block;
  width: 35px;
  height: 35px;
  margin: 0 auto 8px;
  background: url(../img/header/min_icon_home.png);
  background-size: 35px;
}

.min-mnav-visitor a {
  background: #fff;
  border-right: 1px #1755a0 solid;
  color: #1755a0;
}

.min-mnav-visitor a:hover,
.min-mnav-visitor a:active {
  background-color: #e3e9ef;
}

.min-mnav-visitor a:before {
  content: '';
  display: block;
  width: 26px;
  height: 35px;
  margin: 0 auto 8px;
  background: url(../img/header/min_icon_visitor.png);
  background-size: 26px 35px;
}

.min-mnav-member a {
  background: #fff;
  color: #1755a0;
}

.min-mnav-member a:hover,
.min-mnav-member a:active {
  background-color: #e3e9ef;
}

.min-mnav-member a:before {
  content: '';
  display: block;
  width: 41px;
  height: 35px;
  margin: 0 auto 8px;
  background: url(../img/header/min_icon_member.png);
  background-size: 41px 35px;
}

.min-mnav-linklist {
  margin: 15px 0;
}

.min-mnav-linklist ul {
  list-style: none;
  border-top: 1px #1755a0 solid;
  font-size: 0;
}

.min-mnav-linklist li {
  display: inline-block;
  width: 50%;
  border: 1px #004098 solid;
  border-width: 0 1px 1px;
}

.min-mnav-linklist li:nth-child(2n) {
  border-width: 0 1px 1px 0;
}

.min-mnav-linklist li a {
  display: block;
  width: 100%;
  padding: 15px;
  background: #1f60b0 url(../img/header/icon_mnav_arw.png) right 15px center no-repeat;
  background-size: 5px 6px;
  font-size: 1.4rem;
  color: #fff;
}

.min-mnav-linklist li a:hover,
.min-mnav-linklist li a:active {
  background-color: #1755a0;
}

.min-mnav .searchbox {
  margin: 15px 0 0;
}

.min-mnav .searchbox .group > div:nth-child(2) {
  width: 40px;
  height: auto;
}

.min-mnav .searchbox-change {
  display: block;
  padding: 5px 0 8px;
  float: none;
}

.min-mnav .searchbox-change label {
  font-size: 1.2rem;
}

.min-mnav .searchbox-change label span {
  padding: 1px 0 0 15px;
}

.min-mnav .searchbox form {
  display: table;
}

.min-mnav .searchbox-text {
  width: 100%;
  height: 40px;
  color: #1755a0;
  border-color: #1755a0 !important;
  border-width: 1px 0 1px 1px;
  border-radius: 0;
  -webkit-appearance: none;
}

.min-mnav .searchbox-submit {
  width: 100%;
  height: 40px;
  border: 1px #1755a0 solid;
  border-width: 1px 1px 1px 0;
  border-radius: 0;
}

.search-block {
  text-align: center;
}

.mypage-pop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: none;
  padding: 15px;
}

.mypage-pop-head {
  padding: 15px 20px;
}

.mypage-pop-head .mypage-cancel {
  top: 14px;
  right: 10px;
  width: auto;
  padding: 7px 12px 7px;
  font-size: 11px;
}

.mypage-pop-title {
  font-size: 19px;
  text-align: left;
}

.mypage-pop-main {
  background: #fff;
  padding: 15px;
}

.mypage-link {
  margin-bottom: -10px;
}

.mypage-link > li {
  width: auto;
  float: none;
  margin: 0 0 10px;
  padding: 15px;
  min-height: auto;
  height: auto !important;
}

.mypage-link-title {
  font-size: 15px;
}

.mypage-link-anchor {
  position: static;
  margin: 10px 0 0;
}

.mypage-link-anchor a {
  font-size: 13px;
  line-height: 1.3;
}

.mypage-link-anchor a::after {
  height: 55px;
}

.min-mnav-btn {
  margin: 12px 0 0;
  border: 1px #1755a0 solid;
}

.min-mnav-btn + .min-mnav-btn:nth-child(6) {
  margin-bottom: 15px;
}

.min-mnav-btn + .min-mnav-btn {
  margin-top: 0px;
  border-top: none;
}

.min-mnav-btn a {
  color: #1755a0;
  font-size: 1.1rem;
}

.min-mnav-btn a:hover,
.min-mnav-btn a:active {
  color: #ed0338;
}

.min-mnav-btn .btn-simulation {
  height: 60px;
  padding: 18px 18px 0 10px;
  border: none;
  border-left: 1px #1755a0 solid;
}

.min-mnav-btn .btn-simulation:before {
  content: '';
  width: 13px;
  height: 15px;
  margin: 5px 8px 0 0;
  background: url(../img/footer/icon_simulation.png);
  background-size: 13px 15px;
}

.min-mnav-btn .btn-pamphlet {
  height: 60px;
  padding: 23px 18px 0 10px;
  border: none;
}

.min-mnav-btn .btn-pamphlet:before {
  content: '';
  width: 13px;
  height: 15px;
  margin: -1px 8px 0 0;
  background: url(../img/footer/icon_pamphlet.png);
  background-size: 13px 15px;
}

.min-mnav-btn .btn-asearch {
  height: 60px;
  padding: 23px 18px 0 10px;
  border: none;
}

.min-mnav-btn .btn-asearch:before {
  content: '';
  width: 13px;
  height: 15px;
  margin: -1px 8px 0 0;
  background: url(../img/footer/icon_asearch.png);
  background-size: 13px 15px;
}

.min-mnav-btn .btn-selection {
  height: 60px;
  padding: 23px 18px 0 10px;
  border: none;
  border-left: 1px #1755a0 solid;
}

.min-mnav-btn .btn-selection:before {
  content: '';
  width: 13px;
  height: 15px;
  margin: -1px 8px 0 0;
  background: url(../img/footer/icon_selection.png);
  background-size: 13px 15px;
}

.min-mnav-btn .btn-mypage {
  height: 60px;
  padding: 23px 18px 0 10px;
  border: none;
}

.min-mnav-btn .btn-mypage:before {
  content: '';
  width: 18px;
  height: 17px;
  margin: -1px 5px 0 -2px;
  background: url(../img/footer/icon_mypage.png);
  background-size: 18px 17px;
}

.min-mnav-btn .btn-shop {
  height: 60px;
  padding: 23px 18px 0 10px;
  border: none;
  border-left: 1px #1755a0 solid;
}

.min-mnav-btn .btn-shop:before {
  content: '';
  width: 18px;
  height: 17px;
  margin: -1px 8px 0 -3px;
  background: url(../img/footer/icon_shop.png);
  background-size: 18px 17px;
}

.min-mnav-tel .group > * {
  text-align: left;
}

.min-mnav-tel > div:nth-child(1) {
  padding: 18px;
  background: #1f60b0;
  border: 1px #1755a0 solid;
  text-align: center;
}

.min-mnav-tel > div {
  padding: 20px 0 15px;
  border-bottom: 1px #1755a0 solid;
  color: #fff;
  vertical-align: top;
  font-size: 1.1rem;
}

.min-mnav-tel .group > div:first-child {
  width: 95px;
  font-weight: bold;
  background: url(../img/header/min_border_dashed.png) right top no-repeat;
}

.min-mnav-tel .group > div:last-child {
  padding: 0 0 0 15px;
}

.min-mnav-tel ul {
  list-style: none;
  line-height: 1;
}

.min-mnav-tel li {
  display: inline-block;
  min-width: 120px;
  margin: 0 0 8px;
}

.min-mnav-sitelink {
  margin-bottom: 15px;
}

.min-mnav-sitelink ul {
  width: 100%;
  list-style: none;
  border-top: 1px #1755a0 solid;
}

.min-mnav-sitelink ul:after {
  content: '';
  display: block;
  clear: both;
}

.min-mnav-sitelink li {
  display: table;
  width: 33.3%;
  height: 55px;
  border-width: 0;
  float: left;
}

.min-mnav-sitelink li a {
  display: table-cell;
  width: 100%;
  height: 100%;
  padding: 10px 18px;
  background: #fff url(../img/footer/icon_btn_arw.png) right 14px center no-repeat;
  background-size: 5px 6px;
  border: 1px #004098 solid;
  border-width: 0 0 0 1px;
  color: #1755a0;
  font-weight: bold;
  font-size: 1.1rem;
  text-align: left;
  line-height: 1.3;
  vertical-align: middle;
}

/* category-menu */

.category-menu {
  position: relative;
  display: block;
  z-index: 80;
  background: #fff;
}

.category-menu-title {
  padding: 12px 15px;
  background: #f9fbfc;
  color: #004098;
  background: #fff url(../img/header/icon_cmenu_arw_title_off.png) right 20px center no-repeat;
  background-size: 12px 6px;
  border-top: 1px #e3e9ef solid;
  font-size: 13px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.25s ease-out;
}

.category-menu-title:hover {
  /*	background-color: #e3e9ef;*/
}

.category-menu-title-on {
  background-color: #f9fbfc !important;
  background-image: url(../img/header/icon_cmenu_arw_title_on.png) !important;
}

.category-menu-body {
  position: absolute;
  display: none;
  width: 100%;
  background: #fff;
  border-top: 1px #e3e9ef solid;
  z-index: 100;
}

.category-menu-body li a {
  display: block;
  padding: 15px;
  background: url(../img/header/icon_cmenu_arw.png) right 15px center no-repeat;
  background-size: 5px 6px;
  border-bottom: 1px #e3e9ef solid;
  font-weight: bold;
}

.category-menu-body li a:hover,
.category-menu-body li a:active {
  background-color: #e3e9ef;
  color: #004098;
}

.category-menu-body li a span {
  font-size: 12px;
}

.category-menu-tv {
  color: #e86aa0;
  background-image: url(../img/header/icon_cmenu_arw_tv.png) !important;
}

.category-menu-tv:hover,
.category-menu-tv:active {
  color: #e86aa0 !important;
}

.category-menu-tv:before {
  content: '';
  display: inline-block;
  width: 50px;
  height: 50px;
  margin: 0 15px 0 0;
  background: url(../img/header/icon_cmenu_tv.png);
  background-size: 50px 50px;
  vertical-align: middle;
}

.category-menu-net {
  color: #10a8e1;
  background-image: url(../img/header/icon_cmenu_arw_net.png) !important;
}

.category-menu-net:hover,
.category-menu-net:active {
  color: #10a8e1 !important;
}

.category-menu-net:before {
  content: '';
  display: inline-block;
  width: 50px;
  height: 50px;
  margin: 0 15px 0 0;
  background: url(../img/header/icon_cmenu_net.png);
  background-size: 50px 50px;
  vertical-align: middle;
}

.category-menu-tel {
  color: #a5c600;
  background-image: url(../img/header/icon_cmenu_arw_tel.png) !important;
}

.category-menu-tel:hover,
.category-menu-tel:active {
  color: #a5c600 !important;
}

.category-menu-tel:before {
  content: '';
  display: inline-block;
  width: 50px;
  height: 50px;
  margin: 0 15px 0 0;
  background: url(../img/header/icon_cmenu_tel.png);
  background-size: 50px 50px;
  vertical-align: middle;
}

/* alert */

.alert-title {
  padding: 15px;
  text-align: center;
}

.alert-text {
  display: block;
  padding: 0.8em 40px 0.8em 0.8em;
  font-size: 1.6rem;
  line-height: 1.4;
}

.alert-text time {
  display: inline;
  font-size: 1.4rem;
}

.alert-close {
  right: 8px;
}

/* topicpath */

.topicpath {
  display: none;
}

.pagetitle {
  padding: 15px 20px;
  border-top: 1px #e3e9ef solid;
  font-size: 2.1rem;
}

.pagetitle p {
  font-size: 1.4rem;
  line-height: 1.4;
}

.pagetitle h1 + p {
  margin-top: 3px;
}

.pagetitle + * {
  margin-top: 16px;
}

/* col2 */

.col2 {
  padding: 16px 0;
}

.col2 > div {
  display: block;
}

.col2 .content-inner {
  width: 100%;
  padding: 0 0 40px;
}

.col2 .campaign-slider {
  width: 100%;
}

/* sidenav */

.col2 > .sidenav {
  display: none;
  width: 100%;
  padding: 30px 20px 0;
}

/* footer */

.footer {
  margin-top: 16px;
  padding: 0;
}

.footer .inner {
  padding: 30px;
}

.footer-lead {
  padding: 0 0 10px;
  text-align: left;
  font-size: 1.3rem;
}

.footer-support .footer-lead {
    font-size: 1.6rem;
}

.footer-lead:before {
  float: left;
}

.footer-lead + .group {
  display: block;
}

.footer-lead + .group > * {
  display: block;
}

.footer-tel {
  width: 100%;
  padding: 0 0 20px;
}

.footer-tel-head {
  display: none;
}

.footer-tel-body {
  padding-bottom: 15px;
  border-bottom: 1px #e3e9ef solid;
}

.footer-tel-head + .footer-tel-body {
  padding-bottom: 0;
  border-bottom: none;
}

.footer-tel-head + .footer-tel-body div:first-child {
  display: none;
}

.footer-tel-head + .footer-tel-body div:last-child {
  padding: 18px;
  background: #f2f5f7;
  border: 1px #e3e9ef solid;
  text-align: center;
}

.footer-tel-body > div:first-child {
  width: 85px;
}

.footer-tel-body > div:last-child {
  padding: 0 0 0 15px;
}

.footer-net-head {
  display: none;
}

.footer-net-head + .group {
  display: block;
}

.footer-net-head + .group > * {
  display: block;
}

.footer-net-body > div:first-child {
  width: 100%;
  display: table;
  table-layout: fixed;
  padding: 0;
}

.footer-net-body > div:first-child > div {
  display: table-cell;
  vertical-align: top;
}

.footer-btn {
  width: 100%;
  display: block;
}

.footer-btn a {
  width: 100%;
  font-size: 1.1rem;
}

.footer-btn .btn-simulation {
  padding: 18px 18px 0 10px;
}

.footer-btn .btn-simulation:before {
  content: '';
  width: 13px;
  height: 15px;
  margin: 5px 8px 0 0;
  background: url(../img/footer/icon_simulation.png);
  background-size: 13px 15px;
}

.footer-btn .btn-pamphlet {
  padding: 25px 18px 0 10px;
  border-top-color: #e3e9ef;
  border-left-color: #fff;
}

.footer-btn .btn-pamphlet:hover {
  border-left-color: #004098;
}

.footer-btn .btn-pamphlet:before {
  content: '';
  width: 13px;
  height: 15px;
  margin: -1px 8px 0 0;
  background: url(../img/footer/icon_pamphlet.png);
  background-size: 13px 15px;
}

.footer-net .group .footer-btn + div:last-child {
  display: none;
}

.footer-net p:first-child {
  display: none;
}

.footer-net-body > div:last-child {
  padding: 0;
}

.footer-myid {
  font-size: 11px;
}
.footer-myid-title {
  font-size: 1.2em;
}
.footer-myid-title small {
  display: block;
}

.banner {
  padding: 15px 45px;
  overflow: hidden;
}

.banner li:not(:last-child) {
  margin: 0;
}

.banner .slick-dots {
  position: static;
  padding: 10px 30px 0;
}

.banner .slick-dots li {
  margin: 0 7px;
  vertical-align: middle;
}

.banner .slick-dots li button {
  border: none;
  display: block;
  height: 12px;
  background: #ccc;
}

.banner .slick-dots li.slick-active button {
  background-color: #f4e829;
}

.address {
  border-bottom: none;
}

.address .group > * {
  display: block;
  width: 100%;
  text-align: center;
}

.address-logo {
  padding: 30px 0 20px;
}

.address-logo img {
  width: 70%;
}

.address-text {
  padding: 0 10px 20px;
  font-size: 1.3rem;
}

.address-text span {
  display: none;
}

.address-copyrights {
  padding: 10px;
}

.address-sitemap {
  background: #3476c5;
}

.address-sitemap a {
  padding: 15px 0;
  color: #fff;
  background: #004098;
  font-size: 1.3rem;
}

.address-sitemap a:hover {
  background: #002a80;
}

.address-sitemap a:after {
  content: '';
  display: inline-block;
  width: 9px;
  height: 12px;
  background: url(../img/footer/address_sitemap_arw2.png) center bottom no-repeat;
  background-size: 9px 6px;
}

.sitemap-block {
  background: #fff;
}

.sitemap-block a {
  color: #004098;
}

.sitemap-block .group {
  padding: 0;
  table-layout: auto;
}

.sitemap-block .group > * {
  text-align: center;
}

.sitemap-block-title {
  padding: 0;
  font-size: 12px;
  font-weight: normal;
}

.sitemap-block-title a {
  display: block;
  padding: 10px;
  border-bottom: 1px #e3e9ef solid;
  font-size: 1.3rem;
}

.sitemap-block ul {
  display: none;
}

.sitemap-block-title + .sitemap-block-title {
  margin-top: 0;
}


/* floating-banner */

.floating-banner {
  z-index: 996;
}

.floating-banner-btn {
  width: auto;
  bottom: 100%;
  left: 15px;
  right: 244px;
  padding: 22px 5px;
  border-radius: 8px 8px 0 0;
}

.floating-banner-close {
  width: 100%;
  margin: 10px 0 0;
  font-size: 1.1rem;
  position: relative;
  right: -25px;
}

.floating-banner-close:before {
  margin: 0 5px 0 0;
  font-size: 24px;
}


.floating-banner-title {
  width: 100%;
  padding: 0px 0 15px;
  font-size: 1.75rem;
}

.floating-banner {
  display: none;
  min-width: 100%;
  padding: 0 40px 20px 40px;
  top: 100%;
  bottom: auto;
  border-radius: 0;
  transform: translate3d(0, 0, 0);
}

/* pagetop */
.pagetop {
  right: 10px;
  padding: 6px 0;
}


/* -----------------------------------------------
	home
-------------------------------------------------- */
/* topvisual */
.topvisual {
  padding: 20px 20px 10px;
}

.visual-main {
  display: none;
}

.visual-main-sp {
  display: block;
}

.visual-main-sp .slick-dots {
  position: static;
  padding: 5px 30px 9px;
  background: rgba(0, 0, 0, 0.15);
}

.visual-main-sp .slick-dots li {
  margin: 0 7px;
  vertical-align: middle;
}

.visual-main-sp .slick-dots li button {
  border: none;
  display: block;
  height: 12px;
}

.visual-main-sp .slick-dots li.slick-active button {
  background-color: #f4e829;
}

.visual-main-sp .slick-prev,
.visual-main-sp .slick-next {
  top: initial;
  bottom: 0;
  width: 30px;
  height: 30px;
  border-radius: 0px;
  background: #f4e829;
}

.visual-main-sp .slick-prev {
  left: 0;
}

.visual-main-sp .slick-next {
  right: 0;
}

.visual-main-sp .slick-prev:before,
.visual-main-sp .slick-next:before {
  left: 13px;
}

.visual-main-sp .slick-prev:before {
  border-right-color: #004098;
}


.visual-main-sp .slick-next:before {
  border-left-color: #004098;
}

.visual-menu {
  width: auto;
  float: none;
  padding: 19px 0 0;
}

.visual-menu ul {
  margin: 0 0 0 -3px;
}

.visual-menu li {
  padding: 0 0 10px 3px;
  margin: 0;
}

.visual-menu li:not(.visual-menu-guide) {
  width: 50%;
  box-sizing: border-box;
  padding-bottom: 3px;
}

.visual-menu a {
  font-size: 14px;
  padding: 20px 15px;
  border-radius: 0px;
}


.visual-menu li:not(.visual-menu-guide) a {
  position: relative;
  text-align: left;
  min-height: 64px;
  padding: 20px 25px 20px 40px;
  font-size: 1.3rem;
  line-height: 1;
}

.visual-menu li:not(.visual-menu-guide) a:before {
  position: absolute;
  top: 20px;
  left: 10px;
}

.visual-menu li:not(.visual-menu-guide) a:after {
  right: 10px;
}

.visual-menu-guide > a {
  text-align: left;
  padding: 34px 15px;
  height: auto;
  background-size: 27% auto;
  background-position: 96% 10px;
}

.visual-menu-main {
  font-size: 1.6rem;
  margin: 0;
}

.visual-menu-main:after {
  content: none;
}

.visual-menu-mini {
  font-size: 1.1rem;
}

.visual-menu-application a:before {
  margin-right: 6px;
}

/* content-menu */
.content-inner {
  width: auto;
  padding: 20px 20px 40px;
  overflow: hidden;
}

.main-menu,
.side-program {
  width: auto;
  float: none;
}

.content-menu {
  background-image: url(../img/bg_gradation_blue_sp.jpg);
  background-size: 100px auto;
}

.customer-menu > li {
  display: block;
}

.customer-menu > li:not(:first-child) {
  border-left: none;
  border-top: 1px solid #d6e3e8;
}

.customer-menu > li a {
  padding: 15px 25px 15px 20px;
}

.customer-menu > li a:before {
  right: 15px;
}

.customer-menu-text {
  margin-bottom: 10px;
  font-size: 1.6rem;
  line-height: 1.3;
  min-height: 28px;
}

.customer-menu-text > span {
  font-size: 12px;
  padding: 3px 0 0;
  margin-bottom: 10px;
}

.customer-menu-new .customer-menu-text {
  background-size: 18px auto;
  padding-left: 34px;
}

.customer-menu-already .customer-menu-text {
  background-size: 27px auto;
  padding-left: 34px;
}

.customer-menu-note {
  font-size: 1.3rem;
}

.hikari-menu {
  margin: 0;
}

.hikari-menu > li {
  float: none;
  width: auto;
  margin: 0 0 10px;
}

.hikari-menu > li:not(.hikari-menu-pack) {
  margin: 0 5px 8px 0;
  width: calc(100% / 2 - 5px);
  font-size: 16px;
}

.hikari-menu-tv a:after {
  content: 'テレビ';
  font-size: 1.6rem;
}

.hikari-menu-net a:after {
  content: 'ネット';
  font-size: 1.6rem;
}

.hikari-menu-tel a:after {
  content: 'デンワ';
  font-size: 1.6rem;
}

.hikari-menu-cable a:after {
  content: 'ケーブルスマホ';
  font-size: 1.6rem;
}

.hikari-menu :not(.hikari-menu-pack) a {
  width: 100%;
  padding: 18px 0 16px;
}

.hikari-menu :not(.hikari-menu-pack) a:before {
  width: 40px;
  margin: 0 auto 8px;
  background-size: contain;
}

.hikari-menu-text {
  display: none;
  font-size: 1.2rem;
}

.hikari-menu-text > span {
  font-size: 1.75rem;
}

.hikari-menu-text > span:after,
.hikari-menu-pack a:after {
  position: absolute;
  right: 10px;
  top: 50%;
  margin: -3px 0 0;
}

.hikari-menu-note {
  display: none;
  font-size: 1.3rem;
}

.hikari-menu-pack a {
  padding: 13px 20px 13px 20px;
}

.pack-logo,
.hikari-menu-description {
  display: block;
}

.pack-logo {
  padding: 0 50px 10px;
}

.hikari-menu-description {
  font-size: 1.2rem;
  text-align: center;
}

.program-pickup-title {
  font-size: 15px;
}

.onair-list > li a {
  font-size: 1.2rem;
}

/* serviceguide */
.section-title {
  font-size: 1.75rem;
  margin: 0 0 20px;
}

.serviceguide-list {
  width: 90%;
  margin: 0 auto 25px;
}

.serviceguide-list li {
  width: auto;
  margin: 0;
}

.serviceguide-list-img,
.serviceguide-list-text {
  vertical-align: middle;
}

.serviceguide-list-img {
  width: 40%;
}

.serviceguide-list-num {
  font-size: 10px;
  border-bottom: none;
  padding: 10px 10px 5px 20px;
}

.serviceguide-list-link {
  padding: 0 10px 10px 20px;
  font-size: 12px;
  line-height: 1.5;
}

.serviceguide-list-link:before {
  content: none;
}

.alllist-link {
  font-size: 1.2rem;
}

.serviceguide-alllist {
  display: none;
}

.content .slick-prev,
.topcontent .slick-prev {
  left: -25px;
}

.content .slick-next,
.topcontent .slick-next {
  right: -25px;
}

/* topinfo */
.topinfo {
  padding: 20px 20px 0;
  border-top: 1px solid #e3e9ef;
  margin: 0 -20px;
}

.news-block,
.maintenance-block {
  float: none;
  width: auto;
  /*	margin:0 -20px;*/
  margin: 0;
  border-top: 1px solid #e3e9ef;
}

.maintenance-block {
  border-bottom: 1px solid #e3e9ef;
}

.news-tab,
.tab-content-wrap {
  display: none;
}

.topinfo-title {
  padding-right: 40px;
  margin: 0;
  position: relative;
  font-size: 1.5rem;
  cursor: pointer;
}

.topinfo-title:before {
  content: '';
  border-top: 6px solid #566d81;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  right: 20px;
  top: 50%;
  margin: -3px 0 0;
}

.topinfo-title.active {
  background-color: #566d81;
  color: #fff;
}

.topinfo-title.active:before {
  border-bottom: 6px solid #fff;
  border-top: none;
}

.news-block .topinfo-title.active {
  background-image: url(../img/icon_info_white.png);
}

.maintenance-block .topinfo-title.active {
  background-image: url(../img/icon_maintenance_white.png);
}

.topinfo-alllist {
  position: static;
  display: block;
  text-align: center;
  font-size: 1.4rem;
  border: none;
  background: none;
}

.topinfo-alllist:before {
  position: static;
  border: none;
  background: url(../img/icon_list.png) 50% 50% no-repeat;
  background-size: 14px;
  width: 14px;
  height: 14px;
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 0 0;
}

.news-list {
  border-right: none;
  border-left: none;
  margin: 0;
}

.news-list > li {
  padding: 20px;
}

.news-list > li:before {
  content: none;
}

.news-list-icon {
  display: table;
  padding: 0 0 10px;
  border-right: none;
  width: 100%;
  table-layout: fixed;
}

.news-list-icon > span {
  display: table-cell;
  border-radius: 0px;
  font-size: 1.2rem;
  padding: 4px;
}

.news-list-date {
  font-size: 1.2rem;
}

.maintenance-block .news-list-icon > span {
  background: #fc5e5e;
}

.news-icon-cate {
  display: table-cell;
  text-align: center;
  font-size: 11px;
}

.tab-maintenance .news-list-icon .news-icon-cate {
  border: 1px solid #fc5e5e;
  padding: 3px;
  color: #fc5e5e;
  border-left: none;
  background: #fff;
}

.tab-failure .news-list-icon > span {
  background: #868f97;
}

.tab-failure .news-list-icon > span.news-icon-cate {
  border: 1px solid #868f97;
  padding: 3px;
  background: #fff;
  color: #868f97;
  border-left: none;
}

.news-list-text {
  display: block;
  padding: 0;
}

.maintenance-block .tab-content {
  display: block !important;
}

/* featured */
.featured-channel {
  margin: 0;
}

.featured-channel > li {
  float: none;
  width: auto;
  margin: 0;
}

.featured-channel-title {
  margin: 0 0 20px;
  background: #fff;
  font-size: 14px;
  color: #004098;
  padding: 22px 40px 22px 20px;
  font-weight: bold;
  cursor: pointer;
  position: relative;
}

.featured-channel-title:before {
  content: '';
  border-top: 6px solid #004098;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  right: 20px;
  top: 50%;
  margin: -3px 0 0;
}

.featured-channel-title.active:before {
  border-top: none;
  border-bottom: 6px solid #004098;
}

.featured-block {
  display: none;
  margin: 0 0 35px;
}

.tvschedule-block {
  display: block;
  position: relative;
  padding: 4em 20px 15px;
}

.tvschedule-block-link,
.tvschedule-block-note {
  display: block;
}

.tvschedule-block-link {
  width: auto;
  border-radius: 0px;
  margin: 0 0 15px;
  padding: 20px 38px 20px 20px;
  background: url(../img/icon_newwin.png) 96% 50% no-repeat #fff;
  background-size: 21px auto;
}

.tvschedule-block-title {
  font-size: 14px;
  padding-left: 35px;
}

.tvschedule-block-text {
  position: absolute;
  border-left: none;
  top: 1.5em;
  padding: 0;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 12px;
  background: none;
  border-left: none !important;
}

.tvschedule-block-note {
  font-size: 11px;
}

/* campaign-slider */
.campaign-slider {
  width: 90%;
}

.campaign-slider-text {
  display: block;
  width: 100%;
  height: 60px;
  font-size: 1.2rem;
  padding: 10px;
}

.campaign-slider-text:before {
  content: none;
}

.campaign-alllist {
  display: none;
}

/* btm-banner */
.btm-banner {
  padding: 0;
}

.btm-banner .inner {
  padding: 15px 37px;
}

.btm-banner .slick-prev {
  left: -17px;
}

.btm-banner .slick-next {
  right: -17px;
}

.banner-slider {
  width: 100%;
}

.banner-slider .slick-dots {
  position: static;
  padding: 10px 30px 0;
}

.banner-slider .slick-dots li {
  margin: 0 7px;
  vertical-align: middle;
}

.banner-slider .slick-dots li button {
  border: none;
  display: block;
  height: 12px;
  background: #ccc;
}

.banner-slider .slick-dots li.slick-active button {
  background-color: #f4e829;
}

/* -----------------------------------------------
	ひまわり丸わかりガイド
-------------------------------------------------- */
.content {
  font-size: 14px;
}

.content p {
  line-height: 1.8;
  letter-spacing: normal;
}

.ribbon-title {
  font-size: 20px;
  padding-left: 32px;
  margin-bottom: 40px;
}

.ribbon-title:before {
  width: 13px;
}

.ribbon-title:after {
  bottom: -20px;
}

.ribbon-title-mini {
  font-size: 1.3rem;
}

.guide-head .content-inner {
  padding-bottom: 20px;
}

.guide-head-text,
.guide-head-img {
  width: auto;
  float: none;
  margin: 0;
}

.guide-head-text {
  margin-bottom: 12px;
}

.guide-head-img {
  display: table-cell;
  width: 100%;
}

.guide-head-inner {
  padding: 0;
  font-size: 1.4rem;
}

.guide-head-inner > p {
  margin-bottom: 0;
}

.guide-movie-img {
  display: table-cell;
  vertical-align: middle;
  width: 63%;
}

.guide-character-img {
  display: table-cell;
  vertical-align: middle;
  position: static;
  padding: 0 10px 0 18px;
}

.guide-character-name {
  display: none;
}

/* guide-summary */
.guide-summary .content-inner {
  padding-bottom: 20px;
}

.guide-summary-img {
  width: 48%;
  margin: 0 0 15px 15px;
}

.guide-summary-text {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.8;
}

/* guide-service */
.sp-display {
  display: inline !important;
}

.pc-display {
  display: none !important;
}

.guide-service-block {
  margin: 0 -20px;
  padding: 25px 20px;
  border-top: 1px solid #e3e9ef;
}

.guide-service-block:last-child {
  padding-bottom: 0;
}

.guide-service-text,
.guide-service-block:nth-child(2n+1) .guide-service-text {
  float: none;
  width: auto;
  margin: 0 0 25px;
}

.guide-service-img,
.guide-service-block:nth-child(2n+1) .guide-service-img {
  float: none;
  margin: 0;
}

.guide-service-inner {
  font-size: 1.4rem;
  line-height: 1.8;
}

.guide-service-title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.guide-service-num {
  margin-bottom: 10px;
  height: 10.5px;
}

/* guide-support */
.guide-support-column {
  margin: 0;
}

.guide-support-column > div {
  width: auto;
  float: none;
  margin: 0 0 20px;
}

.guide-support-column > div:last-child {
  margin-bottom: 0;
}

.guide-support-title {
  font-size: 1.4rem;
  width: auto;
  padding: 30px 20px;
  height: auto;
  display: block;
}

.guide-support-text {
  padding: 20px;
  font-size: 1.2rem;
}

.guide-support-text > p {
  margin-bottom: 0;
}

/* content-foot */
.content-foot {
  margin: 0 0 40px;
  padding: 40px 30px;
}

.content-foot-logo {
  display: none;
}

.content-foot-text {
  padding: 0 125px 0 0;
  font-size: 1.3rem;
  background-position: 100% 50%;
  background-size: 110px auto;
  height: 140px;
}

/* -----------------------------------------------
	選べるガイド
-------------------------------------------------- */
/* selection-head */
.selection-head .ribbon-title {
  margin-right: 0;
}

.selection-head-inner {
  padding: 0;
}

.selection-head-img {
  position: static;
  padding: 10px 0 0;
  display: block;
  width: 80%;
  margin: 0 auto !important;
}

.normal-title {
  font-size: 17px;
  margin-bottom: 10px;
}

/* selection-reason */
.selection-reason-block {
  margin-bottom: 30px;
}

.selection-reason-title {
  width: auto;
  border-radius: 0px;
  font-size: 1.4rem;
  margin-bottom: 20px;
}

.selection-reason-4clm > div,
.selection-reason-4clm > div:first-child {
  border-left: none;
  border-right: none;
  width: auto;
  float: none;
  padding: 20px 0;
  text-align: left;
  overflow: hidden;
  border-bottom: 1px solid #e3e9ef;
}

.selection-reason-4clm > div:first-child {
  padding-top: 0;
}

.reason-4clm-img {
  float: left;
  width: 110px;
}

.reason-4clm-img ~ * {
  margin-left: 120px;
}

.selection-reason-4clm > div > p {
  font-size: 1.3rem;
}

.reason-title-mini {
  margin-top: 10px;
  margin-bottom: 5px;
  font-size: 1.6rem;
}

.selection-reason-2clm > p,
.selection-reason-2clm > .reason-title-mini {
  width: auto;
  float: none;
}

.selection-reason-2clm .reason-title-mini {
  text-align: center;
  margin-bottom: 10px;
}

.reason-2clm-img {
  width: 50%;
  margin: 0 0 15px 15px;
}

/* selection-flow */
.selection-flow-block {
  padding-top: 50px;
}

.selection-flow-block:before {
  border-top-width: 20px;
  border-left-width: 22px;
  border-right-width: 22px;
  top: 14px;
  left: 50%;
  margin-left: -22px;
}

.selection-flow-block:last-child .flow-block-main:after {
  content: none;
}

.flow-block-main-sidenone {
  padding-right: 0;
}

.flow-block-title {
  width: 30px;
  padding: 8px;
}

.flow-block-title > img {
  width: 14px;
}

.flow-block-right > *,
.flow-block-right > div > * {
  display: block;
}

.flow-block-right > div > * {
  padding: 0 0 0 20px;
  font-size: 1.3rem;
}

.flow-step {
  margin-bottom: 15px;
}

.flow-step-title {
  font-weight: bold;
  font-size: 1.6rem;
  padding: 18px 0 16px 32px;
  margin-bottom: 15px;
}

.flow-step-num {
  width: 23px;
  margin-top: -11px;
}

.flow-point {
  padding: 22px;
  margin: 0 0 15px;
}

.flow-block-side {
  width: auto;
}

/* selection-service */
.selection-service-head {
  display: none;
}

.selection-service-block {
  width: auto;
  margin: 0 -20px;
  padding: 30px 0;
  display: block;
  border-top: 1px solid #e3e9ef;
  border-bottom: none;
}

.selection-service-block > div,
.selection-service-block > div:first-child {
  display: block;
  border-left: none;
  border-right: none;
  padding: 0 20px 20px;
}

.selection-service-block:last-child,
.selection-service-block > div:last-child {
  padding-bottom: 0;
}

.service-structure,
.service-course {
  width: auto;
}

.selection-service-block > .service-structure {
  padding: 30px 0 20px;
}

.service-course-list > li {
  margin-bottom: 10px;
}

.service-course-list > li a {
  width: 55%;
}

.service-course-list > li img {
  width: 100%;
}

.selection-service-title {
  display: block;
}

/* selection-budget */
.selection-budget-title {
  font-size: 1.75rem;
  padding: 10px 0;
  margin: 0 0 20px;
}

.selection-budget-title:before {
  width: 33px;
  height: 33px;
}

.selection-budget .content-inner {
  width: auto;
}

.selection-budget-block {
  padding: 0;
  margin: 0;
}

.selection-budget-block:before {
  left: 50%;
  top: 232px;
  margin: 0 0 0 -23px;
}

.budget-block-title {
  position: static;
}

.balloon-title {
  font-size: 1.6rem;
  margin: 25px 0 10px;
}

.selection-budget-block > div {
  float: none;
}

.selection-budget-initial,
.selection-budget-monthly {
  width: auto;
  margin: 0 0 20px;
}

.selection-budget-initial {
  height: 157px;
}

.budget-cost {
  display: block;
  text-align: center;
  height: auto;
  padding: 0 0 40px;
  line-height: 1;
}

.budget-cost-num {
  font-size: 5.5rem;
}

.budget-table {
  font-size: 1.3rem;
  margin: 25px 0 0;
}

.budget-table th,
.budget-table td {
  display: block;
  width: auto;
  text-align: left;
  padding: 8px 10px;
}

.budget-table td {
  text-align: right;
  border-left: none;
}

.budget-table tr:first-child th,
.budget-table tr:first-child td {
  border-top: 1px solid #e3e9ef;
}

.budget-table-num {
  font-size: 2.4rem;
}

.selection-budget-note {
  font-size: 1.3rem;
  padding: 25px 10px;
}

/* -----------------------------------------------
	サポート
-------------------------------------------------- */

/* support-head */
.support-head .section-title {
  margin: 0 -20px 20px;
  padding: 0 20px 20px;
  border-bottom: 1px solid #e3e9ef;
}

.support-menu {
  margin: 0 0 40px;
}

.support-menu:last-child {
  margin-bottom: -20px;
}

.support-menu > li {
  width: auto;
  float: none;
  height: auto !important;
  margin: 0 0 20px;
}

.support-menu-link {
  padding: 20px;
}

.support-menu-text {
  font-size: 1.6rem;
  position: relative;
  padding: 18px 15px 18px 75px;
}

.support-menu-text:after {
  right: 0;
}

.support-menu-text:before,
.support-menu-faq .support-menu-text:before,
.support-menu-how .support-menu-text:before {
  width: 60px;
  height: 60px;
  background-size: 60px auto;
  left: 0;
  margin-top: -30px;
}

.support-menu-note {
  font-size: 1.2rem;
}

.support-menu-sub-text {
  font-size: 1.4rem;
}

.support-menu-sub-note {
  font-size: 1.4rem;
}

/* faq-section */
.faq-section {
  border-top: none;
}

.faq-section .content-inner {
  padding-top: 0;
  padding-bottom: 40px;
}

.faq-section .section-title {
  margin: 0 -20px 20px;
  padding: 0 20px 20px;
  border-bottom: 1px solid #e3e9ef;
}

.faq-title-icon {
  font-size: 1.1rem;
  padding: 7px 15px;
}

.faq-main,
.faq-side {
  width: auto;
  float: none;
}

.faq-main {
  margin: 0 0 20px;
}

.faq-list {
  border-radius: 2px 2px 0 0;
}

.faq-list > li:before {
  min-width: 65px;
  width: 65px;
  font-size: 2.8rem;
  padding: 28px 0px;
}

.faq-list > li > a {
  padding: 15px 30px 15px 20px;
}

.faq-list > li > a:before {
  right: 15px;
}

.faq-list > li:nth-child(3) {
  border-width: 1px;
}

.faq-list > li:nth-child(4) {
  margin-top: -1px;
}

.faq-list > li:nth-child(3) ~ li {
  display: none;
}

.faq-list-text {
  font-size: 1.3rem;
}

.faq-list-tag {
  font-size: 1.0rem;
}

.faq-number,
.faq-list-number {
  font-size: 1.3rem;
}

.faq-list-more {
  display: block;
  font-size: 1.2rem;
}

.faq-section .faq-list {
  margin-bottom: 0;
}

.faq-sctitle .wae-section-title {
  margin-bottom: 60px;
}

.faq-sctitle .wae-section-title.wae-section-boder {
  margin-bottom: 66px;
}

.faq-sctitle.section-title {
  margin-bottom: 59px;
}

.faq-alllist {
  position: absolute;
  right: 0;
  bottom: -51px;
}

.faq-section .section-title .faq-alllist {
  right: 20px;
}

.wae-section-boder .faq-alllist {
  bottom: -57px;
}

.faq-sctitle.section-title .faq-alllist {
  bottom: -52px;
}

.faq-detail-page .detail-title-meta {
  padding: 0 20px;
}

.faq-detail-page .detail-title > h2 {
  padding: 5px 18px 5px 64px;
  background-position: 18px 3px;
}

.faq-detail-page .wae-section {
  padding: 0 19px 0 64px;
}

.faq-detail-page .detail-title + .print-area + .wae-section {
  margin-top: 16px;
  background-position: 19px 9px;
}

/* contact-block */
.contact-block-title {
  font-size: 1.6rem;
}

.contact-inner-title {
  margin: 0 0 15px;
  padding: .3em;
  font-size: 1.4rem;
}

.contact-info {
  padding: 15px 0;
  margin: 0;
  border-bottom: 1px solid #e3e9ef;
}

.contact-info > dt,
.contact-info > dd {
  font-size: 1.0rem;
}

.contact-info > dt {
  width: 8.5em;
}

.contact-info > dd {
  padding: 0 0 0 15px;
}

.contact-info > dd li {
  margin-bottom: 0;
}

.contact-tel {
  display: none;
}

.contact-inner .contact-tel-sp {
  display: block;
}

/*
.contact-inner-list > li{
	width:50%;
}
*/

.contact-inner-list > li a {
  border-radius: 0px;
}

.contact-sc {
  margin-bottom: 70px;
}

.contact-sc .contact-inner {
  display: block;
  width: 100%;
}

.contact-sc .contact-inner + .contact-inner {
  width: 100%;
  padding: 0 20px 20px;
}

.contact-section .contact-inner {
  display: block;
  width: 100%;
}

.contact-section .contact-inner + .contact-inner {
  width: 100%;
  padding: 0 20px 20px;
}

.contact-section .contact-tel {
  display: block;
  padding-top: 0
}

.contact-section .contact-tel dt {
  display: none;
}

.contact-section .contact-tel dd {
  display: block;
  padding-left: 0;
  border-left: none;
  text-align: center;
  font-size: 3.6rem;
}

/* shop-info */
.shop-info {
  /*	border-bottom: 1px solid #e3e9ef;*/
}

.shop-info-title {
  display: block;
  width: auto;
  font-size: 1.75rem;
  text-align: center;
  margin: 0 0 30px;
}

.shop-info-title:before {
  margin: 0 10px 0 0;
}

.shop-info-inner {
  display: block;
  padding: 0;
  font-size: 1.2rem;
  border-left: none;
}

.shop-info-btn {
  font-size: 1.4rem;
  border-radius: 0px;
  margin: 0 0 15px;
}

/* -----------------------------------------------
	コミュチャン
-------------------------------------------------- */
.pagetitle .sp-display + span {
  margin-left: 0;
}

.pagetitle-channel {
  font-size: 1.0rem;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.pagetitle-channel-1 {
  font-size: 1.0rem;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.pagetitle-channel-2 {
  font-size: 1.0rem;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.pagetitle-channel-3 {
  font-size: 1.0rem;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.pagetitle-channel-4 {
  font-size: 1.0rem;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.pagetitle-channel-5 {
  font-size: 1.0rem;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.pagetitle-channel-6 {
  font-size: 1.0rem;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.pagetitle-channel-7 {
  font-size: 1.0rem;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.program-bg {
  background-size: 100%;
  min-width: 100%;
  margin-top: 0;
}

.program-wrap {
  padding: 10px 0 0;
}

.program-detail,
.program-maim,
.program-menu {
  display: block;
  width: 100%;
  padding: 0 20px 30px;
}

.program-list {
  display: block;
  width: 100%;
  padding: 0 0 30px;
}

.program-list-title {
  text-align: left;
  border-radius: 0px;
}

.program-list-title a {
  padding: 12px 40px 12px 20px;
  font-size: 1.3rem;
}

.program-list-title:before {
  content: '';
  border-top: 6px solid #fff;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  right: 15px;
  top: 50%;
  margin: -3px 0 0;
}

.program-list-title.active:before {
  border-top: none;
  border-bottom: 6px solid #fff;
}

.program-list > ul {
  display: none;
}

.program-list > ul > li a {
  font-size: 1.3rem;
}

.program-list > dl {
  margin-top: 20px;
}

.min-header + .program-list {
  display: block;
  padding-bottom: 0;
}

.program-wrap > .program-list {
  display: none;
}

.program-detail {
  padding: 0;
}

.program-bg-repeat .program-detail {
  padding: 0 20px;
}

.program-detail-head > .group > * {
  padding: 0 0 10px;
  display: block;
  width: 100%;
}

.program-detail-head > .group > .program-detail-head-title {
  padding: 10px 0 0px;
  font-size: 1.3rem;
}

.program-detail-head span[class^="pagetitle-channel-"] {
  margin: 5px 5px 2px 0;
}

.program-detail-head > .group br.sp-display {
  display: none;
}

.program-info {
  padding: 0 0 5px;
}

.program-info .program-detail-head-title {
  width: 110px;
  padding-bottom: 5px;
  font-size: 1.3rem;
}



/*特設サイト固定ページ用*/

.program-maim {
  padding-top: 20px;
  font-size: 1.3rem;
  line-height: 1.8;
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-radius: 0;
}

.program-title {
  margin-bottom: 20px;
}

.program-title h1 {
  font-size: 2.1rem;
}

.program-schedule-title h2 {
  font-size: 1.7rem;
}

.program-maim p {
  margin: 0 0 20px;
}

.program-visual {
  margin: 0 0 25px;
  border-radius: 0px;
}

.border-title {
  font-size: 1.5rem;
  margin: 0 0 18px;
}

.program-schedule-title {
  margin-bottom: 15px;
  padding: 7px 10px;
}

.program-menu {
  padding-top: 30px;
  width: 100%;
}

.program-menu-nav {
  padding: 0 20px 10px;
  width: 100%;
}

.program-menu-title {
  position: relative;
  padding: 12px 15px;
  font-size: 1.3rem;
}

.program-menu-title:before {
  content: '';
  border-top: 6px solid #555;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  right: 15px;
  top: 50%;
  margin: -3px 0 0;
}

.program-menu-title.active:before {
  border-top: none;
  border-bottom: 6px solid #555;
}

.program-menu-title,
.program-menu-nav > ul > li:last-child {
  border-radius: 0px;
}

.program-menu-nav > ul {
  margin: 0 0 16px;
}

.program-menu-nav > ul > li a {
  position: relative;
  padding-right: 20px;
  font-size: 1.4rem;
}

.program-menu-nav > ul > li a:before {
  content: '';
  border-left: 6px solid #004098;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  position: absolute;
  right: 10px;
  top: 50%;
  margin: -3px 0 0;
}

.program-menu-nav > ul > li li a {
  font-size: 1.3rem;
}

.program-menu-nav > ul {
  display: none;
}

.program-wrap > .program-menu-nav {
  display: block;
}

.program-menu > .program-menu-nav {
  display: none;
}

.program-menu-nav > ul + div {
  margin: 5px 0 0;
}

.program-menu-nav > div .btn-01 {
  margin-bottom: 0;
  padding: 10px 18px;
  font-size: 1.4rem;
}

.program-menu-blog {
  display: none;
}

.program-menu-nav-blog {
  margin-top: -16px;
}

.program-menu-banner img {
  margin-top: 16px;
}

/* 番組ラインナップ */

.program-lineup-info {
  position: absolute;
  top: 10px;
  right: 10px;
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/icon_lineup_info.png);
  background-size: cover;
  opacity: 0.8;
}

.program-lineup-col3 .program-lineup li,
.program-lineup-col4 .program-lineup li {
  width: 100%;
  margin: 0 0 20px;
}

.program-lineup-pop {
  display: none;
  position: static;
  bottom: auto;
  right: auto;
  width: 100%;
  border-radius: 0;
  opacity: 1;
  height: auto;
  -webkit-transition: none;
  transition: none;
}

.program-lineup-pop:before {
  display: none;
}

.program-lineup-pop-text br {
  display: inline;
}

.program-narrow {
  padding: 15px;
}

.program-narrow > * {
  display: block;
}

.program-narrow > div:nth-child(1) {
  width: 100%;
  padding-right: 0;
}

.program-narrow > div:nth-child(2) {
  width: 100%;
}

.program-narrow-channel,
.program-narrow-genre,
.program-narrow-area {
  display: block;
  padding: 16px 0 8px;
}

.program-narrow-channel > *,
.program-narrow-genre > *,
.program-narrow-area > * {
  display: block;
  padding: 0;
}

.program-narrow-text1 {
  width: 100%;
  font-weight: bold;
}

/* 2018/05/09追加 */
.program-search {
  padding: 15px;
  margin: -80px 0 0;
}

.program-search::after {
  left: 0;
  right: 0;
}

.program-search-form {
  display: block;
  width: auto;
}

.program-search-form input[type="text"] {
  border: 1px #e3e9ef solid;
  -webkit-appearance: none;
  border-radius: 5px;
  font-size: 1.6rem;
}

.program-search-form input[type="button"] {
  display: block;
  width: 80%;
  margin: 10px auto 0;
  border-radius: 5px;
}

.program-search-form input[type="image"]:hover {
  background-color: #5498eb;
}

.program-subtitle {
  margin: 30px auto 20px;
  border-radius: 0;
}

.program-subtitle > h2 {
  font-size: 1.75rem;
  line-height: 1.6;
}

/*  番組ジャンル見出しへのページ内リンク  */

.program-select {
  /*  margin: 38px auto 0px;*/
  margin: 20px auto;
}

.program-select ul {}

.program-select li {
  width: 49%;
  margin: 2% 2% 0 0;
}

.program-select li:nth-child(1),
.program-select li:nth-child(2) {
  margin-top: 0;
}

.program-select li:nth-child(even) {
  margin-right: 0;
}

.program-select li:nth-child(11n) {
  width: 49%;
}

.program-select-iconbox a {
  padding: 8px 20px 8px 4px;
  display: flex;
  align-items: center;
  border-radius: 3px 3px 0 0;
}

.program-select-iconbox a::after {
  bottom: 50%;
  right: 8px;
  margin: 0 0 -2px;
}

.program-select-iconbox > a > p {
  text-align: left;
  float: left;
  font-size: 2rem;
}

.program-select-iconbox .icon {
  width: 30px;
  height: auto;
  margin: 0 4px 0 0;
}

.program-select-iconbox .text {
  font-size: 1rem;
}

/* -----------------------------------------------
	お知らせ
-------------------------------------------------- */

/* お知らせ　トップ */

.news-importantsec-block,
.news-pickup-block,
.news-news-block,
.news-maintenance-block,
.maintenance-detail-new .maintenance-maintenance-block,
.maintenance-detail-new .maintenance-failure-block {
  float: none;
  width: auto;
  margin: 0 -20px;
}

.news-list-important .news-icon-current {
  background-color: #fc5e5e !important;
}

.news-list-important .news-icon-current + span {
  border-color: #fc5e5e !important;
  color: #fc5e5e !important;
}

/* news-pickup */
.news-pickup .content-inner {
  overflow: visible;
}

/* news-new */

.news-new .section-title {
  margin-bottom: 20px;
}

.news-title {
  padding-right: 40px;
  margin: 0;
  position: relative;
  font-size: 1.5rem;
  cursor: pointer;
  background-color: #566d81;
  color: #fff;
}

.news-news-block .news-title {
  background-image: url(../img/icon_info_white.png);
}

.news-maintenance-block .news-title {
  background-image: url(../img/icon_maintenance_white.png);
}

.news-news-block {
  margin-bottom: 20px;
}

.news-news-block .note,
.news-maintenance-block .note {
  margin-left: 20px;
  margin-right: 20px;
}


.news-maintenance-block .news-list-icon > span,
.maintenance-maintenance-block .news-list-icon > span,
.maintenance-failure-block .news-list-icon > span {
  display: table-cell;
  border-radius: 0px;
  font-size: 1.2rem;
  padding: 4px;
}

.news-maintenance-block .news-list-maintenance .news-list-icon > span,
.maintenance-maintenance-block .news-list-icon > span {
  background: #fc5e5e;
}

.news-maintenance-block .news-list-maintenance .news-list-icon .news-icon-cate,
.maintenance-maintenance-block .news-list-icon .news-icon-cate {
  border: 1px solid #fc5e5e;
  padding: 3px;
  color: #fc5e5e;
  border-left: none;
  background: #fff;
}


.news-maintenance-block .news-list-failure .news-list-icon > span,
.maintenance-failure-block .news-list-icon > span {
  background: #868f97;
}

.news-maintenance-block .news-list-failure .news-list-icon .news-icon-cate,
.maintenancesec-block .news-list-failure .news-list-icon .news-icon-cate,
.maintenance-failure-block .news-list-icon .news-icon-cate {
  border: 1px solid #868f97;
  padding: 3px;
  background: #fff;
  color: #868f97;
  border-left: none;
}

/* 障害・メンテナンス情報 */

/* 障害・メンテナンス情報　詳細ページ */

.min-title {
  font-size: 1.5rem;
  margin: 0 0 15px;
}

.maintenance-detail {
  margin-bottom: 0;
  padding: 0 20px 30px;
}

.maintenance-detail-new {
  padding: 20px 20px 40px;
  border-top: 1px solid #e3e9ef;
}

.maintenance-detail-new h3 {
  margin-left: 20px;
  margin-right: 20px;
  font-size: 1.5rem;
}


/* ひまわりからのお知らせ　詳細ページ */

.news-detail {
  margin-bottom: 0;
  padding: 0 20px 30px;
}

.news-detail-title {
  margin: 0 -20px 20px;
  padding: 20px 0;
  box-shadow: none;
  border-left: none;
  border-right: none;
  border-radius: 0;
}

.news-detail-title h2 {
  font-size: 2.1rem;
  padding: 0 20px;
}

.news-detail-title-meta {
  padding: 0 20px;
}

.news-detail-title-meta .news-icon-1,
.news-detail-title-meta .news-icon-2,
.news-detail-title-meta .news-icon-3,
.news-detail-title-meta .news-icon-4,
.news-detail-title-meta .news-icon-5 {
  width: 70px;
  margin-right: 5px;
  font-size: 1.1rem;
}

.news-detail-title-meta .news-list-date {
  display: inline-block;
  font-size: 1.2rem;
}

.news-detail-title-meta .icon-new {
  margin-left: 2px;
}

.news-detail p {
  margin-bottom: 20px;
}

.news-detail-new {
  padding: 20px 20px 40px;
  border-top: 1px solid #e3e9ef;
}

.news-detail-new .min-title {
  padding-left: 20px;
}

.news-download {
  margin: 0 0 30px;
  padding: 20px 0 0;
  border-top: 1px solid #e3e9ef;
}

.news-download a {
  padding-left: 48px;
  background-position: 20px center;
}

.news-download h3 {
  margin-left: 20px;
  margin-right: 20px;
  font-size: 1.5rem;
}

.news-detail-new h3 {
  margin-left: 20px;
  margin-right: 20px;
  font-size: 1.5rem;
}

/* チャンネル案内 */

.channel-course {
  margin-bottom: 4px;
}

.channel-pagelink li a {
  margin: 0;
}

.channel-page .channel-list.wae-section-column2 > .wae-section-block {
  width: 100%;
  margin: 0 0 10px;
}

/* 2017/04/13追加 */

.channel-tab {
  margin-bottom: 30px;
}

.channel-tab li {
  vertical-align: top;
}

.tab-channel-text {
  padding: 0;
}

.tab-channel-text:after {
  content: '';
  display: block;
  clear: both;
}

.channel-blocklink .wae-section-block-link {
  width: 49% !important;
  padding: 10px 20px 10px 16px !important;
}

.channel-blocklink .channel-number {
  font-size: 1.1rem;
  margin-bottom: 5px !important;
}

.channel-blocklink .wae-section-head > h3 {
  font-size: 1.5rem;
}

.channel-blocklink .wae-section-column {
  flex-direction: row;
}

.channel-blocklink .wae-section-block-link:after {
  border-left: 6px solid #004098;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  right: 8px;
  margin: -3px 0 0;
}

.channel-list-nav .wae-section-block-link {
  position: relative;
  width: 23%;
  margin: 0 1%;
  padding: 5px 0px 75px !important;
}

.channel-list-nav .wae-section-head > h3 {
  padding-bottom: 5px;
}


.channel-number-b {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 40px;
  font-size: 2.8rem;
}

.channel-number-none {
  font-size: 2.4rem;
  line-height: 1;
}


.channel-number-b + span {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 28px;
  font-size: 1.1rem;
}

.channel-list-nav .wae-section-block:before {
  bottom: 13px;
}

/* // 2017/04/13追加 */

/* Q&A よくある質問 */

.faq-category .section-title,
.faq-search .section-title {
  border-bottom: 1px solid #e3e9ef;
  margin: 0 -20px 20px;
  padding: 20px 20px 20px;
}

.faq-search .section-title {
  margin-top: -30px;
}

.faq-category > .content-inner:first-child {
  padding-top: 0;
}

.faq-category > .content-inner:first-child > .faq-category-inner:first-child > .section-title:first-child {
  padding-top: 0;
}

.faq-category .faq-category-inner {
  width: 100%;
  display: block;
}

.faq-category .service-list {
  padding: 0 0 30px 0;
}

.faq-category .service-list,
.faq-category .category-list {
  margin: 0;
  width: 100%;
  display: block;
}

.faq-category .service-list li {
  margin: 1% 0;
  width: 100%;
  text-align: left;
}

.faq-category .category-list li {
  margin: 0 0 5px;
  width: 100%;
  text-align: left;
}

.faq-category .service-list li a,
.faq-category .category-list li a {
  width: 100%;
  margin: 0;
  font-size: 1.4rem;
  padding: 10px;
}

.faq-search {
  border-top: none;
  margin-bottom: 25px
}

.faq-category .service-list li a span,
.faq-category .category-list li a span {
  padding-left: 18px;
  background: url(../img/icon_tag_l.gif) no-repeat left 2px;
  background-size: 12px;
}

.faq-category .service-list li.tv a {
  background: url(../img/icon_tv.png) no-repeat 96% center;
  background-size: 30px;
  padding: 20px 70px 20px 10px;
  width: 100%;
}

.faq-category .service-list li.net a {
  background: url(../img/icon_net.png) no-repeat 96% center;
  background-size: 30px;
  padding: 20px 70px 20px 10px;
  width: 100%;
}

.faq-category .service-list li.tell a {
  background: url(../img/icon_tel.png) no-repeat 96% center;
  background-size: 30px;
  padding: 20px 70px 20px 10px;
  width: 100%;
}
.faq-category .service-list li.wireless a {
  background: url(../img/icon_wifi.png) no-repeat 96% center;
  background-size: 30px;
  padding: 20px 70px 20px 10px;
  width: 100%;
}

.faq-search .search-main {
  padding: 10px;
}

.faq-search .search-main .faq-searchbox-text {
  width: 85%;
  font-size: 1.2rem;
}

.faq-search .search-main .faq-searchbox-btn {
  width: 15%;
  font-size: 1.2rem;
  -webkit-appearance: none;
}

.faq-search .search-main .category-list {
  font-size: 1.2rem;
}

.faq-search .search-main .note {
  font-size: 1.0rem;
}

.category-list-more,
.service-list-more {
  margin-bottom: 15px;
}


/* マニュアル・使い方HOW TO */

.manual-category .inner {
  padding: 10px 20px;
}

.manual-category .section-title {
  border-top: 1px solid #e3e9ef;
  border-bottom: 1px solid #e3e9ef;
  margin: 0 -20px 20px;
  padding: 20px 20px 20px;
}

.manual-category .service-list li {
  float: none;
}

.manual-category .service-list li a {
  width: 100%;
  margin: 0 0 1% 0;
}

.manual-caption {
  margin: 0;
}

.manual-detail .detail-title .detail-title-meta {
  padding: 0 20px;
}


/* -----------------------------------------------
	料金案内
-------------------------------------------------- */


.fee-menu {
  margin: 0 0 40px;
}

.fee-menu:last-child {
  margin-bottom: -20px;
}

.fee-menu > li {
  width: auto;
  float: none;
  height: auto !important;
  margin: 0 0 20px;
}

.fee-menu-link {
  padding: 20px;
}

.fee-menu-text {
  font-size: 1.6rem;
  position: relative;
  padding: 18px 15px 18px 90px;
}

.fee-menu-text:after {
  right: 0;
}

.fee-menu-text:before {
  width: 60px;
  height: 60px;
  background-size: 60px auto;
  left: 0px;
  margin-top: -30px;
}

.fee-menu-price .fee-menu-text:before {
  width: 65px;
  background-size: 65px auto;
  left: 5px;
}

.fee-menu-inicost .fee-menu-text:before {
  width: 75px;
  background-size: 75px auto;
  left: -3px;
}

.fee-menu-pack .fee-menu-text:before {
  width: 75px;
  background-size: 75px auto;
  left: -2px;
}

.fee-menu-discount .fee-menu-text:before {
  width: 55px;
  background-size: 55px auto;
  left: 10px;
  margin-top: -34px;
}

.fee-menu-note {
  font-size: 1.2rem;
}

.fee-pricelist .wae-section-column {
  padding: 12px 0;
}

.fee-pricelist .wae-section-column .fee-pricelist-title {
  width: 100%;
}

.fee-pricelist .wae-section-column .fee-pricelist-price {
  width: 100%;
}

.fee-pricelist .wae-section-column .fee-pricelist-text {
  width: 100%;
}

.txt-price-num {
  font-size: 2.4rem;
}

/* -----------------------------------------------
	各種窓口・お問い合わせ
-------------------------------------------------- */
.contact-page {
  margin: 20px 0 40px;
}

.contact-tabset-content-wrap {
  border-width: 1px 0;
}

/*.contact-menu */
.contact-menu {
  margin: 0 0 40px;
}

.contact-menu:last-child {
  margin-bottom: -20px;
}

.contact-menu > li {
  width: auto;
  float: none;
  height: auto !important;
  margin: 0 0 20px;
}

.contact-menu-link {
  padding: 20px;
}

.contact-menu-text {
  font-size: 1.6rem;
  position: relative;
  padding: 18px 15px 18px 75px;
}

.contact-menu-text:after {
  right: 0;
}

.contact-menu-text:before {
  width: 60px;
  height: 60px;
  background-size: 60px auto;
  left: 0px;
  margin-top: -30px;
}

.contact-menu-simulation .contact-menu-text:before {
  width: 40px;
  background-size: 40px auto;
  left: 15px;
}

.contact-menu-pamphlet .contact-menu-text:before {
  width: 45px;
  background-size: 45px auto;
  left: 15px;
}

.contact-menu-note {
  font-size: 1.2rem;
}

/* contact-list */
.contact-list-block {
  margin-bottom: 20px;
}

.contact-list-block > div {
  display: block;
  width: 100%;
}

.contact-list-text .group {
  padding: 0 0 20px;
  height: 70px;
  height: auto;
  border-width: 0;
}

.contact-list-text .group:first-child {
  padding-top: 20px;
}

.contact-list-text .group > * {
  display: inline-block;
  padding: 0;
  text-align: left;
}

.contact-list-text-icon {
  width: 80px;
  margin-bottom: 6px;
}

.contact-list-text-title {
  width: 100%;
  padding: 0 20px;
  font-weight: bold;
}

.contact-list-info {
  padding: 20px;
  background: #f9fbfc;
}

.contact-list-text-text {
  font-size: 1.3rem;
}

.contact-list-call {
  margin-bottom: 15px;
  padding: 15px;
  background: #f9fbfc;
}

.contact-list > .wae-section-accordion-title {
  padding: 5px 15px 25px;
  margin-bottom: 0;
}

.contact-list .wae-section-accordion-title-off:before,
.contact-list .wae-section-accordion-title-on::before {
  top: auto;
  bottom: 10px;
  right: 50%;
}

.tab-2 .contact-list-text .group {
  position: relative;
}

.tab-2 .contact-list-text .contact-list-text-icon {
  position: absolute;
  top: 0;
  left: 0;
}

.tab-2 .contact-list-text .group:first-child .contact-list-text-icon {
  top: 20px;
}

.tab-2 .contact-list-text .contact-list-text-title {
  padding: 3px 0 10px 45px;
  min-height: 30px;
}

/* contact-panel */
.contact-panel-block {
  width: 100%;
  margin: 0 0 15px;
  padding: 15px;
}

/* contact-min */
.contact-min dd {
  padding: 0 0 0 10px;
}

.contact-min-tel dt {
  padding: 0 10px 0 0;
}

.contact-min-tel dt img {
  width: 25px;
}

.contact-min-tel dd {
  font-size: 2.6rem;
}

table.contact-electronic-table {
  width: 800px
}

.contact-electronic-table th:nth-child(2),
.contact-electronic-table th:nth-child(4),
.contact-electronic-table th:nth-child(5) {
  width: auto;
}

.contact-electronic-table td:nth-child(2),
.contact-electronic-table td:nth-child(4),
.contact-electronic-table td:nth-child(5) {
  word-break: keep-all;
}


/* -----------------------------------------------
	フォーム
-------------------------------------------------- */

/* フォーム用カレンダー */
.ui-datepicker-calendar th {
  display: table-cell;
}

.ui-datepicker-calendar td {
  display: table-cell;
  width: auto;
}

/* フォーム用ヘッダー */

.form-header {
  padding: 15px;
}

/* 2020.02.07 追加 */
.form-header-logo {
  max-width: 230px;
}

.form-header-tell {
  display: block;
}

.form-header-tell a {
  display: block;
}

.form-header-tell-img {
  display: block;
  width: 35px;
  margin: 0 auto 2px auto;
}

.form-header-tell-txt {
  font-size: 1.0rem;
}


/* フォーム用フッター */

.form-footer .group > * {
  display: block;
  width: 100%;
  text-align: center;
}

.form-footer-logo {
  padding: 30px 0 20px;
}

.form-footer-logo img {
  width: 70%;
}

.form-footer-text {
  padding: 0 10px 20px;
  font-size: 1.3rem;
}

.form-footer-text span {
  display: none;
}

.form-footer-copyrights {
  padding: 10px;
  background: #f9fbfc;
  border-top: 1px #e3e9ef solid;
}

/* フロー */

.form-flow {
  text-align: center;
  padding-right: 5px;
}

.form-flow li {
  padding: 10px 15px;
  font-size: 1.4rem;
}

.form-flow .form-flow-step1 {
  padding-left: 20px;
}

.form-flow .form-flow-step3 {
  padding-right: 20px;
}

.form-flow li span {
  display: inline-block;
  margin-right: 5px;
}


/* テーブル */

.form-table th,
.form-table td {
  display: block;
  width: 100%;
}

.form-table th {
  padding-left: 21px;
  white-space: normal;
}

.form-table td {
  margin-bottom: 0;
  border-top-width: 0;
  border-bottom-width: 0;
}

.form-table td:last-child {
  margin-bottom: 16px;
  border-bottom-width: 1px;
}

.form-table td:nth-child(2) {
  width: 100%;
}

.form-table-required {
  background-position: 8px 14px;
}

.form-table .form-table-note {
  width: 100%;
  border-top-width: 1px;
  border-top-style: dotted;
  font-size: 1.3rem;
}



/*フォーム*/
.form {
  margin: 30px 0 0;
}

.form :not(.form-btnarea) input {
  width: 100%;
}

.form :not(.form-btnarea) textarea {
  width: 100%;
}

.form :not(.form-btnarea) select {
  width: 100%;
}

.form :not(.form-btnarea) .form-address-pcode label {
  width: 38px;
}

.form :not(.form-btnarea) .form-address-pcode input {
  width: 25%;
}

.form :not(.form-btnarea) .form-address-pcode input:last-child {
  width: 35%;
}

.form :not(.form-btnarea) .form-address-text label {
  width: 38px;
}

.form :not(.form-btnarea) .form-address-text {
  margin-top: 8px;
}

.form :not(.form-btnarea) .form-address-text input {
  width: 80%;
}

.mw_wp_form .form .horizontal-item + .horizontal-item {
  display: block;
  margin-left: 0;
}

/* ボタン */

.form-btnarea {
  margin-top: 20px;
  padding: 20px 0;
}


/* エラー */

.message {
  font-size: 1.3rem;
}

.message strong {
  font-size: 1.4rem;
}

.message ul {
  list-style: inside;
}


/*個人情報の取り扱いについて*/

.policy-body {
  padding: 16px;
  max-height: 70vh;
}

.policy-tit {
  margin: 10px 0 15px 0;
  font-size: 1.5rem;
}

.policy-body .policy-tit-2 {
  font-size: 1.3rem;
}

.policy-body p,
.policy-body ul,
.policy-body ol,
.policy-body th,
.policy-body td {
  padding-left: 0;
  font-size: 1.2rem;
}

.policy-body ol {
  padding-left: 16px;
}

.policy-check li {
  display: block;
}

.policy-popbtn {
  width: 90%;
}

.policy-check li {
  margin: 0 0 10px 0;
}

.policy-pop {}

.policy-check-clm{
  flex-direction: column;
  padding-inline: 2rem;
  padding-block: 0;

  > * {
    padding-inline: 0;
    padding-block: 0 2rem;

    &:not(:first-child) {
      padding-block-start: 2rem;
      border-inline-start: none;
      border-block-start: 1px solid #e3e9ef;
    }
  }
}


/* -----------------------------------------------
	カテエネ
-------------------------------------------------- */
.kateene {
  padding: 15px 10px 20px;
}

.kateene_title {
  margin: 0 0 17px;
}

.kateene_plan1 {
  margin: 0 0 20px;
}

.kateene_plan2 {
  margin: 0 0 25px;
}

.kateene_plan3 {
  margin: 0 0 30px;
}

.kateene_point {
  margin: 0 0 25px;
}

.kateene_head {
  margin: 0 0 7px;
}

.kateene_subhead {
  margin: 0 0 15px;
}

.kateene_lead {
  margin: 0 0 10px;
}

.kateene_note {
  padding: 0 3px;
}

/* -----------------------------------------------
	特集
-------------------------------------------------- */
.special-list-wrap {
  margin: 0;
}

.special-list li {
  width: 100%;
  margin: 0 0 8px;
}

.special-list li:nth-child(n+5) {
  margin-top: 0;
}

/* -----------------------------------------------
	料金の一覧
-------------------------------------------------- */
.pricelist > li {
  padding: 15px 0;
}

.pricelist_item {
  display: block;
}

.pricelist_item:after {
  content: "";
  display: block;
  clear: both;
}

.pricelist_item > * {
  display: block;
  float: left;
  padding: 0;
}

.pricelist_item > *:first-child {
  padding-top: 0;
}

.pricelist_logo {
  padding: 0 8px 0 0;
  width: 20%;
  text-align: left;
}

.pricelist_text {
  width: 80%;
  margin-bottom: 5px;
  border: none;
}

.pricelist_text strong {
  margin-bottom: 3px;
}

.pricelist_text span {
  font-size: 1.2rem;
}

.pricelist_item .pricelist_fee {
  width: 80%;
  margin-left: 20%;
  border: none;
  margin-bottom: 8px;
}

.pricelist_fee_taxout:before {
  margin-right: 2px;
}

.pricelist_fee_taxin {
  margin-top: 3px;
}

.pricelist_state {
  width: 80%;
  margin-left: 20%;
  text-align: left;
}

.pricelist_state_icon {
  width: 80px;
  padding: 5px;
  font-size: 1.1rem;
}

.pricelist_state_icon:not(:first-child) {
  margin-top: 0;
  margin-left: 5px;
}

/*
.pricelist_state_icon.is-off {
	border-color: #f2f2f2;
	color: #bababa;
	background-color: #f5f5f5;
}
*/

.fee-block {
  display: block;
}

.fee-block > div {
  display: block;
}

.fee-block-text {
  margin-bottom: 10px;
}

.fee-block-fee {
  width: 100%;
  padding: 0;
}

.fee-block-fee p {
  text-align: center;
}

/*---*/
.service-block-wraplist li {
  width: 100%;
  float: none;
  padding: 0;
}

.service-block-wraplist-2col li {
  width: 100%;
}

.service-block-0 > div,
.service-block-1 > div,
.service-block-2 > div {
  display: block;
}

.service-block-0 > div > *,
.service-block-1 > div > *,
.service-block-2 > div > * {
  display: block;
}

.service-block-title {
  padding: 10px;
  height: auto;
}

.service-block-text {
  padding-bottom: 10px;
  height: auto;
}

.service-block-wraplist-2col li {
  width: 100%;
}

.service-block-wraplist-2col .service-block-0,
.service-block-wraplist-2col .service-block-1,
.service-block-wraplist-2col .service-block-2 {
  display: block;
}

.service-block-wraplist-2col .service-block-0 > div,
.service-block-wraplist-2col .service-block-1 > div,
.service-block-wraplist-2col .service-block-2 > div {
  display: block;
  height: auto;
}

.service-block-wraplist-2col .service-block-title {
  width: 100%;
}

.service-block-wraplist-2col .service-block-text {
  width: 100%;
}

/*
.service-block-wraplist-2col .service-block-0>div ,
.service-block-wraplist-2col .service-block-1>div ,
.service-block-wraplist-2col .service-block-2>div {
	display: table-cell;
	vertical-align: middle;
	height: 7.5rem;
}
*/

.program-block {}

.program-block-item {
  width: 100%;
}

.program-block-item:nth-child(3n+2) {
  margin-left: 0;
  margin-right: 0;
}

.program-block-item figcaption {
  padding: 10px 14px;
}

/*---*/

.program-block-1col .program-block-item figcaption {
  width: 100%;
  padding: 5px 15px 3px;
}

.program-block-1col .program-block-item figcaption span {
  padding: 3px 6px 3px 28px;
  border-bottom: none;
}

.program-block-1col .program-block-item figcaption span::after {
  margin-top: -4px;
  border-width: 4px 0 4px 6px;
}

.program-block-1col .program-block-item-image {
  width: 100%;
  padding: 15px;
}

.program-block-1col .program-block-item-image:after {
  content: none;
}

.program-block-1col .program-block-item-info {
  float: right;
  width: 100%;
  padding: 0 15px 15px;
}

.program-block-1col .program-block-item-info dl {
  padding-left: 0;
  padding-right: 0;
}

.program-block-1col .program-block-item-info dl dt {
  width: 100%;
}

.program-block-1col .program-block-item-info dl dd {
  width: 100%;
}

.program-block-1col .program-block-item-schedule {
  border-bottom: none;
}

/*3/3追加*/
.selection-intro {
  padding: 40px 15px 0;
}

.selection-intro-head2 {
  width: 100%;
  margin: 0 auto 30px;
}

.selection-intro-lead {
  margin: 0 auto 35px;
}

.selection-pex-head {}

.selection-pex-head * {
  width: 100%;
  font-size: 1.6rem;
  border-radius: 0;
  margin-bottom: 20px;
}

.poverviewlist {
  width: 100%;
  height: auto;
}

.poverviewlist .poverviewlist-item {
  width: 100%;
  margin-bottom: 15px;
}

.poverviewlist-jimoto .poverviewlist-item {
  width: 100%;
  margin-bottom: 15px;
}

.poverviewlist-jimoto .poverviewlist-item:nth-child(odd) {
  padding-right: 0;
}

.poverviewlist-jimoto .poverviewlist-item:nth-child(even) {
  padding-left: 0;
}

.poverview {
  display: block;
  width: 100%;
  padding: 17px;
}

.poverview-image {
  display: block;
  /*width: 100%;
	margin: 0 auto 15px;*/
  float: left;
  width: 25%;
  max-width: 110px;
  padding: 0 5px;
}

.poverview-image img {
  /*max-width: 100px;*/
  max-width: 100%;
}

.poverview-movie {
  display: block;
  width: 100%;
  border: 1px solid #eee;
}

.poverview-movie img {
  max-width: 100%;
}

.poverview-text {
  display: block;
  width: 100%;
  margin: 0 auto 15px;
  padding-left: 0;
  padding-right: 0;
}

.poverviewlist-jimoto .poverview-movie {
  width: 100%;
}


.selection-intro-message {
  background: #fff;
  border-radius: 2px;
  border: 1px solid #e3e9ef;
  margin-top: 20px;
  padding: 25px 30px;
  box-shadow: 0 1px 3px #ecf0f3;
}

.selection-intro-message > * {
  text-align: center;
}

.selection-intro-message p:not(:last-child) {
  margin: 0 0 10px;
}

.selection-intro-message strong {
  font-size: 1.8rem;
  font-weight: normal;
}

.selection-intro {
  overflow: hidden;
}


.poverview-image + .poverview-text > h5,
.poverview-image + .poverview-text > p {
  line-height: 1.4;
  margin-left: 25%;
}

.poverview-info {
  clear: both;
  margin: 0;
}

.poverview-info > dt {
  padding: 8px 0;
  width: 130px;
  font-size: 1.2rem;
}

.poverview-info > dd {
  padding: 6px 0 6px 130px;
  font-size: 1.3rem;
}

.poverview-info > dd [class^='pagetitle-channel-'] {
  font-size: 1.0rem;
  margin: 0 3px 3px 0;
}

.poverviewlist .poverview-text {
  margin-bottom: 10px;
}

.poverviewlist .poverview-text p {
  font-size: 1.2rem;
}

.poverviewlist .poverview-text > p {
  max-height: 4em;
  overflow-x: auto;
  margin-bottom: 3px;
}

.poverviewlist .poverview-text > p::-webkit-scrollbar {
  width: 5px;
  background: #ccc;
}

.poverviewlist .poverview-text > p::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 2px;
}

.poverviewlist .poverview-sumally {
  height: 6.3em;
  overflow-x: auto;
}

.poverviewlist .poverview-sumally::-webkit-scrollbar {
  width: 5px;
  background: #ccc;
}

.poverviewlist .poverview-sumally::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 2px;
}

.poverviewlist .poverview-sumally p {
  margin: 0;
  line-height: 1.4;
}

.poverviewlist .poverview-movie {
  border: none;
}

.poverviewlist .poverview-movie figure {
  width: 70%;
  border: 1px solid #eee;
  margin: 0 auto 5px;
}

.poverview-movie .poverview-btn {
  margin: 0;
}

.poverviewlist .slick-prev,
.poverviewlist .slick-next {
  height: 242px;
  width: 22px;
  top: 50%;
  margin-top: -120px;
}

.poverviewlist .slick-prev:before,
.poverviewlist .slick-next:before {
  left: 9px;
}

.poverviewlist .slick-prev {
  left: -12px;
}

.poverviewlist .slick-next {
  right: -12px;
}

@media screen and (max-width: 320px) {
  .poverview-text h5 {
    font-size: 1.3rem;
  }

  .poverview-text p {
    font-size: 1.1rem;
  }

  .poverview-sumally,
  .poverview-sumally p {
    font-size: 1.0rem;
  }

  .poverview-info > dt {
    width: 32%;
  }

  .poverview-info > dd {
    padding-left: 34%;
  }
}

/* -----------------------------------------------
	2017/04/17追加
-------------------------------------------------- */

/* select-slider */

.select-slider {
  width: 100%;
  padding: 0 20px;
}

.col2 .select-slider {
  width: 100%;
}

.select-slider-text {
  box-sizing: content-box;
  display: block;
  width: 100%;
  height: 60px;
  font-size: 1.2rem;
  padding: 10px;
}

.select-slider-text:before {
  content: none;
}

.select-slider .slick-prev {
  left: 0;
}

.select-slider .slick-next {
  right: 0;
}



/* LP用ヘッダー */

.lp-header {
  padding: 15px;
}

.lp-header > .group > div,
.lp-header > .group div:last-child {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
}

.lp-header > .group div:last-child {
  padding-left: 10px;
}

.lp-header-logo img {
  width: auto;
}

.lp-header .btn-contact {
  padding: 8px 15px;
  background-position: 96% 50%;
  font-size: 1.3rem;
}


/*ご相談からご入居までの流れ*/
.residenceFlow {
  padding: 25px 0;
}

.residenceFlow-list {
  width: 100%;
  margin: 0;
}

.residenceFlow-list > li {
  padding: 0;
  background: none;
  border-bottom: none;
}

.residenceFlow-list > li:after {
  content: none;
}

.residenceFlow-inner {
  padding: 0;
}

.residenceFlow-inner p {
  line-height: 1.5;
}

.residenceFlow-title {
  position: relative;
  margin: 0 0 -1px;
  padding: 0 25px 0 0;
  border: 1px solid #e3e9ef;
  font-size: 1.6rem;
  line-height: 1.4;
  transition: none;
}

.residenceFlow-title:after {
  position: absolute;
  right: 10px;
  top: 50%;
  border: 6px solid transparent;
  border-top: 6px solid #566d81;
  margin-top: -4px;
  content: '';
}

.residenceFlow-icon {
  position: relative;
  left: 0;
  top: 0;
  display: table-cell;
  vertical-align: middle;
  width: 55px;
  padding: 0;
  border-radius: 0;
  background: #e3e9ef;
  color: inherit;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0;
}

.residenceFlow-icon:before {
  position: absolute;
  top: -1px;
  left: 0;
  background: #fff;
  width: 100%;
  height: 1px;
  content: '';
}

.residenceFlow-list > li:first-child .residenceFlow-icon:before {
  content: none;
}

.residenceFlow-icon:after {
  border-width: 4px 4px 4px 5px;
  border-left-color: #e3e9ef;
  margin-top: -4px;
}

.residenceFlow-icon-num {
  display: block;
  font-size: 1.9rem;
}

.residenceFlow-icon-num:before {
  content: none;
}

.residenceFlow-title.is-active {
  background: #566d81;
  border-color: #566d81;
  color: #fff;
}

.residenceFlow-title.is-active:after {
  border-bottom: 6px solid #fff;
  border-top: none;
}

.residenceFlow-title.is-active .residenceFlow-icon {
  background: none;
  border-right: 1px solid #728697;
}

.residenceFlow-title.is-active .residenceFlow-icon:after {
  border-left-color: #728697;
}

.residenceFlow-title.is-active .residenceFlow-icon:before {
  background: none;
}

.residenceFlow-title.is-active .residenceFlow-title-text:before {
  position: absolute;
  left: -2px;
  top: 50%;
  border: 4px solid transparent;
  border-left: 5px solid #566d81;
  margin-top: -4px;
  content: '';
}

.residenceFlow-title-text {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  padding: 17px 0 13px 15px;
}

.residenceFlow-list-text {
  display: none;
  padding: 15px 0 50px;
}

.residenceFlow-list-image {
  position: static;
  display: block;
  margin: 0 auto;
  padding: 0;
  max-width: 100%;
}

.residenceFlow-tel {
  text-align: center;
  margin: 0 0 10px;
}

.residenceFlow-note-block {
  margin: 0 0 15px;
  padding: 15px;
}

.residenceFlow-bottom {
  margin: 20px 0;
  padding: 15px;
}

.residenceFlow-btn {
  padding: 10px 20px;
}

/* -----------------------------------------------
	2017/08/23追加
-------------------------------------------------- */
.pass_comment_index {
  margin: 0 0 5px;
}

.input_page_password {
  padding: 0 16px;
  text-align: center;
}

.input_page_password input[type="password"] {
  width: 70%;
}

.input_page_password input[type="button"] {
  padding: 4px 20px;
}

/* NOTE: 20171108 matsuoka スタッフつぶやきコンテンツ用のスタイルを追加 */
.staffnews-list > li {
  padding: 20px;
}

.staffnews-list > li:before {
  content: none;
}

.staffnews-list-text-icon {
  margin: 0;
  text-align: left;
}

.staffnews-icon {
  font-size: 1.2rem;
  padding: 4px 10px;
  border-radius: 0;
}

.staffnews-list-text {
  display: block;
  margin-left: 0;
  padding: 0;
}

.staffnews-list-text a {
  font-size: 1.5rem;
}

.staffnews-list-text-date {
  position: relative;
  top: auto;
  left: auto;
  bottom: auto;
  width: auto;
  height: auto;
  margin: 0 0 5px;
  padding-left: 0;
  text-align: left;
  border-right: none;
  font-size: 1.2rem;
}

.staffnews-filtering {
  display: block;
  margin-bottom: 32px;
  border-top: 1px solid #e3e9ef;
}

.staffnews-filtering-title {
  padding: 20px 40px 20px 52px;
  margin: 0;
  position: relative;
  font-size: 1.5rem;
  cursor: pointer;
  background: url(../img/icon_staffnews.png) no-repeat 21px 50% / 20px auto;
  border-bottom: 1px solid #e3e9ef;
}

.staffnews-filtering-title:before {
  content: '';
  border-top: 6px solid #566d81;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  right: 20px;
  top: 50%;
  margin: -3px 0 0;
}

.staffnews-filtering-title.active {
  background-color: #566d81;
  color: #fff;
}

.staffnews-filtering-title.active:before {
  border-bottom: 6px solid #fff;
  border-top: none;
}

.staffnews-filtering-title.active {
  background-image: url(../img/icon_staffnews_white.png);
}

.staffnews-filtering-title + div {
  display: none;
  padding: 20px 20px 0;
}

.staffnews-filtering ul {
  list-style: none;
}

.staffnews-filtering ul li {
  margin: 0 0 5px;
  box-shadow: 0 1px 3px #ecf0f3;
  border: 1px solid #e3e9ef;
  transition: all 0.25s ease-out;
}

.staffnews-filtering ul a {
  position: relative;
  display: block;
  padding: 10px 10px 10px 36px;
  font-size: 1.4rem;
  font-weight: bold;
}

.staffnews-filtering .staffnews-icon-2 {
  top: 13px;
}


/*詳細ページ*/

.staffnews-detail .detail-title-meta {
  padding: 0 20px;
  letter-spacing: -0.5rem;
  text-align: left;
}

.staffnews-detail .detail-title-meta > * {
  letter-spacing: 0;
}

.detail-title-meta .detail-title-meta-date {
  display: block;
  margin: 0 0 7px;
}

.staffnews-detail .detail-title-meta .staffnews-icon {
  margin: 0 10px 10px 0;
  font-size: 1.0rem;
  padding: 2px 15px;
  border-radius: 2px;
}

.staffnews-detail-new {
  padding: 20px 20px 40px;
  border-top: 1px solid #e3e9ef;
}

.staffnews-detail-new h3 {
  margin-left: 20px;
  margin-right: 20px;
  font-size: 1.5rem;
}

.news-staffnews-block {
  float: none;
  width: auto;
  margin: 0 -20px;
}

/* -----------------------------------------------
        2018/02/15追加
-------------------------------------------------- */
.floating-simulation {
  bottom: -85px;
  right: 58px;
}

.floating-simulation a,
.floating-simulation a:hover {
  width: 171px;
  height: 65px;
  background-image: url(../img/floating-simulation-sp.png);
  background-size: 100% auto;
}

/* -----------------------------------------------
        2018/03/07追加
-------------------------------------------------- */
.hikari-check-title {
  font-size: 1.6em;
  margin: 0 0 15px 0;
}

.hikari-check-btn a {
  font-size: 1.4em;
  margin: 0 0 20px 0;
}

.hikari-check-pop {
  width: auto;
}

.hikari-check-pop-main {
  padding: 30px;
}

.hikari-check-pop-subtitle {
  margin: 0 auto 15px auto;
}

.hikari-check-pop-head {
  padding: 30px 15px 15px;
}

.sp-none {
  display: none;
}

.pc-none {
  display: block;
}

.hikari-check-pop-btn,
.hikari-check-pop-cancel {
  margin-bottom: 0 !important;
}

.hikari-check-pop-btn a,
.hikari-check-pop-cancel a {
  width: 100%;
}

.hikari-check-pop-title span.hikari-check-pop-title-not {
  font-size: 2.5rem;
}

/* -----------------------------------------------
        2018/03/26追加
        お客様メニュー
-------------------------------------------------- */
.customer-pop {
  width: auto;
  margin: 15px;
  padding: 0;
}

.customer-pop > div {
  padding: 15px;
}

.customer-pop-title {
  margin: 15px 0 20px;
}

.customer-pop-title-head {
  font-size: 1.6rem;
}

.customer-pop-new .customer-pop-title-head::before {
  width: 13px;
  height: 18px;
  margin-right: 10px;
  background-size: 100% auto;
}

.customer-pop-already .customer-pop-title-head::before {
  width: 20px;
  height: 16px;
  margin-right: 8px;
  background-size: 100% auto;
}

.customer-pop-title p {
  font-size: 1.3rem;
  font-weight: normal;
}

.customer-pop-title-btn {
  position: relative;
  top: auto;
  right: auto;
  display: block;
  margin-top: 10px;
  padding: 10px;
}

.customer-pop-menuwrap {
  display: block;
}

.customer-pop-menu {
  width: 100%;
  margin: 0 0 10px;
  box-shadow: none;
}

.customer-pop-menu-title {
  height: auto;
  font-size: 1.3rem;
  padding: 12px 0;
}

.customer-pop-menu-title img {
  height: 18px;
  width: auto;
  margin-right: 5px;
}

.customer-pop-menu-list li a {
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 1.3rem;
}

.customer-pop-ranking {
  margin: 15px 0 0;
}

.customer-pop-ranking-title {
  font-size: 1.6rem;
}

.customer-pop .btn-cancel {
  width: 200px;
}

.customer-pop .btn-cancel {
  margin: 20px auto 5px;
}

/* -----------------------------------------------
        2018/03/26追加
        top-slider
-------------------------------------------------- */
.top-slider {
  width: 90%;
}

.top-slider-text {
  display: block;
  width: 100%;
  height: 60px;
  font-size: 1.2rem;
  padding: 10px;
}

.top-slider-text:before {
  content: none;
}


/* -----------------------------------------------
        2018/03/26追加
-------------------------------------------------- */

.topcontent .section-title {
  margin: 0 0 20px;
}


/* -----------------------------------------------
        2018/05/15追加　（スマホ文字サイズ調整）
-------------------------------------------------- */

/*
.faq-list > li:before{
    font-size:3.3rem;
}
*/
.faq-tag,
.faq-list-tag {
  font-size: 1.3rem;
}

.news-tab > li {
  font-size: 1.2rem;
}

.tabset > li,
.wae-tab > li {
  font-size: 1.2rem;
}

.narrow-pop .head-03 {
  font-size: 2.0rem;
}

.tabset-sptitle {
  font-size: 1.5rem;
}

.category-list-more,
.service-list-more {
  font-size: 1.2rem;
}

.onair-program-title {
  font-size: 1.6rem;
}

.footer-tel-body > div {
  font-size: 1.2rem;
}

.btn-contact {
  font-size: 1.4rem;
}

.address-copyrights {
  font-size: 1.0rem;
}

.floating-banner-btn {
  font-size: 1.3rem;
}

.guide-service-title-mini {
  font-size: 1.8rem;
}

.sp-mt0 {
  margin-top: 0 !important;
}

/* -----------------------------------------------
        2018/06追加
        工事予約カレンダー
-------------------------------------------------- */
.calendar_kv {
  padding: 0;
  margin-top: 0;
}

.calendar_kv_inner::before {
  display: none;
}

.calendar_kv_inner::after {
  width: 36vw;
  height: 32vw;
  background-size: contain;
  top: auto;
  bottom: -10px;
  right: 0;
}

.calendar_kv_inner {
  width: 100%;
  padding: 20px 25vw 35px 16px;
}

.calendar_kv_lead_sp {
  height: auto;
}

.calendar_how_to_inner {
  width: 100%;
  padding: 1px 16px 20px;
}

.calendar_how_to_box {
  width: 100%;
  margin: 30px 0 25px;
}

.calendar_how_to_box p {
  margin-top: 20px;
  font-size: 1.3rem;
  font-weight: normal;
}

.calendar_how_to_box div:not(:last-child)::after {
  display: none;
}

.calendar_how_to_note {
  padding: 15px;
}

.calendar_btn div,
.calendar_form_capture div,
.calendar_mail div {
  display: table;
  width: 100%;
  height: 51px;
  margin-top: 20px;
}

.calendar_btn {
  max-width: 214px;
  margin: 0;
}

.calendar_btn img,
.calendar_form_capture img,
.calendar_mail img {
  padding-right: 15px;
}


.calendar_btn p {
  display: table-cell;
  vertical-align: middle;
  background: url(../img/calendar_arr.png) no-repeat right / 15%;
  padding-right: 15px;
}

.calendar_form_capture {
  max-width: 196px;
  margin-right: 0;
}

.calendar_form_capture p {
  display: table-cell;
  vertical-align: middle;
  background: url(../img/calendar_arr.png) no-repeat right / 15%;
  padding-right: 15px;
}

.calendar_mail {
  max-width: 210px;
  margin-right: -15px;
}

.calendar_mail p {
  display: table-cell;
  vertical-align: middle;
  padding-right: 15px;
}

.calendar_area {
  width: 100%;
  padding: 20px 16px 0;
}

.calendar_area .wae-section-title {
  margin: 0;
}

.calendar_faq_tel {
  width: 100%;
  margin: 40px 0 70px;
  padding: 20px 16px 0;
  display: block;
}

.calendar_faq {
  width: 100%;
  height: auto;
  margin: 0 0 20px;
}

.calendar_faq_title {
  margin-bottom: 60px;
}

.calendar_tel {
  width: 100%;
  padding: 0 19px 19px;
  border: 1px #e3e9ef solid;
}

.calendar_tel_head {
  border-bottom: 1px #e3e9ef solid;
  margin-bottom: 0;
  padding: 19px 0;
  font-size: 17px;
}

.calendar_tel_head + .calendar_tel_body {
  padding-bottom: 0;
  border-bottom: none;
}

.calendar_tel_head + .calendar_tel_body div:first-child {
  display: none;
}

.calendar_tel_head + .calendar_tel_body div:last-child {
  padding: 13px;
  background: #fff;
  border: 1px #e3e9ef solid;
  text-align: center;
}

.calendar_tel_body {
  padding: 20px 0 15px;
}

.calendar_tel_body:nth-child(3) {
  border-bottom: 1px #e3e9ef solid;
}

/* reserve */

.reserve,
.reserveCalNav,
.category-choice {
  width: 100%;
}

.reserve {
  position: relative;
  padding: 20px 0 0;
  /*  overflow: hidden;*/
}

.reserveCal:not(.is-close)::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 30px;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
  content: "";
}

.category-choice {
  padding: 15px;
  margin: 0 auto 20px;
  display: table;
}

.category-choice h4 {
  float: none;
  width: auto;
  display: table-cell;
  padding: 0;
  vertical-align: middle;
}

.choice-list li {
  display: inline-block;
  margin-right: 0;
  margin-left: 15px;
}

.choice-list {
  margin: 0;
}

.example {
  position: relative;
  padding: 0 0 0 40px;
  height: auto;
  width: 280px;
  margin: 0 auto 20px;
}

.example h4 {
  position: absolute;
  top: 0;
  left: 0;
  width: 70px;
}

.example p {
  float: none;
  margin: 0 0 5px 0;
}

/* reserveCal */
.reserveCal {
  transition: .3s;
  background-color: #f5f5f5;
  overflow: hidden;
  height: 500px;
}

/* reserveCalNav */
.reserveCalNav .slick-track > li {
  font-size: 22px;
}

/* month */
.month {
  height: auto;
}

.month > ul {
  display: block;
  width: 100%;
  margin: auto;
}

.month > ul > li {
  display: flex;
  width: 100%;
  min-height: 0;
  padding: 10px;
}

.month > ul > li:nth-child(1),
.month > ul > li:nth-child(2),
.month > ul > li:nth-child(3),
.month > ul > li:nth-child(4),
.month > ul > li:nth-child(5),
.month > ul > li:nth-child(6),
.month > ul > li:nth-child(7) {
  display: none;
}

.month > ul > li span {
  padding: 0 10px 0 0;
  text-align: right;
}

.month > ul > li span::after {
  font-size: 10px;
  padding: 0 0 0 5px;
}

.month > ul > li:nth-child(7n+1) span::after {
  content: '日';
}

.month > ul > li:nth-child(7n+2) span::after {
  content: '月';
}

.month > ul > li:nth-child(7n+3) span::after {
  content: '火';
}

.month > ul > li:nth-child(7n+4) span::after {
  content: '水';
}

.month > ul > li:nth-child(7n+5) span::after {
  content: '木';
}

.month > ul > li:nth-child(7n+6) span::after {
  content: '金';
}

.month > ul > li:nth-child(7n+7) span::after {
  content: '土';
}

.month > ul > li.mont-holiday span::after {
  content: '祝';
}

.month > ul > li.month-other {
  display: none;
}

.month > ul > li span {
  width: 50px;
  font-size: 18px;
  margin: 0;
}

.month > ul > li ul {
  width: calc(100% - 50px);
}

.month > ul > li a time {
  padding: 0 10px 0 0;
}

/* reserveCalMore */
.reserveCalMore {
  display: block;
  width: 100px;
  margin: 15px auto 0;
  padding: 10px;
  background: #fff;
  border-radius: 3px;
  line-height: 1;
  text-align: center;
  border: 1px solid #e9edf2;
  transition: .3s;
}

.reserveCalNav .slick-arrow {
  width: 70px;
}

.reserveCalNav .slick-prev {
  background-position: 5px center;
}

.reserveCalNav .slick-next {
  background-position: right 5px center;
}

/* -----------------------------------------------
  新築LP
-------------------------------------------------- */

.newlybuiltSec:where(.wae-section-html){
  padding-inline: 0;
}
.newlybuiltSec-block:where(.newlybuiltSec-block-bg) {
  padding: 30px 15px;
}
.newlybuiltSec-block:where(.newlybuiltSec-block-bosaibohan) {
  padding: 30px 0;
}
.newlybuiltSec-block:where(.newlybuiltSec-block-campaign_info) {
  padding: 30px 15px;
}
.newlybuiltSec-block:where(.newlybuiltSec-block-recommend) {
  padding: 30px 0;
}

.newlybuiltSec .newlybuilt-title {
  margin: 0 0 25px;
  color: #004098;
  font-size: 2.3rem;
  font-weight: bold;
}

.newlybuiltSec .newlybuilt-title-balloon {
  display: table;
  margin: 0 auto 10px;
  position: relative;
  padding: 5px 10px;
  background: #004098;
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
}

.newlybuiltSec .newlybuilt-title-balloon::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-top: 5px solid #004098;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}

.newlybuiltSec .newlybuilt-lead {
  margin: 0 0 35px;
  font-size: 1.5rem;
}

.newlybuiltSec .newlybuilt-reason {
  padding: 40px 16px 40px;
}

.newlybuiltSec .newlybuilt-reason-list {
  display: block;
}

.newlybuiltSec .newlybuilt-reason-list > li {
  margin: 0 0 70px;
}

.newlybuiltSec .newlybuilt-reason-image {
  max-width: 200px;
  margin: 0 auto 20px;
}

.newlybuiltSec .newlybuilt-reason-text {
  min-height: 0px;
}
.newlybuiltSec .newlybuilt-recommend {
  padding: 40px 16px;
}

.newlybuiltSec .newlybuilt-recommend-block {
  margin: 0 0 30px;
  padding: 20px;
}

.newlybuiltSec .newlybuilt-recommend-title {
  font-size: 1.5rem;
}

.newlybuiltSec .newlybuilt-recommend-title span {
  font-size: 1.8rem;
}

.newlybuiltSec .newlybuilt-recommend-main {
  flex-direction: column;
}

.newlybuiltSec .newlybuilt-recommend-check {
  order: 2;
  width: auto;
  min-width: 0px;
  max-width: 335px;
  margin: 0 auto;
}

.newlybuiltSec .newlybuilt-recommend-plan {
  display: block;
  margin: 0 0 30px;
  padding: 20px;
}

.newlybuiltSec .newlybuilt-recommend-plan::before {
  border-top: 15px solid #a8bfdb;
  border-bottom: none;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  top: 100%;
  left: 50%;
  margin: 10px 0 0 -20px;
}

.newlybuiltSec .newlybuilt-recommend-plan-balloon {
  display: block;
  width: auto;
  min-width: 0px;
  margin: 20px 0 0;
  padding: 15px;
}

.newlybuiltSec .newlybuilt-recommend-plan-balloon::before {
  border-bottom: 20px solid #f1f6f8;
  border-top: none;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  top: -15px;
  right: 50%;
  margin: 0 -10px 0 0;
}

.newlybuiltSec .newlybuilt-recommend-media-icon {
  width: 80px;
  min-width: 80px;
  padding: 0 20px 0 10px;
}

.newlybuiltSec .newlybuilt-recommend-point {
  display: flex;
  align-items: center;
  padding: 18px;
  background: #fcc91a;
  color: #fff;
}

.newlybuiltSec .newlybuilt-recommend-point-title {
  margin: 0;
  padding: 9px 15px 6px 25px;
  font-size: 1.6rem;
}

.newlybuiltSec .newlybuilt-recommend-point-text {
  padding: 0 0 0 15px;
  font-size: 1.4rem;
  line-height: 1.4;
}

.newlybuiltSec .newlybuilt-flow-list {
  display: block;
}

.newlybuiltSec .newlybuilt-flow-list > li::before {
  border-top: 18px solid #a8bfdb;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: none;
  top: -35px;
  left: 50%;
  margin: 0 0 0 -20px;
}

.newlybuiltSec .newlybuilt-flow-list > li:not(:first-child) {
  margin: 50px 0 0;
}


/* -----------------------------------------------
  10ギガLP
  -------------------------------------------------- */

.accordion2024-btn {
  padding-inline: 2rem;
    font-size: 1.2em;
}

.accordion2024-btn::after {
    inset-inline-end: 1rem;
    width: 1rem;
}

.accordion2024-btn + * {
    padding-top: 20px;
}

/* -----------------------------------------------
   「ながーいお付き合い」LP
-------------------------------------------------- */
/* メインビジュアル */
.shinchikuwari-visual {
  height: auto;
}

.shinchikuwari-visualB {
  height: auto;
}

.shinchikuwari-visualB::before {
  content: none;
}


/* ナビ */
.shinchikuwari-nav {
  padding: 15px;
}

.shinchikuwari-nav > ul {
  display: block;
  padding: 2px;
}

.shinchikuwari-nav > ul > li:not(:first-child) {
  margin-left: 0;
  margin-top: 10px;
}

.shinchikuwari-nav > ul > li a {
  padding: 10px;
  border-width: 1px;
  -webkit-box-shadow: 0 0 0 1px #fff;
  box-shadow: 0 0 0 1px #fff;
}

.shinchikuwari-nav > ul > li a::before {
  width: 5px;
  height: 5px;
}

/* コンテンツ */
.shinchikuwari-title {
  margin-bottom: 30px;
}

.shinchikuwari-title::before,
.shinchikuwari-title::after {
  height: 5px;
  margin-bottom: 2vw;
}

.shinchikuwari-title > img {
  max-width: calc(100% - 80px);
}

.shinchikuwari-lead {
  margin: 0 0 35px;
  font-size: 1.5rem;
}

/* コンテンツ-おすすめのプラン */
.shinchikuwari-recommend {
  padding: 50px 15px 0;
}

.shinchikuwari-recommend-block {
  padding: 20px 15px;
}

.shinchikuwari-recommend-block:not(:last-child) {
  margin-bottom: 25px;
}

.shinchikuwari-recommend-block.shinchikuwari-recommend-pickup {
  border-width: 3px;
}

.shinchikuwari-recommend-block.shinchikuwari-recommend-pickup::before,
.shinchikuwari-recommend-block.shinchikuwari-recommend-pickup::after {
  width: 45px;
  height: 45px;
  margin: -3px;
}

.shinchikuwari-recommend-title {
  margin: 0 0 20px;
  font-size: 1.5rem;
}

.shinchikuwari-recommend-title-pop {
  width: 60px;
  right: auto;
  left: -10px;
  margin: 0;
}

.shinchikuwari-recommend-title > span {
  font-size: 1.8rem;
}

.shinchikuwari-recommend-main {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0 0 15px;
}

.shinchikuwari-recommend-check {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  width: auto;
  max-width: 335px;
}

.shinchikuwari-recommend-plan {
  display: block;
  margin: 0 0 30px;
  padding: 15px;
}

.shinchikuwari-recommend-plan::before {
  border-left-width: 15px;
  border-top-width: 20px;
  border-bottom-width: 20px;
  top: 100%;
  left: 50%;
  margin: 0 0 0 -10px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.shinchikuwari-recommend-plan-balloon {
  display: block;
  width: auto;
  min-width: 0px;
  margin: 20px 0 0;
  padding: 15px;
}

.shinchikuwari-recommend-plan-balloon::before {
  border-right-width: 20px;
  border-top-width: 10px;
  border-bottom-width: 10px;
  top: -20px;
  right: 50%;
  margin: 0 -10px 0 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.shinchikuwari-recommend-media-icon {
  width: 80px;
  padding: 0 20px 0 10px;
}

.shinchikuwari-recommend-point-title {
  margin: 0;
  padding: 9px 15px 6px 25px;
  font-size: 1.6rem;
}

.shinchikuwari-recommend-point-text {
  padding: 0 0 0 15px;
  font-size: 1.4rem;
  line-height: 1.4;
}

/* 新築割でお得 */
.shinchikuwari-detail {
  padding: 60px 0 0px;
  background-size: 76px;
  overflow: hidden;
}

.shinchikuwari-detail-title {
  margin: 0 10px 20px;
}

.shinchikuwari-detailList {
  display: block;
  margin: 0 15px;
}

.shinchikuwari-detailList > li {
  width: auto;
  margin: 0 0 20px;
}

.shinchikuwari-detailList-image {
  position: static;
  margin: 0 -4vw -57vw -12vw;
}

.shinchikuwari-detailList-image > img {
  width: 100%;
}

.shinchikuwari-detailList-image + .shinchikuwari-detailList-box {
  margin-left: 0;
  padding-top: 25px;
  padding-left: 15px;
}

.shinchikuwari-detailList-box {
  position: relative;
  padding: 25px 15px 15px;
}

.shinchikuwari-detailList-box-inner {
  padding: 10px;
}

.shinchikuwari-detailList-title {
  margin: 0 0 20px;
  font-size: 1.8rem;
}

.shinchikuwari-detailList-title-pop {
  bottom: calc(100% - 5px);
  width: 60px;
}

.shinchikuwari-detailList-title-large {
  display: inline-block;
  font-size: 3rem;
}

.shinchikuwari-detailList-btn {
  margin: 15px 10px 0;
}

.shinchikuwari-detailList-btn > a {
  display: block;
}

.shinchikuwari-detailList-comparison {
  padding: 10px 0;
}

.shinchikuwari-detailList-price-value {
  padding: 5px 0 15px;
}

.shinchikuwari-detailList-price-content {
  display: block;
}

.shinchikuwari-detailList-price-content > dt {
  display: block;
  width: auto;
  max-width: none;
  padding: 9px;
}

.shinchikuwari-detailList-price-content > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: auto;
  padding: 10px;
}

.shinchikuwari-detailList-price-content > dd:not(:last-child) {
  border-right: none;
  border-bottom: 2px dashed #ececec;
}

.shinchikuwari-detailList-price-icon {
  width: 50px;
  margin: 0 15px 0 0;
}

.shinchikuwari-detailList-tablet > dt {
  font-size: 1.6rem;
}

/* 資料請求で豪華プレゼント！ */
.shinchikuwari-present {
  padding: 60px 15px;
}

.shinchikuwari-present-note:not(:last-child) {
  margin-bottom: 20px;
}

.shinchikuwari-present-overview {
  padding: 20px;
}

.shinchikuwari-present-overview:not(:last-child) {
  margin-bottom: 30px;
}

.shinchikuwari-present-overview > dd:not(:last-child) {
  margin-bottom: 20px;
}

.shinchikuwari-present-btn > a {
  padding: 19px 30px;
  border-width: 2px;
  font-size: 2rem;
}

.shinchikuwari-present-btn > a::before {
  right: 10px;
  border-width: 2px;
}

.shinchikuwari-presentList {
  margin: 0 0 10px -15px;
}

.shinchikuwari-presentList > li {
  width: calc(100% / 2 - 15px);
  margin: 0 0 10px 15px;
}

.shinchikuwari-presentList > li::before {
  width: 35px;
  height: 35px;
}

.shinchikuwari-presentList-image {
  min-height: 100px;
}

.shinchikuwari-presentList-image > img {
  max-height: 100px;
}

.shinchikuwari-presentList-text {
  font-size: 1.5rem;
}

/* 選ばれる理由 */
.shinchikuwari-reason {
  padding: 60px 15px 0;
}

.shinchikuwari-reason-list {
  display: block;
}

.shinchikuwari-reason-list > li {
  margin: 0 0 70px;
}

.shinchikuwari-reason-image {
  max-width: 200px;
  margin: 0 auto 20px;
}

.shinchikuwari-reason-text {
  min-height: 0px;
}

/* ご相談からご入居までの流れ */
.shinchikuwari-flow {
  padding: 60px 15px;
}

.shinchikuwari-flow-list {
  display: block;
}

.shinchikuwari-flow-list > li:not(:first-child) {
  margin: 50px 0 0;
}

.shinchikuwari-flow-list > li:not(:first-child)::before {
  border-top: 18px solid rgba(170, 170, 170, 0.4);
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: none;
  top: -35px;
  left: 50%;
  margin: 0 0 0 -20px;
}

/* ハウスメーカー様・お客様の声 */
.shinchikuwari-voice {
  padding: 40px 15px;
}

.shinchikuwari-voice-box {
  display: block;
}

.shinchikuwari-voice-box > li {
  margin: 0 0 20px;
}

.shinchikuwari-voice-box > li:not(:first-child) {
  margin-left: 0;
}

.shinchikuwari-voice-image {
  width: 70px;
  min-width: 70px;
}

.shinchikuwari-voice-image figcaption {
  font-size: 1.1rem;
}

.shinchikuwari-voice-comment {
  padding: 20px;
  margin-left: 15px;
}

.shinchikuwari-voice-comment-title {
  font-size: 1.8rem;
}

.shinchikuwari-voice-more {
  display: block;
  padding: 20px 20px 10px;
}

.shinchikuwari-voice-more:not(:last-child) {
  margin-bottom: 40px;
}

.shinchikuwari-voice-more-title {
  padding: 0;
  width: auto;
  min-width: 0px;
}

.shinchikuwari-voice-more-list > li {
  font-size: 1.5rem;
}

/* お問い合わせ */
.shinchikuwari-contact {
  padding: 50px 15px;
}

.shinchikuwari-contact .shinchikuwari-title {
  margin-bottom: 25px;
}

.shinchikuwari-contact-bn:not(:last-child) {
  margin-bottom: 20px;
}

.shinchikuwari-contact-block {
  display: block;
}

.shinchikuwari-contact-block > li {
  padding: 20px 12px 12px;
}

.shinchikuwari-contact-block > li:not(:first-child) {
  margin: 20px 0 0;
}

.shinchikuwari-contact-title {
  font-size: 2rem;
}

.shinchikuwari-contact-tel-box {
  padding: 20px 10px;
}

.shinchikuwari-contact-tel-box dl > dt {
  display: block;
  max-width: 6em;
  margin: 0 auto 5px;
}

.shinchikuwari-contact-tel-box dl > dd {
  font-size: 1.4rem;
}

.shinchikuwari-contact-tel-num {
  font-size: 3.5rem;
}

.shinchikuwari-contact-tel-time {
  font-size: 1.6rem;
}

.shinchikuwari-contact-tel-note {
  font-size: 1.2rem;
}

.shinchikuwari-contact-btn {
  font-size: 1.5rem;
}

/* -----------------------------------------------
4K放送5つのギモン
-------------------------------------------------- */
/* 上部 */
.questions4k-top {
  padding: 0 0 40px;
}

.questions4k-top-visual {
  padding: 25px 0 35px;
}

.questions4k-top-box {
  margin: 0 20px;
  padding: 20px 15px 10px;
  border-width: 5px;
  border-radius: 15px;
}

.questions4k-top-box-title {
  font-size: 3rem;
}

.questions4k-top-box-title::before {
  margin-right: 10px;
}

.questions4k-top-box-image {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.questions4k-top-box-image img:first-child {
  margin-right: 0;
  margin-bottom: 20px;
}

.questions4k-top-box-image::before {
  width: 100%;
  height: 45px;
  margin-right: 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.questions4k-top-box::after {
  content: '';
}

/* ナビ */
.questions4k-nav {
  padding: 30px 15px;
}

.questions4k-nav-title {
  margin: 0 0 20px;
  font-size: 2.0rem;
}

.questions4k-nav-title span {
  font-size: 4rem;
  display: block;
  font-size: 3.2rem;
}

.questions4k-nav-title span::before,
.questions4k-nav-title span::after {
  content: '';
}

.questions4k-nav-title-large {
  font-size: 5rem;
}

.questions4k-nav-list > li {
  width: calc(50% - 6px);
  height: 44.7vw;
  margin: 0 0 12px;
}

.questions4k-nav-list > li:not(:first-child) {
  margin-left: 0;
}

.questions4k-nav-list > li:nth-child(2n) {
  margin-left: 10px;
}

.questions4k-nav-list > li > a {
  padding: 25px 15px 20px;
}

.questions4k-nav-list > li > a::before,
.questions4k-nav-list > li > a::after {
  border-width: 3px;
}

.questions4k-nav-list-icon {
  top: -6px;
  width: 50px;
  height: 50px;
  border-width: 3px;
  font-size: 1rem;
  line-height: 1;
}

.questions4k-nav-list-icon > span {
  display: block;
  font-size: 2rem;
}

.questions4k-nav-list-text {
  font-size: 1.8rem;
}

/* コンテンツ */
.questions4k-title {
  margin: 0 0 25px;
  padding: 0 0 15px;
  border-bottom-width: 3px;
  font-size: 2.4rem;
}

.questions4k-title-icon {
  top: -35px;
  width: 80px;
  margin-left: -40px;
}

.questions4k-content {
  padding: 60px 10px 40px;
}

.questions4k-content .inner {
  padding: 40px 15px 30px;
  border-radius: 15px;
}

.questions4k-content-top {
  display: block;
}

.questions4k-content-top-image {
  margin: 0 0 20px;
}

.questions4k-content-top-sub {
  font-size: 1.7rem;
}

.questions4k-content-top-lead {
  font-size: 2.8rem;
  line-height: 1.4;
}

.questions4k-content-acc-btn {
  margin: 30px auto 0;
  padding: 15px;
  border-radius: 5px;
  font-size: 2rem;
}

.questions4k-content-acc-inner {
  display: none;
  margin: 40px 0 0;
  padding: 30px 0 0;
  border-top-width: 3px;
}

.questions4k-content-subtitle {
  padding: 5px 25px;
  font-size: 2rem;
}

.questions4k-content-lead {
  font-size: 2.5rem;
}

.questions4k-content-lead-small {
  font-size: 2rem;
}

.questions4k-content-text {
  margin: 0 auto 20px;
  font-size: 1.6rem;
}

.questions4k-content-notes {
  display: block;
  padding: 20px 15px;
}

.questions4k-content-notes-image {
  margin: 20px 0 0;
  text-align: center;
}

.questions4k-content-notes-title {
  font-size: 2.2rem;
}

.questions4k-content-notes-text {
  font-size: 1.5rem;
}

.questions4k-content-notes-small {
  font-size: 1.2rem;
}

/* ギモン1 */
.questions4k-appeal {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.questions4k-appeal > li {
  -webkit-box-flex: calc(50% - 5px);
  -ms-flex: calc(50% - 5px);
  flex: calc(50% - 5px);
  margin: 0 0 10px;
  border-top-width: 3px;
}

.questions4k-appeal > li:not(:first-child) {
  margin-left: 0;
}

.questions4k-appeal > li:nth-child(2n) {
  margin-left: 10px;
}

.questions4k-appeal-title {
  font-size: 2rem;
}

.questions4k-appeal-title-small {
  font-size: 1.4rem;
}

/* ギモン2 */
.questions4k-connection-image:not(:last-child) {
  margin-bottom: 15px;
}

.questions4k-connection-note {
  font-size: 1.1rem;
}

/* ギモン3 */
.questions4k-tuner {
  display: block;
}

.questions4k-tuner:not(:last-child) {
  margin-bottom: 20px;
}

.questions4k-tuner-box {
  padding: 0;
}

.questions4k-tuner-box:not(:first-child) {
  margin-top: 20px;
  border-left: none;
  border-top: 3px solid #ececec;
}

.questions4k-tuner-list {
  font-size: 1.5rem;
}

.questions4k-tuner-list:not(:last-child) {
  margin-bottom: 10px;
}

.questions4k-tuner-list > li::before {
  padding: 4px 5px 0;
  font-size: 1.3rem;
}

.questions4k-tuner-image {
  margin: 0 0 15px;
}

.questions4k-tuner-note {
  font-size: 1.2rem;
}

.questions4k-tuner-attn {
  display: block;
  padding: 15px;
}

.questions4k-tuner-attn:not(:last-child) {
  margin-bottom: 20px;
}

.questions4k-tuner-attn-text {
  font-size: 1.5rem;
}

.questions4k-tuner-attn-note {
  font-size: 1.2rem;
}

.questions4k-tuner-attn-image {
  float: right;
  width: 120px;
  margin: 0 0 0 15px;
}

/* ギモン4 */
.questions4k-channel {
  padding: 15px 10px;
}

.questions4k-channel:not(:last-child) {
  margin-bottom: 20px;
}

.questions4k-channel-box:not(:last-child) {
  margin-bottom: 15px;
}

.questions4k-channel-box > dt {
  margin: 0 0 3px;
  font-size: 1.4rem;
}

/* ギモン5 */
.questions4k-himawari {
  padding: 20px 15px;
}

.questions4k-himawari:not(:last-child) {
  margin-bottom: 20px;
}

.questions4k-himawari-box:not(:last-child) {
  margin-bottom: 20px;
}

.questions4k-himawari-title {
  margin: 0 0 10px;
  font-size: 1.7rem;
}

.questions4k-himawari-title-large {
  font-size: 2.5rem;
}

.questions4k-himawari-inner {
  padding: 15px;
  border-radius: 10px;
}

.questions4k-himawari-point {
  font-size: 1.5rem;
}

.questions4k-himawari-point > li {
  padding: 0 0 15px;
}

.questions4k-himawari-point > li:not(:first-child) {
  border-top: 2px solid #ebebeb;
  padding-top: 15px;
}

.questions4k-himawari-point-num {
  position: static;
  display: block;
  margin: 0 0 5px;
  font-size: 1.2rem;
}

.questions4k-himawari-point-large {
  font-size: 2rem;
}

.questions4k-himawari-point-service {
  margin: 10px 0 0;
}

.questions4k-himawari-stb {
  max-width: 250px;
  margin: 0 auto;
}

.questions4k-himawari-option-price {
  max-width: 200px;
  margin: 0 auto;
}

.questions4k-himawari-option-text {
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.8;
}

.questions4k-himawari-option-text:not(:last-child) {
  margin-bottom: 15px;
}

.questions4k-himawari-option-note {
  font-size: 1.3rem;
  text-align: center;
}

/* バナー */
.questions4k-bnr {
  padding: 30px 15px;
}

/* お問合わせ */
.questions4k-contact .wae-section-title > h2 {
  padding: 0;
  font-size: 3rem;
}


/* -----------------------------------------------
集合住宅LP
-------------------------------------------------- */
.apartment {
  margin: 0;
}

.apartment-visual {
  padding: 0;
  height: auto;
}

.apartment-visual::after {
  display: none;
}

.apartment-nav {
  bottom: 1px;
  background: #0d5191;
  padding: 0 0 15px 0;
}

.apartment-nav.fixed {
  padding: 15px 0;
}

.apartment-nav ul {
  gap: 5px;
  width: 100%;
}

.apartment-nav ul li {
  display: block;
}

.apartment-nav ul .apartment-nav-normalBtn {
  width: 45%;
}

.apartment-nav ul .apartment-nav-btn {
  flex: auto;
  background: #fff112;
}

.apartment-nav ul li::before {
  right: 10px;
}

.apartment-nav ul li a {
  padding: 15px 20px;
  font-size: 1.8rem;
}

.apartment-nav-small {
  display: inline;
}

.apartment-reason,
.apartment-flow,
.apartment-contact {
  margin: 30px 0 0 0;
  padding: 0 15px;
}

.apartment-title,
.apartment-readTxt {
  margin: 0 0 20px 0;
}

.apartment-readTxt {
  font-size: 1.6rem;
}

.apartment-campaign {
  padding: 20px 10px;
  background-image: url(../img/apartment-campaign-bg.png), -moz-linear-gradient( 90deg, rgb(255,255,255) 0%, rgb(255,255,255) 650px, rgb(244,249,254) 700px, rgb(232,242,252) 100%);
  background-image: url(../img/apartment-campaign-bg.png), -webkit-linear-gradient( 90deg, rgb(255,255,255) 0%, rgb(255,255,255) 650px, rgb(244,249,254) 700px, rgb(232,242,252) 100%);
  background-image: url(../img/apartment-campaign-bg.png), -ms-linear-gradient( 90deg, rgb(255,255,255) 0%, rgb(255,255,255) 650px, rgb(244,249,254) 4700px, rgb(232,242,252) 100%);
}

.apartment-campaign .apartment-title {
  margin: 0 0 15px 0;
}

.apartment-campaign-list {
  flex-direction: column;
  margin-bottom: 60px;
}

.apartment-campaign-list li {
  width: 100%;
}

.apartment-campaign-list li p{
  min-height: initial;
}

.apartment-campaign-note {
  padding: 15px;
}

.apartment-plan-title {
  margin: 0 auto 20px auto;
  width: 90%;
}

.apartment-plan-title span {
  position: absolute;
  top: -50px;
  left: -10px;
}

.apartment-plan-title span img {
  width: 50px;
}

.apartment-plan-features {
  flex-direction: column;
  gap: 15px;
  padding: 15px 20px;
}

.apartment-plan-features li:not(:first-child):after{
  display: none;
}

.apartment-plan-best {
  flex-direction: column;
}
.apartment-plan-best-item {
  width: 100%;
}

.apartment-notesBox {
  margin-bottom: 30px;
}
.apartment-notesBox-note {
  margin: 20px 0;
}
.apartment-plan-btn {
  width: 100%;
  padding: 18px;
}


.apartment-himawariTv-list-txt {
  line-height: 1.5;
  padding: 0;
}

.apartment-reason {
  padding: 30px 20px;
}

.apartment-reason-list {
  margin: 0;
}

.apartment-reason-list li {
  width: 48%;
  text-align: center;
  display: block;
}

.apartment-reason-title {
  font-size: 2.2rem;
}

.apartment-reason-txt > p strong {
  font-size: 1.7rem;
}

.apartment-himawariTv {
  padding: 15px;
}

.apartment-himawariTv-list li {
  width: 48%;
}

.apartment-flow-list {
  display: block;
}

.apartment-flow-list > li {
  margin: 0 0 50px 0;
}

.apartment-flow-list > li:not(:first-child) {
  margin-left: 0;
}

.apartment-flow-list > li::before {
  border-left: none;
  border-top: none;
  border-bottom: none;
}

.apartment-contact {
  padding: 20px;
}

.apartment-contact-block {
  display: block;
}

.apartment-contact-net,
.apartment-contact-tel {
  width: 100%;
}

.apartment-reason-txt {
  margin: 0;
}

.apartment-contact-tel-num {
  font-size: 4.2rem;
}

.apartment-contact-tel-box dl > dt {
  vertical-align: 1rem;
}

.apartment-contact-title {
  margin: 0 0 15px;
  font-size: 2.2rem;
}

.apartment-contact-lead {
  margin: 0 0 10px;
}

.apartment-contact-block > li {
  padding: 20px;
  margin: 0 0 20px 0;
}

.apartment-contact-tel-box {
  padding: 10px;
}

.apartment-contact-shop-list {
  display: block;
  margin: 0 0 10px 0;
}

.apartment-contact-shop-list li {
  margin: 0 0 10px 0;
  display: inline-block;
}

.apartment-himawariTv-sptitle {
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
  color: #0d5191;
  margin: 0 0 20px 0;
}

.apartment-himawariTv-icon-pickup {
  background: #fb445e;
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
  display: inline-block;
  padding: 6px 20px;
  border-radius: 30px;
  margin: 0 0 10px 0;
}

.apartment-himawariTv-title {
  margin: 0 0 10px 0;
  line-height: 1.4;
}

.apartment-flow-image {
  margin: 0 0 10px 0;
}

.apartment-flow-image img {
  width: 40%;
}

.apartment-himawariTv-list-title {
  font-size: 1.9rem;
}

.apartment-flow-list > li::before {
  border-top: 18px solid #a8bfdb;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: none;
  top: -35px;
  left: 50%;
  margin: 0 0 0 -20px;
}

.apartment-title-sp {
  font-size: 2.5rem;
  font-weight: bold;
  color: #0d5191;
}


/* -----------------------------------------------
数字で解説！ひまわりネットワークが選ばれる理由
-------------------------------------------------- */
/* 全体 */
.numberguide {
  padding: 0 0 60px;
  background-size: 10px;
}

/* 上部 */
.numberguide-visual {
  padding: 20px 15px 35px;
}

.numberguide-top .numberguide-nav > li {
  border-radius: 10px;
}

.numberguide-top .numberguide-nav > li::before {
  width: 60px;
  height: 60px;
  margin-left: -30px;
}

.numberguide-top .numberguide-nav > li.is-active:not(.is-noHover)::before {
  top: -30px;
}

.numberguide-top .numberguide-nav > li:hover::before {
  top: -30px;
}

.numberguide-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: auto;
  margin: 15px 10px 10px 5px;
}

.numberguide-nav > li {
  -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;
  width: calc(50% - 5px);
  margin: 0 0 5px 5px;
  border-radius: 10px;
}

.numberguide-nav > li.tab-number01 .numberguide-nav-text {
  font-size: 1.6rem;
}

.numberguide-nav-btn {
  min-height: 90px;
  padding: 10px 5px 25px;
}

.numberguide-nav-small {
  font-size: 1.3rem;
}

.numberguide-nav-text {
  font-size: 1.8rem;
}

/* コンテンツ */
.numberguide .tab-content {
  padding: 40px 15px;
}

.numberguide-title {
  font-size: 3.1rem;
}

.numberguide-title-small {
  font-size: 2rem;
}

.numberguide-lead {
  font-size: 1.5rem;
}

.numberguide-box {
  display: block;
  margin: 0 0 0 -20px;
}

.numberguide-box-item {
  width: auto;
  margin: 0 0 20px 20px;
}

.numberguide-box-item.full,
.numberguide-box-item.half {
  width: auto;
}

.numberguide-box-item-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 15px;
}

.numberguide-box-item.history {
  background-size: 100% auto;
}

.numberguide-box-item.history .numberguide-box-text {
  margin: auto;
}

.numberguide-box-item.history .numberguide-box-text::before {
  width: 65px;
  height: 73px;
}

.numberguide-box-item.house {
  background-size: 118px auto, 75px auto;
}

.numberguide-box-item.house .numberguide-box-item-inner .numberguide-box-flex {
  margin: auto -10px;
}

.numberguide-box-item.house .numberguide-box-text {
  font-size: 2.8rem;
}

.numberguide-box-item.house .numberguide-box-num {
  font-size: 5rem;
}

.numberguide-box-item.house canvas {
  width: 31vw !important;
  height: 31vw !important;
}

.numberguide-box-item.program .numberguide-box-item-inner .numberguide-box-flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 5px;
}

.numberguide-box-item.program .numberguide-box-text {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
}

.numberguide-box-item.program .numberguide-box-text::before {
  width: 72px;
  height: 60px;
}

.numberguide-box-item.program .numberguide-box-image {
  margin: 10px 0;
}

.numberguide-box-item.channel .numberguide-box-text {
  margin: auto;
}

.numberguide-box-item.channel .numberguide-box-text::before {
  width: 72px;
  height: 60px;
}

.numberguide-box-item.area .numberguide-box-text {
  margin: 0;
  font-size: 2.5rem;
}

.numberguide-box-item.area .numberguide-box-area {
  top: 10%;
  left: 8%;
}

.numberguide-box-item.area .numberguide-box-area svg {
  width: 112%;
  height: 170%;
}

.numberguide-box-item.tvShare {
  background-size: auto 27vw, auto 110vw;
  background-position: 21vw 14vw, -23vw -6vw;
}

.numberguide-box-item.tvShare .numberguide-box-title {
  margin: 0 -10px 28vw;
  font-size: 2.5rem;
}

.numberguide-box-item.tvShare .numberguide-box-text {
  margin: 0 -15px 15px;
  font-size: 3rem;
  text-align: center;
}

.numberguide-box-item.newEntry {
  background-size: 33%;
}

.numberguide-box-item.newEntry .numberguide-box-title {
  margin: 0 0 15px;
}

.numberguide-box-item.newEntry canvas {
  width: 31vw !important;
  height: 31vw !important;
}

.numberguide-box-item.household {
  background-size: 58%;
}

.numberguide-box-item.household .numberguide-box-title {
  margin: 0 0 15px;
}

.numberguide-box-item.household .numberguide-box-item-inner .numberguide-box-flex {
  margin-bottom: 10px;
}

.numberguide-box-item.household canvas {
  width: 31vw !important;
  height: 31vw !important;
}

.numberguide-box-item.netSpeed {
  background-size: 76% auto, 94% auto;
  background-position: 0 50px, 50% calc(100% + 50px);
}

.numberguide-box-item.netSpeed .numberguide-box-title {
  margin: 0;
}

.numberguide-box-item.netSpeed .numberguide-box-item-inner .numberguide-box-flex {
  display: block;
  margin: auto -10px;
}

.numberguide-box-item.netSpeed .numberguide-box-text {
  font-size: 3rem;
}

.numberguide-box-item.netSpeed .numberguide-box-text .numberguide-box-maker {
  font-size: 3.8rem;
}

.numberguide-box-item.netSpeed .numberguide-box-text.areaRank {
  margin-top: 75px;
  font-size: 3.5rem;
}

.numberguide-box-item.netSpeed .numberguide-box-text.areaRank .numberguide-box-num {
  padding: 35px 0 0;
}

.numberguide-box-item.netSpeed .numberguide-box-text.areaRank .numberguide-box-num::before {
  height: 35px;
}

.numberguide-box-item.shopNum {
  background-size: 90% auto;
}

.numberguide-box-item.shopNum .numberguide-box-title {
  margin: 0;
}

.numberguide-box-item.shopNum .numberguide-box-text {
  margin: auto;
}

.numberguide-box-item.supportStaff {
  background-size: 95% auto;
}

.numberguide-box-item.supportStaff .numberguide-box-title {
  margin: 0;
}

.numberguide-box-item.supportStaff .numberguide-box-text {
  margin: auto;
}

.numberguide-box-item.supportNum {
  background-size: 50% auto, 40% auto;
}

.numberguide-box-item.supportNum .numberguide-box-title {
  margin: 0;
}

.numberguide-box-item.supportNum .numberguide-box-item-inner .numberguide-box-flex {
  display: block;
  margin: auto -10px;
}

.numberguide-box-item.supportNum .numberguide-box-item-inner .numberguide-box-flex > * {
  margin-top: 15px;
}

.numberguide-box-item.supportNum .numberguide-box-text {
  font-size: 2.8rem;
}

.numberguide-box-item.supportNum .numberguide-box-num {
  font-size: 6rem;
}

.numberguide-box-item.visitorsNum {
  background-size: 180% auto;
}

.numberguide-box-item.visitorsNum .numberguide-box-title {
  margin: 0;
}

.numberguide-box-item.visitorsNum .numberguide-box-item-inner .numberguide-box-flex {
  display: block;
  margin: auto -10px;
}

.numberguide-box-item.visitorsNum .numberguide-box-item-inner .numberguide-box-flex > * {
  margin-top: 15px;
}

.numberguide-box-item.visitorsNum .numberguide-box-text {
  font-size: 2.8rem;
}

.numberguide-box-item.visitorsNum .numberguide-box-num {
  font-size: 6rem;
}

.numberguide-box-item.tvreason {
  background-size: 34% auto;
}

.numberguide-box-title {
  margin: 0;
  font-size: 2.7rem;
}

.numberguide-box-subtitle {
  font-size: 1.6rem;
}

.numberguide-box-text {
  margin: auto;
  font-size: 3.8rem;
}

.numberguide-box-num {
  margin: 0 5px;
  font-size: 7rem;
}

.numberguide-box-rank {
  font-size: 5.6rem;
}

.numberguide-box-note {
  margin-right: 45px;
  font-size: 1.3rem;
}

.numberguide-box-more,
.numberguide-box-close {
  width: 74px;
  height: 60px;
  padding: 22px 5px 0 30px;
  font-size: 1.3rem;
}

.numberguide-box-flex {
  margin: 0 0 -10px -10px;
}

.numberguide-box-flex > * {
  margin: 0 0 10px 10px;
}

.numberguide-box-hover {
  padding: 10px;
}

.numberguide-box-hover-title {
  min-height: 44px;
  margin: -20px 0 10px;
}

.numberguide-box-hover-inner {
  padding: 25px 15px;
}

.numberguide-box-hover-inner.hoverColumn {
  display: block;
}

.numberguide-box-hover-image {
  margin: 0 0 15px;
  text-align: center;
}

.numberguide-box-hover-text {
  font-size: 1.4rem;
}

.numberguide-box-hover-text:not(:last-child) {
  margin-bottom: 10px;
}

.numberguide-box-hover-text.largeText {
  font-size: 1.6rem;
}

.numberguide-box-hover-text.largeText:not(:last-child) {
  margin-bottom: 20px;
}

.numberguide-box-hover-btn > a {
  padding: 15px 20px 15px 15px;
  font-size: 1.4rem;
}

.numberguide-box-hover-btn > a::after {
  right: 10px;
}

.numberguide-box-hover-ago {
  display: block;
  margin: 0 0 -15px;
}

.numberguide-box-hover-ago:not(:first-child) {
  margin-top: 15px;
}

.numberguide-box-hover-ago > * {
  margin: 0 0 15px;
}

.numberguide-box-hover-ago .numberguide-box-hover-inner {
  padding: 15px;
}

.numberguide-box-graph {
  margin: 0 -5px 0 -15px;
}

.numberguide-box-graph > * {
  margin: 0 0 0 10px;
}

.numberguide-box-graph-line {
  display: none;
}

.numberguide-box-graph-left .numberguide-box-text {
  font-size: 1.6rem;
}

.numberguide-box-graph-left .numberguide-box-text:not(:last-child) {
  margin-bottom: 15px;
}

.numberguide-box-graph-left .numberguide-box-subtitle {
  display: block;
  margin-right: 0;
  font-size: 1.3rem;
}

.numberguide-box-graph-left .numberguide-box-num {
  font-size: 4rem;
}

.numberguide-box-graph-right .numberguide-box-text {
  font-size: 2.4rem;
}

.numberguide-box-graph-right .numberguide-box-text:not(:last-child) {
  margin-bottom: 15px;
}

.numberguide-box-graph-right .numberguide-box-subtitle {
  font-size: 1.6rem;
}

.numberguide-box-graph-right .numberguide-box-num {
  font-size: 5rem;
}

.numberguide-box-graph canvas {
  width: 31vw !important;
  height: 31vw !important;
}

.numberguide-smallBox {
  display: block;
  margin: 0 -10px -15px;
}

.numberguide-smallBox:not(:first-child) {
  margin-top: 20px;
}

.numberguide-smallBox .numberguide-box-graph {
  margin: 0 0 0 -5px;
}

.numberguide-smallBox .numberguide-box-graph > * {
  margin: 0 0 0 5px;
}

.numberguide-smallBox .numberguide-box-graph-left .numberguide-box-text {
  font-size: 1.6rem;
}

.numberguide-smallBox .numberguide-box-graph-left .numberguide-box-text:not(:last-child) {
  margin-bottom: 10px;
}

.numberguide-smallBox .numberguide-box-graph-left .numberguide-box-subtitle {
  font-size: 1.2rem;
}

.numberguide-smallBox .numberguide-box-graph-left .numberguide-box-num {
  font-size: 3.6rem;
}

.numberguide-smallBox .numberguide-box-graph-right .numberguide-box-text {
  font-size: 2rem;
}

.numberguide-smallBox .numberguide-box-graph-right .numberguide-box-subtitle {
  font-size: 1.3rem;
}

.numberguide-smallBox .numberguide-box-graph-right .numberguide-box-num {
  font-size: 4.5rem;
}

.numberguide-smallBox-item {
  margin: 0 0 15px;
  padding: 15px 5px;
}

.numberguide-smallBox-title {
  margin: 0 0 15px;
  font-size: 2.6rem;
}

/* -----------------------------------------------
   newtop
-------------------------------------------------- */
.hikari-menu > li.hikari-menu-bn {
  width: 100%;
}

.hikari-menu > li.hikari-menu-bn a {
  padding: 0;
}

.hikari-menu > li.hikari-menu-bn a:before {
  content: none;
}

.newtop .section-title {
  font-size: 2.1rem;
  font-weight: bold;
}

.newtop-tab {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 12px 7px 0;
}

.newtop-tab > li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 17px 5px 16px;
  border-radius: 10px 10px 0 0;
  color: #014099;
  font-size: 1.9rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  -webkit-box-shadow: 2px 1px 1px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 2px 1px 1px 0px rgba(0, 0, 0, 0.05);
}

.newtop-tab > li:not(:first-child) {
  margin-left: 5px;
}

.newtop-tab > li.newtop-tab-new::before,
.newtop-tab > li.newtop-tab-already::before {
  content: '';
  display: inline-block;
  vertical-align: -0.2em;
  width: 25px;
  height: 21px;
  margin: 0 7px 0 0;
}

.newtop-tab > li.newtop-tab-new::before {
  background: url(../img/header/icon_visitor.png) no-repeat 50% 50%/contain;
}

.newtop-tab > li.newtop-tab-already::before {
  background: url(../img/header/icon_member.png) no-repeat 50% 50%/contain;
}

.newtop-tab-new {
  background-color: #b9e7fa;
}

.newtop-tab-already {
  background-color: #fff2af;
}

div[data-tab-block*="tab-newtop"] {
  position: relative;
  z-index: 1;
}

.newtop-customer-bnr {
  margin-bottom: 10px;
}

.newtop-title {
  margin: 30px 0 15px;
  font-size: 1.9rem;
  font-weight: bold;
  text-align: center;
}

.newtop-customer {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 0 -10px;
}

.newtop-customer > li {
  width: 100%;
  margin: 0 0 10px 10px;
}

.newtop-customer > li > a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 60px;
  padding: 10px 15px 10px 45px;
  background: #fff;
  border-top: 2px solid;
  -webkit-box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.04);
  box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.04);
}

.newtop-customer > li > a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -4px;
  border-left: 6px solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

.newtop-customer > li.newtop-customer-simulation > a {
  border-top: none;
  background: url(../img/bg_stripe_yellow2.png);
  color: #000;
}

.newtop-customer > li.newtop-customer-simulation > a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 7px;
  margin-top: -4px;
  border-left: 6px solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

.newtop-customer > li.toyota_link > a {
  padding: 10px 25px 10px 10px;
  color: #1e2a61;
  background: #f4f4f7;
}

.newtop-customer > li.nagakute_link > a {
  padding: 10px 25px 10px 10px;
  color: #006801;
  background: #f2f7f2;
}

.newtop-customer > li.miyoshi_link > a {
  padding: 10px 25px 10px 10px;
  color: #f07f43;
  background: #fef8f5;
}

.newtop-customer > li.half {
  width: calc(50% - 10px);
}

.newtop-customer.col3 > li.half {
  width: calc(33% - 10px);
}

.newtop-customer > li.newtop-customer-kodate > a::before,
.newtop-customer > li.newtop-customer-syugo > a::before,
.newtop-customer > li.newtop-customer-simulation > a::before,
.newtop-customer > li.newtop-customer-faq > a::before,
.newtop-customer > li.newtop-customer-shop > a::before,
.newtop-customer > li.newtop-customer-manual > a::before,
.newtop-customer > li.newtop-customer-tv > a::before,
.newtop-customer > li.newtop-customer-program > a::before,
.newtop-customer > li.newtop-customer-cateene > a::before,
.newtop-customer > li.newtop-customer-phone > a::before,
.newtop-customer > li.newtop-customer-wifi > a::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 11px;
  margin-top: -15px;
  width: 26px;
  height: 26px;
}

.newtop-customer > li.newtop-customer-kodate > a::before {
  background: url(../img/newtop_icon_kodate_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-syugo > a::before {
  background: url(../img/newtop_icon_syugo_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-simulation > a::before {
  background: url(../img/newtop_icon_simulation.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-faq > a::before {
  background: url(../img/newtop_icon_faq_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-wifi > a::before {
  background: url(../img/newtop_icon_wifi_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-shop > a::before {
  background: url(../img/newtop_icon_shop_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-manual > a::before {
  background: url(../img/newtop_icon_manual_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-tv > a::before {
  background: url(../img/newtop_icon_tv_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-program > a::before {
  background: url(../img/newtop_icon_program_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-cateene > a::before {
  background: url(../img/newtop_icon_cateene_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer > li.newtop-customer-phone > a::before {
  background: url(../img/newtop_icon_phone_keycolor.png) no-repeat 50% 50%/contain;
}

.newtop-customer-title {
  -webkit-box-flex: 1;
  -ms-flex: auto;
  flex: auto;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.3;
}

.newtop-customer-text {
  margin: 0 0 0 10px;
  width: 15em;
  font-size: 1rem;
}

.newtop-campaign {
  padding: 20px 20px 40px;
  background: #f9fdff;
  border-top: 2px solid #e3e9ef;
  border-bottom: 2px solid #e3e9ef;
}

.newtop-campaign .content-inner {
  padding: 0;
}

.newtop-campaign .section-title > span {
  display: inline-block;
  margin: 0 0 3px;
  padding: 3px 15px;
  background: #014099;
  border-radius: 50px;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
}

.newtop-campaign-btn {
  max-width: 225px;
  margin: 5px auto 0;
}

.newtop-campaign-btn > a {
  position: relative;
  display: block;
  padding: 5px 10px;
  background: #fff;
  border: 2px solid #e3e9ef;
  border-radius: 5px;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
}

.newtop-campaign-btn > a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 7px;
  margin-top: -3px;
  border-left: 5px solid;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
}

.newtop-campaign .top-slider {
  width: auto;
}

.newtop-campaign .top-slider .slick-list {
  height: auto !important;
}

.newtop-campaign .top-slider .slick-track {
  width: 100% !important;
  -webkit-transform: none !important;
  transform: none !important;
}

.newtop-campaign .top-slider .slick-track > li {
  margin: 0 10px 20px;
  width: calc(50% - 20px) !important;
}

.newtop-campaign .top-slider .slick-track > li:nth-child(2n+1) {
  clear: both;
}

.newtop-campaign .top-slider li a,
.newtop-campaign .top-slider .campaign-slider-img {
  border: none;
  border-radius: 0px;
}

.newtop-campaign .top-slider .slick-arrow,
.newtop-campaign .top-slider .campaign-slider-text {
  display: none !important;
}

.newtop-contact {
  background: url(../img/header/pattern.png);
}

.newtop-contact .section-title {
  color: #fff;
}

.newtop-contact-menu {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 -10px -10px;
}

.newtop-contact-menu > li {
  width: 100%;
  margin: 0 0 10px 10px;
  border-radius: 4px;
}

.newtop-contact-menu > li > a {
  position: relative;
  display: block;
  border: 4px solid rgba(0, 0, 0, 0.06);
  color: #000;
}

.newtop-contact-menu > li > a[href="tel:0120210114"] {
  border: none;
}

.newtop-contact-menu > li > a[href="tel:0120210114"]::after {
  border: none;
}

.newtop-contact-menu > li > a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 7px;
  margin-top: -4px;
  border-left: 6px solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}

.newtop-contact-menu > li.newtop-contact-simulation {
  background: url(../img/bg_stripe_yellow2.png);
  font-size: 1.7rem;
  font-weight: bold;
}

.newtop-contact-menu > li.newtop-contact-simulation > a {
  padding: 12px;
}

.newtop-contact-menu > li.newtop-contact-simulation > a::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 22px;
  height: 24px;
  margin: 0 10px 0 0;
  background: url(../img/newtop_icon_simulation.png) no-repeat 50% 50%/contain;
}

.newtop-contact-menu > li.newtop-contact-change {
  background: url(../img/bg_stripe_yellow.png);
  font-size: 1.5rem;
  font-weight: bold;
}

.newtop-contact-menu > li.newtop-contact-change > a {
  padding: 10px 15px;
}

.newtop-contact-menu > li.newtop-contact-change > a::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 27px;
  margin: 0 8px 0 0;
  background: url(../img/newtop_icon_change.png) no-repeat 50% 50%/contain;
}

.newtop-contact-menu > li.newtop-contact-shop,
.newtop-contact-menu > li.newtop-contact-staff,
.newtop-contact-menu > li.newtop-contact-pamphlet,
.newtop-contact-menu > li.newtop-contact-application {
  width: calc(100% / 3 - 10px);
  background: url(../img/bg_stripe_yellow.png);
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
}

.newtop-contact-menu > li.newtop-contact-shop > a,
.newtop-contact-menu > li.newtop-contact-staff > a,
.newtop-contact-menu > li.newtop-contact-pamphlet > a,
.newtop-contact-menu > li.newtop-contact-application > a {
  padding: 8px;
}

.newtop-contact-menu > li.newtop-contact-shop > a::before,
.newtop-contact-menu > li.newtop-contact-staff > a::before,
.newtop-contact-menu > li.newtop-contact-pamphlet > a::before,
.newtop-contact-menu > li.newtop-contact-application > a::before {
  content: '';
  display: block;
  height: 29px;
  margin: 0 auto 2px;
}

.newtop-contact-menu > li.newtop-contact-shop > a::before {
  width: 27px;
  background: url(../img/newtop_icon_shop.png) no-repeat 50% 50%/contain;
}

.newtop-contact-menu > li.newtop-contact-staff > a::before {
  width: 33px;
  background: url(../img/newtop_icon_staff.png) no-repeat 50% 50%/contain;
}

.newtop-contact-menu > li.newtop-contact-pamphlet > a::before {
  width: 22px;
  background: url(../img/newtop_icon_pamphlet.png) no-repeat 50% 50%/contain;
}

.newtop-contact-menu > li.newtop-contact-application > a::before {
  width: 22px;
  background: url(../img/header/mnav-banner_icon_application.png) no-repeat 50% 50%/contain;
}

.newtop-contact-menu > li.newtop-contact-tel {
  padding: 15px 11px 11px;
  background: #f9fdff;
  text-align: center;
}

.newtop-contact-menu > li.newtop-contact-tel a > img {
  max-width: 235px;
  margin: 0 auto 7px;
}

.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-notes {
  padding: 5px;
  background: #e7f1f4;
}

.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-guidance {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.2rem;
}

.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-guidance > span {
  color: #024199;
  font-size: 1.7rem;
  font-weight: bold;
}

.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-guidance > span::before,
.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-guidance > span::after {
  display: inline-block;
  vertical-align: middle;
  margin: 0.3em;
  color: #000;
  font-size: 1.2rem;
}

.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-guidance > span::before {
  content: '【';
}

.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-guidance > span::after {
  content: '】';
}

.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-time {
  display: inline-block;
  vertical-align: middle;
  text-align: left;
  font-size: 1rem;
  line-height: 1.2;
}

.newtop-contact-menu > li.newtop-contact-tel .newtop-contact-time small {
  display: block;
  font-size: 1rem;
}

.newtop-content {
  background: #ceedfa;
}

.newtop-content .onair-program {
  background: #fff;
}

/* ひまわりのオススメ */
.newtop-recommend {
  background: #fff;
}

.newtop-recommend-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px -10px;
}

.newtop-recommend-list li {
  width: calc(50% - 10px);
  list-style: none;
  margin: 0 0 10px 10px;
}


/* ヘッダー */
.min-header-logo {
  padding-right: 15px;
}

.min-header-btn {
  width: 16vw;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
}

.min-header-btn > a {
  display: block;
  min-height: 70px;
  padding: 11px 0;
}

.min-header-btn img {
  display: block;
  width: 27px;
  margin: 0 auto 8px;
}

/* フッター */
.newfooter .footer {
  margin-top: 0;
  border-top: none;
}

.newfooter copyrights {
  padding: 0 10px 10px;
  font-size: 1.0rem;
}

.newfooter .sitemap-btn {
  position: relative;
  padding: 15px 0;
  color: #fff;
  background: #004098;
  font-size: 1.3rem;
  cursor: pointer;
}

.newfooter .sitemap-btn::before {
  content: none;
}

.newfooter .sitemap-btn::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 10px;
  width: 9px;
  height: 12px;
  background: url(../img/footer/address_sitemap_arw2.png) center 50% no-repeat;
  background-size: 9px 6px;
}

.newfooter .sitemap-btn.active::after {
  transform: rotate(180deg);
}

.newfooter-address {
  margin-top: 20px;
  border-top: 1px #e3e9ef solid;
  font-size: 12px;
}

.newfooter-address .group > * {
  display: block;
  width: 100%;
  text-align: center;
}

.newfooter-address .group > *.newfooter-block {
  display: none;
}

.newfooter-block ul {
  display: none;
}

.newfooter-logo {
  padding: 10px 5px 90px;
}

.newfooter ~ .floating-banner,
.newfooter ~ .floating-simulation,
.newfooter ~ .pagetop {
  display: none !important;
}

.newfloating {
  position: fixed;
  bottom: 0;
  z-index: 99;
  width: 100%;
  transition: all 0.35s ease-out;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

.newfloating.is-off {
  -webkit-transform: translateY(100%) !important;
  transform: translateY(100%) !important;
}

.newfloating-close {
  width: 7em;
  margin: 0 10px 0 auto;
  padding: 5px 5px 5px;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 4px 4px 0 0;
  color: #fff;
  font-size: 1.1rem;
  text-align: center;
  cursor: pointer;
}

.newfloating-close::before {
  content: '×';
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px 0 0;
  font-size: 11px;
  line-height: 1;
}

.newfloating-menu {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 0 -4vw;
  padding: 15px;
  background: rgba(0, 0, 0, 0.8);
}

.newfloating-menu > li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0 0 0 5vw;
  background: url(../img/bg_stripe_yellow.png);
  border-radius: 4px;
}

.newfloating-menu > li > a {
  position: relative;
  display: block;
  padding: 0 0 0 35px;
  line-height: 1.3;
  border: 4px solid rgba(0, 0, 0, 0.06);
  color: #000;
  font-size: 1.5rem;
  font-weight: bold;
}

.newfloating-menu > li.newfloating-menu-simulation > a::before,
.newfloating-menu > li.newfloating-menu-simulation-s > a::before,
.newfloating-menu > li.newfloating-menu-shop > a::before,
.newfloating-menu > li.newfloating-menu-online > a::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 7px;
  width: 18px;
  height: 18px;
  margin-top: -9px;
}

.newfloating-menu > li.newfloating-menu-simulation,
.newfloating-menu > li.newfloating-menu-simulation-s {
  background: url(../img/bg_stripe_yellow2.png);
}

.newfloating-menu > li.newfloating-menu-simulation > a::before,
.newfloating-menu > li.newfloating-menu-simulation-s > a::before {
  width: 22px;
  background: url(../img/newtop_icon_simulation.png) no-repeat 50% 50%/contain;
}

.newfloating-menu > li.newfloating-menu-shop > a::before {
  background: url(../img/newtop_icon_shop.png) no-repeat 50% 50%/contain;
}

.newfloating-menu > li.newfloating-menu-online > a::before {
  background: url(../img/newtop_icon_online.png) no-repeat 50% 50%/contain;
  width: 22px;
}


/* フローティング更新　2020.06.10 */

.newfloating-menu > li.newfloating-menu-simulation-s {
  flex: 2;
  margin: 0 0 0 4vw;
}

.newfloating-menu > li.newfloating-menu-contact {
  flex: 3;
  margin: 0 0 0 4vw;
}

.newfloating-menu > li.newfloating-menu-simulation-s a,
.newfloating-menu > li.newfloating-menu-contact a {
  align-items: center;
  display: flex;
  height: 100%;
}

.newfloating-menu > li.newfloating-menu-contact a {
  min-height: 52px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  text-align: left;
  /*padding-left: 45px;*/
  padding-left: 15px;
  font-size: 1.7rem;
}

.newfloating-menu > li.newfloating-menu-contact span {
  width: 100%;
  font-size: 1.1rem;
}

.newfloating-menu > li.newfloating-menu-contact a::before {
  content: "";
  display: block;
  width: 48px;
  /*background: url(../img/footer/newfloating-menu-cablegirl.png) no-repeat 100% 100%/contain;*/
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: -4px;
}

@media screen and (max-width: 360px) {
  .newfloating-menu > li > a br {
    display: none;
  }

  .newfloating-menu > li.newfloating-menu-contact a {
    font-size: 1.5rem;
  }

  .newfloating-menu > li.newfloating-menu-contact a::before {
    width: 50px;
  }
}



/* -----------------------------------------------
   キャンペーンスライド改修
-------------------------------------------------- */
.content-inner .campaign-slider,
.content-inner .campaign-more {
  margin-left: -20px;
  margin-right: -20px;
}

.newtop-campaign .campaign-more {
  margin-left: 0;
  margin-right: 0;
}

.col2 .content-inner .campaign-slider,
.col2 .content-inner .campaign-more {
  margin-left: 0;
  margin-right: 0;
}

.campaign-slider,
.top-slider {
  display: flex;
  flex-wrap: wrap;
  width: auto;
}

.campaign-slider li,
.top-slider li {
  margin: 0 10px 20px;
  width: calc(50% - 20px);
}

.campaign-slider li:nth-child(2n+1),
.top-slider li:nth-child(2n+1) {
  clear: both;
}

.campaign-slider li a,
.campaign-slider .campaign-slider-img,
.top-slider li a,
.top-slider .campaign-slider-img {
  border: none;
  border-radius: 0px;
}

.campaign-slider .campaign-slider-text,
.top-slider .campaign-slider-text {
  display: none;
}

.campaign-more > span {
  display: block;
  margin: 0 10px;
  padding: 5px 10px;
  background: #fff;
  border: 2px solid #e3e9ef;
  border-radius: 5px;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}

/* -----------------------------------------------
        2019/12/23追加
        PC・SP画像切り替え用 
-------------------------------------------------- */
.pcDisplay {
  display: none;
}

.spDisplay {
  display: block;
}


/* -----------------------------------------------
        2019/12/25追加
        お得なキャンペーン　リボン見出し　スライド用 
-------------------------------------------------- */
.ribon-campaign-wrap {
  padding: 0;
  background: none;
}

.pagetitle.col1_pagetitle {
  margin: -30px -16px 20px -16px;
}

.ribon-campaign-inner {
  width: 100%;
}

.ribon-campaign-title {
  max-width: 300px;
  font-size: 1.9rem;
  margin-bottom: 20px;
}

ul.js-ribon-campaign,
ul.js-ribon-campaign2 {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

ul.js-ribon-campaign li,
ul.js-ribon-campaign2 li {
  margin: 0 10px 20px;
  width: calc(50% - 20px);
  list-style: none;
  padding: 0;
}

ul.js-ribon-campaign2 li {
  min-height: inherit;
}

ul.js-ribon-campaign li:nth-child(2n+1),
ul.js-ribon-campaign2 li:nth-child(2n+1) {
  clear: both;
}

/* -----------------------------------------------
コース別チャンネル一覧
-------------------------------------------------- */
/* thead固定 */
.js-fixTableHead {
  width: auto;
  left: 17px;
  right: 17px;
  pointer-events: none;
}

.js-fixTable tbody td {
  white-space: normal;
  word-break: break-word;
}

/* ポップアップ */
.channelListPop-head {
  padding: 55px 15px 20px;
}

.channelListPop-head-logo {
  max-width: 210px;
  margin: 0 auto 20px;
}

.channelListPop-head-text {
  font-size: 1.3rem;
}

.channelListPop-body {
  padding: 15px 0;
}

.channelListPop-close {
  top: -10px;
  right: -10px;
  width: 35px;
  height: 35px;
}

.channelListPop .channel-list-nav {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.channelListPop .wae-section-table,
.channelListPop .js-fixTableHead {
  width: auto;
}

.channelListPop .js-fixTableHead {
  left: 37px;
  right: 37px;
}

.channelListPop .js-fixTable tr:first-child td:nth-child(1),
.channelListPop .js-fixTableHead tr:first-child td:nth-child(1) {
  width: 15%;
}

.channelListPop .js-fixTable tr:first-child td:nth-child(2),
.channelListPop .js-fixTableHead tr:first-child td:nth-child(2) {
  width: 73%;
}

.channelListPop .js-fixTable tr:first-child td:nth-child(3),
.channelListPop .js-fixTableHead tr:first-child td:nth-child(3) {
  width: 12%;
}

/* 2021.01.19　ページ下部リンク追加 */
.channelListPop-foot-list {
  display: block;
  padding: 0 16px;
}

.channelListPop-foot-item {
  width: 100%;
  margin-bottom: 15px;
}

/* ネットページ用 テーブルcss */
.netSpecTable th,
.netSpecTable td {
  padding: 15px 7px !important;
}

.netSpecTable th img {
  max-width: 100px;
}

.netSpecTable__th1th {
  min-width: 90px;
}

/* -----------------------------------------------
  PC版トップ改修 201910
-------------------------------------------------- */
.topcustomer-body-main {
  display: block;
  margin: 0 0 -20px;
}

.topcustomer-body-main > * {
  margin: 0 0 20px;
}

/* おすすめのひまわりテレビ */
.topHimawariSec {
  padding: 20px 20px 40px;
  background: #ceedfa;
}
.topHimawariSec > .inner{
  padding: 0;
  background: none;
}
.topHimawariSec_spTitle {
  font-size: 2.1rem;
  font-weight: bold;
  text-align: center;
  margin: 0 0 20px;
}
.topHimawariClm {
  flex-direction: column;
}
.topHimawariClm-pickup,
.topHimawariClm-side {
  width: 100%;
}
.topPickupTv {
  border-radius: 3px;
  padding: 15px;
}
.topPickupTv-ttl {
  font-size: 1.6rem;
}
.topPickupTv-desc::after {
    content: none;
}
.topPickupTv-desc > div {
    height: auto;
    overflow-y: visible;
    padding-bottom: 0;
}

.topcustomer-onair .onair-program {
  padding: 15px 15px 5px;
}

.topcustomer-onair:not(:last-child) {
  margin-bottom: 20px;
}
.topcustomer-program ul {
  padding: 0 17px;
}

.topcustomer-program ul li {
  margin: 0 3px;
}

.topcustomer-program-tag [class*="pagetitle-channel-"] {
  min-width: 65px;
  padding: 5px;
}

.topcustomer-program-title {
  padding: 5px 10px 5px 5px;
  font-size: 1.2rem;
  line-height: 1.2;
}

.topcustomer-program-title::after {
  right: 4px;
}

/* お知らせ */
.topNewsBlock .section-title {
  font-size: 2.1rem;
  font-weight: bold;
}

/* -----------------------------------------------
  人気作品がヨリドリ、ミドリ ケーブルガール差替え
-------------------------------------------------- */
.yoridorimidori-lineup .inner::before,
.yoridorimidori-lineup .inner::after {
  content: none;
}

/* -----------------------------------------------
 TOPバナー調整
-------------------------------------------------- */
.newtop-moviebox:not(:last-child) {
  padding-bottom: 20px;
}

/* -----------------------------------------------
SPメニュー改修・202005
-------------------------------------------------- */
.sp-gnav {
  color: #fff;
}

.sp-gnav ul {
  list-style: none;
}

.sp-gnav li {
  margin-bottom: 1px;
}

.sp-gnav li .sp-gnav-text,
.sp-gnav li a {
  position: relative;
  display: block;
  color: inherit;
  font-weight: 600;
}

.sp-gnav li .sp-gnav-text::after,
.sp-gnav li a::after {
  content: '';
  position: absolute;
}

.sp-gnav li .sp-gnav-text.js-spNavAcc::after {
  content: '＋';
  top: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto;
  border-radius: 50%;
  line-height: 1;
}

.sp-gnav li .sp-gnav-text.js-spNavAcc.is-active::after {
  content: '－';
}

.sp-gnav li .sp-gnav-text.js-spNavAcc + * {
  display: none;
}

.sp-gnav li a::after {
  top: calc(50% - 4px);
  right: 10px;
  border-width: 4px 0 4px 4px;
  border-style: solid;
  border-color: transparent transparent transparent currentColor;
}
.sp-gnav li > a::after {
  right: 17px;
}

.sp-gnav li a[target="_blank"]::after {
  top: calc(50% - 6px);
  right: 7px;
  border: none;
  width: 11px;
  height: 12px;
  background: url(../img/wae/icon-window2.svg) no-repeat 50% 50%/contain;
}

.sp-gnav [class*="icon-"]::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 7px;
  width: 40px;
}

.sp-gnav .icon-shop::before {
  background: url(../img/header/spnav_icon_shop.png) no-repeat 50% 50%/contain;
}

.sp-gnav .sp-gnav-contact .icon-shop::before {
  background-image: url(../img/header/spnav_icon_shop_black.png);
}

.sp-gnav .icon-sintiku::before {
  background: url(../img/header/spnav_icon_sintiku.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-kodate::before {
  background: url(../img/header/spnav_icon_kodate.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-syuugou::before {
  background: url(../img/header/spnav_icon_syuugou.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-contact::before {
  background: url(../img/header/spnav_icon_contact.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-document::before {
  background: url(../img/header/spnav_icon_document_black.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-simulation::before {
  background: url(../img/header/spnav_icon_simulation.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-guide::before {
  background: url(../img/header/spnav_icon_guide.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-mypage::before {
  background: url(../img/header/spnav_icon_mypage_l.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-business::before {
  background: url(../img/header/spnav_icon_business.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-recruit::before {
  background: url(../img/header/spnav_icon_recruit.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-corporate::before {
  background: url(../img/header/spnav_icon_corporate.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-channel-guide::before {
  background: url(../img/header/spnav_icon_channel_guide.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-web-mail::before {
  background: url(../img/header/spnav_icon_web_mail.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-present::before {
  background: url(../img/header/spnav_icon_present.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-application::before {
  background: url(../img/header/spnav_icon_application.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-staff::before {
  background: url(../img/header/spnav_icon_staff.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-help::before {
  background: url(../img/header/spnav_icon_help.png) no-repeat 50% 50%/contain;
}

.sp-gnav .icon-wifi::before {
  background: url(../img/header/spnav_icon_wifi.png) no-repeat 50% 50%/contain;
}

.sp-gnav-main {
  margin-bottom: 20px;
  color: #014099;
}

.sp-gnav-main > li {
  background-color: #fff;
}

.sp-gnav-main > li .sp-gnav-text {
  padding: 23px 45px 23px 55px;
  font-size: 1.5rem;
}

.sp-gnav-main > li .sp-gnav-text::after {
  right: 12px;
  width: 22.5px;
  height: 22.5px;
  background: #014099;
  color: #fff;
  font-size: 1.6rem;
}

.sp-gnav-main > li .sp-gnav-text.icon-customer-new::before {
  left: 20px;
  width: 20px;
  background: url(https://www.himawari.co.jp/wp-content/themes/www-himawari-co-jp-program/resource/img/header/icon_visitor.png) no-repeat 50% 50%/contain;
}

.sp-gnav-main > li .sp-gnav-text.icon-customer-already::before {
  left: 14px;
  width: 30px;
  background: url(https://www.himawari.co.jp/wp-content/themes/www-himawari-co-jp-program/resource/img/header/icon_member.png) no-repeat 50% 50%/contain;
}

.sp-gnav-main > li > ul {
  margin-bottom: 30px;
  border-top: 3px solid #e3e9ef;
}

.sp-gnav-main > li > ul > li {
  margin-bottom: 0;
}

.sp-gnav-main > li > ul > li:not(:first-child) {
  border-top: 1px dashed #e3e9ef;
}

.sp-gnav-main > li > ul > li.sp-gnav-simulation,
.sp-gnav-main > li > ul > li.sp-gnav-contact {
  border-top: none;
}

.sp-gnav-main > li > ul > li.sp-gnav-simulation a:after,
.sp-gnav-main > li > ul > li.sp-gnav-contact a:after {
  border-left-color: #000;
}

.sp-gnav-main > li > ul > li > a {
  padding: 17px 20px 17px 15px;
  color: #000;
  font-size: 1.3rem;
}

.sp-gnav-main > li > ul > li > a::after {
  border-left-color: #014099;
}

.sp-gnav-main > li > ul > li > a[class*="icon-"] {
  padding-left: 55px;
}

.sp-gnav-main > li > ul > li > a[target="_blank"]::after {
  background-image: url(../img/wae/icon-window3.svg);
}

.sp-gnav-sub {
  margin-bottom: 20px;
}

.sp-gnav-sub > li {
  background-color: #1f5faf;
}

.sp-gnav-sub > li .sp-gnav-text,
.sp-gnav-sub > li > a {
  padding: 18px 40px 18px 50px;
  font-size: 1.4rem;
}

.sp-gnav-sub > li .sp-gnav-text.js-spNavAcc::after {
  right: 10px;
  width: 20px;
  height: 20px;
  background: #fff;
  color: #1f5faf;
  font-size: 1.45rem;
}

.sp-gnav-sub > li .sp-gnav-text.icon-service::before,
.sp-gnav-sub > li .sp-gnav-text.icon-price::before,
.sp-gnav-sub > li .sp-gnav-text.icon-program::before,
.sp-gnav-sub > li .sp-gnav-text.icon-support::before,
.sp-gnav-sub > li .icon-mypage::before,
.sp-gnav-sub > li .sp-gnav-text.icon-consultation::before {
  left: 14px;
  width: 25px;
}

.sp-gnav-sub > li .sp-gnav-text.icon-service::before {
  background: url(../img/header/spnav_icon_service.png) no-repeat 50% 50%/contain;
}

.sp-gnav-sub > li .sp-gnav-text.icon-price::before {
  background: url(../img/header/spnav_icon_price.png) no-repeat 50% 50%/contain;
}

.sp-gnav-sub > li .sp-gnav-text.icon-program::before {
  background: url(../img/header/spnav_icon_tv.png) no-repeat 50% 50%/contain;
}

.sp-gnav-sub > li .sp-gnav-text.icon-support::before {
  background: url(../img/header/spnav_icon_support.png) no-repeat 50% 50%/contain;
}

.sp-gnav-sub > li .sp-gnav-text.icon-consultation::before {
  background: url(../img/header/spnav_icon_consultation.png) no-repeat 50% 50%/contain;
}

.sp-gnav-sub > li > ul {
  margin-bottom: 30px;
  background: #3173c5;
  border-top: 2px solid #004098;
}

.sp-gnav-sub > li > ul > li {
  margin-bottom: 0;
}

.sp-gnav-sub > li > ul > li:not(:first-child) {
  border-top: 1px solid #004098;
}

.sp-gnav-sub > li > ul > li > a {
  padding: 17px 20px 17px 15px;
  font-size: 1.2rem;
}

.sp-gnav-sub > li > ul > li > a[class*="icon-"] {
  padding-left: 55px;
}

.sp-gnav-support {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -1px;
  color: #014099;
}

.sp-gnav-support > li {
  width: calc(50% - 1px);
  margin-left: 1px;
  background-color: #fff;
}
.sp-gnav-support.l-clm3 > li {
  width: calc(100%/3 - 1px);
}

.sp-gnav-support > li > a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 20px;
  font-size: 1.2rem;
}

.sp-gnav-support > li > a[class^="icon-"] {
  padding-left: 40px;
}

.sp-gnav-support > li > a[class*="icon-"]::before {
  left: 11px;
  width: 20px;
}

.sp-gnav-support > li > a[target="_blank"]::after {
  background-image: url(../img/wae/icon-window3.svg);
}

.sp-gnav-info {
  margin-top: 35px;
}

.sp-gnav-info.l-top {
  margin-top: 10px;
  margin-bottom: 20px;
}

.sp-gnav-info > dt {
  margin-bottom: 5px;
  font-size: 1.9rem;
  font-weight: 600;
  text-align: center;
}

.sp-gnav-info.l-top > dt {
  margin-bottom: 10px;
  font-size: 2.1rem;
  font-weight: 600;
  text-align: center;
}

.sp-gnav-info > dt::before,
.sp-gnav-info > dt::after {
  content: '＼';
  display: inline-block;
  vertical-align: middle;
  font-size: 1.4rem;
}

.sp-gnav-info > dt::before {
  margin-right: 1em;
}

.sp-gnav-info > dt::after {
  margin-left: 1em;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.sp-gnav-info > dd {
  padding: 15px;
  background: #fff;
  color: #000;
}

.sp-gnav-info.l-top > dd {
  padding: 0;
  background: none;
  color: #000;
}

.sp-gnav-info-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -2px;
}

.sp-gnav-info-list > li {
  width: calc(50% - 2px);
  margin: 0 0 2px 2px;
}

.sp-gnav-info-list > li:first-child {
  width: 100%;
}

.sp-gnav-info-list > li > a {
  height: 100%;
  padding: 15px 20px 15px 15px;
  font-size: 1.3rem;
}

.sp-gnav-info.l-top .sp-gnav-info-list > li > a {
  padding: 21px 23px 21px 15px;
  font-size: 1.4rem;
}

.sp-gnav-info-list > li > a[class*="icon-"] {
  padding-left: 40px !important;
}

.sp-gnav-info-list > li > a[class*="icon-"]::before {
  left: 3px;
  width: 36px;
}

.sp-gnav-info-list > li > a[target="_blank"]::after {
  background-image: url(../img/wae/icon-window.svg);
}

.sp-gnav-tel {
  margin-top: 20px;
  text-align: center;
}

.sp-gnav-tel > a {
  display: inline-block;
}

.sp-gnav-tel > a::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 30px;
  height: 40px;
  margin-right: 14px;
  background: url(../img/header/spnav_icon_fc.png) no-repeat 50% 50%/contain;
}

.sp-gnav-tel > a img {
  vertical-align: middle;
}

.sp-gnav-tel-time {
  display: block;
  padding: 12px;
  margin-top: 10px;
  background: #f1f5f7;
  color: #333;
  font-size: 1.2rem;
}

.sp-gnav-tel-note {
  display: inline-block;
  margin-left: 10px;
  color: #666;
  font-size: 1rem;
}

.sp-gnav .sp-gnav-inquest {
  background: #fffde8;
}

.sp-gnav .sp-gnav-simulation {
  background: url(https://www.himawari.co.jp/wp-content/themes/www-himawari-co-jp-program/resource/img/bg_stripe_yellow2.png);
  color: #000;
}

.sp-gnav .sp-gnav-simulation a[target="_blank"]::after {
  background-image: url(../img/wae/icon-window.svg);
}

.sp-gnav .sp-gnav-contact {
  background: url(https://www.himawari.co.jp/wp-content/themes/www-himawari-co-jp-program/resource/img/bg_stripe_yellow.png);
  color: #000;
}

.sp-gnav .sp-gnav-contact a[target="_blank"]::after {
  background-image: url(../img/wae/icon-window.svg);
}

.sp-gnav .sp-gnav-other {
  background: #f1f4f6;
  color: #183f92;
  width: 100%;
  margin-top: 10px;
  text-align: center;
}

.sp-gnav .sp-gnav-other a {
  padding: 18px 23px 18px 15px !important;
}

.sp-gnav .sp-gnav-other a::after {
  top: calc(50% - 4px);
  right: 10px;
  border-width: 4px 0 4px 4px;
  border-style: solid;
  border-color: transparent transparent transparent currentColor;
  border-left-color: #014099;
}

.sp-gnav .sp-gnav-guide {
  background: #fff;
  color: #014099;
}

.sp-gnav .sp-gnav-guide a[target="_blank"]::after {
  background-image: url(../img/wae/icon-window3.svg);
}

.sp-gnav .sp-gnav-service-tv {
  background: #e976a8;
}

.sp-gnav .sp-gnav-service-net {
  background: #22aee3;
}

.sp-gnav .sp-gnav-service-tel {
  background: #acca14;
}

.sp-gnav .sp-gnav-service-cable {
  background: #f8b52c;
}

/* -----------------------------------------------
navひまわりパック追加
-------------------------------------------------- */
.sp-gnav .sp-gnav-service-himawari {
  background: #fff;
  color: #014099;
}

.sp-gnav .sp-gnav-service-himawari > a {
  padding-right: 130px;
}

.sp-gnav .sp-gnav-service-himawari > a small {
  display: block;
  margin-top: 3px;
  font-size: 1rem;
  font-weight: normal;
}

.sp-gnav .sp-gnav-service-himawari .sp-gnav-himawari-logo {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translate(0, -50%);
  display: block;
  padding: 5px 14px;
  background: #084e8f;
  border-radius: 3px;
  text-align: center;
  width: 100px;
}

/* -----------------------------------------------
        2020/11/11追加
        サポートブックのバナー用css
-------------------------------------------------- */
.support_book_bnr {
  padding: 0 20px;
  margin-bottom: 20px;
}



/* -----------------------------------------------
    2020/11/16追加
   スマホのHOMEへひまわりショッブロック追加
-------------------------------------------------- */
.himawari-shop {
  background: #fff url(/wp-content/uploads/himawari_shop_bg.jpg) no-repeat 50% 0;
  background-size: 100% auto;
  margin: 40px -20px -40px -20px;
  padding: 10px 20px 40px 20px;
  border-bottom: 2px solid #e3e9ef;
  text-align: center;
}

.himawari-shop-title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  color: #373737;
  background: linear-gradient(transparent 60%, #fff112 60%);
  display: inline-block;
  margin: 50px 0 20px;
  text-shadow:
    1px 0 0 #fff,
    0 1px 0 #fff,
    -1px 0 0 #fff,
    0 -1px 0 #fff
}

.himawari-shop-img {
  margin-bottom: 10px;
}

.himawari-shop-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 10px -10px;
}

.himawari-shop-list-item {
  width: calc(50% - 10px);
  margin: 0 0 10px 10px;
}

.himawari-shop-list-item > a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 60px;
  padding: 10px 25px 10px 10px;
  background: #fff;
  box-shadow: 0 2px 2px 0px rgba(0, 0, 0, 0.04);
  border-top: 2px solid #004098;
  font-weight: bold;
}

.himawari-shop-list-item > a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -4px;
  border-left: 6px solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
}
