/*--------------------------------------------------------------
  TOP
--------------------------------------------------------------*/
.p-top .l-main>.inner {
  padding-top: 0;
}

.p-top .l-main>.inner .parallax-bg {
  /* 9/25 */
  /* width: min(1440px, 100%); */
  width: 100%;
  /* 9/25 */
  position: fixed;
  top: 0;
  left: 50%;
  bottom: 0;
  /* height: 1300px; */
  z-index: -1;
  transform: translateX(-50%);
}

.p-top .l-main>.inner .parallax-bg img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-top .fv .inner {
  height: min(667px, 41.6875rem, 177.8666666667vw);
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-top .fv .bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  padding-left: min(30px, 1.875rem, 8vw);
  background-color: #000;
}

.p-top .fv .bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-top .fv .scroll {
  background-image: linear-gradient(86.271deg, #00C85B, #00ADAC);
  width: min(30px, 1.875rem, 8vw);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
}

.p-top .fv .scroll::after {
  content: "";
  background-color: #fff;
  width: 1px;
  height: min(90px, 5.625rem, 24vw);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, min(334px, 20.875rem, 89.0666666667vw));
  opacity: 0;
  animation: path-move 1.4s ease-in-out infinite;
}

.p-top .fv .scroll span {
  font-family: sofia-pro, sans-serif;
  font-size: min(10px, 0.625rem, 2.6666666667vw);
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  color: #fff;
  position: absolute;
  top: min(272px, 17rem, 72.5333333333vw);
  left: 50%;
  transform: scale(0.9) translateX(-50%) rotateZ(90deg);
  transform-origin: top center;
}

.p-top .fv .sound-button {
  /* 9/24 */
  justify-content: center;
  /* ------------- 9/24 */
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: min(9px, 0.5625rem, 2.4vw);
  border: 1px solid #fff;
  border-radius: 50%;
  width: min(45px, 5.875rem, 25.0666666667vw);
  aspect-ratio: 1/1;
  position: absolute;
  right: min(15px, 0.9375rem, 4vw);
  bottom: min(17px, 2.375rem, 10.1333333333vw);
  transition: all 0.3s ease;
  cursor: pointer;
}

.p-top .fv .sound-button .text {
  /* 9/24 */
  display: none;
  /* ------------- 9/24 */
  font-family: sofia-pro, sans-serif;
  font-size: min(10px, 0.625rem, 2.6666666667vw);
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  margin-top: min(25px, 1.5625rem, 6.6666666667vw);
}

.p-top .fv .sound-button img {
  position: relative;
  line-height: 1;
  width: min(18px, 1.28125rem, 5.4666666667vw);
}

.p-top .fv .sound-button.off::after {
  content: "";
  width: min(20px, 1.25rem, 5.33vw);
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 20px;
  left: 13px;
  transform: rotate(-45deg);
}

.p-top .fv .sound-button.on::after {
  display: none;
}

