@charset "UTF-8";
/**
 * レスポンシブのブレイクポイント設定
 */
main #hero {
  position: relative;
  background-color: #709EBB;
  overflow: hidden; }
  @media (min-width: 769px) {
    main #hero {
      height: 680px; } }
  @media (max-width: 768px) {
    main #hero {
      height: 68vw; } }
  main #hero video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%; }
    @media (max-width: 768px) {
      main #hero video {
        max-width: 130%; } }
  main #hero .copy {
    position: absolute;
    left: 0; }
    @media (min-width: 769px) {
      main #hero .copy {
        bottom: 55px;
        width: 780px; } }
    @media (max-width: 768px) {
      main #hero .copy {
        bottom: 4vw;
        width: 72vw; } }
  main #hero .loader {
    height: auto !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    main #hero .loader .ball-spin-fade-loader > div {
      background-color: #0068B6; }
@media (min-width: 769px) {
  main #about {
    padding: 45px 0 70px; } }
@media (max-width: 768px) {
  main #about {
    padding: 6.25vw 0 10.9375vw; } }
@media (min-width: 769px) {
  main #about .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1280px;
    padding: 0; } }
@media (min-width: 769px) {
  main #about .inner .image {
    width: 34.375%;
    min-width: 440px; } }
@media (min-width: 769px) {
  main #about .inner .text {
    width: 65.625%;
    padding: 0 45px;
    box-sizing: border-box; } }
@media (max-width: 768px) {
  main #about .inner .text h2 {
    text-align: center; } }
main #about .inner .text h2 .en {
  display: block;
  margin-bottom: .5em; }
main #about .inner .text h2 .jp {
  display: block; }
  @media (min-width: 769px) {
    main #about .inner .text h2 .jp {
      font-size: 2.9rem; } }
  @media (max-width: 768px) {
    main #about .inner .text h2 .jp {
      font-size: 6.25vw; } }
@media (max-width: 768px) {
  main #about .inner .text img {
    display: block;
    width: 78vw;
    margin: 4.6875vw auto 0; } }
@media (min-width: 769px) {
  main #about .inner .text p {
    font-size: 1.4rem;
    line-height: 2.2;
    margin: 2em 0; } }
@media (max-width: 768px) {
  main #about .inner .text p {
    font-size: 3.75vw;
    line-height: 1.7;
    margin: 1.5em 0 2em; } }
main #information {
  background-color: #E8E7E9; }
  @media (min-width: 769px) {
    main #information {
      padding: 60px 0 65px; } }
  @media (max-width: 768px) {
    main #information {
      padding: 4.6875vw 0; } }
  @media (min-width: 769px) {
    main #information .inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }
  @media (max-width: 768px) {
    main #information .inner {
      padding-bottom: 17.1875vw; } }
  @media (min-width: 769px) {
    main #information .inner h2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 260px; } }
  @media (max-width: 768px) {
    main #information .inner h2 {
      text-align: center; } }
  @media (max-width: 768px) {
    main #information .inner h2 .en {
      display: block;
      margin-bottom: .5em; } }
  @media (min-width: 769px) {
    main #information .inner h2 .jp {
      font-size: 2.2rem;
      margin-left: 1em; } }
  @media (max-width: 768px) {
    main #information .inner h2 .jp {
      font-size: 6.25vw; } }
  @media (min-width: 769px) {
    main #information .inner .list_information {
      width: calc(100% - 260px); } }
  @media (max-width: 768px) {
    main #information .inner .list_information {
      margin-top: 4.6875vw; } }
  @media (min-width: 769px) {
    main #information .inner .list_information li {
      position: relative;
      margin-top: 30px; } }
  @media (max-width: 768px) {
    main #information .inner .list_information li {
      margin-top: 7.8125vw; } }
  main #information .inner .list_information li .date {
    color: #494949; }
    @media (min-width: 769px) {
      main #information .inner .list_information li .date {
        position: absolute;
        top: .3333em;
        left: 0;
        font-size: 1.2rem; } }
    @media (max-width: 768px) {
      main #information .inner .list_information li .date {
        float: left;
        font-size: 3.75vw;
        padding-top: .3333em; } }
  main #information .inner .list_information li .tag {
    display: block;
    text-align: center;
    color: #FFF;
    padding: 0.3333em 0;
    border-radius: 8.3333em; }
    @media (min-width: 769px) {
      main #information .inner .list_information li .tag {
        position: absolute;
        top: 0;
        left: 70px;
        width: 110px;
        font-size: 1.2rem; } }
    @media (max-width: 768px) {
      main #information .inner .list_information li .tag {
        float: right;
        width: 34.375vw;
        font-size: 3.75vw; } }
    main #information .inner .list_information li .tag.news {
      background-color: #8b8b8b; }
    main #information .inner .list_information li .tag.ir {
      background-color: #1773bd; }
    main #information .inner .list_information li .tag.announcement {
      background-color: #88ae41; }
    main #information .inner .list_information li .tag.settlement {
      background-color: #c35b82; }
  main #information .inner .list_information li .title {
    color: #333; }
    @media (min-width: 769px) {
      main #information .inner .list_information li .title {
        display: inline-block;
        font-size: 1.4rem;
        line-height: 1.5;
        padding-left: 200px; } }
    @media (max-width: 768px) {
      main #information .inner .list_information li .title {
        display: block;
        clear: both;
        font-size: 3.75vw;
        line-height: 1.7;
        padding-top: 1em; } }
  @media (min-width: 769px) {
    main #information .inner .list_information li a .title {
      text-decoration: underline; } }
  main #information .inner .link_more {
    position: absolute;
    display: inline-block;
    color: #333;
    text-decoration: none;
    padding: .6em 2em .6em 0;
    background-image: url("../img/component/arrow_right_black.svg");
    background-size: 1.5em;
    background-position: right center;
    background-repeat: no-repeat;
    border-bottom: solid 1px #333; }
    @media (min-width: 769px) {
      main #information .inner .link_more {
        top: -50px;
        right: 20px;
        font-size: 1.4rem; } }
    @media (max-width: 768px) {
      main #information .inner .link_more {
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        font-size: 4.375vw;
        margin: 0 auto; } }
    @media (min-width: 769px) {
      main #information .inner .link_more:hover {
        opacity: .7; } }
