/* commonParts
---------------------------------------------------- */
#page-ttl {
  position: relative;
  padding-bottom: 3em;
}
@media screen and (max-width: 1199px) {
  #page-ttl {
    padding-bottom: 4.5em;
  }
}
@media screen and (max-width: 767px) {
  #page-ttl {
    padding-bottom: 6.5em;
  }
}
#page-ttl .pgttl-bgimg {
  position: relative;
  width: 100%;
  height: 55vh;
}
@media screen and (max-width: 767px) {
  #page-ttl .pgttl-bgimg {
    height: 320px;
  }
}
#page-ttl .pgttl-bgimg::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 90%;
  background: linear-gradient(0deg, transparent, rgba(255, 255, 255, 0.8));
}
#page-ttl .pgttl-bgimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#page-ttl .pgttl-bgimg.__service img {
  -o-object-position: 80% 50%;
     object-position: 80% 50%;
}
#page-ttl .pgttl-bgimg.__recruit img {
  -o-object-position: 0% 30%;
     object-position: 0% 30%;
}
#page-ttl .pgttl-inner {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
}
@media screen and (max-width: 1199px) {
  #page-ttl .pgttl-inner .__inner {
    width: calc(100% - 40px);
    padding: 0;
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  #page-ttl .pgttl-inner .__inner {
    width: calc(100% - 20px);
  }
}
#page-ttl .pgttl-inner h2 {
  background-color: #fff;
  width: 50%;
  padding-top: 2rem;
  padding-left: 3.25rem;
}
@media screen and (max-width: 1199px) {
  #page-ttl .pgttl-inner h2 {
    width: 80%;
    padding-top: 1.6em;
    padding-left: 40px;
    padding-right: 60px;
  }
}
@media screen and (max-width: 767px) {
  #page-ttl .pgttl-inner h2 {
    padding-top: 1.2em;
    padding-left: 20px;
    padding-right: 24px;
  }
}
@media screen and (max-width: 1199px) {
  #page-ttl .pgttl-inner h2 span.__jp {
    margin-bottom: 0.6em;
  }
}
#page-ttl .pgttl-inner h2 span.__en {
  font-size: 5.875rem;
}
@media screen and (max-width: 1199px) {
  #page-ttl .pgttl-inner h2 span.__en {
    font-size: 4.5em;
    line-height: 1em;
  }
}
@media screen and (max-width: 767px) {
  #page-ttl .pgttl-inner h2 span.__en {
    font-size: min(13vw, 3.25em);
  }
}
@media screen and (max-width: 991px) {
  #page-ttl .pgttl-inner .__breadcrumbs {
    margin-top: 2em;
  }
}
#page-ttl .pgttl-inner .__breadcrumbs ul {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
#page-ttl .pgttl-inner .__breadcrumbs ul li {
  color: #333;
  display: flex;
  align-items: center;
  padding: 0.24em 0;
  margin-left: 1em;
  font-size: 0.9em;
}
@media screen and (max-width: 767px) {
  #page-ttl .pgttl-inner .__breadcrumbs ul li {
    font-size: 0.85em;
  }
}
#page-ttl .pgttl-inner .__breadcrumbs ul li::after {
  content: "|";
  margin-left: 1em;
}
#page-ttl .pgttl-inner .__breadcrumbs ul li a {
  color: #333;
  font-size: 1em;
}
#page-ttl .pgttl-inner .__breadcrumbs ul li:last-of-type::after {
  content: none;
}

.__border-wrap {
  border-top: solid 2px #f0f4fc;
  border-bottom: solid 2px #f0f4fc;
}

