@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
/*==========================================================
HOME -トップページ設定-
==========================================================*/
/*********************************************
 MAIN IMAGE
*********************************************/
.main-image {
  background: url(../img/home/main-image.jpg) 50% 50% no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
  padding-top: 39.7142%;
}
.main-image .main-ttl {
  background: #1a327b;
  color: #fff;
  width: 420px;
  position: absolute;
  text-align: center;
  padding: 0 0 45px;
  top: 82px;
  margin-bottom: 10px;
  left: calc((100% - 980px) * 0.5);
  z-index: 1;
}
.main-image .main-ttl .site-ttl {
  font-size: 57px;
  font-size: 3.166rem;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 1em 0 .8em;
  display: block;
  line-height: 1.0;
  position: relative;
}
.main-image .main-ttl .site-ttl span {
  display: block;
  position: absolute;
  top: calc(50% + 2em);
  left: 0;
  font-size: 32%;
  font-weight: 400;
  width: 100%;
  text-align: center;
}
.main-image .main-ttl .site-summary {
  display: block;
  padding: 0;
  width: fit-content;
  margin: 0 auto;
  font-weight: 500;
  line-height: 1.75;
  text-align: left;
}

@media only screen and (max-width: 1400px) {
  .main-image .main-ttl {
    width: 30%;
    top: 5.857vw;
    padding-bottom: 3.21%;
  }
  .main-image .main-ttl .site-ttl {
    font-size: 4.07vw;
  }
  .main-image .main-ttl .site-summary {
    font-size: 1.285vw;
  }
}
@media only screen and (max-width: 1080px) {
  .main-image .main-ttl {
    left: 9vw;
  }
}
@media only screen and (max-width: 970px) {
  .main-image .main-ttl {
    width: 40%;
    left: 15px;
    top: 15px;
  }
  .main-image .main-ttl .site-ttl {
    font-size: 5.5vw;
    padding-bottom: .5em;
  }
  .main-image .main-ttl .site-summary {
    font-size: 2vw;
  }
}
@media only screen and (max-width: 767px) {
  .main-image {
    padding-top: calc(85vh - 104px);
    background-position: 66% 0;
  }
  .main-image .main-ttl {
    width: 65%;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding-bottom: 5%;
  }
  .main-image .main-ttl .site-ttl {
    font-size: 35px;
    padding-bottom: .8em;
  }
  .main-image .main-ttl .site-summary {
    font-size: 12px;
  }
}
/*********************************************
 OUTLINE
*********************************************/
#home-outline {
  padding: 120px 0 70px;
}

@media only screen and (max-width: 970px) {
  #home-outline {
    padding: 8.57vw 0 5vw;
  }
}
/*********************************************
 WORKER
*********************************************/
#home-worker .section-contents::before, #home-worker .section-contents::after {
  content: "";
  display: block;
  position: absolute;
  width: 200px;
  height: 200px;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  top: 100px;
}
#home-worker .section-contents::before {
  background-image: url(../img/home/worker-img01.png);
  right: 100%;
}
#home-worker .section-contents::after {
  background-image: url(../img/home/worker-img02.png);
  margin-top: 20%;
  left: 100%;
}
#home-worker .txt {
  text-align: center;
  max-width: 465px;
  margin-left: auto;
  margin-right: auto;
}
#home-worker .btn-wrap {
  margin-top: 60px;
}

@media only screen and (max-width: 970px) {
  #home-worker .section-contents::before, #home-worker .section-contents::after {
    width: 150px;
    height: 150px;
    top: 30%;
  }
  #home-worker .section-contents::before {
    right: inherit;
    left: -11%;
  }
  #home-worker .section-contents::after {
    left: inherit;
    right: -11%;
    margin-top: 10%;
  }
  #home-worker .ttl-02 {
    font-size: 15px;
  }
  #home-worker .btn-wrap {
    margin-top: 4.28vw;
  }
}
@media only screen and (max-width: 767px) {
  #home-worker .section-contents::before, #home-worker .section-contents::after {
    width: 65px;
    height: 65px;
    top: 45%;
  }
  #home-worker .section-contents::before {
    right: inherit;
    left: -4%;
  }
  #home-worker .section-contents::after {
    left: inherit;
    right: -4%;
    margin-top: 15%;
  }
}
/*********************************************
 ABOUT
*********************************************/
#home-about .section-ttl {
  font-size: 56px;
  font-size: 3.11rem;
  line-height: 1.0;
}
#home-about .section-ttl strong {
  font-size: 125%;
  display: inline-block;
  position: relative;
}
#home-about .section-ttl strong span {
  position: absolute;
  display: block;
  top: calc(50% + 1.5em);
  left: 0;
  font-size: 32%;
  font-weight: 400;
  width: 100%;
  text-align: center;
  letter-spacing: .1em;
}
#home-about .box-block {
  width: calc((100% - 10px) / 3);
}
#home-about .box-block .txt {
  letter-spacing: .05em;
}
#home-about .box-block:nth-child(2) .img {
  margin-top: 45px;
  text-align: center;
}
#home-about .box-block:nth-child(2) .img img {
  width: 89%;
}
#home-about .box-block:nth-child(3) .img {
  margin-top: 65px;
}

