@charset "UTF-8";
.p-top-1-btn {
  position: relative;
  display: block;
  padding: 0 0 0 140px;
}
@media screen and (width <= 900px) {
  .p-top-1-btn {
    padding: 4.1666666667vw 0 0 4.1666666667vw;
  }
}
.p-top-1-btn__boxs {
  position: absolute;
  top: 98px;
  left: 0;
  z-index: 10;
}
@media screen and (width <= 900px) {
  .p-top-1-btn__boxs {
    top: 0;
  }
}
.p-top-1-btn__boxin1, .p-top-1-btn__boxin2 {
  position: relative;
  width: fit-content;
  padding: 0 14.5px;
  font-size: 23px;
  line-height: 48px;
  letter-spacing: 0.16em;
  background: #fff;
  border: 1px solid #e60000;
}
@media screen and (width <= 900px) {
  .p-top-1-btn__boxin1, .p-top-1-btn__boxin2 {
    padding: 0 2.0833333333vw;
    font-size: 3.75vw;
    line-height: 7.0833333333vw;
  }
}
.p-top-1-btn__boxin1 p, .p-top-1-btn__boxin2 p {
  position: relative;
  z-index: 3;
  color: #e60000;
}
.p-top-1-btn__boxin1::before, .p-top-1-btn__boxin2::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: #e60000;
  border-radius: 0;
  transition: transform 0.3s cubic-bezier(0.79, 0.17, 0.15, 0.96);
  transform: scale(0, 1);
  transform-origin: right center;
}
.p-top-1-btn__boxin2 {
  margin: 12px 0 0;
}
@media screen and (width <= 900px) {
  .p-top-1-btn__boxin2 {
    margin-top: 2.5vw;
  }
}
.p-top-1-btn__img {
  position: relative;
  z-index: 1;
}
.p-top-1-btn__img::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  transition: transform 0.3s cubic-bezier(0.79, 0.17, 0.15, 0.96);
  transform: scale(0, 1);
  transform-origin: right center;
}
.p-top-1-btn__img img {
  width: 100%;
  border-radius: 10px;
}
@media screen and (width <= 900px) {
  .p-top-1-btn__img img {
    border-radius: 2.0833333333vw;
  }
}
.p-top-1-btn__read {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  gap: 23px;
  align-items: center;
  width: 190px;
  height: 48px;
  padding: 0 17px;
  background: #e60000;
  border-radius: 10px 0;
}
@media screen and (width <= 900px) {
  .p-top-1-btn__read {
    justify-content: center;
    width: 8.3333333333vw;
    height: 8.3333333333vw;
    padding: 0;
    border-radius: 2.0833333333vw 0;
  }
}
.p-top-1-btn__read::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: #fff;
  border-radius: 10px 0;
  transition: transform 0.3s cubic-bezier(0.79, 0.17, 0.15, 0.96);
  transform: scale(0, 1);
  transform-origin: right center;
}
.p-top-1-btn__read p {
  position: relative;
  z-index: 3;
  font-size: 14px;
  font-feature-settings: "palt";
  color: #fff;
  letter-spacing: 0.18em;
}
@media screen and (width <= 900px) {
  .p-top-1-btn__read p {
    display: none;
  }
}
.p-top-1-btn__read svg {
  position: relative;
  z-index: 3;
  fill: none;
  stroke: #fff;
  stroke-linejoin: bevel;
}
.p-top-1-btn__svgpc {
  display: block;
  width: 29px;
}
@media screen and (width <= 900px) {
  .p-top-1-btn__svgpc {
    display: none;
  }
}
.p-top-1-btn__svgsp {
  display: none;
}
@media screen and (width <= 900px) {
  .p-top-1-btn__svgsp {
    display: block;
    width: 4.1666666667vw;
  }
}
@media (hover: hover) {
  .p-top-1-btn:hover {
    opacity: 1;
  }
  .p-top-1-btn:hover .p-top-1-btn__boxin1 p,
  .p-top-1-btn:hover .p-top-1-btn__boxin2 p {
    color: #fff;
  }
  .p-top-1-btn:hover .p-top-1-btn__boxin1::before,
  .p-top-1-btn:hover .p-top-1-btn__boxin2::before {
    transform: scale(1, 1);
    transform-origin: left center;
  }
  .p-top-1-btn:hover .p-top-1-btn__img::before {
    transform: scale(1, 1);
    transform-origin: left center;
  }
  .p-top-1-btn:hover .p-top-1-btn__read::before {
    transform: scale(1, 1);
    transform-origin: left center;
  }
  .p-top-1-btn:hover .p-top-1-btn__read p {
    color: #e60000;
  }
  .p-top-1-btn:hover .p-top-1-btn__read svg {
    stroke: #e60000;
  }
}

