  @charset "utf-8";

/* ↓↓↓ common ↓↓↓ */
.opening {
  position: fixed;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  top: 0;
  left: 0;
  z-index: 20;
}

.opening .bg01 {
  position: absolute;
  translate: -50% -100%;
  top: 50%;
  left: 50%;
  width: 300vw;
  height: 200vw;
  rotate: -45deg;
  transform-origin: bottom center;
  background-color: #fff;
}

.opening .bg02 {
  position: absolute;
  translate: -50% 100%;
  bottom: 50%;
  left: 50%;
  width: 300vw;
  height: 200vw;
  rotate: -45deg;
  transform-origin: top center;
  background-color: #fff;
}

main {
  position: relative;
  padding-bottom: 220px;
  background: rgb(217,245,255);
  background: linear-gradient(-166deg, rgba(217,245,255,1) 0%, rgba(255,255,255,1) 20%, rgba(235,250,255,1) 40%, rgba(255,255,255,1) 60%, rgba(232,239,247,1) 80%, rgba(255,255,255,1) 100%);
  overflow: clip;
}

@media screen and (max-width: 768px) {
  main {
    padding-bottom: 85px;
  }
}

main::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(/saiyou/ginou/career/west/img/common/bg-texture.jpg) repeat;
  opacity: 0.7;
}

main::after {
  content: '';
  position: absolute;
  translate: -50% 0;
  top: 0;
  left: 50%;
  width: 770px;
  height: 100%;
  background: url(/saiyou/ginou/career/west/img/common/bg-line.png) repeat-y;
}

@media screen and (max-width: 768px) {
  main::after {
    display: none;
  }
}

.meteor {
  position: absolute;
  width: 3px;
  height: 160px;
  transform: skew(-45deg, 0);
  overflow: hidden;
}

.meteor .bar {
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.meteor.-blue .bar {
  display: block;
  translate: 0 -100% 0;
  background-color: rgba(0, 78, 162, 0.4);
}

section {
  position: relative;
  z-index: 1;
}
/* ↑↑↑ common ↑↑↑ */

/* ↓↓↓ fv ↓↓↓ */
.fv .bg {
  position: sticky;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  min-height: 600px;
  margin-top: min(-600px, -100lvh);
  margin-top: min(-600px, -100lvh);
  overflow: hidden;
}

.fv .bg img {
  object-fit: cover;
  object-position: bottom;
  width: 100%;
  height: 100%;
}

.fv .deco-square {
  position: absolute;
  top: -32.4219vw;
  left: -10.5469vw;
  width: 70.625vw;
}

@media screen and (max-width: 768px) {
  .fv .deco-square {
    top: -158px;
    left: -170px;
    width: 518px;
  }
}

.fv .meteor01 {
  top: 120px;
  left: 10%;
}

@media screen and (max-width: 768px) {
  .fv .meteor01 {
    top: 20px;
  }
}

.fv .meteor02 {
  top: 120px;
  left: 54%;
  height: 130px;
}

@media screen and (max-width: 768px) {
  .fv .meteor02 {
    top: 200px;
    left: 8%;
  }
}

.fv .meteor03 {
  top: 340px;
  left: 17%;
  height: 240px;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .fv .meteor03 {
    top: 340px;
    left: 17%;
    height: 240px;
    z-index: 0;
  }
}

.fv .meteor04 {
  top: 340px;
  left: 47%;
  height: 240px;
}

.fv .meteor05 {
  top: 465px;
  right: 47%;
  height: 340px;
}

.fv .meteor06 {
  top: 25px;
  right: 10%;
  height: 340px;
}

@media screen and (max-width: 768px) {
  .fv .meteor06 {
    height: 180px;
  }
}

.fv .meteor07 {
  top: 418px;
  right: 0;
  height: 340px;
}

.fv .meteor08 {
  top: 300px;
  right: 70px;
  height: 115px;
}

.fv .meteor09 {
  top: 370px;
  left: 70px;
  height: 80px;
}

@media screen and (max-width: 768px) {
  .fv .meteor09 {
    top: 40%;
    left: 0;
  }
}

.fv .meteor10 {
  top: 40%;
  left: 24%;
  height: 140px;
}

@media screen and (max-width: 768px) {
  .fv .meteor10 {
    top: 46%;
    left: 20%;
    height: 60px;
  }
}

.fv .meteor11 {
  top: 50%;
  right: 11%;
  height: 80px;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .fv .meteor11 {
    top: 46%;
    right: 18%;
    height: 45px;
  }
}

.fv-block {
  min-height: 600px;
  height: 100vh;
  height: 100lvh;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .fv-block {
    max-width: 600px;
    min-height: initial;
    height: auto;
  }
}

.fv-block .inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 30px;
}

