/* ==================================================
 * Color set
 * ================================================== */
/* ==================================================
 * Font
 * ================================================== */
/* ==================================================
 * width
 * ================================================== */
/* ==================================================
 * layout
 * ================================================== */
/* ==================================================
 * bg
 * ================================================== */
/* ==================================================
 * font text
 * ================================================== */
/* ==================================================
 * other
 * ================================================== */
.btn-01 a, .btn-01 .btn-link, .btn-02 a, .btn-02 .btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 700;
}
.btn-01 a:hover, .btn-01 .btn-link:hover, .btn-02 a:hover, .btn-02 .btn-link:hover {
  color: rgba(0, 0, 0, 0.7);
}
.btn-01 a, .btn-01 .btn-link {
  background: #f68c14;
  border-radius: 5px;
}
.btn-02 a, .btn-02 .btn-link {
  border-bottom: solid 3px #f68c14;
  padding-bottom: 10px;
}

#side-bar {
  position: fixed;
  right: 20px;
  bottom: 90px;
  z-index: 88;
}

.ic-tel {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.ic-tel::before {
  content: "";
  display: block;
  transition: 0.3s;
  width: 36px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-tel.png");
  background-size: 100%;
  transform: translate(0, 5px);
}
.ic-mail {
  display: flex;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.ic-mail::before {
  content: "";
  display: block;
  transition: 0.3s;
  width: 36px;
  aspect-ratio: 36/24;
  background-image: url("/img/common/ic-mail.png");
  background-size: 100%;
}

.arw-rb-grn {
  position: relative;
  z-index: 1;
}
.arw-rb-grn::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 20px;
  aspect-ratio: 1/1;
  clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  background: #1f8885;
  right: 0;
  bottom: 0;
}
.arw-lt-ylw {
  position: relative;
  z-index: 1;
}
.arw-lt-ylw::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 20px;
  aspect-ratio: 1/1;
  clip-path: polygon(100% 0%, 0% 0%, 0% 100%);
  background: #febe26;
  top: 0;
  left: 0;
}

.obj-people {
  position: relative;
  z-index: 1;
}
.obj-people::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 175px;
  max-width: 100%;
  aspect-ratio: 175/343;
  background-image: url("/img/common/illust-people.png");
  background-size: 100%;
}

.deco-bf-float, .deco-af-float,
.obj-bf-float,
.obj-af-float,
.bg-bf-float,
.bg-af-float {
  position: relative;
  z-index: 1;
}
.deco-bf::before, .deco-af::after,
.obj-bf::before,
.obj-af::after,
.bg-bf::before,
.bg-af::after {
  content: "";
  display: block;
  transition: 0.3s;
}
.deco-bf-float::before, .deco-af-float::after,
.obj-bf-float::before,
.obj-af-float::after,
.bg-bf-float::before,
.bg-af-float::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
}

.tbl {
  width: 100%;
}
.tbl td {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
.tbl-info th, .tbl-info td, .tbl-recruit th, .tbl-recruit td {
  padding: 22px 20px;
  border-bottom: solid 3px #febe26;
}
.tbl-info th, .tbl-recruit th {
  width: 200px;
  max-width: 100%;
  font-weight: 700;
  text-align: right;
  position: relative;
  z-index: 1;
}
.tbl-info td, .tbl-recruit td {
  font-weight: 500;
}
.tbl-info tr:first-child th::before, .tbl-recruit tr:first-child th::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 36px;
  aspect-ratio: 36/24;
  background-image: url("/img/common/deco-plug.png");
  background-size: 100%;
  right: 100%;
  bottom: 0;
  transform: translate(0, 50%);
}
.tbl-recruit th {
  text-align: center;
}

.com-layout {
  display: flex;
}
.com-tel .tel {
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
}
.com-contbx, .com-txtbx {
  display: flex;
  flex-direction: column;
}
.com-bg-mountain {
  background: url("/img/common/illust-mountain.png") right bottom no-repeat;
  background-size: 25.68%;
}
.com-bg-elect {
  background: url("/img/common/illust-electric.png") left top no-repeat;
  background-size: 42.71%;
}

