@charset "UTF-8";
body, div,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td, figure {
  margin: 0;
  padding: 0; }

img {
  border: 0;
  vertical-align: bottom; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal; }

ul {
  list-style: none; }

caption, th {
  text-align: left; }

@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* html
------------------------------------------------- */
html {
  overflow-y: scroll;
  height: 100%;
  scroll-behavior: smooth; }

/* body
------------------------------------------------- */
body {
  width: 100%;
  height: 100%;
  color: #042a56;
  font-size: 16px;
  font-family: 'noto sans';
  line-height: 1.6;
  letter-spacing: 0.05em;
  _display: inline;
  _zoom: 1; }
  body .pc {
    display: block; }
  body .sp {
    display: none; }

@media (min-device-width: 641px) and (max-device-width: 1024px) {
  body {
    min-width: 1024px; } }
@media (max-width: 640px) {
  body {
    min-width: 320px;
    max-width: 640px;
    font-size: 14px; }
    body img {
      width: 100%;
      height: auto; }
    body .pc {
      display: none; }
    body .sp {
      display: block; } }
.wrap {
  overflow: hidden; }

/* wrapper
------------------------------------------------- */
#wrapper {
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: left;
  position: relative; }

/* header
------------------------------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999; }
  .header__inner {
    border-bottom: 1px solid #042a56;
    background: #fff;
    max-width: 1840px;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .header__inner h1 {
      width: 231px;
      float: left;
      margin: 20px 0 0 40px; }
      .header__inner h1 img {
        width: 100%;
        height: auto; }
    .header__inner--right {
      display: flex;
      width: 870px;
      float: right; }
      .header__inner--right .gnav {
        width: 730px;
        margin-top: 45px; }
        .header__inner--right .gnav .tel {
          margin-right: 30px;
          text-align: right;
          font-size: 10px; }
          .header__inner--right .gnav .tel a {
            pointer-events: none; }
            .header__inner--right .gnav .tel a span {
              padding-left: 18px;
              font-size: 24px;
              font-family: 'noto sans bold';
              position: relative; }
              .header__inner--right .gnav .tel a span:before {
                content: "";
                position: absolute;
                top: 15px;
                left: 0;
                background: url("../img/common/icon_tel.png") no-repeat center center;
                background-size: cover;
                width: 13px;
                height: 13px; }
        .header__inner--right .gnav nav ul li {
          float: left;
          margin-right: 30px; }
          .header__inner--right .gnav nav ul li:last-child {
            margin-right: 0; }
          .header__inner--right .gnav nav ul li a {
            display: block;
            padding: 10px 0 16px;
            text-align: center;
            font-family: 'noto sans bold';
            line-height: 1.4;
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .header__inner--right .gnav nav ul li a:hover {
              color: #2a68b1;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }
          .header__inner--right .gnav nav ul li.drop {
            display: block;
            position: relative; }
            .header__inner--right .gnav nav ul li.drop:hover p {
              color: #2a68b1; }
            .header__inner--right .gnav nav ul li.drop:hover ul.sub {
              top: 100%;
              visibility: visible;
              opacity: 1; }
            .header__inner--right .gnav nav ul li.drop p {
              display: block;
              padding: 10px 0 16px;
              text-align: center;
              font-family: 'noto sans bold';
              line-height: 1.4;
              cursor: pointer;
              position: relative;
              transition: .5s;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
            .header__inner--right .gnav nav ul li.drop ul.sub {
              position: absolute;
              top: 100%;
              left: -90%;
              visibility: hidden;
              background: #042a56;
              width: 300%;
              padding: 12px 0;
              z-index: 999;
              opacity: 0;
              transition: .5s; }
              .header__inner--right .gnav nav ul li.drop ul.sub:before {
                content: "";
                position: absolute;
                top: -10px;
                left: 45%;
                border-style: solid;
                border-width: 0 5px 10px 5px;
                border-color: transparent transparent #042a56 transparent; }
              .header__inner--right .gnav nav ul li.drop ul.sub:hover {
                visibility: visible; }
              .header__inner--right .gnav nav ul li.drop ul.sub > li {
                width: 100%; }
                .header__inner--right .gnav nav ul li.drop ul.sub > li > a {
                  display: block;
                  width: 94%;
                  padding: 10px 3%;
                  color: #fff;
                  font-size: 13px;
                  letter-spacing: 1px; }
                  .header__inner--right .gnav nav ul li.drop ul.sub > li > a:hover {
                    color: #ccc;
                    text-decoration: none; }
                .header__inner--right .gnav nav ul li.drop ul.sub > li:last-child a {
                  border-bottom: none; }
            .header__inner--right .gnav nav ul li.drop:hover .sub {
              visibility: visible; }
      .header__inner--right .contact {
        width: 140px;
        float: right; }
        .header__inner--right .contact .mail a {
          display: block;
          background: #e2c348;
          padding: 50px 0 30px;
          text-align: center;
          font-size: 14px;
          font-family: 'noto sans bold';
          line-height: 1.2;
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          .header__inner--right .contact .mail a span {
            position: relative; }
            .header__inner--right .contact .mail a span:before {
              content: "";
              position: absolute;
              top: -20px;
              left: 35px;
              background: url("../img/common/icon_mail.png") no-repeat center center;
              width: 16px;
              height: 12px; }
          .header__inner--right .contact .mail a:hover {
            background: #eed572;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }

@media (min-width: 641px) and (max-width: 1200px) {
  .header__inner h1 {
    width: 200px;
    margin: 20px 0 0 20px; }
  .header__inner--right {
    width: 740px; }
    .header__inner--right .gnav {
      width: 600px; }
      .header__inner--right .gnav nav ul li {
        margin-right: 20px; }
        .header__inner--right .gnav nav ul li a {
          font-size: 14px; }
        .header__inner--right .gnav nav ul li.drop p {
          font-size: 14px; } }
@media (max-width: 640px) {
  .header__inner {
    width: 100%;
    padding: 0; }
    .header__inner h1 {
      width: 40%;
      margin: 2% 0 2% 3%; }
    .header__inner--right {
      display: block;
      width: 100%;
      float: none; }
      .header__inner--right .gnav {
        width: 100%;
        margin-top: 0; }
        .header__inner--right .gnav nav {
          display: none; }
    .header__inner--contact {
      display: none; }
    .header__inner--spmenu {
      width: 15%;
      float: right; }
      .header__inner--spmenu #panel-btn #panel-btn-icon {
        display: block;
        background: url("../img/common/btn_menu_sp.png") no-repeat center center;
        background-size: cover;
        width: 100%;
        height: 100%;
        padding: 33.7% 0;
        position: relative;
        text-indent: -9999px;
        transition: 0.3s; }
        .header__inner--spmenu #panel-btn #panel-btn-icon.close {
          background: url("../img/common/btn_menu_close_sp.png") no-repeat center center;
          background-size: cover;
          transition: 0.3s; }
  .header .menu-box {
    display: block;
    position: fixed;
    background: #286ab8;
    width: 100%;
    top: 8%;
    left: 0;
    bottom: 0;
    z-index: 9998;
    overflow-y: scroll; }
    .header .menu-box:after {
      content: ""; }
    .header .menu-box .menu-box-inner {
      overflow: scroll;
      width: 80%;
      padding: 7% 10%; }
      .header .menu-box .menu-box-inner ul > li > a {
        display: block;
        padding: 3.5% 0 3.5% 17px;
        color: #fff !important;
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 1.3;
        position: relative; }
        .header .menu-box .menu-box-inner ul > li > a:before {
          content: "";
          background: url("../img/common/icon_arrow_sp.png") no-repeat center center;
          background-size: 100% auto;
          position: absolute;
          top: 40%;
          left: 1px;
          width: 5px;
          height: 8px; }
        .header .menu-box .menu-box-inner ul > li > a:hover {
          text-decoration: none; }
      .header .menu-box .menu-box-inner ul > li.drop p {
        display: block;
        padding: 3% 0 3% 17px;
        color: #fff;
        font-size: 16px;
        line-height: 1.3;
        position: relative; }
        .header .menu-box .menu-box-inner ul > li.drop p:after {
          content: "";
          background: url("../img/common/icon_open.png") no-repeat center center;
          background-size: 100% auto;
          position: absolute;
          top: 40%;
          left: 0;
          width: 8px;
          height: 8px; }
        .header .menu-box .menu-box-inner ul > li.drop p.open:after {
          background: url("../img/common/icon_close.png") no-repeat center center;
          background-size: 100% auto; }
        .header .menu-box .menu-box-inner ul > li.drop p span {
          font-size: 10px; }
        .header .menu-box .menu-box-inner ul > li.drop p:hover {
          text-decoration: none; }
      .header .menu-box .menu-box-inner ul > li.drop ul.sub {
        display: none;
        padding-left: 7%; }
        .header .menu-box .menu-box-inner ul > li.drop ul.sub li a {
          padding: 2.5% 0 2.5% 15px;
          font-size: 13px; }
      .header .menu-box .menu-box-inner .contact_sp {
        width: 100%;
        margin: 10% auto 0; }
        .header .menu-box .menu-box-inner .contact_sp a {
          display: block;
          background: #e2c348;
          padding: 5% 0;
          text-align: center;
          font-size: 14px;
          font-family: 'noto sans bold';
          line-height: 1.2;
          position: relative; }
          .header .menu-box .menu-box-inner .contact_sp a:after {
            content: "";
            position: absolute;
            top: 22px;
            right: 15px;
            background: url("../img/common/icon_arrow_btn_n.png") no-repeat center center;
            width: 7px;
            height: 12px; }
          .header .menu-box .menu-box-inner .contact_sp a:hover {
            text-decoration: none; } }
/* article
------------------------------------------------- */
article {
  max-width: 1840px;
  margin: 0 auto; }
  article#top {
    background: url("../img/top/bg_art_top.jpg") no-repeat center top;
    background-size: 100% auto; }
  article#method.zero {
    background: url("../img/about/bg_low_zero.png") no-repeat center 400px;
    background-size: 100% auto; }
  article#method.hard {
    background: url("../img/about/bg_low_hard.png") no-repeat center 400px;
    background-size: 100% auto; }
  article#method.grb {
    background: url("../img/about/bg_low_grb.png") no-repeat center 400px;
    background-size: 100% auto; }
  article#method.upper {
    background: url("../img/about/bg_low_upper.png") no-repeat center 400px;
    background-size: 100% auto; }
  article#method.vibrohammer {
    background: url("../img/about/bg_low_vibrohammer.png") no-repeat center 400px;
    background-size: 100% auto; }
  article#method.dodome {
    background: url("../img/about/bg_low_dodome.png") no-repeat center 400px;
    background-size: 100% auto; }
  article#about, article#works, article#machine, article#company, article#recruit {
    background: url("../img/common/bg_art_low02.png") no-repeat center 600px;
    background-size: 100% auto; }

@media (max-width: 640px) {
  article#top {
    background: none; }
  article#method.zero {
    background: none; }
  article#method.hard {
    background: none; }
  article#method.grb {
    background: none; }
  article#method.upper {
    background: none; }
  article#method.vibrohammer {
    background: none; }
  article#method.dodome {
    background: none; }
  article#about, article#works, article#machine, article#company, article#recruit {
    background: none; } }
.mv {
  max-width: 1840px;
  margin: 97px auto 0; }
  .mv__inner {
    padding: 40px 0 0 40px;
    position: relative; }
    .mv__inner .catch {
      position: absolute;
      left: 5%;
      bottom: 5%;
      width: 38%; }
      .mv__inner .catch img {
        width: 100%;
        height: auto; }
    .mv__inner video {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9;
      margin: auto; }
    .mv__inner ul li {
      position: relative; }
      .mv__inner ul li .box {
        position: absolute;
        padding: 60px; }
        .mv__inner ul li .box .ttl01 {
          margin-bottom: 20px;
          padding-top: 10%;
          font-size: 48px;
          font-family: 'noto sans bold';
          line-height: 1.4; }
        .mv__inner ul li .box .ttl02 {
          color: #fff;
          font-size: 120px;
          font-family: 'Roboto';
          line-height: 1.2; }
        .mv__inner ul li .box .ttl03 {
          margin-bottom: 20px;
          color: #fff;
          font-size: 42px;
          font-family: 'noto sans bold';
          line-height: 1.4; }
        .mv__inner ul li .box .txt01 {
          font-size: 18px;
          line-height: 1.8; }
        .mv__inner ul li .box .txt02 {
          background: url("../img/top/img_mv_line.png") no-repeat 430px center;
          color: #fff;
          font-size: 20px;
          position: relative; }
        .mv__inner ul li .box .txt03 {
          color: #fff;
          font-size: 18px;
          line-height: 1.8; }
      .mv__inner ul li .pht img {
        width: 100%;
        height: auto; }
    .mv__inner .bx-wrapper .bx-pager,
    .mv__inner .bx-wrapper .bx-controls-auto {
      position: absolute;
      bottom: -40px;
      width: 100%; }
    .mv__inner .bx-wrapper .bx-pager.bx-default-pager a {
      background: #042a56;
      -moz-border-radius: 0;
      -webkit-border-radius: 0;
      border-radius: 0; }
    .mv__inner .bx-wrapper .bx-pager.bx-default-pager a:hover,
    .mv__inner .bx-wrapper .bx-pager.bx-default-pager a.active {
      background: #e2c348; }

@media (min-width: 641px) and (max-width: 1400px) {
  .mv__inner {
    padding: 30px 0 0 30px; }
    .mv__inner ul li .box {
      padding: 5%; }
      .mv__inner ul li .box .logo {
        width: 8%; }
      .mv__inner ul li .box .ttl01 {
        font-size: 3.5vw;
        line-height: 1.4; }
      .mv__inner ul li .box .ttl02 {
        font-size: 7vw;
        line-height: 1.2; }
      .mv__inner ul li .box .ttl03 {
        font-size: 3vw;
        line-height: 1.4; }
      .mv__inner ul li .box .txt01 {
        font-size: 1.5vw;
        line-height: 1.8; }
      .mv__inner ul li .box .txt02 {
        background: none;
        font-size: 1.8vw; }
      .mv__inner ul li .box .txt03 {
        font-size: 1.5vw;
        line-height: 1.8; } }
@media (max-width: 640px) {
  .mv {
    width: 100%;
    margin: 15% auto 0; }
    .mv__inner {
      width: 100%;
      padding: 0; }
      .mv__inner .catch {
        left: 3%;
        bottom: 5%;
        width: 75%; }
      .mv__inner ul li .box {
        padding: 3%; }
        .mv__inner ul li .box .logo {
          width: 7%;
          margin-bottom: 2%; }
        .mv__inner ul li .box .ttl01 {
          margin-bottom: 3%;
          font-size: 18px;
          line-height: 1.4; }
        .mv__inner ul li .box .ttl02 {
          font-size: 28px;
          line-height: 1.2; }
        .mv__inner ul li .box .ttl03 {
          margin-bottom: 4%;
          font-size: 16px; }
        .mv__inner ul li .box .txt01 {
          width: 100%;
          font-size: 11px;
          line-height: 2.0; }
        .mv__inner ul li .box .txt02 {
          margin-bottom: 2%;
          padding-top: 5%;
          background: none;
          font-size: 11px;
          font-family: 'noto sans bold'; }
        .mv__inner ul li .box .txt03 {
          width: 100%;
          font-size: 11px;
          line-height: 2.0; } }
.mvlow {
  max-width: 1840px;
  margin: 97px auto 0;
  padding: 120px 20px; }
  .mvlow__inner {
    max-width: 1160px;
    margin: 0 auto; }
    .mvlow__inner .en {
      color: #fff;
      font-family: 'noto sans bold'; }
    .mvlow__inner h2 {
      color: #fff;
      font-size: 40px;
      font-family: 'noto sans bold'; }

#about .mvlow {
  background: url("../img/about/img_mv_about.jpg") no-repeat center top;
  background-size: cover; }

#method.zero .mvlow {
  background: url("../img/about/img_mv_zero.jpg") no-repeat center top;
  background-size: cover; }

#method.hard .mvlow {
  background: url("../img/about/img_mv_hard.jpg") no-repeat center top;
  background-size: cover; }

#method.grb .mvlow {
  background: url("../img/about/img_mv_grb.jpg") no-repeat center top;
  background-size: cover; }

#method.vibrohammer .mvlow {
  background: url("../img/about/img_mv_vibrohammer.jpg") no-repeat center top;
  background-size: cover; }

#method.upper .mvlow {
  background: url("../img/about/img_mv_upper.jpg") no-repeat center top;
  background-size: cover; }

#method.dodome .mvlow {
  background: url("../img/about/img_mv_dodome.jpg") no-repeat center top;
  background-size: cover; }

#works .mvlow {
  background: url("../img/works/img_mv_works.jpg") no-repeat center top;
  background-size: cover; }

#machine .mvlow {
  background: url("../img/machine/img_mv_machine.jpg") no-repeat center top;
  background-size: cover; }

#company .mvlow {
  background: url("../img/company/img_mv_company.jpg") no-repeat center top;
  background-size: cover; }

#contact .mvlow {
  background: url("../img/contact/img_mv_contact.jpg") no-repeat center top;
  background-size: cover; }

#recruit .mvlow {
  background: url("../img/recruit/img_mv_recruit.jpg") no-repeat center top;
  background-size: cover; }

#entry .mvlow {
  background: url("../img/recruit/img_mv_entry.jpg") no-repeat center top;
  background-size: cover; }

#privacy .mvlow {
  background: url("../img/privacy/img_mv_privacy.jpg") no-repeat center top;
  background-size: cover; }

@media (max-width: 640px) {
  .mvlow {
    margin: 15% auto 0;
    padding: 20% 0; }
    .mvlow__inner {
      max-width: 94%; }
      .mvlow__inner h2 {
        font-size: 20px; } }
.breadcrumb {
  max-width: 1160px;
  margin: 0 auto;
  padding: 20px 20px 70px; }
  .breadcrumb ul {
    overflow: hidden; }
    .breadcrumb ul li {
      float: left;
      font-size: 12px;
      letter-spacing: 0.1em; }
      .breadcrumb ul li a {
        text-decoration: none; }
        .breadcrumb ul li a:hover {
          text-decoration: underline; }
      .breadcrumb ul li a::after {
        display: inline-block;
        content: '\FF1E';
        margin: 0 1em;
        color: #333;
        font-size: 12px; }

@media (min-device-width: 641px) and (max-device-width: 1024px) {
  .breadcrumb {
    width: 96%; } }
@media (max-width: 640px) {
  .breadcrumb {
    width: 96%;
    padding: 3% 0 6%; }
    .breadcrumb ul li {
      font-size: 10px; }
      .breadcrumb ul li a::after {
        font-size: 10px; } }