@media (hover: hover) {
  .p-top .fv .sound-button:hover {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

.p-top .fv .bg-text-top {
  top: min(146px, 9.125rem, 38.9333333333vw);
  transform: translateX(max(-166.5px, -10.40625rem, -44.4vw));
}

.p-top .fv .bg-text-bottom {
  top: min(401px, 25.0625rem, 106.9333333333vw);
  transform: translateX(max(-219.5px, -13.71875rem, -58.5333333333vw));
}

.p-top .fv .bg-text-top,
.p-top .fv .bg-text-bottom {
  position: absolute;
  left: 50%;
  mix-blend-mode: overlay;
}

.p-top .fv .bg-text-top p,
.p-top .fv .bg-text-bottom p {
  font-family: sofia-pro, sans-serif;
  font-size: min(75px, 4.6875rem, 20vw);
  font-weight: 700;
  line-height: 1.2533333333;
  white-space: nowrap;
  color: #fff;
  opacity: 0.75;
}

.p-top .fv .title {
  padding-block: min(15.5px, 0.96875rem, 4.1333333333vw);
  padding-right: min(35.5px, 2.21875rem, 9.4666666667vw);
  padding-left: min(42.5px, 2.65625rem, 11.3333333333vw);
  position: absolute;
  top: min(261.5px, 16.34375rem, 69.7333333333vw);
  left: 50%;
  transform: translateX(max(-130px, -8.125rem, -34.6666666667vw));
}

.p-top .fv .title::before,
.p-top .fv .title::after {
  content: "";
  display: block;
  background-color: #fff;
  width: min(150px, 9.375rem, 40vw);
  height: min(2px, 0.125rem, 0.5333333333vw);
  position: absolute;
}

.p-top .fv .title::before {
  top: 0;
  left: 0;
}

.p-top .fv .title::after {
  bottom: 0;
  right: 0;
}

.p-top .fv .title h1 {
  font-size: min(27px, 1.6875rem, 7.2vw);
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0.2em;
  text-align: center;
  white-space: nowrap;
  color: #fff;
}

/*       11.17追加       */
.p-top .about .space {
  background-image: linear-gradient(#fff, #fff);
  height: 110px;
}

.p-top .about .inner {
  background-image: linear-gradient(58.072deg, #00C85B, #00ADAC);
  position: relative;
  overflow: hidden;
}

.p-top .about .bg-text {
  position: absolute;
  top: min(5px, 0.3125rem, 1.3333333333vw);
  right: max(-13px, -0.8125rem, -3.4666666667vw);
}

.p-top .about .bg-text p {
  font-family: sofia-pro, sans-serif;
  font-size: min(80px, 5rem, 21.3333333333vw);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  white-space: nowrap;
  color: #fff;
  opacity: 0.15;
}

.p-top .about .box {
  display: flex;
  flex-direction: column;
  row-gap: min(40px, 2.5rem, 10.6666666667vw);
  padding-top: min(94px, 5.875rem, 25.0666666667vw);
  padding-bottom: min(87px, 5.4375rem, 23.2vw);
  position: relative;
}

.p-top .about .text-container {
  display: flex;
  flex-direction: column;
  row-gap: min(30px, 1.875rem, 8vw);
  width: 92%;
  margin-inline: auto;
}

.p-top .about .title {
  font-family: sofia-pro, sans-serif;
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  font-weight: 600;
  line-height: 1.25;
  color: #fff;
}

.p-top .about .lead {
  font-size: min(22px, 1.375rem, 5.8666666667vw);
  font-weight: 700;
  line-height: 1.4545454545;
  color: #fff;
}

.p-top .about .lead span {
  color: #fff0af;
}

.p-top .about .text {
  font-size: min(16px, 0.875rem, 3.7333333333vw);
  line-height: 2.1428571429;
  letter-spacing: 0.05em;
  color: #fff;
}

/* 2023-09-24修正 */
@media screen and (max-width:767px) {
  .p-top .about .text {
    font-size: 18px;
    line-height: calc(38 / 18);
  }
}


.p-top .about .image {
  width: min(345px, 21.5625rem, 92vw);
  margin-right: 0;
  margin-left: auto;
}

.p-top .about .button {
  position: absolute;
  left: 0;
  bottom: 0;
}

.p-top .about .button .c-button-green {
  color: #00C85B;
  background-color: #fff;
  border-top-right-radius: min(15px, 0.9375rem, 4vw);
  width: min(190px, 11.875rem, 50.6666666667vw);
  height: min(47px, 2.9375rem, 12.5333333333vw);
  transition: color 0.3s ease;
}

.p-top .about .button .c-button-green::before {
  background-color: #00C85B;
  transition: background-color 0.3s ease;
}

.p-top .about .button .c-button-green::after {
  background-image: linear-gradient(13.855deg, #00ADAC, #00C85B);
}

@media (hover: hover) {
  .p-top .about .button .c-button-green:hover:hover {
    color: #fff;
  }

  .p-top .about .button .c-button-green:hover:hover::before {
    background-color: #fff;
  }
}

.p-top .strength .inner {
  background-color: #fff;
  position: relative;
  overflow: hidden;
  padding-bottom: 40px;
}

.p-top .strength .bg-text {
  position: absolute;
  top: min(3px, 0.1875rem, 0.8vw);
  right: max(-13px, -0.8125rem, -3.4666666667vw);
}

.p-top .strength .bg-text p {
  font-family: sofia-pro, sans-serif;
  font-size: min(80px, 5rem, 21.3333333333vw);
  font-weight: 700;
  line-height: 1.125;
  letter-spacing: 0;
  text-align: right;
  white-space: nowrap;
  color: #a3a3a3;
  opacity: 0.11;
}

.p-top .strength .box {
  padding-top: min(57px, 3.5625rem, 15.2vw);
  padding-bottom: min(100px, 6.25rem, 26.6666666667vw);
  position: relative;
}

.p-top .strength .title {
  width: 92%;
  margin-inline: auto;
}

.p-top .strength .title img {
  width: min(152px, 9.5rem, 40.5333333333vw);
}

.p-top .strength .list {
  display: flex;
  flex-direction: column;
  row-gap: min(15px, 0.9375rem, 4vw);
  width: min(345px, 21.5625rem, 92vw);
  margin-top: min(36px, 2.25rem, 9.6vw);
  margin-inline: auto;
}

.p-top .strength .item {
  border-radius: min(20px, 1.25rem, 5.3333333333vw);
  width: 100%;
  aspect-ratio: 345/150;
  position: relative;
  z-index: 0;
}

.p-top .strength .item:nth-of-type(1) {
  /* aspect-ratio: 345/200; */
}

.p-top .strength .item:nth-of-type(1) h3 {
  /* top: min(126px, 7.875rem, 33.6vw); */
}

.p-top .strength .item:nth-of-type(1) h3 span:nth-of-type(1) {
  font-size: min(22px, 1.375rem, 5.8666666667vw);
  line-height: 1.3181818182;
  width: min(50px, 3.125rem, 13.3333333333vw);
  height: min(50px, 3.125rem, 13.3333333333vw);
}

.p-top .strength .item:nth-of-type(1) h3 span:nth-of-type(2) {
  font-size: min(19px, 1.1875rem, 5.0666666667vw);
  line-height: 1.4210526316;
}

.p-top .strength .item img {
  position: absolute;
  inset: 0;
  z-index: -1;
}

.p-top .strength .item h3 {
  display: flex;
  flex-direction: row;
  align-items: center;
  -moz-column-gap: min(15px, 0.9375rem, 4vw);
  column-gap: min(15px, 0.9375rem, 4vw);
  position: absolute;
  top: min(87px, 5.4375rem, 23.2vw);
  left: min(20px, 1.25rem, 5.3333333333vw);
}

.p-top .strength .item h3 span:nth-of-type(1) {
  display: grid;
  place-content: center;
  font-family: "Roboto Condensed", sans-serif;
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: 1.3333333333;
  letter-spacing: 0;
  color: #fff;
  border: solid 1px #fff;
  border-radius: 50%;
  width: min(41px, 2.5625rem, 10.9333333333vw);
  height: min(41px, 2.5625rem, 10.9333333333vw);
}

.p-top .strength .item h3 span:nth-of-type(2) {
  font-size: min(17px, 1.0625rem, 4.5333333333vw);
  line-height: 1.4705882353;
  letter-spacing: 0.05em;
  color: #fff;
}

.p-top .strength .button {
  position: absolute;
  left: 0;
  bottom: -50;
}

.p-top .strength .button .c-button-blue {
  background-image: linear-gradient(9.789deg, #2ED0FA, #0051CA);
  border-top-right-radius: min(15px, 0.9375rem, 4vw);
  width: min(188px, 11.75rem, 50.1333333333vw);
  height: min(47px, 2.9375rem, 12.5333333333vw);
  /* width: min(190px, 11.875rem, 50.6666666667vw);
  height: min(47px, 2.9375rem, 12.5333333333vw); */
}

.p-top .strength .button .c-button-blue::after {
  background-image: linear-gradient(11.245deg, #2F83FD, #71E2FF);
}

.p-top .service {
  position: relative;
  overflow: hidden;
}

.p-top .service .inner {
  display: flex;
  flex-direction: column;
  row-gap: min(64px, 4rem, 17.0666666667vw);
  background-image: linear-gradient(75deg, rgba(0, 200, 91, 0.88), rgba(0, 173, 172, 0.88));
  position: relative;
  z-index: 0;
}

.p-top .service .box-service {
  position: relative;
}

.p-top .service .box-service .box-inner {
  padding-top: min(70px, 4.375rem, 18.6666666667vw);
}

.p-top .service .box-service .box-inner .bg-text {
  position: absolute;
  top: min(3px, 0.1875rem, 0.8vw);
  right: max(-13px, -0.8125rem, -3.4666666667vw);
}

.p-top .service .box-service .box-inner .bg-text p {
  font-family: sofia-pro, sans-serif;
  font-size: min(80px, 5rem, 21.3333333333vw);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  white-space: nowrap;
  color: #fff;
  opacity: 0.15;
}

.p-top .service .box-service .text-container {
  width: 92%;
  margin-inline: auto;
}

.p-top .service .box-service .lead {
  font-family: sofia-pro, sans-serif;
  font-size: min(11px, 0.6875rem, 2.9333333333vw);
  font-weight: 600;
  line-height: 1.2727272727;
  color: #fff;
}

.p-top .service .box-service .title {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
}

.p-top .service .box-service .text {
  font-size: min(18px, 0.875rem, 3.7333333333vw);
  /* line-height: 2.1428571429; */
  line-height: calc(38 / 18);
  letter-spacing: 0.05em;
  margin-top: min(30px, 1.875rem, 8vw);
  color: #fff;
}




@media screen and (max-width:767px) {
  .p-top .service .box-service .text {
    font-size: 18px;
  }
}


.p-top .service .box-service .button {
  display: flex;
  justify-content: center;
  margin-top: min(30px, 1.875rem, 8vw);
}

.p-top .service .box-service .button .c-button-green {
  color: #00C85B;
  background-color: #fff;
  width: min(190px, 11.875rem, 50.6666666667vw);
  height: min(47px, 2.9375rem, 12.5333333333vw);
  transition: color 0.3s ease;
}

.p-top .service .box-service .button .c-button-green::before {
  background-color: #00C85B;
  transition: background-color 0.3s ease;
}

.p-top .service .box-service .button .c-button-green::after {
  background-image: linear-gradient(13.855deg, #00ADAC, #00C85B);
}

@media (hover: hover) {
  .p-top .service .box-service .button .c-button-green:hover:hover {
    color: #fff;
  }

  .p-top .service .box-service .button .c-button-green:hover:hover::before {
    background-color: #fff;
  }
}

.p-top .service .box-service .list {
  display: flex;
  flex-direction: column;
  row-gap: min(10px, 0.625rem, 2.6666666667vw);
  width: min(345px, 21.5625rem, 92vw);
  margin-top: min(40px, 2.5rem, 10.6666666667vw);
  margin-inline: auto;
}

.p-top .service .box-service .item {
  width: 100%;
  aspect-ratio: 345/193;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.p-top .service .box-service .item img {
  position: absolute;
  inset: 0;
  z-index: -1;
  transition: transform 0.6s ease-in-out;
}

@media (hover: hover) {
  .p-top .service .box-service .item:hover:hover img {
    transform: scale(1.1);
  }
}

.p-top .service .box-service .title-container {
  display: flex;
  flex-direction: column;
  row-gap: min(3px, 0.1875rem, 0.8vw);
  position: absolute;
  top: min(121px, 7.5625rem, 32.2666666667vw);
  left: min(15px, 0.9375rem, 4vw);
}

.p-top .service .box-service .title-container h3 {
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: 1.4444444444;
  letter-spacing: 0.05em;
  color: #fff;
}

.p-top .service .box-service .title-container p {
  font-family: sofia-pro, sans-serif;
  font-size: min(14px, 0.875rem, 3.7333333333vw);
  line-height: 1.2857142857;
  letter-spacing: 0.05em;
  color: #fff;
}

.p-top .service .box-sdgs {
  position: relative;
}

.p-top .service .box-sdgs .box-inner {
  background-image: linear-gradient(to right, transparent 0 8vw, #fff 8vw 100%);
  padding-top: min(50px, 3.125rem, 13.3333333333vw);
}

.p-top .service .box-sdgs .box-inner .bg-text {
  position: absolute;
  top: min(3px, 0.1875rem, 0.8vw);
  right: max(-13px, -0.8125rem, -3.4666666667vw);
}

.p-top .service .box-sdgs .box-inner .bg-text p {
  font-family: sofia-pro, sans-serif;
  font-size: min(80px, 5rem, 21.3333333333vw);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  white-space: nowrap;
  color: #d5d5d5;
  opacity: 0.2;
}

.p-top .service .box-sdgs .text-container {
  width: 76%;
  margin-left: 16vw;
}

.p-top .service .box-sdgs .title img {
  width: min(193px, 12.0625rem, 51.4666666667vw);
}

.p-top .service .box-sdgs .text {
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* 9/24 */
  /* font-size: min(16px, 0.875rem, 3.7333333333vw); */
  font-size: 18px;
  line-height: calc(38 / 18);
  /* ------------ 9/24 */
  /* line-height: 2.1428571429; */
  letter-spacing: 0.05em;
  margin-top: min(25.8px, 1.6125rem, 6.88vw);
}

.p-top .service .box-sdgs .image-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: min(40px, 2.5rem, 10.6666666667vw);
  width: 76%;
  margin-top: min(30px, 1.875rem, 8vw);
  margin-left: 16vw;
}

.p-top .service .box-sdgs .image-container img {
  width: min(285px, 17.8125rem, 76vw);
}

.p-top .service .box-sdgs .button .c-button-blue {
  background-image: linear-gradient(9.688deg, #2ED0FA, #0051CA);
  width: min(190px, 11.875rem, 50.6666666667vw);
  height: min(47px, 2.9375rem, 12.5333333333vw);
}

.p-top .service .box-sdgs .button .c-button-blue::after {
  background-image: linear-gradient(12.828deg, #2F83FD, #71E2FF);
}

.p-top .news {
  position: relative;
  overflow: hidden;
}

.p-top .news .inner {
  background-color: #fff;
  position: relative;
  overflow: hidden;
}

.p-top .news .bg-text {
  position: absolute;
  top: min(3px, 0.1875rem, 0.8vw);
  right: 0;
}

.p-top .news .bg-text p {
  font-family: sofia-pro, sans-serif;
  font-size: min(80px, 5rem, 21.3333333333vw);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  white-space: nowrap;
  color: #a3a3a3;
  opacity: 0.11;
}

.p-top .news .box {
  width: 92%;
  margin-inline: auto;
  padding-top: min(67.5px, 4.21875rem, 18vw);
  padding-bottom: min(16px, 1rem, 4.2666666667vw);
}

.p-top .news .title img {
  width: min(88.6px, 5.5375rem, 23.6266666667vw);
}

.p-top .news .list {
  display: flex;
  flex-direction: column;
  row-gap: min(20px, 1.25rem, 5.3333333333vw);
  margin-top: min(37.5px, 2.34375rem, 10vw);
}

.p-top .news .item>a {
  width: 100%;
  border-bottom: solid 1px #d3d3d3;
  padding-bottom: min(15px, 0.9375rem, 4vw);
}

@media (hover: hover) {
  .p-top .news .item>a:hover .post-link img {
    transform: scale(1.3);
  }
}

.p-top .news .post-date span {
  font-family: "Roboto Condensed", sans-serif;
  font-size: min(15px, 0.9375rem, 4vw);
  line-height: 1.3333333333;
  color: #0051ca;
}

.p-top .news .post-title {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  font-size: min(18px, 1.125rem, 4.8vw);
  font-weight: 500;
  line-height: calc(38/ 18);
  /* line-height: 1.4285714286; */
  /* ----------------- 9/24 */
  margin-top: min(5px, 0.3125rem, 1.3333333333vw);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.p-top .news .post-link {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  -moz-column-gap: min(7.3px, 0.45625rem, 1.9466666667vw);
  column-gap: min(7.3px, 0.45625rem, 1.9466666667vw);
  margin-top: min(3px, 0.1875rem, 0.8vw);
}

.p-top .news .post-link span {
  font-family: sofia-pro, sans-serif;
  font-size: min(13px, 0.8125rem, 3.4666666667vw);
  font-weight: 600;
  line-height: 1.3846153846;
  color: #0051ca;
}

.p-top .news .post-link img {
  width: min(18px, 1.125rem, 4.8vw);
  transition: transform 0.3s ease;
}

.p-top .news .button {
  display: flex;
  justify-content: flex-end;
  margin-top: min(30px, 1.875rem, 8vw);
}

.p-top .news .button .c-button-blue {
  background-image: linear-gradient(9.688deg, #2ED0FA, #0051CA);
  width: min(190px, 11.875rem, 50.6666666667vw);
  height: min(47px, 2.9375rem, 12.5333333333vw);
}

.p-top .news .button .c-button-blue::after {
  background-image: linear-gradient(12.818deg, #2F83FD, #71E2FF);
}

.p-top .video {
  position: relative;
  overflow: hidden;
}

.p-top .video .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-image: linear-gradient(to bottom, #fff 0 56%, #00C85B 56%, #00ADAC 91%, #fff 91%);
  padding-top: min(70px, 4.375rem, 18.6666666667vw);
  padding-bottom: min(80px, 5rem, 21.3333333333vw);
  position: relative;
  overflow: hidden;
}

.p-top .video .bg-text {
  position: absolute;
  top: 0;
  left: 0;
}

.p-top .video .bg-text p {
  font-family: sofia-pro, sans-serif;
  font-size: min(80px, 5rem, 21.3333333333vw);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  white-space: nowrap;
  color: #d5d5d5;
  opacity: 0.2;
}

.p-top .video .lead {
  font-family: sofia-pro, sans-serif;
  font-size: min(11px, 0.6875rem, 2.9333333333vw);
  font-weight: 600;
  line-height: 1.2727272727;
  text-align: center;
  color: #00ba84;
}

.p-top .video .title {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
  color: #00ba84;
}

.p-top .video .movie-container {
  width: min(345px, 21.5625rem, 92vw);
  aspect-ratio: 345/200;
  margin-top: min(23px, 1.4375rem, 6.1333333333vw);
}

.p-top .video .movie-container video {
  width: 100%;
  height: 100%;
}

.p-top .recruit {
  position: relative;
}

.p-top .recruit .inner {
  background-color: #fff;
  padding-top: min(400px, 25rem, 106.6666666667vw);
  position: relative;
  z-index: 0;
}

.p-top .recruit .sticky-container {
  position: absolute;
  inset: 0;
}

.p-top .recruit .bg-image {
  height: min(400px, 25rem, 106.6666666667vw);
  position: sticky;
  top: 0;
}

.p-top .recruit .bg-image img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-top .recruit .box {
  background-image: linear-gradient(24.316deg, #2ED0FA, #0051CA);
  position: relative;
  overflow: hidden;
}

.p-top .recruit .bg-text {
  position: absolute;
  top: min(262px, 16.375rem, 69.8666666667vw);
  right: max(-11px, -0.6875rem, -2.9333333333vw);
}

.p-top .recruit .bg-text p {
  font-family: sofia-pro, sans-serif;
  font-size: min(80px, 5rem, 21.3333333333vw);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  white-space: nowrap;
  color: #fff;
  opacity: 0.15;
}

.p-top .recruit .box-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 92%;
  margin-inline: auto;
  padding-top: min(30px, 1.875rem, 8vw);
  padding-bottom: min(42px, 2.625rem, 11.2vw);
}

.p-top .recruit .lead {
  font-family: sofia-pro, sans-serif;
  font-size: min(11px, 0.6875rem, 2.9333333333vw);
  font-weight: 600;
  line-height: 1.2727272727;
  text-align: center;
  color: #fff;
}

.p-top .recruit .title {
  font-size: min(20px, 1.25rem, 5.3333333333vw);
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
}

.p-top .recruit .text {
  /* 9/24 */
  /* font-size: min(14px, 0.875rem, 3.7333333333vw); */
  /* line-height: 2.1428571429; */
  font-size: min(18px, 1.125rem, 4.8vw);
  line-height: calc(38/18);
  /* ------------------ 9/24 */
  letter-spacing: 0.05em;
  color: #fff;
  margin-top: min(30px, 1.875rem, 8vw);
}

.p-top .recruit .button {
  margin-top: min(20px, 1.25rem, 5.3333333333vw);
}

.p-top .recruit .button .c-button-blue {
  color: #0051CA;
  background-color: #fff;
  width: min(190px, 11.875rem, 50.6666666667vw);
  height: min(47px, 2.9375rem, 12.5333333333vw);
  transition: color 0.3s ease;
}

.p-top .recruit .button .c-button-blue::before {
  background-color: #0051CA;
  transition: background-color 0.3s ease;
}

.p-top .recruit .button .c-button-blue::after {
  background-image: linear-gradient(12.818deg, #2F83FD, #71E2FF);
}

@media (hover: hover) {
  .p-top .recruit .button .c-button-blue:hover:hover {
    color: #fff;
  }

  .p-top .recruit .button .c-button-blue:hover:hover::before {
    background-color: #fff;
  }
}

@media (768px <=width) {
  .p-top .l-main>.inner {
    padding-top: 0;
  }

  .p-top .fv {
    background-image: linear-gradient(to top, #00C85B, #00ADAC);
  }

  .p-top .fv .inner {
    height: auto;
    /* height: min(765px, 47.8125rem, 53.125vw); */
    margin-inline: auto;
  }

  .p-top .fv .bg {
    aspect-ratio: 1440/765;
    position: static;
    padding-left: min(60px, 3.75rem, 4.1666666667vw);
  }

  .p-top .fv .scroll {
    background-image: linear-gradient(to top, #00C85B, #00ADAC);
    width: min(60px, 3.75rem, 4.1666666667vw);
  }

  .p-top .fv .scroll::after {
    height: min(90px, 5.625rem, 6.25vw);
    transform: translate(-50%, min(432.5px, 27.03125rem, 30.0347222222vw));
  }

  .p-top .fv .scroll span {
    font-size: min(12px, 0.75rem, 0.8333333333vw);
    top: min(360px, 22.5rem, 25vw);
    left: -24%;
    transform: rotateZ(90deg);
  }

  .p-top .fv .bg-text-top {
    top: min(151px, 9.4375rem, 10.4861111111vw);
    left: min(127px, 7.9375rem, 8.8194444444vw);
    transform: none;
  }

  .p-top .fv .bg-text-bottom {
    top: min(370px, 23.125rem, 25.6944444444vw);
    left: min(412px, 25.75rem, 28.6111111111vw);
    transform: none;
  }

  .p-top .fv .bg-text-top p,
  .p-top .fv .bg-text-bottom p {
    font-size: min(151px, 9.4375rem, 10.4861111111vw);
    line-height: 1.4569536424;
  }

  .p-top .fv .title {
    padding-top: min(6.5px, 0.40625rem, 0.4513888889vw);
    padding-right: min(47.5px, 2.96875rem, 3.2986111111vw);
    padding-left: min(65.5px, 4.09375rem, 4.5486111111vw);
    padding-bottom: min(15.5px, 0.96875rem, 1.0763888889vw);
    top: min(351.5px, 21.96875rem, 24.4097222222vw);
    left: 50%;
    transform: translateX(-50%);
  }

  .p-top .fv .title::before,
  .p-top .fv .title::after {
    width: min(294px, 18.375rem, 20.4166666667vw);
  }

  .p-top .fv .title h1 {
    font-size: min(34px, 2.125rem, 2.3611111111vw);
    line-height: 1.4411764706;
  }

  .p-top .fv .sound-button {
    row-gap: min(11px, 0.6875rem, 0.7638888889vw);
    width: min(117px, 7.3125rem, 8.125vw);
    min-width: 80px;
    aspect-ratio: 1/1;
    position: absolute;
    right: min(82px, 5.125rem, 5.6944444444vw);
    bottom: min(58px, 3.625rem, 4.0277777778vw);
  }

  .p-top .fv .sound-button.off::after {
    top: 47px;
    left: 31px;
  }

  .p-top .fv .sound-button .text {
    /* 9/24 */
    display: block;
    /* ------------- 9/24 */
    font-size: min(11px, 0.6875rem, 0.7638888889vw);
    line-height: 1.2727272727;
    margin-top: 0;
  }

  .p-top .fv .sound-button.off span.on {
    display: none;
  }

  .p-top .fv .sound-button.on span.off {
    display: none;
  }

  .p-top .fv .sound-button img {
    width: min(20.5px, 1.28125rem, 1.4236111111vw);
  }

  .p-top .about {
    background-image: linear-gradient(to right, #00C85B, #00ADAC);
    /* 9/25 */
    overflow: hidden;
  }

  .p-top .about .inner {
    background-image: none;
    margin-inline: auto;
    /* 9/25 */
    overflow: visible;
    max-width: 1440px;
    /* 9/25 */
  }

  .p-top .about .bg-text {
    top: max(-60px, -3.75rem, -4.1666666667vw);
    /* 9/25 */
    /* right: 0; */
    right: max(-42px, -2.625rem, -2.92222vw);
  }

  .p-top .about .bg-text p {
    font-size: min(205px, 12.8125rem, 14.2361111111vw);
    line-height: 1.2487804878;
  }

  .p-top .about .box {
    flex-direction: row;
    justify-content: space-between;
    padding-top: min(120px, 7.5rem, 8.3333333333vw);
    padding-left: min(120px, 7.5rem, 8.3333333333vw);
    padding-bottom: min(177px, 11.0625rem, 12.2916666667vw);
  }

  .p-top .about .text-container {
    row-gap: min(30px, 1.875rem, 2.0833333333vw);
    width: min(500px, 31.25rem, 34.7222222222vw);
    margin-inline: 0;
  }

  .p-top .about .title {
    font-size: min(23px, 1.4375rem, 1.5972222222vw);
    line-height: 1.2173913043;
  }

  .p-top .about .lead {
    font-size: min(34px, 2.125rem, 2.3611111111vw);
    line-height: 1.4705882353;
  }

  .p-top .about .text {
    font-size: min(19px, 1.1875rem, 1.3194444444vw);
    line-height: 2;
    letter-spacing: 0.1em;
    margin-top: min(20px, 1.25rem, 1.3888888889vw);
  }

  .p-top .about .image {
    width: min(674px, 42.125rem, 46.8055555556vw);
    margin-left: 0;
  }

  .p-top .about .button .c-button-green {
    border-top-right-radius: min(30px, 1.875rem, 2.0833333333vw);
    width: min(361px, 22.5625rem, 25.0694444444vw);
    height: min(104px, 6.5rem, 7.2222222222vw);
  }

  .p-top .strength {
    background-color: #fff;
    overflow: hidden;
  }

  .p-top .strength .inner {
    margin-inline: auto;
    /* 9/25 */
    overflow: visible;
    max-width: 1440px;
  }

  .p-top .strength .bg-text {
    top: min(15px, 0.9375rem, 1.0416666667vw);
    right: max(-15px, -0.9375rem, -1.0416666667vw);
  }

  .p-top .strength .bg-text p {
    font-size: min(205px, 12.8125rem, 14.2361111111vw);
    line-height: 0.9853658537;
  }

  .p-top .strength .bg-text p span {
    display: block;
  }

  /* 9/25 */
  .p-top .strength .bg-text p span:nth-child(1) {
    margin-right: max(-36px, -2.25rem, -2.5vw);
  }

  .p-top .strength .bg-text p span:nth-child(2) {
    margin-right: max(-48px, -3rem, -3.3333333vw);
  }

  /* ------------------ 9/25 */
  .p-top .strength .box {
    padding-top: min(192px, 12rem, 13.3333333333vw);
    padding-inline: min(120px, 7.5rem, 8.3333333333vw);
    padding-bottom: min(85px, 5.3125rem, 5.9027777778vw);
  }

  .p-top .strength .title {
    width: 100%;
  }

  .p-top .strength .title img {
    width: min(260px, 16.25rem, 18.0555555556vw);
  }

  .p-top .strength .list {
    display: grid;
    grid-template-columns: repeat(4, auto);
    grid-template-rows: repeat(2, auto);
    row-gap: min(30px, 1.875rem, 2.0833333333vw);
    -moz-column-gap: min(60px, 3.75rem, 4.1666666667vw);
    column-gap: min(60px, 3.75rem, 4.1666666667vw);
    width: 100%;
    margin-top: min(64px, 4rem, 4.4444444444vw);
  }

  .p-top .strength .item {
    border-radius: min(10px, 0.625rem, 0.6944444444vw);
    width: min(225px, 14.0625rem, 15.625vw);
    aspect-ratio: 225/320;
    min-width: 130px;
  }

  .p-top .strength .item:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1/3;
    width: min(342px, 21.375rem, 23.75vw);
    aspect-ratio: 342/486;
    margin-right: min(5px, 0.3125rem, 0.3472222222vw);
  }

  .p-top .strength .item:nth-of-type(1) h3 {
    -moz-column-gap: min(13px, 0.8125rem, 0.9027777778vw);
    column-gap: min(13px, 0.8125rem, 0.9027777778vw);
    top: min(410px, 25.625rem, 28.4722222222vw);
    left: min(21px, 1.3125rem, 1.4583333333vw);
  }

  .p-top .strength .item:nth-of-type(1) h3 span:nth-of-type(1) {
    font-size: min(26px, 1.625rem, 1.8055555556vw);
    line-height: 1.3076923077;
    width: min(57px, 3.5625rem, 3.9583333333vw);
    height: min(57px, 3.5625rem, 3.9583333333vw);
  }

  .p-top .strength .item:nth-of-type(1) h3 span:nth-of-type(2) {
    font-size: min(22px, 1.375rem, 1.5277777778vw);
    line-height: 1.4545454545;
  }

  .p-top .strength .item:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
  }

  .p-top .strength .item:nth-of-type(3) {
    grid-column: 3;
    grid-row: 1;
  }

  .p-top .strength .item:nth-of-type(4) {
    grid-column: 4;
    grid-row: 1;
  }

  .p-top .strength .item:nth-of-type(5) {
    grid-column: 2;
    grid-row: 2;
  }

  .p-top .strength .item:nth-of-type(6) {
    grid-column: 3;
    grid-row: 2;
  }

  .p-top .strength .item:nth-of-type(7) {
    grid-column: 4;
    grid-row: 2;
  }

  .p-top .strength .item h3 {
    -moz-column-gap: min(9px, 0.5625rem, 0.625vw);
    column-gap: min(9px, 0.5625rem, 0.625vw);
    top: min(256px, 16rem, 17.7777777778vw);
    left: min(15px, 0.9375rem, 1.0416666667vw);
  }

  .p-top .strength .item h3 span:nth-of-type(1) {
    font-size: min(20px, 1.25rem, 1.3888888889vw);
    line-height: 1.3;
    width: min(45px, 2.8125rem, 3.125vw);
    height: min(45px, 2.8125rem, 3.125vw);
  }

  .p-top .strength .item h3 span:nth-of-type(2) {
    font-size: min(16px, 1rem, 1.11vw);
    white-space: nowrap;
  }

  .p-top .strength .button .c-button-blue {
    background-image: linear-gradient(11.245deg, #2ED0FA, #0051CA);
    border-top-right-radius: min(30px, 1.875rem, 2.0833333333vw);
    width: min(361px, 22.5625rem, 25.0694444444vw);
    height: min(104px, 6.5rem, 7.2222222222vw);
  }

  .p-top .service {
    overflow: hidden;
  }

  .p-top .service .inner {
    row-gap: 0;
    margin-inline: auto;
  }

  .p-top .service .inner::before {
    display: none;
  }

  .p-top .service .box-service .box-inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-top: min(178px, 11.125rem, 12.3611111111vw);
    padding-left: min(120px, 7.5rem, 8.3333333333vw);
    /* 9/25 */
    overflow: visible;
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
    /* 9/25 */
  }

  .p-top .service .box-service .box-inner .bg-text {
    position: absolute;
    top: min(10px, 0.625rem, 0.6944444444vw);
    right: auto;
    /* 9/25 */
    /* left: max(-19px, -1.1875rem, -1.3194444444vw); */
    left: max(-42px, -2.625rem, -2.92222vw);
  }

  .p-top .service .box-service .box-inner .bg-text p {
    font-family: sofia-pro, sans-serif;
    font-size: min(205px, 12.8125rem, 14.2361111111vw);
    line-height: 1.2487804878;
  }

  .p-top .service .box-service .text-container {
    width: min(274px, 17.125rem, 19.0277777778vw);
    margin-inline: 0;
  }

  .p-top .service .box-service .lead {
    font-size: min(20px, 1.25rem, 1.3888888889vw);
    line-height: 1.25;
  }

  .p-top .service .box-service .title {
    font-size: min(36px, 2.25rem, 2.5vw);
    line-height: 1.4444444444;
    margin-top: min(5px, 0.3125rem, 0.3472222222vw);
  }

  .p-top .service .box-service .text {
    font-size: min(19px, 1.1875rem, 1.3194444444vw);
    line-height: 2;
    letter-spacing: 0.1em;
    margin-top: min(32px, 2rem, 2.2222222222vw);
  }

  .p-top .service .box-service .button {
    display: flex;
    justify-content: center;
    margin-top: min(54px, 3.375rem, 3.75vw);
  }

  .p-top .service .box-service .button .c-button-green {
    width: min(273px, 17.0625rem, 18.9583333333vw);
    height: min(90px, 5.625rem, 6.25vw);
  }

  .p-top .service .box-service .list {
    display: flex;
    flex-direction: row;
    width: min(980px, 61.25rem, 68.0555555556vw);
    margin-top: min(12px, 0.75rem, 0.8333333333vw);
    margin-inline: 0;
  }

  .p-top .service .box-service .item {
    width: 25%;
    aspect-ratio: 245/520;
  }

  .p-top .service .box-service .title-container {
    row-gap: 0;
    top: min(416px, 26rem, 28.8888888889vw);
    left: min(18px, 1.125rem, 1.25vw);
  }

  .p-top .service .box-service .title-container h3 {
    font-size: min(22px, 1.375rem, 1.5277777778vw);
    line-height: 1.4545454545;
  }

  .p-top .service .box-service .title-container p {
    font-size: min(14px, 0.875rem, 0.9722222222vw);
  }

  .p-top .service .box-sdgs {
    padding-left: min(194px, 12.125rem, 13.4722222222vw);
  }

  .p-top .service .box-sdgs .box-inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    background-color: #fff;
    background-image: none;
    padding-top: min(109px, 6.8125rem, 7.5694444444vw);
    padding-right: min(120px, 7.5rem, 8.3333333333vw);
    padding-left: min(146px, 9.125rem, 10.1388888889vw);
    padding-bottom: min(50px, 3.125rem, 3.4722222222vw);
  }

  .p-top .service .box-sdgs .box-inner .bg-text {
    top: max(-38px, -2.375rem, -2.6388888889vw);
    /* 9/25 */
    /* right: 0; */
    right: max(-42px, -2.625rem, -2.92222vw);
  }

  .p-top .service .box-sdgs .box-inner .bg-text p {
    font-size: min(205px, 12.8125rem, 14.2361111111vw);
    line-height: 1.2487804878;
  }

  .p-top .service .box-sdgs .text-container {
    width: min(437px, 27.3125rem, 30.3472222222vw);
    margin-inline: 0;
  }

  .p-top .service .box-sdgs .title img {
    width: min(321px, 20.0625rem, 29.2916666667vw);
  }

  .p-top .service .box-sdgs .text {
    font-size: min(19px, 1.1875rem, 1.3194444444vw);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    margin-top: min(44.8px, 2.8rem, 3.1111111111vw);
  }

  .p-top .service .box-sdgs .image-container {
    row-gap: min(109px, 6.8125rem, 7.5694444444vw);
    width: min(455px, 28.4375rem, 31.5972222222vw);
    margin-top: min(68.2px, 4.2625rem, 4.7361111111vw);
    margin-inline: 0;
  }

  .p-top .service .box-sdgs .image-container img {
    width: 100%;
  }

  .p-top .service .box-sdgs .button .c-button-blue {
    background-image: linear-gradient(12.818deg, #2ED0FA, #0051CA);
    width: min(273px, 17.0625rem, 18.9583333333vw);
    height: min(90px, 5.625rem, 6.25vw);
  }

  .p-top .news {
    background-color: #fff;
    /* 9/25 */
    overflow: hidden;
  }

  .p-top .news .inner {
    margin-inline: auto;
    /* 9/25 */
    max-width: 1440px;
    overflow: visible;
  }

  .p-top .news .bg-text {
    position: absolute;
    top: min(37px, 2.3125rem, 2.5694444444vw);
    right: auto;
    /* 9/25 */
    /* left: max(-13px, -0.8125rem, -0.9027777778vw); */
    left: max(-43px, -2.6875rem, -2.99999vw);
  }

  .p-top .news .bg-text p {
    font-size: min(205px, 12.8125rem, 14.2361111111vw);
    line-height: 1.2487804878;
  }

  .p-top .news .box {
    display: grid;
    grid-template-columns: 274fr 764fr;
    grid-template-rows: repeat(2, auto);
    grid-column-gap: min(117px, 7.3125rem, 8.125vw);
    width: 100%;
    margin-inline: auto;
    padding-top: min(160px, 10rem, 11.1111111111vw);
    padding-right: min(166px, 10.375rem, 11.5277777778vw);
    padding-left: min(120px, 7.5rem, 8.3333333333vw);
    padding-bottom: min(147.5px, 9.21875rem, 10.2430555556vw);
  }

  .p-top .news .title {
    grid-column: 1;
    grid-row: 1;
  }

  .p-top .news .title img {
    width: min(144px, 9rem, 10vw);
  }

  .p-top .news .list {
    grid-column: 2;
    grid-row: 1/-1;
    row-gap: min(28px, 1.75rem, 1.9444444444vw);
    margin-top: min(27.5px, 1.71875rem, 1.9097222222vw);
  }

  .p-top .news .item>a {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    border-bottom: solid 1px #d3d3d3;
    padding-bottom: min(20.5px, 1.28125rem, 1.4236111111vw);
  }

  .p-top .news .item-inner {
    display: flex;
  }

  .p-top .news .post-date {
    margin-top: min(5px, 0.3125rem, 0.3472222222vw);
  }

  .p-top .news .post-date span {
    font-size: min(17px, 1.0625rem, 1.1805555556vw);
    line-height: 1.3529411765;
  }

  .p-top .news .post-title {
    font-size: min(17px, 1.0625rem, 1.1805555556vw);
    line-height: 1.6764705882;
    margin-top: 0;
    margin-left: min(33px, 2.0625rem, 2.2916666667vw);
  }

  .p-top .news .post-link {
    justify-content: normal;
    align-items: flex-start;
    -moz-column-gap: min(10px, 0.625rem, 0.6944444444vw);
    column-gap: min(10px, 0.625rem, 0.6944444444vw);
    flex-shrink: 0;
    margin-top: min(9px, 0.5625rem, 0.625vw);
    margin-left: min(47px, 2.9375rem, 3.2638888889vw);
  }

  .p-top .news .post-link a {
    font-size: min(15px, 0.9375rem, 1.0416666667vw);
    line-height: 1.2666666667;
  }

  .p-top .news .post-link img {
    width: min(19px, 1.1875rem, 1.3194444444vw);
  }

  .p-top .news .button {
    justify-content: flex-start;
    margin-top: min(75px, 4.6875rem, 5.2083333333vw);
  }

  .p-top .news .button .c-button-blue {
    background-image: linear-gradient(12.818deg, #2ED0FA, #0051CA);
    width: min(273px, 17.0625rem, 18.9583333333vw);
    height: min(90px, 5.625rem, 6.25vw);
  }

  .p-top .video {
    background-image: linear-gradient(to bottom, #fff 0 26.3%, #00C85B 26.3%, #00ADAC 78.2%, #fff 78.2%);
    /* 9/25 */
    overflow: hidden;
  }

  .p-top .video .inner {
    background-image: none;
    margin-inline: auto;
    padding-top: 0;
    padding-bottom: min(270px, 16.875rem, 18.75vw);
    /* 9/25 */
    max-width: 1440px;
    overflow: visible;
  }

  .p-top .video .bg-text {
    top: max(-6px, -0.375rem, -0.4166666667vw);
    left: auto;
    /* 9/25 */
    /* right: 0; */
    right: max(-63px, -3.9375rem, -4.38vw);
  }

  .p-top .video .bg-text p {
    font-size: min(205px, 12.8125rem, 14.2361111111vw);
    line-height: 1.2487804878;
    color: #a3a3a3;
    opacity: 0.11;
  }

  .p-top .video .lead {
    font-size: min(20px, 1.25rem, 1.3888888889vw);
    line-height: 1.25;
  }

  .p-top .video .title {
    font-size: min(36px, 2.25rem, 2.5vw);
    line-height: 1.3888888889;
  }

  .p-top .video .movie-container {
    width: min(740px, 46.25rem, 51.3888888889vw);
    aspect-ratio: 740/429;
    margin-top: min(52px, 3.25rem, 3.6111111111vw);
    position: relative;
    z-index: 1;
  }

  .p-top .recruit {
    background-color: #fff;
  }

  .p-top .recruit .inner {
    /* padding-top: min(430px, 26.875rem, 29.8611111111vw); */
    padding-top: 29.8611111111vw;
  }

  .p-top .recruit .sticky-container {
    margin-inline: auto;
  }

  .p-top .recruit .bg-image {
    /* width: min(1320px, 82.5rem, 91.6666666667vw);
    height: min(430px, 26.875rem, 29.8611111111vw); */
    width: 91.6666667%;
    height: 29.8611111111vw;
  }

  .p-top .recruit .box {
    background-image: linear-gradient(10.133deg, #2ED0FA, #0051CA);
  }

  .p-top .recruit .bg-text {
    position: absolute;
    top: auto;
    bottom: max(-25px, -1.5625rem, -1.74vw);
    right: max(-42px, -2.625rem, -2.92222vw);
  }

  .p-top .recruit .bg-text p {
    font-size: min(205px, 12.8125rem, 14.2361111111vw);
    line-height: 1.2487804878;
  }

  .p-top .recruit .box-wrap {
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
  }

  .p-top .recruit .box-inner {
    width: min(754px, 47.125rem, 52.3611111111vw);
    padding-top: min(40px, 2.5rem, 2.7777777778vw);
    padding-bottom: min(57px, 3.5625rem, 3.9583333333vw);
  }

  .p-top .recruit .lead {
    font-size: min(20px, 1.25rem, 1.3888888889vw);
    line-height: 1.25;
  }

  .p-top .recruit .title {
    font-size: min(36px, 2.25rem, 2.5vw);
    line-height: 1.4444444444;
  }

  .p-top .recruit .text {
    /* 9/24 */
    /* font-size: min(18px, 1.125rem, 1.25vw); */
    /* line-height: 1.7777777778; */
    font-size: min(19px, 1.1875rem, 1.32vw);
    line-height: calc(40/19);
    /* ------------------ 9/24 */
    letter-spacing: 0.08em;
    margin-top: min(30px, 1.875rem, 2.0833333333vw);
  }

  .p-top .recruit .button {
    margin-top: min(40px, 2.5rem, 2.7777777778vw);
  }

  .p-top .recruit .button .c-button-blue {
    width: min(273px, 17.0625rem, 18.9583333333vw);
    height: min(90px, 5.625rem, 6.25vw);
  }
}

@media (975px <=width) {
  .p-top .fv .sound-button.off::after {
    top: min(67px, 4.1875rem, 4.65vw);
    left: min(45px, 2.8125rem, 3.13vw);
    width: min(28px, 1.75rem, 1.94vw);
  }
}

@media (1441px <=width) {
  .p-top .service .box-sdgs {
    padding-left: 0;
    position: relative;
  }

  .p-top .service .box-sdgs::after {
    content: "";
    display: block;
    width: 89.896%;
    background-color: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
  }

  .p-top .service .box-sdgs .box-wrap {
    max-width: 1440px;
    margin: 0 auto;
  }

  .p-top .service .box-sdgs .box-inner {
    max-width: 1246px;
    margin-left: auto;
    position: relative;
  }
}

.p-top .warehouse {
  /* background-image: linear-gradient(to bottom, #fff 0%, #2ED0FA 0%, #0051CA 80%, #fff 80%); */
  background-image: linear-gradient(to bottom, #fff 0%, #fff 100%);

  overflow: hidden;
  position: relative;
}

.background-color {
  width: 100%;
  background-image: linear-gradient(to bottom, #fff 0%, #2ED0FA 0%, #0051CA 75%, #fff 75%);
  z-index: 1;
}

.p-top .warehouse .inner {
  margin-inline: auto;
  /* 9/25 */
  overflow: visible;
  max-width: 1440px;
}

.p-top .warehouse .inner_height {
  height: 200px;
  margin-top: 150px;
}

.p-top .warehouse .bg-text {
  top: max(-6px, -0.375rem, -0.4166666667vw);
  left: auto;
  /* 9/25 */
  /* right: 0; */
  height: 200px;
  right: max(-63px, -3.9375rem, -4.38vw);
}

.p-top .warehouse .bg-text p {
  font-size: min(205px, 12.8125rem, 14.2361111111vw);
  line-height: 1.2487804878;
  color: #a3a3a3;
  opacity: 0.11;
}

.p-top .warehouse .bg-text .lead {
  text-align: left;
  color: #0051CA;
  opacity: 1;

  font-family: sofia-pro, sans-serif;
  font-size: min(11px, 0.6875rem, 2.9333333333vw);
  font-weight: 600;
  line-height: 1.2727272727;
}

.p-top .warehouse .bg-text p span {
  display: block;
}

/* ------------------ 9/25 */
.p-top .warehouse .box {
  padding-top: min(220px, 46rem, 43.3333333333vw);
  padding-inline: min(120px, 7.5rem, 8.3333333333vw);
  /* padding-bottom: min(85px, 5.3125rem, 5.9027777778vw); */

  transform: translateY(-300px);
}

/* .p-top .warehouse .bg-text{
  position: relative;
} */
.p-top .warehouse .warehouse_title {
  position: absolute;
  top: 360px;
  /* left: 0; */

  display: block;
  text-align: left;
  /* margin-bottom: 60px; */
}

.p-top .warehouse .warehouse_box {
  padding-inline: min(120px, 7.5rem, 8.3333333333vw);
}

.p-top .warehouse .lead {
  font-size: min(11px, 0.6875rem, 2.9333333333vw);
  font-weight: 600;
  line-height: 1.2727272727;
  text-align: left;
  color: #0051CA;
  font-family: sofia-pro, sans-serif;
}

.p-top .warehouse .title {
  font-size: min(36px, 2.25rem, 2.5vw);
  line-height: 1.3888888889;
  letter-spacing: 0.05em;
  text-align: left;
  color: #0051CA;
}

.p-top .warehouse .mainvisual .text1 {
  font-size: min(63px, 7.25rem, 7.0vw);
  font-weight: 700;
  line-height: 1.3888888889;
  letter-spacing: 0.05em;
  /* padding: 10px 0px 0 38px; */
  margin-top: 40px;
  color: yellow;
  text-shadow: #808080 6px 6px 7px;
}

.p-top .warehouse .mainvisual .text2 {
  margin-top: 20px;
  line-height: 1.3888888889;
  letter-spacing: 0.05em;
  /* padding: 10px 30px; */
  margin-top: 40px;

  font-size: min(35px, 7.25rem, 7.0vw);
  color: #fff;
  text-shadow: #000 3px 5px 5px;
}

.p-top .warehouse .mainvisual .text2 span {
  line-height: 1.3888888889;
  letter-spacing: 0.05em;
  padding: 10px 30px;

  font-size: min(45px, 7.25rem, 7.0vw);
  color: #fff;
  text-shadow: #000 3px 5px 5px;
}

.p-top .warehouse .button {
  /* position: absolute;
  left: 0;
  bottom: 10; */
  text-align: center;
  margin-top: 50px;
}

.p-top .warehouse .button .c-button-blue {
  background-color: #fff;
  color: #0051CA;
  /* border-top-right-radius: min(15px, 0.9375rem, 4vw); */

  transition: color 0.3s ease;
  width: min(273px, 17.0625rem, 18.9583333333vw);
  height: min(90px, 5.625rem, 6.25vw);
  /* width: min(190px, 11.875rem, 50.6666666667vw);
  height: min(47px, 2.9375rem, 12.5333333333vw); */
}


.p-top .warehouse .button .c-button-blue::after {
  background-image: linear-gradient(12.818deg, #2F83FD, #71E2FF);
}

.p-top .warehouse .button .c-button::before {
  content: "";
  display: block;
  background-color: #0051CA;
  width: min(20px, 1.25rem, 5.3333333333vw);
  height: min(2px, 0.125rem, 0.5333333333vw);
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1;
  transform: translateY(-50%);
}


.p-top .warehouse .mainvisual {
  min-width: 700px;
  margin: 0 auto;
  display: flex;
  margin-top: 120px;
}

.p-top .warehouse .mainvisual img {
  max-width: 600px;
  object-fit: cover;
}

.p-top .warehouse .mainvisual .mainvisual-subtitle {
  width: 100%;
  text-align: center;
}


@media screen and (max-width:1075px) {
  .p-top .warehouse {
    /* background-image: linear-gradient(to bottom, #fff 21.3%, #2ED0FA 21.3%, #0051CA 80%, #fff 80%); */
    overflow: hidden;
    height: 1300px;
  }

  .p-top .warehouse .bg-text {
    height: 30px;
  }

  .p-top .warehouse .inner_height {
    height: 130px;
    /* margin-top: 50px; */
  }

  .p-top .warehouse .warehouse_title {
    display: block;
    text-align: center;
    /* margin-top: 100px; */
    top: 315px;
    margin-bottom: 30px;
    /* margin-left: 20px; */
  }

  .p-top .warehouse .mainvisual {
    margin-top: 220px;
    min-width: 700px;
    display: block;
  }

  .p-top .warehouse .mainvisual img {
    max-width: 700px;
    object-fit: cover;
  }

  .p-top .warehouse .mainvisual .mainvisual-subtitle {
    width: 100%;
    text-align: center;
  }

  .p-top .warehouse .mainvisual .text2 {
    margin-top: 20px;
    line-height: 1.3888888889;
    letter-spacing: 0.05em;
    padding: 10px 30px;

    font-size: min(25px, 7.25rem, 7.0vw);
    color: #fff;
    text-shadow: #000 3px 5px 5px;
  }

  .p-top .warehouse .mainvisual .text2 span {
    line-height: 1.3888888889;
    letter-spacing: 0.05em;
    padding: 10px 30px;

    font-size: min(35px, 7.25rem, 7.0vw);
    color: #fff;
    text-shadow: #000 3px 5px 5px;
  }

  .p-top .warehouse .background-color .box {
    display: block;
    text-align: center;
    padding-top: min(160px, 12rem, 13.3333333333vw);
    transform: translateY(-300px);
  }
}

@media screen and (max-width:767px) {
  .p-top .warehouse {
    height: 1003px;
  }

  .p-top .warehouse .bg-text {
    /* height: 1450px; */
    height: 10vh;
    width: 100%;
    margin-left: 20px;
  }

  .p-top .warehouse .inner_height {
    height: 75px;
    margin-top: 40px;
  }

  .p-top .warehouse .mainvisual {
    min-width: 300px;
    display: block;
    text-align: center;
    margin-top: 270px;
  }

  .p-top .warehouse .title {
    /* font-size: min(20px, 1.25rem, 3.3333333333vw); */
    font-size: min(20px, 1.25rem, 5.3333333333vw);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .background-color {
    background-image: linear-gradient(to bottom, #fff 0%, #2ED0FA 0%, #0051CA 75%, #fff 75%);
  }

  .p-top .warehouse .mainvisual img {
    min-width: 300px;
    object-fit: cover;
  }

  .p-top .warehouse .box {
    padding-top: min(192px, 12rem, 13.3333333333vw);
    padding-inline: min(120px, 7.5rem, 8.3333333333vw);
    /* padding-inline: 0px; */
    /* padding-bottom: min(85px, 5.3125rem, 5.9027777778vw); */
    transform: translateY(-300px);
  }

  .p-top .warehouse .warehouse_title {
    font-family: sofia-pro, sans-serif;
    display: block;
    text-align: center;
    /* margin-top:200px;
    margin-bottom: 120px; */
    /* margin-left: 20px; */
  }

  .p-top .warehouse .button {
    text-align: center;
    margin-top: 30px;
    /* width: min(190px, 11.875rem, 50.6666666667vw);
    height: min(47px, 2.9375rem, 12.5333333333vw); */
  }

  .p-top .warehouse .button .c-button-blue {
    background-color: #fff;
    color: #0051CA;

    transition: color 0.3s ease;
    width: min(190px, 11.875rem, 50.6666666667vw);
    height: min(47px, 2.9375rem, 12.5333333333vw);
  }
}

@media screen and (max-width:500px) {
  .p-top .warehouse {
    height: 827px;
  }
}


.recruit  .recruit-title {
  font-size: min(36px, 2.25rem, 2.5vw);
  line-height: 1.4444444444;
  color: white;
}