@media screen and (max-width: 768px) {
  .fv-block .inner {
    padding: 90px 0 0;
  }
}

.fv-block .copy {
  position: absolute;
  translate: -50% -50%;
  top: 50%;
  left: 50%;
  width: min(max(814px, 135.715vh), 74.219%);
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .fv-block .copy {
    position: initial;
    translate: 0 0;
    max-width: 76%;
    width: 100%;
    margin: 0 auto;
  }
}

.fv-block .copy .text-group {
  position: relative;
  display: block;
  width: 47.158%;
  min-width: 0;
  aspect-ratio: 448/166;
}

@media screen and (max-width: 768px) {
  .fv-block .copy .text-group {
    width: 100%;
    aspect-ratio: 285/95;
  }
}

.fv-block .copy01 {
  position: absolute;
  translate: -5% 0;
  top: 0;
  left: 0;
  width: 100%;
}

.fv-block .copy02 {
  position: absolute;
  translate: 5% 0;
  bottom: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}

.fv-block .image {
  position: absolute;
  translate: -50% -50%;
  top: 57%;
  left: 50%;
  width: min(max(960px, 160vh), 87.5%);
  text-align: right;
  z-index: 1;
}

.fv-block .image .model {
  width: 56.072%;
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .fv-block .image {
    position: initial;
    translate: 0 0;
    width: 100%;
    margin-top: 10px;
  }
  
  .fv-block .image .model {
    width: 100%;
  }
}

.fv-block .image .fv-square.-first,
.fv-block .image .fv-square.-second {
  position: absolute;
  translate: 10% -10%;
  opacity: 0;
}

.fv-block .image .fv-square01 {
  top: 17%;
  right: 45%;
  width: 5.715%;
}

.fv-block .image .fv-square02 {
  top: 24%;
  right: 6%;
  width: 15.715%;
}

.fv-block .image .fv-square03 {
  top: 33%;
  right: 34%;
  width: 16.25%;
}

.fv-block .image .fv-square04 {
  top: 72%;
  right: 10%;
  width: 11.787%;
}

.fv-block .image .fv-square05 {
  top: 35%;
  right: 32%;
  width: 6.518%;
}

.fv-block .image .fv-square06 {
  top: 69%;
  right: 3%;
  width: 5.893%;
}

.fv-block .image .fv-square07 {
  top: 14%;
  right: 20%;
  width: 21.608%;
}

.fv-block .image .fv-square08 {
  top: 19%;
  right: 15%;
  width: 10%;
}

@media screen and (max-width: 768px) {
  .fv-block .image .fv-square01 {
    top: 20%;
    right: 81%;
    width: 11.2%;
  }

  .fv-block .image .fv-square02 {
    width: 31.2%;
  }

  .fv-block .image .fv-square03 {
    top: 34%;
    right: 62%;
    width: 32.534%;
  }

  .fv-block .image .fv-square04 {
    top: 73%;
    right: 15%;
    width: 23.2%;
  }

  .fv-block .image .fv-square05 {
    top: 40%;
    right: 57%;
    width: 12.8%;
  }

  .fv-block .image .fv-square06 {
    top: 69%;
    right: -1%;
    width: 11.47%;
  }

  .fv-block .image .fv-square07 {
    top: 15%;
    right: 35%;
    width: 42.934%;
  }

  .fv-block .image .fv-square08 {
    top: 16%;
    right: 24%;
    width: 20%;
  }
}

.fv-block .image .fv-people01 {
  position: absolute;
  top: 0;
  right: 10.5%;
  width: 34.018%;
  translate: 10% -10%;
  opacity: 0;
}