.cta {
  background: url("../img/common/bg_cta.jpg") no-repeat center top;
  background-size: cover;
  max-width: 1840px;
  margin: 0 auto; }
  .cta__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 70px 0 100px; }
    .cta__inner h2 {
      margin-bottom: 15px;
      text-align: center;
      color: #fff;
      font-size: 80px;
      font-family: 'Roboto';
      line-height: 1.0;
      letter-spacing: -0.02em; }
    .cta__inner .jp {
      margin-bottom: 30px;
      text-align: center;
      color: #fff;
      font-family: 'noto sans bold'; }
    .cta__inner .txt {
      margin-bottom: 30px;
      text-align: center;
      color: #fff; }
    .cta__inner ul {
      display: flex;
      width: 740px;
      margin: 0 auto; }
      .cta__inner ul li {
        width: 300px;
        padding: 10px 0;
        text-align: center;
        color: #fff; }
        .cta__inner ul li:first-child {
          border-right: 1px solid #fff;
          margin-right: 70px;
          padding-right: 70px; }
        .cta__inner ul li:last-child h3 {
          margin-bottom: 15px; }
        .cta__inner ul li h3 {
          margin-bottom: 10px;
          font-size: 16px;
          font-family: 'noto sans bold'; }
        .cta__inner ul li .tel a {
          pointer-events: none; }
          .cta__inner ul li .tel a span {
            padding-left: 25px;
            color: #fff;
            font-size: 40px;
            font-family: 'Roboto';
            position: relative; }
            .cta__inner ul li .tel a span:before {
              content: "";
              position: absolute;
              top: 25px;
              left: 0;
              background: url("../img/common/icon_tel_w.png") no-repeat center center;
              width: 18px;
              height: 18px; }
        .cta__inner ul li .time {
          font-size: 14px;
          font-family: 'noto sans bold'; }
        .cta__inner ul li .btn_contact {
          width: 100%;
          margin: 0 auto; }
          .cta__inner ul li .btn_contact a {
            display: block;
            background: #e2c348;
            padding: 25px 0;
            font-family: 'noto sans bold';
            position: relative;
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .cta__inner ul li .btn_contact a:after {
              content: "";
              position: absolute;
              top: 33px;
              right: 15px;
              background: url("../img/common/icon_arrow_btn_n.png") no-repeat center center;
              width: 7px;
              height: 12px; }
            .cta__inner ul li .btn_contact a:hover {
              background: #eed572;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }

@media (min-width: 641px) and (max-width: 1200px) {
  .cta__inner {
    max-width: 96%;
    padding: 60px 0 80px; }
    .cta__inner h2 {
      margin-bottom: 20px;
      font-size: 70px; } }
@media (max-width: 640px) {
  .cta__inner {
    max-width: 94%;
    padding: 8% 0 10%; }
    .cta__inner h2 {
      margin-bottom: 3%;
      font-size: 30px; }
    .cta__inner .jp {
      margin-bottom: 3%; }
    .cta__inner .txt {
      margin-bottom: 7%; }
    .cta__inner ul {
      display: block;
      width: 100%; }
      .cta__inner ul li {
        width: 100%;
        padding: 0; }
        .cta__inner ul li:first-child {
          border-right: none;
          border-bottom: 1px dashed #fff;
          margin: 0 0 6%;
          padding: 0 0 6%; }
        .cta__inner ul li:last-child h3 {
          margin-bottom: 5%; }
        .cta__inner ul li h3 {
          margin-bottom: 2%;
          font-size: 14px; }
        .cta__inner ul li .tel a {
          pointer-events: auto; }
        .cta__inner ul li .time {
          font-size: 13px; }
        .cta__inner ul li .btn_contact {
          width: 80%; }
          .cta__inner ul li .btn_contact a {
            padding: 5% 0; }
            .cta__inner ul li .btn_contact a:after {
              top: 18px; }
            .cta__inner ul li .btn_contact a:hover {
              background: #e2c348; } }
.btn_detail {
  width: 280px;
  margin: 0 auto; }
  .btn_detail a {
    display: block;
    background: #1657a3;
    padding: 25px 0;
    text-align: center;
    color: #fff !important;
    font-size: 14px;
    position: relative;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
    .btn_detail a:after {
      content: "";
      position: absolute;
      top: 30px;
      right: 15px;
      background: url("../img/common/icon_arrow_btn.png") no-repeat center center;
      width: 7px;
      height: 12px; }
    .btn_detail a:hover {
      background: #3675be;
      text-decoration: none;
      -moz-transition: .5s;
      -webkit-transition: .5s;
      -o-transition: .5s;
      -ms-transition: .5s;
      transition: .5s; }

@media (max-width: 640px) {
  .btn_detail {
    width: 70%; }
    .btn_detail a {
      padding: 5% 0;
      font-size: 12px; }
      .btn_detail a:after {
        top: 18px; }
      .btn_detail a:hover {
        background: #1657a3; } }
* html #pageTop {
  position: absolute; }

#pageTop {
  position: fixed;
  width: 60px;
  height: 60px;
  right: 2%;
  bottom: 2%;
  z-index: 900; }

@media (max-width: 640px) {
  * html #pageTopSp {
    position: absolute; }

  #pageTop {
    position: fixed;
    width: 10%;
    height: auto;
    right: 3%;
    bottom: 2%;
    z-index: 9997; } }
/* footer
------------------------------------------------- */
.footer {
  background: #f2f4f6;
  max-width: 1840px;
  margin: 0 auto;
  padding: 70px 0 100px; }
  .footer__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    .footer__inner--profile {
      width: 350px;
      float: left; }
      .footer__inner--profile h1 {
        width: 231px;
        margin-bottom: 20px; }
        .footer__inner--profile h1 img {
          width: 100%;
          height: auto; }
    .footer__inner--right {
      width: 705px;
      float: right; }
      .footer__inner--right ul.fnav {
        margin: 15px 0 50px; }
        .footer__inner--right ul.fnav li {
          float: left;
          margin-right: 45px; }
          .footer__inner--right ul.fnav li:last-child {
            margin-right: 0; }
          .footer__inner--right ul.fnav li a {
            display: block;
            font-size: 16px;
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            .footer__inner--right ul.fnav li a:hover {
              color: #2b5f9c;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }
          .footer__inner--right ul.fnav li.drop {
            display: block;
            position: relative; }
            .footer__inner--right ul.fnav li.drop:hover p a {
              text-decoration: none; }
            .footer__inner--right ul.fnav li.drop:hover ul.sub {
              top: 100%;
              visibility: visible;
              opacity: 1; }
            .footer__inner--right ul.fnav li.drop p {
              display: block;
              padding-bottom: 10px;
              text-align: center;
              cursor: pointer;
              position: relative;
              transition: .5s;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
            .footer__inner--right ul.fnav li.drop ul.sub {
              position: absolute;
              top: 100%;
              left: -90%;
              visibility: hidden;
              background: #042a56;
              width: 300%;
              padding: 5px 0;
              z-index: 999;
              opacity: 0;
              transition: .5s; }
              .footer__inner--right ul.fnav li.drop ul.sub:before {
                content: "";
                position: absolute;
                top: -10px;
                left: 47%;
                border-style: solid;
                border-width: 0 5px 10px 5px;
                border-color: transparent transparent #042a56 transparent; }
              .footer__inner--right ul.fnav li.drop ul.sub:hover {
                visibility: visible; }
              .footer__inner--right ul.fnav li.drop ul.sub > li {
                width: 100%; }
                .footer__inner--right ul.fnav li.drop ul.sub > li > a {
                  display: block;
                  width: 94%;
                  padding: 8px 3%;
                  text-align: center;
                  color: #fff;
                  font-size: 12px;
                  letter-spacing: 1px; }
                  .footer__inner--right ul.fnav li.drop ul.sub > li > a:hover {
                    color: #ccc;
                    text-decoration: none; }
                .footer__inner--right ul.fnav li.drop ul.sub > li:last-child a {
                  border-bottom: none; }
            .footer__inner--right ul.fnav li.drop:hover .sub {
              visibility: visible; }
      .footer__inner--right .privacy {
        margin-bottom: 10px;
        text-align: right;
        font-size: 14px; }
      .footer__inner--right .copyright {
        text-align: right;
        font-size: 12px; }

@media (min-width: 641px) and (max-width: 1200px) {
  .footer__inner--right {
    width: 600px; }
    .footer__inner--right ul.fnav {
      margin-bottom: 30px; }
      .footer__inner--right ul.fnav li {
        float: left;
        margin-right: 22px; }
        .footer__inner--right ul.fnav li:last-child {
          margin-right: 0; } }
@media (max-width: 640px) {
  .footer {
    padding: 12% 0 10%; }
    .footer__inner {
      max-width: 96%;
      padding: 0; }
      .footer__inner--profile {
        width: 100%;
        float: none;
        margin-bottom: 10%; }
        .footer__inner--profile h1 {
          width: 50%;
          margin: 0 auto; }
      .footer__inner--right {
        width: 100%;
        float: none; }
        .footer__inner--right ul.fnav {
          display: none; }
        .footer__inner--right .privacy {
          margin-bottom: 3%;
          text-align: center;
          font-size: 13px; }
        .footer__inner--right .copyright {
          text-align: center;
          font-size: 12px; } }
/* link
------------------------------------------------- */
a:link,
a:visited {
  color: #042a56;
  text-decoration: none; }

a:hover,
a:active {
  color: #042a56;
  text-decoration: underline; }

/* alpha
------------------------------------------------- */
a.alpha img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

a.alpha:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-transition: .5s;
  -webkit-transition: .5s;
  -o-transition: .5s;
  -ms-transition: .5s;
  transition: .5s; }

/* clearfix
------------------------------------------------- */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     トップ
******************************************* */
#top .sec01 {
  border-bottom: 1px solid #042a56;
  max-width: 1440px;
  margin: 0 auto;
  padding: 120px 0 80px; }
  #top .sec01__catch {
    border: 1px solid #042a56;
    max-width: 960px;
    margin: 0 auto 45px;
    padding: 9px; }
    #top .sec01__catch p {
      background: #042a56;
      padding: 15px 15px;
      text-align: center;
      color: #fff;
      font-size: 32px;
      font-family: 'noto sans bold'; }
      #top .sec01__catch p span {
        color: #e2c348; }
  #top .sec01__inner {
    background: url("../img/top/img_zero.png") no-repeat center top;
    background-size: auto 520px; }
    #top .sec01__inner--box {
      max-width: 1160px;
      min-height: 542px;
      margin: 0 auto; }
      #top .sec01__inner--box .block {
        background: url("../img/top/bg_zero.png") no-repeat center center;
        width: 48%;
        margin-left: 52%;
        padding: 40px 0; }
        #top .sec01__inner--box .block h3 {
          text-align: center;
          font-size: 36px;
          font-family: 'noto sans bold'; }
        #top .sec01__inner--box .block h4 {
          margin-bottom: 30px;
          text-align: center;
          font-size: 20px;
          font-family: 'noto sans bold'; }
          #top .sec01__inner--box .block h4 span {
            color: #e2c348; }
        #top .sec01__inner--box .block .txt_area .txt {
          margin-bottom: 30px;
          line-height: 1.8; }
        #top .sec01__inner--box .block .txt_area .btn_detail {
          width: 340px;
          margin: 0; }
          #top .sec01__inner--box .block .txt_area .btn_detail a {
            padding: 18px 0; }
            #top .sec01__inner--box .block .txt_area .btn_detail a:after {
              top: 22px; }

@media (max-width: 640px) {
  #top .sec01 {
    padding: 7% 0 10%; }
    #top .sec01__catch {
      max-width: 93%;
      margin: 0 auto 5%;
      padding: 1.5%; }
      #top .sec01__catch p {
        padding: 4% 0;
        font-size: 14px; }
    #top .sec01__inner {
      background: none; }
      #top .sec01__inner--box {
        max-width: 94%;
        min-height: auto;
        margin: 0 auto; }
        #top .sec01__inner--box .block {
          background-size: 90% auto;
          width: 100%;
          margin: 0 auto 8%;
          padding: 0; }
          #top .sec01__inner--box .block h3 {
            font-size: 20px; }
          #top .sec01__inner--box .block h4 {
            margin-bottom: 4%;
            font-size: 12px; }
          #top .sec01__inner--box .block .txt_area .txt {
            margin-bottom: 4%; }
          #top .sec01__inner--box .block .txt_area .btn_detail {
            width: 70%;
            margin: 0 auto; }
            #top .sec01__inner--box .block .txt_area .btn_detail a {
              padding: 5% 0; }
              #top .sec01__inner--box .block .txt_area .btn_detail a:after {
                top: 18px; } }
#top .sec02 {
  max-width: 1840px;
  margin: 0 auto;
  padding: 60px 0 100px;
  overflow: hidden; }
  #top .sec02__inner {
    max-width: 1210px;
    margin: 0 auto; }
    #top .sec02__inner h2 {
      font-size: 24px;
      font-family: 'noto sans bold';
      line-height: 1.2; }
      #top .sec02__inner h2 span {
        margin-right: 20px;
        font-size: 80px;
        font-family: 'Roboto'; }
    #top .sec02__inner .jp {
      margin-bottom: 30px;
      font-family: 'noto sans bold'; }
    #top .sec02__inner--reason li {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      margin-bottom: 20px;
      padding: 70px 100px;
      overflow: hidden; }
      #top .sec02__inner--reason li:nth-child(2) figure {
        float: right; }
        #top .sec02__inner--reason li:nth-child(2) figure + div {
          float: left; }
      #top .sec02__inner--reason li figure {
        width: 22%;
        float: left; }
        #top .sec02__inner--reason li figure img {
          width: 100%;
          height: auto; }
        #top .sec02__inner--reason li figure + div {
          width: 68%;
          float: right; }
          #top .sec02__inner--reason li figure + div .point {
            margin: 8px 0 30px; }
            #top .sec02__inner--reason li figure + div .point span {
              background: #042a56;
              padding: 8px 30px;
              color: #fff;
              font-family: 'noto sans bold';
              position: relative; }
              #top .sec02__inner--reason li figure + div .point span:after {
                content: "";
                display: block;
                width: 15px;
                height: 0;
                padding-top: 40px;
                position: absolute;
                top: 0;
                right: -15px;
                background: linear-gradient(to bottom right, #042a56 48%, transparent 52%); }
            #top .sec02__inner--reason li figure + div .point .yellow {
              padding: 0;
              color: #e2c348; }
              #top .sec02__inner--reason li figure + div .point .yellow:after {
                display: none; }
          #top .sec02__inner--reason li figure + div h4 {
            margin-bottom: 10px;
            font-size: 24px;
            font-family: 'noto sans bold';
            line-height: 1.6; }
            #top .sec02__inner--reason li figure + div h4 span {
              color: #e2c348; }
          #top .sec02__inner--reason li figure + div .txt {
            line-height: 1.8; }

@media (min-width: 641px) and (max-width: 1200px) {
  #top .sec02__inner {
    max-width: 96%; }
    #top .sec02__inner h2 span {
      font-size: 70px; }
    #top .sec02__inner .slide-navigation {
      width: 760px; }
      #top .sec02__inner .slide-navigation .tab {
        width: 240px;
        margin-right: 20px;
        padding: 12px 0;
        font-size: 14px; }
    #top .sec02__inner .slide li {
      margin-right: 30px;
      padding: 50px 0; }
      #top .sec02__inner .slide li figure {
        width: 50%;
        margin-right: 3%; }
        #top .sec02__inner .slide li figure img {
          width: 100%;
          height: auto; }
        #top .sec02__inner .slide li figure + div {
          width: 45%; } }
@media (max-width: 640px) {
  #top .sec02 {
    padding: 8% 0 10%; }
    #top .sec02__inner {
      max-width: 96%; }
      #top .sec02__inner h2 {
        font-size: 14px;
        line-height: 1.2; }
        #top .sec02__inner h2 span {
          margin-right: 3%;
          font-size: 30px; }
      #top .sec02__inner .jp {
        margin-bottom: 4%; }
      #top .sec02__inner--reason li {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 5%;
        padding: 5% 4%; }
        #top .sec02__inner--reason li:nth-child(2) figure {
          float: none; }
          #top .sec02__inner--reason li:nth-child(2) figure + div {
            float: none; }
        #top .sec02__inner--reason li figure {
          width: 30%;
          float: none;
          margin: 0 auto;
          order: 2; }
          #top .sec02__inner--reason li figure + div {
            width: 100%;
            float: none;
            margin-bottom: 3%;
            order: 1; }
            #top .sec02__inner--reason li figure + div .point {
              margin: 2% 0 5%; }
              #top .sec02__inner--reason li figure + div .point span {
                padding: 8px 20px; }
                #top .sec02__inner--reason li figure + div .point span:after {
                  width: 15px;
                  padding-top: 35px;
                  top: 0;
                  right: -14px; }
            #top .sec02__inner--reason li figure + div h4 {
              margin-bottom: 1%;
              font-size: 14px; } }
#top .sec03 {
  max-width: 1840px;
  margin: 0 auto; }
  #top .sec03 .slider_top {
    margin-bottom: 80px;
    overflow: hidden; }
    #top .sec03 .slider_top .swiper-slide {
      margin: 0 1px; }
    #top .sec03 .slider_top img {
      width: 100%;
      height: auto; }
  #top .sec03__inner {
    max-width: 1210px;
    margin: 0 auto;
    padding: 0 20px 50px;
    position: relative; }
    #top .sec03__inner:before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 80px;
      background: url("../img/top/img_about_illust01.jpg") no-repeat center center;
      width: 343px;
      height: 255px; }
    #top .sec03__inner:after {
      content: "";
      position: absolute;
      bottom: 0;
      right: 140px;
      background: url("../img/top/img_about_illust02.jpg") no-repeat center center;
      width: 223px;
      height: 263px; }
    #top .sec03__inner h2 {
      text-align: center;
      font-size: 80px;
      font-family: 'Roboto';
      line-height: 1.2; }
    #top .sec03__inner .jp {
      margin-bottom: 20px;
      text-align: center;
      font-family: 'noto sans bold'; }
    #top .sec03__inner .txt {
      margin-bottom: 30px;
      text-align: center; }

@media (min-width: 641px) and (max-width: 1200px) {
  #top .sec03__inner:before {
    left: 40px;
    background-size: cover;
    width: 250px;
    height: 186px; }
  #top .sec03__inner:after {
    right: 70px;
    background-size: cover;
    width: 200px;
    height: 236px; }
  #top .sec03__inner h2 {
    font-size: 70px; } }
@media (max-width: 640px) {
  #top .sec03 .slider_top {
    margin-bottom: 10%; }
  #top .sec03__inner {
    background-image: url("../img/top/img_about_illust01.jpg"), url("../img/top/img_about_illust02.jpg");
    background-repeat: no-repeat,no-repeat;
    background-position: 3% top, 98% top;
    background-size: 25% auto,20% auto;
    max-width: 96%;
    padding: 0 0 6%; }
    #top .sec03__inner:before {
      display: none; }
    #top .sec03__inner:after {
      display: none; }
    #top .sec03__inner h2 {
      font-size: 30px; }
    #top .sec03__inner .jp {
      margin-bottom: 3%; }
    #top .sec03__inner .txt {
      margin-bottom: 7%; } }
