@charset "UTF-8";


.sec_head {
  margin-bottom:54px;
}




/* -------------------------------------
pagettl_wrap
------------------------------------- */
.recruit #pagettl_wrap {
  padding:min(12.7vw,184px) 0 min(9vw,130px);
  position:relative;
  z-index:3;
}
.recruit #pagettl_wrap .pagettl {
  margin-bottom:40px;
  position:relative;
  z-index:1;
}
.pagettl_txt_wrap {
  color:#fff;
  line-height:2.87;
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:30px;
  position:relative;
  z-index:1;
}
.pagettl_txt {
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
.pagettl_txt span {
  display:inline-block;
}
.recruit .pagettl_img {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:0;
}
.recruit .pagettl_img.did img {
  position:absolute;
  box-shadow: 0px 0px 10px 6px rgba(0, 0, 0, 0.4);
}
.recruit .pagettl_img.did {
  /*opacity:0.7;*/
}
.recruit .pagettl_img_lft.did {
  height:47.6vw;
  max-height:686px;
}
.recruit .pagettl_img_rgt.did {
  height:55.7vw;
  max-height:802px;
}
.recruit .pagettl_img_lft {
  width:28vw;
  max-width:403px;
  right:60vw;
}
.recruit .pagettl_img_rgt {
  width:28.1vw;
  max-width:405px;
  left:60vw;
}

.img_lft1 {
  width:59.3%;
  max-width:239px;
  top: 1.6vw;
  left: 6.1vw;
}
.img_lft2 {
  width:52.4%;
  max-width:211px;
  top: 16.2vw;
  left: 1.7vw;
}
.img_lft3 {
  width:34.7%;
  max-width:140px;
  top: 30.7vw;
  left: 12.7vw;
}
.img_rgt1 {
  width:42.7%;
  max-width:173px;
  top: 1.55vw;
  left: 1.65vw;
}
.img_rgt2 {
  width:48.1%;
  max-width:195px;
  top: 10vw;
  left: 9.7vw;
}
.img_rgt3 {
  width:57%;
  max-width:231px;
  top: 28.7vw;
  left: 4.7vw;
}
.img_rgt4 {
  width:23.7%;
  max-width:96px;
  top: 37.7vw;
  left: 1.35vw;
}


/* -------------------------------------
common
------------------------------------- */
.recruit_content {
  padding-bottom:130px;
}
.entry_link_bnr {
  width:10.1vw;
  max-width:152px;
  min-width:100px;
  position:fixed;
  top:85%;
  right:4vw;
  transform:translateY(-50%);
  z-index:10;
  transition:all 0.3s;
}
.entry_link_bnr:hover {
  opacity:0.8;
}

/* -------------------------------------
interview
------------------------------------- */
#interview_sec {
  padding-top:126px;
  padding-bottom:206px;
}
.interview-list {
  display:flex;
  flex-wrap: wrap;
  justify-content:space-between;
  gap:130px 30px;
}
.interview_item {
  width:calc((100% - 30px)/2);
  max-width:403px;
}
.interview_item .item_in {
  position:relative;
}
.interview_item .item_in .imgbk {
  border-radius:20px;
  overflow:hidden;
  transition:all 0.3s;
}
.interview_item .item_in:hover .imgbk {
  opacity:0.9;
}
.interview_item .item_in .txtbk {
  color:#646464;
  font-weight:700;
  width:90%;
    max-width:260px;
    padding: 20px 10px 0px 20px;
    background-color: #fff;
    border-radius: 20px 0 0 0;
    position: absolute;
    top: 90%;
    right:0;
    z-index: 1;
}
.interview_item .item_in .txtbk .arrow_blk {
    width: 20px;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 90%;
    transform: translateY(-50%);
}
.interview_item .item_in .txtbk .arrow {
    position: relative;
    width: 20px;
    height: 2px;
}
.interview_item .item_in .txtbk .arrow::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 2px;
    background: currentColor;
    transform-origin: left center;
}
.interview_item .item_in:hover .arrow::before {
    animation: arrow-bar 1.0s ease-in-out forwards;
}
.interview_item .item_in .txtbk .arrow::after {
    content: "";
    position: absolute;
    left: 12px;
    top: -3px;
    width: 6px;
    height: 6px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}
