/* commonParts
---------------------------------------------------- */
#page-ttl {
  position: relative;
  width: 100%;
  border-bottom: solid 1px #555;
}
#page-ttl .pgttl-inner {
  margin-top: 1.2em;
}
@media screen and (max-width: 1199px) {
  #page-ttl .pgttl-inner {
    margin-top: 2em;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 767px) {
  #page-ttl .pgttl-inner {
    margin-top: 2.8em;
    margin-bottom: 2em;
  }
}
#page-ttl .pgttl-inner h2 span.__en {
  font-size: 6.875rem;
}
@media screen and (max-width: 1199px) {
  #page-ttl .pgttl-inner h2 span.__en {
    font-size: 5em;
  }
}
@media screen and (max-width: 767px) {
  #page-ttl .pgttl-inner h2 span.__en {
    font-size: 3.125em;
  }
}
#page-ttl .pgttl-inner h2 span.__en .__blue {
  color: #1390d8;
}
#page-ttl .pgttl-inner h2 span.__en .__green {
  color: #36ac4d;
}
#page-ttl .pgttl-inner h2 span.__jp {
  font-weight: 600;
  font-size: max(1.5rem, 1.125em);
}

.__breadcrumbs {
  padding-top: 0.3em;
}
@media screen and (max-width: 991px) {
  .__breadcrumbs {
    padding-top: 0.4em;
  }
}
.__breadcrumbs ul {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.__breadcrumbs ul li {
  display: flex;
  align-items: center;
  padding: 0.36em 0;
  margin-left: 1em;
  font-weight: 500;
  font-size: 0.9em;
}
.__breadcrumbs ul li::after {
  content: ">";
  margin-left: 1em;
}
@media screen and (max-width: 991px) {
  .__breadcrumbs ul li.__txtlimit {
    max-width: 13em;
  }
}
.__breadcrumbs ul li a {
  font-size: 1em;
}
.__breadcrumbs ul li:last-of-type::after {
  content: none;
}

.__table-style dl {
  display: flex;
}
@media screen and (max-width: 767px) {
  .__table-style dl {
    display: block;
  }
}
.__table-style dl dt, .__table-style dl dd {
  font-size: 1em;
}
.__table-style dl dt {
  font-weight: 500;
  width: 10em;
  padding: 1.4em 0;
  border-bottom: solid 2px #2a2a2a;
}
@media screen and (max-width: 767px) {
  .__table-style dl dt {
    width: 100%;
    font-size: 0.9em;
    padding-bottom: 0.4em;
    border-bottom: none;
  }
}
.__table-style dl dd {
  width: calc(100% - 10em);
  padding: 1.4em 0;
  padding-left: 2em;
  border-bottom: solid 1px #c5ccd0;
}
@media screen and (max-width: 767px) {
  .__table-style dl dd {
    width: 100%;
    padding-top: 0;
    padding-bottom: 1.2em;
    padding-left: 0;
  }
}
.__table-style dl dd a {
  display: inline;
  font-size: 1em;
}

.__1st-sec {
  margin-top: -4em;
}
@media screen and (max-width: 767px) {
  .__1st-sec {
    margin-top: -3em;
  }
}

/* service.html
---------------------------------------------------- */
@media screen and (max-width: 767px) {
  .sec-service_intro {
    margin-bottom: 20px;
  }
}
.sec-service_intro .sec-txt {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .sec-service_intro .sec-txt {
    margin-top: 0.6em;
  }
}
.sec-service_intro .sec-txt p {
  line-height: 2em;
}

@media screen and (max-width: 1199px) {
  .sec-service-list {
    margin-top: -1em;
  }
}
.sec-service-list .sec-inner .txt-wrap .sec-detail {
  border-top: solid 1px #c5ccd0;
  padding-top: 1.6em;
  margin-top: 1.6em;
  margin-bottom: 1.6em;
}
.sec-service-list .sec-inner .txt-wrap .sec-detail p {
  font-weight: 500;
  margin-top: 0.48em;
}
.sec-service-list .sec-inner .txt-wrap .sec-detail p span.__label-style {
  margin-top: 0.48em;
}

.sec-service_flow::before {
  transform: scaleY(-1);
}
.sec-service_flow .sec-ttl {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.sec-service_flow .flow-list {
  margin-top: 2.4em;
}
.sec-service_flow .flow-list ul .flow-list-item {
  position: relative;
  background-color: rgba(255, 255, 255, 0.8);
  border-top: solid 1px #c5ccd0;
  border-bottom: solid 1px #c5ccd0;
  padding: 2.4em 0;
  margin-bottom: 3em;
}
@media screen and (max-width: 767px) {
  .sec-service_flow .flow-list ul .flow-list-item {
    padding: 2em 0;
  }
}
.sec-service_flow .flow-list ul .flow-list-item::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: block;
  margin-bottom: -2.5em;
}
.sec-service_flow .flow-list ul .flow-list-item:last-of-type {
  margin-bottom: 0;
}
.sec-service_flow .flow-list ul .flow-list-item:last-of-type::after {
  display: none;
}
.sec-service_flow .flow-list ul .flow-list-item .item-inner {
  display: flex;
  align-items: center;
  padding: 0 0.6em;
}
.sec-service_flow .flow-list ul .flow-list-item .item-icon {
  flex-shrink: 0;
  width: 3.25em;
  margin-right: 4em;
}
@media screen and (max-width: 767px) {
  .sec-service_flow .flow-list ul .flow-list-item .item-icon {
    width: 2.645em;
    margin-right: 2.5em;
  }
}
.sec-service_flow .flow-list ul .flow-list-item .item-icon img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.sec-service_flow .flow-list ul .flow-list-item .item-content h4 {
  font-weight: 600;
  font-size: max(2rem, 1.25em);
}
.sec-service_flow .flow-list ul .flow-list-item .item-content h4 span.__num {
  display: inline-block;
  color: #1390d8;
  font-weight: 600;
  font-size: 1.25em;
  line-height: 1em;
  transform: translateY(0.06em);
  margin-right: 0.6em;
}
.sec-service_flow .flow-list ul .flow-list-item .item-content p {
  margin-top: 0.4em;
}
.sec-service_flow .flow-list ul .flow-list-item .item-content p a {
  font-size: 1em;
}

/* strength.html
---------------------------------------------------- */
.sec-strength-list {
  margin-top: -1em;
}
@media screen and (max-width: 1199px) {
  .sec-strength-list {
    margin-top: -2em;
  }
}
.sec-strength-list .sec-inner .txt-wrap .sec-ttl h3 span.__jp {
  font-size: 3.375rem;
}
@media screen and (max-width: 1199px) {
  .sec-strength-list .sec-inner .txt-wrap .sec-ttl h3 span.__jp {
    font-size: 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .sec-strength-list .sec-inner .txt-wrap .sec-ttl h3 span.__jp {
    font-size: min(6vw, 1.75em);
  }
}
.sec-strength-list .sec-inner .txt-wrap .sec-txt {
  border-top: solid 1px #c5ccd0;
  padding-top: 1.6em;
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  .sec-strength-list .sec-inner .txt-wrap .sec-txt {
    padding-top: 1em;
    margin-top: 1.2em;
  }
}

/* works.html
---------------------------------------------------- */
.sec-works-list .anchor-list ul {
  display: flex;
  flex-wrap: wrap;
}
.sec-works-list .anchor-list ul .anchor-btn {
  width: calc(25% - 0.75em);
  margin-right: 1em;
  margin-top: 1em;
}
.sec-works-list .anchor-list ul .anchor-btn:nth-of-type(4n) {
  margin-right: 0;
}
@media screen and (max-width: 1199px) {
  .sec-works-list .anchor-list ul .anchor-btn {
    width: calc(50% - 0.3em);
    margin-right: 0.6em;
    margin-top: 0.6em;
  }
  .sec-works-list .anchor-list ul .anchor-btn:nth-of-type(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-works-list .anchor-list ul .anchor-btn {
    width: 100%;
    margin-right: 0;
  }
}
.sec-works-list .anchor-list ul .anchor-btn a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  background-color: #1390d8;
  padding: 0.6em 1.2em 0.7em;
}
@media screen and (max-width: 767px) {
  .sec-works-list .anchor-list ul .anchor-btn a {
    padding-top: 0.48em;
    padding-bottom: 0.48em;
  }
}
.sec-works-list .anchor-list ul .anchor-btn a span {
  display: block;
}
.sec-works-list .anchor-list ul .anchor-btn a span.__txt {
  font-weight: 600;
}
.sec-works-list .anchor-list ul .anchor-btn a span.__arrow {
  flex-shrink: 0;
  margin-left: 1.6em;
  transition: all 0.24s ease;
}
.sec-works-list .anchor-list ul .anchor-btn a:hover span.__arrow {
  transform: translateY(0.3em);
}
.sec-works-list .works-list {
  position: relative;
}
.sec-works-list .works-list .works-category {
  margin-top: -1em;
}
@media screen and (max-width: 767px) {
  .sec-works-list .works-list .works-category {
    margin-top: 0;
  }
}
.sec-works-list .works-list .works-gallery {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .sec-works-list .works-list .works-gallery {
    margin-top: 1em;
  }
}
.sec-works-list .works-list .works-gallery ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: -1em;
}
.sec-works-list .works-list .works-gallery ul li {
  width: calc(33.3333333333% - 1.3333333333em);
  margin-right: 2em;
  margin-top: 1em;
  margin-bottom: 1em;
}
.sec-works-list .works-list .works-gallery ul li:nth-of-type(3n) {
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .sec-works-list .works-list .works-gallery ul li {
    width: 100%;
    margin-right: 0;
    margin-top: 1.6em;
    margin-bottom: 0;
  }
}
.sec-works-list .works-list .works-gallery ul li .works-img {
  position: relative;
  cursor: pointer;
  width: 100%;
  aspect-ratio: 4/3;
  overflow: clip;
}
.sec-works-list .works-list .works-gallery ul li .works-img::after {
  color: #fff;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  margin: 0.6em;
  content: "\f065";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: max(1.375vw, 1em);
  line-height: 1em;
}
.sec-works-list .works-list .works-gallery ul li .works-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
  filter: brightness(0.8);
  transition: all 0.24s ease;
}
@media screen and (min-width: 1200px) {
  .sec-works-list .works-list .works-gallery ul li .works-img:hover img {
    filter: brightness(1);
    transform: scale(1.05);
  }
}
.sec-works-list .works-list .works-gallery ul li .works-name {
  margin-top: 0.6em;
}
.sec-works-list .works-list .works-gallery ul li .works-name h4 {
  font-weight: 500;
}

