.layout {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto; }
  @media screen and (max-width: 1320px) {
    .layout {
      padding: 0 20px; } }
  @media screen and (max-width: 768px) {
    .layout {
      padding: 0 10px; } }

#contents .section01 .title_box {
  max-width: 1000px;
  margin: 30px auto;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #contents .section01 .title_box {
      text-align: left; } }
  #contents .section01 .title_box h3 {
    font-size: 24px;
    color: #f39832;
    line-height: 1.3em; }
    @media screen and (max-width: 768px) {
      #contents .section01 .title_box h3 {
        font-size: 20px; } }
  #contents .section01 .title_box .h3_txt {
    font-size: 18px;
    margin: 20px 0; }
    @media screen and (max-width: 768px) {
      #contents .section01 .title_box .h3_txt {
        font-size: 16px; } }
  #contents .section01 .title_box .pc-only {
    display: block; }
    @media screen and (max-width: 768px) {
      #contents .section01 .title_box .pc-only {
        display: none; } }
#contents .section01 .section01_link .section__inner {
  padding: 0; }
  #contents .section01 .section01_link .section__inner .box {
    padding: 40px 0; }
    @media screen and (max-width: 768px) {
      #contents .section01 .section01_link .section__inner .box {
        padding: 20px 0; } }
    #contents .section01 .section01_link .section__inner .box ul {
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -moz-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        #contents .section01 .section01_link .section__inner .box ul {
          padding: 10px 0; } }
      #contents .section01 .section01_link .section__inner .box ul li {
        width: 33.33%;
        padding: 20px 0;
        padding-right: 10px; }
        #contents .section01 .section01_link .section__inner .box ul li:nth-child(2n) {
          padding-left: 0; }
        @media screen and (max-width: 768px) {
          #contents .section01 .section01_link .section__inner .box ul li {
            width: 100%;
            padding: 10px 0; }
            #contents .section01 .section01_link .section__inner .box ul li:nth-child(2n) {
              padding-left: 0; } }
        #contents .section01 .section01_link .section__inner .box ul li .box_anime {
          height: 100%;
          transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
          transform: scale(0.8, 0.8);
          background: #fff; }
          @media screen and (max-width: 768px) {
            #contents .section01 .section01_link .section__inner .box ul li .box_anime {
              max-width: 429px;
              margin: 0 auto; } }
          #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_img {
            position: relative; }
            #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_img .point {
              position: absolute;
              top: -10px;
              left: -10px;
              display: block;
              background: #1155a3;
              background: -moz-linear-gradient(left, #1155a3 0%, #1979e7 100%);
              background: -webkit-linear-gradient(left, #1155a3 0%, #1979e7 100%);
              background: linear-gradient(to right, #1155a3 0%, #1979e7 100%);
              filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr=#1155a3, endColorstr=#1979e7);
              padding: 10px;
              width: 100px;
              height: 100px;
              font-family: "Roboto", sans-serif;
              font-size: 30px;
              color: #fff;
              line-height: 1;
              text-align: center; }
              @media screen and (max-width: 768px) {
                #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_img .point {
                  width: 80px;
                  height: 80px;
                  font-size: 20px; } }
              #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_img .point span {
                display: block;
                font-size: 54px;
                font-weight: bold;
                line-height: 1; }
                @media screen and (max-width: 768px) {
                  #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_img .point span {
                    font-size: 40px; } }
            #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_img img {
              max-width: 440px; }
            #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_img h3 {
              position: absolute;
              right: 0;
              bottom: 0;
              left: 0;
              background: rgba(51, 51, 51, 0.6);
              padding: 14px 30px;
              font-size: 22px;
              color: #fff; }
              @media screen and (max-width: 768px) {
                #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_img h3 {
                  padding: 14px 20px;
                  font-size: 20px; } }
          #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_txt {
            padding: 10px 30px 30px;
            font-size: 16px;
            line-height: 1.6;
            height: 250px; }
            @media screen and (max-width: 768px) {
              #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_txt {
                padding: 0 20px 20px;
                font-size: 14px; } }
            #contents .section01 .section01_link .section__inner .box ul li .box_anime .box_txt p {
              margin-top: 20px; }
          #contents .section01 .section01_link .section__inner .box ul li .box_anime.is-act {
            transform: scale(1, 1); }
          #contents .section01 .section01_link .section__inner .box ul li .box_anime .btn {
            margin: 0 10px; }
            @media screen and (max-width: 768px) {
              #contents .section01 .section01_link .section__inner .box ul li .box_anime .btn {
                margin: 10px 40px; } }
            #contents .section01 .section01_link .section__inner .box ul li .box_anime .btn p a {
              position: relative;
              display: block;
              border: 2px solid #f39832;
              background: #fff;
              max-width: 500px;
              margin: 0 auto;
              padding: 18px 10px;
              font-size: 20px;
              line-height: 1;
              color: #f39832;
              text-align: center;
              transition: all .5s ease;
              overflow: hidden;
              z-index: 2;
              box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); }
              @media screen and (max-width: 768px) {
                #contents .section01 .section01_link .section__inner .box ul li .box_anime .btn p a {
                  font-size: 16px; } }
              #contents .section01 .section01_link .section__inner .box ul li .box_anime .btn p a::before {
                content: "";
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                transform: translateX(-100%);
                transition: all .5s ease;
                z-index: -1; }
              #contents .section01 .section01_link .section__inner .box ul li .box_anime .btn p a::after {
                content: "\f0a9";
                font-family: "FontAwesome", sans-serif;
                margin-left: 10px; }
              #contents .section01 .section01_link .section__inner .box ul li .box_anime .btn p a:hover {
                color: #fff; }
                #contents .section01 .section01_link .section__inner .box ul li .box_anime .btn p a:hover::before {
                  background-color: #f39832;
                  transform: translateX(0); }