#top .sec04 {
  max-width: 1840px;
  margin: 0 auto; }
  #top .sec04__inner {
    max-width: 1440px;
    margin: 0 auto;
    position: relative; }
    #top .sec04__inner ul {
      display: flex;
      align-items: center; }
      #top .sec04__inner ul li {
        width: 50%;
        padding: 80px 0;
        text-align: center;
        color: #fff; }
        #top .sec04__inner ul li:first-child {
          background: url("../img/top/bg_works.jpg") no-repeat center top;
          background-size: cover; }
        #top .sec04__inner ul li:last-child {
          background: url("../img/top/bg_machine.jpg") no-repeat center top;
          background-size: cover; }
        #top .sec04__inner ul li h2 {
          font-size: 40px;
          font-family: 'Roboto'; }
        #top .sec04__inner ul li .jp {
          margin-bottom: 20px;
          font-size: 14px; }
        #top .sec04__inner ul li .txt {
          margin-bottom: 20px; }
        #top .sec04__inner ul li .btn_detail {
          width: 170px; }
          #top .sec04__inner ul li .btn_detail a {
            border: 1px solid #fff;
            background: none;
            padding: 15px 0;
            font-size: 12px;
            -webkit-transition: 0.3s ease-in-out;
            -moz-transition: 0.3s ease-in-out;
            -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out; }
            #top .sec04__inner ul li .btn_detail a:after {
              top: 18px; }
            #top .sec04__inner ul li .btn_detail a:hover {
              background: #3675be;
              text-decoration: none;
              -moz-transition: .5s;
              -webkit-transition: .5s;
              -o-transition: .5s;
              -ms-transition: .5s;
              transition: .5s; }

@media (min-width: 641px) and (max-width: 1200px) {
  #top .sec04__inner ul li {
    padding: 60px 0; } }
@media (max-width: 640px) {
  #top .sec04__inner {
    max-width: 100%; }
    #top .sec04__inner ul {
      display: block; }
      #top .sec04__inner ul li {
        width: 100%;
        padding: 6% 0; }
        #top .sec04__inner ul li h2 {
          font-size: 20px; }
        #top .sec04__inner ul li .jp {
          margin-bottom: 4%;
          font-size: 12px; }
        #top .sec04__inner ul li .txt {
          margin-bottom: 3%; }
        #top .sec04__inner ul li .btn_detail {
          width: 69%; }
          #top .sec04__inner ul li .btn_detail a {
            padding: 4% 0;
            font-size: 12px; }
            #top .sec04__inner ul li .btn_detail a:after {
              top: 14px; }
            #top .sec04__inner ul li .btn_detail a:hover {
              background: none; } }
#top .sec05 {
  max-width: 1840px;
  margin: 0 auto; }
  #top .sec05__inner {
    background: url("../img/top/bg_sec05.png") no-repeat center top;
    background-size: 100% auto;
    max-width: 1440px;
    margin: 0 auto;
    padding: 100px 0 150px;
    position: relative;
    overflow: hidden; }
    #top .sec05__inner--ttlarea {
      border-top: 1px solid #042a56;
      margin-left: 140px;
      padding-top: 60px;
      position: relative; }
      #top .sec05__inner--ttlarea.lft {
        margin-left: 0;
        margin-right: 140px;
        padding-left: 140px; }
        #top .sec05__inner--ttlarea.lft .btn_detail {
          position: absolute;
          top: 60px;
          right: 0; }
      #top .sec05__inner--ttlarea h2 {
        margin-bottom: 10px;
        font-size: 80px;
        font-family: 'Roboto';
        line-height: 1.0;
        letter-spacing: -0.02em; }
      #top .sec05__inner--ttlarea .jp {
        margin-bottom: 50px;
        font-family: 'noto sans bold'; }
      #top .sec05__inner--ttlarea .txt {
        margin-bottom: 30px; }
      #top .sec05__inner--ttlarea .btn_detail {
        position: absolute;
        top: 60px;
        right: 70px; }
    #top .sec05__inner--boxzero {
      clear: both;
      display: flex;
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1300px;
      margin: 0 auto 60px; }
      #top .sec05__inner--boxzero figure {
        width: 50%; }
        #top .sec05__inner--boxzero figure img {
          width: 100%;
          height: auto; }
        #top .sec05__inner--boxzero figure + div {
          background: url("../img/top/bg_num01.png") no-repeat 12% 30px;
          width: 40%;
          padding: 50px 5%; }
          #top .sec05__inner--boxzero figure + div .en {
            font-size: 20px;
            font-family: 'Roboto';
            line-height: 1.2; }
          #top .sec05__inner--boxzero figure + div h3 {
            margin-bottom: 20px;
            font-size: 24px;
            font-family: 'noto sans bold'; }
          #top .sec05__inner--boxzero figure + div .txt {
            margin-bottom: 25px;
            line-height: 1.8; }
          #top .sec05__inner--boxzero figure + div .btn_detail {
            width: 220px;
            margin: 0; }
            #top .sec05__inner--boxzero figure + div .btn_detail a {
              border: 1px solid #1657a3;
              background: none;
              padding: 17px 0;
              color: #1657a3 !important;
              font-size: 12px;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
              #top .sec05__inner--boxzero figure + div .btn_detail a:after {
                top: 20px;
                right: 15px;
                background: url("../img/common/icon_arrow_btn_n.png") no-repeat center center;
                width: 7px;
                height: 12px; }
              #top .sec05__inner--boxzero figure + div .btn_detail a:hover {
                background: #c8dffb;
                text-decoration: none;
                -moz-transition: .5s;
                -webkit-transition: .5s;
                -o-transition: .5s;
                -ms-transition: .5s;
                transition: .5s; }
    #top .sec05__inner--block {
      max-width: 1160px;
      margin: 0 auto 100px; }
      #top .sec05__inner--block ul {
        display: flex; }
        #top .sec05__inner--block ul li {
          width: 22.5%;
          margin-right: 3.3333%; }
          #top .sec05__inner--block ul li:first-child figure + div {
            background: url("../img/top/bg_num02.png") no-repeat left 12px; }
          #top .sec05__inner--block ul li:nth-child(2) figure + div {
            background: url("../img/top/bg_num03.png") no-repeat left 12px; }
          #top .sec05__inner--block ul li:nth-child(3) figure + div {
            background: url("../img/top/bg_num04.png") no-repeat left 12px; }
          #top .sec05__inner--block ul li:last-child {
            margin-right: 0; }
            #top .sec05__inner--block ul li:last-child figure + div {
              background: url("../img/top/bg_num05.png") no-repeat left 12px; }
          #top .sec05__inner--block ul li figure img {
            width: 100%;
            height: auto; }
          #top .sec05__inner--block ul li figure + div {
            padding-top: 30px; }
            #top .sec05__inner--block ul li figure + div h4 {
              margin-bottom: 20px;
              font-size: 18px;
              font-family: 'noto sans bold'; }
            #top .sec05__inner--block ul li figure + div .explan {
              margin-bottom: 30px;
              line-height: 1.8; }
            #top .sec05__inner--block ul li figure + div .btn_detail {
              width: 170px;
              margin: 0; }
              #top .sec05__inner--block ul li figure + div .btn_detail a {
                background: #f2f4f6;
                padding: 17px 0;
                color: #1657a3 !important;
                font-size: 12px;
                -webkit-transition: 0.3s ease-in-out;
                -moz-transition: 0.3s ease-in-out;
                -o-transition: 0.3s ease-in-out;
                transition: 0.3s ease-in-out; }
                #top .sec05__inner--block ul li figure + div .btn_detail a:after {
                  top: 20px;
                  right: 15px;
                  background: url("../img/common/icon_arrow_btn_b.png") no-repeat center center;
                  width: 7px;
                  height: 12px; }
                #top .sec05__inner--block ul li figure + div .btn_detail a:hover {
                  background: #c8dffb;
                  text-decoration: none;
                  -moz-transition: .5s;
                  -webkit-transition: .5s;
                  -o-transition: .5s;
                  -ms-transition: .5s;
                  transition: .5s; }
    #top .sec05__inner--boxhev {
      clear: both;
      display: flex;
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1160px;
      margin: 0 auto 60px; }
      #top .sec05__inner--boxhev figure {
        width: 50%; }
        #top .sec05__inner--boxhev figure img {
          width: 100%;
          height: auto; }
        #top .sec05__inner--boxhev figure + div {
          width: 40%;
          padding: 50px 5%; }
          #top .sec05__inner--boxhev figure + div h3 {
            margin-bottom: 20px;
            font-size: 24px;
            font-family: 'noto sans bold'; }
          #top .sec05__inner--boxhev figure + div .txt {
            margin-bottom: 25px;
            line-height: 1.8; }
          #top .sec05__inner--boxhev figure + div .btn_detail {
            width: 220px;
            margin: 0; }
            #top .sec05__inner--boxhev figure + div .btn_detail a {
              border: 1px solid #1657a3;
              background: none;
              padding: 17px 0;
              color: #1657a3 !important;
              font-size: 12px;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
              #top .sec05__inner--boxhev figure + div .btn_detail a:after {
                top: 20px;
                right: 15px;
                background: url("../img/common/icon_arrow_btn_n.png") no-repeat center center;
                width: 7px;
                height: 12px; }
              #top .sec05__inner--boxhev figure + div .btn_detail a:hover {
                background: #c8dffb;
                text-decoration: none;
                -moz-transition: .5s;
                -webkit-transition: .5s;
                -o-transition: .5s;
                -ms-transition: .5s;
                transition: .5s; }

@media (min-width: 641px) and (max-width: 1200px) {
  #top .sec05__inner {
    background-size: cover;
    padding: 70px 0 0; }
    #top .sec05__inner--ttlarea {
      margin-left: 0;
      padding: 60px 3% 0; }
      #top .sec05__inner--ttlarea.lft {
        margin-right: 0;
        padding: 60px 3% 0; }
        #top .sec05__inner--ttlarea.lft .btn_detail {
          right: 3%; }
      #top .sec05__inner--ttlarea h2 {
        font-size: 70px; }
      #top .sec05__inner--ttlarea .btn_detail {
        right: 3%; }
    #top .sec05__inner--boxzero {
      max-width: 96%;
      margin: 0 auto 60px; }
      #top .sec05__inner--boxzero figure {
        width: 50%; }
        #top .sec05__inner--boxzero figure + div {
          background: url("../img/top/bg_num01.png") no-repeat 10% 15px;
          background-size: 22% auto;
          width: 44%;
          padding: 30px 3% 0; }
          #top .sec05__inner--boxzero figure + div .en {
            font-size: 18px; }
          #top .sec05__inner--boxzero figure + div h3 {
            margin-bottom: 10px;
            font-size: 24px; }
          #top .sec05__inner--boxzero figure + div .txt {
            margin-bottom: 20px;
            font-size: 14px;
            line-height: 1.6; }
    #top .sec05__inner--block {
      max-width: 96%;
      margin: 0 auto 100px; }
      #top .sec05__inner--block ul li {
        width: 23.5%;
        margin-right: 2%; }
        #top .sec05__inner--block ul li figure + div h4 {
          font-size: 16px; }
    #top .sec05__inner--boxhev {
      max-width: 96%; }
      #top .sec05__inner--boxhev figure {
        width: 50%; }
        #top .sec05__inner--boxhev figure + div {
          width: 44%;
          padding: 30px 3% 0; }
          #top .sec05__inner--boxhev figure + div .txt {
            margin-bottom: 20px;
            font-size: 14px;
            line-height: 1.6; } }
@media (max-width: 640px) {
  #top .sec05__inner {
    background: none;
    max-width: 96%;
    padding: 10% 0 5%; }
    #top .sec05__inner--ttlarea {
      margin: 0 0 7%;
      padding-top: 8%; }
      #top .sec05__inner--ttlarea.lft {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0; }
        #top .sec05__inner--ttlarea.lft .btn_detail {
          position: relative;
          top: 0;
          right: 0; }
      #top .sec05__inner--ttlarea h2 {
        margin-bottom: 2%;
        text-align: center;
        font-size: 30px; }
      #top .sec05__inner--ttlarea .jp {
        margin-bottom: 5%;
        text-align: center; }
      #top .sec05__inner--ttlarea .txt {
        margin-bottom: 3%;
        text-align: center; }
      #top .sec05__inner--ttlarea .btn_detail {
        position: relative;
        top: 0;
        right: 0; }
    #top .sec05__inner--boxzero {
      display: block;
      max-width: 96%;
      margin: 0 auto 10%; }
      #top .sec05__inner--boxzero figure {
        width: 100%; }
        #top .sec05__inner--boxzero figure + div {
          background: url("../img/top/bg_num01.png") no-repeat 6% 20px;
          background-size: 20% auto;
          width: 94%;
          padding: 5% 3%; }
          #top .sec05__inner--boxzero figure + div .en {
            font-size: 16px; }
          #top .sec05__inner--boxzero figure + div h3 {
            margin-bottom: 3%;
            font-size: 20px; }
          #top .sec05__inner--boxzero figure + div .txt {
            margin-bottom: 5%; }
          #top .sec05__inner--boxzero figure + div .btn_detail {
            width: 80%;
            margin: 0 auto; }
            #top .sec05__inner--boxzero figure + div .btn_detail a {
              padding: 4% 0;
              font-size: 12px; }
              #top .sec05__inner--boxzero figure + div .btn_detail a:after {
                top: 14px; }
              #top .sec05__inner--boxzero figure + div .btn_detail a:hover {
                background: #fff; }
    #top .sec05__inner--block {
      max-width: 96%;
      margin: 0 auto 10%; }
      #top .sec05__inner--block ul {
        display: flex;
        flex-wrap: wrap; }
        #top .sec05__inner--block ul li {
          width: 48%;
          margin-right: 4%; }
          #top .sec05__inner--block ul li:first-child {
            margin-bottom: 8%; }
            #top .sec05__inner--block ul li:first-child figure + div {
              background: url("../img/top/bg_num02.png") no-repeat left 20px;
              background-size: 35% auto; }
          #top .sec05__inner--block ul li:nth-child(2) {
            margin-right: 0;
            margin-bottom: 8%; }
            #top .sec05__inner--block ul li:nth-child(2) figure + div {
              background: url("../img/top/bg_num03.png") no-repeat left 20px;
              background-size: 35% auto; }
          #top .sec05__inner--block ul li:nth-child(3) figure + div {
            background: url("../img/top/bg_num04.png") no-repeat left 20px;
            background-size: 35% auto; }
          #top .sec05__inner--block ul li:last-child {
            margin-right: 0; }
            #top .sec05__inner--block ul li:last-child figure + div {
              background: url("../img/top/bg_num05.png") no-repeat left 20px;
              background-size: 35% auto; }
          #top .sec05__inner--block ul li figure + div {
            padding-top: 30px; }
            #top .sec05__inner--block ul li figure + div h4 {
              margin-bottom: 10%;
              font-size: 12px; }
            #top .sec05__inner--block ul li figure + div .explan {
              margin-bottom: 8%;
              font-size: 12px; }
              #top .sec05__inner--block ul li figure + div .explan.sml {
                font-size: 11.5px; }
            #top .sec05__inner--block ul li figure + div .btn_detail {
              width: 100%;
              margin: 0 auto; }
              #top .sec05__inner--block ul li figure + div .btn_detail a {
                padding: 5% 0;
                font-size: 12px; }
                #top .sec05__inner--block ul li figure + div .btn_detail a:after {
                  top: 11px;
                  right: 15px;
                  background: url("../img/common/icon_arrow_btn_b.png") no-repeat center center;
                  width: 7px;
                  height: 12px; }
                #top .sec05__inner--block ul li figure + div .btn_detail a:hover {
                  background: #f2f4f6; }
    #top .sec05__inner--boxhev {
      display: block;
      max-width: 96%;
      margin: 0 auto 8%; }
      #top .sec05__inner--boxhev figure {
        width: 100%; }
        #top .sec05__inner--boxhev figure + div {
          width: 94%;
          padding: 5% 3%; }
          #top .sec05__inner--boxhev figure + div .en {
            font-size: 16px; }
          #top .sec05__inner--boxhev figure + div h3 {
            margin-bottom: 3%;
            font-size: 20px; }
          #top .sec05__inner--boxhev figure + div .txt {
            margin-bottom: 5%; }
            #top .sec05__inner--boxhev figure + div .txt.sml {
              font-size: 13.5px; }
          #top .sec05__inner--boxhev figure + div .btn_detail {
            width: 80%;
            margin: 0 auto; }
            #top .sec05__inner--boxhev figure + div .btn_detail a {
              padding: 4% 0;
              font-size: 12px; }
              #top .sec05__inner--boxhev figure + div .btn_detail a:after {
                top: 14px; }
              #top .sec05__inner--boxhev figure + div .btn_detail a:hover {
                background: #fff; } }
#top .sec06 {
  max-width: 1840px;
  margin: 0 auto; }
  #top .sec06__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 0 100px;
    position: relative; }
    #top .sec06__inner h2 {
      margin-bottom: 10px;
      text-align: center;
      font-size: 80px;
      font-family: 'Roboto';
      line-height: 1.0;
      letter-spacing: -0.02em; }
    #top .sec06__inner .jp {
      margin-bottom: 30px;
      text-align: center;
      font-family: 'noto sans bold'; }
    #top .sec06__inner ul {
      display: flex;
      align-items: center; }
      #top .sec06__inner ul li {
        box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
        background: #fff;
        width: 42%;
        padding: 40px 3%; }
        #top .sec06__inner ul li:first-child {
          background: url("../img/top/img_company.jpg") no-repeat 90% center;
          margin-right: 4%; }
          #top .sec06__inner ul li:first-child h3 {
            font-size: 40px;
            font-family: 'Roboto'; }
          #top .sec06__inner ul li:first-child .jp_in {
            margin-bottom: 30px;
            font-size: 14px; }
          #top .sec06__inner ul li:first-child .btn_detail {
            width: 170px;
            margin: 0; }
            #top .sec06__inner ul li:first-child .btn_detail a {
              display: block;
              background: #f2f4f6;
              padding: 17px 0;
              color: #1657a3 !important;
              font-size: 12px;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
              #top .sec06__inner ul li:first-child .btn_detail a:after {
                top: 20px;
                right: 15px;
                background: url("../img/common/icon_arrow_btn_b.png") no-repeat center center;
                width: 7px;
                height: 12px; }
              #top .sec06__inner ul li:first-child .btn_detail a:hover {
                background: #c8dffb;
                text-decoration: none;
                -moz-transition: .5s;
                -webkit-transition: .5s;
                -o-transition: .5s;
                -ms-transition: .5s;
                transition: .5s; }
        #top .sec06__inner ul li:last-child {
          background: url("../img/top/img_recruit.jpg") no-repeat 83% center; }
          #top .sec06__inner ul li:last-child h3 {
            color: #377825;
            font-size: 40px;
            font-family: 'Roboto'; }
          #top .sec06__inner ul li:last-child .jp_in {
            margin-bottom: 30px;
            color: #377825;
            font-size: 14px; }
          #top .sec06__inner ul li:last-child .btn_detail {
            width: 170px;
            margin: 0; }
            #top .sec06__inner ul li:last-child .btn_detail a {
              display: block;
              background: #377825;
              padding: 17px 0;
              color: #fff !important;
              font-size: 12px;
              -webkit-transition: 0.3s ease-in-out;
              -moz-transition: 0.3s ease-in-out;
              -o-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
              #top .sec06__inner ul li:last-child .btn_detail a:after {
                top: 20px;
                right: 15px;
                background: url("../img/common/icon_arrow_btn.png") no-repeat center center;
                width: 7px;
                height: 12px; }
              #top .sec06__inner ul li:last-child .btn_detail a:hover {
                background: #539541;
                text-decoration: none;
                -moz-transition: .5s;
                -webkit-transition: .5s;
                -o-transition: .5s;
                -ms-transition: .5s;
                transition: .5s; }