@media only screen and (max-width: 767px) {
  #home-about .section-ttl {
    font-size: 28px;
  }
  #home-about .box-column {
    flex-direction: column;
    gap: 50px;
  }
  #home-about .box-block {
    width: 100%;
  }
  #home-about .box-block .img {
    text-align: center;
  }
  #home-about .box-block img {
    width: 70%;
  }
  #home-about .box-block:nth-child(2) .img {
    margin-top: 25px;
  }
  #home-about .box-block:nth-child(2) .img img {
    width: 70%;
  }
  #home-about .box-block:nth-child(3) .img {
    margin-top: 25px;
  }
}
/*********************************************
 POINT
*********************************************/
#home-point .box-column {
  gap: 0;
}
#home-point .box-block {
  width: calc((100% - 5.67%) / 2);
}
#home-point .box-block:last-child {
  margin-left: auto;
}

@media only screen and (max-width: 767px) {
  #home-point .box-column {
    flex-direction: column;
    gap: 50px;
  }
  #home-point .box-block {
    width: 100%;
  }
}
/*********************************************
 FLOW
*********************************************/
#home-flow {
  background: #009fc5;
  padding-top: 70px;
}
#home-flow .section-subttl {
  max-width: 14em;
  margin-left: auto;
  margin-right: auto;
}
#home-flow .num-mark {
  background-color: #1a327b;
  font-size: 40px;
  width: 1.75em;
  height: 1.75em;
  line-height: 1.75em;
}
#home-flow .box-column {
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 20px;
  row-gap: 90px;
}
#home-flow .box-block {
  width: calc((100% - (20px * 3)) / 4);
  border-radius: 10px;
  padding: 25px 15px 20px;
}
#home-flow .box-block .ttl {
  margin-bottom: .5em;
}
#home-flow .box-block .ttl .num-mark {
  margin-top: -25px;
  margin-bottom: -15px;
}
#home-flow .box-block .ttl .ls1em {
  letter-spacing: 1em;
  text-indent: 1em;
  display: inline-block;
}
#home-flow .box-block .txt {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  #home-flow {
    padding-top: 5%;
  }
  #home-flow .section-contents {
    padding-top: 12vw;
    padding-bottom: 8.21vw;
  }
  #home-flow .box-column {
    row-gap: 25px;
  }
  #home-flow .box-block {
    width: 85%;
    padding: 15px 10px 10px 80px;
  }
  #home-flow .box-block .ttl {
    font-size: 16px;
    margin-bottom: .25em;
    text-align: left;
  }
  #home-flow .box-block .ttl .num-mark {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 30px;
    position: absolute;
    left: 10px;
    top: 50%;
    right: auto;
  }
  #home-flow .box-block .ttl .ls1em {
    text-indent: 0;
  }
  #home-flow .box-block .txt {
    line-height: 1.5;
    text-align: left;
    min-height: 3em;
  }
}
/*********************************************
 SUPPORT
*********************************************/
#home-support {
  background: url(../img/common/bgimage-support.jpg) top center no-repeat;
  background-size: cover;
  padding: 120px 0;
}
#home-support .inner {
  max-width: 844px;
  background-color: #fff;
  padding: 70px;
}
#home-support .section-header {
  background: transparent;
  color: #009fc5;
}
#home-support .section-ttl {
  padding-top: 0;
}
#home-support .section-ttl .baloon-mark {
  margin: -70px auto 10px;
  transform: translateY(-50%) rotate(-5deg);
}
#home-support .section-contents {
  padding-top: 0;
  padding-bottom: 0;
}
#home-support .ttl-02 {
  color: #1a327b;
}
#home-support .disclist {
  font-size: 20px;
  line-height: 1.75;
  width: fit-content;
  margin: 50px auto 70px;
}

@media only screen and (max-width: 767px) {
  #home-support {
    padding: 15% 0;
  }
  #home-support .inner {
    padding: 20px;
  }
  #home-support .section-ttl .baloon-mark {
    margin: -20px auto 10px;
  }
  #home-support ul.disclist {
    font-size: 15px;
    margin-top: 25px;
    margin-bottom: 35px;
  }
  #home-support ul.disclist .br {
    width: 100%;
    text-align: right;
  }
  #home-support .btn-normal {
    font-size: 14px;
  }
  #home-support .btn-normal .arw-r {
    width: 20px;
    height: 20px;
    margin-left: 5px;
  }
}
