@media only screen and (max-width: 768px) {
  img {
    max-width: 100%;
  }
}

.p-mv {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-mv {
    margin-bottom: 16.4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv {
    margin-bottom: min(150px, 10.7142857143vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-mv .js-image2 {
    height: 157.8666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv .js-image2 {
    height: min(774px, 55.2857142857vw);
  }
}
.p-mv .js-image2 picture img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-mv figcaption {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-mv figcaption {
    right: 3.2vw;
    top: 15.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv figcaption {
    right: min(210px, 15vw);
    top: min(55px, 3.9285714286vw);
  }
}
.p-mv figcaption img {
  display: block;
  opacity: 0;
  position: relative;
  translate: -20px;
  will-change: opacity, transform;
  transition: opacity 0.3s ease-in-out 3s, translate 0.3s ease-in-out 3s;
}
@media only screen and (max-width: 768px) {
  .p-mv figcaption img {
    width: 31.4666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv figcaption img {
    width: min(181px, 12.9285714286vw);
  }
}
.p-mv .start figcaption img {
  opacity: 1;
  translate: 0;
}

@media only screen and (max-width: 768px) {
  .p-about {
    margin-bottom: 16vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-about {
    margin-bottom: min(120px, 8.5714285714vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-about-main {
    display: flex;
    justify-content: flex-end;
  }
}

.p-about-inner {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-about-inner {
    padding-inline: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-about-inner {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    min-width: min(1400px, 100vw);
    padding-left: min(100px, 7.1428571429vw);
    gap: min(70px, 5vw);
    width: calc((100% - 1400px) / 2 + min(1400px, 100vw));
  }
}

.p-about-movie {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-about-movie {
    display: flex;
    justify-content: flex-end;
    margin-right: -8vw;
  }
}
.p-about-movie .js-image::before {
  background: #000;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.3;
  position: absolute;
  top: 0;
  width: 100%;
}
.p-about-movie video {
  aspect-ratio: 1280/720;
  display: block;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .p-about-movie video {
    width: 85.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-about-movie video {
    width: min(871px, 62.2142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-about-detail {
    margin-bottom: 25.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-about-detail {
    width: min(1200px, 85.7142857143vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-about-detail .c-ttl01 {
    margin-bottom: 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-about-detail .c-ttl01 {
    margin-bottom: min(90px, 6.4285714286vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-about-detail .c-ttl01 img {
    width: 35.8666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-about-detail .c-ttl01 img {
    width: min(241px, 17.2142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-about-text {
    font-size: 3.7333333333vw;
    line-height: 1.785;
  }
}
@media print, screen and (min-width: 769px) {
  .p-about-text {
    font-size: min(15px, 1.0714285714vw);
    line-height: 1.8;
  }
}

.p-about-button {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-about-button {
    left: 0;
    top: -16vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-about-button {
    bottom: max(-80px, -5.7142857143vw);
    left: min(250px, 17.8571428571vw);
  }
}

.p-service {
  background: var(--bc03);
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .p-service .c-ttl01 {
    margin-bottom: 4vw;
    padding-inline: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service .c-ttl01 {
    margin-bottom: min(60px, 4.2857142857vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-service .c-ttl01 img {
    width: 66.1333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service .c-ttl01 img {
    width: min(442px, 31.5714285714vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-service-main {
    display: flex;
    justify-content: flex-end;
  }
}

@media only screen and (max-width: 768px) {
  .p-service-inner {
    padding-block: 16vw 12vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-inner {
    min-width: min(1400px, 100vw);
    padding: min(120px, 8.5714285714vw) 0 min(120px, 8.5714285714vw) min(100px, 7.1428571429vw);
    width: calc((100% - 1400px) / 2 + min(1400px, 100vw));
  }
}

.p-service-slider {
  display: flex;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .p-service-slider {
    width: 500vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-slider {
    width: min(6000px, 428.5714285714vw);
  }
}

.p-service-slide {
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .p-service-slide {
    width: 100vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-slide {
    width: min(1200px, 85.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-service-slide-inner {
    padding: 2.6666666667vw 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-slide-inner {
    align-items: center;
    display: flex;
    gap: min(80px, 5.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-service-image {
    margin-bottom: 6.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-image {
    flex-shrink: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-image img {
    width: min(510px, 36.4285714286vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-service-detail {
    width: min(400px, 28.5714285714vw);
  }
}

.p-service-heading-sub {
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .p-service-heading-sub {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-heading-sub {
    font-size: min(15px, 1.0714285714vw);
    margin-bottom: min(10px, 0.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-service-heading {
    font-size: 5.6vw;
    margin-bottom: 4.5333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-heading {
    font-size: min(28px, 2vw);
    margin-bottom: min(50px, 3.5714285714vw);
  }
}

.p-service-text {
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .p-service-text {
    display: none;
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-text {
    font-size: min(15px, 1.0714285714vw);
  }
}
.p-service-text + .p-service-text {
  margin-top: 1.6em;
}

@media only screen and (max-width: 768px) {
  .p-service-buttons {
    margin-top: 6.1333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-buttons {
    margin-top: min(60px, 4.2857142857vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-service-buttons li + li {
    margin-top: 1.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-buttons li + li {
    margin-top: min(10px, 0.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-service-button {
    margin-top: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-service-button {
    margin-top: min(80px, 5.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-works {
    position: relative;
  }
}
@media only screen and (max-width: 768px) {
  .p-works .c-ttl01 {
    margin-bottom: 18.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works .c-ttl01 {
    margin-bottom: min(60px, 4.2857142857vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-works .c-ttl01 img {
    width: 37.0666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works .c-ttl01 img {
    width: min(248px, 17.7142857143vw);
  }
}
.p-works .c-ttl01-ja {
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .p-works-main {
    background: url("../img/img-works_sp.jpg") no-repeat center center/cover;
    padding-block: 16vw 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works-main {
    background: url("../img/img-works.jpg") no-repeat center center/cover;
    height: min(740px, 52.8571428571vw);
    padding-block: min(188px, 13.4285714286vw) min(34px, 2.4285714286vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-works-inner {
    margin-bottom: 12vw;
    padding-inline: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works-inner {
    margin: 0 auto min(90px, 6.4285714286vw);
    width: min(1200px, 85.7142857143vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-works-contents {
    align-items: flex-end;
    display: flex;
    gap: min(150px, 10.7142857143vw);
    padding-inline: min(50px, 3.5714285714vw) min(60px, 4.2857142857vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-works-detail {
    border-left: 1px solid #fff;
    height: min(142px, 10.1428571429vw);
    padding: min(32px, 2.2857142857vw) 0 min(25px, 1.7857142857vw) min(45px, 3.2142857143vw);
  }
}

.p-works-heading {
  color: #fff;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .p-works-heading {
    font-size: 4.2666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works-heading {
    font-size: min(20px, 1.4285714286vw);
    margin-bottom: min(20px, 1.4285714286vw);
  }
}

.p-works-text {
  color: #fff;
  line-height: 1.6;
}
@media only screen and (max-width: 768px) {
  .p-works-text {
    font-size: 3.7333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works-text {
    font-size: min(15px, 1.0714285714vw);
  }
}
.p-works-text + .p-works-text {
  margin-top: 1.6em;
}

.p-works-button {
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .p-works-button {
    position: absolute;
    right: 5.3333333333vw;
    top: 15.7333333333vw;
  }
}

@media only screen and (max-width: 768px) {
  .slick-slide {
    width: 88vw;
  }
}
@media print, screen and (min-width: 769px) {
  .slick-slide {
    width: min(406px, 29vw);
  }
}

.p-works-banner {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-works-banner {
    padding-inline: 1.6vw;
    width: 88vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works-banner {
    width: min(406px, 29vw);
  }
}
.p-works-banner img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-works-banner figcaption {
  color: #fff;
  font-weight: bold;
  line-height: 1.6;
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-works-banner figcaption {
    bottom: 2.6666666667vw;
    font-size: 2.6666666667vw;
    left: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works-banner figcaption {
    bottom: min(15px, 1.0714285714vw);
    font-size: min(13px, 0.9285714286vw);
    left: min(20px, 1.4285714286vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-works-banner-inner {
    padding-inline: 2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-works-banner-inner {
    padding-inline: min(15px, 1.0714285714vw);
  }
}

.p-location {
  background: var(--bc03);
}
@media only screen and (max-width: 768px) {
  .p-location .c-ttl01 {
    margin-bottom: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location .c-ttl01 {
    margin-bottom: min(7px, 0.5vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-location .c-ttl01 img {
    width: 47.0666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location .c-ttl01 img {
    width: min(314px, 22.4285714286vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-location-inner {
    background: url("../img/pict-map.png") no-repeat left -4vw bottom 8.1333333333vw/112.4vw auto;
    padding: 16vw 8vw 46.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-inner {
    background: url("../img/pict-map.png") no-repeat min(54px, 3.8571428571vw) min(106px, 7.5714285714vw)/min(712px, 50.8571428571vw) auto;
    display: flex;
    justify-content: flex-end;
    margin-inline: auto;
    padding: min(193px, 13.7857142857vw) min(100px, 7.1428571429vw) min(187px, 13.3571428571vw);
    width: min(1400px, 100vw);
  }
}

@media print, screen and (min-width: 769px) {
  .p-location-detail {
    width: min(600px, 42.8571428571vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-location-lead {
    font-size: 3.7333333333vw;
    line-height: 1.785;
    margin-bottom: 6.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-lead {
    font-size: min(15px, 1.0714285714vw);
    line-height: 1.6;
    margin-bottom: min(60px, 4.2857142857vw);
    width: min(450px, 32.1428571429vw);
  }
}

.p-location-link:first-child {
  border-bottom: 1px solid var(--bc04);
}
@media only screen and (max-width: 768px) {
  .p-location-link:first-child {
    margin-bottom: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-link:first-child {
    margin-bottom: min(34px, 2.4285714286vw);
    padding-bottom: min(34px, 2.4285714286vw);
  }
}
.p-location-link a {
  display: block;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-location-link a {
    padding-right: 12vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-link a {
    padding-right: min(140px, 10vw);
  }
}
.p-location-link a::after {
  background: var(--bc01);
  content: "";
  display: block;
  mask-image: url(../../img/icon-arrow01.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .p-location-link a::after {
    height: 2.8vw;
    right: 0;
    width: 1.8666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-link a::after {
    height: min(12px, 0.8571428571vw);
    right: min(15px, 1.0714285714vw);
    width: min(8px, 0.5714285714vw);
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-link a:hover .p-location-link-heading {
    color: var(--bc01);
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-link a:hover::after {
    right: min(10px, 0.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-location-link-heading {
    font-size: 4.2666666667vw;
    margin-bottom: 1.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-link-heading {
    font-size: min(20px, 1.4285714286vw);
    transition: 0.3s ease-in-out;
  }
}

@media only screen and (max-width: 768px) {
  .p-location-link-text {
    font-size: 3.7333333333vw;
    line-height: 1.785;
  }
}
@media print, screen and (min-width: 769px) {
  .p-location-link-text {
    font-size: min(15px, 1.0714285714vw);
    line-height: 1.6;
  }
}

@media only screen and (max-width: 768px) {
  .p-recruit {
    padding-block: 16vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit {
    padding-block: min(108px, 7.7142857143vw) min(120px, 8.5714285714vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-recruit-title {
    margin-bottom: 6.6666666667vw;
    padding-inline: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-title {
    margin: 0 auto min(60px, 4.2857142857vw);
    padding-inline: min(100px, 7.1428571429vw);
    width: min(1400px, 100vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-recruit-title .c-ttl01-en img {
    width: 39.4666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-title .c-ttl01-en img {
    width: min(264px, 18.8571428571vw);
  }
}

.p-recruit-inner {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .p-recruit-inner {
    flex-direction: column-reverse;
    gap: 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-inner {
    align-items: center;
    justify-content: space-between;
    gap: min(60px, 4.2857142857vw);
    min-width: min(1400px, 100vw);
    padding-right: min(100px, 7.1428571429vw);
    width: calc((100% - 1400px) / 2 + min(1400px, 100vw));
  }
}

@media only screen and (max-width: 768px) {
  .p-recruit-image img {
    width: 85.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-image img {
    width: min(640px, 45.7142857143vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-recruit-detail {
    padding-inline: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-detail {
    width: min(600px, 42.8571428571vw);
  }
}

@media only screen and (max-width: 768px) {
  .p-recruit-links {
    margin-bottom: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-links {
    margin-bottom: min(40px, 2.8571428571vw);
  }
}

.p-recruit-link:not(:first-child) {
  border-top: 1px solid var(--bc04);
}
@media only screen and (max-width: 768px) {
  .p-recruit-link:not(:first-child) {
    margin-top: 5.3333333333vw;
    padding-top: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link:not(:first-child) {
    margin-top: min(19px, 1.3571428571vw);
    padding-top: min(19px, 1.3571428571vw);
  }
}
.p-recruit-link a {
  align-items: center;
  display: flex;
  font-weight: bold;
  line-height: 1.6;
  position: relative;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .p-recruit-link a {
    font-size: 4.2666666667vw;
    gap: 2.4vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link a {
    font-size: min(20px, 1.4285714286vw);
    gap: min(18px, 1.2857142857vw);
    padding-left: min(18px, 1.2857142857vw);
  }
}
.p-recruit-link a::after {
  background: var(--bc01);
  content: "";
  display: block;
  mask-image: url(../../img/icon-arrow01.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .p-recruit-link a::after {
    height: 2.8vw;
    right: 0;
    width: 1.8666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link a::after {
    height: min(12px, 0.8571428571vw);
    right: min(15px, 1.0714285714vw);
    width: min(8px, 0.5714285714vw);
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link a:hover {
    color: var(--bc01);
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link a:hover::after {
    right: min(10px, 0.7142857143vw);
  }
}
.p-recruit-link i {
  background: var(--grad-blue);
  border-radius: 100%;
  display: -ms-grid;
  display: grid;
  place-content: center;
}
@media only screen and (max-width: 768px) {
  .p-recruit-link i {
    height: 10.9333333333vw;
    width: 10.9333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link i {
    height: min(82px, 5.8571428571vw);
    width: min(82px, 5.8571428571vw);
  }
}
.p-recruit-link i::before {
  content: "";
  display: block;
}
.p-recruit-link:first-child i::before {
  background: url("../img/icon-recruit01.png") no-repeat left top/cover;
}
@media only screen and (max-width: 768px) {
  .p-recruit-link:first-child i::before {
    height: 5.3333333333vw;
    width: 4.8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link:first-child i::before {
    height: min(40px, 2.8571428571vw);
    width: min(36px, 2.5714285714vw);
  }
}
.p-recruit-link:nth-child(2) i::before {
  background: url("../img/icon-recruit02.png") no-repeat left top/cover;
}
@media only screen and (max-width: 768px) {
  .p-recruit-link:nth-child(2) i::before {
    height: 4.2666666667vw;
    width: 4.2666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link:nth-child(2) i::before {
    height: min(32px, 2.2857142857vw);
    width: min(32px, 2.2857142857vw);
  }
}
.p-recruit-link:nth-child(3) i::before {
  background: url("../img/icon-recruit03.png") no-repeat left top/cover;
}
@media only screen and (max-width: 768px) {
  .p-recruit-link:nth-child(3) i::before {
    height: 5.3333333333vw;
    width: 5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-link:nth-child(3) i::before {
    height: min(40px, 2.8571428571vw);
    width: min(40px, 2.8571428571vw);
  }
}

.p-recruit-links-sub {
  display: flex;
  background: var(--bc04);
  gap: 1px;
}
@media only screen and (max-width: 768px) {
  .p-recruit-links-sub {
    flex-direction: column;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-links-sub li {
    width: 100%;
  }
}
.p-recruit-links-sub a {
  background: #e5edf6;
  display: -ms-grid;
  display: grid;
  font-weight: bold;
  place-content: center start;
  position: relative;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .p-recruit-links-sub a {
    font-size: 3.2vw;
    height: 10.9333333333vw;
    padding-left: 5.0666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-links-sub a {
    font-size: min(15px, 1.0714285714vw);
    height: min(70px, 5vw);
    padding-left: min(20px, 1.4285714286vw);
  }
}
.p-recruit-links-sub a::after {
  background: var(--bc01);
  content: "";
  display: block;
  mask-image: url(../../img/icon-arrow01.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 768px) {
  .p-recruit-links-sub a::after {
    height: 2.8vw;
    right: 4vw;
    width: 1.8666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-links-sub a::after {
    height: min(12px, 0.8571428571vw);
    right: min(19px, 1.3571428571vw);
    width: min(8px, 0.5714285714vw);
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-links-sub a:hover {
    color: var(--bc01);
  }
}
@media print, screen and (min-width: 769px) {
  .p-recruit-links-sub a:hover::after {
    translate: 5px -50%;
  }
}

.p-banner {
  background: var(--bc03);
}
@media print, screen and (min-width: 769px) {
  .p-banner {
    padding-block: min(60px, 4.2857142857vw);
  }
}

.p-banner-main {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .p-banner-main {
    flex-direction: column;
    gap: 2.6666666667vw;
    padding: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-banner-main {
    justify-content: center;
    gap: min(20px, 1.4285714286vw);
  }
}
@media only screen and (max-width: 768px) {
  .p-banner-main img {
    width: 100%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-banner-main img {
    width: min(485px, 34.6428571429vw);
  }
}
.p-banner-main a {
  transition: 0.3s ease-in-out;
}
@media print, screen and (min-width: 769px) {
  .p-banner-main a:hover {
    opacity: 0.7;
  }
}