.fv-block .image .fv-people02 {
  position: absolute;
  top: 24%;
  right: 27%;
  width: 25.958%;
  translate: -10% 0;
  opacity: 0;
}

.fv-block .image .fv-people03 {
  position: absolute;
  top: 19%;
  right: 3%;
  width: 31.934%;
  translate: 10% 0;
  opacity: 0;
}

.fv-block .image .fv-people04 {
  position: absolute;
  top: 35%;
  right: 22%;
  width: 28.393%;
  translate: -10% 10%;
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .fv-block .image .fv-people01 {
    top: -3%;
    right: 15.5%;
    width: 67.47%;
  }
  
  .fv-block .image .fv-people02 {
    top: 25%;
    right: 48%;
    width: 49.6%;
  }
  
  .fv-block .image .fv-people03 {
    top: 20%;
    right: 1%;
    width: 61.07%;
  }
  
  .fv-block .image .fv-people04 {
    top: 38%;
    right: 31%;
    width: 56.8%;
  }
}

.fv-block .image .fv-square09 {
  top: 68%;
  right: 17%;
  width: 5.983%;
}

.fv-block .image .fv-square10 {
  top: 72%;
  right: 44%;
  width: 10.358%;
}

.fv-block .image .fv-square11 {
  top: 10%;
  right: 11%;
  width: 6.429%;
}

.fv-block .image .fv-square12 {
  top: 82%;
  right: 21%;
  width: 7.143%;
}

.fv-block .image .fv-square13 {
  top: 42%;
  right: 6%;
  width: 7.143%;
}

@media screen and (max-width: 768px) {
  .fv-block .image .fv-square09 {
    top: 68%;
    right: 25%;
    width: 14.134%;
  }
  
  .fv-block .image .fv-square10 {
    top: 71%;
    right: 79%;
    width: 20.534%;
  }
  
  .fv-block .image .fv-square11 {
    top: 8%;
    right: 12%;
    width: 12.8%;
  }
  
  .fv-block .image .fv-square12 {
    top: 81%;
    right: 35%;
    width: 14.134%;
  }
  
  .fv-block .image .fv-square13 {
    top: 41%;
    right: 5%;
    width: 14.134%;
  }
}
/* ↑↑↑ fv-block ↑↑↑ */

/* ↓↓↓ message-block ↓↓↓ */
.message-block  {
  position: relative;
  overflow: clip;
}

.message-block::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/saiyou/ginou/career/west/img/common/bg-texture.jpg) repeat;
  opacity: 0.5;
}

.message-block .inner {
  padding: 100px 30px 220px;
}

@media screen and (max-width: 768px) {
  .message-block .inner {
    padding: 40px 25px 40vw;
  }
}

.message-block .text-group {
  position: relative;
  max-width: 780px;
  margin: 0 auto;
  z-index: 1;
}

.message-block .text-group .text {
  text-align: left;
  font-family: var(--font-zen);
  font-size: 1.8rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .message-block .text-group .text {
    text-align: center;
    font-size: 1.4rem;
  }
}

.message-block .text-group .text + .text {
  margin-top: 40px;
}

.message-block .copy {
  position: absolute;
  translate: -50% 0;
  width: min(1300px, 101.563%);
  bottom: 0;
  left: 50%;
  opacity: 0.8;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .message-block .copy {
    width: 100%;
    opacity: 1;
  }
}
/* ↑↑↑ fv ↑↑↑ */

/* ↓↓↓ interview ↓↓↓ */
.interview {
  overflow: hidden;
}

.interview .meteor01 {
  top: -35px;
  right: 10%;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .interview .meteor01 {
    top: -65px;
    right: 22%;
  }
}

.interview .meteor02 {
  top: 2%;
  right: 42%;
  height: 280px;
  z-index: 1;
}

.interview .meteor03 {
  top: 29%;
  left: 9%;
  height: 160px;
}

@media screen and (max-width: 768px) {
  .interview .meteor03 {
    top: 50%;
    left: -3%;
    z-index: 1;
  }
}