.interview_item .item_in:hover .arrow::after {
    animation: arrow-head 1.0s ease-in-out forwards;
}


.item_txt {
  font-size:18px;
  line-height:1.6;
}
.item_name {
  font-size:23px;
  line-height:1.6;
}
.item_name .year_txt {
  /*color:#ff0000;*/
  font-size:16px;
  margin-right:0.5em;
}



/*modal*/
.remodal {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px;
    padding: 6vw 30px;
    border-radius:20px;
}
.interview_detail_wrap {
  display:flex;
  justify-content:space-between;
  gap:30px;
  max-width:874px;
  margin:0 auto;
}
.detail_lft {
  width:100%;
  max-width:464px;
}
.detail_lft .imgbk {
    border-radius:20px;
    overflow:hidden;
    margin-bottom:20px;
}
.detail_lft .txtbk {
  color: #646464;
  font-weight: 500;
  text-align:left;
}
.detail_rgt {
  width:100%;
  max-width:354px;
}
.interview_note {
  color:#646464;
  font-size:18px;
  line-height:1.6;
  text-align:left;
}
.interview_note dt {
  font-weight:900;
  margin-bottom:10px;
}
.interview_note dd {
  font-weight:500;
}
.interview_note dd:not(:last-child) {
  margin-bottom:50px;
}

.remodal-cancel {
    width:7.8vw;
    max-width:63px;
    min-width:50px;
    height:46px;
    background: url(../imgs/interview/icon_close.svg) center center no-repeat;
    background-size:contain;
    display:block;
    position:absolute;
    top:5%;
    right:5%;
    z-index:2;
}
.remodal-cancel:hover, .remodal-cancel:focus {
    background: transparent url(../imgs/interview/icon_close.svg) center center no-repeat;
}


/* -------------------------------------
benefits_sec
------------------------------------- */
#benefits_sec {
  padding:130px 0;
}
.benefits_ditail table {
  width:100%;
  max-width:830px;
}
.benefits_ditail table tr:not(:last-child) {
  border-bottom:1px solid #b1b1b1;
}
.benefits_ditail table th,.benefits_ditail table td {
  font-weight:500;
  padding:50px 0;
}
.benefits_ditail table th {
  vertical-align:top;
  text-align:left;
  letter-spacing:0.08em;
  width:35%;
  min-width:120px;
  padding-right:1em;
}



#sec_slide img {
  image-rendering: -webkit-optimize-contrast;
}



/* -------------------------------------
requirements_sec
------------------------------------- */
#requirements_sec {
  padding:130px 0;
}
.requirements_ditail .text_note {
  width: 100%;
  max-width: 830px;
}
.requirements_ditail table {
  width:100%;
  max-width:830px;
}
.requirements_ditail table tr:not(:last-child) {
  border-bottom:1px solid #b1b1b1;
}
.requirements_ditail table th,.requirements_ditail table td {
  font-weight:500;
  letter-spacing:0.08em;
  padding:35px 0;
}
.requirements_ditail table th {
  vertical-align:top;
  text-align:left;
  letter-spacing:0.08em;
  width:30%;
  min-width:120px;
  padding-right:1em;
}


/* -------------------------------------
entry_form_btn
------------------------------------- */
.entry_form_btn {
  color:#fff;
  background-color:#e7537e;
  border-radius:79px;
  padding:50px 80px 60px;
  max-width:926px;
  margin:0 auto;
}
.form-link_txtblk {
  text-align:center;
  margin:0 auto;
  position:relative;
}
.form-link_ttl {
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-bottom:25px;
}
.form-link_ttl .en { 
  font-size:100px;
  font-weight:100;
  line-height:1.2;
  margin-bottom:7px;
}
.form-link_ttl .ja {
  font-size:25px;
  font-weight:500;
  line-height:1.2;
}
.entry_form-txt span {
  display:inline-block;
}
.entry_form_btn .arrow_blk {
    width: 20px;
    height: 2px;
    position: absolute;
    top:50%;
    left:100%;
    transform:translateY(-50%);
}
.entry_form_btn .arrow {
  position:relative;
    width: 20px;
    height: 2px;
}
.entry_form_btn .arrow::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 20px;
    height: 2px;
    background: currentColor;
    transform-origin: left center;
}
.entry_form_btn .arrow::after {
    content: "";
    position: absolute;
    left: 12px;
    top: -3px;
    width: 6px;
    height: 6px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}