.p-btn-1 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 620px;
  height: 152px;
  padding: 0 40px;
  margin: 110px auto 0;
  overflow: hidden;
  border: 1px solid #e60000;
  border-radius: 20px;
}
.p-btn-1_faq {
  margin-top: 120px;
}
@media screen and (width <= 900px) {
  .p-btn-1 {
    max-width: 87.5vw;
    height: 25vw;
    padding: 0 6.25vw;
    margin: 11.6666666667vw auto 0;
    border-radius: 4.1666666667vw;
  }
}
.p-btn-1_careerstep {
  margin-top: 0;
}
.p-btn-1_welfare {
  margin-top: 120px;
}
@media screen and (width <= 900px) {
  .p-btn-1_welfare {
    margin-top: 15vw;
  }
}
.p-btn-1::before, .p-btn-1::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../img/top/btn-bg.png");
  background-position: center;
  background-size: 100% 100%;
}
@media screen and (width <= 900px) {
  .p-btn-1::before, .p-btn-1::after {
    background-image: url("../img/top/btn-bg-sp.png");
  }
}
.p-btn-1::after {
  z-index: 2;
  clip-path: inset(0 100% 0 0);
  background-image: url("../img/top/btn-bg-hover.png");
}
@media screen and (width <= 900px) {
  .p-btn-1::after {
    background-image: url("../img/top/btn-bg-hover-sp.png");
  }
}
.p-btn-1 p {
  position: relative;
  z-index: 3;
  font-size: 20px;
  color: #e60000;
  letter-spacing: 0.16em;
}
@media screen and (width <= 900px) {
  .p-btn-1 p {
    font-size: 3.75vw;
  }
}
.p-btn-1__svgpc {
  display: block;
  width: 160px;
}
@media screen and (width <= 900px) {
  .p-btn-1__svgpc {
    display: none;
  }
}
.p-btn-1__svgsp {
  display: none;
}
@media screen and (width <= 900px) {
  .p-btn-1__svgsp {
    display: block;
    width: 18.3333333333vw;
  }
}
.p-btn-1 svg {
  position: relative;
  z-index: 3;
  fill: none;
  stroke: #e60000;
  stroke-linejoin: bevel;
}
@media (hover: hover) {
  .p-btn-1:hover {
    opacity: 1;
  }
  .p-btn-1:hover::after {
    animation: clip-to-left 0.3s ease-in-out forwards;
  }
  .p-btn-1:not(:hover)::after {
    animation: clip-to-right 0.3s forwards;
  }
}