.interview .meteor04 {
  top: 26%;
  right: 28%;
  height: 150px;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .interview .meteor04 {
    top: 32%;
    right: 18%;
    height: 80px;
  }
}

.interview .meteor05 {
  top: 58%;
  left: 46%;
  height: 110px;
}

.interview .meteor06 {
  top: 86%;
  left: 11%;
  height: 300px;
}

@media screen and (max-width: 768px) {
  .interview .meteor06 {
    top: 93%;
    left: 43%;
    height: 80px;
  }
}

.interview .meteor07 {
  top: 78%;
  right: -5%;
  height: 300px;
}

.interview .meteor08 {
  bottom: -10%;
  left: 30%;
  height: 300px;
}

.interview .deco-square01 {
  position: absolute;
  top: -23.0469vw;
  left: -13.6719vw;
  width: 59.141vw;
}

@media screen and (max-width: 768px) {
  .interview .deco-square01 {
    top: -480px;
    left: -400px;
    width: 624px;
  }
}

.interview .deco-square02 {
  position: absolute;
  bottom: -13.6719vw;
  right: -20.704%;
  width: 70.625vw;
}

@media screen and (max-width: 768px) {
  .interview .deco-square02 {
    right: -180px;
    bottom: -200px;
    width: 460px;
  }
}

.interview .inner {
  padding: 200px 0 220px;
}

@media screen and (max-width: 768px) {
  .interview .inner {
    padding: 70px 0 60px;
  }
}

