@charset "utf-8";
/* CSS Document */
/*************************************
font
**************************************/

@import url("https://fonts.googleapis.com/css?family=Roboto:400,700&text=0123456789");

.num-adjust .comma {
  font-size: 72%;
  position: relative;
  top: -0.04em;
}

/*===========================================================
header
============================================================*/
.header-nav {
  background: #a8622d;
  width: 100%;
  z-index: 10;
  box-shadow: 0 1px 6px 0 rgba(32, 33, 36, 0.28);
}
.header-nav.on {
  position: fixed;
  left: 0;
  top: 0;
}
.header-nav .inner {
  padding: 0;
  position: relative;
}
.header-upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.header-upper .gnav {
  width: calc(100% - 175px);
}

.btn-gnav {
  display: block;
  color: #ffffff;
  font-weight: bold;
  padding: 15px 50px 20px;
  text-align: center;
  text-decoration: none;
  position: relative;
}
.btn-gnav:hover {
  background: #4dd1db;
}

.header-nav .btn.is-apply {
  background: #ff6d00;
  box-shadow: 0 4px 0 #ff812c;
  border-radius: 6px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 5px 36px;
  max-width: 180px;
  margin: 0 auto;
  text-align: center;
  transition: all 0.25s;
  position: relative;
  bottom: 2px;
}
.header-nav .btn.is-apply:hover {
  box-shadow: none;
  transform: translateY(4px);
}
.header-nav .btn.is-apply:before {
  content: none;
}
.page-scroll {
  padding-top: 61px;
  margin-top: -61px;
}

@media screen and (max-width: 768px) {
  .is-nihtyhikari main {
    margin-top: 12px;
  }
  .page-scroll {
    padding-top: 52px;
    margin-top: -52px;
  }
  .header-nav {
    z-index: 100;
    position: fixed;
    left: 0;
    top: 0;
    background: #fff;
  }
  .header-nav .inner {
    padding: 10px 12px;
  }
  .header-upper .logo {
    width: 130px;
    padding: 6px 0;
  }
  .header-upper .gnav {
    width: 0;
  }
  .header-upper .link .btn-wrap {
    margin-right: 15px;
  }
  .header-upper .btn.is-apply {
    padding: 3px 20px;
  }
  .header-nav .btn.is-apply:before {
    border-width: 7px 5px 0 5px;
    right: 6px;
    margin-top: -3px;
  }
  /* btn */
  .sp-menu-btn {
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    z-index: 999;
    background: #2aa9ba;
    border-radius: 8px;
  }
  .sp-menu-border {
    display: inline-block;
    width: 18px;
    height: 3px;
    background: #fff;
    border-radius: 999em;
    transition: all 0.1s;
    position: absolute;
    top: 8px;
    left: 50%;
    margin-left: -9px;
  }
  .sp-menu-border:nth-child(2) {
    top: 50%;
    margin-top: -1px;
  }
  .sp-menu-border:nth-child(3) {
    top: calc(100% - 10px);
  }
  .open .sp-menu-border:nth-child(1) {
    transform: rotate(45deg);
    top: 50%;
    margin-top: -1px;
  }
  .open .sp-menu-border:nth-child(2) {
    transform: rotate(-45deg);
  }
  .open .sp-menu-border:nth-child(3) {
    display: none;
  }
  /*list-gnav */
  .list-gnav {
    background: rgba(255, 255, 255, 0.98);
    width: 100%;
    height: 100vh;
    padding-top: 50px;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 99;
    transition: all 0.4s;
    overflow-y: scroll;
  }
  .list-gnav.open {
    left: 0;
  }
  .list-gnav > li {
    border-left: none;
  }
  .list-gnav > li:first-child {
    border-top: 1px solid #bdbdbd;
  }
  .list-gnav > li:not(:last-child) {
    border-bottom: 1px dashed #bdbdbd;
  }
  .btn-gnav {
    height: auto;
    color: #606060;
    font-size: 15px;
    padding: 13px 40px 13px 30px;
  }
  .btn-gnav:before {
    border-width: 8px 5px 0 5px;
    bottom: 50%;
    left: inherit;
    right: 15px;
    margin-left: 0;
    margin-bottom: -3px;
  }
}