.viewer-backdrop {
  background-color: rgba(0, 0, 0, 0.8);
}

.viewer-button {
  top: 16px !important;
  right: 16px !important;
  width: 56px !important;
  height: 56px !important;
  background-color: initial !important;
  border: solid 1px #fff;
  transition: all 0.24s !important;
}
.viewer-button::before {
  bottom: initial !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) scale(1.25);
}
.viewer-button:hover {
  opacity: 0.6;
}

.viewer-footer {
  margin-bottom: 8vh;
}

.viewer-title {
  color: #fff !important;
  font-size: 1em !important;
}

.viewer-toolbar {
  margin-top: 1em;
}
.viewer-toolbar .viewer-prev,
.viewer-toolbar .viewer-next {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4em;
  height: 4em;
  margin: 0 0.4em;
}
@media screen and (max-width: 767px) {
  .viewer-toolbar .viewer-prev,
  .viewer-toolbar .viewer-next {
    width: 3em;
    height: 3em;
    margin: 0 1em;
  }
}

/* recruit.html
---------------------------------------------------- */
@media screen and (max-width: 767px) {
  .sec-recruit_intro {
    margin-bottom: 20px;
  }
}
.sec-recruit_intro .sec-txt {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .sec-recruit_intro .sec-txt {
    margin-top: 0.6em;
  }
}
.sec-recruit_intro .sec-txt p {
  line-height: 2em;
}

