@charset "UTF-8";
body {
  font-size: 14px; }

/*-------------------------------------------
共通設定
---h2----------------------------------------*/
.h2_box {
  text-align: center;
  color: #333;
  margin-bottom: 60px; }
  .h2_box h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 30px;
    margin: 0;
    font-weight: bold; }
  .h2_box .subhead {
    font-weight: bold; }

.sec_in {
  width: 900px;
  margin: auto; }

.markerYellow {
  background: linear-gradient(transparent 50%, #ffff00 50%); }

.h2Green {
  color: #00c5ba;
  text-align: center;
  font-size: 45px;
  font-weight: 800;
  border-bottom: 6px #00c5ba solid; }

.sp {
  background: linear-gradient(transparent 50%, #ffff00 50%);
  font-size: 32px;
  color: #3fa0ec;
  font-weight: 800; }

.red01 {
  color: #ff1d25; }

.bgBlue {
  background: #eef2fa; }

.bgBlue04 {
  background: #00c5ba; }

.bgDotBlue {
  /* ドット（水玉）模様のCSS */
  background-color: #00b4ff;
  background-image: radial-gradient(#26bfff 18%, transparent 27%), radial-gradient(#26bfff 18%, transparent 27%);
  background-position: 0 0, 7px 7px;
  background-size: 14px 14px; }

.ctaSubPc {
  width: 1000px;
  margin: 0 auto -22px auto; }

@media only screen and (max-width: 1000px) {
  .sec_in {
    width: 90%;
    margin: auto; }

  .ctaSubPc {
    width: 100%;
    margin: 0 auto -18px auto; } }
@media only screen and (max-width: 750px) {
  .sp {
    background: linear-gradient(transparent 50%, #ffff00 50%);
    font-size: 20px;
    color: #3fa0ec;
    font-weight: 800; }

  .h2Green {
    color: #00c5ba;
    text-align: center;
    font-size: 30px;
    font-weight: 800;
    border-bottom: 6px #00c5ba solid; } }
.secFv {
  height: 750px;
  background: url("../images/page/top/fv_bg.jpg");
  background-size: 1600px;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
  .secFv .fv_box {
    width: 940px;
    margin: auto; }

@media only screen and (max-width: 750px) {
  .secFv {
    height: 500px;
    background: url("../images/page/top/fv_bg_mb.jpg");
    background-position: center center; }
    .secFv .fv_box .line01 {
      font-size: 16px; }
    .secFv .fv_box .line02 {
      font-size: 30px;
      font-weight: 900; } }
/*-------------------------------------------
works_sec
-------------------------------------------*/
.works_sec {
  background: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), url("../images/page/top/bg_main.jpg") center center no-repeat;
  background-size: cover; }
  .works_sec .sec_in {
    padding: 60px 0; }
  .works_sec .works_Box {
    width: 80%;
    margin: auto; }
  .works_sec h3 {
    font-weight: bold;
    font-size: 18px;
    border-bottom: #333 1px solid;
    margin-top: 30px; }
  .works_sec .b {
    font-weight: bold; }

@media only screen and (max-width: 750px) {
  .works_sec {
    background: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), url("../images/page/top/bg_main.jpg") center center no-repeat;
    background-size: cover; }
    .works_sec .sec_in {
      padding: 60px 0; }
    .works_sec .works_Box {
      width: 100%;
      margin: auto; } }
/*-------------------------------------------
company_sec
-------------------------------------------*/
.company_sec {
  background: url("../images/page/top/company_bg.jpg");
  background-size: 1920px;
  background-position: center center;
  background-repeat: no-repeat; }
  .company_sec .sec_in {
    padding: 90px 0 90px 0; }
  .company_sec .h2_box {
    color: #fff;
    margin-bottom: 60px; }
  .company_sec .company_flBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 80%;
    margin: auto; }
  .company_sec .col {
    width: 100%;
    text-align: left;
    font-size: 16px;
    margin-bottom: 30px;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 20px 0 20px 0; }
  .company_sec .line01 {
    width: 20%;
    font-weight: bold;
    display: block; }
  .company_sec .line02 {
    width: 70%;
    font-weight: bold;
    display: block; }

@media only screen and (max-width: 750px) {
  .company_sec {
    background: url("../images/page/top/company_bg.jpg");
    background-size: cover; }
    .company_sec .sec_in {
      padding: 90px 0 90px 0; }
    .company_sec .h2_box {
      color: #fff;
      margin-bottom: 60px;
      text-shadow: -0.5px -0.5px 0.5px rgba(255, 255, 255, 0.5), 0.5px 0.5px 0.5px rgba(0, 0, 0, 0.5); }
    .company_sec .company_flBox {
      display: block;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 100%; }
    .company_sec .col {
      width: 90%;
      text-align: left;
      font-size: 14px;
      margin-bottom: 10px;
      padding: 5px 0 5px 30px;
      background-color: rgba(255, 255, 255, 0.8); }
    .company_sec .line01 {
      width: 20%;
      font-weight: bold;
      display: inline-block; } }
/*-------------------------------------------
contact_sec
-------------------------------------------*/
.contact_sec {
  background: url("../images/page/top/bg_main.jpg"); }
  .contact_sec .sec_in {
    padding: 90px 0 120px 0; }
  .contact_sec .h2_box {
    margin-bottom: 120px; }
  .contact_sec .tel {
    display: block;
    margin: 0 auto 30px auto;
    text-align: center; }
  .contact_sec .tel a {
    font-size: 22px;
    font-weight: bold; }
  .contact_sec .btn {
    background: #111;
    width: 300px;
    display: block;
    margin: auto;
    text-align: center;
    height: 50px;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 16px; }
  .contact_sec i {
    margin-right: 10px; }

@media only screen and (max-width: 750px) {
  .contact_sec {
    background: url("../images/page/top/bg_main.jpg"); }
    .contact_sec .sec_in {
      padding: 90px 0 120px 0; }
    .contact_sec .h2_box {
      margin-bottom: 60px; }
    .contact_sec .tel {
      display: block;
      margin: 0 auto 30px auto;
      text-align: center; }
    .contact_sec .tel a {
      font-size: 22px;
      font-weight: bold; }
    .contact_sec .btn {
      background: #111;
      width: 300px;
      display: block;
      margin: auto;
      text-align: center;
      height: 50px;
      color: #fff;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      font-size: 16px; }
    .contact_sec i {
      margin-right: 10px; } }
