@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body,
header,
main,
section,
footer,
h1,
h2,
h3,
ul,
li,
dl,
dt,
dd,
p,
img {
  margin: 0;
  padding: 0; }

li {
  list-style-type: none; }

img {
  vertical-align: bottom; }
  @media only screen and (max-width: 768px) {
    img {
      display: block;
      width: 100%;
      max-width: 100%;
      height: auto; } }

body {
  width: 100%;
  font-family: Helvetica, "メイリオ", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1.5;
  color: #333;
  text-align: justify;
  text-justify: inter-ideograph; }
  @media only screen and (min-width: 769px) {
    body {
      font-size: 16px;
      background-color: #f6f6f6; } }
  @media only screen and (max-width: 768px) {
    body {
      font-size: 3.73333vw; } }

main {
  margin: 0 auto;
  display: block;
  background-color: #fff; }
  @media only screen and (min-width: 769px) {
    main {
      width: 880px; }
      #front main {
        width: 750px; } }
  @media only screen and (max-width: 768px) {
    main {
      width: 100%; } }

a:link, a:hover, a:visited {
  color: #34599e; }

a:hover {
  opacity: .7; }

input[type="text"], input[type="tel"], input[type="email"] {
  padding: 1em 1.5em;
  color: #333;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s; }
  @media only screen and (min-width: 769px) {
    input[type="text"], input[type="tel"], input[type="email"] {
      border-radius: 5px;
      border: solid 1px #35a337; } }
  @media only screen and (max-width: 768px) {
    input[type="text"], input[type="tel"], input[type="email"] {
      border-radius: 0.66667vw;
      border: solid 0.4vw #35a337; } }
  input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus {
    background-color: #ffff99; }
  input[type="text"].err, input[type="tel"].err, input[type="email"].err {
    background-color: #f4b0a4; }
    @media only screen and (min-width: 769px) {
      input[type="text"].err, input[type="tel"].err, input[type="email"].err {
        border: solid 1px #d84627; } }
    @media only screen and (max-width: 768px) {
      input[type="text"].err, input[type="tel"].err, input[type="email"].err {
        border: solid 0.4vw #d84627; } }

select {
  width: 100%;
  padding: 1em 1.5em;
  color: #333;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s; }
  .property_passing_date > select{
    padding: 0em; }
  @media only screen and (min-width: 769px) {
    select {
      border-radius: 5px;
      border: solid 1px #35a337; } }
  @media only screen and (max-width: 768px) {
    select {
      border-radius: 0.66667vw;
      border: solid 0.4vw #35a337; } }
  select.err {
    background-color: #f4b0a4; }
    @media only screen and (min-width: 769px) {
      select.err {
        border: solid 1px #d84627; } }
    @media only screen and (max-width: 768px) {
      select.err {
        border: solid 0.4vw #d84627; } }

/*********************
共通設定
*********************/
@media only screen and (max-width: 768px) {
  .wrap, .wrapSp {
    width: 86.66667vw;
    margin: 0 auto; } }

@media only screen and (min-width: 769px) {
  .wrap, .wrapPc {
    width: 650px;
    margin: 0 auto; } }

@media only screen and (max-width: 768px) {
  .pc {
    display: none; } }

@media only screen and (min-width: 769px) {
  .sp {
    display: none; } }

.txt {
  text-align: justify;
  text-justify: inter-ideograph;
  padding-bottom: 5em; }

.tac {
  text-align: center; }

.tar {
  text-align: right; }

.bgTxt {
  background-size: contain;
  background-repeat: no-repeat;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap; }

header.step {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #f6f6f6;
  border-bottom: solid 1px #999;
  line-height: 1.2; }
  @media only screen and (min-width: 769px) {
    header.step {
      height: 100px;
      border-top: solid 4px #34599e; } }
  @media only screen and (max-width: 768px) {
    header.step {
      height: 140px;
      border-top: solid 1.2vw #34599e; } }
  header.step nav ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media only screen and (min-width: 769px) {
      header.step nav ul {
        width: 520px; } }
    @media only screen and (max-width: 768px) {
      header.step nav ul {
        width: 89.33333vw; } }
    header.step nav ul li {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding-top: .5em;
      background-color: #fff;
      border: solid 1px #999;
      position: relative; }
      @media only screen and (min-width: 769px) {
        header.step nav ul li {
          width: 150px;
          height: 50px;
          border-radius: 5px;
          font-size: 12px; } }
      @media only screen and (max-width: 768px) {
        header.step nav ul li {
          width: 28vw;
          height: 10.66667vw;
          border-radius: 0.66667vw;
          font-size: 2.66667vw; } }
      header.step nav ul li.current {
        background-color: #34599e;
        border: solid 1px #34599e;
        color: #fff; }
      header.step nav ul li::before {
        content: attr(data-num);
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        border-radius: 100vw;
        width: 1.5em;
        height: 1.5em;
        background-color: inherit;
        border: solid 1px #999;
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%); }

@media only screen and (min-width: 769px) {
  .stepForm section.wrap {
    padding: 50px 0; } }

@media only screen and (max-width: 768px) {
  .stepForm section.wrap {
    padding: 6.66667vw 0; } }

.stepForm #form .col {
  margin-bottom: 1em; }
  @media only screen and (min-width: 769px) {
    .stepForm #form .col {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }
  .stepForm #form .col .formTtl {
    margin-right: .5em;
    color: #999; }
    @media only screen and (min-width: 769px) {
      .stepForm #form .col .formTtl {
        width: 200px; } }
    @media only screen and (max-width: 768px) {
      .stepForm #form .col .formTtl {
        font-size: 4vw;
        margin-bottom: .5em; } }
  .stepForm #form .col .requiredTtl {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .stepForm #form .col .requiredTtl::after {
      content: '必須';
      display: inline-block;
      margin-left: .5em;
      padding: .3em;
      border-radius: .5em;
      color: #fff;
      font-size: .7em;
      background-color: #cc0000; }
    @media only screen and (min-width: 769px) {
      .stepForm #form .col .annotation::after {
        margin-bottom: 2.5em;
        margin-left: -3.0em; } }

.stepForm #form dl {
  width: 100%; }
  @media only screen and (min-width: 769px) {
    .stepForm #form dl {
      -ms-flex-negative: 9999;
      flex-shrink: 9999;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }
  @media only screen and (min-width: 769px) {
    .stepForm #form dl dt {
      max-width: 200px; } }
  .stepForm #form dl dd {
    -ms-flex-negative: 9999;
    flex-shrink: 9999;
    width: 100%;
    position: relative; }
    .stepForm #form dl dd input:not([type="radio"]) {
      width: 100%; }
    .stepForm #form dl dd.birth {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .stepForm #form dl dd.birth select {
        -ms-flex-negative: 9999;
        flex-shrink: 9999;
        position: relative; }
        .stepForm #form dl dd.birth select#year {
          min-width: 8em;
          max-width: 10em;
          -ms-flex-negative: 0;
          flex-shrink: 0; }
        .stepForm #form dl dd.birth select:not(:last-child) {
          margin-right: .5em; }
    .stepForm #form dl dd.property_passing_date {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .stepForm #form dl dd.property_passing_date select {
        -ms-flex-negative: 9999;
        flex-shrink: 9999;
        position: relative; }
        .stepForm #form dl dd.property_passing_date select#year {
          min-width: 8em;
          max-width: 10em;
          -ms-flex-negative: 0;
          flex-shrink: 0; }
        .stepForm #form dl dd.property_passing_date select:not(:last-child) {
          margin-right: .5em; }
    .stepForm #form dl dd.statement {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .stepForm #form dl dd.statement select {
        -ms-flex-negative: 9999;
        flex-shrink: 9999;
        position: relative; }
        .stepForm #form dl dd.statement select#latest_electricity_date_year_denki, .stepForm #form dl dd.statement select#latest_electricity_date_year_gas {
          min-width: 10em;
          max-width: 15em;
          -ms-flex-negative: 0;
          flex-shrink: 0; }
        .stepForm #form dl dd.statement select:not(:last-child) {
          margin-right: .5em; }
    .stepForm #form dl dd p.errmsg {
      display: inline-block;
      width: 90%;
      padding: .5em 1.5em;
      background-color: rgba(204, 0, 0, 0.9);
      border-radius: 100vw;
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%) translateY(-100%);
      -ms-transform: translateX(-50%) translateY(-100%);
      transform: translateX(-50%) translateY(-100%);
      color: #fff;
      font-size: .6em;
      line-height: 1.2; }
      @media only screen and (min-width: 769px) {
        .stepForm #form dl dd p.errmsg {
          -webkit-filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.35));
          filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.35)); } }
      @media only screen and (max-width: 768px) {
        .stepForm #form dl dd p.errmsg {
          -webkit-filter: drop-shadow(0 0.8vw 1.6vw rgba(0, 0, 0, 0.35));
          filter: drop-shadow(0 0.8vw 1.6vw rgba(0, 0, 0, 0.35)); } }
      .stepForm #form dl dd p.errmsg::before {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-color: rgba(204, 0, 0, 0.9) transparent transparent transparent;
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(100%);
        -ms-transform: translateX(-50%) translateY(100%);
        transform: translateX(-50%) translateY(100%); }
        @media only screen and (min-width: 769px) {
          .stepForm #form dl dd p.errmsg::before {
            border-width: 11px 7px 0 7px; } }
        @media only screen and (max-width: 768px) {
          .stepForm #form dl dd p.errmsg::before {
            border-width: 3.06667vw 1.6vw 0 1.6vw; } }
  .stepForm #form dl .flex {
    display: 9999;
    width: 100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media only screen and (min-width: 769px) {
      .stepForm #form dl .flex {
        width: calc(100% - 200px); } }
    .stepForm #form dl .flex input {
      -ms-flex-negative: 9999;
      flex-shrink: 9999;
      margin-right: 1em; }
  .stepForm #form dl.colTwo {
    width: 100%;
    -ms-flex-negative: 9999;
    flex-shrink: 9999;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .stepForm #form dl.colTwo dt {
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      margin-right: .5em; }
    .stepForm #form dl.colTwo dd {
      -webkit-box-flex: 3;
      -ms-flex-positive: 3;
      flex-grow: 3; }
      .stepForm #form dl.colTwo dd:not(:last-child) {
        margin-right: .5em; }
  @media only screen and (min-width: 769px) {
    .stepForm #form dl.contactTime dd:not(:last-child) {
      margin-right: .5em; } }
  @media only screen and (max-width: 768px) {
    .stepForm #form dl.contactTime dd:not(:last-child) {
      margin-bottom: .5em; } }