@media (min-width: 641px) and (max-width: 1200px) {
  #top .sec06__inner {
    max-width: 96%;
    padding: 80px 0 80px; }
    #top .sec06__inner h2 {
      font-size: 70px; }
    #top .sec06__inner ul li {
      width: 43%;
      padding: 40px 3%; }
      #top .sec06__inner ul li:first-child {
        background: url("../img/top/img_company.jpg") no-repeat 95% center;
        margin-right: 2%; }
        #top .sec06__inner ul li:first-child h3 {
          font-size: 38px; }
      #top .sec06__inner ul li:last-child {
        background: url("../img/top/img_recruit.jpg") no-repeat 85% center; }
        #top .sec06__inner ul li:last-child h3 {
          font-size: 38px; } }
@media (max-width: 640px) {
  #top .sec06__inner {
    max-width: 96%;
    padding: 0 0 10%; }
    #top .sec06__inner h2 {
      margin-bottom: 2%;
      font-size: 30px; }
    #top .sec06__inner .jp {
      margin-bottom: 3%; }
    #top .sec06__inner ul {
      display: block; }
      #top .sec06__inner ul li {
        width: 94%;
        padding: 3% 3%; }
        #top .sec06__inner ul li:first-child {
          background: url("../img/top/img_company.jpg") no-repeat 90% center;
          background-size: 22% auto;
          margin: 0 0 6%; }
          #top .sec06__inner ul li:first-child h3 {
            font-size: 24px; }
          #top .sec06__inner ul li:first-child .jp_in {
            margin-bottom: 6%;
            font-size: 12px; }
          #top .sec06__inner ul li:first-child .btn_detail {
            width: 50%; }
            #top .sec06__inner ul li:first-child .btn_detail a {
              padding: 4% 0;
              font-size: 12px; }
              #top .sec06__inner ul li:first-child .btn_detail a:after {
                top: 11px;
                right: 15px; }
              #top .sec06__inner ul li:first-child .btn_detail a:hover {
                background: #f2f4f6; }
        #top .sec06__inner ul li:last-child {
          background: url("../img/top/img_recruit.jpg") no-repeat 88% center;
          background-size: 30% auto; }
          #top .sec06__inner ul li:last-child h3 {
            font-size: 24px; }
          #top .sec06__inner ul li:last-child .jp_in {
            margin-bottom: 6%;
            font-size: 12px; }
          #top .sec06__inner ul li:last-child .btn_detail {
            width: 50%; }
            #top .sec06__inner ul li:last-child .btn_detail a {
              padding: 4% 0;
              font-size: 12px; }
              #top .sec06__inner ul li:last-child .btn_detail a:after {
                top: 11px; }
              #top .sec06__inner ul li:last-child .btn_detail a:hover {
                background: #377825; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     親和について
******************************************* */
#about .sec01 {
  background: url("../img/about/bg_sec01.png") no-repeat center top;
  background-size: cover;
  max-width: 1440px;
  min-height: 460px;
  margin: 0 auto; }
  #about .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #about .sec01__inner--box {
      padding: 10% 0 0;
      text-align: center; }
      #about .sec01__inner--box h3 {
        background: url("../img/about/bg_about_ttl01.png") no-repeat center top;
        margin-bottom: 20px;
        padding-top: 40px;
        font-size: 50px;
        font-family: 'noto sans bold'; }
      #about .sec01__inner--box .catch {
        color: #00b7ee;
        font-size: 40px;
        font-family: 'noto sans bold'; }

@media (max-width: 640px) {
  #about .sec01 {
    background-size: auto 100%;
    min-height: 0; }
    #about .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #about .sec01__inner--box {
        padding: 10% 0 10%; }
        #about .sec01__inner--box h3 {
          background-size: 25% auto;
          margin-bottom: 2%;
          padding-top: 5%;
          font-size: 22px; }
        #about .sec01__inner--box .catch {
          font-size: 16px; } }
#about .sec02 {
  max-width: 1440px;
  margin: 0 auto 60px;
  padding: 0 20px; }
  #about .sec02__inner {
    box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
    background: #fff;
    max-width: 1160px;
    margin: 0 auto;
    padding: 60px 0; }
    #about .sec02__inner h3 {
      background: url("../img/about/bg_about_ttl02.png") no-repeat center top;
      min-height: 92px;
      margin-bottom: 20px;
      padding-top: 15px;
      text-align: center;
      font-size: 30px;
      font-family: 'noto sans bold'; }
      #about .sec02__inner h3 span {
        font-size: 20px; }
    #about .sec02__inner--box01 {
      margin-bottom: 50px;
      padding: 0 50px; }
      #about .sec02__inner--box01 ul {
        display: flex; }
        #about .sec02__inner--box01 ul li {
          border: 1px solid #042a56;
          width: 20%;
          margin-right: 1.333%;
          padding: 20px 2%; }
          #about .sec02__inner--box01 ul li:last-child {
            margin-right: 0; }
          #about .sec02__inner--box01 ul li h4 {
            margin-bottom: 15px;
            padding: 11px 0;
            text-align: center;
            font-size: 20px;
            font-family: 'noto sans bold';
            line-height: 1.2; }
            #about .sec02__inner--box01 ul li h4 span {
              font-size: 16px; }
            #about .sec02__inner--box01 ul li h4.two {
              padding: 0; }
          #about .sec02__inner--box01 ul li figure {
            margin-bottom: 10px;
            text-align: center; }
          #about .sec02__inner--box01 ul li .txt {
            font-size: 14px; }
    #about .sec02__inner--box02 {
      padding: 0 50px; }
      #about .sec02__inner--box02 ul {
        display: flex; }
        #about .sec02__inner--box02 ul li:first-child {
          width: 33.96%;
          margin-right: 0.37%; }
        #about .sec02__inner--box02 ul li:nth-child(2) {
          width: 43.39%;
          margin-right: 0.37%; }
        #about .sec02__inner--box02 ul li:last-child {
          width: 21.98%; }
        #about .sec02__inner--box02 ul h4 {
          margin-bottom: 3px; }
        #about .sec02__inner--box02 ul img {
          width: 100%;
          height: auto; }

@media (max-width: 640px) {
  #about .sec02 {
    margin: 0 auto 8%;
    padding: 0; }
    #about .sec02__inner {
      max-width: 90%;
      padding: 8% 3%; }
      #about .sec02__inner h3 {
        border-radius: 50px;
        border: 1px solid #042a56;
        background: #c4dff2;
        min-height: 0;
        margin: 0 0 5%;
        padding: 3.5% 2%;
        font-size: 17px;
        line-height: 1.2; }
        #about .sec02__inner h3 span {
          font-size: 14px; }
      #about .sec02__inner--box01 {
        margin-bottom: 8%;
        padding: 0; }
        #about .sec02__inner--box01 ul {
          display: block;
          overflow: hidden; }
          #about .sec02__inner--box01 ul li {
            width: 44%;
            margin-right: 0;
            padding: 4% 2%; }
            #about .sec02__inner--box01 ul li:nth-child(odd) {
              clear: both;
              float: left; }
            #about .sec02__inner--box01 ul li:nth-child(even) {
              float: right; }
            #about .sec02__inner--box01 ul li:nth-child(-n+2) {
              margin-bottom: 3%; }
            #about .sec02__inner--box01 ul li h4 {
              margin-bottom: 4%;
              padding: 5.5% 0;
              font-size: 16px; }
              #about .sec02__inner--box01 ul li h4 span {
                font-size: 13px; }
            #about .sec02__inner--box01 ul li figure {
              width: 65%;
              margin: 0 auto 3%; }
            #about .sec02__inner--box01 ul li .txt {
              width: 94%;
              margin: 0 auto;
              font-size: 12px; }
      #about .sec02__inner--box02 {
        padding: 0; }
        #about .sec02__inner--box02 ul {
          display: block; }
          #about .sec02__inner--box02 ul li:first-child {
            width: 100%;
            margin: 0 0 3%; }
          #about .sec02__inner--box02 ul li:nth-child(2) {
            width: 100%;
            margin: 0 0 3%; }
          #about .sec02__inner--box02 ul li:last-child {
            width: 100%; }
          #about .sec02__inner--box02 ul h4 {
            margin-bottom: 1%; } }
#about .sec03 {
  max-width: 1440px;
  margin: 0 auto 50px;
  padding: 0 20px; }
  #about .sec03__inner {
    box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
    background: #fff;
    max-width: 1160px;
    margin: 0 auto;
    padding: 60px 0; }
    #about .sec03__inner h3 {
      background: url("../img/about/bg_about_ttl02.png") no-repeat center top;
      min-height: 92px;
      margin-bottom: 20px;
      padding-top: 15px;
      text-align: center;
      font-size: 30px;
      font-family: 'noto sans bold'; }
      #about .sec03__inner h3 span {
        font-size: 20px; }
    #about .sec03__inner--box {
      margin-bottom: 50px;
      padding: 0 50px; }
      #about .sec03__inner--box h4 {
        border-radius: 15px 15px 0 0;
        background: #255895;
        padding: 15px 0;
        text-align: center;
        color: #fff;
        font-size: 30px;
        font-family: 'noto sans bold'; }
      #about .sec03__inner--box .cont {
        border-radius: 0 0 15px 15px;
        border-left: 3px solid #255895;
        border-right: 3px solid #255895;
        border-bottom: 3px solid #255895;
        padding: 30px 30px 50px; }
        #about .sec03__inner--box .cont .block01 {
          display: flex;
          margin-bottom: 30px; }
          #about .sec03__inner--box .cont .block01 .txt_area {
            width: 48%;
            margin-right: 5%; }
            #about .sec03__inner--box .cont .block01 .txt_area .txt {
              line-height: 1.8; }
              #about .sec03__inner--box .cont .block01 .txt_area .txt.mb {
                margin-bottom: 50px; }
            #about .sec03__inner--box .cont .block01 .txt_area .unit {
              text-align: right;
              color: #255895;
              font-size: 20px;
              font-family: 'noto sans bold'; }
              #about .sec03__inner--box .cont .block01 .txt_area .unit .dot {
                background: url("../img/about/bg_about_txt.png") repeat-x left bottom;
                padding-bottom: 15px; }
              #about .sec03__inner--box .cont .block01 .txt_area .unit .num {
                margin-left: 5px;
                color: #00b7ee;
                font-size: 120px;
                font-family: 'noto sans bold'; }
              #about .sec03__inner--box .cont .block01 .txt_area .unit .dai {
                color: #00b7ee;
                font-size: 40px;
                font-family: 'noto sans bold'; }
          #about .sec03__inner--box .cont .block01 figure {
            width: 47%; }
            #about .sec03__inner--box .cont .block01 figure img {
              width: 100%;
              height: auto; }
        #about .sec03__inner--box .cont .block02 {
          display: flex;
          margin-bottom: 30px; }
          #about .sec03__inner--box .cont .block02.last {
            margin-bottom: 0; }
          #about .sec03__inner--box .cont .block02 .txt_area {
            width: 40%;
            margin-right: 5%; }
            #about .sec03__inner--box .cont .block02 .txt_area .ttl {
              margin-bottom: 20px;
              font-size: 26px;
              font-family: 'noto sans bold'; }
            #about .sec03__inner--box .cont .block02 .txt_area .txt {
              line-height: 1.8; }
              #about .sec03__inner--box .cont .block02 .txt_area .txt.mb {
                margin-bottom: 50px; }
            #about .sec03__inner--box .cont .block02 .txt_area .unit {
              text-align: right;
              color: #255895;
              font-size: 20px;
              font-family: 'noto sans bold'; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit .dot {
                background: url("../img/about/bg_about_txt.png") repeat-x left bottom;
                padding-bottom: 15px; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit .num {
                margin-left: 5px;
                color: #00b7ee;
                font-size: 120px;
                font-family: 'noto sans bold'; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit .dai {
                color: #00b7ee;
                font-size: 40px;
                font-family: 'noto sans bold'; }
            #about .sec03__inner--box .cont .block02 .txt_area .unit3 {
              margin-bottom: 5px;
              color: #255895;
              font-size: 20px;
              font-family: 'noto sans bold'; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit3 .dot {
                background: url("../img/about/bg_about_txt.png") repeat-x left bottom;
                padding-bottom: 10px; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit3 .name01 {
                padding: 0 10px;
                color: #00b7ee;
                font-size: 18px;
                font-family: 'noto sans bold'; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit3 .name02 {
                padding: 0 10px 0 27px;
                color: #00b7ee;
                font-size: 18px;
                font-family: 'noto sans bold'; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit3 .num {
                margin-left: 5px;
                color: #00b7ee;
                font-size: 80px;
                font-family: 'noto sans bold';
                line-height: 1.0; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit3 .dai {
                color: #00b7ee;
                font-size: 40px;
                font-family: 'noto sans bold'; }
          #about .sec03__inner--box .cont .block02 figure {
            width: 55%; }
            #about .sec03__inner--box .cont .block02 figure img {
              width: 100%;
              height: auto; }
        #about .sec03__inner--box .cont .unit2 {
          display: flex;
          background: url("../img/about/bg_about_txt.png") repeat-x left bottom;
          margin-bottom: 30px;
          padding-bottom: 25px; }
          #about .sec03__inner--box .cont .unit2 li:first-child {
            margin: 0 2%;
            padding-top: 30px;
            color: #255895;
            font-size: 20px;
            font-family: 'noto sans bold'; }
          #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) {
            display: flex;
            margin-left: 3%; }
            #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) .name {
              padding-top: 20px;
              color: #00b7ee;
              font-size: 18px;
              font-family: 'noto sans bold';
              line-height: 1.2; }
            #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) .num {
              margin-left: 5px;
              color: #00b7ee;
              font-size: 80px;
              font-family: 'noto sans bold';
              line-height: 0.8; }
            #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) .dai {
              padding-top: 25px;
              color: #00b7ee;
              font-size: 40px;
              font-family: 'noto sans bold';
              line-height: 1.0; }
        #about .sec03__inner--box .cont .unit4 {
          display: flex;
          background: url("../img/about/bg_about_txt.png") repeat-x left bottom;
          margin-bottom: 0;
          padding-bottom: 25px; }
          #about .sec03__inner--box .cont .unit4 li:first-child {
            margin: 0 2%;
            padding-top: 30px;
            color: #255895;
            font-size: 20px;
            font-family: 'noto sans bold'; }
          #about .sec03__inner--box .cont .unit4 li:nth-child(n+2) {
            display: flex;
            margin-left: 5%; }
            #about .sec03__inner--box .cont .unit4 li:nth-child(n+2) .name {
              padding-top: 40px;
              color: #00b7ee;
              font-size: 18px;
              font-family: 'noto sans bold';
              line-height: 1.2; }
            #about .sec03__inner--box .cont .unit4 li:nth-child(n+2) .num {
              margin-left: 5px;
              color: #00b7ee;
              font-size: 80px;
              font-family: 'noto sans bold';
              line-height: 0.8; }
            #about .sec03__inner--box .cont .unit4 li:nth-child(n+2) .dai {
              padding-top: 25px;
              color: #00b7ee;
              font-size: 40px;
              font-family: 'noto sans bold';
              line-height: 1.0; }
        #about .sec03__inner--box .cont .point {
          background: url("../img/about/img_point.png") no-repeat 30px 20px #f6d913;
          margin-bottom: 40px;
          padding: 15px 30px 15px 240px;
          font-size: 30px;
          font-family: 'noto sans bold';
          line-height: 1.2;
          font-weight: bold; }
          #about .sec03__inner--box .cont .point.last {
            margin-bottom: 0; }
          #about .sec03__inner--box .cont .point .sml {
            font-size: 28px; }
          #about .sec03__inner--box .cont .point span.fs40 {
            color: #255895;
            font-size: 40px; }
          #about .sec03__inner--box .cont .point span.fs30 {
            color: #255895;
            font-size: 30px; }
        #about .sec03__inner--box .cont .img01 {
          margin-bottom: 60px;
          text-align: center; }
        #about .sec03__inner--box .cont h5 {
          margin-bottom: 10px;
          font-size: 24px;
          font-family: 'noto sans bold'; }
        #about .sec03__inner--box .cont .txt01 {
          margin-bottom: 30px; }
        #about .sec03__inner--box .cont .img02 {
          margin-bottom: 30px;
          text-align: center; }
          #about .sec03__inner--box .cont .img02 img {
            width: 100%;
            height: auto; }
        #about .sec03__inner--box .cont .catch {
          text-align: center;
          color: #255895;
          font-size: 24px;
          font-family: 'noto sans bold'; }
          #about .sec03__inner--box .cont .catch span {
            color: #e2c348;
            font-size: 30px; }
    #about .sec03__inner--box02 {
      padding: 0 50px; }
      #about .sec03__inner--box02 .block01 {
        display: flex;
        margin-bottom: 30px; }
        #about .sec03__inner--box02 .block01 .txt_area {
          width: 45%;
          margin-right: 8%; }
          #about .sec03__inner--box02 .block01 .txt_area .ttl {
            margin-bottom: 20px;
            font-size: 26px;
            font-family: 'noto sans bold'; }
          #about .sec03__inner--box02 .block01 .txt_area .txt {
            margin-bottom: 40px;
            line-height: 1.8; }
          #about .sec03__inner--box02 .block01 .txt_area .btn_detail {
            width: 220px;
            margin: 0; }
            #about .sec03__inner--box02 .block01 .txt_area .btn_detail a {
              background: #13b5b1;
              padding: 15px 0;
              font-family: 'noto sans bold'; }
              #about .sec03__inner--box02 .block01 .txt_area .btn_detail a:after {
                top: 20px; }
              #about .sec03__inner--box02 .block01 .txt_area .btn_detail a:hover {
                background: #31cbc7; }
        #about .sec03__inner--box02 .block01 figure {
          width: 47%; }
          #about .sec03__inner--box02 .block01 figure img {
            width: 100%;
            height: auto; }
      #about .sec03__inner--box02 .point {
        background: url("../img/about/img_point.png") no-repeat 30px 20px #f6d913;
        margin-bottom: 40px;
        padding: 20px 30px 20px 240px;
        font-size: 30px;
        font-family: 'noto sans bold';
        font-weight: bold;
        line-height: 1.2; }
        #about .sec03__inner--box02 .point.last {
          margin-bottom: 0; }
        #about .sec03__inner--box02 .point .sml {
          font-size: 28px; }
        #about .sec03__inner--box02 .point span.fs40 {
          color: #255895;
          font-size: 40px; }
        #about .sec03__inner--box02 .point span.fs30 {
          color: #255895;
          font-size: 30px; }
      #about .sec03__inner--box02 h5 {
        margin-bottom: 30px;
        font-size: 30px;
        font-family: 'noto sans bold'; }
      #about .sec03__inner--box02 .block02 {
        display: flex; }
        #about .sec03__inner--box02 .block02 figure {
          width: 47%;
          margin-right: 5%; }
          #about .sec03__inner--box02 .block02 figure img {
            width: 100%;
            height: auto; }
        #about .sec03__inner--box02 .block02 .txt_area {
          width: 48%; }
          #about .sec03__inner--box02 .block02 .txt_area .zero {
            display: flex;
            margin-bottom: 40px; }
            #about .sec03__inner--box02 .block02 .txt_area .zero li {
              width: 50%; }
              #about .sec03__inner--box02 .block02 .txt_area .zero li h6 {
                font-size: 17px;
                font-family: 'noto sans bold'; }
              #about .sec03__inner--box02 .block02 .txt_area .zero li p {
                font-size: 14px; }
          #about .sec03__inner--box02 .block02 .txt_area .txt {
            margin-bottom: 30px;
            line-height: 1.8; }
          #about .sec03__inner--box02 .block02 .txt_area .prospect {
            background: #ddf1fa;
            padding: 20px 20px;
            font-size: 18px;
            font-family: 'noto sans bold';
            line-height: 1.2; }
            #about .sec03__inner--box02 .block02 .txt_area .prospect .red01 {
              padding: 0 3px;
              color: #f00;
              font-size: 30px; }
            #about .sec03__inner--box02 .block02 .txt_area .prospect .red02 {
              color: #f00; }