.layout-clm-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-2 .list-item,
.layout-clm-2 .layout-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-2-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-2-c .list-item,
.layout-clm-2-c .layout-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
}
.layout-clm-3 .list-item,
.layout-clm-3 .layout-item {
  width: calc((100% - 120px) / 3);
}
.layout-clm-3-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
}
.layout-clm-3-c .list-item,
.layout-clm-3-c .layout-item {
  width: calc((100% - 120px) / 3);
}
.layout-clm-4 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-4 .list-item,
.layout-clm-4 .layout-item {
  width: calc((100% - 120px) / 4);
}
.layout-clm-4-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-4-c .list-item,
.layout-clm-4-c .layout-item {
  width: calc((100% - 120px) / 4);
}

.list-news-top .list-item, .list-news-low .list-item, .list-privacy .list-item {
  width: 100%;
}
.list-news-top time {
  width: 165px;
  max-width: 100%;
  display: block;
  line-height: 1;
  border-right: solid 2px #febe26;
}
.list-news-top time, .list-news-top__bx {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.list-news-top__item {
  background: #fefbe7;
  border-radius: 5px;
}
.list-news-top__link {
  display: flex;
  padding: 20px 50px;
}
.list-news-top__bx {
  width: 615px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  padding: 5px 0 5px 30px;
}
.list-news-top__ttl {
  width: 100%;
  overflow-wrap: break-word;
  word-break: break-all;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-align: left;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .list-news-top__ttl {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news-top__ttl {
    font-size: 17.3333333333px;
  }
}
.list-life a {
  display: block;
  position: relative;
}
.list-life a:hover dd {
  transform: translate(5px, 5px);
  color: rgba(0, 0, 0, 0.8);
}
.list-life dd {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  transform: translate(0, 5px);
  transition: 0.3s;
  width: 220px;
  max-width: 100%;
  background: #f68c14;
  border-radius: 5px;
  padding: 8px 15px;
  text-align: center;
  font-weight: 700;
  line-height: 1.4545454545;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .list-life dd {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-life dd {
    font-size: 22.6666666667px;
  }
}
.list-life__item:last-child dd {
  text-align: left;
  font-size: 22px;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .list-life__item:last-child dd {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-life__item:last-child dd {
    font-size: 21.3333333333px;
  }
}
.list-reason__item {
  display: flex;
  -moz-column-gap: 35px;
       column-gap: 35px;
}
.list-reason__item:nth-child(2) {
  justify-content: center;
}
.list-reason__item:last-child {
  justify-content: flex-end;
}
.list-reason .ttl, .list-reason dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.list-reason .ttl {
  border-right: solid 3px #f68c14;
  padding-right: 30px;
  color: #f68c14;
  font-weight: 900;
}
.list-reason .ttl .en {
  line-height: 1;
  font-size: 26px;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .list-reason .ttl .en {
    font-size: 36px;
    font-size: 4.6875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason .ttl .en {
    font-size: 24px;
  }
}
.list-reason .ttl .num {
  position: relative;
  z-index: 1;
}
.list-reason .ttl .num::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-text-stroke: 7px #f68c14;
  text-stroke: 7px #f68c14;
  paint-order: stroke fill;
  stroke-linejoin: round;
}
.list-reason .ttl .num {
  color: #fefbe7;
  line-height: 0.8em;
  font-size: 110px;
  font-size: 11rem;
}
@media screen and (max-width: 768px) {
  .list-reason .ttl .num {
    font-size: 120px;
    font-size: 15.625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason .ttl .num {
    font-size: 80px;
  }
}
.list-reason dl {
  width: 510px;
  max-width: 100%;
  row-gap: 15px;
}
.list-reason dl dt {
  font-weight: 700;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .list-reason dl dt {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-reason dl dt {
    font-size: 28px;
  }
}
.list-reason dl dd {
  width: 490px;
  max-width: 100%;
}
.list-works a {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.list-works a:hover dl {
  opacity: 0.8;
}
.list-works .img {
  width: 100%;
  aspect-ratio: 1/1;
  border: solid 3px #1f8885;
  border-radius: 5px;
  overflow: hidden;
}
.list-works .bx {
  width: 100%;
  padding: 15px 20px;
}
.list-works dl {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 15px;
       column-gap: 15px;
  transition: 0.3s;
}
.list-works dl dt, .list-works dl dd {
  line-height: 1.6666666667;
}
.list-works dl dt {
  font-weight: 700;
  color: #1f8885;
  white-space: nowrap;
}
.list-works dl dd {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-align: left;
}
.list-check__item {
  display: flex;
  align-items: center;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
.list-check__item::before {
  content: "";
  display: block;
  transition: 0.3s;
  width: 17px;
  min-width: 17px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-check.png");
  background-size: 100%;
}
.list-menu__item {
  width: 280px;
  max-width: 100%;
}
.list-menu a {
  width: 100%;
}
.list-menu .ic-service, .list-menu .ic-works, .list-menu .ic-company {
  display: flex;
  align-items: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.list-menu .ic-service::before, .list-menu .ic-works::before, .list-menu .ic-company::before {
  content: "";
  display: block;
  transition: 0.3s;
}
.list-menu .ic-service::before {
  width: 22px;
  aspect-ratio: 22/63;
  background-image: url("/img/common/menu-ic-service.png");
  background-size: 100%;
}
.list-menu .ic-works::before {
  width: 35px;
  aspect-ratio: 35/54;
  background-image: url("/img/common/menu-ic-works.png");
  background-size: 100%;
}
.list-menu .ic-company::before {
  width: 47px;
  aspect-ratio: 47/54;
  background-image: url("/img/common/menu-ic-company.png");
  background-size: 100%;
}
.list-service dl, .list-service-detail dl {
  display: flex;
}
.list-service dl.day, .list-service-detail dl.day {
  align-items: flex-start;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.list-service dl.cont, .list-service-detail dl.cont {
  flex-direction: column;
  row-gap: 5px;
}
.list-service dl.cont dd, .list-service-detail dl.cont dd {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  text-align: left;
  line-height: 1.6666666667;
}
.list-service dl dt, .list-service-detail dl dt {
  color: #1f8885;
  font-weight: 700;
  white-space: nowrap;
}
.list-service {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 990px;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 100px;
}
.list-service__item {
  width: 460px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}
.list-service .ttl {
  font-weight: 700;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-align: left;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .list-service .ttl {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-service .ttl {
    font-size: 28px;
  }
}
.list-service .img {
  width: 100%;
  aspect-ratio: 460/300;
  border: solid 3px #1f8885;
  border-radius: 5px;
  overflow: hidden;
}
.list-service .bx {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.list-service .btn {
  width: 184px;
  max-width: 100%;
  margin-left: auto;
}
.list-service .btn a {
  width: 100%;
}
.list-thumb {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.list-thumb .list-item,
.list-thumb .layout-item {
  width: calc((100% - 60px) / 3);
}
.list-thumb__item {
  aspect-ratio: 1/1;
  border: solid 3px #1f8885;
  border-radius: 5px;
  overflow: hidden;
}
.list-feature {
  gap: 50px 115px;
}
.list-feature__item,
.list-feature .bx {
  display: flex;
  flex-direction: column;
}
.list-feature__item {
  width: 363px;
  max-width: 100%;
  row-gap: 40px;
}
.list-feature .num {
  display: flex;
  justify-content: center;
}
.list-feature .num p {
  position: relative;
  z-index: 1;
}
.list-feature .num p::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-text-stroke: 8px #f68c14;
  text-stroke: 8px #f68c14;
  paint-order: stroke fill;
  stroke-linejoin: round;
}
.list-feature .num p {
  color: #fff;
  line-height: 0.9em;
  font-weight: 900;
  font-size: 200px;
  font-size: 20rem;
}
@media screen and (max-width: 768px) {
  .list-feature .num p {
    font-size: 210px;
    font-size: 27.34375vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-feature .num p {
    font-size: 140px;
  }
}
.list-feature .bx {
  width: 100%;
  height: 100%;
  row-gap: 20px;
  background: #edece8;
  padding: 110px 40px 40px;
  border-radius: 10px;
  position: relative;
  z-index: 1;
}
.list-feature .ic {
  width: 230px;
  max-width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -35%);
  z-index: -1;
}
.list-feature .ttl, .list-feature .txt {
  text-align: center;
}
.list-feature .ttl {
  font-weight: 700;
  line-height: 1.5;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .list-feature .ttl {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-feature .ttl {
    font-size: 28px;
  }
}
.list-job {
  gap: 60px 100px;
}
.list-job__item {
  width: 438px;
  max-width: 100%;
  position: relative;
}
.list-job .btn {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(10px, 10px);
  z-index: 1;
}
.list-job .btn-link {
  padding: 10px 30px;
  background: #f68c14;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .list-job .btn-link {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-job .btn-link {
    font-size: 22.6666666667px;
  }
}
.list-staff__item {
  width: 296px;
  max-width: 100%;
}
.list-staff a {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}
.list-staff .img {
  width: 100%;
  aspect-ratio: 296/348;
  border-radius: 5px;
  overflow: hidden;
}
.list-staff .ttl {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-align: left;
  text-align: center;
  font-weight: 700;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .list-staff .ttl {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-staff .ttl {
    font-size: 22.6666666667px;
  }
}
.list-staff .arw-rb-grn::after {
  z-index: 1;
}
.list-flow__item {
  background: #fefbe7;
  border-radius: 5px;
  display: flex;
  position: relative;
  z-index: 1;
}
.list-flow__item:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 106px;
  max-width: 100%;
  aspect-ratio: 106/20;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #f68c14;
  top: 100%;
  left: 50%;
  transform: translate(-50%, calc(37.5px - 50%));
}
.list-flow .ic {
  width: 100px;
  max-width: 100%;
  background: #f68c14;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px 0 0 5px;
}
.list-flow dl {
  width: 765px;
  max-width: 100%;
  padding: 25px 40px;
}
.list-flow dt {
  font-weight: 700;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .list-flow dt {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow dt {
    font-size: 22.6666666667px;
  }
}
.list-other {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.list-other .list-item,
.list-other .layout-item {
  width: calc((100% - 40px) / 3);
}
.list-other__item {
  aspect-ratio: 1/1;
  border-radius: 5px;
  overflow: hidden;
}

.tag-main__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  font-weight: 700;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .tag-main__list {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tag-main__list {
    font-size: 20px;
  }
}
.tag-main__link {
  display: block;
  background: #febe26;
  padding: 10px 20px;
  border-radius: 4px;
}
.tag-main__link:hover {
  opacity: 0.8;
}
.tag-sub__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .tag-sub__list {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tag-sub__list {
    font-size: 16px;
  }
}
.tag-sub__item {
  line-height: 1;
  background: #febe26;
  padding: 3px 5px 5px 5px;
}

.ttl-main {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.ttl-main .ja {
  font-weight: 700;
  font-size: 50px;
  font-size: 5rem;
}
@media screen and (max-width: 768px) {
  .ttl-main .ja {
    font-size: 60px;
    font-size: 7.8125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .ja {
    font-size: 40px;
  }
}
.ttl-main .ja em {
  font-size: 70px;
  font-size: 7rem;
}
@media screen and (max-width: 768px) {
  .ttl-main .ja em {
    font-size: 80px;
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .ja em {
    font-size: 53.3333333333px;
  }
}
.ttl-main .en {
  color: #1f8885;
  font-weight: 700;
  line-height: 1;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .ttl-main .en {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .en {
    font-size: 17.3333333333px;
  }
}
.ttl-main.plain .ja::first-letter {
  color: #f68c14;
  font-size: 70px;
  font-size: 7rem;
}
@media screen and (max-width: 768px) {
  .ttl-main.plain .ja::first-letter {
    font-size: 80px;
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main.plain .ja::first-letter {
    font-size: 53.3333333333px;
  }
}
.ttl-sub {
  border-left: solid #f68c14 6px;
  border-bottom: solid 1px #ccc;
  background: #f5f5f5;
  padding: 10px 20px 15px 20px;
  margin-bottom: 30px;
  font-weight: 700;
  font-size: 24px;
  font-size: 2.4rem;
}
@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: 22.6666666667px;
  }
}
.ttl-01 {
  font-weight: 700;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .ttl-01 {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-01 {
    font-size: 28px;
  }
}
.ttl-01 span {
  display: inline-block;
  padding: 0 25px;
  position: relative;
  z-index: 1;
}
.ttl-01 span::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 100%;
  height: 15px;
  background: #f68c14;
  border-radius: 5px;
  left: 0;
  bottom: 0;
}
.ttl-02 {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  text-align: center;
  color: #1f8885;
  font-weight: 700;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .ttl-02 {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-02 {
    font-size: 22.6666666667px;
  }
}
.ttl-02 span {
  background: #edece8;
  padding: 0 25px;
}
.ttl-02::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 36px;
  aspect-ratio: 36/24;
  background-image: url("/img/common/deco-plug.png");
  background-size: 100%;
  background-color: #edece8;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.ttl-02::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 100%;
  height: 3px;
  background: #febe26;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  z-index: -2;
}
.ttl-03 {
  text-align: center;
  font-weight: 700;
  font-size: 42px;
  font-size: 4.2rem;
}
@media screen and (max-width: 768px) {
  .ttl-03 {
    font-size: 52px;
    font-size: 6.7708333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-03 {
    font-size: 34.6666666667px;
  }
}
.ttl-04 {
  background: #f68c14;
  padding: 20px;
  border-radius: 5px;
  text-align: center;
  font-weight: 700;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .ttl-04 {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-04 {
    font-size: 22.6666666667px;
  }
}

.txt-plain, .txt-01 {
  line-height: 2;
}
.txt-01 {
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .txt-01 {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .txt-01 {
    font-size: 20px;
  }
}

.header-nav__list,
.drawer-nav__list,
.footer-nav__list,
.footer-sub__list {
  font-weight: 700;
}
.header-nav__item,
.drawer-nav__item,
.footer-nav__item,
.footer-sub__item {
  line-height: 1;
}
.header-nav__link:hover,
.drawer-nav__link:hover,
.footer-nav__link:hover,
.footer-sub__link:hover {
  opacity: 0.8;
}

.header-nav__item:nth-child(1) a::before,
.drawer-nav__item:nth-child(1) a::before {
  background: url("/img/common/nav-ic-01.png");
}
.header-nav__item:nth-child(2) a::before,
.drawer-nav__item:nth-child(2) a::before {
  background: url("/img/common/nav-ic-02.png");
}
.header-nav__item:nth-child(3) a::before,
.drawer-nav__item:nth-child(3) a::before {
  background: url("/img/common/nav-ic-03.png");
}
.header-nav__item:nth-child(4) a::before,
.drawer-nav__item:nth-child(4) a::before {
  background: url("/img/common/nav-ic-04.png");
}
.header-nav__item:nth-child(5) a::before,
.drawer-nav__item:nth-child(5) a::before {
  background: url("/img/common/nav-ic-05.png");
}
.header-nav__link::before,
.drawer-nav__link::before {
  content: "";
  display: block;
  transition: 0.3s;
  width: 47px;
  height: 54px;
  background-position: center center !important;
  background-size: auto !important;
  background-repeat: no-repeat !important;
}

.header-nav__list {
  display: flex;
}
.header-nav__item {
  padding: 0 33px;
  position: relative;
  z-index: 1;
}
.header-nav__item:not(:first-child)::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 4px;
  aspect-ratio: 4/54;
  background-image: url("/img/common/header-nav-line.png");
  background-size: 100%;
  left: 0;
  bottom: 0;
}
.header-nav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 10px;
}
.header-nav__link:hover::before {
  transform: translate(0, -2px);
}

.footer-nav__item:not(:first-child),
.footer-sub__item:not(:first-child) {
  border-left: solid 1px #000;
}

.footer-nav__list {
  display: flex;
  justify-content: center;
}
.footer-nav__item {
  padding: 0 30px;
}

.footer-sub {
  margin-top: 35px;
}
.footer-sub__list {
  display: flex;
  justify-content: center;
  font-weight: 400;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .footer-sub__list {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .footer-sub__list {
    font-size: 16px;
  }
}
.footer-sub__item {
  padding: 0 20px;
}

.header-bar {
  width: 100%;
  height: 120px;
  background: url("/img/common/header-bar-bg.jpg") center center no-repeat;
  background-size: cover;
}
.header-bar .com-logo {
  margin-left: 40px;
}

.mv, .sv {
  width: 100%;
  position: relative;
  z-index: 1;
}
.mv img, .sv img {
  display: block;
  width: 100%;
}

.mv {
  aspect-ratio: 1920/850;
  background: url("/img/top/mv.jpg") center center no-repeat;
  background-size: cover;
}
.mv-cc {
  font-weight: 700;
  display: flex;
  flex-direction: column;
  row-gap: 1.9vw;
  position: absolute;
  top: 50%;
  left: 21.88%;
  transform: translate(0, -65%);
}
.mv-cc .main {
  line-height: 1.7592592593;
  font-size: 54px;
  font-size: 2.8125vw;
}
@media screen and (max-width: 1260px) {
  .mv-cc .main {
    font-size: 36px;
  }
}
@media screen and (min-width: 1920px) {
  .mv-cc .main {
    font-size: 54px;
  }
}
.mv-cc .en {
  color: #fff;
  line-height: 1;
  font-size: 16px;
  font-size: 0.8333333333vw;
}
@media screen and (max-width: 1260px) {
  .mv-cc .en {
    font-size: 10.6666666667px;
  }
}
@media screen and (min-width: 1920px) {
  .mv-cc .en {
    font-size: 16px;
  }
}

.sv {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sv-img {
  width: 1137px;
  max-width: 59.21875%;
  margin: 0 0 0 auto;
}
.sv-bx {
  width: 780px;
  max-width: 40.625%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  -moz-column-gap: 3.85%;
       column-gap: 3.85%;
}
.sv-bx::before {
  content: "";
  display: block;
  transition: 0.3s;
}
.sv-bx.company::before {
  width: 7.69%;
  aspect-ratio: 60/70;
  background-image: url("/img/company/sv-deco.png");
  background-size: 100%;
}
.sv-bx.recruit::before {
  width: 9.62%;
  aspect-ratio: 75/44;
  background-image: url("/img/recruit/sv-deco.png");
  background-size: 100%;
}
.sv-bx.service::before {
  width: 4.23%;
  aspect-ratio: 33/93;
  background-image: url("/img/service/sv-deco.png");
  background-size: 100%;
}
.sv-bx.works::before {
  width: 6.03%;
  aspect-ratio: 47/73;
  background-image: url("/img/works/sv-deco.png");
  background-size: 100%;
}
.sv-bx.blog::before, .sv-bx.contact::before, .sv-bx.complete::before, .sv-bx.privacy::before, .sv-bx.site::before, .sv-bx.notfound::before {
  width: 5.64%;
  aspect-ratio: 44/69;
  background-image: url("/img/common/sv-deco.png");
  background-size: 100%;
}
.sv-ttl {
  font-weight: 700;
  font-size: 50px;
  font-size: 2.6041666667vw;
}
@media screen and (max-width: 1260px) {
  .sv-ttl {
    font-size: 33.3333333333px;
  }
}
@media screen and (min-width: 1920px) {
  .sv-ttl {
    font-size: 50px;
  }
}
.sv-ttl span {
  display: inline-block;
  letter-spacing: 0.04em;
  border-bottom: solid 3px #f68c14;
  padding-bottom: 0.8vw;
}

#page-top {
  position: relative;
}
#page-top::before, #page-top::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  position: fixed;
  left: 0;
  bottom: 0;
}
#page-top::before {
  width: 510px;
  max-width: 26.5625%;
  aspect-ratio: 510/487;
  background-image: url("/img/top/fixed-ilust.png");
  background-size: 100%;
  transform: translate(0, -2%);
  z-index: 11;
}
#page-top::after {
  width: 100%;
  aspect-ratio: 1920/80;
  background-image: url("/img/top/fixed-ilust-bg.png");
  background-size: 100%;
  z-index: 10;
}

.top-solution .ttl-main, .top-reason .ttl-main, .top-works .ttl-main, .top-company .ttl-main {
  margin-bottom: 60px;
}
.top-reason, .top-works, .top-company {
  padding: 140px 0 180px 0;
}
.top-recruit, .top-news {
  padding: 180px 0;
}

.top-solution {
  padding: 250px 0 190px 0;
  background: url("/img/common/illust-light.png") right 14.58% top 80px no-repeat;
  background-size: 20.83%;
}
.top-solution .ttl-main {
  row-gap: 30px;
}
.top-solution .obj-bf-float::before {
  width: 292px;
  max-width: 100%;
  aspect-ratio: 292/222;
  background-image: url("/img/top/solution-illust.png");
  background-size: 100%;
  top: 0;
  left: 0;
  transform: translate(470px, -110px);
}

.top-reason .img {
  position: absolute;
  z-index: -1;
}
.top-reason .img-01 {
  top: 0;
  right: 0;
  transform: translate(340px, 0);
}
.top-reason .img-02 {
  bottom: 0;
  left: 0;
  transform: translate(-200px, 30px);
}
.top-reason .obj-bf-float {
  position: static;
}
.top-reason .obj-bf-float::before {
  width: 239px;
  max-width: 100%;
  aspect-ratio: 239/309;
  background-image: url("/img/top/reason-illust.png");
  background-size: 100%;
  top: 0;
  left: 77.24%;
  transform: translate(0, -20px);
}
.top-reason.bg-bf-float::before, .top-reason.bg-af-float::after {
  height: 340px;
  background: #fef8cf;
  top: 0;
  z-index: -2;
}
.top-reason.bg-bf-float::before {
  width: 1483px;
  max-width: 77.2395833333%;
  clip-path: polygon(100% 0%, 0% 0%, 0% 100%);
  left: 0;
}
.top-reason.bg-af-float::after {
  width: 407px;
  max-width: 21.1979166667%;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
  right: 0;
}

.top-company .com-gmap {
  min-width: 500px;
  border-radius: 5px;
  overflow: hidden;
}
.top-company .obj-people::after {
  right: 0;
  bottom: 0;
  transform: translate(120px, 60px);
  z-index: 1;
}

.top-recruit .ttl-main {
  margin-bottom: 40px;
}
.top-recruit .img {
  margin-left: -140px;
}
.top-recruit .obj-bf-float::before {
  width: 210px;
  max-width: 100%;
  aspect-ratio: 210/183;
  background-image: url("/img/top/recruit-illust-01.png");
  background-size: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%, -40px);
}
.top-recruit .obj-af-float::after {
  width: 306px;
  max-width: 100%;
  aspect-ratio: 306/434;
  background-image: url("/img/top/recruit-illust-02.png");
  background-size: 100%;
  right: 0;
  bottom: 0;
  transform: translate(406px, 180px);
}
.top-recruit.obj-af-float::after {
  width: 1720px;
  max-width: 100%;
  height: 3px;
  background: #febe26;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 2px);
}

.top-news .ttl-main {
  margin-top: 20px;
}
.top-news .btn {
  position: absolute;
  top: 200px;
  left: 0;
}

#page-low section {
  padding: 180px 0;
}
#page-low .ttl-main {
  margin-bottom: 50px;
}

#com-contact {
  padding: 140px 0 330px 0 !important;
  background: url("/img/common/contact-bg.png") center bottom no-repeat;
  background-size: 100%;
  background-color: #febe26;
}
#com-contact.com-contact-service {
  padding: 180px 0 !important;
}
#com-contact .wrp-ttl {
  display: flex;
  justify-content: center;
}
#com-contact .ttl-main {
  padding: 0 50px;
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}
#com-contact .ttl-main .ja::first-letter {
  color: #fff;
}
#com-contact .ttl-main::before, #com-contact .ttl-main::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 72px;
  aspect-ratio: 72/125;
  background-image: url("/img/common/contact-deco.png");
  background-size: 100%;
  top: 50%;
  right: 100%;
  transform: translate(0, -50%);
}
#com-contact .ttl-main::after {
  right: inherit;
  left: 100%;
  transform: translate(0, -50%) scale(-1, 1);
}
#com-contact .com-base {
  background: #fff;
  border-radius: 5px;
  padding: 40px 60px;
  display: flex;
  align-items: center;
}
#com-contact .com-base .inner {
  width: 50%;
}

.service-list {
  padding: 0 !important;
}
.service-list .wrp:nth-child(odd) .bx-service .img {
  margin-left: -40px;
}
.service-list .wrp:nth-child(even) .bx-service .com-layout {
  flex-direction: row-reverse;
}
.service-list .wrp:nth-child(even) .bx-service .img {
  margin-right: -40px;
}
.service-list #service1 .bx-service {
  background: url("/img/service/service-bg-01.png") left bottom no-repeat;
  background-size: 24.17%;
  background-color: #edece8;
}
.service-list #service2 .bx-service {
  background: url("/img/service/service-bg-02.png") right 3.65% bottom no-repeat;
  background-size: 25.99%;
  background-color: #edece8;
}
.service-list #service3 .bx-service {
  background: url("/img/service/service-bg-03.png") left 3.44% bottom no-repeat;
  background-size: 25.83%;
  background-color: #edece8;
}
.service-list #service4 .bx-service {
  background: url("/img/service/service-bg-04.png") right 4.69% bottom no-repeat;
  background-size: 31.46%;
  background-color: #edece8;
}
.service-list .bx-service {
  padding: 180px 0;
}
.service-list .bx-service .cts-1080 {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.service-list .bx-service .com-layout {
  justify-content: space-between;
}
.service-list .bx-service .com-layout .txtbx {
  width: 500px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.service-list .bx-service .com-base {
  width: 770px;
  max-width: 100%;
  margin: 0 auto;
  border-bottom: solid 3px #febe26;
}
.service-list .bx-service .com-base .list-check {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  justify-content: space-around;
  gap: 15px 0;
  padding: 20px 0 35px 0;
}

.list-service-detail .img-main img {
  border: solid 3px #1f8885;
  border-radius: 5px;
  overflow: hidden;
}
.list-service-detail .ttl {
  font-weight: 700;
  font-size: 40px;
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .list-service-detail .ttl {
    font-size: 50px;
    font-size: 6.5104166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-service-detail .ttl {
    font-size: 33.3333333333px;
  }
}

.company-message .ttl {
  border-left: solid 3px #f68c14;
  border-right: solid 3px #f68c14;
}
.company-message .img {
  margin-right: -420px;
}

.company-info .obj-people::after {
  right: 0;
  bottom: 0;
  transform: translate(252px, 65px);
  z-index: 1;
}

.recruit-job .wrp-cont article:not(:first-child) {
  padding-top: 140px;
}
.recruit-job .deco-bf-float::before {
  width: 56px;
  aspect-ratio: 56/138;
  background-image: url("/img/recruit/job-deco.png");
  background-size: 100%;
  top: 0;
  left: 0;
  transform: translate(25px, -80px);
}
.recruit-job .wrp-job.obj-af-float::after {
  width: 364px;
  max-width: 100%;
  aspect-ratio: 364/327;
  background-image: url("/img/recruit/job-illust.png");
  background-size: 100%;
  right: 0;
  bottom: 0;
  transform: translate(350px, 35px);
}
.recruit-job .wrp-flow.obj-af-float::after {
  width: 250px;
  max-width: 100%;
  aspect-ratio: 250/287;
  background-image: url("/img/recruit/flow-illust.png");
  background-size: 100%;
  left: 0;
  bottom: 0;
  transform: translate(-194px, 180px);
}

.recruit-table {
  background: url("/img/recruit/recruit-bg.png") right bottom 90px no-repeat;
  background-size: 23.23%;
}

.recruit-detail .img {
  min-width: 430px;
  aspect-ratio: 430/530;
  border-radius: 5px;
  overflow: hidden;
}
.recruit-detail .obj-bf-float::before {
  width: 126px;
  aspect-ratio: 126/150;
  background-image: url("/img/recruit/detail-illust.png");
  background-size: 100%;
  bottom: 100%;
  left: 0;
  transform: translate(100px, 0);
}

#footer {
  padding: 90px 0 100px 0;
  background: #edece8;
  overflow: hidden;
}
#footer .com-logo {
  margin-bottom: 50px;
}
#footer .obj-af-float::after {
  width: 171px;
  max-width: 100%;
  aspect-ratio: 171/274;
  background-image: url("/img/common/footer-illust.png");
  background-size: 100%;
  right: 0;
  bottom: 0;
  transform: translate(100px, 40px);
}
#footer.bg-af-float:after {
  width: 400px;
  max-width: 20.8333333333%;
  aspect-ratio: 400/417;
  background-image: url("/img/common/illust-light.png");
  background-size: cover;
  background-position: center;
  top: 0;
  right: 14.58%;
}

.footer-copy {
  margin-top: 50px;
}/*# sourceMappingURL=style.css.map */