.stepForm #form .check, .checkConfirmation{
  background-color: #dce8ff;
  margin-bottom: 1em;
  padding: .5em 1em; }

  .checkConfirmation{
    margin-top: 1em;
  }

.stepForm #form #billtoDiffer, .stepForm #form #billtoDiffer02 {
  display: none; }

.stepForm #form #comEneOtherCont, .stepForm #form #comGasOtherCont {
  display: none; }

.stepForm #form .comEneOther, .stepForm #form .comGasOther {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: .5em auto; }
  .stepForm #form .comEneOther #comEneOtherSearch, .stepForm #form .comGasOther #comGasOtherSearch, .stepForm #form .comEneOther #power_supplier_type_others_search, .stepForm #form .comGasOther #comGasOtherSearch {
    -ms-flex-negative: 9999;
    flex-shrink: 9999;
    margin-right: 1em; }
  .stepForm #form .comEneOther #comEneOtherBtn, .stepForm #form .comGasOther #comGasOtherBtn, .stepForm #form .comEneOther #power_supplier_type_others_search_btn, .stepForm #form .comGasOther #comGasOtherBtn {
    width: 3em; }

.stepForm #form #comEneOtherList, .stepForm #form #comGasOtherList {
  margin-top: .5em; }

.stepForm #btn {
  margin: 3em auto; }