@media (min-width: 641px) and (max-width: 1160px) {
  #about .sec03__inner--box .cont .unit2 li:first-child {
    margin: 0; }
  #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) {
    margin-left: 3%; }
    #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) .name {
      font-size: 14px; }
  #about .sec03__inner--box02 .block02 .txt_area {
    width: 48%; }
    #about .sec03__inner--box02 .block02 .txt_area .zero li h6 {
      font-size: 15px; }
    #about .sec03__inner--box02 .block02 .txt_area .zero li p {
      font-size: 12px; } }
@media (max-width: 640px) {
  #about .sec03 {
    margin: 0 auto 8%;
    padding: 0; }
    #about .sec03__inner {
      max-width: 90%;
      padding: 8% 3%; }
      #about .sec03__inner h3 {
        border-radius: 50px;
        border: 1px solid #042a56;
        background: #c4dff2;
        min-height: 0;
        margin: 0 0 5%;
        padding: 3.5% 2%;
        font-size: 17px;
        line-height: 1.2; }
        #about .sec03__inner h3 span {
          font-size: 14px; }
      #about .sec03__inner--box {
        margin-bottom: 8%;
        padding: 0; }
        #about .sec03__inner--box h4 {
          border-radius: 10px 10px 0 0;
          padding: 3% 0;
          font-size: 16px; }
        #about .sec03__inner--box .cont {
          border-radius: 0 0 10px 10px;
          border-left: 2px solid #255895;
          border-right: 2px solid #255895;
          border-bottom: 2px solid #255895;
          padding: 4% 3% 5%; }
          #about .sec03__inner--box .cont .block01 {
            flex-wrap: wrap;
            margin-bottom: 6%; }
            #about .sec03__inner--box .cont .block01 .txt_area {
              width: 100%;
              margin: 0 0 7%; }
              #about .sec03__inner--box .cont .block01 .txt_area .txt.mb {
                margin-bottom: 2%; }
              #about .sec03__inner--box .cont .block01 .txt_area .unit {
                font-size: 14px; }
                #about .sec03__inner--box .cont .block01 .txt_area .unit .dot {
                  padding-bottom: 4%; }
                #about .sec03__inner--box .cont .block01 .txt_area .unit .num {
                  margin-left: 2%;
                  font-size: 40px; }
                #about .sec03__inner--box .cont .block01 .txt_area .unit .dai {
                  font-size: 20px; }
            #about .sec03__inner--box .cont .block01 figure {
              width: 100%; }
          #about .sec03__inner--box .cont .block02 {
            flex-wrap: wrap;
            margin-bottom: 6%; }
            #about .sec03__inner--box .cont .block02 .txt_area {
              width: 100%;
              margin: 0 0 5%; }
              #about .sec03__inner--box .cont .block02 .txt_area .ttl {
                margin-bottom: 4%;
                font-size: 16px; }
              #about .sec03__inner--box .cont .block02 .txt_area .txt.mb {
                margin-bottom: 2%; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit {
                font-size: 14px; }
                #about .sec03__inner--box .cont .block02 .txt_area .unit .dot {
                  padding-bottom: 4%; }
                #about .sec03__inner--box .cont .block02 .txt_area .unit .num {
                  margin-left: 2%;
                  font-size: 40px; }
                #about .sec03__inner--box .cont .block02 .txt_area .unit .dai {
                  font-size: 20px; }
              #about .sec03__inner--box .cont .block02 .txt_area .unit3 {
                flex-wrap: wrap;
                width: 100%;
                margin-bottom: 3%;
                font-size: 14px; }
                #about .sec03__inner--box .cont .block02 .txt_area .unit3 .dot {
                  padding-bottom: 3%; }
                #about .sec03__inner--box .cont .block02 .txt_area .unit3 .name01 {
                  padding: 0 10px;
                  font-size: 18px; }
                #about .sec03__inner--box .cont .block02 .txt_area .unit3 .name02 {
                  padding: 0 10px 0 27px;
                  font-size: 18px; }
                #about .sec03__inner--box .cont .block02 .txt_area .unit3 .num {
                  margin-left: 2%;
                  font-size: 40px;
                  line-height: 1.0; }
                #about .sec03__inner--box .cont .block02 .txt_area .unit3 .dai {
                  font-size: 20px; }
            #about .sec03__inner--box .cont .block02 figure {
              width: 100%; }
          #about .sec03__inner--box .cont .unit2 {
            flex-wrap: wrap;
            background: none;
            margin-bottom: 5%;
            padding-bottom: 0; }
            #about .sec03__inner--box .cont .unit2 li:first-child {
              width: 100%;
              margin: 0;
              padding-top: 0;
              font-size: 14px; }
            #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) {
              background: url("../img/about/bg_about_txt.png") repeat-x left bottom;
              flex-wrap: wrap;
              width: 100%;
              margin-left: 0;
              padding-bottom: 2%; }
              #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) .name {
                padding-top: 5%;
                font-size: 14px; }
              #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) .num {
                margin-left: 2%;
                font-size: 40px;
                line-height: 1.0; }
              #about .sec03__inner--box .cont .unit2 li:nth-child(n+2) .dai {
                padding-top: 5%;
                font-size: 20px;
                line-height: 1.0; }
          #about .sec03__inner--box .cont .unit4 {
            display: block;
            background: none;
            margin-bottom: 0;
            padding-bottom: 0;
            overflow: hidden; }
            #about .sec03__inner--box .cont .unit4 li:first-child {
              width: 100%;
              margin: 0;
              padding-top: 0;
              font-size: 14px; }
            #about .sec03__inner--box .cont .unit4 li:nth-child(n+2) {
              background: url("../img/about/bg_about_txt.png") repeat-x left bottom;
              flex-wrap: wrap;
              width: 50%;
              float: left;
              margin-left: 0;
              margin-bottom: 2%;
              padding-bottom: 2%; }
              #about .sec03__inner--box .cont .unit4 li:nth-child(n+2) .name {
                padding-top: 10%;
                font-size: 14px; }
              #about .sec03__inner--box .cont .unit4 li:nth-child(n+2) .num {
                margin-left: 5%;
                font-size: 40px;
                line-height: 1.0; }
              #about .sec03__inner--box .cont .unit4 li:nth-child(n+2) .dai {
                margin-left: 2%;
                padding-top: 10%;
                font-size: 20px;
                line-height: 1.0; }
          #about .sec03__inner--box .cont .point {
            background: url("../img/about/img_point.png") no-repeat 3% 30% #f6d913;
            background-size: 20% auto;
            margin-bottom: 6%;
            padding: 3% 3% 3% 26%;
            font-size: 14px; }
            #about .sec03__inner--box .cont .point .sml {
              font-size: 14px; }
            #about .sec03__inner--box .cont .point span.fs40 {
              font-size: 16px; }
            #about .sec03__inner--box .cont .point span.fs30 {
              font-size: 14px; }
          #about .sec03__inner--box .cont .img01 {
            margin-bottom: 8%; }
          #about .sec03__inner--box .cont h5 {
            margin-bottom: 2%;
            font-size: 14px; }
          #about .sec03__inner--box .cont .txt01 {
            margin-bottom: 30px; }
            #about .sec03__inner--box .cont .txt01.sml {
              font-size: 13px; }
          #about .sec03__inner--box .cont .img02 {
            margin-bottom: 8%; }
          #about .sec03__inner--box .cont .catch {
            font-size: 14px; }
            #about .sec03__inner--box .cont .catch span {
              font-size: 16px; }
      #about .sec03__inner--box02 {
        padding: 0; }
        #about .sec03__inner--box02 .block01 {
          flex-wrap: wrap;
          margin-bottom: 6%; }
          #about .sec03__inner--box02 .block01 .txt_area {
            width: 100%;
            margin: 0 0 8%; }
            #about .sec03__inner--box02 .block01 .txt_area .ttl {
              margin-bottom: 2%;
              font-size: 18px; }
            #about .sec03__inner--box02 .block01 .txt_area .txt {
              margin-bottom: 5%; }
            #about .sec03__inner--box02 .block01 .txt_area .btn_detail {
              width: 70%;
              margin: 0 auto; }
              #about .sec03__inner--box02 .block01 .txt_area .btn_detail a {
                padding: 5% 0; }
                #about .sec03__inner--box02 .block01 .txt_area .btn_detail a:after {
                  top: 18px; }
                #about .sec03__inner--box02 .block01 .txt_area .btn_detail a:hover {
                  background: #13b5b1; }
          #about .sec03__inner--box02 .block01 figure {
            width: 100%; }
        #about .sec03__inner--box02 .point {
          background: url("../img/about/img_point.png") no-repeat 3% 30% #f6d913;
          background-size: 20% auto;
          margin-bottom: 6%;
          padding: 3% 3% 3% 26%;
          font-size: 14px; }
          #about .sec03__inner--box02 .point .sml {
            font-size: 14px; }
          #about .sec03__inner--box02 .point span.fs40 {
            font-size: 16px; }
          #about .sec03__inner--box02 .point span.fs30 {
            font-size: 14px; }
        #about .sec03__inner--box02 h5 {
          margin-bottom: 6%;
          font-size: 16px; }
        #about .sec03__inner--box02 .block02 {
          flex-wrap: wrap; }
          #about .sec03__inner--box02 .block02 figure {
            width: 100%;
            margin: 0 0 5%; }
          #about .sec03__inner--box02 .block02 .txt_area {
            width: 100%; }
            #about .sec03__inner--box02 .block02 .txt_area .zero {
              display: flex;
              margin-bottom: 6%; }
              #about .sec03__inner--box02 .block02 .txt_area .zero li {
                width: 50%; }
                #about .sec03__inner--box02 .block02 .txt_area .zero li h6 {
                  font-size: 13px; }
                #about .sec03__inner--box02 .block02 .txt_area .zero li p {
                  font-size: 11px; }
            #about .sec03__inner--box02 .block02 .txt_area .txt {
              margin-bottom: 5%; }
              #about .sec03__inner--box02 .block02 .txt_area .txt.sml {
                font-size: 13.5px; }
            #about .sec03__inner--box02 .block02 .txt_area .prospect {
              padding: 4% 3%;
              font-size: 14px; }
              #about .sec03__inner--box02 .block02 .txt_area .prospect .red01 {
                padding: 0 1%;
                font-size: 20px; } }
#about .sec04 {
  max-width: 1440px;
  margin: 0 auto 50px;
  padding: 0 20px; }
  #about .sec04__inner {
    box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
    background: #0068b7;
    max-width: 1160px;
    margin: 0 auto;
    padding: 60px 0; }
    #about .sec04__inner h3 {
      background: url("../img/about/bg_about_ttl03.png") no-repeat center top;
      min-height: 92px;
      margin-bottom: 20px;
      padding-top: 15px;
      text-align: center;
      font-size: 28px;
      font-family: 'noto sans bold'; }
      #about .sec04__inner h3 span {
        font-size: 20px; }
    #about .sec04__inner .shikaku {
      width: 860px;
      margin: 0 auto 60px; }
      #about .sec04__inner .shikaku li {
        border-bottom: 1px dashed #c2dbee;
        padding: 10px 20px;
        color: #fff;
        font-size: 18px; }
        #about .sec04__inner .shikaku li span {
          margin: 0 5px;
          color: #fff100;
          font-size: 22px;
          font-family: 'noto sans bold'; }
    #about .sec04__inner--box {
      background: #fff;
      width: 890px;
      margin: 0 auto;
      padding: 30px 25px; }
      #about .sec04__inner--box h4 {
        margin-bottom: 20px;
        text-align: center;
        font-size: 30px;
        font-family: 'noto sans bold';
        line-height: 1.4; }
        #about .sec04__inner--box h4 span {
          color: #326db4;
          font-size: 36px; }
      #about .sec04__inner--box dl {
        display: flex; }
        #about .sec04__inner--box dl dt {
          border-radius: 10px;
          background: #13b5b1;
          width: 49%;
          margin-right: 2%;
          padding: 20px 0;
          text-align: center; }
        #about .sec04__inner--box dl dd {
          border-radius: 10px;
          background: #f8b551;
          width: 49%;
          padding: 20px 0;
          text-align: center; }
        #about .sec04__inner--box dl h5 {
          font-size: 22px;
          font-family: 'noto sans bold'; }

@media (max-width: 640px) {
  #about .sec04 {
    margin: 0 auto 8%;
    padding: 0; }
    #about .sec04__inner {
      max-width: 90%;
      padding: 8% 3%; }
      #about .sec04__inner h3 {
        border-radius: 50px;
        border: 1px solid #042a56;
        background: #f6d913;
        min-height: 0;
        margin: 0 0 5%;
        padding: 3.5% 2%;
        font-size: 17px;
        line-height: 1.2; }
        #about .sec04__inner h3 span {
          font-size: 14px; }
      #about .sec04__inner .shikaku {
        width: 100%;
        margin: 0 auto 8%; }
        #about .sec04__inner .shikaku li {
          padding: 2% 0;
          font-size: 13px; }
          #about .sec04__inner .shikaku li span {
            margin: 0 1%;
            font-size: 16px; }
      #about .sec04__inner--box {
        width: 94%;
        padding: 5% 3%; }
        #about .sec04__inner--box h4 {
          margin-bottom: 4%;
          font-size: 14px; }
          #about .sec04__inner--box h4 span {
            font-size: 16px; }
        #about .sec04__inner--box dl {
          flex-wrap: wrap; }
          #about .sec04__inner--box dl dt {
            width: 100%;
            margin: 0 0 3%;
            padding: 4% 0; }
          #about .sec04__inner--box dl dd {
            width: 100%;
            padding: 4% 0; }
          #about .sec04__inner--box dl h5 {
            font-size: 15px; } }
#about .sec05 {
  max-width: 1440px;
  margin: 0 auto 70px;
  padding: 0 20px; }
  #about .sec05__inner {
    box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
    background: url("../img/about/img_recruit.jpg") no-repeat left top #efefdd;
    max-width: 1160px;
    min-height: 306px;
    margin: 0 auto; }
    #about .sec05__inner--box {
      width: 34%;
      margin-left: 55%;
      padding-top: 30px; }
      #about .sec05__inner--box h3 {
        margin-bottom: 10px;
        font-size: 36px;
        font-family: 'noto sans bold'; }
      #about .sec05__inner--box .txt {
        margin-bottom: 20px;
        line-height: 1.8; }
      #about .sec05__inner--box .btn_detail {
        margin: 0; }
        #about .sec05__inner--box .btn_detail a {
          padding: 15px 0;
          font-family: 'noto sans bold'; }
          #about .sec05__inner--box .btn_detail a:after {
            top: 20px; }

@media (max-width: 640px) {
  #about .sec05 {
    max-width: 96%;
    margin: 0 auto 8%;
    padding: 0; }
    #about .sec05__inner {
      background: url("../img/about/img_recruit.jpg") no-repeat right top #efefdd;
      background-size: cover;
      max-width: 100%;
      min-height: 0; }
      #about .sec05__inner--box {
        width: 55%;
        margin-left: 41%;
        padding: 10% 0; }
        #about .sec05__inner--box h3 {
          margin-bottom: 2%;
          font-size: 20px; }
        #about .sec05__inner--box .txt {
          margin-bottom: 6%;
          line-height: 1.8; }
        #about .sec05__inner--box .btn_detail {
          width: 100%;
          margin: 0; }
          #about .sec05__inner--box .btn_detail a {
            padding: 5% 0; }
            #about .sec05__inner--box .btn_detail a:after {
              top: 13px; } }