#contents .page_link {
  padding: 0; }
  #contents .page_link .h2_txt {
    text-align: center;
    margin: 50px 0; }
    @media screen and (max-width: 768px) {
      #contents .page_link .h2_txt {
        text-align: left; } }
    #contents .page_link .h2_txt .pc-only {
      dispaly: block; }
      @media screen and (max-width: 768px) {
        #contents .page_link .h2_txt .pc-only {
          display: none; } }
#contents .tmp_txt06 .section__inner {
  max-width: 1200px;
  margin: 0 auto; }
  #contents .tmp_txt06 .section__inner h2 {
    font-size: 42px;
    font-weight: bold;
    color: #545151;
    text-align: center; }
    @media screen and (max-width: 768px) {
      #contents .tmp_txt06 .section__inner h2 {
        font-size: 24px; } }
  #contents .tmp_txt06 .section__inner .box {
    margin: 40px 0; }
    #contents .tmp_txt06 .section__inner .box::before, #contents .tmp_txt06 .section__inner .box::after {
      content: '';
      display: table; }
    #contents .tmp_txt06 .section__inner .box::after {
      clear: both; }
    #contents .tmp_txt06 .section__inner .box .box__left {
      float: left;
      width: 50%;
      padding: 20px; }
      @media screen and (max-width: 768px) {
        #contents .tmp_txt06 .section__inner .box .box__left {
          float: none;
          width: 100%;
          margin-top: 20px;
          padding: 0;
          text-align: center; } }
      #contents .tmp_txt06 .section__inner .box .box__left .img_l {
        padding: 0 20px; }
        #contents .tmp_txt06 .section__inner .box .box__left .img_l img {
          max-width: 566px; }
    #contents .tmp_txt06 .section__inner .box .box__right {
      float: left;
      width: 50%;
      margin-top: 20px;
      padding: 20px; }
      @media screen and (max-width: 768px) {
        #contents .tmp_txt06 .section__inner .box .box__right {
          float: none;
          width: 100%;
          padding: 0; } }
      #contents .tmp_txt06 .section__inner .box .box__right .right_box {
        padding: 0 10px; }
        @media screen and (max-width: 768px) {
          #contents .tmp_txt06 .section__inner .box .box__right .right_box {
            padding: 0 30px; } }
        #contents .tmp_txt06 .section__inner .box .box__right .right_box h3 {
          border-left: 4px solid #f39832;
          padding-left: 15px;
          font-size: 28px;
          font-weight: normal; }
          @media screen and (max-width: 768px) {
            #contents .tmp_txt06 .section__inner .box .box__right .right_box h3 {
              font-size: 21px; } }
          #contents .tmp_txt06 .section__inner .box .box__right .right_box h3 span {
            font-size: 18px; }
            @media screen and (max-width: 768px) {
              #contents .tmp_txt06 .section__inner .box .box__right .right_box h3 span {
                font-size: 16px; } }
        #contents .tmp_txt06 .section__inner .box .box__right .right_box p {
          margin-top: 10px; }
          #contents .tmp_txt06 .section__inner .box .box__right .right_box p .pc-only {
            display: block; }
            @media screen and (max-width: 768px) {
              #contents .tmp_txt06 .section__inner .box .box__right .right_box p .pc-only {
                display: none; } }
  #contents .tmp_txt06 .section__inner .box_txt {
    max-width: 1200px;
    margin: 0 auto 50px;
    text-align: left; }
    #contents .tmp_txt06 .section__inner .box_txt p {
      margin-top: 20px;
      padding: 0 30px; }
