@charset "UTF-8";
body {
  font-size: 18px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  text-align: justify;
  text-justify: inter-ideograph;
  font-family: "Noto Sans JP", sans-serif;
  word-wrap: break-all;
  word-wrap: break-word;
  width: 100%;
  min-width: 1260px;
  color: #161616;
  scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  body {
    font-size: 16.4705882353px;
  }
}

.col-wht {
  color: #fff !important;
}
.col-blk {
  color: #161616 !important;
}
.col-blk2 {
  color: #181818 !important;
}
.col-red {
  color: #ff5444 !important;
}
.col-grn {
  color: #d9f2e3 !important;
}
.col-ylw {
  color: #f7ba09 !important;
}
.col-blu1 {
  color: #09a6d5 !important;
}
.col-blu2 {
  color: #e5f7fc !important;
}
.col-gry {
  color: #eeeff0 !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #161616 !important;
}
.bg-blk2 {
  background-color: #181818 !important;
}
.bg-red {
  background-color: #ff5444 !important;
}
.bg-grn {
  background-color: #d9f2e3 !important;
}
.bg-ylw {
  background-color: #f7ba09 !important;
}
.bg-blu1 {
  background-color: #09a6d5 !important;
}
.bg-blu2 {
  background-color: #e5f7fc !important;
}
.bg-gry {
  background-color: #eeeff0 !important;
}

.btn-ptn1 .btn-link, .btn-ptn2 .btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #161616;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1;
  font-weight: 800;
  border-radius: 50rem;
}
@media screen and (max-width: 768px) {
  .btn-ptn1 .btn-link, .btn-ptn2 .btn-link {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .btn-ptn1 .btn-link, .btn-ptn2 .btn-link {
    font-size: 17.6470588235px;
  }
}
.btn-ptn1 .btn-link:hover, .btn-ptn2 .btn-link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-ptn2 .btn-link {
  background: #fff;
  color: #161616;
}
.btn-ptn2 .btn-link:hover {
  color: rgba(22, 22, 22, 0.8);
}

#side-btn {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 77;
}

.ic-tel {
  display: flex;
  align-items: center;
}
.ic-tel::before {
  content: "";
  display: block;
  width: 50px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-tel.png");
  background-size: 100%;
}
.ic-mail-wht-top::before, .ic-mail-wht::before {
  content: "";
  display: block;
  width: 34px;
  aspect-ratio: 34/25;
  background-image: url("/img/common/ic-mail-wht.png");
  background-size: 100%;
  margin-bottom: 24px;
  transition: 0.3s;
}
.ic-mail-wht {
  display: flex;
  justify-content: center;
  align-items: center;
}
.ic-mail-wht::before {
  margin: 0 20px 0 0;
}
.ic-mail-blk {
  display: flex;
  align-items: center;
}
.ic-mail-blk::before {
  content: "";
  display: block;
  width: 23px;
  aspect-ratio: 23/17;
  background-image: url("/img/common/ic-mail-blk.png");
  background-size: 100%;
  margin: 0 20px 0 0;
}
.ic-line, .ic-ig {
  display: flex;
  align-items: center;
}
.ic-line::before, .ic-ig::before {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-line.png");
  background-size: 100%;
  margin-right: 25px;
}
.ic-ig::before {
  width: 40px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-ig.png");
  background-size: 100%;
}