/* *******************************************
     工法 詳細
******************************************* */
#method .sec01 {
  max-width: 1840px;
  margin: 0 auto 80px; }
  #method .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #method .sec01__inner--box {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      width: 100%;
      padding-bottom: 70px; }
      #method .sec01__inner--box h4 {
        background: url("../img/about/bg_ttl_h4.png") no-repeat left bottom;
        width: 100%;
        margin-bottom: 20px;
        padding-bottom: 10px;
        font-size: 24px;
        font-family: 'noto sans bold'; }
      #method .sec01__inner--box h5 {
        background: url("../img/about/bg_ttl_h5.png") no-repeat left 14px;
        margin-bottom: 10px;
        padding-left: 37px;
        font-size: 18px;
        font-family: 'noto sans bold'; }
        #method .sec01__inner--box h5.sml {
          font-size: 17px; }
      #method .sec01__inner--box .block01 {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        margin-bottom: 60px; }
        #method .sec01__inner--box .block01 figure {
          width: 56%; }
          #method .sec01__inner--box .block01 figure img {
            width: 100%;
            height: auto; }
        #method .sec01__inner--box .block01 .txt_area {
          width: 40%;
          padding: 0 0 0 4%; }
          #method .sec01__inner--box .block01 .txt_area .en {
            margin-bottom: 5px;
            font-size: 20px;
            font-family: 'noto sans bold'; }
          #method .sec01__inner--box .block01 .txt_area h3 {
            margin-bottom: 30px;
            font-size: 36px;
            font-family: 'noto sans bold'; }
          #method .sec01__inner--box .block01 .txt_area .catch {
            color: #13b5b1;
            font-size: 18px;
            font-family: 'noto sans bold'; }
      #method .sec01__inner--box .block02 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 60px;
        padding: 0 50px; }
        #method .sec01__inner--box .block02 figure {
          width: 52%; }
          #method .sec01__inner--box .block02 figure img {
            width: 100%;
            height: auto; }
        #method .sec01__inner--box .block02 .txt_area {
          width: 45%;
          padding: 0 3% 0 0; }
          #method .sec01__inner--box .block02 .txt_area .mb {
            margin-bottom: 20px; }
      #method .sec01__inner--box .block03 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 50px;
        padding: 0 50px; }
        #method .sec01__inner--box .block03.last {
          margin-bottom: 60px; }
        #method .sec01__inner--box .block03 figure {
          width: 48%; }
          #method .sec01__inner--box .block03 figure.pt {
            padding-top: 53px; }
          #method .sec01__inner--box .block03 figure img {
            width: 100%;
            height: auto; }
        #method .sec01__inner--box .block03 .txt_area {
          width: 49%;
          margin-right: 3%; }
          #method .sec01__inner--box .block03 .txt_area .mb {
            margin-bottom: 30px; }
      #method .sec01__inner--box .block04 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 0;
        padding: 0 50px; }
        #method .sec01__inner--box .block04 h4 {
          background: none;
          width: 100%;
          margin-bottom: 15px;
          padding: 10px 0 20px; }
          #method .sec01__inner--box .block04 h4 span {
            padding-left: 70px;
            position: relative; }
            #method .sec01__inner--box .block04 h4 span:before {
              content: "";
              position: absolute;
              top: -10px;
              left: 0;
              background: url("../img/about/icon_point.png") no-repeat center center;
              width: 58px;
              height: 58px; }
        #method .sec01__inner--box .block04 .left_area {
          width: 47%;
          padding: 0 4% 0 0; }
          #method .sec01__inner--box .block04 .left_area ul li {
            margin-bottom: 20px; }
            #method .sec01__inner--box .block04 .left_area ul li .num {
              margin-bottom: 20px;
              padding-left: 70px;
              color: #1657a3;
              font-size: 20px;
              font-family: 'noto sans bold';
              line-height: 1.4;
              position: relative;
              font-weight: bold; }
              #method .sec01__inner--box .block04 .left_area ul li .num:before {
                content: "01";
                position: absolute;
                top: 0;
                left: 0;
                color: #b3bfcc;
                font-size: 48px;
                font-family: 'noto sans bold';
                line-height: 1.2;
                letter-spacing: -0.02em; }
            #method .sec01__inner--box .block04 .left_area ul li h5 {
              margin-bottom: 10px; }
            #method .sec01__inner--box .block04 .left_area ul li figure img {
              width: 100%;
              height: auto; }
        #method .sec01__inner--box .block04 .right_area {
          width: 47%;
          padding: 0; }
          #method .sec01__inner--box .block04 .right_area .num {
            margin-bottom: 20px;
            padding: 15px 0 12px 70px;
            color: #1657a3;
            font-size: 20px;
            font-family: 'noto sans bold';
            line-height: 1.4;
            position: relative; }
            #method .sec01__inner--box .block04 .right_area .num:before {
              content: "02";
              position: absolute;
              top: 0;
              left: 0;
              color: #b3bfcc;
              font-size: 48px;
              font-family: 'noto sans bold';
              line-height: 1.2;
              letter-spacing: -0.02em; }
          #method .sec01__inner--box .block04 .right_area h5 {
            margin-bottom: 10px; }
          #method .sec01__inner--box .block04 .right_area figure {
            margin-bottom: 20px; }
            #method .sec01__inner--box .block04 .right_area figure img {
              width: 100%;
              height: auto; }
          #method .sec01__inner--box .block04 .right_area .area {
            background: #ddf1fa;
            margin-bottom: 5px;
            padding: 10px 10px;
            font-size: 24px;
            font-family: 'noto sans bold';
            line-height: 1.4; }
            #method .sec01__inner--box .block04 .right_area .area span {
              color: #f00; }
          #method .sec01__inner--box .block04 .right_area .kome {
            margin: 0 0 70px;
            font-size: 14px; }
          #method .sec01__inner--box .block04 .right_area .btn_detail {
            margin: 0; }
      #method .sec01__inner--box .block05 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 50px;
        padding: 0 50px; }
        #method .sec01__inner--box .block05.last {
          margin-bottom: 0; }
        #method .sec01__inner--box .block05 figure {
          width: 35%; }
          #method .sec01__inner--box .block05 figure img {
            width: 100%;
            height: auto; }
        #method .sec01__inner--box .block05 .txt_area {
          width: 60%;
          padding: 0 5% 0 0; }
          #method .sec01__inner--box .block05 .txt_area .mb {
            margin-bottom: 30px; }
      #method .sec01__inner--box .block06 {
        padding: 0 50px; }
        #method .sec01__inner--box .block06 figure {
          width: 70%;
          margin: 0 auto 50px; }
          #method .sec01__inner--box .block06 figure img {
            width: 100%;
            height: auto; }
      #method .sec01__inner--box .block07 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 60px;
        padding: 0 50px; }
        #method .sec01__inner--box .block07 figure {
          width: 48%; }
          #method .sec01__inner--box .block07 figure img {
            width: 100%;
            height: auto; }
        #method .sec01__inner--box .block07 .txt_area {
          width: 49%;
          padding: 0 3% 0 0; }
          #method .sec01__inner--box .block07 .txt_area .mb {
            margin-bottom: 20px; }
      #method .sec01__inner--box .block08 {
        margin-bottom: 60px;
        padding: 0 50px; }
        #method .sec01__inner--box .block08.last {
          margin-bottom: 0; }
        #method .sec01__inner--box .block08 .txt_area {
          margin-bottom: 60px; }
          #method .sec01__inner--box .block08 .txt_area .txt {
            margin-bottom: 30px; }
        #method .sec01__inner--box .block08 ul.pht {
          display: flex;
          flex-wrap: wrap; }
          #method .sec01__inner--box .block08 ul.pht li {
            width: 32.4%;
            margin-right: 1.4%; }
            #method .sec01__inner--box .block08 ul.pht li:last-child {
              margin-right: 0; }
            #method .sec01__inner--box .block08 ul.pht li img {
              width: 100%;
              height: auto; }
      #method .sec01__inner--box .btn_detail {
        width: 220px; }
        #method .sec01__inner--box .btn_detail a {
          background: #13b5b1;
          padding: 23px 0;
          font-family: 'noto sans bold'; }
          #method .sec01__inner--box .btn_detail a:hover {
            background: #31cbc7; }

@media (max-width: 640px) {
  #method .sec01 {
    margin: 0 auto 10%; }
    #method .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #method .sec01__inner--box {
        padding-bottom: 8%; }
        #method .sec01__inner--box h4 {
          background: url("../img/about/bg_ttl_h4.png") no-repeat 20% bottom;
          width: 100%;
          margin-bottom: 5%;
          padding-bottom: 2%;
          font-size: 18px; }
        #method .sec01__inner--box h5 {
          background: url("../img/about/bg_ttl_h5.png") no-repeat left 10px;
          background-size: 15px 2px;
          margin-bottom: 1%;
          padding-left: 20px;
          font-size: 14px; }
          #method .sec01__inner--box h5.sml {
            font-size: 14px; }
        #method .sec01__inner--box .block01 {
          margin-bottom: 10%; }
          #method .sec01__inner--box .block01 figure {
            width: 100%;
            order: 2; }
          #method .sec01__inner--box .block01 .txt_area {
            width: 94%;
            padding: 5% 3%;
            text-align: center;
            order: 1; }
            #method .sec01__inner--box .block01 .txt_area .en {
              margin-bottom: 1%;
              font-size: 14px; }
            #method .sec01__inner--box .block01 .txt_area h3 {
              margin-bottom: 1%;
              font-size: 20px; }
            #method .sec01__inner--box .block01 .txt_area .catch {
              font-size: 14px; }
        #method .sec01__inner--box .block02 {
          width: 90%;
          margin: 0 auto 10%;
          padding: 0; }
          #method .sec01__inner--box .block02 figure {
            width: 100%; }
          #method .sec01__inner--box .block02 .txt_area {
            width: 100%;
            margin-bottom: 5%;
            padding: 0; }
            #method .sec01__inner--box .block02 .txt_area .mb {
              margin-bottom: 4%; }
        #method .sec01__inner--box .block03 {
          width: 90%;
          margin: 0 auto 8%;
          padding: 0; }
          #method .sec01__inner--box .block03.last {
            margin: 0 auto 12%; }
          #method .sec01__inner--box .block03 figure {
            width: 100%; }
            #method .sec01__inner--box .block03 figure.pt {
              padding-top: 0; }
          #method .sec01__inner--box .block03 .txt_area {
            width: 100%;
            margin-bottom: 5%;
            padding: 0; }
            #method .sec01__inner--box .block03 .txt_area .sml {
              font-size: 13.5px; }
            #method .sec01__inner--box .block03 .txt_area .mb {
              margin-bottom: 5%; }
        #method .sec01__inner--box .block04 {
          display: block;
          width: 90%;
          margin: 0 auto;
          padding: 0; }
          #method .sec01__inner--box .block04 h4 {
            margin-bottom: 3%;
            padding: 2% 0 3%; }
            #method .sec01__inner--box .block04 h4 span {
              padding-left: 50px; }
              #method .sec01__inner--box .block04 h4 span:before {
                background-size: cover;
                width: 40px;
                height: 40px; }
          #method .sec01__inner--box .block04 .left_area {
            width: 100%;
            padding: 0; }
            #method .sec01__inner--box .block04 .left_area ul li {
              margin-bottom: 5%; }
              #method .sec01__inner--box .block04 .left_area ul li .num {
                margin-bottom: 4%;
                padding-left: 45px;
                font-size: 16px; }
                #method .sec01__inner--box .block04 .left_area ul li .num:before {
                  font-size: 30px; }
              #method .sec01__inner--box .block04 .left_area ul li h5 {
                margin-bottom: 3%; }
          #method .sec01__inner--box .block04 .right_area {
            width: 100%; }
            #method .sec01__inner--box .block04 .right_area .num {
              margin-bottom: 4%;
              padding: 3% 0 3% 45px;
              font-size: 16px; }
              #method .sec01__inner--box .block04 .right_area .num:before {
                font-size: 30px; }
            #method .sec01__inner--box .block04 .right_area h5 {
              margin-bottom: 10px; }
            #method .sec01__inner--box .block04 .right_area figure {
              margin-bottom: 20px; }
              #method .sec01__inner--box .block04 .right_area figure img {
                width: 100%;
                height: auto; }
            #method .sec01__inner--box .block04 .right_area .area {
              margin-bottom: 2%;
              padding: 3% 3%;
              font-size: 16px; }
            #method .sec01__inner--box .block04 .right_area .kome {
              margin: 0 0 12%;
              font-size: 12px; }
            #method .sec01__inner--box .block04 .right_area .btn_detail {
              margin: 0 auto; }
        #method .sec01__inner--box .block05 {
          width: 90%;
          margin: 0 auto 6%;
          padding: 0; }
          #method .sec01__inner--box .block05 figure {
            width: 100%; }
          #method .sec01__inner--box .block05 .txt_area {
            width: 100%;
            margin-bottom: 5%;
            padding: 0; }
            #method .sec01__inner--box .block05 .txt_area .mb {
              margin-bottom: 5%; }
        #method .sec01__inner--box .block06 {
          width: 90%;
          margin: 0 auto 10%;
          padding: 0; }
          #method .sec01__inner--box .block06 figure {
            width: 100%;
            margin: 0 auto; }
        #method .sec01__inner--box .block07 {
          width: 90%;
          margin: 0 auto 8%;
          padding: 0; }
          #method .sec01__inner--box .block07 figure {
            width: 100%; }
          #method .sec01__inner--box .block07 .txt_area {
            width: 100%;
            margin-bottom: 5%;
            padding: 0; }
            #method .sec01__inner--box .block07 .txt_area .sml {
              font-size: 13.5px; }
            #method .sec01__inner--box .block07 .txt_area .mb {
              margin-bottom: 4%; }
        #method .sec01__inner--box .block08 {
          width: 90%;
          margin: 0 auto 8%;
          padding: 0; }
          #method .sec01__inner--box .block08 .txt_area {
            margin-bottom: 8%; }
            #method .sec01__inner--box .block08 .txt_area .txt {
              margin-bottom: 4%; }
        #method .sec01__inner--box .btn_detail {
          width: 220px; }
          #method .sec01__inner--box .btn_detail a {
            background: #13b5b1;
            padding: 20px 0; }
            #method .sec01__inner--box .btn_detail a:after {
              top: 22px; }
            #method .sec01__inner--box .btn_detail a:hover {
              background: #13b5b1; } }
.method {
  max-width: 1840px;
  margin: 0 auto 80px; }
  .method__inner {
    box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
    background: #255895;
    max-width: 960px;
    margin: 0 auto;
    padding: 30px 40px 10px; }
    .method__inner dl dt {
      border-bottom: 2px dotted #fff;
      margin-bottom: 8px;
      padding-bottom: 8px;
      color: #fff;
      font-family: 'noto sans bold'; }
    .method__inner dl dd {
      margin-bottom: 30px; }
      .method__inner dl dd ul {
        overflow: hidden; }
        .method__inner dl dd ul li {
          float: left;
          margin-right: 20px; }
          .method__inner dl dd ul li a {
            display: block;
            color: #fff;
            font-size: 14px; }

@media (max-width: 640px) {
  .method {
    margin: 0 auto 10%; }
    .method__inner {
      max-width: 84%;
      padding: 5% 5% 1%; }
      .method__inner dl dt {
        margin-bottom: 3%;
        padding-bottom: 3%; }
      .method__inner dl dd {
        margin-bottom: 5%; }
        .method__inner dl dd ul li {
          float: none;
          margin: 0 0 3%; }
          .method__inner dl dd ul li a {
            font-size: 12px; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     施工実績
******************************************* */
#works .sec01 {
  max-width: 1840px;
  margin: 0 auto 100px; }
  #works .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #works .sec01__inner--box {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1030px;
      margin-bottom: 50px;
      padding: 50px 65px 30px; }
      #works .sec01__inner--box h3 {
        margin-bottom: 30px;
        text-align: center;
        font-size: 36px;
        font-family: 'noto sans bold';
        line-height: 1.4; }
      #works .sec01__inner--box h4 {
        background: url("../img/works/bg_ttl_h4.png") no-repeat left bottom;
        width: 100%;
        margin-bottom: 25px;
        padding-bottom: 10px;
        font-size: 24px;
        font-family: 'noto sans bold'; }
      #works .sec01__inner--box .table_works {
        width: 100%;
        margin-bottom: 50px; }
        #works .sec01__inner--box .table_works tr.last td {
          border-bottom: 2px solid #042a56;
          padding: 10px 0 12px; }
        #works .sec01__inner--box .table_works tr td {
          border-bottom: 2px dotted #ccc;
          padding: 10px 0;
          font-size: 13px; }
          #works .sec01__inner--box .table_works tr td:nth-child(2) {
            width: 130px; }
          #works .sec01__inner--box .table_works tr td:nth-child(3) {
            width: 330px; }
      #works .sec01__inner--box ul.photo {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 30px; }
        #works .sec01__inner--box ul.photo li {
          width: 48%;
          margin-bottom: 35px; }
          #works .sec01__inner--box ul.photo li:nth-child(odd) {
            margin-right: 4%; }
          #works .sec01__inner--box ul.photo li img {
            width: 100%;
            height: auto; }

@media (min-width: 641px) and (max-width: 1200px) {
  #works .sec01__inner--box {
    max-width: 94%;
    padding: 50px 3% 10px; }
    #works .sec01__inner--box h4 {
      font-size: 20px; }
    #works .sec01__inner--box .table_works tr td:nth-child(3) {
      width: 270px; } }
@media (max-width: 640px) {
  #works .sec01 {
    margin: 0 auto 10%; }
    #works .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #works .sec01__inner--box {
        max-width: 90%;
        margin-bottom: 8%;
        padding: 5% 5% 3%; }
        #works .sec01__inner--box h3 {
          margin-bottom: 5%;
          font-size: 20px; }
        #works .sec01__inner--box h4 {
          margin-bottom: 3%;
          padding-bottom: 3%;
          font-size: 15px; }
        #works .sec01__inner--box .table_works {
          width: 100%;
          margin-bottom: 8%; }
          #works .sec01__inner--box .table_works tr {
            display: block;
            border-bottom: 1px dotted #aaa;
            padding: 2% 0; }
            #works .sec01__inner--box .table_works tr.last td {
              border-bottom: none;
              padding: 0; }
            #works .sec01__inner--box .table_works tr td {
              display: list-item;
              list-style: none;
              border-bottom: none;
              padding: 0;
              font-size: 12px; }
              #works .sec01__inner--box .table_works tr td:first-child {
                font-family: 'noto sans bold'; }
              #works .sec01__inner--box .table_works tr td:nth-child(2) {
                width: 100%;
                color: #059995; }
              #works .sec01__inner--box .table_works tr td:nth-child(3) {
                width: 100%; }
        #works .sec01__inner--box ul.photo {
          display: flex;
          flex-wrap: wrap;
          margin-bottom: 0; }
          #works .sec01__inner--box ul.photo li {
            width: 100%;
            margin-bottom: 5%; }
            #works .sec01__inner--box ul.photo li:nth-child(odd) {
              margin-right: 0; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     会社概要