#contents .tmp_txt06 .seledt-b {
  margin-bottom: 80px; }
  #contents .tmp_txt06 .seledt-b img {
    padding: 0 50px; }
#contents .section_ph {
  background: #545151;
  padding: 20px 0 30px; }
  #contents .section_ph .section_ph_box {
    display: flex;
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      #contents .section_ph .section_ph_box {
        display: block; } }
    #contents .section_ph .section_ph_box .section_ph_box_left h3 {
      border-bottom: 1px solid #f39832;
      font-size: 20px;
      color: #fff;
      max-width: 300px;
      margin: 30px auto;
      text-align: center; }
    #contents .section_ph .section_ph_box .section_ph_box_left .h3_img_box {
      display: flex; }
    #contents .section_ph .section_ph_box .section_ph_box_left .box_m {
      margin-right: 10px; }
      @media screen and (max-width: 768px) {
        #contents .section_ph .section_ph_box .section_ph_box_left .box_m {
          margin-right: 0; } }
      #contents .section_ph .section_ph_box .section_ph_box_left .box_m p {
        padding-left: 10px; }
    #contents .section_ph .section_ph_box .section_ph_box_right h3 {
      border-bottom: 1px solid #f39832;
      color: #fff;
      font-size: 20px;
      max-width: 300px;
      margin: 30px auto;
      text-align: center; }
    #contents .section_ph .section_ph_box .section_ph_box_right .h3_img_box {
      display: flex; }
      #contents .section_ph .section_ph_box .section_ph_box_right .h3_img_box p {
        padding-left: 10px; }