.interview .intro-block {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.interview .intro-block .image {
  width: 71.407vw;
  min-height: 270px;
}

.interview .intro-block .image img {
  object-fit: cover;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .interview .intro-block .image {
    width: 75.47vw;
    min-height: initial;
  }
}

.interview .intro-block .page-group {
  position: absolute;
  translate: 0 -50%;
  top: 50%;
  left: 15.2344vw;
  display: flex;
  flex-direction: column;
  gap: 10px;
}


@media screen and (max-width: 768px) {
  .interview .intro-block .page-group {
    left: 25px;
    gap: 5px;
  }
  
}

.interview .intro-block .jp {
  position: relative;
  display: inline-block;
  font-family: var(--font-zen);
  font-size: 1.6rem;
  font-weight: 700;
  padding-left: 18px;
  color: #000;
}

@media screen and (max-width: 768px) {
  .interview .intro-block .jp {
    font-size: 1.4rem;
    padding-left: 12px;
  }
}

.interview .intro-block .jp::before {
  content: '';
  position: absolute;
  top: 4px;
  left: -8px;
  transform-origin: right;
  rotate: -60deg;
  width: 18px;
  height: 3px;
  background-color: #004ea2;
  border-radius: 3px;
}

@media screen and (max-width: 768px) {
  .interview .intro-block .jp::before {
    width: 16px;
    height: 2px;
  }
}

.interview .intro-block .en {
  width: auto;
  height: 25px;
}

@media screen and (max-width: 768px) {
  .interview .intro-block .en {
    height: 20px;
  }
}

.interview .interview-block {
  max-width: 1280px;
  padding: 0 30px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .interview .interview-block {
    padding: 0;
  }
}

.interview .swiper-area {
  max-width: 1120px;
  margin: 125px auto 0;
}

@media screen and (max-width: 768px) {
  .interview .swiper-area {
    max-width: 600px;
    margin: 60px auto 0;
  }
}

.interview .swiper-area .swiper-wrapper {
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media screen and (max-width: 768px) {
  .interview .swiper-area .swiper-wrapper {
    flex-wrap: initial;
    justify-content: flex-start;
  }
}

.interview .swiper-area .swiper-slide {
  width: calc((100% - 4.465%) / 2);
  flex-shrink: 1;
  container-type: inline-size;
}

.interview .swiper-area .swiper-slide:nth-of-type(n + 3) {
  margin-top: 4.465%;
}

@media screen and (max-width: 768px) {
  .interview .swiper-area .swiper-slide {
    width: 100%;
    flex-shrink: 0;
  }
  
  .interview .swiper-area .swiper-slide:nth-of-type(n + 3) {
    margin-top: 0;
  }
}

.interview .swiper-area .swiper-slide a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.interview .swiper-area .swiper-slide .image {
  position: absolute;
  top: 0;
  left: 0;
  filter: grayscale(1);
  transition: filter 0.3s ease;
}

@media screen and (min-width: 769px) {
  .interview .swiper-area .swiper-slide a:hover .image {
    filter: grayscale(0);
  }
}

@media screen and (max-width: 768px) {
  .interview .swiper-area .swiper-slide .image {
    filter: grayscale(0);
  }
}

.interview .swiper-area .swiper-slide .profile-group {
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 768px) {
  .interview .swiper-area .swiper-slide .profile-group {
    left: 25px;
  }
}

.interview .swiper-area .swiper-slide .numbering {
  display: block;
  width: auto;
  height: 12px;
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .interview .swiper-area .swiper-slide .numbering {
    margin-bottom: 20px;
  }
}

.interview .swiper-area .swiper-slide .copy {
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background-color: #143376;
  color: #fff;
  font-family: var(--font-zen);
  font-size: 4.48598cqw;
  font-weight: 700;
  line-height: 1.7;
  padding: 0px 4px 1px;
}

@media screen and (max-width: 768px) {
  .interview .swiper-area .swiper-slide .copy {
    font-size: 2.4rem;
  }
}

.interview .swiper-area .swiper-slide .type {
  display: grid;
  place-content: center;
  width: max-content;
  font-family: var(--font-zen);
  font-size: 1.6rem;
  font-weight: 700;
  padding: 10px 20px;
  margin-top: 9.3458cqw;
  border-radius: 50px;
  color: #143376;
  background-color: #ebfaff;
  border: 1px solid #143376;
}

@media screen and (max-width: 768px) {
  .interview .swiper-area .swiper-slide .type {
    font-size: 1.4rem;
    padding: 6px 15px;
    margin-top: 20px;
  }
}

.interview .swiper-area .swiper-slide .detail {
  font-size: 1.6rem;
  font-weight: 500;
  color: #143376;
  margin-top: 15px;
  padding-left: 20px;
}

@media screen and (max-width: 768px) {
  .interview .swiper-area .swiper-slide .detail {
    font-size: 1.4rem;
    margin-top: 10px;
    padding-left: 15px;
  }
}

.interview .swiper-area .pagination {
  margin: 30px auto 0;
  display: block;
  width: max-content;
}

.interview .swiper-area .pagination .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  margin: 0 5px;
  opacity: 1;
  border: 1px solid #143376;
  background-color: #fff;
}

.interview .swiper-area .pagination .swiper-pagination-bullet-active {
  background-color: #143376;
}

.interview .swiper-area .arrow-next {
  cursor: pointer;
  position: absolute;
  translate: 0 -50%;
  top: 59%;
  right: 25px;
  display: grid;
  place-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1px solid #004ea2;
  z-index: 1;
}

.interview .swiper-area .arrow-next .angle {
  width: 17px;
}
/* ↑↑↑ interview ↑↑↑ */

/* ↓↓↓ careermodel ↓↓↓ */
.careermodel  {
  background: url(/saiyou/ginou/career/west/img/top/careermodel-bg.jpg) no-repeat;
  background-size: cover;
  overflow: clip;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  .careermodel  {
    background: url(/saiyou/ginou/career/west/img/top/careermodel-bg_sp.jpg) no-repeat;
    background-size: cover;
  }
}

.careermodel::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(/saiyou/ginou/career/west/img/common/noise.png);
  background-repeat: repeat;
}

.careermodel .careermodel-block {
  position: relative;
  max-width: 1280px;
  padding: min(220px, 17.1875vw) 30px;
  margin: 0 auto;
  color: #fff;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .careermodel .careermodel-block {
    padding: 45px 0;
  }
}

.careermodel .careermodel-block .image-group.-pc {
  position: absolute;
  display: flex;
  justify-content: space-between;
  translate: 0 -50%;
  rotate: -12deg;
  top: 50%;
  left: 0;
  width: 50.157%;
}

@media screen and (max-width: 768px) {
  .careermodel .careermodel-block .image-group.-pc {
    display: none;
  }
}