******************************************* */
#company .sec01 {
  max-width: 1840px;
  margin: 0 auto 100px; }
  #company .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #company .sec01__inner--box {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1000px;
      margin-bottom: 50px;
      padding: 50px 80px 70px; }
      #company .sec01__inner--box .en {
        text-align: center;
        font-size: 18px;
        font-family: 'Roboto'; }
      #company .sec01__inner--box h3 {
        margin-bottom: 30px;
        text-align: center;
        font-size: 36px;
        font-family: 'noto sans bold';
        line-height: 1.4; }
      #company .sec01__inner--box .block {
        display: flex;
        flex-wrap: wrap; }
        #company .sec01__inner--box .block .txt_area {
          width: 60%;
          margin-right: 5%; }
          #company .sec01__inner--box .block .txt_area .txt {
            margin-bottom: 30px; }
            #company .sec01__inner--box .block .txt_area .txt.sml {
              font-size: 13.5px; }
          #company .sec01__inner--box .block .txt_area .name {
            text-align: right; }
        #company .sec01__inner--box .block figure {
          width: 35%; }
          #company .sec01__inner--box .block figure img {
            width: 100%;
            height: auto; }
      #company .sec01__inner--box .profile {
        max-width: 840px;
        margin: 0 auto 40px; }
        #company .sec01__inner--box .profile dl {
          border-bottom: 1px solid #042a56;
          display: flex;
          flex-wrap: wrap; }
          #company .sec01__inner--box .profile dl dt {
            border-bottom: 3px solid #255895;
            width: 20%;
            padding: 15px 0;
            text-align: center; }
          #company .sec01__inner--box .profile dl dd {
            width: 75%;
            padding: 15px 0 15px 5%; }
            #company .sec01__inner--box .profile dl dd .add {
              display: flex; }
              #company .sec01__inner--box .profile dl dd .add li {
                width: 45%;
                line-height: 1.8; }
      #company .sec01__inner--box .pht {
        display: flex;
        width: 840px;
        margin: 0 auto; }
        #company .sec01__inner--box .pht li {
          width: 48%; }
          #company .sec01__inner--box .pht li:first-child {
            margin-right: 4%; }
          #company .sec01__inner--box .pht li img {
            width: 100%;
            height: auto;
            margin-bottom: 5px; }
      #company .sec01__inner--box .history {
        max-width: 840px;
        margin: 0 auto; }
        #company .sec01__inner--box .history dl {
          border-bottom: 1px solid #042a56;
          display: flex;
          flex-wrap: wrap; }
          #company .sec01__inner--box .history dl dt {
            border-bottom: 3px solid #255895;
            width: 20%;
            padding: 15px 0;
            text-align: center; }
            #company .sec01__inner--box .history dl dt .year {
              margin-right: 10px; }
            #company .sec01__inner--box .history dl dt .month {
              margin-left: 65px; }
          #company .sec01__inner--box .history dl dd {
            width: 75%;
            padding: 15px 0 15px 5%; }

@media (max-width: 640px) {
  #company .sec01 {
    margin: 0 auto 10%; }
    #company .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #company .sec01__inner--box {
        width: 90%;
        padding-bottom: 6%;
        padding: 5% 5% 8%; }
        #company .sec01__inner--box .en {
          font-size: 14px; }
        #company .sec01__inner--box h3 {
          margin-bottom: 6%;
          font-size: 20px; }
        #company .sec01__inner--box .block {
          display: flex;
          flex-wrap: wrap; }
          #company .sec01__inner--box .block .txt_area {
            width: 100%;
            margin: 0 0 7%; }
            #company .sec01__inner--box .block .txt_area .txt {
              margin-bottom: 3%;
              line-height: 1.8; }
            #company .sec01__inner--box .block .txt_area .name {
              width: 50%;
              margin-left: 50%; }
          #company .sec01__inner--box .block figure {
            width: 100%; }
        #company .sec01__inner--box .profile {
          max-width: 100%;
          margin: 0 auto 6%; }
          #company .sec01__inner--box .profile dl dt {
            width: 25%;
            padding: 4% 0 3%; }
          #company .sec01__inner--box .profile dl dd {
            width: 70%;
            padding: 4% 0 3% 5%; }
            #company .sec01__inner--box .profile dl dd .add {
              display: block; }
              #company .sec01__inner--box .profile dl dd .add li {
                width: 100%; }
                #company .sec01__inner--box .profile dl dd .add li:first-child {
                  margin-bottom: 5%; }
        #company .sec01__inner--box .pht {
          width: 100%; }
          #company .sec01__inner--box .pht li img {
            margin-bottom: 2%; }
        #company .sec01__inner--box .history {
          max-width: 100%;
          margin: 0 auto; }
          #company .sec01__inner--box .history dl dt {
            width: 30%;
            padding: 4% 0 3%; }
            #company .sec01__inner--box .history dl dt .year {
              margin-right: 3%; }
            #company .sec01__inner--box .history dl dt .month {
              margin-left: 42%; }
          #company .sec01__inner--box .history dl dd {
            width: 65%;
            padding: 4% 0 3% 5%; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     お問い合わせ
******************************************* */
#contact .sec01 {
  max-width: 1840px;
  margin: 0 auto 80px; }
  #contact .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #contact .sec01__inner--box {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1000px;
      padding: 60px 80px; }
      #contact .sec01__inner--box dl {
        border-top: 1px dashed #ccc;
        padding: 25px 0;
        overflow: hidden; }
        #contact .sec01__inner--box dl.last {
          border-bottom: 1px dashed #ccc;
          margin-bottom: 40px; }
        #contact .sec01__inner--box dl dt {
          width: 20%;
          float: left;
          padding-top: 12px;
          font-size: 18px;
          line-height: 1.2; }
          #contact .sec01__inner--box dl dt.required:after {
            content: '必須';
            display: inline-block;
            border-radius: 3px;
            background: #f00;
            margin-left: 10px;
            padding: 2px 5px 1px;
            color: #fff;
            font-size: 12px; }
        #contact .sec01__inner--box dl dd {
          width: 70%;
          float: right; }
          #contact .sec01__inner--box dl dd input[type=text] {
            border: 1px solid #aaa;
            padding: 13px 10px;
            font-size: 18px; }
            #contact .sec01__inner--box dl dd input[type=text].size01 {
              width: 50%; }
            #contact .sec01__inner--box dl dd input[type=text].size02 {
              width: 12%; }
            #contact .sec01__inner--box dl dd input[type=text].size03 {
              width: 80%; }
          #contact .sec01__inner--box dl dd input[type=email] {
            border: 1px solid #aaa;
            width: 50%;
            padding: 13px 10px;
            font-size: 18px; }
          #contact .sec01__inner--box dl dd input[type=file] {
            margin: 5px 0;
            font-size: 16px; }
          #contact .sec01__inner--box dl dd select {
            border: 1px solid #aaa;
            width: 30%;
            padding: 13px 10px;
            font-size: 18px; }
          #contact .sec01__inner--box dl dd textarea {
            border: 1px solid #aaa;
            width: 80%;
            height: 120px;
            padding: 13px 10px;
            font-size: 18px; }
          #contact .sec01__inner--box dl dd ul.add li:nth-child(2) {
            margin: 15px 0; }
          #contact .sec01__inner--box dl dd input[type=button].search {
            margin-left: 20px;
            padding: 13px 20px;
            cursor: pointer; }
          #contact .sec01__inner--box dl dd .zip {
            margin-right: 10px; }
          #contact .sec01__inner--box dl dd .bar {
            margin: 0 10px; }
          #contact .sec01__inner--box dl dd .txt_sub {
            margin-top: 5px;
            font-size: 13px; }
      #contact .sec01__inner--box .contactform__doui {
        margin-bottom: 20px;
        text-align: center; }
        #contact .sec01__inner--box .contactform__doui a {
          color: #042a56;
          text-decoration: underline;
          cursor: pointer; }
          #contact .sec01__inner--box .contactform__doui a:hover {
            text-decoration: underline; }
        #contact .sec01__inner--box .contactform__doui input[type=checkbox] {
          display: none; }
        #contact .sec01__inner--box .contactform__doui label {
          display: inline-block;
          font-size: 18px;
          cursor: pointer; }
        #contact .sec01__inner--box .contactform__doui input[type=checkbox] + span {
          padding-left: 2em;
          display: inline-block;
          position: relative; }
        #contact .sec01__inner--box .contactform__doui input[type=checkbox] + span::after,
        #contact .sec01__inner--box .contactform__doui input[type=checkbox] + span::before {
          content: '';
          display: block;
          position: absolute;
          border-radius: 3px;
          border: 1px solid #999;
          width: 20px;
          height: 20px;
          top: 3px;
          left: 0; }
        #contact .sec01__inner--box .contactform__doui input[type=checkbox] + span::after {
          opacity: 0;
          width: 8px;
          height: 13px;
          transform: rotate(45deg);
          left: 6px;
          border: none;
          border-right: 3.5px solid #042a56;
          border-bottom: 3.5px solid #042a56; }
        #contact .sec01__inner--box .contactform__doui input[type=checkbox]:checked + span::after {
          opacity: 1; }
      #contact .sec01__inner--box button[type=submit] {
        display: block;
        border: none;
        background: #1657a3;
        width: 350px;
        margin: 0 auto;
        padding: 23px 0;
        text-align: center;
        color: #fff !important;
        font-size: 18px;
        font-family: 'noto sans bold';
        position: relative;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #contact .sec01__inner--box button[type=submit]:hover {
          background: #3675be;
          text-decoration: none;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }

@media (max-width: 640px) {
  #contact .sec01 {
    margin: 0 auto 10%; }
    #contact .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #contact .sec01__inner--box {
        max-width: 90%;
        padding: 7% 5%; }
        #contact .sec01__inner--box dl {
          padding: 5% 0; }
          #contact .sec01__inner--box dl.last {
            margin-bottom: 8%; }
          #contact .sec01__inner--box dl dt {
            width: 100%;
            float: none;
            margin-bottom: 3%;
            padding-top: 0;
            font-size: 14px; }
            #contact .sec01__inner--box dl dt.required:after {
              content: '必須';
              display: inline-block;
              border-radius: 3px;
              background: #f00;
              margin-left: 10px;
              padding: 2px 5px 1px;
              color: #fff;
              font-size: 12px; }
          #contact .sec01__inner--box dl dd {
            width: 100%;
            float: none; }
            #contact .sec01__inner--box dl dd input[type=text] {
              padding: 2% 3%;
              font-size: 14px; }
              #contact .sec01__inner--box dl dd input[type=text].size01 {
                width: 93%; }
              #contact .sec01__inner--box dl dd input[type=text].size02 {
                width: 15%; }
              #contact .sec01__inner--box dl dd input[type=text].size03 {
                width: 93%; }
            #contact .sec01__inner--box dl dd input[type=email] {
              width: 93%;
              padding: 2% 3%;
              font-size: 14px; }
            #contact .sec01__inner--box dl dd input[type=file] {
              margin: 5px 0;
              font-size: 14px; }
            #contact .sec01__inner--box dl dd select {
              width: 60%;
              padding: 2% 3%;
              font-size: 14px; }
            #contact .sec01__inner--box dl dd textarea {
              width: 93%;
              height: 100px;
              padding: 2% 3%;
              font-size: 14px; }
            #contact .sec01__inner--box dl dd ul.add li:nth-child(2) {
              margin: 4% 0; }
            #contact .sec01__inner--box dl dd input[type=button].search {
              margin-left: 3%;
              padding: 1.3% 3%; }
            #contact .sec01__inner--box dl dd .zip {
              margin-right: 2%; }
            #contact .sec01__inner--box dl dd .bar {
              margin: 0 2%; }
            #contact .sec01__inner--box dl dd .txt_sub {
              margin-top: 1%;
              font-size: 12px; }
        #contact .sec01__inner--box .contactform__doui {
          margin-bottom: 5%; }
          #contact .sec01__inner--box .contactform__doui label {
            font-size: 14px; }
          #contact .sec01__inner--box .contactform__doui input[type=checkbox] + span::after,
          #contact .sec01__inner--box .contactform__doui input[type=checkbox] + span::before {
            width: 18px;
            height: 18px;
            top: 2px; }
          #contact .sec01__inner--box .contactform__doui input[type=checkbox] + span::after {
            width: 7px;
            height: 11px;
            left: 5px; }
        #contact .sec01__inner--box button[type=submit] {
          background: #1657a3;
          width: 90%;
          padding: 4% 0;
          font-size: 14px; }
          #contact .sec01__inner--box button[type=submit]:hover {
            background: #1657a3; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     採用情報
******************************************* */
#recruit .sec01 {
  max-width: 1840px;
  margin: 20px auto 80px; }
  #recruit .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #recruit .sec01__inner--box {
      background: url("../img/recruit/bg_message.jpg") no-repeat center top;
      width: 100%;
      min-height: 310px;
      margin-bottom: 40px;
      padding-top: 60px;
      text-align: center; }
      #recruit .sec01__inner--box .en {
        text-align: center;
        font-size: 18px;
        font-family: 'Roboto'; }
      #recruit .sec01__inner--box h3 {
        margin-bottom: 30px;
        text-align: center;
        font-size: 36px;
        font-family: 'noto sans bold';
        line-height: 1.4; }

@media (max-width: 640px) {
  #recruit .sec01 {
    margin: 6% auto 10%; }
    #recruit .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #recruit .sec01__inner--box {
        background: url("../img/recruit/bg_message.jpg") no-repeat 40% top;
        width: 94%;
        min-height: 0;
        margin: 0 auto 6%;
        padding: 8% 3%; }
        #recruit .sec01__inner--box .en {
          font-size: 14px; }
          #recruit .sec01__inner--box .en:before {
            top: -50px;
            background-size: 1px 50px;
            height: 50px; }
        #recruit .sec01__inner--box h3 {
          margin-bottom: 5%;
          font-size: 20px; }
        #recruit .sec01__inner--box .txt {
          text-align: left; } }
#recruit .sec02 {
  max-width: 1840px;
  margin: 0 auto 100px; }
  #recruit .sec02__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #recruit .sec02__inner--box {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1000px;
      margin-bottom: 40px;
      padding: 60px 80px; }
      #recruit .sec02__inner--box .en {
        text-align: center;
        font-size: 18px;
        font-family: 'Roboto';
        position: relative; }
      #recruit .sec02__inner--box h3 {
        margin-bottom: 30px;
        text-align: center;
        font-size: 36px;
        font-family: 'noto sans bold';
        line-height: 1.4; }
      #recruit .sec02__inner--box .fukuri {
        text-align: center; }
      #recruit .sec02__inner--box .block01 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 50px; }
        #recruit .sec02__inner--box .block01 .txt_area {
          background: url("../img/recruit/bg_interview.png") no-repeat left top;
          width: 48%;
          margin-right: 4%;
          padding-top: 25px; }
          #recruit .sec02__inner--box .block01 .txt_area .ttl_en {
            margin-bottom: 20px;
            color: #f19149;
            font-size: 40px;
            font-family: 'Roboto'; }
          #recruit .sec02__inner--box .block01 .txt_area h4 {
            margin-bottom: 20px;
            font-size: 24px;
            font-family: 'noto sans bold';
            line-height: 1.3; }
            #recruit .sec02__inner--box .block01 .txt_area h4 span {
              color: #1657a3; }
          #recruit .sec02__inner--box .block01 .txt_area .year {
            font-family: 'noto sans bold';
            line-height: 1.2; }
          #recruit .sec02__inner--box .block01 .txt_area .name {
            border-bottom: 1px solid #042a56;
            margin-bottom: 25px;
            padding-bottom: 20px;
            font-size: 24px;
            font-family: 'noto sans bold'; }
            #recruit .sec02__inner--box .block01 .txt_area .name span {
              margin-left: 20px;
              color: #829bb8;
              font-size: 16px;
              font-style: italic; }
          #recruit .sec02__inner--box .block01 .txt_area h5 {
            margin-bottom: 7px;
            font-size: 20px;
            font-family: 'noto sans bold'; }
          #recruit .sec02__inner--box .block01 .txt_area .txt {
            margin-bottom: 30px; }
        #recruit .sec02__inner--box .block01 figure {
          width: 48%; }
          #recruit .sec02__inner--box .block01 figure img {
            width: 100%;
            height: auto; }
      #recruit .sec02__inner--box .block02 {
        display: flex;
        flex-wrap: wrap; }
        #recruit .sec02__inner--box .block02 figure {
          width: 48%; }
          #recruit .sec02__inner--box .block02 figure img {
            width: 100%;
            height: auto; }
        #recruit .sec02__inner--box .block02 .txt_area {
          width: 48%;
          margin-left: 4%; }
          #recruit .sec02__inner--box .block02 .txt_area h5 {
            margin-bottom: 7px;
            font-size: 20px;
            font-family: 'noto sans bold'; }
          #recruit .sec02__inner--box .block02 .txt_area .txt {
            margin-bottom: 30px; }
      #recruit .sec02__inner--box .photo {
        display: flex;
        flex-wrap: wrap; }
        #recruit .sec02__inner--box .photo li {
          width: 33.2%;
          margin-right: 0.2%;
          margin-bottom: 2px; }
          #recruit .sec02__inner--box .photo li:nth-child(3), #recruit .sec02__inner--box .photo li:nth-child(6), #recruit .sec02__inner--box .photo li:nth-child(8) {
            margin-right: 0; }
          #recruit .sec02__inner--box .photo li:nth-child(n+7) {
            width: 49.9%; }
          #recruit .sec02__inner--box .photo li img {
            width: 100%;
            height: auto; }
      #recruit .sec02__inner--box .read_rec {
        margin-bottom: 40px;
        text-align: center; }
      #recruit .sec02__inner--box .youko {
        max-width: 940px;
        margin: 0 auto 50px; }
        #recruit .sec02__inner--box .youko dl {
          border-bottom: 1px solid #042a56;
          display: flex;
          flex-wrap: wrap; }
          #recruit .sec02__inner--box .youko dl dt {
            border-bottom: 3px solid #255895;
            width: 20%;
            padding: 15px 0;
            text-align: center; }
          #recruit .sec02__inner--box .youko dl dd {
            width: 75%;
            padding: 15px 0 15px 5%; }
            #recruit .sec02__inner--box .youko dl dd .list li {
              text-indent: -1.0em;
              margin-left: 1.0em; }
            #recruit .sec02__inner--box .youko dl dd .kome {
              margin-top: 8px; }
            #recruit .sec02__inner--box .youko dl dd a {
              color: #006daf;
              text-decoration: underline; }
      #recruit .sec02__inner--box .btn_entry {
        width: 350px;
        margin: 0 auto; }
        #recruit .sec02__inner--box .btn_entry a {
          display: block;
          background: #377825;
          padding: 25px 0;
          text-align: center;
          color: #fff !important;
          font-size: 16px;
          position: relative;
          -webkit-transition: 0.3s ease-in-out;
          -moz-transition: 0.3s ease-in-out;
          -o-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          #recruit .sec02__inner--box .btn_entry a:after {
            content: "";
            position: absolute;
            top: 32px;
            right: 15px;
            background: url("../img/common/icon_arrow_btn.png") no-repeat center center;
            width: 7px;
            height: 12px; }
          #recruit .sec02__inner--box .btn_entry a:hover {
            background: #539541;
            text-decoration: none;
            -moz-transition: .5s;
            -webkit-transition: .5s;
            -o-transition: .5s;
            -ms-transition: .5s;
            transition: .5s; }