#contents .section02 {
  background: #545151;
  background-size: 69px 100%;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #contents .section02 {
      padding: 40px 0; } }
  #contents .section02 .section__inner02 {
    max-width: 1200px;
    margin: 0 auto; }
    #contents .section02 .section__inner02 .h2_font {
      display: inline-block;
      border-bottom: 3px dashed #fff;
      padding-bottom: 10px;
      font-size: 32px;
      font-weight: bold;
      color: #fff; }
      @media screen and (max-width: 768px) {
        #contents .section02 .section__inner02 .h2_font {
          font-size: 24px; } }
    #contents .section02 .section__inner02 .box {
      max-width: 1000px;
      margin: 40px auto 0;
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -moz-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        #contents .section02 .section__inner02 .box {
          margin-top: 20px;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
      #contents .section02 .section__inner02 .box ul {
        width: 100%; }
        @media screen and (max-width: 768px) {
          #contents .section02 .section__inner02 .box ul {
            padding: 20px; } }
        #contents .section02 .section__inner02 .box ul li {
          position: relative;
          margin-top: 20px;
          padding-left: 50px;
          font-size: 23px;
          text-align: left;
          color: #fff; }
          @media screen and (max-width: 768px) {
            #contents .section02 .section__inner02 .box ul li {
              margin-top: 10px;
              padding-left: 30px;
              font-size: 18px; } }
          #contents .section02 .section__inner02 .box ul li::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            display: inline-block;
            background: url(../../img/construction/s02_icon01.jpg) no-repeat;
            background-size: cover;
            width: 38px;
            height: 39px; }
            @media screen and (max-width: 768px) {
              #contents .section02 .section__inner02 .box ul li::before {
                top: 4px;
                width: 20px;
                height: 20px; } }
          #contents .section02 .section__inner02 .box ul li span {
            position: relative;
            z-index: 2; }
            #contents .section02 .section__inner02 .box ul li span::after {
              content: "";
              position: absolute;
              right: 0;
              bottom: 0;
              left: 0;
              border-bottom: 5px solid #f39832;
              z-index: -1; }
      #contents .section02 .section__inner02 .box .img {
        width: 24%;
        padding: 20px; }
        @media screen and (max-width: 768px) {
          #contents .section02 .section__inner02 .box .img {
            width: 100%;
            margin-top: 20px;
            padding-left: 0;
            text-align: center; } }
        #contents .section02 .section__inner02 .box .img img {
          max-width: 118px; }
          @media screen and (max-width: 768px) {
            #contents .section02 .section__inner02 .box .img img {
              max-width: 77px; } }
      #contents .section02 .section__inner02 .box .img2 {
        width: 82%;
        padding: 20px; }
        @media screen and (max-width: 768px) {
          #contents .section02 .section__inner02 .box .img2 {
            width: 100%;
            margin-top: 20px;
            padding-left: 0;
            text-align: center; } }
        #contents .section02 .section__inner02 .box .img2 img {
          max-width: 400px; }
          @media screen and (max-width: 768px) {
            #contents .section02 .section__inner02 .box .img2 img {
              max-width: 264px; } }
#contents .section_mission {
  background: no-repeat center url(../../img/index/s_mission_bg.jpg);
  background-size: cover;
  padding: 200px 0 80px; }
  @media screen and (max-width: 768px) {
    #contents .section_mission {
      padding: 40px 0; } }
  #contents .section_mission h2 {
    text-align: center; }
    #contents .section_mission h2 img {
      max-width: 502px; }
      @media screen and (max-width: 768px) {
        #contents .section_mission h2 img {
          max-width: 331px; } }
  #contents .section_mission .txt01 {
    margin-top: 20px;
    font-size: 18px;
    color: #444444;
    text-align: center;
    padding: 10px; }
    @media screen and (max-width: 768px) {
      #contents .section_mission .txt01 {
        font-size: 14px;
        text-align: left;
        padding: 20px; } }
    #contents .section_mission .txt01 .pc-only {
      display: block; }
      @media screen and (max-width: 768px) {
        #contents .section_mission .txt01 .pc-only {
          display: none; } }
  #contents .section_mission .mission_contact {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
    margin-top: 50px;
    padding: 0 20px; }
    #contents .section_mission .mission_contact a {
      position: relative;
      display: block;
      border: 2px solid #f39832;
      background: #fff;
      max-width: 500px;
      margin: 0 auto;
      padding: 18px 10px;
      font-size: 20px;
      line-height: 1;
      color: #f39832;
      text-align: center;
      transition: all .5s ease;
      overflow: hidden;
      z-index: 2;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); }
      @media screen and (max-width: 768px) {
        #contents .section_mission .mission_contact a {
          font-size: 16px; } }
      #contents .section_mission .mission_contact a::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        transform: translateX(-100%);
        transition: all .5s ease;
        z-index: -1; }
      #contents .section_mission .mission_contact a::after {
        content: "\f0a9";
        font-family: "FontAwesome", sans-serif;
        margin-left: 10px; }
      #contents .section_mission .mission_contact a:hover {
        color: #fff; }
        #contents .section_mission .mission_contact a:hover::before {
          background-color: #f39832;
          transform: translateX(0); }
    @media screen and (max-width: 768px) {
      #contents .section_mission .mission_contact {
        padding: 0 30px; } }