/*===========================================================
supplemen-area
============================================================*/
.is-dotted-top {
  border-top: 3px dotted #eff0f4;
}
.supplemen-area .inner {
  padding: 15px 0;
}
.supplemen-wrap + .supplemen-wrap {
  margin-top: 15px;
}
.supplemen-area .lead {
  font-size: 12px;
  font-weight: bold;
}
.supplemen-area .list-note {
  margin-top: 5px;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .supplemen-area .inner {
    padding: 15px 12px;
  }
}

/*===========================================================
.is-niftyhikari apply-area
============================================================*/
.apply-lead {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 25px;
  padding: 15px;
  background: #fff;
  border: 2px solid #e83820;
}
.apply-lead figure {
  margin-right: 14px;
}
.box-apply {
  background: #fff;
  border-radius: 12px;
}
.box-apply > .head {
  background: #333;
  border-radius: 12px 12px 0 0;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 5px 10px;
  text-align: center;
}
.head-apply {
  display: inline-block;
  padding: 5px 0 5px 40px;
  position: relative;
}
.head-apply:before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 26px;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -13px;
}
.head-apply.icon-pc:before {
  background: url(/promo/images/niftyhikari_promo/icon-pc.svg) no-repeat center;
}
.head-apply.icon-tel:before {
  background: url(/promo/images/niftyhikari_promo/icon-tel.svg) no-repeat center;
}
.box-apply > .content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 20px;
}
.box-apply .content-inner {
  width: 100%;
}
.box-apply .time {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .apply-lead {
    flex-direction: column;
  }
  .apply-lead figure {
    width: 30px;
    margin: 0 0 10px;
  }
  .is-nihtyhikari .box-apply > .content {
    position: relative;
  }
  .is-nihtyhikari .apply-area {
    margin-top: 0;
  }
  .head-apply {
    font-size: 16px;
  }
  .btn.is-apply {
    font-size: 18px;
    padding: 15px 40px;
  }
  .box-apply:first-child {
    margin-bottom: 40px;
  }
  .is-nihtyhikari .box-apply:first-child {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 374px) {
  .box-apply:first-child {
    margin-bottom: 70px;
  }
}
/*===========================================================
apply-area
============================================================*/
.apply-area .text-read,
#apply-area .text-read {
  font-weight: bold;
}

.apply-box {
  padding: 30px 30px 50px;
  text-align: center;
}
.apply-ttl {
  margin-bottom: 20px;
}
.apply-box .tel-box {
  padding: 30px 0 40px;
  border-radius: 10px;
  background: #ffffff;
  position: relative;
}
.apply-box .num-freedial {
  margin-bottom: 10px;
}
.red-balloon {
  position: relative;
}
.cam-word {
  border: 2px solid #ff812c;
  font-size: 12px;
  font-weight: bold;
  padding: 5px;
  margin-top: 15px;
  text-align: center;
  background: #ffffff;
  position: relative;
}
.cam-word:before,
.cam-word:after {
  content: "";
  display: inline-block;
  border: 8px solid transparent;
  position: absolute;
  top: -18px;
  left: 50%;
  margin-left: -10px;
}
.cam-word:before {
  border-bottom: 10px solid #ff812c;
}
.cam-word:after {
  border-bottom: 10px solid #fff;
  top: -15px;
}

.btn.is-apply {
  background: #ff6d00;
  box-shadow: 0 6px 0 #cc5200;
  border-radius: 12px;
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  padding: 22px 40px;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  transition: all 0.25s;
}
.btn.is-apply:hover {
  box-shadow: none;
  transform: translateY(6px);
  opacity: 1;
}
.list-arrow .link-arrow {
  display: inline-block;
  padding-left: 10px;
  position: relative;
}
.list-arrow .link-arrow:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5px;
  border-color: transparent transparent transparent #3ea3c4;
  position: absolute;
  top: 9px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .apply-box {
    padding: 20px 15px 60px;
    border-radius: 5px;
  }
  .apply-box .tel-box {
    padding: 15px 15px 40px;
    border-radius: 5px;
  }
  .apply-box .num-freedial {
    margin-bottom: 10px;
    padding-left: 55px;
    font-size: 28px;
  }
  .tel-box > p {
    text-align: left;
  }
  .cam-word {
    font-size: 13px;
    width: 100%;
  }
}

/*===========================================================
  footer-area
  ============================================================*/
.footer-company,
.footer-lower,
.footer-service-inner,
.footer-company-inner {
  background: #fff1c0;
}