@media (max-width: 640px) {
  #recruit .sec02 {
    margin: 0 auto 10%; }
    #recruit .sec02__inner {
      max-width: 96%;
      padding: 0; }
      #recruit .sec02__inner--box {
        width: 90%;
        padding-bottom: 6%;
        padding: 5% 5% 6%; }
        #recruit .sec02__inner--box .en {
          font-size: 14px; }
        #recruit .sec02__inner--box h3 {
          margin-bottom: 6%;
          font-size: 20px; }
        #recruit .sec02__inner--box .fukuri {
          width: 90%;
          margin: 0 auto; }
        #recruit .sec02__inner--box .block01 {
          margin-bottom: 8%; }
          #recruit .sec02__inner--box .block01 .txt_area {
            background-size: 100% auto;
            width: 100%;
            margin: 0;
            padding-top: 4%; }
            #recruit .sec02__inner--box .block01 .txt_area .ttl_en {
              margin-bottom: 3%;
              font-size: 24px; }
            #recruit .sec02__inner--box .block01 .txt_area h4 {
              margin-bottom: 4%;
              font-size: 18px; }
            #recruit .sec02__inner--box .block01 .txt_area .name {
              margin-bottom: 5%;
              padding-bottom: 4%;
              font-size: 18px; }
              #recruit .sec02__inner--box .block01 .txt_area .name span {
                margin-left: 4%;
                font-size: 14px; }
            #recruit .sec02__inner--box .block01 .txt_area h5 {
              margin-bottom: 2%;
              font-size: 16px; }
            #recruit .sec02__inner--box .block01 .txt_area .txt {
              margin-bottom: 6%; }
              #recruit .sec02__inner--box .block01 .txt_area .txt.sml {
                font-size: 13.5px; }
          #recruit .sec02__inner--box .block01 figure {
            width: 100%; }
        #recruit .sec02__inner--box .block02 figure {
          order: 2;
          width: 100%; }
        #recruit .sec02__inner--box .block02 .txt_area {
          order: 1;
          width: 100%;
          margin: 0; }
          #recruit .sec02__inner--box .block02 .txt_area h5 {
            margin-bottom: 2%;
            font-size: 16px; }
          #recruit .sec02__inner--box .block02 .txt_area .txt {
            margin-bottom: 6%; }
            #recruit .sec02__inner--box .block02 .txt_area .txt.sml {
              font-size: 13.5px; }
        #recruit .sec02__inner--box .photo {
          display: flex;
          flex-wrap: wrap; }
          #recruit .sec02__inner--box .photo li {
            width: 49.9%;
            margin-right: 0.2%; }
            #recruit .sec02__inner--box .photo li:nth-child(odd) {
              clear: both;
              margin-right: 0.2% !important; }
            #recruit .sec02__inner--box .photo li:nth-child(even) {
              margin-right: 0 !important; }
            #recruit .sec02__inner--box .photo li:nth-child(n+7) {
              width: 100%;
              margin-right: 0 !important; }
        #recruit .sec02__inner--box .read_rec {
          margin-bottom: 6%; }
        #recruit .sec02__inner--box .youko {
          max-width: 100%;
          margin: 0 auto 8%; }
          #recruit .sec02__inner--box .youko dl dt {
            width: 20%;
            padding: 4% 0 3%; }
          #recruit .sec02__inner--box .youko dl dd {
            width: 75%;
            padding: 4% 0 3% 5%; }
            #recruit .sec02__inner--box .youko dl dd .kome {
              margin-top: 2%; }
              #recruit .sec02__inner--box .youko dl dd .kome.sml {
                font-size: 13px; }
        #recruit .sec02__inner--box .btn_entry {
          width: 80%; }
          #recruit .sec02__inner--box .btn_entry a {
            padding: 6% 0;
            font-size: 12px; }
            #recruit .sec02__inner--box .btn_entry a:after {
              top: 19px;
              right: 10px; }
            #recruit .sec02__inner--box .btn_entry a:hover {
              background: #377825; } }
/* *******************************************
     採用エントリー
******************************************* */
#entry .sec01 {
  max-width: 1840px;
  margin: 0 auto 80px; }
  #entry .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #entry .sec01__inner--box {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1000px;
      padding: 60px 80px; }
      #entry .sec01__inner--box dl {
        border-top: 1px dashed #ccc;
        padding: 25px 0;
        overflow: hidden; }
        #entry .sec01__inner--box dl.last {
          border-bottom: 1px dashed #ccc;
          margin-bottom: 40px; }
        #entry .sec01__inner--box dl dt {
          width: 20%;
          float: left;
          padding-top: 12px;
          font-size: 18px;
          line-height: 1.2; }
          #entry .sec01__inner--box dl dt.required:after {
            content: '必須';
            display: inline-block;
            border-radius: 3px;
            background: #f00;
            margin-left: 10px;
            padding: 2px 5px 1px;
            color: #fff;
            font-size: 12px; }
        #entry .sec01__inner--box dl dd {
          width: 70%;
          float: right; }
          #entry .sec01__inner--box dl dd input[type=text] {
            border: 1px solid #aaa;
            padding: 13px 10px;
            font-size: 18px; }
            #entry .sec01__inner--box dl dd input[type=text].size01 {
              width: 50%; }
            #entry .sec01__inner--box dl dd input[type=text].size02 {
              width: 12%; }
            #entry .sec01__inner--box dl dd input[type=text].size03 {
              width: 80%; }
          #entry .sec01__inner--box dl dd input[type=email] {
            border: 1px solid #aaa;
            width: 50%;
            padding: 13px 10px;
            font-size: 18px; }
          #entry .sec01__inner--box dl dd input[type=file] {
            margin: 5px 0;
            font-size: 16px; }
          #entry .sec01__inner--box dl dd select {
            border: 1px solid #aaa;
            padding: 13px 10px;
            font-size: 18px; }
            #entry .sec01__inner--box dl dd select.sel01 {
              width: 40%; }
            #entry .sec01__inner--box dl dd select.sel02 {
              width: 30%; }
          #entry .sec01__inner--box dl dd textarea {
            border: 1px solid #aaa;
            width: 80%;
            height: 120px;
            padding: 13px 10px;
            font-size: 18px; }
          #entry .sec01__inner--box dl dd ul.add li:nth-child(2) {
            margin: 15px 0; }
          #entry .sec01__inner--box dl dd input[type=button].search {
            margin-left: 20px;
            padding: 13px 20px;
            cursor: pointer; }
          #entry .sec01__inner--box dl dd .zip {
            margin-right: 10px; }
          #entry .sec01__inner--box dl dd .bar {
            margin: 0 10px; }
      #entry .sec01__inner--box .contactform__doui {
        margin-bottom: 20px;
        text-align: center; }
        #entry .sec01__inner--box .contactform__doui a {
          color: #042a56;
          text-decoration: underline;
          cursor: pointer; }
          #entry .sec01__inner--box .contactform__doui a:hover {
            text-decoration: underline; }
        #entry .sec01__inner--box .contactform__doui input[type=checkbox] {
          display: none; }
        #entry .sec01__inner--box .contactform__doui label {
          display: inline-block;
          font-size: 18px;
          cursor: pointer; }
        #entry .sec01__inner--box .contactform__doui input[type=checkbox] + span {
          padding-left: 2em;
          display: inline-block;
          position: relative; }
        #entry .sec01__inner--box .contactform__doui input[type=checkbox] + span::after,
        #entry .sec01__inner--box .contactform__doui input[type=checkbox] + span::before {
          content: '';
          display: block;
          position: absolute;
          border-radius: 3px;
          border: 1px solid #999;
          width: 20px;
          height: 20px;
          top: 3px;
          left: 0; }
        #entry .sec01__inner--box .contactform__doui input[type=checkbox] + span::after {
          opacity: 0;
          width: 8px;
          height: 13px;
          transform: rotate(45deg);
          left: 6px;
          border: none;
          border-right: 3.5px solid #042a56;
          border-bottom: 3.5px solid #042a56; }
        #entry .sec01__inner--box .contactform__doui input[type=checkbox]:checked + span::after {
          opacity: 1; }
      #entry .sec01__inner--box button[type=submit] {
        display: block;
        border: none;
        background: #1657a3;
        width: 350px;
        margin: 0 auto;
        padding: 23px 0;
        text-align: center;
        color: #fff !important;
        font-size: 18px;
        font-family: 'noto sans bold';
        position: relative;
        cursor: pointer;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        -o-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; }
        #entry .sec01__inner--box button[type=submit]:hover {
          background: #3675be;
          text-decoration: none;
          -moz-transition: .5s;
          -webkit-transition: .5s;
          -o-transition: .5s;
          -ms-transition: .5s;
          transition: .5s; }

@media (max-width: 640px) {
  #entry .sec01 {
    margin: 0 auto 10%; }
    #entry .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #entry .sec01__inner--box {
        max-width: 90%;
        padding: 7% 5%; }
        #entry .sec01__inner--box dl {
          padding: 5% 0; }
          #entry .sec01__inner--box dl.last {
            margin-bottom: 8%; }
          #entry .sec01__inner--box dl dt {
            width: 100%;
            float: none;
            margin-bottom: 3%;
            padding-top: 0;
            font-size: 14px; }
            #entry .sec01__inner--box dl dt.required:after {
              content: '必須';
              display: inline-block;
              border-radius: 3px;
              background: #f00;
              margin-left: 10px;
              padding: 2px 5px 1px;
              color: #fff;
              font-size: 12px; }
          #entry .sec01__inner--box dl dd {
            width: 100%;
            float: none; }
            #entry .sec01__inner--box dl dd input[type=text] {
              padding: 2% 3%;
              font-size: 14px; }
              #entry .sec01__inner--box dl dd input[type=text].size01 {
                width: 93%; }
              #entry .sec01__inner--box dl dd input[type=text].size02 {
                width: 15%; }
              #entry .sec01__inner--box dl dd input[type=text].size03 {
                width: 93%; }
            #entry .sec01__inner--box dl dd input[type=email] {
              width: 93%;
              padding: 2% 3%;
              font-size: 14px; }
            #entry .sec01__inner--box dl dd input[type=file] {
              margin: 5px 0;
              font-size: 14px; }
            #entry .sec01__inner--box dl dd select {
              width: 60%;
              padding: 2% 3%;
              font-size: 14px; }
              #entry .sec01__inner--box dl dd select.sel01 {
                width: 70%; }
              #entry .sec01__inner--box dl dd select.sel02 {
                width: 60%; }
            #entry .sec01__inner--box dl dd textarea {
              width: 93%;
              height: 100px;
              padding: 2% 3%;
              font-size: 14px; }
            #entry .sec01__inner--box dl dd ul.add li:nth-child(2) {
              margin: 4% 0; }
            #entry .sec01__inner--box dl dd input[type=button].search {
              margin-left: 3%;
              padding: 1.3% 3%; }
            #entry .sec01__inner--box dl dd .zip {
              margin-right: 2%; }
            #entry .sec01__inner--box dl dd .bar {
              margin: 0 2%; }
        #entry .sec01__inner--box .contactform__doui {
          margin-bottom: 5%; }
          #entry .sec01__inner--box .contactform__doui label {
            font-size: 14px; }
          #entry .sec01__inner--box .contactform__doui input[type=checkbox] + span::after,
          #entry .sec01__inner--box .contactform__doui input[type=checkbox] + span::before {
            width: 18px;
            height: 18px;
            top: 2px; }
          #entry .sec01__inner--box .contactform__doui input[type=checkbox] + span::after {
            width: 7px;
            height: 11px;
            left: 5px; }
        #entry .sec01__inner--box button[type=submit] {
          background: #1657a3;
          width: 90%;
          padding: 4% 0;
          font-size: 14px; }
          #entry .sec01__inner--box button[type=submit]:hover {
            background: #1657a3; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     個人情報保護方針
******************************************* */
#privacy .sec01 {
  max-width: 1840px;
  margin: 0 auto 80px; }
  #privacy .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #privacy .sec01__inner--box {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1000px;
      padding: 60px 80px; }
      #privacy .sec01__inner--box .read {
        margin-bottom: 40px; }
      #privacy .sec01__inner--box dl dt {
        border-bottom: 1px solid #042a56;
        margin-bottom: 15px;
        padding-bottom: 5px;
        font-size: 20px;
        font-family: 'noto sans bold'; }
      #privacy .sec01__inner--box dl dd {
        margin-bottom: 40px; }
        #privacy .sec01__inner--box dl dd h4 {
          margin-bottom: 8px;
          font-family: 'noto sans bold'; }
        #privacy .sec01__inner--box dl dd ul.indent {
          margin-bottom: 25px; }
          #privacy .sec01__inner--box dl dd ul.indent li {
            text-indent: -1.4em;
            margin-left: 1.4em;
            margin-bottom: 5px; }
        #privacy .sec01__inner--box dl dd p.mt {
          margin-top: 15px; }
        #privacy .sec01__inner--box dl dd a {
          color: #006daf;
          text-decoration: underline;
          word-break: break-all; }

@media (max-width: 640px) {
  #privacy .sec01 {
    margin: 0 auto 10%; }
    #privacy .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #privacy .sec01__inner--box {
        max-width: 90%;
        padding: 7% 5% 4%; }
        #privacy .sec01__inner--box .read {
          margin-bottom: 8%; }
        #privacy .sec01__inner--box dl dt {
          margin-bottom: 3%;
          padding-bottom: 2%;
          font-size: 14px; }
        #privacy .sec01__inner--box dl dd {
          margin-bottom: 8%; }
          #privacy .sec01__inner--box dl dd h4 {
            margin-bottom: 2%; }
          #privacy .sec01__inner--box dl dd ul.indent {
            margin-bottom: 5%; }
            #privacy .sec01__inner--box dl dd ul.indent li {
              margin-bottom: 1%; }
          #privacy .sec01__inner--box dl dd p.mt {
            margin-top: 3%; } }
@font-face {
  font-family: 'noto sans';
  src: url("../fonts/NotoSansCJKjp-Regular.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'noto sans bold';
  src: url("../fonts/NotoSansJP-Bold.woff") format("truetype");
  font-display: swap; }
@font-face {
  font-family: 'Roboto';
  src: url("../fonts/Roboto-Bold.ttf") format("truetype");
  font-display: swap; }
/* *******************************************
     保有機械一覧
******************************************* */
#machine .sec01 {
  max-width: 1840px;
  margin: 0 auto 100px; }
  #machine .sec01__inner {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 20px; }
    #machine .sec01__inner .read {
      margin-bottom: 40px;
      text-align: center; }
      #machine .sec01__inner .read + .btn_detail {
        width: 260px;
        margin: 0 auto 70px; }
        #machine .sec01__inner .read + .btn_detail a {
          background: #13b5b1;
          padding: 23px 0;
          font-family: 'noto sans bold'; }
          #machine .sec01__inner .read + .btn_detail a:hover {
            background: #31cbc7; }
    #machine .sec01__inner--box {
      box-shadow: 0 0.5rem 1.5rem rgba(4, 42, 86, 0.1);
      background: #fff;
      max-width: 1030px;
      margin-bottom: 50px;
      padding: 50px 65px 30px; }
      #machine .sec01__inner--box h3 {
        margin-bottom: 30px;
        text-align: center;
        font-size: 36px;
        font-family: 'noto sans bold';
        line-height: 1.4; }
      #machine .sec01__inner--box .list {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 70px; }
        #machine .sec01__inner--box .list li {
          border-top: 2px solid #042a56;
          width: 31%;
          margin-right: 3.5%;
          padding: 15px 0 20px; }
          #machine .sec01__inner--box .list li.topno {
            border-top: none; }
          #machine .sec01__inner--box .list li.btm {
            border-bottom: 2px solid #042a56; }
          #machine .sec01__inner--box .list li:nth-child(3n) {
            margin-right: 0; }
          #machine .sec01__inner--box .list li dl {
            display: flex;
            flex-wrap: wrap;
            margin-bottom: 25px; }
            #machine .sec01__inner--box .list li dl dt {
              width: 35%;
              margin-bottom: 3px;
              font-size: 14px; }
            #machine .sec01__inner--box .list li dl dd {
              width: 65%;
              margin-bottom: 3px;
              font-size: 14px; }
          #machine .sec01__inner--box .list li .btn_detail {
            width: 70%; }
            #machine .sec01__inner--box .list li .btn_detail a {
              padding: 10px 0; }
              #machine .sec01__inner--box .list li .btn_detail a:after {
                top: 15px; }

@media (max-width: 640px) {
  #machine .sec01 {
    margin: 0 auto 10%; }
    #machine .sec01__inner {
      max-width: 96%;
      padding: 0; }
      #machine .sec01__inner .read {
        margin-bottom: 6%;
        text-align: left; }
        #machine .sec01__inner .read + .btn_detail {
          width: 70%;
          margin: 0 auto 7%; }
          #machine .sec01__inner .read + .btn_detail a {
            padding: 5% 0; }
            #machine .sec01__inner .read + .btn_detail a:after {
              top: 16px; }
            #machine .sec01__inner .read + .btn_detail a:hover {
              background: #13b5b1; }
      #machine .sec01__inner--box {
        max-width: 90%;
        margin-bottom: 8%;
        padding: 5% 5% 3%; }
        #machine .sec01__inner--box h3 {
          margin-bottom: 5%;
          font-size: 20px; }
        #machine .sec01__inner--box .list {
          margin-bottom: 12%; }
          #machine .sec01__inner--box .list li {
            border-top: 1px solid #042a56;
            width: 90%;
            margin-right: 0;
            padding: 3% 5% 4%; }
            #machine .sec01__inner--box .list li.btm {
              border-bottom: 1px solid #042a56; }
              #machine .sec01__inner--box .list li.btm.sp_no {
                border-bottom: 0 !important; }
            #machine .sec01__inner--box .list li dl {
              display: flex;
              flex-wrap: wrap;
              margin-bottom: 4%; }
              #machine .sec01__inner--box .list li dl.btnno {
                margin-bottom: 0; }
              #machine .sec01__inner--box .list li dl dt {
                width: 35%;
                margin-bottom: 0;
                font-size: 13px;
                font-family: 'noto sans bold'; }
              #machine .sec01__inner--box .list li dl dd {
                width: 65%;
                margin-bottom: 1%;
                font-size: 13px; }
            #machine .sec01__inner--box .list li .btn_detail {
              width: 70%; }
              #machine .sec01__inner--box .list li .btn_detail a {
                padding: 4% 0; }
                #machine .sec01__inner--box .list li .btn_detail a:after {
                  top: 12px; } }