main .bg_service {
  width: 100%;
  background-image: url("../img/top/bg_service@2x.jpg");
  background-size: cover;
  background-position: center top; }
  @media (min-width: 769px) {
    main .bg_service {
      height: 472px; } }
  @media (max-width: 768px) {
    main .bg_service {
      height: 36.875vw; } }
main #service {
  position: relative; }
  @media (min-width: 769px) {
    main #service {
      padding-bottom: 60px; } }
  @media (max-width: 768px) {
    main #service {
      padding-bottom: 21.875vw; } }
  @media (min-width: 769px) {
    main #service .box {
      max-width: 920px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin: 0 auto;
      padding: 50px 0; } }
  @media (max-width: 768px) {
    main #service .box {
      padding: 4.6875vw 0 9.375vw; } }
  @media (min-width: 769px) {
    main #service .box .text {
      width: calc(100% - 370px); } }
  @media (max-width: 768px) {
    main #service .box .text h2 {
      text-align: center; } }
  main #service .box .text h2 .en {
    display: block;
    margin-bottom: .5em; }
  main #service .box .text h2 .jp {
    display: block; }
    @media (min-width: 769px) {
      main #service .box .text h2 .jp {
        font-size: 2.9rem; } }
    @media (max-width: 768px) {
      main #service .box .text h2 .jp {
        font-size: 6.25vw; } }
  @media (min-width: 769px) {
    main #service .box .text p {
      font-size: 1.4rem;
      line-height: 2.2;
      margin-top: 2em; } }
  @media (max-width: 768px) {
    main #service .box .text p {
      font-size: 3.75vw;
      line-height: 1.7;
      margin: 1.5em 0 2em; } }
  @media (min-width: 769px) {
    main #service .box .image {
      width: 328px; } }
  @media (max-width: 768px) {
    main #service .box .image {
      display: block;
      width: 80vw;
      margin: 0 auto; } }
  main #service .list_service {
    border-top: solid 1px #828282; }
    main #service .list_service li {
      border-bottom: solid 1px #828282; }
      @media (min-width: 769px) {
        main #service .list_service li {
          -webkit-transition: all .3s;
          -o-transition: all .3s;
          transition: all .3s; } }
      @media (min-width: 769px) {
        main #service .list_service li:hover {
          background-color: #F4FDFF; } }
      @media (min-width: 769px) {
        main #service .list_service li {
          cursor: pointer;
          padding: 25px 0; } }
      @media (max-width: 768px) {
        main #service .list_service li {
          padding: 4.6875vw 0; } }
      @media (min-width: 769px) {
        main #service .list_service li .inner {
          max-width: 1064px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; } }
      @media (min-width: 769px) {
        main #service .list_service li .inner .icon {
          width: 66px;
          padding-right: 34px; } }
      @media (max-width: 768px) {
        main #service .list_service li .inner .icon {
          display: block;
          width: 17.1875vw;
          margin: 0 auto; } }
      main #service .list_service li .inner h3 {
        font-weight: 600;
        line-height: 1.6; }
        @media (min-width: 769px) {
          main #service .list_service li .inner h3 {
            width: 334px;
            font-size: 2.1rem; } }
        @media (max-width: 768px) {
          main #service .list_service li .inner h3 {
            text-align: center;
            font-size: 6.5625vw;
            margin-top: 4.6875vw; } }
      main #service .list_service li .inner p {
        background-image: url("../img/component/arrow_right_gray.svg");
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 2.2em; }
        @media (min-width: 769px) {
          main #service .list_service li .inner p {
            width: calc(100% - 480px);
            font-size: 1.4rem;
            line-height: 2;
            padding-right: 84px;
            box-sizing: border-box; } }
        @media (max-width: 768px) {
          main #service .list_service li .inner p {
            font-size: 3.75vw;
            line-height: 1.7;
            margin-top: 1.5em;
            padding-right: 3.3em; } }
  @media (min-width: 769px) {
    main #service .btn_default {
      margin: 40px auto 0; } }
  @media (max-width: 768px) {
    main #service .btn_default {
      margin-top: 4.6875vw; } }