.careermodel .careermodel-block .image-group.-pc .image {
  width: calc((100% - 3.736%) / 2);
}

@media screen and (max-width: 768px) {
  .careermodel .careermodel-block .image-group.-sp {
    overflow: hidden;
  }

  .careermodel .careermodel-block .image-group.-sp .image {
    width: 116.534%;
  }

  .careermodel .careermodel-block .image-group.-sp .image:not(:first-of-type) {
    margin-top: 2.4%;
  }

  .careermodel .careermodel-block .image-group.-sp .image01 {
    translate: -10px 0;
  }
  
  .careermodel .careermodel-block .image-group.-sp .image02 {
    translate: -54px 0;
  }
    
  .careermodel .careermodel-block .image-group.-sp .image03 {
    translate: -20px 0;
  }
}


.careermodel .careermodel-block .content {
  position: relative;
  max-width: 930px;
  margin: 0 auto;
}

.careermodel .careermodel-block .page-group {
  margin-left: auto;
}


.careermodel .careermodel-block .page-group {
  width: max-content;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media screen and (max-width: 768px) {
  .careermodel .careermodel-block .page-group {
    left: 25px;
    gap: 7px;
    width: min(600px, calc(100% - 50px));
    margin: 0 auto 25px;
  }
}

.careermodel .careermodel-block .jp {
  position: relative;
  display: inline-block;
  font-family: var(--font-zen);
  font-size: 1.6rem;
  font-weight: 700;
  padding-left: 18px;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .careermodel .careermodel-block .jp {
    font-size: 1.4rem;
    padding-left: 12px;
  }
}

.careermodel .careermodel-block .jp::before {
  content: '';
  position: absolute;
  top: 4px;
  left: -8px;
  transform-origin: right;
  rotate: -60deg;
  width: 18px;
  height: 3px;
  background-color: #fff;
  border-radius: 3px;
}

@media screen and (max-width: 768px) {
  .careermodel .careermodel-block .jp::before {
    width: 16px;
    height: 2px;
  }
}

.careermodel .careermodel-block .en {
  width: max-content;
  height: 25px;
}

@media screen and (max-width: 768px) {
  .careermodel .careermodel-block .en {
    height: 20px;
  }
}

.careermodel .more-btn {
  position: relative;
  display: block;
  width: 270px;
  height: 56px;
  margin-top: 45px;
}

@media screen and (max-width: 768px) {
  .careermodel .more-btn {
    margin: 25px auto 0;
  }
}

.careermodel .more-btn::after {
  content: '';
  position: absolute;
  translate: 0 -50%;
  top: 50%;
  right: 50px;
  width: 17px;
  height: 10px;
  background: url(/saiyou/ginou/career/west/img/top/more-angle_w.png) no-repeat;
  background-size: contain;
  transition: translate 0.6s ease;
}

.careermodel .more-btn .cls-1 {
  fill: #fff;
  stroke-width: 0px;
  transition: width 0.6s ease, translate 0.6s ease;
}

.careermodel .more-btn .txt {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.13em;
}

@media screen and (min-width: 769px) {
  .careermodel .more-btn:hover .left-long {
    width: 40px;
  }

  .careermodel .more-btn:hover .left-short {
    width: 218px;
    translate: -178px 0;
  }

  .careermodel .more-btn:hover .right-long {
    width: 40px;
    translate: 178px 0;
  }

  .careermodel .more-btn:hover .right-short {
    width: 218px;
  }

  .careermodel .more-btn:hover::after {
    translate: 15px -50%;
  }
}
/* ↑↑↑ careermodel ↑↑↑ */

/* ↓↓↓ questionnaire ↓↓↓ */
.questionnaire .meteor01 {
  top: -180px;
  right: 164px;
  height: 300px;
}

@media screen and (max-width: 768px) {
  .questionnaire .meteor01 {
    top: -16px;
    right: initial;
    left: 7px;
    height: 160px;
  }
}

.questionnaire .meteor02 {
  top: 70px;
  right: 500px;
  height: 135px;
}

@media screen and (max-width: 768px) {
  .questionnaire .meteor02 {
    top: 25px;
    right: 110px;
    height: 160px;
  }
}

.questionnaire .meteor03 {
  top: -5px;
  right: -75px;
  height: 300px;
}

.questionnaire .meteor04 {
  top: 83%;
  left: 23%;
  height: 300px;
  z-index: 1;
}

.questionnaire .meteor05 {
  top: 100%;
  right: 23%;
  height: 300px;
}

.questionnaire .deco-square01 {
  position: absolute;
  width: 53.282vw;
  top: -10.625vw;
  left: -21.09378vw;
}

@media screen and (max-width: 768px) {
  .questionnaire .deco-square01 {
    width: 456px;
    top: 116px;
    left: -255px;
  }
}

.questionnaire .deco-square02 {
  position: absolute;
  width: 30.469vw;
  top: 3.90624vw;
  right: -1.1719vw;
}

@media screen and (max-width: 768px) {
  .questionnaire .deco-square02 {
    width: 390px;
    top: -100px;
    right: -155px;
  }
}

.questionnaire .inner {
  padding: 160px 30px 220px;
}

@media screen and (max-width: 768px) {
  .questionnaire .inner {
    padding: 70px 25px;
  }
}

.questionnaire .questionnaire-block {
  position: relative;
  max-width: 930px;
  margin: 0 auto;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .questionnaire .questionnaire-block {
    max-width: 600px;
    margin: 0 auto;
  }
}

.questionnaire .questionnaire-block .page-group {
  width: max-content;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media screen and (max-width: 768px) {
  .questionnaire .questionnaire-block .page-group {
    left: 25px;
    gap: 7px;
    width: min(600px, calc(100% - 50px));
  }
}

.questionnaire .questionnaire-block .jp {
  position: relative;
  display: inline-block;
  font-family: var(--font-zen);
  font-size: 1.6rem;
  font-weight: 700;
  padding-left: 18px;
  color: #000;
}

@media screen and (max-width: 768px) {
  .questionnaire .questionnaire-block .jp {
    font-size: 1.4rem;
    padding-left: 12px;
  }
}

.questionnaire .questionnaire-block .jp::before {
  content: '';
  position: absolute;
  top: 4px;
  left: -8px;
  transform-origin: right;
  rotate: -60deg;
  width: 18px;
  height: 3px;
  background-color: #004ea2;
  border-radius: 3px;
}

@media screen and (max-width: 768px) {
  .questionnaire .questionnaire-block .jp::before {
    width: 16px;
    height: 2px;
  }
}

.questionnaire .questionnaire-block .en {
  width: max-content;
  height: 25px;
}

.questionnaire .questionnaire-btn {
  position: relative;
  display: block;
  margin: 30px auto 0;
  overflow: hidden;
}

.questionnaire .questionnaire-btn::before {
  position: absolute;
  content:"";
  width: 50%;
  height: 100%;
  top: 0;
  left: -75%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

@media screen and (min-width: 769px) {
  .questionnaire .questionnaire-btn:hover::before {
    animation: shine 1s ease;
  }
}

@keyframes shine {
  100% {
    left: 125%;
  }
}
/* ↑↑↑ questionnaire ↑↑↑ */

/* ↓↓↓ environment ↓↓↓ */
.environment .meteor01 {
  top: 97%;
  left: 2%;
  height: 300px;
}

@media screen and (max-width: 768px) {
  .environment .meteor01 {
    top: 93%;
    left: 5%;
    height: 140px;
  }
}

.environment .meteor02 {
  top: 81%;
  right: 30%;
  height: 300px;
}

.environment .deco-square {
  position: absolute;
  width: 60.704vw;
  top: 21.09378vw;
  right: -21.09378vw;
}

@media screen and (max-width: 768px) {
  .environment .deco-square {
    width: 460px;
    top: 280px;
    right: -195px;
  }
}

.environment .environment-block .page-group {
  width: max-content;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .environment .environment-block .page-group {
    align-items: flex-start;
    left: 25px;
    gap: 7px;
    width: min(600px, calc(100% - 50px));
  }
}

.environment .environment-block .jp {
  position: relative;
  display: inline-block;
  font-family: var(--font-zen);
  font-size: 1.6rem;
  font-weight: 700;
  padding-left: 18px;
  color: #000;
}

@media screen and (max-width: 768px) {
  .environment .environment-block .jp {
    font-size: 1.4rem;
    padding-left: 12px;
  }
}

.environment .environment-block .jp::before {
  content: '';
  position: absolute;
  top: 4px;
  left: -8px;
  transform-origin: right;
  rotate: -60deg;
  width: 18px;
  height: 3px;
  background-color: #004ea2;
  border-radius: 3px;
}

@media screen and (max-width: 768px) {
  .environment .environment-block .jp::before {
    width: 16px;
    height: 2px;
  }
}

.environment .environment-block .en {
  width: max-content;
  height: 25px;
}

@media screen and (max-width: 768px) {
  .environment .environment-block .en {
    height: 20px;
  }
}

.environment .image-group {
  position: relative;
  width: 100%;
  height: min(540px, 42.188vw);
  margin-top: 55px;
}

@media screen and (max-width: 768px) {
  .environment .image-group {
    height: min(284px, 52.534vw);
    margin-top: 35px;
  }

  .environment .image-group:last-of-type {
    height: min(263px, 47.2vw);
    margin-top: 25px;
  }
}

.environment .image-group .wrap {
  position: absolute;
  translate: -50% 0;
  top: 0;
  left: 50%;
  display: flex;
  justify-content: space-between;
  width: min(1408px, 110%);
  height: 100%;
}

@media screen and (max-width: 768px) {
  .environment .image-group .wrap {
    justify-content: center;
    width: min(600px, 105.07%);
  }
}

.environment .image-group .image {
  width: calc((100% - 32px * 4) / 5);
  height: max-content;
  opacity: 0;
}

@media screen and (max-width: 768px) {
  .environment .image-group .image {
    width: calc((100% - 8px * 2) / 3);
  }

  .environment .image-group .image:not(:first-of-type) {
    margin-left: 8px;
  }
}

.environment .image-group .image02,
.environment .image-group .image04 {
  align-self: flex-end;
}

@media screen and (max-width: 768px) {
  .environment .image-group .image02,
  .environment .image-group .image04 {
    align-self: flex-start;
  }

  .environment .image-group .image02,
  .environment .image-group .image05 {
    margin-top: 20px;
  }
  
  .environment .image-group .image03 {
    margin-top: calc(20px * 2);
  }
}

.environment .more-btn {
  position: relative;
  display: block;
  width: 270px;
  height: 56px;
  margin: 65px auto 0;
}

@media screen and (max-width: 768px) {
  .environment .more-btn {
    margin: 25px auto 0;
  }
}

.environment .more-btn::after {
  content: '';
  position: absolute;
  translate: 0 -50%;
  top: 50%;
  right: 50px;
  width: 17px;
  height: 10px;
  background: url(/saiyou/ginou/career/west/img/top/more-angle_b.png) no-repeat;
  background-size: contain;
  transition: translate 0.6s ease;
}

.environment .more-btn .cls-1 {
  fill: #143376;
  stroke-width: 0px;
  transition: width 0.6s ease, translate 0.6s ease;
}

.environment .more-btn .txt {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.13em;
  color: #143376;
}

@media screen and (min-width: 769px) {
  .environment .more-btn:hover .left-long {
    width: 40px;
  }

  .environment .more-btn:hover .left-short {
    width: 218px;
    translate: -178px 0;
  }

  .environment .more-btn:hover .right-long {
    width: 40px;
    translate: 178px 0;
  }

  .environment .more-btn:hover .right-short {
    width: 218px;
  }

  .environment .more-btn:hover::after {
    translate: 15px -50%;
  }
}
/* ↑↑↑ environment ↑↑↑ */

header,
.fv .deco-square,
.fv-block .copy01,
.fv-block .copy02,
.meteor {
  opacity: 0;
  visibility: hidden;
}

@media screen and (min-width: 1281px) {}

@media screen and (max-width: 1280px) {}

@media screen and (max-width: 768px) {}

@media screen and (max-width: 480px) {}

@media screen and (max-width: 375px) {}