.btn {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  background-color: #34599e;
  border-radius: 100vw;
  color: #fff;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
  position: relative; }
  @media only screen and (min-width: 769px) {
    .btn {
      width: 520px;
      height: 110px;
      -webkit-box-shadow: 0 10px 0 #001845;
      box-shadow: 0 10px 0 #001845;
      font-size: 30px; } }
  @media only screen and (max-width: 768px) {
    .btn {
      width: 69.33333vw;
      height: 14.66667vw;
      -webkit-box-shadow: 0 1.33333vw 0 #001845;
      box-shadow: 0 1.33333vw 0 #001845;
      font-size: 4vw; } }
  .btn:not(.disabled):hover {
    -webkit-box-shadow: none;
    box-shadow: none; }
    @media only screen and (min-width: 769px) {
      .btn:not(.disabled):hover {
        -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
        transform: translateY(10px); } }
    @media only screen and (max-width: 768px) {
      .btn:not(.disabled):hover {
        -webkit-transform: translateY(1.33333vw);
        -ms-transform: translateY(1.33333vw);
        transform: translateY(1.33333vw); } }
  .btn::after {
    content: '';
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../images/btn_arrow.png);
    position: absolute;
    right: 1em;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s; }
    @media only screen and (min-width: 769px) {
      .btn::after {
        width: 31px;
        height: 41px;
        top: calc(50% - 20px); } }
    @media only screen and (max-width: 768px) {
      .btn::after {
        width: 4.13333vw;
        height: 5.46667vw;
        top: calc(50% - 2.66667vw); } }
    .btn:hover:not(.disabled)::after {
      -webkit-transform: translateX(20%);
      -ms-transform: translateX(20%);
      transform: translateX(20%); }
  .btn.disabled {
    opacity: .5;
    cursor: default; }
  .btn, .btn * {
    text-decoration: none; }
    .btn:link, .btn:hover, .btn:visited, .btn *:link, .btn *:hover, .btn *:visited {
      color: #fff; }
    .btn:hover, .btn *:hover {
      opacity: .7; }

.btnBack {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  background-color: #999;
  border-radius: 100vw;
  color: #fff;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  -webkit-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
  position: relative; }
  @media only screen and (min-width: 769px) {
    .btnBack {
      width: 420px;
      height: 80px;
      -webkit-box-shadow: 0 10px 0 #666666;
      box-shadow: 0 10px 0 #666666;
      font-size: 24px; } }
  @media only screen and (max-width: 768px) {
    .btnBack {
      width: 56vw;
      height: 10.66667vw;
      -webkit-box-shadow: 0 1.33333vw 0 #666666;
      box-shadow: 0 1.33333vw 0 #666666;
      font-size: 3.2vw; } }
  .btnBack:not(.disabled):hover {
    -webkit-box-shadow: none;
    box-shadow: none; }
    @media only screen and (min-width: 769px) {
      .btnBack:not(.disabled):hover {
        -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
        transform: translateY(10px); } }
    @media only screen and (max-width: 768px) {
      .btnBack:not(.disabled):hover {
        -webkit-transform: translateY(1.33333vw);
        -ms-transform: translateY(1.33333vw);
        transform: translateY(1.33333vw); } }
  .btnBack::before {
    content: '';
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../images/btn_arrow.png);
    position: absolute;
    left: 1em;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg); }
    @media only screen and (min-width: 769px) {
      .btnBack::before {
        width: 31px;
        height: 41px;
        top: calc(50% - 20px); } }
    @media only screen and (max-width: 768px) {
      .btnBack::before {
        width: 4.13333vw;
        height: 5.46667vw;
        top: calc(50% - 2.66667vw); } }
  .btnBack.disabled {
    opacity: .5; }
  .btnBack, .btnBack * {
    text-decoration: none; }
    .btnBack:link, .btnBack:hover, .btnBack:visited, .btnBack *:link, .btnBack *:hover, .btnBack *:visited {
      color: #fff; }
    .btnBack:hover, .btnBack *:hover {
      opacity: .7; }

h1 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: normal;
  line-height: 1; }
  @media only screen and (min-width: 769px) {
    h1 {
      margin-bottom: 60px;
      font-size: 36px; } }
  @media only screen and (max-width: 768px) {
    h1 {
      margin-bottom: 8vw;
      font-size: 4.8vw; } }