@keyframes clip-to-left {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes clip-to-right {
  0% {
    clip-path: inset(0 0 0 0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
.p-btn-pic {
  position: relative;
  display: block;
  width: 342px;
  padding: 20px 0 0 20px;
}
@media screen and (width <= 900px) {
  .p-btn-pic {
    width: auto;
    padding: 4.1666666667vw 0 0 4.1666666667vw;
  }
}
.p-btn-pic_4 {
  width: 460px;
}
@media screen and (width <= 900px) {
  .p-btn-pic_4 {
    width: auto;
  }
}
.p-btn-pic_5 {
  width: 534px;
}
@media screen and (width <= 900px) {
  .p-btn-pic_5 {
    width: auto;
  }
}
.p-btn-pic__boxs {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.p-btn-pic__boxin1, .p-btn-pic__boxin2 {
  position: relative;
  width: fit-content;
  padding: 0 17px;
  font-size: 20px;
  line-height: 38px;
  letter-spacing: 0.16em;
  background: #fff;
  border: 1px solid #e60000;
}
@media screen and (width <= 900px) {
  .p-btn-pic__boxin1, .p-btn-pic__boxin2 {
    padding: 0 2.0833333333vw;
    font-size: 3.75vw;
    line-height: 7.0833333333vw;
  }
}
.p-btn-pic__boxin1 p, .p-btn-pic__boxin2 p {
  position: relative;
  z-index: 3;
  color: #e60000;
}
.p-btn-pic__boxin1::before, .p-btn-pic__boxin2::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: #e60000;
  border-radius: 0;
  transition: transform 0.3s cubic-bezier(0.79, 0.17, 0.15, 0.96);
  transform: scale(0, 1);
  transform-origin: right center;
}
.p-btn-pic__boxin2 {
  margin: 7px 0 0;
}
@media screen and (width <= 900px) {
  .p-btn-pic__boxin2 {
    margin-top: 1.4583333333vw;
  }
}
.p-btn-pic__img {
  position: relative;
  z-index: 1;
}
.p-btn-pic__img::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  transition: transform 0.3s cubic-bezier(0.79, 0.17, 0.15, 0.96);
  transform: scale(0, 1);
  transform-origin: right center;
}
.p-btn-pic__img img {
  width: 100%;
  border-radius: 10px;
}
@media screen and (width <= 900px) {
  .p-btn-pic__img img {
    border-radius: 2.0833333333vw;
  }
}
.p-btn-pic__read {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: #e60000;
  border-radius: 10px 0;
}
@media screen and (width <= 900px) {
  .p-btn-pic__read {
    justify-content: center;
    width: 8.3333333333vw;
    height: 8.3333333333vw;
    border-radius: 2.0833333333vw 0;
  }
}
.p-btn-pic__read::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: #fff;
  border-radius: 10px 0;
  transition: transform 0.3s cubic-bezier(0.79, 0.17, 0.15, 0.96);
  transform: scale(0, 1);
  transform-origin: right center;
}
.p-btn-pic__read svg {
  position: relative;
  z-index: 3;
  fill: none;
  stroke: #fff;
  stroke-linejoin: bevel;
}
.p-btn-pic__svgpc {
  display: block;
  width: 25px;
}
@media screen and (width <= 900px) {
  .p-btn-pic__svgpc {
    display: none;
  }
}
.p-btn-pic__svgsp {
  display: none;
}
@media screen and (width <= 900px) {
  .p-btn-pic__svgsp {
    display: block;
    width: 4.1666666667vw;
  }
}
@media (hover: hover) {
  .p-btn-pic:hover {
    opacity: 1;
  }
  .p-btn-pic:hover .p-btn-pic__boxin1 p,
  .p-btn-pic:hover .p-btn-pic__boxin2 p {
    color: #fff;
  }
  .p-btn-pic:hover .p-btn-pic__boxin1::before,
  .p-btn-pic:hover .p-btn-pic__boxin2::before {
    transform: scale(1, 1);
    transform-origin: left center;
  }
  .p-btn-pic:hover .p-btn-pic__img::before {
    transform: scale(1, 1);
    transform-origin: left center;
  }
  .p-btn-pic:hover .p-btn-pic__read::before {
    transform: scale(1, 1);
    transform-origin: left center;
  }
  .p-btn-pic:hover .p-btn-pic__read p {
    color: #e60000;
  }
  .p-btn-pic:hover .p-btn-pic__read svg {
    stroke: #e60000;
  }
}

.p-top-r-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 522px;
  height: 200px;
  padding: 0 40px;
  overflow: hidden;
  border: 1px solid #e60000;
  border-radius: 20px;
}
@media screen and (width <= 900px) {
  .p-top-r-btn {
    width: 87.5vw;
    height: 25vw;
    padding: 0 6.25vw;
    border-radius: 4.1666666667vw;
  }
}
.p-top-r-btn::before, .p-top-r-btn::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../img/top/btn-bg1.png");
  background-position: center;
  background-size: 100% 100%;
}
@media screen and (width <= 900px) {
  .p-top-r-btn::before, .p-top-r-btn::after {
    background-image: url("../img/top/btn-bg1-sp.png");
  }
}
.p-top-r-btn::after {
  z-index: 2;
  clip-path: inset(0 100% 0 0);
  background-image: url("../img/top/btn-bg1-hover.png");
}
@media screen and (width <= 900px) {
  .p-top-r-btn::after {
    background-image: url("../img/top/btn-bg1-hover-sp.png");
  }
}
.p-top-r-btn p {
  position: relative;
  z-index: 3;
  font-size: 20px;
  color: #e60000;
  letter-spacing: 0.16em;
}
@media screen and (width <= 900px) {
  .p-top-r-btn p {
    font-size: 3.75vw;
  }
}
.p-top-r-btn__svgpc {
  display: block;
  width: 104px;
}
@media screen and (width <= 900px) {
  .p-top-r-btn__svgpc {
    display: none;
  }
}
.p-top-r-btn__svgsp {
  display: none;
}
@media screen and (width <= 900px) {
  .p-top-r-btn__svgsp {
    display: block;
    width: 18.3333333333vw;
  }
}
.p-top-r-btn svg {
  position: relative;
  z-index: 3;
  fill: none;
  stroke: #e60000;
  stroke-linejoin: bevel;
}
@media (hover: hover) {
  .p-top-r-btn:hover {
    opacity: 1;
  }
  .p-top-r-btn:hover::after {
    animation: clip-to-left 0.3s ease-in-out forwards;
  }
  .p-top-r-btn:not(:hover)::after {
    animation: clip-to-right 0.3s forwards;
  }
}