/* hover時に両方アニメーション */
.entry_form_btn:hover .arrow::before {
  animation: arrow-bar 1.0s ease-in-out forwards;
}

.entry_form_btn:hover .arrow::after {
  animation: arrow-head 1.0s ease-in-out forwards;
}

/* 横棒のアニメーション */
@keyframes arrow-bar {
  0% {
    transform: scaleX(1);
  }
  20% {
    transform: scaleX(1.6); /* 伸び幅 */
  }
  100% {
    transform: scaleX(1);
  }
}
/* 三角の追随アニメーション */
@keyframes arrow-head {
  0% {
    transform: translateX(0) rotate(45deg);
  }
  20% {
    transform: translateX(12px) rotate(45deg); /* ← 横棒増分と合わせる */
  }
  100% {
    transform: translateX(0) rotate(45deg);
  }
}





@media screen and (max-width: 1440px) {
/* -------------------------------------

------------------------------------- */


}


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

/* -------------------------------------
pagettl_wrap
------------------------------------- */
.pagettl_txt_wrap {
    line-height: 2.2;
    gap: 20px;
}

/* -------------------------------------
entry_form_btn
------------------------------------- */
.entry_form_btn {
  border-radius: min(6.26vw,79px);
}
.form-link_ttl .en { 
  font-size:clamp(70px,7.93vw,100px);
}
.form-link_ttl .ja {
  font-size:clamp(18px,1.98vw,25px);
}




}

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


}

@media screen and (max-width: 980px) {
.recruit .pagettl_img {
    top: 40%;
    transform: translateY(-50%);
}


/* -------------------------------------
interview
------------------------------------- */
.item_txt {
  font-size:clamp(16px,1.83vw,18px);
}
.item_name {
  font-size:clamp(18px,2.36vw,23px);
}
.item_name .year_txt {
  font-size:clamp(14px,1.63vw,16px);
}





}

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

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




}

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




}

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

.entry_link_bnr {
    top: 76%;
}

.entry_form_btn {
    padding: min(6.5vw,50px) min(10.4vw,80px) min(7.8vw,60px);
}

/* -------------------------------------
benefits_sec
------------------------------------- */
.benefits_ditail table th,.benefits_ditail table td {
  letter-spacing:0;
  padding-top:35px;
  padding-bottom:35px;
}

/* -------------------------------------
requirements_sec
------------------------------------- */
.requirements_ditail table th,.requirements_ditail table td {
  letter-spacing:0;
  padding-top:20px;
  padding-bottom:20px;
}


.interview_note {
    font-size: clamp(15px,2.3vw,18px);
}



}

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


@media only screen and (min-width: 641px) {
    .remodal {
        max-width: 1100px;
    }
}


@media screen and (max-width: 640px) {
.entry_link_bnr {
    top: auto;
    bottom: 32vw;
}


/* -------------------------------------
pagettl_wrap
------------------------------------- */
.recruit .pagettl_img_lft {
  width:32vw;
  right:65vw;
}
.recruit .pagettl_img_rgt {
  width:32vw;
  left:65vw;
}

/* -------------------------------------
interview
------------------------------------- */
#interview_sec {
  padding-top:min(19.6vw,126px);
  padding-bottom:min(40vw,206px);
}
.interview-list {
  flex-direction:column;
  gap:30vw;
}
.interview_item {
    width: 100%;
    max-width: 403px;
    margin:0 auto;
}

/* -------------------------------------
benefits_sec
------------------------------------- */
.benefits_ditail table th,.benefits_ditail table td {
  padding-top:20px;
  padding-bottom:20px;
}

}

@media screen and (max-width: 600px) {
.interview_detail_wrap {
  flex-direction:column;
}
.detail_rgt {
  max-width:100%;
}
.interview_note dd:not(:last-child) {
    margin-bottom: 30px;
}
.remodal {
  padding-bottom:70px;
}
.remodal-cancel {
    width: 40px;
    height: 36px;
    top: auto;
    bottom: 19px;
    right: auto;
    left: 50%;
    transform:translateX(-50%);
}

}

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



}

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


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


}

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

}

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