h2.contTtl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 1em;
  padding: .2em .5em;
  color: #000;
  line-height: 1.2;
  font-weight: normal; }
  @media only screen and (min-width: 769px) {
    h2.contTtl {
      border-left: solid 4px #336699;
      font-size: 22px; } }
  @media only screen and (max-width: 768px) {
    h2.contTtl {
      border-left: solid 1.6vw #336699;
      font-size: 4.8vw; } }
      
span.description {
  font-size: 14px;
}

footer#footer {
  padding: .5em;
  background-color: #34599e;
  color: #fff;
  font-size: .7em; }

@media only screen and (min-width: 769px) {
  #front section {
    padding: 50px 0; } }

@media only screen and (max-width: 768px) {
  #front section {
    padding: 6.66667vw 0; } }

#front section .second {
  display: none; }

#front section .select ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
#front section .select02 ul {
  justify-content: space-evenly; }
  @media only screen and (min-width: 769px) {
    #front section .select ul {
      height: 170px; } }
  @media only screen and (max-width: 768px) {
    #front section .select ul {
      height: 22.66667vw; } }
  #front section .select ul li {
    border: solid 1px #34599e;
    overflow: hidden;
    opacity: .8; }
    @media only screen and (min-width: 769px) {
      #front section .select ul li {
        border-radius: 8px;
        cursor: pointer; } }
    @media only screen and (max-width: 768px) {
      #front section .select ul li {
        border-radius: 1.06667vw; } }
    #front section .select ul li:hover, #front section .select ul li.selected {
      border: solid 3px #35a337;
      opacity: 1; }
    #front section .select ul li .icon {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin: 0 auto; }
      @media only screen and (min-width: 769px) {
        #front section .select ul li .icon {
          height: 80px; } }
      @media only screen and (max-width: 768px) {
        #front section .select ul li .icon {
          height: 10.66667vw; } }
    #front section .select ul li .text {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      background-color: #34599e;
      color: #fff;
      line-height: 1.2; }
      @media only screen and (min-width: 769px) {
        #front section .select ul li .text {
          height: 80px;
          font-size: 26px; } }
      @media only screen and (max-width: 768px) {
        #front section .select ul li .text {
          height: 10.66667vw;
          font-size: 3.46667vw; } }