.__table-style dl {
  display: flex;
}
@media screen and (max-width: 767px) {
  .__table-style dl {
    display: block;
  }
}
.__table-style dl dt {
  font-weight: 600;
  width: 12em;
  padding: 1.6em 0;
  border-bottom: solid 2px #000;
}
@media screen and (max-width: 767px) {
  .__table-style dl dt {
    width: 100%;
    font-size: 0.95em;
    padding-top: 1em;
    padding-bottom: 0.8em;
    border-bottom: none;
  }
}
.__table-style dl dd {
  width: calc(100% - 12em);
  padding: 1.6em 0;
  padding-left: 2em;
  border-bottom: solid 1px #000;
}
@media screen and (max-width: 767px) {
  .__table-style dl dd {
    width: 100%;
    font-size: 0.95em;
    padding-top: 0;
    padding-bottom: 1em;
    padding-left: 0;
  }
}
.__table-style dl dd a {
  display: inline;
  font-size: 1em;
}
.__table-style dl dd ul.__note li {
  font-size: 0.9em;
}
.__table-style dl dd span.__small {
  font-size: 0.9em;
}
@media screen and (max-width: 767px) {
  .__table-style dl:nth-of-type(1) dt {
    padding-top: 0;
  }
}

/* service.html
---------------------------------------------------- */
@media screen and (max-width: 1199px) {
  .sec-service::before {
    margin-top: 140px;
  }
}
.sec-service .sec-content .txt-wrap {
  width: 45rem;
}
@media screen and (max-width: 1199px) {
  .sec-service .sec-content .txt-wrap {
    width: 100%;
  }
}
.sec-service .sec-content .txt-wrap .sec-txt {
  margin-top: 3em;
}
.sec-service .sec-content .img-wrap {
  width: calc(100% - 45rem - 5rem);
}
@media screen and (max-width: 1199px) {
  .sec-service .sec-content .img-wrap {
    width: 65%;
    margin: 0 auto;
    margin-top: 3em;
  }
}
@media screen and (max-width: 767px) {
  .sec-service .sec-content .img-wrap {
    width: 80%;
  }
}
.sec-service.__01 {
  margin-top: -2em;
}
@media screen and (max-width: 1199px) {
  .sec-service.__01 {
    margin-top: 0;
  }
}
.sec-service.__03 .sec-inner {
  background-color: #f0f4fc;
}
.sec-service.__03 .sec-inner .sec-ttl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec-service.__03 .sec-inner .sec-ttl {
    margin-top: 1em;
  }
}
.sec-service.__03 .sec-inner .sec-ttl ul {
  margin-top: 2em;
}
@media screen and (max-width: 1199px) {
  .sec-service.__03 .sec-inner .sec-ttl ul {
    margin-top: 1em;
  }
}
@media screen and (max-width: 767px) {
  .sec-service.__03 .sec-inner .sec-ttl ul {
    margin-top: 2em;
  }
}
.sec-service.__03 .sec-inner .sec-ttl ul li {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .sec-service.__03 .sec-inner .sec-ttl ul li {
    font-size: min(3.6vw, 1em);
  }
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item {
  position: relative;
  background-color: #fff;
  padding: 0.6em 0;
  margin-top: 4.8em;
}
@media screen and (max-width: 1199px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item {
    margin-top: 3.6em;
  }
}
@media screen and (max-width: 767px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item {
    padding: 1em 0;
  }
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: block;
  border-style: solid;
  border-right: 0.8em solid transparent;
  border-left: 0.8em solid transparent;
  border-top: 0.8em solid #0b50cf;
  border-bottom: 0;
  margin-bottom: -3em;
}
@media screen and (max-width: 1199px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item::after {
    border-right-width: 0.7em;
    border-left-width: 0.7em;
    border-top-width: 0.7em;
    margin-bottom: -2em;
  }
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item:nth-of-type(1) {
  margin-top: 4em;
}
@media screen and (max-width: 1199px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item:nth-of-type(1) {
    margin-top: 3em;
  }
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item:last-of-type::after {
  display: none;
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .__border-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.4em 0;
}
@media screen and (max-width: 1199px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item .__border-wrap {
    display: block;
    padding: 3em 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item .__border-wrap {
    padding-top: 2em;
  }
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-img {
  width: 22.5rem;
  aspect-ratio: 4/3;
}
@media screen and (max-width: 1199px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-img {
    width: min(100%, 360px);
    aspect-ratio: 3/2;
    margin: 0 auto;
  }
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content {
  width: calc(100% - 22.5rem - 1em);
  padding: 2em 3em;
}
@media screen and (max-width: 1199px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content {
    width: 100%;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content {
    padding-top: 1.6em;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content h4 {
  font-weight: 700;
  font-size: 1.6875rem;
}
@media screen and (max-width: 1199px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content h4 {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content h4 {
    font-size: min(5.2vw, 1.25em);
  }
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content h4 span.__num {
  color: #0b50cf;
  font-size: 0.75em;
  margin-right: 1em;
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content p {
  margin-top: 1em;
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content p a {
  display: inline;
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content ul {
  margin-top: 1em;
}
.sec-service.__03 .sec-inner .flow-list ul .flow-list-item .item-content ul li {
  font-size: 0.9em;
}

/* company.html
---------------------------------------------------- */
.sec-company .sec-ttl {
  text-align: center;
}
.sec-company .sec-content {
  margin-top: 2em;
}
@media screen and (max-width: 1199px) {
  .sec-company.__01 {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .sec-company.__01 {
    padding-top: 60px;
  }
}
.sec-company.__02, .sec-company.__04 {
  background-color: #f0f4fc;
  padding: 0.6em 0;
}
@media screen and (max-width: 767px) {
  .sec-company.__02, .sec-company.__04 {
    padding: 1em 0;
  }
}
.sec-company.__02 .__border-wrap, .sec-company.__04 .__border-wrap {
  border-top-color: #fff;
  border-bottom-color: #fff;
  padding: 5rem 0;
}
@media screen and (max-width: 1199px) {
  .sec-company.__02 .__border-wrap, .sec-company.__04 .__border-wrap {
    padding: 60px 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-company.__02 .__border-wrap, .sec-company.__04 .__border-wrap {
    padding: 48px 0;
  }
}
.sec-company.__02 .sec-content {
  text-align: center;
}
.sec-company.__04 {
  padding-bottom: 0;
}
.sec-company.__04 .__border-wrap {
  border-bottom: none;
}
.sec-company.__04 .sec-content {
  width: 100%;
  height: 30rem;
  border: solid 4px rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 1199px) {
  .sec-company.__04 .sec-content {
    height: 480px;
  }
}
.sec-company.__04 .sec-content iframe {
  width: 100%;
  height: 100%;
}

.sec-contact.__company::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 15rem);
  background-color: #f0f4fc;
}
@media screen and (max-width: 1199px) {
  .sec-contact.__company::before {
    height: calc(100% - 180px);
  }
}

/* recruit.html
---------------------------------------------------- */
@media screen and (max-width: 1199px) {
  .sec-recruit::before {
    margin-top: 140px;
  }
}
.sec-recruit .sec-content .txt-wrap {
  width: calc(100% - 30rem - 5rem);
}
@media screen and (max-width: 1199px) {
  .sec-recruit .sec-content .txt-wrap {
    width: 100%;
  }
}
.sec-recruit .sec-content .txt-wrap .sec-txt {
  margin-top: 3em;
}
.sec-recruit .sec-content .img-wrap {
  width: 30rem;
}
@media screen and (max-width: 1199px) {
  .sec-recruit .sec-content .img-wrap {
    width: 65%;
    margin: 0 auto;
    margin-top: 3em;
  }
}
@media screen and (max-width: 767px) {
  .sec-recruit .sec-content .img-wrap {
    width: 80%;
  }
}
.sec-recruit.__01::before {
  background: linear-gradient(135deg, rgba(0, 192, 250, 0.1), #f8f8f8 20%);
}
.sec-recruit.__02::before {
  background: linear-gradient(-135deg, rgba(0, 192, 250, 0.1), #f8f8f8 20%);
}
@media screen and (max-width: 1199px) {
  .sec-recruit.__02 {
    padding-bottom: 0;
  }
}
.sec-recruit.__03::before {
  background: linear-gradient(135deg, rgba(0, 192, 250, 0.1), #f8f8f8 20%);
}
@media screen and (max-width: 1199px) {
  .sec-recruit.__03 {
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .sec-recruit.__03 {
    padding-bottom: 20px;
  }
}
.sec-recruit.__04 .sec-ttl {
  text-align: center;
}
.sec-recruit.__04 .sec-content {
  margin-top: 2em;
}/*# sourceMappingURL=sub.css.map */