@keyframes clip-to-left {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes clip-to-right {
  0% {
    clip-path: inset(0 0 0 0);
  }
  100% {
    clip-path: inset(0 0 0 100%);
  }
}
.p-title {
  position: relative;
  width: fit-content;
  margin: 0 auto;
}
.p-title img {
  width: auto;
  height: 24px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .p-title img {
    height: 5vw;
  }
}
.p-title_1 {
  margin-top: 170px;
}
@media screen and (width <= 900px) {
  .p-title_1 {
    margin-top: 25vw;
  }
}
.p-title_2 img {
  height: 32px;
}
@media screen and (width <= 900px) {
  .p-title_2 img {
    height: 6.6666666667vw;
  }
}
.p-title span {
  display: block;
  padding: 24px 0 0;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
}
@media screen and (width <= 900px) {
  .p-title span {
    padding-top: 5vw;
    font-size: 3.75vw;
  }
}
.p-title::before {
  position: absolute;
  top: -48px;
  left: -42px;
  display: block;
  width: 100px;
  height: 100px;
  clip-path: polygon(0 100%, 1px 100%, 100% 1px, 100% 0);
  content: "";
  background-color: #e60000;
}
@media screen and (width <= 900px) {
  .p-title::before {
    top: -10vw;
    left: -8.75vw;
    width: 20.8333333333vw;
    height: 20.8333333333vw;
    background-color: #e60000;
  }
}

.p-top-title-2 {
  position: relative;
  width: fit-content;
  margin: 166px auto 0;
}
@media screen and (width <= 900px) {
  .p-top-title-2 {
    margin-top: 24.5833333333vw;
  }
}
.p-top-title-2 img {
  width: auto;
  height: 31.6px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .p-top-title-2 img {
    height: 17.5vw;
  }
}
.p-top-title-2 span {
  padding: 23px 0 0;
}
@media screen and (width <= 900px) {
  .p-top-title-2 span {
    padding-top: 4.7916666667vw;
  }
}
.p-top-title-2::before {
  position: absolute;
  top: -48px;
  left: -42px;
  display: block;
  width: 100px;
  height: 100px;
  clip-path: polygon(0 100%, 1% 100%, 100% 1%, 100% 0);
  content: "";
  background-color: #e60000;
}
@media screen and (width <= 900px) {
  .p-top-title-2::before {
    top: -10vw;
    left: -8.75vw;
    width: 20.8333333333vw;
    height: 20.8333333333vw;
  }
}
.p-top-title-2 span {
  display: block;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
}
@media screen and (width <= 900px) {
  .p-top-title-2 span {
    font-size: 3.75vw;
  }
}

.p-top-text {
  font-size: 20px;
  font-feature-settings: "palt";
  line-height: 30px;
  text-align: center;
  letter-spacing: 0.18em;
}
@media screen and (width <= 900px) {
  .p-top-text {
    font-size: 3.2291666667vw;
    line-height: 5.8333333333vw;
  }
}
.p-top-text_pt34 {
  padding-top: 34px;
}
@media screen and (width <= 900px) {
  .p-top-text_pt34 {
    padding-top: 7.0833333333vw;
  }
}

.top-mv {
  position: relative;
  z-index: 3;
}
.top-mv__swiper {
  z-index: 2;
}
.top-mv__fix {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}
.top-mv__text {
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.top-mv__text.is-active {
  opacity: 1;
  transition: opacity 2s ease;
}
.top-mv {
  --line-size1: calc(14.175vw + -0.275px);
  --line-size2: calc(9.85vw + 0.05px);
  --line-size3: calc(12.325vw + 0.075px);
  --line-size1-sp: 22.0625vw;
  --line-size2-sp: 15.375vw;
  --line-size3-sp: 19.2291666667vw;
}
.top-mv__line-s1, .top-mv__line-s2, .top-mv__line-s3 {
  position: absolute;
}
.top-mv__line-s1 > div, .top-mv__line-s2 > div, .top-mv__line-s3 > div {
  position: absolute;
  top: 0;
  right: 0;
  height: 0;
  background: #e60000;
  opacity: 0;
  transform: rotate(45deg);
  transform-origin: top right;
}
.top-mv__line-s1 > div::after, .top-mv__line-s2 > div::after, .top-mv__line-s3 > div::after {
  /* 先端のキラキラ */
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 1px;
  content: "";
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 5px 0.5px #fff, 0 0 10px 1px #fff;
  transform: translateX(-50%);
}
.top-mv__line-s1.is-active > div, .top-mv__line-s2.is-active > div, .top-mv__line-s3.is-active > div {
  opacity: 1;
  animation: line-action 2s ease-out forwards;
}
@media screen and (width <= 900px) {
  .top-mv__line-s1.is-active > div, .top-mv__line-s2.is-active > div, .top-mv__line-s3.is-active > div {
    animation-duration: 1s;
  }
}
.top-mv__line-s1.is-active > div::after, .top-mv__line-s2.is-active > div::after, .top-mv__line-s3.is-active > div::after {
  animation: tip-action 2s ease-out forwards;
}
@media screen and (width <= 900px) {
  .top-mv__line-s1.is-active > div::after, .top-mv__line-s2.is-active > div::after, .top-mv__line-s3.is-active > div::after {
    animation-duration: 1s;
  }
}
.top-mv__line-s1 {
  top: calc(10.125vw + -9.625px);
  left: calc(25.075vw + 0.125px);
  z-index: 5;
  width: calc(14.175vw + -0.275px);
  height: calc(14.175vw + -0.275px);
}
@media screen and (width <= 900px) {
  .top-mv__line-s1 {
    top: 6.8125vw;
    left: 39.0833333333vw;
    width: 22.0625vw;
    height: 22.0625vw;
  }
}
.top-mv__line-s1.is-active > div {
  --active-line-size: var(--line-size1);
  --active-line-color: #e60000;
}
@media screen and (width <= 900px) {
  .top-mv__line-s1.is-active > div {
    background: #fff;
    --active-line-size: var(--line-size1-sp);
    --active-line-color: #fff;
  }
}
.top-mv__line-s2 {
  top: calc(21.4vw + 0px);
  left: calc(14.875vw + 0.025px);
  z-index: 6;
  width: calc(9.85vw + 0.05px);
  height: calc(9.85vw + 0.05px);
}
@media screen and (width <= 900px) {
  .top-mv__line-s2 {
    top: 25.125vw;
    left: 22.5833333333vw;
    width: 15.375vw;
    height: 15.375vw;
  }
}
.top-mv__line-s2.is-active > div {
  --active-line-size: var(--line-size2);
  --active-line-color: #e60000;
}
@media screen and (width <= 900px) {
  .top-mv__line-s2.is-active > div {
    background: #fff;
    --active-line-size: var(--line-size2-sp);
    --active-line-color: #fff;
  }
}
.top-mv__line-s3 {
  top: calc(32.975vw + 0.125px);
  left: calc(49vw + 0px);
  z-index: 7;
  width: calc(12.325vw + 0.075px);
  height: calc(12.325vw + 0.075px);
}
@media screen and (width <= 900px) {
  .top-mv__line-s3 {
    top: 43.2083333333vw;
    left: 76.6666666667vw;
    width: 19.2291666667vw;
    height: 19.2291666667vw;
  }
}
.top-mv__line-s3.is-active > div {
  --active-line-size: var(--line-size3);
  --active-line-color: #e60000;
}
@media screen and (width <= 900px) {
  .top-mv__line-s3.is-active > div {
    --active-line-size: var(--line-size3-sp);
  }
}
.top-mv__scroll {
  display: none;
}
@media screen and (width <= 900px) {
  .top-mv__scroll {
    position: absolute;
    right: 3.125vw;
    bottom: 6.25vw;
    z-index: 5;
    display: block;
    width: 2.0833333333vw;
    animation: blinking 1s ease-in-out infinite alternate;
  }
}

@keyframes blinking {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 【線本体】のアニメーション・タイムライン */
@keyframes line-action {
  0% {
    width: 1px;
    height: 0;
    background-color: #fff;
    box-shadow: 0 0 10px 0.2px #fff, 0 0 30px 0 #fff;
  }
  33% {
    width: 1px;
    height: calc(var(--active-line-size) * 1.4142135624);
    background-color: #fff;
    box-shadow: 0 0 5px 0.2px #fff, 0 0 30px 0 #fff;
  }
  100% {
    width: 1px;
    height: calc(var(--active-line-size) * 1.4142135624);
    background-color: var(--active-line-color);
    box-shadow: 0 0 0 0 rgba(230, 0, 0, 0);
  }
}
/* 【先端のキラキラ】のアニメーション・タイムライン */
@keyframes tip-action {
  0% {
    opacity: 1;
  }
  33% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.top-1 {
  position: relative;
  padding: 140px 20px 0;
  background-image: url("../img/top/top-bg.png");
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 100% auto;
}
@media screen and (width <= 900px) {
  .top-1 {
    padding: 20.8333333333vw 6.25vw 0;
    background-image: url("../img/top/top-bg-sp.png");
  }
}
.top-1__1st {
  max-width: 1040px;
  padding: 0 20px 0 0;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .top-1__1st {
    padding: 0;
  }
}

.top-business {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  max-width: 1100px;
  margin: 63px auto 0;
}
@media screen and (width <= 900px) {
  .top-business {
    flex-direction: column;
    gap: 8.3333333333vw;
    margin-top: 7.9166666667vw;
  }
}

.top-2 {
  position: relative;
  padding: 170px 20px 120px;
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 100% auto;
}
@media screen and (width <= 900px) {
  .top-2 {
    padding: 25vw 6.25vw 15vw;
    background-image: url("../img/top/top-bg2-sp.png");
  }
}

.top-welfare {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  max-width: 958px;
  margin: 63px auto 0;
}
@media screen and (width <= 900px) {
  .top-welfare {
    flex-direction: column;
    gap: 8.3333333333vw;
    margin-top: 7.9166666667vw;
  }
}

.top-outline {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  max-width: 1100px;
  margin: 63px auto 0;
}
@media screen and (width <= 900px) {
  .top-outline {
    flex-direction: column;
    gap: 8.3333333333vw;
    margin-top: 7.9166666667vw;
  }
}

.top-recruit {
  padding: 103px 20px 120px;
  background: linear-gradient(225deg, rgb(254, 248, 236) 0%, rgb(235, 225, 230) 100%);
}
@media screen and (width <= 900px) {
  .top-recruit {
    padding: 23.9583333333vw 6.25vw 15vw;
  }
}
.top-recruit__flex {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  max-width: 1100px;
  margin: 104px auto 0;
}
@media screen and (width <= 900px) {
  .top-recruit__flex {
    flex-direction: column;
    gap: 8.3333333333vw;
    margin-top: 15vw;
  }
}