@media only screen and (min-width: 769px) {
  #front section .select01 li {
    width: 318px; } }

@media only screen and (max-width: 768px) {
  #front section .select01 li {
    width: 42.4vw; } }

@media only screen and (max-width: 768px) {
  #front section .select01 li#kirikae .icon img {
    width: 18.53333vw; } }

@media only screen and (max-width: 768px) {
  #front section .select01 li#shinki .icon img {
    width: 28.8vw; } }

@media only screen and (min-width: 769px) {
  #front section .select02 li {
    width: 208px; } }

@media only screen and (max-width: 768px) {
  #front section .select02 li {
    width: 27.73333vw; } }

@media only screen and (max-width: 768px) {
  #front section .select02 li#ene .icon img {
    width: 6vw; } }

@media only screen and (max-width: 768px) {
  #front section .select02 li#gas .icon img {
    width: 8.53333vw; } }

@media only screen and (max-width: 768px) {
  #front section .select02 li#both .icon img {
    width: 18.26667vw; } }

@media only screen and (min-width: 769px) {
  #front section .arrow {
    margin: 80px auto; } }

@media only screen and (max-width: 768px) {
  #front section .arrow {
    width: 27.33333vw;
    margin: 10.66667vw auto; } }

@media only screen and (min-width: 769px) {
  #front section .btn {
    margin: 120px auto; } }

@media only screen and (max-width: 768px) {
  #front section .btn {
    margin: 16vw auto; } }

@media only screen and (min-width: 769px) {
  #application section {
    padding: 50px 0; } }

@media only screen and (max-width: 768px) {
  #application section {
    padding: 6.66667vw 0; } }

#application section .selected {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media only screen and (min-width: 769px) {
    #application section .selected {
      height: 170px; } }
  @media only screen and (max-width: 768px) {
    #application section .selected {
      height: 22.66667vw; } }
  #application section .selected .box {
    border: solid 1px #34599e;
    overflow: hidden; }
    @media only screen and (min-width: 769px) {
      #application section .selected .box {
        border-radius: 8px; } }
    @media only screen and (max-width: 768px) {
      #application section .selected .box {
        border-radius: 1.06667vw; } }
    #application section .selected .box .icon {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin: 0 auto; }
      @media only screen and (min-width: 769px) {
        #application section .selected .box .icon {
          height: 80px; } }
      @media only screen and (max-width: 768px) {
        #application section .selected .box .icon {
          height: 10.66667vw; } }
      @media only screen and (max-width: 768px) {
        #application section .selected .box#kirikae .icon img {
          width: 18.53333vw; } }
      @media only screen and (max-width: 768px) {
        #application section .selected .box#shinki .icon img {
          width: 28.8vw; } }
      @media only screen and (max-width: 768px) {
        #application section .selected .box#ene .icon img {
          width: 6vw; } }
      @media only screen and (max-width: 768px) {
        #application section .selected .box#gas .icon img {
          width: 8.53333vw; } }
      @media only screen and (max-width: 768px) {
        #application section .selected .box#both .icon img {
          width: 18.26667vw; } }
    #application section .selected .box .text {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      background-color: #34599e;
      color: #fff;
      line-height: 1.2; }
      @media only screen and (min-width: 769px) {
        #application section .selected .box .text {
          height: 80px;
          font-size: 26px; } }
      @media only screen and (max-width: 768px) {
        #application section .selected .box .text {
          height: 10.66667vw;
          font-size: 3.46667vw; } }
    @media only screen and (min-width: 769px) {
      #application section .selected .box01 {
        width: 318px; } }
    @media only screen and (max-width: 768px) {
      #application section .selected .box01 {
        width: 42.4vw; } }
    @media only screen and (min-width: 769px) {
      #application section .selected .box02 {
        width: 208px; } }
    @media only screen and (max-width: 768px) {
      #application section .selected .box02 {
        width: 27.73333vw; } }