@media (min-width: 769px) {
  main #others {
    padding-bottom: 95px; } }
@media (max-width: 768px) {
  main #others {
    padding-bottom: 15.625vw; } }
@media (min-width: 769px) {
  main #others .inner {
    max-width: 1024px; } }
@media (min-width: 769px) {
  main #others .inner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }
@media (max-width: 768px) {
  main #others .inner ul {
    padding: 0 1.25vw; } }
@media (min-width: 769px) {
  main #others .inner ul li {
    width: 49%; } }
@media (max-width: 768px) {
  main #others .inner ul li + li {
    margin-top: 9.375vw; } }
main #others .inner ul li a {
  text-decoration: none; }
  @media (min-width: 769px) {
    main #others .inner ul li a:hover .thumb img {
      -webkit-transform: scale(1.1, 1.1);
      -ms-transform: scale(1.1, 1.1);
      transform: scale(1.1, 1.1); } }
  main #others .inner ul li a .thumb {
    overflow: hidden; }
    main #others .inner ul li a .thumb img {
      -webkit-transition: -webkit-transform .3s linear;
      transition: -webkit-transform .3s linear;
      -o-transition: transform .3s linear;
      transition: transform .3s linear;
      transition: transform .3s linear, -webkit-transform .3s linear; }
  main #others .inner ul li a h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media (min-width: 769px) {
      main #others .inner ul li a h2 {
        padding: 15px 20px; } }
    @media (max-width: 768px) {
      main #others .inner ul li a h2 {
        margin-top: 3.75vw; } }
    @media (min-width: 769px) {
      main #others .inner ul li a h2 .jp {
        font-size: 2.2rem;
        margin-right: 1em; } }
    @media (max-width: 768px) {
      main #others .inner ul li a h2 .jp {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        font-size: 6.25vw;
        margin-left: 1em; } }
  main #others .inner ul li a p {
    color: #333; }
    @media (min-width: 769px) {
      main #others .inner ul li a p {
        font-size: 1.4rem;
        line-height: 1.6;
        padding: 0 20px; } }
    @media (max-width: 768px) {
      main #others .inner ul li a p {
        font-size: 3.75vw;
        line-height: 1.7;
        margin-top: 1em; } }

.modal_content h2 {
  font-weight: 700;
  background-repeat: no-repeat;
  background-position: left center; }
  @media (min-width: 769px) {
    .modal_content h2 {
      font-size: 2.4rem;
      padding: 10px 0 10px 60px;
      background-size: 44px; } }
  @media (max-width: 768px) {
    .modal_content h2 {
      font-size: 5.5vw;
      line-height: 1.5;
      padding-left: 18.75vw;
      background-size: 13.75vw; } }
.modal_content#modal_realestate h2 {
  background-image: url("../img/component/icon_realestate.svg"); }
.modal_content#modal_energy h2 {
  background-image: url("../img/component/icon_energy.svg"); }
.modal_content#modal_renovation h2 {
  background-image: url("../img/component/icon_renovation.svg"); }
@media (min-width: 769px) {
  .modal_content#modal_renovation .box .image {
    width: 250px; } }
@media (min-width: 769px) {
  .modal_content#modal_renovation .box .text {
    width: 370px; } }
@media (min-width: 769px) {
  .modal_content .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 20px; } }
@media (max-width: 768px) {
  .modal_content .box {
    margin-top: 4.6875vw;
    max-height: 64vh;
    overflow-y: scroll; } }
@media (min-width: 769px) {
  .modal_content .box .image {
    width: 184px; } }
@media (max-width: 768px) {
  .modal_content .box .image {
    display: block;
    width: 80%;
    margin: 0 auto; } }
@media (min-width: 769px) {
  .modal_content .box .text {
    width: 450px; } }
.modal_content .box .text h3 {
  font-weight: 600; }
  @media (min-width: 769px) {
    .modal_content .box .text h3 {
      font-size: 1.8rem;
      line-height: 1.8; } }
  @media (max-width: 768px) {
    .modal_content .box .text h3 {
      font-size: 5vw;
      line-height: 1.6;
      margin-top: 1em; } }
@media (min-width: 769px) {
  .modal_content .box .text p {
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 1em; } }
@media (max-width: 768px) {
  .modal_content .box .text p {
    font-size: 3.75vw;
    line-height: 1.7;
    margin-top: 1em; } }
@media (min-width: 769px) {
  .modal_content .box .text p a {
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    color: #0068B6; } }
@media (min-width: 769px) {
  .modal_content .box .text p a:hover {
    opacity: .7; } }