.sec-recruit-content {
  margin-top: -1em;
}
@media screen and (max-width: 1199px) {
  .sec-recruit-content {
    margin-top: -2em;
  }
}
.sec-recruit-content .sec-inner .txt-wrap .sec-txt {
  border-top: solid 1px #c5ccd0;
  padding-top: 1.6em;
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  .sec-recruit-content .sec-inner .txt-wrap .sec-txt {
    padding-top: 1em;
    margin-top: 1.2em;
  }
}
.sec-recruit-content .sec-inner .img-wrap {
  min-height: unset;
}
.sec-recruit-content.__beginner .sec-inner .img-wrap img {
  -o-object-position: 50% 100%;
     object-position: 50% 100%;
}

.sec-recruit_description {
  margin-top: -1em;
}
.sec-recruit_description .description-table {
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  .sec-recruit_description .description-table {
    margin-top: 1em;
  }
}
.sec-recruit_description .description-table dl dd ul.__note {
  margin-top: 0.4em;
}

/* company.html
---------------------------------------------------- */
.sec-company_greeting .sec-txt {
  border-top: solid 1px #c5ccd0;
  padding-top: 1.6em;
  margin-top: 1.6em;
}
.sec-company_greeting .sec-txt p {
  line-height: 2em;
}
.sec-company_greeting .sec-txt p.__name {
  text-align: end;
  font-size: 0.95em;
  margin-top: 1em;
}
@media screen and (max-width: 1199px) {
  .sec-company_greeting .sec-txt p.__name {
    margin-top: 2em;
  }
}
@media screen and (max-width: 767px) {
  .sec-company_greeting .sec-txt p.__name {
    font-size: 0.9em;
  }
}
.sec-company_greeting .sec-txt p.__name em {
  font-size: 1.5em;
}
@media screen and (max-width: 767px) {
  .sec-company_greeting .sec-txt p.__name em {
    font-size: 1.375em;
  }
}

.sec-company_outline {
  margin-top: -2em;
}
@media screen and (max-width: 767px) {
  .sec-company_outline {
    margin-top: -1em;
  }
}
.sec-company_outline .outline-table {
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  .sec-company_outline .outline-table {
    margin-top: 1em;
  }
}
.sec-company_outline .outline-table dl dd .history li {
  display: flex;
}
.sec-company_outline .outline-table dl dd .history li .year {
  flex-shrink: 0;
  display: inline-block;
  margin-right: 2em;
}

.sec-company_access {
  margin-top: -2em;
}
@media screen and (max-width: 1199px) {
  .sec-company_access {
    margin-top: 0;
  }
}
.sec-company_access .map-wrap {
  background-color: #c5ccd0;
  width: 100%;
  height: 37.5rem;
  margin-top: 2em;
}
@media screen and (max-width: 1199px) {
  .sec-company_access .map-wrap {
    height: 480px;
  }
}
@media screen and (max-width: 767px) {
  .sec-company_access .map-wrap {
    height: 320px;
    margin-top: 1.6em;
  }
}
.sec-company_access .map-wrap iframe {
  width: 100%;
  height: 100%;
}/*# sourceMappingURL=sub.css.map */