#application section .cross {
  position: relative;
  height: 2px; }
  @media only screen and (min-width: 769px) {
    #application section .cross {
      width: 50px; } }
  @media only screen and (max-width: 768px) {
    #application section .cross {
      width: 6.66667vw; } }
  #application section .cross::before, #application section .cross::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0; }
  #application section .cross::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  #application section .cross::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }

@media only screen and (min-width: 769px) {
  #application section .btn {
    margin: 120px auto 30px; } }

@media only screen and (max-width: 768px) {
  #application section .btn {
    margin: 16vw auto 8vw; } }

#application .cont02 {
  margin-top: 5em; }
  #application .cont02 .kenshin {
    margin: 1em auto;
    padding: 1em;
    background-color: #eee; }
    #application .cont02 .kenshin .img {
      margin-top: 1em; }
      #application .cont02 .kenshin .img img {
        width: 100%;
        height: auto; }

#application .cont03 {
  margin-top: 3em; }
  #application .cont03 #form .yubin {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1em; }
    #application .cont03 #form .yubin dt {
      margin-right: 1em; }
    #application .cont03 #form .yubin dd input {
      width: auto; }
    #application .cont03 #form .yubin dd span {
      display: inline-block;
      margin: 0 1em; }
  #application .cont03 #form .termsCont #terms {
    width: 100%;
    padding: .5em; }

#application .text-align-center {
    text-align: center; }

@media only screen and (min-width: 769px) {
  #discrimination .wrap, #err .wrap {
    padding: 50px 0; } }

@media only screen and (max-width: 768px) {
  #discrimination .wrap, #err .wrap {
    padding: 6.66667vw 0; } }

#discrimination .wrap .btn, #discrimination .wrap .btnBack, #err .wrap .btn, #err .wrap .btnBack {
  margin: 3em auto; }

@media only screen and (min-width: 769px) {
  #complete .wrap {
    width: 650px; } }

#complete #number {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 3em;
  background-color: #dce8ff; }
  @media only screen and (min-width: 769px) {
    #complete #number {
      height: 180px; } }
  @media only screen and (max-width: 768px) {
    #complete #number {
      height: 24vw; } }
  #complete #number p {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media only screen and (min-width: 769px) {
      #complete #number p {
        font-size: 30px; } }
    @media only screen and (max-width: 768px) {
      #complete #number p {
        -webkit-box-flex: 4vw;
        -ms-flex: 4vw;
        flex: 4vw; } }
    #complete #number p b {
      display: inline-block;
      margin-right: .5em;
      padding: .2em .5em;
      background-color: #34599e;
      color: #fff; }
    #complete #number p span {
      color: #34599e; }

#complete .list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 3em auto; }
  @media only screen and (max-width: 768px) {
    #complete .list li {
      width: 28vw; } }

#complete .txt p:not(:last-child) {
  margin-bottom: .5em; }

#complete .flow {
  margin: 3em auto; }

#complete .faq dl {
  margin-bottom: 1.5em; }
  #complete .faq dl dt {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: bold;
    padding: .5em 1em;
    background-color: #dce8ff;
    border: solid 1px #34599e; }
    #complete .faq dl dt::before {
      content: '▼';
      display: inline-block;
      margin-right: .5em;
      -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
      transform: rotate(-90deg);
      -webkit-transition: .5s;
      -o-transition: .5s;
      transition: .5s;
      color: #336699; }
      #complete .faq dl dt.acd::before {
        -webkit-transform: rotate(0);
        -ms-transform: rotate(0);
        transform: rotate(0); }
  #complete .faq dl dd {
    display: none;
    padding: 1em; }
