@font-face {
  font-family: 'Arial Black';
  font-style: normal;
  font-weight: 400;
  src: local("Arial Black"), url("ariblk_0.ttf") format("ttf"); }
select::-ms-expand {
  display: none; }

html {
  height: 100%;
  font-size: 62.5%;
  background: #fff;
  overflow-y: scroll; }
  @media (max-width: 480px) {
    html {
      font-size: 87.5%; } }

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
input,
textarea,
p,
th,
td {
  padding: 0;
  margin: 0; }

address,
caption,
em,
strong,
th {
  font-style: normal; }

caption,
th {
  text-align: left; }

hr,
legend {
  display: none; }

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal; }

li {
  list-style-type: none; }

table,
ol,
ul,
dl,
blockquote,
pre {
  margin-bottom: 0px; }

p {
  margin-bottom: 0; }

a img,
fieldset {
  border: none; }

article,
aside,
footer,
header,
hgroup,
nav,
section {
  display: block; }

a:link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

a:visited {
  text-decoration: none; }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

img {
  width: 100%;
  display: block; }

button {
  font-family: 'Noto Sans JP', sans-serif;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

/*-----------------------------------------*/
@media (max-width: 480px) {
  .only-pc {
    display: none; } }

.only-sp {
  display: none; }
  @media (max-width: 480px) {
    .only-sp {
      display: block; } }

.txt_b {
  font-weight: bold;
  margin: 0 3px; }

body {
  position: relative;
  -webkit-text-size-adjust: none;
  min-width: 1020px;
  width: 100%;
  font-size: 1.4rem;
  font-weight: normal;
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  letter-spacing: 2px;
  line-height: 1.8;
  margin: 0px;
  background: #fff; }
  @media (max-width: 480px) {
    body {
      font-size: 3.2467532468vw;
      min-width: 100%;
      letter-spacing: 0.2597402597vw;
      line-height: 1.6; } }

.validate__error {
  font-size: 1.5rem;
  font-weight: 500;
  color: #fb1c1c;
  line-height: 1; }
  @media (max-width: 480px) {
    .validate__error {
      font-size: 3.6363636364vw; } }
  .validate__error label {
    display: block;
    padding-top: 10px;
    padding-bottom: 5px; }
    @media (max-width: 480px) {
      .validate__error label {
        padding-top: 2.5974025974vw;
        padding-bottom: 0.6493506494vw; } }

.js-hide-block {
  display: none; }

.js-hide-block2 {
  display: none; }

.js-hide-block3 {
  display: none; }

 /*============================
.header
============================*/
.header {
  padding: 15px 15px 2px;
  border-bottom: 1px solid #a1a1a1; }
  @media (max-width: 480px) {
    .header {
      padding: 2.5974025974vw 3.8961038961vw;
      border-width: 0.1298701299vw; } }
  .header .company-head {
    padding: 0 0 10px;
    margin-bottom: 15px;
    border-bottom: 1px solid #e4e4e4; }
    @media (max-width: 480px) {
      .header .company-head {
        display: none; } }
  .header .company-head__in {
    max-width: 1200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin: 0 auto; }
  .header .company-logo {
    width: 84px;
    -webkit-transition: opacity .2s;
    transition: opacity .2s; }
    .header .company-logo:hover {
      opacity: 0.7; }
  .header .header__in {
    max-width: 1200px;
    min-width: 1020px;
    margin: 0 auto 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 480px) {
      .header .header__in {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
        margin-bottom: 1.2987012987vw; } }
  .header .header-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 480px) {
      .header .header-left {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        padding-top: 0.6493506494vw; } }
  .header .header-logo {
    width: 120px;
    margin-right: 20px; }
    @media (max-width: 480px) {
      .header .header-logo {
        width: 19.4805194805vw;
        margin-right: 1.9480519481vw; } }
  .header .header-jpx {
    width: 80px;
    margin-right: 15px; }
    @media (max-width: 480px) {
      .header .header-jpx {
        width: 15.5844155844vw;
        margin-right: 1.2987012987vw; } }
  .header .header-txt {
    font-size: 1.2rem;
    color: #aaa;
    line-height: 1.5; }
    @media (max-width: 480px) {
      .header .header-txt {
        width: 100%;
        font-size: 1.9480519481vw;
        padding-top: 1.2987012987vw;
        line-height: 1.2; } }
  .header .header-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media (max-width: 480px) {
      .header .header-right {
        display: none; } }
  .header .header-tel {
    width: 200px;
    margin-left: 20px; }
  .header .header-btn {
    width: 210px; }
  .header .header-link {
    position: relative;
    display: block;
    font-size: 1.6rem;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    background-color: #32b16c;
    border-radius: 18.5px;
    padding: 5px 0 5px 28px;
    -webkit-transition: opacity .3s;
    transition: opacity .3s; }
    .header .header-link::before {
      position: absolute;
      content: " ";
      background-image: url(../images/ico_02.svg);
      background-repeat: no-repeat;
      background-size: contain;
      width: 14px;
      height: 21px;
      left: 23px;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
    @media (max-width: 1020px) {
      .header .header-link:hover {
        opacity: 0.7; } }
  .header .smoothNav {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    z-index: 1000; }
    @media (max-width: 480px) {
      .header .smoothNav .smoothNav2 {
        position: fixed;
        width: 65vw;
        height: 100vh;
        background-color: #f4fcff;
        padding: 22.0779220779vw 3.8961038961vw 9.0909090909vw;
        top: 0;
        right: 0;
        -webkit-transform: translateX(100%);
                transform: translateX(100%);
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        transition: transform .3s;
        transition: transform .3s, -webkit-transform .3s;
        z-index: 1000; } }
    .header .smoothNav .openbtn {
      position: fixed;
      display: none;
      content: " ";
      background-color: #0068b7;
      cursor: pointer;
      border: 1px solid #fff;
      width: 65px;
      height: 65px;
      right: 0;
      top: 0;
      -webkit-transition: top .2s, right .3s, opacity .3s, border-radius .1s;
      transition: top .2s, right .3s, opacity .3s, border-radius .1s;
      color: #fff;
      z-index: 1000; }
      @media (max-width: 480px) {
        .header .smoothNav .openbtn {
          display: block;
          width: 12.987012987vw;
          height: 12.987012987vw;
          top: 1.9480519481vw;
          right: 2.5974025974vw; } }
      .header .smoothNav .openbtn:before, .header .smoothNav .openbtn:after {
        position: absolute;
        content: " ";
        background-color: #fff;
        width: 35px;
        height: 2px;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        -webkit-transition: top .2s .2s, -webkit-transform .2s;
        transition: top .2s .2s, -webkit-transform .2s;
        transition: transform .2s, top .2s .2s;
        transition: transform .2s, top .2s .2s, -webkit-transform .2s;
        top: 50%;
        left: 50%; }
        @media (max-width: 480px) {
          .header .smoothNav .openbtn:before, .header .smoothNav .openbtn:after {
            width: 7.1428571429vw;
            height: 0.5194805195vw; } }
      .header .smoothNav .openbtn:before {
        top: calc(50% - 13px); }
        @media (max-width: 480px) {
          .header .smoothNav .openbtn:before {
            top: calc(50% - 2.8571428571vw); } }
      .header .smoothNav .openbtn:after {
        top: calc(50% - 4px); }
        @media (max-width: 480px) {
          .header .smoothNav .openbtn:after {
            top: calc(50% - 1.038961039vw); } }
      .header .smoothNav .openbtn span.close-change {
        position: absolute;
        bottom: 8px;
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        font-size: 1.2rem;
        letter-spacing: 0; }
        @media (max-width: 480px) {
          .header .smoothNav .openbtn span.close-change {
            font-size: 2.4675324675vw;
            bottom: 0.7792207792vw; } }
    .header .smoothNav .tel-link {
      position: absolute;
      display: none;
      content: " ";
      background-color: #ec6941;
      cursor: pointer;
      border: 1px solid #fff;
      width: 65px;
      height: 65px;
      right: 0;
      top: 0;
      -webkit-transition: opacity .3s, border-radius .1s;
      transition: opacity .3s, border-radius .1s;
      color: #fff;
      z-index: 100; }
      @media (max-width: 480px) {
        .header .smoothNav .tel-link {
          display: block;
          width: 12.987012987vw;
          height: 12.987012987vw;
          top: 1.9480519481vw;
          right: 16.8831168831vw; } }
      .header .smoothNav .tel-link:before {
        position: absolute;
        content: " ";
        background-image: url(../images/ico-tel.svg);
        background-size: contain;
        background-repeat: no-repeat;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        -webkit-transition: top .2s .2s, -webkit-transform .2s;
        transition: top .2s .2s, -webkit-transform .2s;
        transition: transform .2s, top .2s .2s;
        transition: transform .2s, top .2s .2s, -webkit-transform .2s;
        left: 50%; }
        @media (max-width: 480px) {
          .header .smoothNav .tel-link:before {
            width: 5.7142857143vw;
            height: 5.7142857143vw;
            top: 1.6883116883vw; } }
      .header .smoothNav .tel-link span.close-change {
        position: absolute;
        bottom: 8px;
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        font-size: 1.2rem;
        letter-spacing: 0; }
        @media (max-width: 480px) {
          .header .smoothNav .tel-link span.close-change {
            font-size: 2.4675324675vw;
            bottom: 0.7792207792vw; } }

.footer {
  padding: 0 0 20px;
  background: #ffffff; }
  @media (max-width: 480px) {
    .footer {
      padding: 9.0909090909vw 0 2.5974025974vw; } }
  .footer .footer-navi {
    background-color: #333;
    padding: 70px 0 60px; }
    @media (max-width: 480px) {
      .footer .footer-navi {
        padding: 9.0909090909vw 1.2987012987vw 7.7922077922vw 5.1948051948vw; } }
  .footer .footer-navi__in {
    max-width: 1200px;
    min-width: 1020px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media (max-width: 480px) {
      .footer .footer-navi__in {
        max-width: 100%;
        min-width: 100%;
        display: block; } }
  .footer .footer-navi__ttl {
    width: 230px;
    color: #fff; }
    @media (max-width: 480px) {
      .footer .footer-navi__ttl {
        font-size: 3.6363636364vw;
        margin-bottom: 2.5974025974vw; } }
  .footer .footer-navi-list {
    width: 550px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 480px) {
      .footer .footer-navi-list {
        width: 100%; } }
  .footer .footer-navi-list__item {
    width: 33.33%;
    margin-bottom: 10px; }
    @media (max-width: 480px) {
      .footer .footer-navi-list__item {
        width: 38%;
        margin-bottom: 1.9480519481vw; } }
    @media (max-width: 480px) {
      .footer .footer-navi-list__item:not(:nth-child(3n)) {
        width: 31%; } }
  .footer .footer-navi-list__link {
    position: relative;
    font-size: 1.4rem;
    color: #fff;
    text-decoration: none;
    padding-left: 20px; }
    @media (max-width: 480px) {
      .footer .footer-navi-list__link {
        font-size: 2.5974025974vw;
        padding-left: 3.2467532468vw; } }
    .footer .footer-navi-list__link::before {
      position: absolute;
      content: " ";
      width: 5px;
      height: 1px;
      background-color: #fff;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media (max-width: 480px) {
        .footer .footer-navi-list__link::before {
          width: 0.6493506494vw; } }
    @media (max-width: 1020px) {
      .footer .footer-navi-list__link:hover {
        text-decoration: underline; } }
  .footer .footer-link {
    max-width: 1200px;
    min-width: 1020px;
    margin: 0 auto 30px;
    padding-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 480px) {
      .footer .footer-link {
        max-width: 100%;
        min-width: 100%;
        display: block;
        margin-bottom: 10.3896103896vw; } }
  .footer .footer-link__ttl {
    font-weight: bold;
    font-size: 2.2rem;
    color: #505050;
    line-height: 1.4; }
    @media (max-width: 480px) {
      .footer .footer-link__ttl {
        font-size: 4.2857142857vw;
        text-align: center;
        margin-bottom: 5.1948051948vw; } }
  .footer .footer-link-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media (max-width: 480px) {
      .footer .footer-link-list {
        display: block; } }
  .footer .footer-link-list__item:not(:last-child) {
    margin-right: 10px; }
    @media (max-width: 480px) {
      .footer .footer-link-list__item:not(:last-child) {
        margin-right: 0;
        margin-bottom: 1.9480519481vw; } }
  .footer .footer-link-list__set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 240px;
    height: 50px;
    color: #fff;
    padding-left: 50px;
    border-radius: 60px;
    background-repeat: no-repeat;
    background-position: left 10px center;
    background-size: 33px auto;
    font-size: 1.7rem;
    font-weight: bold;
    position: relative;
    text-decoration: none;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    outline: none;
    letter-spacing: 1px; }
    @media (max-width: 480px) {
      .footer .footer-link-list__set {
        width: 68.8311688312vw;
        height: 11.6883116883vw;
        font-size: 3.8961038961vw;
        margin: 0 auto;
        padding-left: 14.2857142857vw;
        border-radius: 6.8831168831vw;
        background-size: 7.7922077922vw auto;
        background-position: left 3.8961038961vw center; } }
    .footer .footer-link-list__set.hikari {
      background-color: #004ea2;
      background-image: url(../images/footer_icon_03.png); }
    .footer .footer-link-list__set.denki {
      background-color: #ffcc00;
      background-image: url(../images/footer_icon_02.png);
      color: #004ea2; }
    .footer .footer-link-list__set.gas {
      background-color: #34b1e8;
      background-image: url(../images/footer_icon_01.png); }
    @media (max-width: 1020px) {
      .footer .footer-link-list__set:hover {
        opacity: .7; } }
    .footer .footer-link-list__set::before {
      content: "";
      background: url(../images/icon_popup_white.png) no-repeat center center/contain;
      width: 14px;
      height: 10px;
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      right: 10px; }
      @media (max-width: 480px) {
        .footer .footer-link-list__set::before {
          width: 3.8961038961vw;
          height: 2.5974025974vw;
          right: 3.8961038961vw; } }
  .footer .footer__inner {
    width: 100%;
    max-width: 1200px;
    min-width: 1020px;
    margin: 0 auto;
    padding: 25px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    border-top: 1px solid #cccccc; }
    @media (max-width: 480px) {
      .footer .footer__inner {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
        display: block;
        padding: 6.4935064935vw 1.9480519481vw; } }
    .footer .footer__inner .footer-left {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      @media (max-width: 480px) {
        .footer .footer__inner .footer-left {
          margin-bottom: 5.1948051948vw;
          display: block; } }
    .footer .footer__inner .footer-logo {
      width: 125px;
      margin-right: 30px; }
      @media (max-width: 480px) {
        .footer .footer__inner .footer-logo {
          width: 25.974025974vw;
          margin: 0 auto; } }
    .footer .footer__inner .footer-left-list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 10px; }
      @media (max-width: 480px) {
        .footer .footer__inner .footer-left-list {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
    .footer .footer__inner .footer-left-list__item:not(:last-child) {
      margin-right: 20px; }
      @media (max-width: 480px) {
        .footer .footer__inner .footer-left-list__item:not(:last-child) {
          margin-right: 3.8961038961vw; } }
    .footer .footer__inner .footer-left-list__item a {
      font-size: 1.4rem;
      color: #34495e;
      padding: 0 16px 0 0;
      display: block;
      text-decoration: none;
      background-repeat: no-repeat;
      background-size: 11px;
      background-position: top 8px right; }
      .footer .footer__inner .footer-left-list__item a:hover {
        text-decoration: underline; }
      @media (max-width: 480px) {
        .footer .footer__inner .footer-left-list__item a {
          font-size: 3.1168831169vw;
          padding: 0 3.8961038961vw 0 0;
          text-decoration: underline;
          background-size: 2.987012987vw;
          background-position: top 1.5584415584vw right; } }
    .footer .footer__inner .footer__copy {
      text-align: center;
      font-size: 1.1rem;
      color: #34495e; }
      @media (max-width: 480px) {
        .footer .footer__inner .footer__copy {
          font-size: 2.8571428571vw; } }
      .footer .footer__inner .footer__copy p {
        margin-bottom: 0; }
    .footer .footer__inner img {
      width: 100%; }