.arw-blk, .arw-wht {
  position: relative;
}
.arw-blk::after, .arw-wht::after {
  content: "";
  display: block;
  width: 18px;
  aspect-ratio: 18/13;
  background-image: url("/img/common/arw-blk.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
.arw-blk:hover::after, .arw-wht:hover::after {
  transform: translate(-2px, -50%);
}
.arw-wht::after {
  background-image: url("/img/common/arw-wht.png");
  background-size: 100%;
}

.box-blu1 {
  position: relative;
  z-index: 1;
}
.box-blu1::before {
  content: "";
  display: block;
  width: 176px;
  aspect-ratio: 176/188;
  background: #09a6d5;
  border-radius: 0 50rem 50rem 0;
  position: absolute;
  z-index: -1;
}
.box-blu2 {
  position: relative;
  z-index: 1;
}
.box-blu2::before {
  content: "";
  display: block;
  width: 1710px;
  max-width: 89.0625%;
  aspect-ratio: 1710/330;
  background: #e5f7fc;
  border-radius: 50rem 0 0 50rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.box-blu3 {
  position: relative;
  z-index: 1;
}
.box-blu3::before {
  content: "";
  display: block;
  width: 374px;
  max-width: 19.4791666667%;
  aspect-ratio: 374/354;
  background: #e5f7fc;
  border-radius: 50rem 50rem 0 50rem;
  position: absolute;
  z-index: -1;
}
.box-blu4::after {
  content: "";
  display: block;
  width: 198px;
  max-width: 10.3125%;
  aspect-ratio: 198/98;
  border-radius: 50rem 50rem 0 0;
  background: #09a6d5;
  position: absolute;
  bottom: 0;
}
.box-red1 {
  position: relative;
  z-index: 1;
}
.box-red1::after {
  content: "";
  display: block;
  width: 83px;
  aspect-ratio: 83/168;
  border-radius: 50rem 0 0 50rem;
  background: #ff5444;
  position: absolute;
  z-index: -1;
}
.box-red2 {
  position: relative;
  z-index: 1;
}
.box-red2::after {
  content: "";
  display: block;
  width: 198px;
  max-width: 10.3125%;
  aspect-ratio: 198/98;
  background: #ff5444;
  border-radius: 50rem 50rem 0 0;
  position: absolute;
  z-index: -1;
}
.box-grn1 {
  position: relative;
  z-index: 1;
}
.box-grn1::before {
  content: "";
  display: block;
  width: 170px;
  aspect-ratio: 170/162;
  background: #d9f2e3;
  border-radius: 50rem 50rem 0 50rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.box-grn2 {
  position: relative;
  z-index: 1;
}
.box-grn2::after {
  content: "";
  display: block;
  width: 374px;
  max-width: 19.4791666667%;
  aspect-ratio: 374/354;
  background: #d9f2e3;
  border-radius: 50rem 50rem 0 50rem;
  position: absolute;
  z-index: -1;
}
.box-ylw1 {
  position: relative;
  z-index: 1;
}
.box-ylw1::after {
  content: "";
  display: block;
  width: 154px;
  max-width: 8.0208333333%;
  aspect-ratio: 154/312;
  background: #f7ba09;
  border-radius: 0 50rem 50rem 0;
  position: absolute;
  z-index: -1;
}
.box-ylw2 {
  position: relative;
  z-index: 1;
}
.box-ylw2::after {
  content: "";
  display: block;
  width: 154px;
  max-width: 8.0208333333%;
  aspect-ratio: 154/312;
  border-radius: 50rem 0 0 50rem;
  background: #f7ba09;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(0, 50%);
  z-index: -1;
}

.dot-red1 {
  position: relative;
  z-index: 1;
}
.dot-red1::before {
  content: "";
  display: block;
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #ff5444;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-150%, -100%);
  z-index: -1;
}

.hov-opa a:hover {
  opacity: 0.8;
}
.hov-img a:hover img {
  opacity: 0.8;
}
.hov-scale a img, .hov-up a img, .hov-rt a img {
  backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1, 1);
}
.hov-scale a:hover img {
  transform: scale(0.98);
}
.hov-up a:hover img {
  transform: translateY(-3px);
}
.hov-rt a:hover img {
  transform: translateX(3px);
}
.hov-col-red a:hover {
  color: #ff5444 !important;
}

.tbl {
  width: 100%;
}
.tbl td {
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
.tbl-ptn1 th, .tbl-ptn1 td {
  padding: 20px 4%;
  vertical-align: middle;
  font-weight: 500;
  padding: 30px 0 30px 2%;
}
.tbl-ptn1 th {
  width: 30%;
  color: #ff5444;
}
.tbl-ptn1 td {
  white-space: pre-wrap;
}
.tbl-ptn1 tr:not(:last-child) th, .tbl-ptn1 tr:not(:last-child) td {
  border-bottom: solid 1px #eeeff0;
}

[class^=cts-] {
  margin: 0 auto;
}

.cts-1080 {
  width: 100%;
  max-width: 1080px;
}
.cts-1200 {
  width: 100%;
  max-width: 1200px;
}
.cts-1280 {
  width: 100%;
  max-width: 1280px;
}

.layout-clm-2 {
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.layout-clm-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.layout-clm-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.list-nav .nav-item {
  line-height: 1;
}
.list-reason .reason-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  padding: 3vw 0;
  border-radius: 20px;
  text-align: center;
  background: #fff;
}
.list-reason .reason-txt {
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  margin-top: 2vw;
}
@media screen and (max-width: 768px) {
  .list-reason .reason-txt {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason .reason-txt {
    font-size: 23.5294117647px;
  }
}
.list-num .list-item {
  position: relative;
}
.list-num .list-item::before {
  content: "01";
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1;
  font-weight: 800;
  color: #fff;
  background: #ff5444;
  width: 70px;
  min-width: 70px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .list-num .list-item::before {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-num .list-item::before {
    font-size: 23.5294117647px;
  }
}
.list-num .list-item:nth-child(2)::before {
  content: "02";
}
.list-num .list-item:nth-child(3)::before {
  content: "03";
}
.list-num .list-item:nth-child(4)::before {
  content: "04";
}
.list-num .list-item:nth-child(5)::before {
  content: "05";
}
.list-num .list-item:nth-child(6)::before {
  content: "06";
}
.list-news time {
  display: block;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #6f6f6f;
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .list-news time {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news time {
    font-size: 14.1176470588px;
  }
}
.list-news .news-img {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 20px;
  overflow: hidden;
}
.list-news .news-ttl {
  font-weight: 500;
  margin-top: 10px;
}
.list-news .com-tag-sub {
  margin-top: 15px;
}
.list-reason-lower .reason-ttl {
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  background: #ff5444;
  color: #fff;
  padding: 25px 50px;
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .list-reason-lower .reason-ttl {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason-lower .reason-ttl {
    font-size: 23.5294117647px;
  }
}
.list-reason-lower .reason-ttl .inner {
  transform: translateY(10px);
}
.list-reason-lower .reason-ttl::before {
  content: "01";
  width: 70px;
  min-width: 70px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #fff;
  color: #ff5444;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-size: 30px;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .list-reason-lower .reason-ttl::before {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason-lower .reason-ttl::before {
    font-size: 23.5294117647px;
  }
}
.list-reason-lower .reason-bx {
  padding: 40px 50px;
}
.list-reason-lower .reason-item {
  width: 100%;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
}
.list-reason-lower .reason-item:nth-child(2) .reason-ttl::before {
  content: "02";
}
.list-reason-lower .reason-item:nth-child(3) .reason-ttl::before {
  content: "03";
}
.list-reason-lower .reason-item:nth-child(4) .reason-ttl::before {
  content: "04";
}
.list-reason-lower .reason-item:nth-child(5) .reason-ttl::before {
  content: "05";
}
.list-check .check-item {
  display: flex;
  align-items: flex-start;
}
.list-check .check-item::before {
  content: "";
  display: block;
  width: 28px;
  min-width: 28px;
  aspect-ratio: 28/29;
  background-image: url("/img/common/ic-check.png");
  background-size: 100%;
  margin-right: 10px;
}
.list-flow .flow-item {
  width: 100%;
  padding: 40px;
  border-radius: 20px;
  display: flex;
  align-items: flex-start;
  background: #fff;
}
.list-flow .flow-item:not(:last-child)::after {
  content: "";
  display: block;
  width: 100px;
  max-width: 100%;
  aspect-ratio: 104/40;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #ff5444;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0);
}
.list-flow .flow-bx {
  margin: 10px 30px 0 30px;
}
.list-flow .flow-ttl {
  font-size: 30px;
  font-size: 3rem;
  font-weight: bold;
  color: #ff5444;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .list-flow .flow-ttl {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow .flow-ttl {
    font-size: 23.5294117647px;
  }
}
.list-flow.list-num .list-item::before {
  position: static;
  transform: none;
}
.list-charm {
  row-gap: 70px;
}
.list-charm .charm-ttl {
  font-size: 27px;
  font-size: 2.7rem;
  font-weight: bold;
  color: #ff5444;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .list-charm .charm-ttl {
    font-size: 37px;
    font-size: 4.8177083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-charm .charm-ttl {
    font-size: 21.7647058824px;
  }
}
.list-charm .charm-item {
  background: #fff;
  border-radius: 20px;
  padding: 80px 30px 40px 30px;
}

.com-tag-main .list-tag {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
}
.com-tag-main .tag-link {
  display: block;
  background: #161616;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 10px 20px;
}
@media screen and (max-width: 768px) {
  .com-tag-main .tag-link {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-tag-main .tag-link {
    font-size: 16.4705882353px;
  }
}
.com-tag-main .tag-link:hover {
  opacity: 0.8;
}
.com-tag-sub .list-tag {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 15px;
}
.com-tag-sub .tag-item {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .com-tag-sub .tag-item {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-tag-sub .tag-item {
    font-size: 14.1176470588px;
  }
}
.com-tag-sub .tag-item::before {
  content: "";
  display: block;
  width: 8px;
  min-width: 8px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #161616;
  margin-right: 6px;
}
.com-gmap {
  max-width: 100%;
}
.com-gmap iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
.com-layout {
  display: flex;
}
.com-tel .tel {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1;
  letter-spacing: 0.05em;
}
.com-sdw {
  box-shadow: 0px 0px 45px 5px rgba(22, 22, 22, 0.1);
}

.ttl-main .eng, .ttl-main .ruby {
  display: block;
}
.ttl-main .eng {
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-size: 70px;
  font-size: 7rem;
  line-height: 1;
  font-weight: 800;
}
@media screen and (max-width: 768px) {
  .ttl-main .eng {
    font-size: 80px;
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .eng {
    font-size: 47.0588235294px;
  }
}
.ttl-main .ruby {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 600;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .ttl-main .ruby {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .ruby {
    font-size: 22.3529411765px;
  }
}
.ttl-main.txt-aln-c {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ttl-sub {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
  border-left: solid #161616 6px;
  border-bottom: solid 1px #ddd;
  background: #f5f5f5;
  padding: 10px 20px 15px 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .ttl-sub {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sub {
    font-size: 20px;
  }
}

.txt-plain {
  line-height: 2.2222222222;
}

.ft-40 {
  line-height: 1.75;
}

.marker-ylw {
  background: linear-gradient(transparent 10%, #f7ba09 10%);
}

.hd-bar {
  padding: 0 0 0 3.65%;
}
.hd-bar-bx {
  margin-top: 1vw;
}
.hd-bar .btn-contact {
  aspect-ratio: 220/180;
}
.hd-bar .btn-contact .btn-link {
  border-radius: 0 0 0 30px;
}
.hd-bar .btn-contact .btn-link:hover {
  color: rgba(255, 255, 255, 0.8) !important;
}
.hd-bar .btn-contact .btn-link:hover::before {
  transform: translateY(2px);
}

.mv, .sv {
  padding: 40px 0;
}
.mv img, .sv img {
  display: block;
  width: 100%;
}

.sv-img {
  width: 1036px;
  max-width: 53.9583333333%;
}
.sv-ttl {
  position: absolute;
  top: 50%;
  left: 10.42%;
  transform: translate(0, -50%);
  z-index: 1;
}
.sv-ttl-about {
  width: 549px;
  max-width: 28.59375%;
}
.sv-ttl-blog {
  width: 298px;
  max-width: 15.5208333333%;
}
.sv-ttl-company {
  width: 311px;
  max-width: 16.1979166667%;
}
.sv-ttl-contact {
  width: 460px;
  max-width: 23.9583333333%;
}
.sv-ttl-complete {
  width: 615px;
  max-width: 32.03125%;
}
.sv-ttl-complete {
  width: 869px;
  max-width: 45.2604166667%;
}
.sv-ttl-privacy {
  width: 781px;
  max-width: 40.6770833333%;
}
.sv-ttl-recruit {
  width: 325px;
  max-width: 16.9270833333%;
}
.sv-ttl-service {
  width: 316px;
  max-width: 16.4583333333%;
}
.sv-ttl-sitemap {
  width: 476px;
  max-width: 24.7916666667%;
}
.sv.box-blu1::before {
  width: 176px;
  max-width: 9.1666666667%;
  top: 50px;
  left: 0;
}
.sv.box-red1::after {
  width: 83px;
  max-width: 4.3229166667%;
  bottom: 50px;
  left: 0;
}

@media screen and (max-width: 1340px) {
  .hd-bar .com-logo {
    width: 300px;
    max-width: 100%;
  }
}
.top-about {
  padding: 180px 0 90px 0;
}
.top-about .layout-clm-2:first-child {
  margin-bottom: 60px;
}
.top-about.box-grn1::before {
  top: 330px;
  left: 10.21%;
}

.top-video {
  padding: 100px 0 0;
}
.top-video .video-ttl {
  margin-bottom: 60px;
}
.top-video .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.top-video .youtube iframe {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.top-video.box-ylw1::after {
  left: 0;
  bottom: 0;
  transform: translateY(50%);
}

.top-reason {
  padding: 140px 0 0;
}
.top-reason .reason-ttl {
  margin-bottom: 100px;
}
.top-reason .btn {
  margin-top: 70px;
}
.top-reason.box-grn2::after {
  right: 7.29%;
  bottom: 0;
}

.top-works {
  padding: 260px 0 190px 0;
}
.top-works .ttl-main {
  margin-bottom: 50px;
}
.top-works h3 {
  margin-bottom: 30px;
}
.top-works .img {
  margin: 0 auto 0 -470px;
}
.top-works .btn {
  margin-top: 50px;
}
.top-works.box-red2::after {
  right: 5.21%;
  bottom: 0;
}

.top-recruit {
  padding: 160px 0 0;
}
.top-recruit .ttl-main,
.top-recruit h3 {
  margin-bottom: 50px;
}
.top-recruit .btn {
  margin-top: 50px;
}

.top-company {
  padding: 160px 0 0;
}
.top-company .bnr::after {
  content: "";
  display: block;
  width: 519px;
  max-width: 100%;
  height: 100%;
  background-image: url("/img/top/company-img.png");
  background-size: cover;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  transition: 0.3s;
}
.top-company .bnr:hover::after {
  transform: scale(104%);
  opacity: 0.8;
}

.top-news {
  padding: 200px 0 130px 0;
}
.top-news .ttl-main {
  margin-bottom: 50px;
}
.top-news .btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.top-news.box-blu3::before {
  top: 0;
  left: 1.82%;
}

#ctn-lower article {
  padding: 120px 0;
}
#ctn-lower .ttl-main {
  margin-bottom: 60px;
}
#ctn-lower .box-grn1::before {
  top: 0;
  left: 10.21%;
  transform: translateY(170px);
}

.lower-sccept, .lower-charm, .lower-accept {
  position: relative;
  z-index: 1;
}
.lower-sccept.box-blu4::after, .lower-charm.box-blu4::after, .lower-accept.box-blu4::after {
  left: 5.21%;
}
.lower-recruit .com-base, .lower-company .com-base {
  padding: 50px;
}

.lower-reason.box-blu3::before {
  bottom: 0;
  right: 7.29%;
  transform: translateY(-280%);
}
.lower-reason.box-grn2::after {
  top: 0;
  left: 5.21%;
  transform: translateY(350%);
}
.lower-reason .box-blu4::after {
  right: 3.39%;
}

.lower-accept .com-base {
  padding: 40px;
}

.lower-area .obj-line::after {
  content: "";
  display: block;
  width: calc(100% + 50px);
  aspect-ratio: 768/49;
  background-image: url("/img/service/area-line.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(-50px, 100%);
  z-index: -1;
}

.lower-flow.box-blu3::before {
  left: 9.11%;
  bottom: 0;
  transform: translateY(-80%);
}
.lower-flow.box-grn2::after {
  top: 0;
  right: 8.59%;
  transform: translateY(50%);
}

.lower-recruit .com-base:not(:last-child) {
  margin-bottom: 8vw;
}

.lower-greeting .box-blu3 {
  position: static;
}
.lower-greeting .box-blu3::before {
  top: 50%;
  left: 21.35%;
  transform: translate(0, -20%);
}
.lower-greeting.box-ylw2::after {
  transform: translate(0, -100%);
}

#com-contact {
  background: url("/img/common/contact-bg.png") center center no-repeat;
  background-size: cover;
  padding: 260px 0 170px 0;
}
#com-contact .ttl-main {
  margin-bottom: 50px;
}
#com-contact .com-tel {
  padding: 20px 0;
}

#footer {
  padding: 100px 0 320px 0;
}

#ft-nav .nav-link {
  color: #fff;
}/*# sourceMappingURL=style.css.map */