@charset "UTF-8";
/******************************************************
SP
******************************************************/
html {
  font-size: 62.5%;
  /*10px 1em */
  width: 100%;
  height: 100%; }

@media screen and (max-width: 736px) {
  body {
    width: 100%;
    min-width: 320px;
    height: 100%;
    color: #333333;
    font-family: sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.5;
    -webkit-text-size-adjust: none;
    position: relative;
    background: #f8f8f8; }
  a {
    text-decoration: none; }
  img {
    max-width: 100%;
    height: auto;
    vertical-align: top; }
  .pc {
    display: none !important; }
  #wrap {
    position: relative;
    width: 100%;
    background: url("/img/bg.png") repeat left top;
    background-size: 10px 7px; }
  #spmenu {
    position: fixed;
    right: -90%;
    top: 0px;
    opacity: 0;
    width: 90%;
    background: #fff;
    transition: all 0.5s ease;
    backface-visibility: hidden;
    z-index: 100; }
    #spmenu #closeBtn {
      cursor: pointer;
      width: 100%;
      height: 45px;
      background: #333333;
      position: relative; }
      #spmenu #closeBtn span {
        width: 20px;
        height: 2px;
        background: #fff;
        position: absolute;
        top: 22px;
        right: 10px;
        transform: rotate(45deg); }
      #spmenu #closeBtn span + span {
        transform: rotate(-45deg); }
    #spmenu .loginlink li a, #spmenu .otherLink li a {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      height: 45px;
      line-height: 44px;
      background: #333333;
      color: #fff;
      font-size: 15px;
      font-weight: bold;
      border-bottom: #dc320a solid 0.5px;
      box-sizing: border-box; }
      #spmenu .loginlink li a i, #spmenu .otherLink li a i {
        display: inline-block;
        width: 50px;
        text-align: center;
        font-size: 1.8rem; }
      #spmenu .loginlink li a .icon-spmenu02, #spmenu .otherLink li a .icon-spmenu02 {
        font-size: 2.2rem; }
      #spmenu .loginlink li a .icon-spmenu05, #spmenu .otherLink li a .icon-spmenu05 {
        font-size: 2.1rem; }
    #spmenu .loginlink li:nth-child(1) a, #spmenu .otherLink li:nth-child(1) a {
      background: #dc320a; }
    #spmenu .otherLink li a {
      font-size: 13px;
      font-weight: normal;
      height: 32px;
      line-height: 32px;
      border-bottom: 0;
      text-indent: 20px; }
    #spmenu .logout {
      display: block;
      line-height: 35px;
      height: 35px;
      background: #666666;
      color: #fff;
      font-size: 1.3rem;
      text-align: center; }
    #spmenu .sublogo {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 40px; }
      #spmenu .sublogo small {
        font-size: 10px;
        transform: scale(0.6);
        white-space: nowrap; }
      #spmenu .sublogo span img {
        min-height: 8px;
        max-height: 14px;
        width: auto;
        vertical-align: middle;
        position: relative;
        top: -2px; }
      #spmenu .sublogo span + span {
        padding-left: 5px; }
        #spmenu .sublogo span + span img {
          min-height: 10px;
          max-height: 14px;
          width: auto; }
  header {
    width: 100%;
    height: 45px;
    overflow: hidden;
    background: #fff;
    position: relative;
    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3); }
    header .headerContent {
      width: calc(100% - 45px);
      height: 45px;
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      header .headerContent .logo {
        max-height: 25px;
        padding-left: 10px; }
        header .headerContent .logo img {
          max-width: 100%;
          max-height: 25px;
          width: auto; }
      header .headerContent .inner .sublogo {
        display: flex;
        justify-content: flex-start;
        align-items: center; }
        header .headerContent .inner .sublogo small {
          font-size: 10px;
          transform: scale(0.6);
          white-space: nowrap; }
        header .headerContent .inner .sublogo span img {
          min-height: 8px;
          max-height: 14px;
          width: auto;
          vertical-align: middle;
          position: relative;
          top: -2px; }
        header .headerContent .inner .sublogo span + span {
          padding-left: 5px; }
          header .headerContent .inner .sublogo span + span img {
            min-height: 10px;
            max-height: 14px;
            width: auto; }
      header .headerContent .inner .h-nav, header .headerContent .inner nav {
        display: none; }
    header #slidemenuCover {
      position: absolute;
      right: 0;
      top: 0;
      width: 45px;
      height: 45px; }
      header #slidemenuCover a {
        display: block;
        width: 45px;
        height: 45px; }
        header #slidemenuCover a span {
          position: absolute;
          display: inline-block;
          width: 21px;
          height: 2px;
          background: #dc320a;
          transition: all 0.3s ease;
          backface-visibility: hidden; }
          header #slidemenuCover a span:nth-child(1) {
            right: 12px;
            top: 15px; }
          header #slidemenuCover a span:nth-child(2) {
            right: 12px;
            top: 21px; }
          header #slidemenuCover a span:nth-child(3) {
            right: 12px;
            top: 27px; }
  .slide-open #spmenu {
    z-index: 100;
    right: 0;
    opacity: 1; }
  .slide-open #modalbg {
    z-index: 10;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8); }
  .mainTitle {
    padding: 20px 10px;
    background: #fff; }
    .mainTitle .swiper-container {
      padding-bottom: 40px; }
      .mainTitle .swiper-container img {
        width: 100% !important;
        height: auto !important; }
  .banner-container {
    width: 100%; }
/*
    .banner-container li a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 35px;
      border: #333333 solid 1px;
      box-sizing: border-box;
      border-radius: 2px;
      color: #333333; }
      .banner-container li a img {
        position: relative;
        top: -2px;
        padding-right: 5px;
        height: 15px;
        width: auto; }
      .banner-container li a small {
        font-size: 11px; }
      .banner-container li a .icon-gus, .banner-container li a .icon-elect {
        font-size: 20px;
        margin-right: 5px; }
      .banner-container li a span {
        font-size: 11px;
        font-weight: bold; }
    .banner-container li + li {
      padding-top: 10px; }
*/
  .graphTab {
    width: 100%; }
    .graphTab ul {
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      .graphTab ul li {
        display: flex;
        width: 42%;
        justify-content: center;
        align-items: center;
        border-radius: 5px 5px 0 0;
        background: #fff;
        font-size: 15px;
        font-weight: bold;
        line-height: 35px;
        cursor: pointer;
        background: #d8d7d7; }
        .graphTab ul li i {
          margin-right: 10px;
          font-size: 12px; }
        .graphTab ul li.on {
          background: #fff; }
      .graphTab ul li + li {
        margin-left: 5px; }
  article {
    width: 100%;
    padding: 10px;
    box-sizing: border-box; }
    article .articleHeader {
      width: 100%;
      position: relative;
      padding: 20px 0;
      display: block; }
      article .articleHeader h1 {
        font-size: 20px;
        font-weight: bold;
        color: #333333;
        line-height: 1; }
      article .articleHeader .name {
        font-size: 1.4rem;
        font-weight: bold;
        color: #333333;
        padding-top: 15px; }
      article .articleHeader .Breadcrumb {
        position: absolute;
        right: 10px;
        top: 7px; }
        article .articleHeader .Breadcrumb li {
          float: left;
          padding-left: 10px;
          font-size: 8px;
          color: #333333; }
          article .articleHeader .Breadcrumb li a {
            display: block;
            position: relative;
            padding-right: 10px;
            color: #333333; }
          article .articleHeader .Breadcrumb li a:before {
            content: "/";
            position: absolute;
            right: 0px;
            top: 0; }
        article .articleHeader .Breadcrumb li:first-child {
          padding-right: 0; }
  section {
    width: 100%;
    overflow: hidden;
    padding-bottom: 40px; }
    section h1 {
      padding: 10px 10px;
      background: #dc320a;
      color: #fff;
      font-size: 15px;
      line-height: 1.5;
      width: auto;
      overflow: hidden; }
      section h1.black {
        background: #333333; }
      section h1 time {
        float: right;
        font-size: 12px;
        color: #fff799; }
    section .inner {
      background: #fff; }
  .login .sectionBox {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap; }
    .login .sectionBox .leftBox {
      width: 100%;
      order: 2; }
    .login .sectionBox .costBox {
      order: 2; }
    .login .sectionBox .gusgraph {
      order: 1; }
  .graphBox {
    width: 100%;
    padding-bottom: 0; }
    .graphBox #erect-graph h1 {
      background: #90c31f; }
    .graphBox .inner {
      background: #fff;
      padding: 20px; }
  .canvasInfo {
    width: 100%;
    overflow: hidden;
    padding-bottom: 20px;
    color: #4d4d4d; }
    .canvasInfo time {
      display: block;
      font-size: 10px;
      padding: 10px;
      color: #4d4d4d;
      text-align: right; }
    .canvasInfo p {
      float: right;
      margin-right: 10px;
      line-height: 10px;
      font-size: 10px;
      display: inline-block; }
      .canvasInfo p span {
        display: inline-block;
        width: 10px;
        height: 10px;
        background: #cb567a;
        float: left;
        margin-right: 5px; }
      .canvasInfo p .color01 {
        background: #90c31f; }
      .canvasInfo p .color02 {
        background: #dc320a; }
      .canvasInfo p .color03 {
        background: #dc320a; }
  .costBox {
    width: 100%; }
    .costBox dl {
      background: #dc320a; }
      .costBox dl dt {
        padding: 13px 20px;
        color: #fff;
        line-height: 1;
        display: flex;
        justify-content: space-between; }
        .costBox dl dt em {
          display: block;
          font-size: 20px;
          font-weight: bold; }
          .costBox dl dt em time {
            display: block;
            font-size: 10px;
            font-weight: bold;
            padding-top: 10px; }
        .costBox dl dt span {
          text-align: right;
          color: #fff;
          font-size: 20px;
          font-family: "Swiss_721 W01 Bold";
          line-height: 1; }
          .costBox dl dt span small {
            font-size: 14px; }
      .costBox dl dd.breakdown {
        background: #fff;
        text-align: center;
        padding-bottom: 20px; }
        .costBox dl dd.breakdown em {
          display: block;
          color: #333333;
          font-weight: bold;
          line-height: 30px;
          padding-left: 20px;
          background: #999999;
          text-align: left; }
        .costBox dl dd.breakdown ul {
          width: 100%;
          padding: 15px 20px;
          box-sizing: border-box;
          background: #fff; }
          .costBox dl dd.breakdown ul li {
            border-bottom: #a9a9a9 dotted 1px;
            line-height: 40px;
            width: 100%;
            overflow: hidden;
            box-sizing: border-box; }
            .costBox dl dd.breakdown ul li span {
              float: left; }
            .costBox dl dd.breakdown ul li p {
              text-align: right;
              font-weight: bold;
              font-size: 16px; }
              .costBox dl dd.breakdown ul li p small {
                font-weight: normal;
                font-size: 14px;
                margin-left: 5px; }
          .costBox dl dd.breakdown ul li:last-child {
            border-bottom: 0; }
    .costBox .lastMonth {
      background: #4985ad; }
      .costBox .lastMonth dd {
        padding-bottom: 0 !important; }
    .costBox .text {
      display: block;
      padding: 20px;
      background: #fff;
      font-weight: bold;
      font-size: 1.2rem;
      line-height: 1.5; }
      .costBox .text span {
        color: #0071bc; }
  .leftBox {
    padding-bottom: 40px; }
    .leftBox .costBox {
      padding-bottom: 10px; }
    .leftBox .costBox + .costBox {
      padding-bottom: 0; }
  a.btn {
    display: inline-block;
    background: #666666;
    line-height: 40px;
    width: 170px;
    text-align: center;
    color: #fff;
    font-size: 14px;
    border-radius: 20px;
    margin: 0 auto;
    position: relative; }
    a.btn i {
      position: absolute;
      right: 15px;
      top: 0;
      line-height: 40px;
      font-size: 12px; }
  .info .inner {
    padding: 0; }
  .info .infoList {
    padding: 15px 20px; }
    .info .infoList li {
      width: 100%;
      box-sizing: border-box;
      position: relative;
      border-bottom: #333333 dotted 1px; }
      .info .infoList li a {
        display: block;
        padding: 10px 0;
        width: 100%;
        overflow: hidden;
        color: #333333; }
        .info .infoList li a time {
          display: block;
          font-weight: bold; }
        .info .infoList li a p {
          display: block; }
  .info .infoFlex .infoBtn {
    text-align: center; }
  .info .changepasswd {
    padding-bottom: 20px;
    background: #fff;
  }
  .info .changepasswd span a {
    display: block;
    color: #333333;
    text-align: center;
    text-decoration: underline;
  }
  #wrap.news .infoFlex .infoList {
    width: 100%;
    box-sizing: border-box; }
  #wrap.news .infoFlex .infoBtn {
    display: none; }
  footer {
    background: #f8f8f8; }
    footer .bannerBox {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      padding: 20px 20px;
      box-sizing: border-box; }
      footer .bannerBox li {
        width: 50%;
        padding: 5px;
        box-sizing: border-box;
        overflow: hidden; }
        footer .bannerBox li img {
          width: 100%;
          height: auto; }
    footer .footerNav {
      display: none; }
    footer .footerContents {
      width: 100%;
      text-align: center;
      background: #3e3a39; }
      footer .footerContents .inner {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap; }
        footer .footerContents .inner small {
          order: 2;
          font-size: 7px;
          line-height: 30px;
          display: block;
          color: #fff;
          width: 100%; }
        footer .footerContents .inner ul {
          order: 1;
          text-align: center;
          width: 100%;
          padding: 10px 0; }
          footer .footerContents .inner ul li {
            display: inline-block; }
            footer .footerContents .inner ul li a {
              color: #fff;
              font-size: 10px; }
            footer .footerContents .inner ul li a:hover {
              color: #dc320a; }
          footer .footerContents .inner ul li:before {
            content: "|";
            font-size: 10px;
            padding: 0 10px;
            color: #fff; }
          footer .footerContents .inner ul li:first-child:before {
            content: none; }
  .gus section h1 {
    background: #dc320a; }
  .gus section .color01 {
    background: #ccc !important; }
  .gus section .color02 {
    background: #dc320a !important; }
  .gus .scrollArea {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
  .electric section .color01 {
    background: #ccc !important; }
  .electric section .color02 {
    background: #90c31f !important; }
  .price section h1 {
    background: #4d8685; }
  .price section .color03 {
    background: #dc320a !important; }
  .price section .color04 {
    background: #f9f0f1 !important; }
  .price .gusgraph .inner.gusTableBox table thead th {
    background: #3d6d6a; }
  .price .gusgraph .inner.gusTableBox table tbody th {
    background: #679595; }
  .price .gusgraph .inner.gusTableBox table tbody tr:nth-child(4) th {
    background: #80a6a5; }
  .price .gusgraph .inner.gusTableBox table tbody tr:nth-child(4) td {
    background: #f7f7f7; }
  .price .gusgraph .inner.gusTableBox table tbody tr:nth-child(5) th {
    background: #679595; }
  .price .gusgraph .inner.gusTableBox table tbody tr:nth-child(5) td {
    background: #ffffff; }
  .price .scrollArea {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .price .scrollArea #myBar2Chart {
      width: 524px !important;
      height: 220px !important; }
  .list section h1 {
    background: #dc320a; }
  .list section .listTable a {
    background: #002a60; }
  .list section .listTable.nobtn a {
    background: none;
    color: #333333;
    font-weight: bold;
    text-decoration: underline; }
  .mypage section h1 {
    background: #2c3e4f; }
  .mypage section .infoTable a {
    background: #2c3e4f; }
  .gusTableBox {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    display: flex;
    justify-content: flex-start;
    padding: 20px 0 !important;
    background: #fff !important;
    -webkit-overflow-scrolling: touch; }
    .gusTableBox .gusTable table {
      width: 100%;
      overflow: hidden;
      border: #ebebeb solid 1px;
      box-sizing: border-box;
      font-size: 10px; }
      .gusTableBox .gusTable table thead th {
        background: #333333;
        border-left: #ebebeb solid 1px;
        border-bottom: #ebebeb solid 1px;
        padding: 5px;
        color: #fff;
        font-size: 10px;
        font-weight: normal; }
      .gusTableBox .gusTable table thead th:first-child {
        border-left: 0;
        white-space: nowrap;
        padding: 5px; }
      .gusTableBox .gusTable table tbody th {
        background: #999999;
        border-bottom: #ebebeb solid 1px;
        padding: 5px;
        color: #fff;
        font-weight: normal;
        font-size: 10px; }
      .gusTableBox .gusTable table tbody td {
        vertical-align: middle;
        line-height: 1;
        text-align: center;
        background: #fff;
        border-bottom: #ebebeb dotted 1px;
        border-left: #ebebeb solid 1px; }
      .gusTableBox .gusTable table tbody td:nth-child(2n-1) {
        background: #f8f8f8; }
  .listTable {
    padding: 10px; }
    .listTable table {
      width: 100%;
      overflow: hidden;
      box-sizing: border-box;
      font-size: 10px;
      table-layout: fixed; }
      .listTable table thead th {
        background: #333333;
        font-size: 10px;
        line-height: 20px;
        color: #fff;
        font-weight: bold; }
      .listTable table tbody td {
        vertical-align: middle;
        line-height: 1;
        text-align: center;
        background: #fff;
        border-top: #fff solid 1px;
        border-right: #fff solid 1px;
        line-height: 30px;
        font-size: 10px;
        background: #f4f4f4;
        font-weight: bold; }
        .listTable table tbody td a {
          font-weight: normal;
          width: 100px;
          height: 20px;
          line-height: 20px;
          border-radius: 10px;
          font-size: 9px; }
          .listTable table tbody td a i {
            font-size: 9px;
            right: 6px;
            line-height: 20px; }
  .flex h2 {
    color: #222;
    font-weight: bold;
    font-size: 14px;
    padding: 10px 20px; }
  .detailTable table {
    width: 100%;
    table-layout: fixed;
    border-top: #a8aeb5 solid 1px;
    border-bottom: #a8aeb5 solid 1px;
    font-size: 10px; }
    .detailTable table th {
      background: #002a60;
      color: #fff;
      padding: 6px;
      text-align: center;
      vertical-align: middle;
      border-bottom: #a8aeb5 solid 1px;
      box-sizing: border-box;
      font-weight: bold; }
    .detailTable table th[rowspan="3"] {
      border-right: #a8aeb5 solid 1px; }
    .detailTable table th[rowspan="2"] {
      border-right: #a8aeb5 solid 1px; }
    .detailTable table th.gray {
      background: #f4f4f4;
      color: #222;
      border-right: #a8aeb5 solid 1px; }
    .detailTable table td {
      padding: 6px;
      border-bottom: #a8aeb5 solid 1px;
      border-right: #a8aeb5 solid 1px;
      box-sizing: border-box;
      color: #222;
      font-weight: bold;
      background: #f4f4f4;
      text-align: center; }
      .detailTable table td p {
        text-align: left; }
    .detailTable table td:last-child {
      text-align: right;
      border-right: #a8aeb5 solid 1px; }
    .detailTable table tr:last-child th {
      border-bottom: 0; }
  .infoTable {
    padding-top: 20px; }
    .infoTable table {
      width: 100%;
      overflow: hidden;
      box-sizing: border-box;
      font-size: 10px;
      table-layout: fixed; }
      .infoTable table thead th {
        background: #002a60;
        font-size: 10px;
        line-height: 30px;
        color: #fff;
        font-weight: bold; }
      .infoTable table tbody th {
        vertical-align: middle;
        line-height: 1;
        text-align: center;
        background: #fff;
        border-top: #fff solid 1px;
        border-right: #fff solid 1px;
        padding: 8px;
        font-size: 10px;
        background: #e6e6e6;
        font-weight: bold; }
      .infoTable table tbody td {
        vertical-align: middle;
        line-height: 1;
        text-align: center;
        background: #fff;
        border-top: #fff solid 1px;
        border-right: #fff solid 1px;
        line-height: 1.5;
        padding: 8px;
        font-size: 10px;
        background: #f4f4f4;
        font-weight: bold; }
        .infoTable table tbody td input[type="text"], .infoTable table tbody td input[type="email"] {
          font-size: 10px;
          padding: 2px;
          width: 100%;
          box-sizing: border-box;
          text-align: center;
          -webkit-appearance: none; }
        .infoTable table tbody td a {
          font-weight: normal;
          width: 80px;
          height: 20px;
          line-height: 20px;
          border-radius: 10px;
          font-size: 9px; }
          .infoTable table tbody td a i {
            font-size: 9px;
            right: 6px;
            line-height: 20px; }
  .newsDetail {
    padding: 20px; }
    .newsDetail p {
      padding-bottom: 1em;
      line-height: 2; }
      .newsDetail p img {
        display: block;
        margin: 0 auto;
        max-width: 100%;
        height: auto; }
    .newsDetail p
p:last-child {
      padding-bottom: 0; }
    .newsDetail em {
      display: block;
      font-weight: bold;
      color: #333333;
      font-size: 14px;
      padding-bottom: 1em; }
  .btnBox {
    text-align: center;
    padding: 0px 0 20px; }
    .btnBox label.submit {
      display: inline-block;
      position: relative; }
      .btnBox label.submit input[type="submit"] {
        display: inline-block;
        width: 140px;
        height: 40px;
        line-height: 40px;
        background: #666;
        border-radius: 20px;
        color: #fff;
        font-size: 14px;
        font-weight: bold;
        position: relative;
        border: 0;
        cursor: pointer;
        -webkit-appearance: none; }
        .btnBox label.submit input[type="submit"]:hover {
          opacity: 0.8; }
    .btnBox label.submit:after {
      content: "\e900";
      font-family: icomoon;
      position: absolute;
      right: 20px;
      top: 0;
      line-height: 40px;
      font-size: 10px;
      color: #fff;
      pointer-events: none; }
  .loginBox {
    padding: 40px; }
    .loginBox p {
      text-align: center;
      padding: 0 0px 20px;
      font-size: 12px; }
    .loginBox p + a {
      display: block;
      text-align: center;
      color: #333333;
      font-size: 1.4rem;
      text-decoration: underline;
      }
    .loginBox p + a + br + a {
      display: block;
      text-align: center;
      color: #333333;
      font-size: 1.4rem;
      text-decoration: underline;
      margin-bottom: 20px; }
    .loginBox > p:last-child {
      padding-bottom: 0; }
    .loginBox ul li {
      margin-bottom: 20px;
      text-align: center; }
      .loginBox ul li .labelTxt {
        display: none; }
      .loginBox ul li label {
        position: relative;
        display: block; }
        .loginBox ul li label input {
          display: block;
          padding: 0px 10px;
          height: 40px;
          margin: 0;
          font-size: 14px;
          width: 100%;
          background: #f4f4f4;
          border: #cccccc solid 1px;
          border-radius: 4px;
          -webkit-appearance: none; }
        .loginBox ul li label input[readonly="readonly"] {
          background: #cccccc;
          color: #999; }
    .loginBox ol {
      text-align: center;
      display: block;
      padding-top: 15px; }
      .loginBox ol li {
        display: block; }
        .loginBox ol li a {
          text-decoration: underline;
          color: #333333; }
      .loginBox ol li + li {
        padding-top: 5px; }
    .loginBox .omission {
      display: block;
      margin-bottom: 20px;
      text-align: center; }
    .loginBox .submit {
      display: block;
      height: 40px;
      margin: 0 auto;
      position: relative; }
      .loginBox .submit input {
        -webkit-appearance: none;
        -webkit-border-radius: 0;
        width: 100%;
        height: 40px;
        border: 0;
        background: #666666;
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        cursor: pointer;
        transition: all 0.5s ease;
        backface-visibility: hidden;
        border-radius: 20px; }
      .loginBox .submit input:hover {
        opacity: 0.8; }
    .loginBox .submit:after {
      content: "\e900";
      font-family: icomoon;
      position: absolute;
      font-size: 10px;
      right: 20px;
      top: 0;
      line-height: 40px;
      color: #fff;
      pointer-events: none; }
    .loginBox .officeList {
      text-align: center;
      padding-top: 10px; }
      .loginBox .officeList p {
        padding-bottom: 10px; }
      .loginBox .officeList a {
        text-decoration: underline; }
        .loginBox .officeList a:hover {
          color: #dc320a; }
  .detail .inner {
    padding: 10px; }
    .detail .inner .customerNum {
      padding-bottom: 10px;
      text-align: right;
      font-size: 11px; }
    .detail .inner .printBox {
      padding: 20px;
      border: #333333 solid 1px; }
      .detail .inner .printBox .input {
        text-align: center; }
        .detail .inner .printBox .input em {
          font-size: 12px;
          font-weight: bold; }
        .detail .inner .printBox .input .inputBox {
          padding-top: 10px; }
          .detail .inner .printBox .input .inputBox input {
            width: 210px;
            height: 30px;
            border-radius: 2px;
            border: #cccccc solid 1px;
            box-sizing: border-box;
            font-size: 14px;
            padding: 0 10px;
            margin: 0 10px; }
      .detail .inner .printBox .submitBox {
        margin-top: 20px;
        text-align: center; }
        .detail .inner .printBox .submitBox input[type="submit"] {
          width: 270px;
          height: 40px;
          border-radius: 20px;
          background: #666666;
          border: 0;
          color: #fff;
          font-size: 15px;
          font-weight: bold; }
    .detail .inner .data .txt {
      font-size: 11px;
      line-height: 2;
      padding: 20px 0; }
    .detail .inner .data .group {
      font-size: 11px;
      padding-bottom: 20px; }
      .detail .inner .data .group .logo {
        width: 200px;
        height: 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        border: #333333 solid 1px;
        margin-bottom: 20px; }
    .detail .inner .detailData dl {
      display: flex;
      justify-content: flex-start;
      width: 100%;
      border-bottom: #fff solid 1px; }
      .detail .inner .detailData dl dt {
        background: #333333;
        color: #fff;
        font-size: 11px;
        font-weight: bold;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 130px; }
      .detail .inner .detailData dl dd {
        width: calc(100% - 130px);
        background: #f2f2f2;
        font-size: 11px;
        font-weight: bold;
        text-align: center;
        padding: 10px;
        box-sizing: border-box;
        word-break: break-all; }
    .detail .inner .detailData table {
      width: 100%; }
      .detail .inner .detailData table caption {
        background: #999;
        width: 100%;
        line-height: 24px;
        font-weight: bold;
        color: #fff;
        font-size: 10px; }
      .detail .inner .detailData table th {
        background: #999;
        color: #fff;
        font-size: 10px;
        text-align: center;
        border-top: #fff solid 2px;
        border-right: #fff solid 2px;
        letter-spacing: -0.06em; }
      .detail .inner .detailData table td {
        background: #f2f2f2;
        font-size: 10px;
        font-weight: bold;
        text-align: center;
        border-top: #fff solid 2px;
        word-break: break-all;
        font-weight: normal;
        vertical-align: middle; }
    .detail .inner .detailData.type01 th {
      line-height: 38px; }
    .detail .inner .detailData.type02 th, .detail .inner .detailData.type03 th {
      display: none; }
    .detail .inner .detailData.type02 tbody, .detail .inner .detailData.type03 tbody {
      font-size: 10px; }
      .detail .inner .detailData.type02 tbody tr, .detail .inner .detailData.type03 tbody tr {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 10px; }
        .detail .inner .detailData.type02 tbody tr td, .detail .inner .detailData.type03 tbody tr td {
          width: 100%;
          box-sizing: border-box;
          display: flex;
          justify-content: flex-start; }
          .detail .inner .detailData.type02 tbody tr td em, .detail .inner .detailData.type03 tbody tr td em {
            background: #999;
            width: 75px;
            color: #fff;
            padding: 15px 0;
            text-align: center;
            display: flex;
            justify-content: center;
            align-items: center;
            font-weight: bold; }
          .detail .inner .detailData.type02 tbody tr td span, .detail .inner .detailData.type03 tbody tr td span {
            width: calc(100% - 75px);
            padding: 15px;
            box-sizing: border-box;
            text-align: left;
            display: flex;
            justify-content: flex-start;
            align-items: center; }
        .detail .inner .detailData.type02 tbody tr td:nth-child(3),
        .detail .inner .detailData.type03 tbody tr td:nth-child(3),
        .detail .inner .detailData.type02 tbody tr td:nth-child(4),
        .detail .inner .detailData.type03 tbody tr td:nth-child(4) {
          width: 50%; }
    .detail .inner .detailData.type03 tbody td:nth-child(4) {
      width: 100%; }
    .detail .inner .detailData + .detailData {
      margin-top: 30px; }
    .detail .inner .field {
      border: #333333 solid 1px;
      padding: 10px;
      margin-top: 0px;
      font-size: 12px; }
      .detail .inner .field em {
        font-weight: bold;
        display: block;
        padding-bottom: 5px; }
      .detail .inner .field p {
        word-break: break-all;
        font-weight: normal; }
        .detail .inner .field p span {
          color: #0071bc; }
      .detail .inner .field .bold {
        font-weight: bold; }
    .detail .inner .field + .field {
      margin-top: 10px; }
  .gus.detail .field {
    margin-top: 0; }
    .gus.detail .field em {
      font-size: 12px; }
    .gus.detail .field .flex {
      padding-top: 0 !important; }
      .gus.detail .field .flex .item {
        font-size: 11px; }
      .gus.detail .field .flex .item + .item {
        padding-top: 20px; }
  .gus.detail .btn {
    margin: 20px auto 20px;
    display: block;
    width: 270px; }
  .electric.detail .inner .detailData {
    margin-top: 2px; }
    .electric.detail .inner .detailData dt {
      background: #317525; }
  .electric.detail .inner .type01.space {
    margin-top: 40px; }
  .electric.detail .inner .type01 table th {
    width: 78px; }
  .electric.detail .inner .type01 table td {
    padding: 0 10px;
    vertical-align: middle;
    text-align: right; }
  .electric.detail .inner .type03 tbody tr td:nth-child(1), .electric.detail .inner .type02 tbody tr td:nth-child(1) {
    width: 100%; }
  .electric.detail .inner .type03 tbody tr td:last-child, .electric.detail .inner .type02 tbody tr td:last-child {
    width: 50%; }
  #wrap.news {
    background: #fff; }
    #wrap.news section .inner {
      padding: 0; }
      #wrap.news section .inner table {
        width: 100%;
        font-size: 10px; }
        #wrap.news section .inner table th {
          background: #f4f4f4;
          width: 75px;
          border-bottom: #fff solid 2px;
          border-right: #fff solid 2px;
          height: 31px;
          text-align: center;
          vertical-align: middle; }
        #wrap.news section .inner table td {
          background: #f4f4f4;
          border-bottom: #fff solid 2px;
          padding: 10px;
          text-align: left;
          vertical-align: middle; }
      #wrap.news section .inner .newsdetail .time {
        width: 100%;
        line-height: 35px;
        text-align: right;
        background: #f4f4f4;
        box-sizing: border-box;
        padding-right: 10px; }
      #wrap.news section .inner .newsdetail h2 {
        text-align: center;
        font-size: 12px;
        padding: 20px 0; }
      #wrap.news section .inner .newsdetail p {
        font-size: 11px;
        padding-bottom: 1em;
        line-height: 1.5;
        font-weight: 500; }
      #wrap.news section .inner .newsdetail .dowmload {
        padding-top: 10px; }
        #wrap.news section .inner .newsdetail .dowmload .pdf {
          display: inline-block;
          width: 20px;
          height: 20px;
          background: url(../img/pdf.png) no-repeat 0 0;
          background-size: 20px 20px;
          position: relative;
          top: 6px;
          margin-right: 10px; }
        #wrap.news section .inner .newsdetail .dowmload a {
          text-decoration: underline;
          font-size: 11px;
          line-height: 24px; }
  #wrap.mypage .sectionBox h1 {
    background: #dc320a; }
  #wrap.mypage .sectionBox .inner {
    padding: 10px; }
    #wrap.mypage .sectionBox .inner .mypageTable {
      width: 100%; }
      #wrap.mypage .sectionBox .inner .mypageTable th {
        width: 140px;
        height: 30px;
        background: #e6e6e6;
        border-right: #fff solid 2px;
        border-bottom: #fff solid 2px;
        vertical-align: middle;
        font-size: 12px; }
      #wrap.mypage .sectionBox .inner .mypageTable td {
        background: #f4f4f4;
        border-bottom: #fff solid 2px;
        font-size: 12px;
        text-align: center;
        vertical-align: middle;
        font-weight: bold;
        padding: 10px; }
        #wrap.mypage .sectionBox .inner .mypageTable td input[type="text"], #wrap.mypage .sectionBox .inner .mypageTable td input[type="email"] {
          font-size: 16px;
          padding: 10px;
          width: 100%;
          box-sizing: border-box;
          text-align: center;
          color: #333333;
          font-weight: bold; }
        #wrap.mypage .sectionBox .inner .mypageTable td small {
          display: block;
          font-size: 12px;
          color: #666;
          padding-top: 5px; }
        #wrap.mypage .sectionBox .inner .mypageTable td label input {
          margin-right: 10px; }
        #wrap.mypage .sectionBox .inner .mypageTable td label + label {
          margin-left: 20px; }
        #wrap.mypage .sectionBox .inner .mypageTable td small {
          display: block;
          font-size: 10px;
          color: #666; }
    #wrap.mypage .sectionBox .inner .mypageTable + .btnBox {
      margin-top: 30px; }
    #wrap.mypage .sectionBox .inner .btnBox .submit:after {
      line-height: 40px; }
    #wrap.mypage .sectionBox .inner .btnBox .submit a,
    #wrap.mypage .sectionBox .inner .btnBox .submit input[type="submit"] {
      width: 230px;
      height: 40px;
      font-size: 16px;
      line-height: 40px;
      background: #666; }
  .priceSubTable {
    width: 100%;
    margin-top: 10px; }
    .priceSubTable th {
      width: 50%;
      background: #333333;
      color: #fff;
      font-size: 12px;
      text-align: center;
      vertical-align: middle;
      padding: 10px 0;
      border-bottom: #fff solid 1px; }
    .priceSubTable td {
      background: #f2f2f2;
      font-size: 12px;
      font-weight: bold;
      text-align: center;
      padding: 10px 0;
      border-bottom: #fff solid 1px; }
  .pages {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    background: #fff;
    border-top: #333333 solid 0.5px; }
    .pages a {
      display: inline-block;
      width: 32px;
      height: 32px;
      background: #fff;
      border-radius: 3px;
      text-align: center;
      line-height: 32px;
      color: #dc320a;
      font-size: 1.1rem;
      box-sizing: border-box;
      border: #dc320a solid 1px; }
      .pages a.current, .pages a:hover {
        background: #dc320a;
        color: #fff; }
    .pages a + a {
      margin-left: 10px; } }

/******************************************************
PC
******************************************************/
@media screen and (min-width: 737px) {
  body {
    color: #333333;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 500;
    line-height: 1.5;
    font-size: 1.4rem;
    width: 100%;
    -webkit-text-size-adjust: 100%; }
  img {
    vertical-align: top; }
  a, a img {
    transition: all 0.5s ease;
    backface-visibility: hidden; }
  a:hover img {
    opacity: 0.6; }
  input[type="number"], select {
    -webkit-appearance: none; }
  a {
    text-decoration: none;
    color: #333333; }
  .sp {
    display: none !important; }
  #wrap {
    background: url("/img/bg.png") repeat scroll center top;
    background-size: 10px 7px; }
  header {
    width: 100%;
    overflow: hidden;
    background: #fff;
    box-shadow: 2px 0px 2px rgba(0, 0, 0, 0.2);
    position: relative;
    z-index: 10; }
    header .headerContent {
      height: 100px;
      width: 1010px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: space-between; }
      header .headerContent .logo {
        width: 235px; }
      header .headerContent .logo_business img {
        height: 70px; }
      header .headerContent .inner {
        width: 650px;
        height: 100px;
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
        flex-wrap: wrap; }
        header .headerContent .inner .sublogo {
          display: flex;
          justify-content: flex-start;
          align-items: center;
          height: 36px;
          padding-right: 20px; }
          header .headerContent .inner .sublogo small {
            font-size: 12px;
            padding-right: 10px; }
          header .headerContent .inner .sublogo span {
            display: inline-block;
            padding-right: 10px; }
            header .headerContent .inner .sublogo span a {
              font-size: 15px;
              font-weight: bold;
              color: #fff; }
          header .headerContent .inner .sublogo span + span {
            position: relative;
            top: -4px; }
        header .headerContent .inner .h-nav {
          height: 36px;
          background: #dc320a;
          border-radius: 0px 0px 10px 10px;
          display: flex;
          justify-content: center;
          align-items: center;
          box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2); }
          header .headerContent .inner .h-nav li a {
            font-size: 15px;
            font-weight: bold;
            color: #fff;
            padding: 0 15px;
            line-height: 1; }
          header .headerContent .inner .h-nav li + li a {
            border-left: #fff solid 1px; }
        header .headerContent .inner .logout {
          display: block;
          text-align: right; }
          header .headerContent .inner .logout a {
            display: inline-block;
            width: 160px;
            height: 36px;
            font-size: 17px;
            font-weight: bold;
            color: #fff;
            text-align: center;
            line-height: 36px;
            background: #333333;
            position: relative; }
            header .headerContent .inner .logout a i {
              position: absolute;
              right: 10px;
              font-size: 12px;
              line-height: 36px;
              top: 0; }
            header .headerContent .inner .logout a:hover {
              color: #dc320a; }
        header .headerContent .inner nav {
          width: 100%; }
          header .headerContent .inner nav ul {
            display: flex;
            justify-content: flex-end;
            align-items: center; }
            header .headerContent .inner nav ul li {
              border-left: #d40022 solid 1px; }
              header .headerContent .inner nav ul li a {
                font-size: 16px;
                height: 16px;
                font-weight: bold;
                color: #333333;
                padding: 0 40px; }
              header .headerContent .inner nav ul li:last-child {
                border-right: #333333 solid 1px; }
  .mainTitle {
    width: 100%;
    background: #fff;
    padding: 35px 0; }
    .mainTitle .swiper-container {
      width: 1010px;
      margin: 0 auto;
      padding-bottom: 50px;
      margin-bottom: 10px; }
      .mainTitle .swiper-container .swiper-pagination-bullet-active,
      .mainTitle .swiper-container .swiper-pagination-bullet {
        width: 11px;
        height: 11px; }
      .mainTitle .swiper-container .swiper-pagination-bullet-active {
        background-color: #dc320a; }
    .mainTitle .banner-container {
      width: 1010px;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center; }
/*
      .mainTitle .banner-container li a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 500px;
        height: 68px;
        border: #666666 solid 2px;
        box-sizing: border-box;
        border-radius: 6px; }
        .mainTitle .banner-container li a img {
          position: relative;
          top: -5px;
          padding-right: 20px; }
        .mainTitle .banner-container li a small {
          font-size: 14px; }
        .mainTitle .banner-container li a .icon-gus, .mainTitle .banner-container li a .icon-elect {
          font-size: 30px;
          margin-right: 15px; }
        .mainTitle .banner-container li a span {
          font-size: 20px;
          font-weight: bold; }
*/
  article {
    width: 970px;
    margin: 0 auto;
    padding-bottom: 120px; }
    article .articleHeader {
      width: 100%;
      overflow: hidden;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      article .articleHeader h1 {
        float: left;
        font-size: 24px;
        font-weight: bold;
        color: #333333;
        line-height: 35px;
        padding-top: 40px; }
      article .articleHeader .name {
        font-size: 2rem;
        font-weight: bold;
        color: #333333;
        padding-top: 40px; }
      article .articleHeader .Breadcrumb {
        float: right; }
        article .articleHeader .Breadcrumb li {
          float: left;
          line-height: 35px;
          padding-left: 10px;
          font-size: 14px;
          color: #333333;
          padding: 30px 0 10px;
          font-weight: bold; }
          article .articleHeader .Breadcrumb li a {
            display: block;
            position: relative;
            padding-right: 40px; }
          article .articleHeader .Breadcrumb li a:before {
            content: "/";
            position: absolute;
            right: 15px;
            top: 0;
            line-height: 35px; }
        article .articleHeader .Breadcrumb li:first-child {
          padding-right: 0; }
    article .sectionBox {
      width: 100%;
      padding-top: 35px;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      flex-wrap: wrap; }
  .login article {
    width: 1010px; }
    .login article .articleHeader h1 {
      padding-top: 40px;
      padding-bottom: 0; }
  section {
    width: 100%; }
    section h1 {
      line-height: 50px;
      background: #dc320a;
      width: 100%;
      color: #fff;
      font-size: 20px;
      text-indent: 25px; }
      section h1 time {
        float: right;
        padding-right: 25px;
        font-size: 15px;
        color: #dc320a; }
    section .inner {
      padding: 0 60px 60px;
      background: #fff; }
  section + section {
    margin-top: 25px; }
  a.btn {
    display: inline-block;
    background: #666666;
    line-height: 40px;
    width: 170px;
    text-align: center;
    color: #fff;
    font-size: 14px;
    border-radius: 20px;
    margin: 0 auto;
    position: relative; }
    a.btn i {
      position: absolute;
      right: 15px;
      top: 0;
      line-height: 40px;
      font-size: 12px; }
    a.btn:hover {
      opacity: 0.8; }
  .btnBox {
    text-align: center;
    padding: 30px 0 0; }
    .btnBox label.submit {
      display: inline-block;
      position: relative; }
      .btnBox label.submit input[type="submit"] {
        display: inline-block;
        width: 180px;
        height: 50px;
        line-height: 50px;
        background: #2c3e4f;
        border-radius: 25px;
        color: #fff;
        font-size: 20px;
        font-weight: bold;
        position: relative;
        border: 0;
        cursor: pointer; }
        .btnBox label.submit input[type="submit"]:hover {
          opacity: 0.8; }
    .btnBox label.submit:after {
      content: "\e900";
      font-family: icomoon;
      position: absolute;
      right: 20px;
      top: 0;
      line-height: 50px;
      color: #fff;
      pointer-events: none; }
  .graphTab {
    width: 100%; }
    .graphTab ul {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      padding-right: 50px; }
      .graphTab ul li {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 120px;
        border-radius: 10px 10px 0 0;
        background: #fff;
        font-size: 21px;
        font-weight: bold;
        line-height: 50px;
        box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
        cursor: pointer;
        background: #d8d7d7;
        box-shadow: 0px -2px 2px rgba(0, 0, 0, 0.2) inset; }
        .graphTab ul li i {
          margin-right: 10px;
          font-size: 18px; }
        .graphTab ul li.on {
          background: #fff;
          box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2); }
      .graphTab ul li + li {
        margin-left: 10px; }
  .costBox {
    width: 300px;
    padding: 20px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2); }
    .costBox dl {
      background: #dc320a; }
      .costBox dl dt {
        padding: 13px 25px;
        color: #fff;
        line-height: 1;
        display: flex;
        justify-content: space-between; }
        .costBox dl dt em {
          display: block;
          font-size: 20px;
          font-weight: bold; }
          .costBox dl dt em time {
            display: block;
            font-size: 10px;
            font-weight: bold;
            padding-top: 10px; }
        .costBox dl dt span {
          text-align: right;
          color: #fff;
          font-size: 20px;
          font-family: "Swiss_721 W01 Bold";
          line-height: 1; }
          .costBox dl dt span small {
            font-size: 14px; }
      .costBox dl dd.breakdown {
        background: #f8f8f8;
        text-align: center;
        padding-bottom: 20px; }
        .costBox dl dd.breakdown em {
          display: block;
          color: #333333;
          font-weight: bold;
          line-height: 40px;
          padding-left: 25px;
          background: #999999;
          text-align: left; }
        .costBox dl dd.breakdown ul {
          width: 100%;
          padding: 15px 25px;
          box-sizing: border-box; }
          .costBox dl dd.breakdown ul li {
            border-bottom: #a9a9a9 dotted 1px;
            line-height: 40px;
            width: 100%;
            overflow: hidden;
            box-sizing: border-box; }
            .costBox dl dd.breakdown ul li span {
              float: left; }
            .costBox dl dd.breakdown ul li p {
              text-align: right;
              font-weight: bold;
              font-size: 16px; }
              .costBox dl dd.breakdown ul li p small {
                font-weight: normal;
                font-size: 14px;
                margin-left: 5px; }
          .costBox dl dd.breakdown ul li:last-child {
            border-bottom: 0; }
    .costBox .lastMonth {
      background: #4985ad; }
      .costBox .lastMonth dd {
        padding-bottom: 0 !important; }
    .costBox em.text {
      font-weight: bold;
      color: #333333;
      display: block;
      line-height: 1.8; }
      .costBox em.text span {
        color: #0071bc; }
  .graphBox {
    width: 620px;
    padding: 20px 15px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
    margin-top: 0; }
    .graphBox h1 {
      background: #90c31f; }
    .graphBox .inner {
      background: #fff;
      border: #f8f8f8 solid 16px;
      padding: 20px;
      box-sizing: border-box; }
    .graphBox #gus-graph h1 {
      background: #dc320a; }
  .canvasInfo {
    width: 100%;
    overflow: hidden;
    padding-bottom: 20px; }
    .canvasInfo time {
      float: left;
      font-size: 13px;
      color: #4d4d4d; }
    .canvasInfo p {
      float: right;
      margin-left: 10px;
      line-height: 20px;
      font-size: 13px;
      color: #222222; }
      .canvasInfo p span {
        display: inline-block;
        width: 20px;
        height: 20px;
        background: #cb567a;
        float: left;
        margin-right: 5px; }
      .canvasInfo p .color01 {
        background: #90c31f; }
      .canvasInfo p .color02 {
        background: #dc320a; }
      .canvasInfo p .color03 {
        background: #dc320a; }
  section.wide {
    width: 100%; }
  .info {
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2); }
    .info h1 {
      background: #dc320a; }
      .info h1.black {
        background: #333333; }
    .info .inner {
      padding: 0;
      background: #f8f8f8; }
    .info .infoList {
      padding: 25px 25px; }
      .info .infoList li {
        width: 100%;
        box-sizing: border-box;
        position: relative;
        border-bottom: #333333 dotted 1px; }
        .info .infoList li a {
          display: block;
          padding: 10px 0;
          width: 100%;
          overflow: hidden; }
          .info .infoList li a time {
            float: left;
            font-weight: bold; }
          .info .infoList li a p {
            margin-left: 110px;
            margin-right: 20px;
            color: #333333; }
        .info .infoList li a:hover {
          background: #eff6ff; }
      .info .changepasswd span a {
        display: block;
        color: #333333;
        font-size: 1.5rem;
        text-decoration: underline;
        margin-top: 20px;
      }
    .info .infoFlex {
      display: flex;
      justify-content: flex-start;
      align-items: center; }
      .info .infoFlex .infoList {
        width: 670px; }
      .info .infoFlex .btnBox {
        text-align: center;
        width: 250px;
        padding: 0; }
  #wrap.news .infoFlex .infoList {
    width: 100%;
    box-sizing: border-box; }
  #wrap.news .infoFlex .infoBtn {
    display: none; }
  .question_contact .inner {
    background: #eeeeee;
    padding: 10px; }
    .question_contact .inner ul {
      display: flex;
      justify-content: space-between; }
      .question_contact .inner ul li {
        width: 460px; }
        .question_contact .inner ul li a {
          display: block;
          line-height: 70px;
          text-align: center;
          background: #fec00f;
          border-radius: 2px;
          color: #fff;
          font-size: 18px;
          font-weight: bold;
          position: relative; }
          .question_contact .inner ul li a i {
            font-size: 30px;
            position: relative;
            top: 6px;
            padding-right: 10px; }
          .question_contact .inner ul li a i.icon-arrow1 {
            position: absolute;
            right: 10px;
            top: 0px;
            line-height: 70px;
            font-size: 20px; }
        .question_contact .inner ul li a:hover {
          opacity: 0.8; }
      .question_contact .inner ul .contactBtn a {
        background: #149438; }
  .banners .inner {
    background: #eeeeee;
    padding: 10px; }
    .banners .inner ul {
      display: flex;
      justify-content: space-between; }
      .banners .inner ul a {
        display: block; }
  footer {
    background: #f8f8f8; }
    footer .bannerBox {
      display: flex;
      justify-content: center;
      padding: 50px 0; }
      footer .bannerBox li {
        padding: 0 12px; }
    footer .footerNav {
      width: 100%;
      line-height: 50px;
      text-align: center;
      background: #fff;
      overflow: hidden; }
      footer .footerNav li {
        display: inline-block; }
        footer .footerNav li a {
          font-size: 12px;
          font-weight: bold;
          color: #222; }
        footer .footerNav li a:hover {
          color: #333333; }
      footer .footerNav li:after {
        content: "|";
        font-weight: bold;
        font-size: 14px;
        padding: 0 30px; }
      footer .footerNav li:last-child:after {
        content: none; }
    footer .footerContents {
      width: 100%;
      text-align: center;
      background: #333333;
      overflow: hidden; }
      footer .footerContents .inner {
        width: 970px;
        line-height: 50px;
        display: flex;
        justify-content: space-between;
        margin: 0 auto; }
        footer .footerContents .inner small {
          font-size: 10px;
          line-height: 50px;
          display: inline-block;
          color: #fff; }
        footer .footerContents .inner ul li {
          display: inline-block;
          line-height: 50px; }
          footer .footerContents .inner ul li a {
            color: #fff;
            font-size: 14px;
            font-weight: bold; }
          footer .footerContents .inner ul li a:hover {
            color: #dc320a; }
        footer .footerContents .inner ul li:before {
          content: "|";
          font-weight: bold;
          font-size: 14px;
          padding: 0 30px;
          color: #fff; }
        footer .footerContents .inner ul li:first-child:before {
          content: none; }
  .gus .graphTab, .electric .graphTab {
    width: 100%; }
    .gus .graphTab ul, .electric .graphTab ul {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      padding-left: 0px; }
      .gus .graphTab ul li, .electric .graphTab ul li {
        width: auto;
        padding: 0 50px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 10px 10px 0 0;
        background: #fff;
        font-size: 21px;
        font-weight: bold;
        line-height: 50px;
        box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
        cursor: pointer;
        background: #d8d7d7;
        box-shadow: 0px -2px 2px rgba(0, 0, 0, 0.2) inset; }
        .gus .graphTab ul li i, .electric .graphTab ul li i {
          margin-right: 10px;
          font-size: 18px;
          color: #333333; }
        .gus .graphTab ul li .icon-bar:before, .gus .graphTab ul li .icon-yen:before, .electric .graphTab ul li .icon-bar:before, .electric .graphTab ul li .icon-yen:before {
          color: #333333; }
        .gus .graphTab ul li.on, .electric .graphTab ul li.on {
          background: #fff;
          box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2); }
      .gus .graphTab ul li + li, .electric .graphTab ul li + li {
        margin-left: 10px; }
  .gus .gusgraph.wide .inner, .electric .gusgraph.wide .inner {
    padding: 40px !important;
    border-radius: 0 10px 10px 10px;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2); }
    .gus .gusgraph.wide .inner .scrollArea, .electric .gusgraph.wide .inner .scrollArea {
      height: 374px; }
  .gus section h1, .electric section h1 {
    background: #dc320a; }
  .gus section .color01, .electric section .color01 {
    background: #ccc !important; }
  .gus section .color02, .electric section .color02 {
    background: #dc320a !important; }
  .gus .gusTable .inner.gusTableBox, .electric .gusTable .inner.gusTableBox {
    background: #f0f0f0;
    padding: 30px;
    border-radius: 0;
    box-shadow: none; }
  .electric section .color02, .electric section h1 {
    background: #90c31f !important; }
  .electric section .gusTable table thead th {
    background: #317525; }
  .electric section .gusTable table tbody th {
    background: #68aa49; }
  .electric section .gusTable table tbody tr:nth-child(4) th {
    background: #68aa49; }
  .electric section .gusTable table tbody tr:nth-child(4) td {
    background: #fff; }
  .price section h1 {
    background: #4d8685; }
    .price section h1.black {
      background: #333333; }
  .price section .color03 {
    background: #dc320a !important; }
  .price section .color04 {
    background: #f9f0f1 !important; }
  .price .gusgraph .inner.gusTableBox {
    background: #f0f0f0 !important; }
    .price .gusgraph .inner.gusTableBox table thead th {
      background: #3d6d6a; }
    .price .gusgraph .inner.gusTableBox table tbody th {
      background: #679595; }
    .price .gusgraph .inner.gusTableBox table tbody tr:nth-child(4) th {
      background: #80a6a5; }
    .price .gusgraph .inner.gusTableBox table tbody tr:nth-child(4) td {
      background: #f7f7f7; }
    .price .gusgraph .inner.gusTableBox table tbody tr:nth-child(5) th {
      background: #679595; }
    .price .gusgraph .inner.gusTableBox table tbody tr:nth-child(5) td {
      background: #ffffff; }
  .list section .inner {
    padding: 30px; }
    .list section .inner .listTable a {
      text-decoration: underline; }
      .list section .inner .listTable a:hover {
        color: #dc320a; }
  .mypage section h1 {
    background: #2c3e4f; }
  .mypage section .infoTable a {
    background: #2c3e4f; }
  .gusTable table {
    width: 100%;
    overflow: hidden;
    border: #ebebeb solid 1px;
    box-sizing: border-box;
    font-size: 12px; }
    .gusTable table thead th {
      background: #333333;
      border-left: #ebebeb solid 1px;
      height: 38px;
      vertical-align: middle;
      color: #fff;
      font-size: 10px;
      font-weight: normal; }
    .gusTable table thead th:first-child {
      border-left: 0;
      white-space: nowrap;
      font-size: 1.3rem; }
    .gusTable table tbody th {
      background: #999999;
      border-bottom: #ebebeb solid 1px;
      height: 38px;
      vertical-align: middle;
      color: #fff;
      font-weight: normal;
      font-size: 1.3rem; }
    .gusTable table tbody td {
      vertical-align: middle;
      line-height: 1;
      text-align: center;
      background: #fff;
      border-bottom: #ebebeb dotted 1px;
      border-left: #ebebeb solid 1px; }
    .gusTable table tbody td:nth-child(2n-1) {
      background: #f8f8f8; }
  .gusTable + .gusTable {
    padding-top: 30px; }
  .listTable table {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    font-size: 15px;
    table-layout: fixed; }
    .listTable table thead th {
      background: #333333;
      font-size: 20px;
      line-height: 50px;
      color: #fff;
      font-weight: bold; }
    .listTable table tbody td {
      vertical-align: middle;
      line-height: 1;
      text-align: center;
      background: #fff;
      border-top: #fff solid 2px;
      border-right: #fff solid 2px;
      line-height: 58px;
      font-size: 16px;
      background: #f4f4f4;
      font-weight: bold; }
  .infoTable {
    padding-top: 30px; }
    .infoTable table {
      width: 100%;
      overflow: hidden;
      box-sizing: border-box;
      font-size: 15px;
      table-layout: fixed; }
      .infoTable table thead th {
        background: #002a60;
        font-size: 20px;
        line-height: 50px;
        color: #fff;
        font-weight: bold; }
      .infoTable table tbody th {
        vertical-align: middle;
        line-height: 1;
        text-align: center;
        background: #fff;
        border-top: #fff solid 2px;
        border-right: #fff solid 2px;
        line-height: 58px;
        font-size: 16px;
        background: #e6e6e6;
        font-weight: bold; }
      .infoTable table tbody td {
        vertical-align: middle;
        line-height: 1;
        text-align: center;
        background: #fff;
        border-top: #fff solid 2px;
        border-right: #fff solid 2px;
        line-height: 58px;
        font-size: 16px;
        background: #f4f4f4;
        font-weight: bold; }
        .infoTable table tbody td input[type="text"], .infoTable table tbody td input[type="email"] {
          font-size: 15px;
          padding: 10px;
          width: 310px;
          box-sizing: border-box;
          text-align: center; }
        .infoTable table tbody td a {
          font-weight: normal; }
  .flex {
    display: flex;
    justify-content: space-between;
    padding-top: 25px !important; }
    .flex .leftBox {
      padding-right: 12.5px; }
    .flex .rightBox {
      padding-left: 12.5px; }
    .flex h2 {
      color: #222;
      font-weight: bold;
      font-size: 20px;
      padding-bottom: 20px; }
  .detailTable table {
    width: 100%;
    table-layout: fixed;
    border-top: #a8aeb5 solid 1px;
    border-bottom: #a8aeb5 solid 1px;
    font-size: 16px; }
    .detailTable table th {
      background: #002a60;
      color: #fff;
      padding: 10px;
      text-align: center;
      vertical-align: middle;
      border-bottom: #a8aeb5 solid 1px;
      box-sizing: border-box;
      font-weight: bold; }
    .detailTable table th[rowspan="3"] {
      border-right: #a8aeb5 solid 1px; }
    .detailTable table th[rowspan="2"] {
      border-right: #a8aeb5 solid 1px; }
    .detailTable table th.gray {
      background: #f4f4f4;
      color: #222;
      border-right: #a8aeb5 solid 1px; }
    .detailTable table td {
      padding: 10px;
      border-bottom: #a8aeb5 solid 1px;
      border-right: #a8aeb5 solid 1px;
      box-sizing: border-box;
      color: #222;
      font-weight: bold;
      background: #f4f4f4;
      text-align: center; }
      .detailTable table td p {
        text-align: left; }
    .detailTable table td:last-child {
      text-align: right;
      border-right: #a8aeb5 solid 1px; }
    .detailTable table tr:last-child th {
      border-bottom: 0; }
  .newsDetail {
    padding: 25px; }
    .newsDetail p {
      padding-bottom: 2em;
      line-height: 2; }
      .newsDetail p img {
        display: block;
        margin: 0 auto;
        max-width: 100%;
        height: auto; }
    .newsDetail p:last-child {
      padding-bottom: 0; }
    .newsDetail em {
      display: block;
      font-weight: bold;
      color: #333333;
      font-size: 16px;
      padding-bottom: 1em; }
  .loginBox {
    padding-top: 50px;
    text-align: center; }
    .loginBox p {
      text-align: center;
      padding-bottom: 30px;
      line-height: 2;
      font-size: 1.4rem;
      font-weight: bold; }
    .loginBox p + a {
      display: inline-block;
      padding-bottom: 10px;
      text-decoration: underline; }
      .loginBox p + a:hover {
        color: #dc320a; }
    .loginBox p + a + br + a {
      display: inline-block;
      margin-bottom: 10px;
      text-decoration: underline; }
      .loginBox p + a + br + a:hover {
        color: #dc320a; }
    .loginBox > p:last-child {
      padding-bottom: 0; }
    .loginBox ul li {
      padding-bottom: 20px;
      text-align: center;
      position: relative; }
      .loginBox ul li .labelTxt {
        position: absolute;
        left: 50%;
        top: 0;
        margin-left: -280px;
        line-height: 40px;
        color: #333333;
        font-size: 14px; }
        .loginBox ul li .labelTxt.br {
          line-height: 1.5; }
      .loginBox ul li label {
        position: relative;
        display: inline-block; }
        .loginBox ul li label input {
          padding: 0px 10px;
          height: 40px;
          margin: 0;
          font-size: 14px;
          width: 310px;
          box-sizing: border-box;
          background: #fafafa;
          border: #cccccc solid 1px;
          border-radius: 4px; }
        .loginBox ul li label input[readonly="readonly"] {
          background: #cccccc;
          color: #999; }
    .loginBox ol {
      text-align: center;
      display: block;
      padding-top: 15px; }
      .loginBox ol li {
        display: inline-block; }
        .loginBox ol li a {
          text-decoration: underline;
          color: #333333; }
          .loginBox ol li a:hover {
            color: #dc320a;
            text-decoration: none; }
      .loginBox ol li:after {
        content: "/";
        margin: 0 10px;
        display: inline-block; }
      .loginBox ol li:last-child:after {
        content: none; }
    .loginBox .omission {
      display: block;
      width: 310px;
      margin: 0 auto 30px;
      position: relative; }
      .loginBox .omission span {
        display: inline-block;
        padding-left: 10px; }
    .loginBox .submit {
      display: block;
      width: 310px;
      height: 40px;
      margin: 10px auto 0;
      position: relative; }
      .loginBox .submit input {
        width: 310px;
        height: 40px;
        border: 0;
        background: #666666;
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        cursor: pointer;
        transition: all 0.5s ease;
        backface-visibility: hidden;
        border-radius: 20px; }
      .loginBox .submit input:hover {
        opacity: 0.8; }
    .loginBox .submit:after {
      content: "\e900";
      font-family: icomoon;
      position: absolute;
      font-size: 10px;
      right: 20px;
      top: 0;
      line-height: 40px;
      color: #fff;
      pointer-events: none; }
    .loginBox .submit + .officeList {
      padding-top: 30px; }
    .loginBox .officeList {
      text-align: center; }
      .loginBox .officeList p {
        padding-bottom: 10px; }
      .loginBox .officeList a {
        text-decoration: underline;
        margin-bottom: 0;
        font-weight: bold; }
        .loginBox .officeList a:hover {
          color: #dc320a; }
  .detail .inner {
    padding: 30px; }
    .detail .inner .customerNum {
      padding-bottom: 30px;
      text-align: right;
      font-size: 16px; }
    .detail .inner .printBox {
      padding: 30px;
      border: #333333 solid 1px;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      .detail .inner .printBox .input {
        padding-right: 100px;
        border-right: #333333 solid 1px; }
        .detail .inner .printBox .input em {
          font-size: 16px;
          font-weight: bold; }
        .detail .inner .printBox .input .inputBox {
          padding-top: 20px; }
          .detail .inner .printBox .input .inputBox input {
            width: 310px;
            height: 40px;
            border-radius: 2px;
            border: #cccccc solid 1px;
            box-sizing: border-box;
            font-size: 14px;
            padding: 0 10px;
            margin: 0 10px; }
      .detail .inner .printBox .submitBox {
        padding-right: 50px; }
        .detail .inner .printBox .submitBox input[type="submit"] {
          width: 170px;
          height: 40px;
          border-radius: 20px;
          background: #666666;
          border: 0;
          color: #fff;
          font-size: 15px;
          font-weight: bold; 
          cursor: pointer;}
    .detail .inner .data {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      padding: 50px 0; }
      .detail .inner .data .txt {
        font-size: 14px;
        line-height: 2; }
      .detail .inner .data .group {
        font-size: 12px; }
        .detail .inner .data .group .logo {
          width: 200px;
          height: 50px;
          display: flex;
          justify-content: center;
          align-items: center;
          border: #333333 solid 1px;
          margin-bottom: 20px; }
    .detail .inner .detailData dl {
      display: flex;
      justify-content: flex-start;
      width: 100%;
      border-bottom: #fff solid 1px; }
      .detail .inner .detailData dl dt {
        background: #333333;
        color: #fff;
        font-size: 20px;
        font-weight: bold;
        vertical-align: middle;
        text-align: center;
        width: 300px;
        line-height: 70px; }
      .detail .inner .detailData dl dd {
        width: calc(100% - 300px);
        background: #f2f2f2;
        font-size: 20px;
        font-weight: bold;
        text-align: center;
        line-height: 70px; }
    .detail .inner .detailData table {
      width: 100%; }
      .detail .inner .detailData table caption {
        background: #999999;
        width: 100%;
        line-height: 40px;
        font-weight: bold;
        color: #fff;
        font-size: 18px; }
      .detail .inner .detailData table th {
        background: #999999;
        color: #fff;
        font-size: 16px;
        text-align: center;
        vertical-align: middle;
        border-top: #fff solid 2px;
        border-right: #fff solid 2px;
        letter-spacing: -0.06em; }
      .detail .inner .detailData table td {
        background: #f2f2f2;
        font-size: 16px;
        font-weight: bold;
        text-align: center;
        vertical-align: middle;
        border-top: #fff solid 2px; }
        .detail .inner .detailData table td em {
          display: none; }
    .detail .inner .detailData.type01 th {
      width: 300px;
      line-height: 48px; }
    .detail .inner .detailData.type02 th, .detail .inner .detailData.type03 th {
      vertical-align: middle;
      height: 60px; }
    .detail .inner .detailData.type02 tbody td, .detail .inner .detailData.type03 tbody td {
      font-size: 12px;
      font-weight: normal;
      border-right: #fff solid 2px;
      vertical-align: middle;
      padding: 20px 0; }
    .detail .inner .detailData.type02 tbody td:nth-child(3), .detail .inner .detailData.type03 tbody td:nth-child(3) {
      text-align: left;
      padding: 20px; }
    .detail .inner .detailData.type02 tbody td:last-child, .detail .inner .detailData.type03 tbody td:last-child {
      border-right: 0; }
    .detail .inner .detailData.type03 tbody td {
      font-size: 14px; }
    .detail .inner .detailData.type03 tbody td:nth-child(3) {
      text-align: left;
      padding: 20px; }
    .detail .inner .detailData + .detailData {
      margin-top: 70px; }
    .detail .inner .field {
      border: #333333 solid 1px;
      padding: 20px;
      margin-top: 40px;
      font-size: 14px; }
      .detail .inner .field em {
        font-weight: bold;
        display: block;
        height:28px;
        padding-bottom: 10px; }
      .detail .inner .field p.bold {
        font-weight: bold; }
        .detail .inner .field p.bold span {
          color: #0071bc; }
    .detail .inner .field + .field {
      margin-top: 20px; }
  .gus.detail .field {
    margin-top: 0; }
    .gus.detail .field em {
      font-size: 16px; }
    .gus.detail .field .flex {
      display: flex;
      justify-content: space-between;
      padding-top: 0 !important; }
  .inner .listTable .printBox .submitBox input[type="submit"] {
      width: 170px;
      height: 40px;
      border-radius: 20px;
      background: #666666;
      border: 0;
      color: #fff;
      font-size: 15px;
      font-weight: bold; 
      cursor: pointer;}
  .gus.detail .field .flex .item {
        font-size: 16px;
        width: calc(50% - 10px); }
  .gus.detail .btn {
    margin: 50px auto 20px;
    display: block; }
  .electric.detail .inner .detailData {
    margin-top: 2px; }
    .electric.detail .inner .detailData dt {
      background: #317525; }
  .electric.detail .inner .type01.space {
    margin-top: 80px; }
  .electric.detail .inner .type01 table th {
    width: 210px; }
  .electric.detail .inner .type01 table td {
    padding: 0 10px;
    vertical-align: middle;
    text-align: right; }
  .electric.detail .inner .type03 td {
    padding: 0 10px;
    word-break: break-all; }
  #wrap.news {
    background: none; }
    #wrap.news section .inner {
      padding: 0; }
      #wrap.news section .inner table {
        width: 100%; }
        #wrap.news section .inner table th {
          background: #f4f4f4;
          width: 200px;
          border-bottom: #fff solid 2px;
          border-right: #fff solid 2px;
          height: 62px;
          text-align: center;
          vertical-align: middle; }
        #wrap.news section .inner table td {
          background: #f4f4f4;
          border-bottom: #fff solid 2px;
          height: 62px;
          padding-left: 20px;
          text-align: left;
          vertical-align: middle; }
      #wrap.news section .inner .newsdetail .time {
        width: 100%;
        line-height: 50px;
        text-align: right;
        background: #f4f4f4;
        box-sizing: border-box;
        padding-right: 10px; }
      #wrap.news section .inner .newsdetail h2 {
        text-align: center;
        font-size: 16px;
        padding: 40px 0; }
      #wrap.news section .inner .newsdetail p {
        font-size: 14px;
        padding-bottom: 2em;
        line-height: 2;
        font-weight: 500; }
      #wrap.news section .inner .newsdetail .dowmload {
        padding-top: 40px; }
        #wrap.news section .inner .newsdetail .dowmload .pdf {
          display: inline-block;
          width: 24px;
          height: 24px;
          background: url(../img/pdf.png) no-repeat 0 0;
          background-size: 24px 24px;
          position: relative;
          top: 5px;
          margin-right: 10px; }
        #wrap.news section .inner .newsdetail .dowmload a {
          text-decoration: underline;
          font-size: 14px;
          line-height: 24px; }
  #wrap.mypage .sectionBox h1 {
    background: #dc320a; }
  #wrap.mypage .sectionBox .inner {
    padding: 30px; }
    #wrap.mypage .sectionBox .inner .mypageTable {
      width: 100%; }
      #wrap.mypage .sectionBox .inner .mypageTable th {
        width: 280px;
        height: 60px;
        background: #e6e6e6;
        border-right: #fff solid 2px;
        border-bottom: #fff solid 2px;
        vertical-align: middle;
        font-size: 16px; }
      #wrap.mypage .sectionBox .inner .mypageTable td {
        background: #f4f4f4;
        border-bottom: #fff solid 2px;
        font-size: 16px;
        text-align: center;
        vertical-align: middle;
        font-weight: bold;
        padding: 10px; }
        #wrap.mypage .sectionBox .inner .mypageTable td input[type="text"], #wrap.mypage .sectionBox .inner .mypageTable td input[type="email"] {
          font-size: 16px;
          padding: 10px;
          width: 310px;
          box-sizing: border-box;
          text-align: center;
          color: #333333;
          font-weight: bold; }
        #wrap.mypage .sectionBox .inner .mypageTable td small {
          display: block;
          font-size: 12px;
          color: #666;
          padding-top: 5px; }
        #wrap.mypage .sectionBox .inner .mypageTable td label input {
          margin-right: 10px; }
        #wrap.mypage .sectionBox .inner .mypageTable td label + label {
          margin-left: 20px; }
    #wrap.mypage .sectionBox .inner .btnBox .submit:after {
      line-height: 40px; }
    #wrap.mypage .sectionBox .inner .btnBox .submit a,
    #wrap.mypage .sectionBox .inner .btnBox .submit input[type="submit"] {
      width: 230px;
      height: 40px;
      font-size: 16px;
      line-height: 40px;
      background: #666 !important; }
  .priceSubTable {
    width: 50%;
    margin-top: 30px; }
    .priceSubTable th {
      width: 50%;
      background: #333333;
      color: #fff;
      font-size: 18px;
      text-align: center;
      vertical-align: middle;
      line-height: 60px;
      border-bottom: #fff solid 1px; }
    .priceSubTable td {
      background: #f2f2f2;
      font-size: 18px;
      font-weight: bold;
      text-align: center;
      line-height: 60px;
      border-bottom: #fff solid 1px; }
  .pages {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 20px; }
    .pages a {
      display: inline-block;
      width: 36px;
      height: 36px;
      background: #fff;
      border-radius: 3px;
      text-align: center;
      line-height: 36px;
      color: #dc320a;
      font-size: 1.1rem;
      box-sizing: border-box;
      border: #dc320a solid 1px; }
      .pages a.current, .pages a:hover {
        background: #dc320a;
        color: #fff; }
    .pages a + a {
      margin-left: 20px; } }
