@charset "utf-8";
/* CSS Document */

#container {
  /*font-family: "M PLUS Rounded 1c", sans-serif;*/
  font-family: 'M PLUS 1', 'M PLUS Rounded 1c',sans-serif;
  /*transform:rotate(0.03deg);*/
  font-weight: 400;
}

/*---------------------------------------------------------------------
	header
---------------------------------------------------------------------*/
.recruit_header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 10px;
  z-index: 100;
}

.recruit_logo { line-height: 1; }
.recruit_logo a { display: block; }
.recruit_logo img { vertical-align: top; }

.recruit_h_menu .g_navi { display: none; }
.open_recruit_navi {
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #3D62AC;
  width: 40px;
  height: 40px;
  border-radius: 50%;
}
.open_recruit_navi .line {
  width: 17px;
  height: 1px;
  border-radius: 2px;
  background: #FFFFFF;
  position: relative;
}
.open_recruit_navi .line::before,
.open_recruit_navi .line::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  border-radius: 2px;
  background: #fff;
}
.open_recruit_navi .line::before { top: -5px; }
.open_recruit_navi .line::after { top: 5px; }

/* DeskTop */
@media (min-width: 980px) {
  .recruit_h_menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
  }
  .recruit_h_menu .g_navi {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .recruit_h_menu .g_navi li {}
  .recruit_h_menu .g_navi a {
    color: #000;
    text-decoration: none;
    display: block;
    padding: 10px;
    font-size: 1.3rem;
    transform: rotate(0.03deg);
    transition: .3s;
  }
  .recruit_h_menu .g_navi a:hover {
    color: #25489C;
  }
}

/* DeskTop */
@media (min-width: 1200px) {
  .recruit_header { padding: 15px; }
  .recruit_logo img { width: auto; }
}

/* DeskTop */
@media (min-width: 1920px) {
  .recruit_header {
    padding: 20px 30px;
  }
  .recruit_h_menu .g_navi a {
    font-size: 1.6rem;
  }
  .open_recruit_navi {
    width: 60px;
    height: 60px;
  }
}

/* ----- recruit_navi -----*/
.recruit_navi {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  display: none;
}
.recruit_navi .cover {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .15;
  z-index: 1;
}
.recruit_navi .inner {
  position: relative;
  margin-left: auto;
  z-index: 2;
  background: #25489C;
  color: #fff;
  width: 70%;
  max-width: 1000px;
  padding: 13px 10px 13px 20px;
  height: 100%;
  overflow-y: scroll;
}
.recruit_navi .inner::-webkit-scrollbar { display: none; }
.recruit_navi a {
  color: #fff;
  text-decoration: none;
  display: block;
}
.recruit_navi .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.recruit_navi_ttl {
    font-size: 1.5rem;
    font-weight: 500;
}
.recruit_navi .close_recruit_navi {
  color: #25489C;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  line-height: 1;
}
.recruit_navi .list {
    display: flex;
    flex-direction: column;
    gap: 25px;
    font-size: 1.6rem;
    font-weight: 500;
}
.recruit_navi .btn_youkou {
  color: #000;
  border: 1px solid #707070;
  background: #fff url("../image/icon_blank_blue.svg") no-repeat right 20px center/14px;
  border-radius: 30px;
  padding: 10px 30px;
  text-align: center;
  max-width: 340px;
}
.recruit_navi .blank::after {
  content: "";
  width: 14px;
  height: 14px;
      vertical-align: middle;
  display: inline-block;
  background: url("../image/icon_blank_white.svg") no-repeat 0 0/cover;
  margin-left: 10px;
}

/* DeskTop */
@media (min-width: 1200px) {
  .recruit_navi .inner {
    padding: 20px 15px 13px 70px;
  }
  .recruit_navi_ttl {
    font-size: 3.4rem;
    font-weight: 400;
  }
  .recruit_navi .list {
    font-size: 2.6rem;
    gap: 60px;
  }
  .recruit_navi a {
    transition: color .3s;
  }
  .recruit_navi a:hover {
    color: #FFE764;
  }
  
}


/*---------------------------------------------------------------------
	pagebody
---------------------------------------------------------------------*/
.pagebody {
  overflow: hidden;
}
.pagebody *:not(img):not(svg):not(defs):not(g):not(path):not(clipPath):not(ellipse):not(rect):not(.not_rotate):not(.top_mv *):not(".slick-slide") {
  transform: rotate(0.03deg);
}


/*---------------------
	top
---------------------*/
/*---- top_mv ----*/
.top_mv {
  height: 100vh;
  position: relative;
  cursor: none;
  overflow: hidden;
}
.top_mv .top_mv_lead {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
}
.top_mv .top_mv_lead .bg {
  mask-image: url("../image/mv_lead.svg");
  mask-repeat: no-repeat;
  mask-position: 50% 50%;
  mask-size: 80%;
  /* Chrome, Safari用 */
  -webkit-mask-image: url("../image/mv_lead.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 50% 50%;
    -webkit-mask-size: 80%;
  
  background: #0B3D72;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  
  opacity: 0;
  transform: scale(.3);
}
/*カーソル要素*/
.top_mv .cursor{
  position: fixed;
  background: #0678B5;
  border-radius:50%;
  width: 100px;
  height: 100px;
  margin: -50px 0 0 -50px;
  z-index: 2;/*一番手前に来るように*/
  pointer-events: none;/*クリックできなくなるのを防ぐため。noneで対応*/
  opacity: 0;
}
/*ちょっと遅れてついてくるストーカー要素*/
.top_mv .stalker{
  position: fixed;
  background: #1ABA8B;
  width: 200px;
  height: 200px;
  border-radius:50%;
  margin: -100px 0 0 -100px;
  z-index: 1;/*カーソルの後ろに来るように*/
  pointer-events: none;/*クリックできなくなるのを防ぐため。noneで対応*/
  opacity: 0;
}
/*.top_mv .stalker::before {
    content: "";
    width: 160px;
    height: 160px;
    display: block;
    margin: -80px 0 0 -80px;
    position: absolute;
    right: -140px;
    top: 110px;
    background: #2392D7;
    border-radius: 50%;
}*/

.top_mv .lines > * {
  opacity: .54;
  position: absolute;
  z-index: 2;
  opacity: .54;
  border-radius: 40px
}
.top_mv .line_01 { top: 0%; left: 64%; background: #1ABA8B; width: 200px; height: 16px; }
.top_mv .line_02 { top: 37%; left: 80%; background: #2392D7; width: 200px; height: 14px; }
.top_mv .line_03 { top: 78%; left: -18%; background: #2392D7; width: 200px; height: 14px; }
.top_mv .line_04 { top: 7%; left: -8%; background: #FFD500; width: 100px; height: 9px; }
.top_mv .line_05 { top: 31%; left: -20%; background: #FFD500; width: 100px; height: 9px; }
.top_mv .line_06 { top: 20%; left: 90%; background: #FFD500; width: 100px; height: 9px; }
.top_mv .line_07 { top: 86%; left: 6%; background: #FFD500; width: 100px; height: 9px; }
.top_mv .line_08 { top: 10%; left: 93%; background: #2392D7; width: 40px; height: 4px; }
.top_mv .line_09 { top: 44%; left: -6%; background: #2392D7; width: 40px; height: 4px; }
.top_mv .line_10 { top: 14%; left: 33%; background: #FF8000; width: 43px; height: 4px; }
.top_mv .line_11 { top: 60%; left: 10%; background: #FF8000; width: 62px; height: 11px; }
.top_mv .line_12 { top: 71%; left: 58%; background: #0B3D72; width: 27px; height: 2px; }
.top_mv .line_13 { top: 83%; left: 19%; background: #0B3D72; width: 40px; height: 3px; }
.top_mv .line_14 { top: 82%; left: 92%; background: #1ABA8B; width: 40px; height: 3px; }

.top_mv .line_left { transform: translate(-2000px,0); }
.top_mv .line_right { transform: translate(2000px,0); }

.top_mv .texts > * {
  color: #F1F1F1;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  z-index: 1;
  transform: translate(0,2000px);
}
.top_mv .text_01 { font-size: 5.8rem; top: 15%; left: 0; }
.top_mv .text_02 { font-size: 1.9rem; top: 4%; left: 50%; }
.top_mv .text_03 { font-size: 5.8rem; top: 27%; left: 15%; }
.top_mv .text_04 { font-size: 5.8rem; top: 64%; left: 20%; }
.top_mv .text_05 {
  color: #000;
  font-size: 2.2rem;
  font-weight: normal;
  bottom: 105px;
  right: 100px;
  z-index: 3;
}

/* Tablet */
@media (min-width: 768px) {
  
  .top_mv .line_01 {
    top: 0%;
    left: 64%;
    background: #1ABA8B;
    width: 200px;
    height: 16px;
  }
  .top_mv .line_02 {
    top: 47%;
    left: 80%;
    background: #2392D7;
    width: 777px;
    height: 56px;
  }
  .top_mv .line_03 {
    top: 84%;
    left: 32%;
    background: #2392D7;
    width: 200px;
    height: 34px;
  }
  .top_mv .line_04 {
    top: 7%;
    left: 42%;
    background: #FFD500;
    width: 230px;
    height: 30px;
  }
  .top_mv .line_05 {
    top: 31%;
    left: 13%;
    background: #1ABA8B;
    width: 170px;
    height: 20px;
  }
  .top_mv .line_06 {
    top: 30%;
    left: 70%;
    background: #FFD500;
    width: 403px;
    height: 36px;
  }
  .top_mv .line_07 {
    top: 51%;
    left: -13%;
    background: #FFD500;
    width: 400px;
    height: 36px;
  }
  .top_mv .line_08 {
    top: 10%;
    left: 74%;
    background: #2392D7;
    width: 166px;
    height: 12px;
  }
  .top_mv .line_09 {
    top: 4%;
    left: -40%;
    background: #2392D7;
    width: 770px;
    height: 55px;
  }
  .top_mv .line_10 {
    top: 19%;
    left: 33%;
    background: #FF8000;
    width: 140px;
    height: 16px;
  }
  .top_mv .line_11 {
    top: 67%;
    left: 10%;
    background: #FF8000;
    width: 254px;
    height: 45px;
  }
  .top_mv .line_12 {
    top: 67%;
    left: 53%;
    background: #0B3D72;
    width: 112px;
    height: 12px;
  }
  .top_mv .line_13 {
    top: 83%;
    left: -1%;
    background: #0B3D72;
    width: 110px;
    height: 12px;
  }
  .top_mv .line_14 {
    top: 71%;
    left: 75%;
    background: #1ABA8B;
    width: 230px;
    height: 23px;
  }


  .top_mv .text_01 { font-size: 10rem; top: 15%; left: 0; }
  .top_mv .text_02 { font-size: 3.5rem; top: 8%; left: 56%; }
  .top_mv .text_03 { font-size: 11rem; top: 30%; left: 15%; }
  .top_mv .text_04 { font-size: 11rem; top: 63%; left: 25%; }
  .top_mv .text_05 {
    font-size: 3rem;
    bottom: 117px;
    right: 140px;
  }
  
}

/* DeskTop */
@media (min-width: 1200px) {
  .top_mv .top_mv_lead .bg {
    -webkit-mask-size: 730px;
  }
  .top_mv .cursor {
    width: 400px;
    height: 400px;
    margin: -200px 0 0 -200px;
  }
  .top_mv .stalker {
    width: 800px;
    height: 800px;
    margin: -400px 0 0 -400px;
  }
  /*.top_mv .stalker::before {
    width: 800px;
    height: 800px;
    margin: -400px 0 0 -400px;
    right: -650px;
    top: 660px;
  }*/
  .top_mv .text_05 {
    font-size: 4rem;
    bottom: 137px;
    right: 140px;
  }
  
}

/* DeskTop */
@media (min-width: 1920px) {
  .top_mv .top_mv_lead .bg {
    -webkit-mask-size: 1196px;
  }
  
  .top_mv .text_01 {
    font-size: 24rem;
    top: 4%;
    left: 7%;
  }
  .top_mv .text_02 {
    font-size: 7rem;
    left: 58%;
  }
  .top_mv .text_03 {
    font-size: 24rem;
    left: 22%;
    top: 35%;
  }
  .top_mv .text_04 {
    font-size: 24rem;
    top: 65%;
  }
  .top_mv .text_05 {
    font-size: 5rem;
    bottom: 165px;
    right: 210px;
  }
}


/*---- top_message ----*/
.top_message {
  padding: 20px 20px 35px;
  overflow: hidden;
  position: relative;
  margin-bottom: 20px;
  background: #F2F2F2;
}
.top_message_inner {
  max-width: 1600px;
  margin: 0 auto;
  position: relative;
}
.top_message_inner::before {
  content: "";
  background: #fff;
  border-radius: 50%;
  width: 154px;
  height: 154px;
  position: absolute;
  left: -100px;
  top: 0;
  animation: fuwafuwa 3s ease-in-out infinite alternate-reverse;
}
.top_message_inner::after {
    content: "";
    background: #fff;
    border-radius: 50%;
    width: 272px;
    height: 272px;
    position: absolute;
    right: -210px;
    top: 70px;
  animation: fuwafuwa 6s ease-in-out infinite alternate-reverse;
}


@keyframes fuwafuwa {
  0% {
    transform: translateY(-5%) scale(.95);
  }
  100% {
    transform: translateY(5%) scale(1.05);
  }
}

.top_message .inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.top_message .message {
  max-width: 800px;
  margin: 0 auto;
}
.top_message .ttl {
  font-size: 3rem;
  font-weight: 400;
  margin-bottom: 20px;
}
.top_message .ttl_en {
  font-size: 1.2rem;
  display: block;
  color: #BFC8E2;
  font-weight: 700;
  }
.top_message .lead {
    color: #25489C;
    font-size: 2.4rem;
    line-height: 1.8;
    margin-bottom: 20px;
}
.top_message .lead br { display: none; }
.top_message .text {
    font-size: 1.4rem;
    line-height: 2;
    margin-bottom: 10px;
}
.top_message .link {
    text-align: right;
    padding-right: 30px;
    display: flex;
    gap: 10px;
    flex-direction: column;
    align-items: flex-end;
}
.top_message .link a {
    color: #25489C;
    font-size: 1.3rem;
    font-weight: 500;
    text-align: center;
    display: inline-block;
    text-decoration: none;
    background: #fff url(../image/icon_arrow_blue.png) no-repeat right 14px center / 14px;
    border-radius: 30px;
    /*width: 190px;*/
    padding: 10px 40px 10px 30px;
}

.top_message .thumb_01 {
  position: relative;
  text-align: right;
}
.top_message .thumb_01 img {
  position: relative;
  width: 183px;
  z-index: 1;
}
.top_message .thumb_02 {
    width: 80px;
  margin-top: -140px;
}
.top_message .thumb_03 {
    width: 108px;
    margin-top: 10px;
    margin-left: 20px;
}

.top_message .dots_line_01 {
  margin-bottom: 10px;
}
.top_message .dots_line_02 {
  text-align: right;
  margin-top: 10px;
}
.top_message .dots_line_dots ellipse {
  opacity: 0;
  transition: .3s;
}
.top_message .dots_line_dots ellipse:nth-of-type(2) { transition-delay: .1s; }
.top_message .dots_line_dots ellipse:nth-of-type(3) { transition-delay: .2s; }
.top_message .dots_line_dots ellipse:nth-of-type(4) { transition-delay: .3s; }
.top_message .dots_line_dots ellipse:nth-of-type(5) { transition-delay: .4s; }
.top_message .dots_line_dots ellipse:nth-of-type(6) { transition-delay: .5s; }
.top_message .dots_line_dots ellipse:nth-of-type(7) { transition-delay: .6s; }
.top_message .dots_line_text {
  opacity: 0;
  transition: .3s 1.5s;
}

.top_message .show .dots_line_dots ellipse { opacity: 1; }
.top_message .show .dots_line_text {
  opacity: 1;
}

/* Tablet */
@media (min-width: 768px) {
  .top_message {
    padding: 40px;
  }
  .top_message .thumb_01 {
    margin-bottom: -240px;
  }
  .top_message .thumb_01 img {
    width: 230px;
  }
  .top_message .ttl {
    font-size: 4rem;
    margin-bottom: 30px;
  }
  .top_message .ttl_en { font-size: 2.2rem; }
  .top_message .lead {
    font-size: 3.5rem;
    line-height: 1.6;
    margin-bottom: 30px;
  }
  .top_message .lead br { display: block; }
  .top_message .text {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
  
  .top_message .link {
    flex-direction: row;
    justify-content: flex-end;
    gap: 20px;
  }
  .top_message .link a {
    font-size: 1.6rem;
  }
  .top_message .thumb_02 {
    width: 120px;
  }
  .top_message .thumb_03 {
    width: 210px;
    margin-top: -100px;
    margin-left: 140px;
  }
}

/* DeskTop */
@media (min-width: 1200px) {
  .top_message_inner {
    position: relative;
  }
  .top_message .dots_line_01 svg {
    width: 480px;
    height: auto;
  }
  .top_message .dots_line_02 svg {
    width: 480px;
    height: auto;
  }
  .top_message .thumb_01 {
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 340px;
  }
  .top_message .thumb_01 img {
    width: 100%;
  }
  .top_message .thumb_02 {
    position: absolute;
    margin: 0;
    left: 0;
    top: 50%;
    width: 160px;
  }
  .top_message .thumb_03 {
    position: absolute;
    left: 10%;
    bottom: 0;
    margin: 0;
  }
  .top_message_inner::after {
    width: 500px;
    height: 500px;
    right: -29%;
    top: 17%;
  }
  .top_message_inner::before {
    width: 430px;
    height: 430px;
    left: -30%;
  }

}

/* DeskTop */
@media (min-width: 1920px) {
  .top_message {
    margin-bottom: 40px;
  }
  .top_message .ttl {
    font-size: 5rem;
    margin-bottom: 55px;
  }
  .top_message .ttl_en { font-size: 3.2rem; }
  .top_message .lead {
    font-size: 5.2rem;
  }
  .top_message .text {
    font-size: 2rem;
    margin-bottom: 60px;
  }
  .top_message .link a {
    font-size: 2rem;
    width: 290px;
    padding: 14px 50px 14px 40px;
    background-size: 22px;
    background-position: right 20px center;
  }
  
  .top_message .dots_line_01 svg,
  .top_message .dots_line_02 svg {
    width: 800px;
  }
  .top_message .thumb_01 {
    width: 430px;
  }
  .top_message .thumb_02 {
    width: 245px;
    top: 40%;
  }
  .top_message .thumb_03 {
    width: 334px;
  }
  .top_message_inner::after {
      width: 660px;
      height: 660px;
      right: -20%;
      top: 18%;
  }
  
}


/*---- top_jobcat ----*/
.top_jobcat {
  margin-bottom: 20px;
}
.top_jobcat .inner {}

.top_jobcat .job_info {
  color: #fff;
  background: #00A55A;
  padding: 40px 10px 130px;
}
.top_jobcat .ttl {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.top_jobcat .ttl_en { display: none; }
.top_jobcat .js_slide_detail {}
.top_jobcat .js_slide_detail .item {
  display: none;
}
.top_jobcat .js_slide_detail .item:first-child {
  display: block;
}
.top_jobcat .js_slide_detail .item_ttl {
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 25px;
}
.top_jobcat .js_slide_detail .item_ttl .en {
  display: block;
  opacity: .4;
  font-size: 1.2rem;
}
.top_jobcat .js_slide_detail .note {
  font-size: 1.4rem;
  line-height: 2;
}
.top_jobcat .job_info_bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 30px;
  position: relative;
  z-index: 1;
}
.top_jobcat .deco_text {
  font-size: 3.2rem;
  color: #40BB83;
  line-height: 1;
  font-weight: 800;
}
.top_jobcat .js_slide_count {
  color: #1ABA8B;
  font-size: 1.6rem;
  text-decoration: none;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
  margin-right: 10px;
}
.top_jobcat .js_slide_count::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("../image/bg_slide_count.svg") no-repeat center center/ 70px;
  animation: loop 20s linear infinite;
}
.top_jobcat .js_slide_count .slide_no {
    position: relative;
    bottom: auto;
    top: auto;
    left: auto;
}

.top_jobcat .thumbs {
  padding: 30px 0 0 10px;
  margin: -165px 0 0 10px;
  background: url("../image/bg_line_01.png");
  position: relative;
  z-index: 0;
}
.top_jobcat .thumbs::before {
  content: "";
}
.js_job_slide {
    padding-left: 20px;
}
.top_jobcat .swiper-slide img {
  transform: scale(.8);
  transform-origin: bottom;
  transition: .3s;
}
.top_jobcat .swiper-slide-active img {
  transform: scale(1);
}
.top_jobcat .arrows {
    position: absolute;
    right: 10px;
    top: 40px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.top_jobcat .arrows > * {
    width: 40px;
    height: 40px;
    color: #fff;
    cursor: pointer;
    background: #00A55A;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: relative;
    top: auto;
    margin: 0;
    left: auto;
    right: auto;
}
.top_jobcat .arrows > *::after { display: none; }

/* Tablet */
@media (min-width: 768px) {
  
  .top_jobcat .job_info {
    padding: 40px;
  }
  .top_jobcat .inner {
    display: flex;
    position: relative;
  }
  .top_jobcat .inner::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    background: url(../image/bg_line_01.png);
    width: 95%;
    height: 20%;
    z-index: 0;
  }
  .top_jobcat .js_slide_detail .note {
    font-size: 1.6rem;
  }
  .top_jobcat .thumbs {
    margin: 30px 0 0 -30px;
    width: 50%;
    background: none;
  }
  .top_jobcat .swiper-slide img {
    transform-origin: top;
  }
  .top_jobcat .ttl_en {
    display: block;
    color: #66C99C;
    font-weight: bold;
  }
  .top_jobcat .deco_text {
    display: none;
  }
  .top_jobcat .job_info_bottom {
    justify-content: flex-end;
  }
  .top_jobcat .arrows {
        top: auto;
        bottom: -20px;
    }
}

/* DeskTop */
@media (min-width: 1200px) {
  .top_jobcat {
    margin-bottom: 0;
  }
  .top_jobcat .inner {
    padding-bottom: 100px;
  }
  .top_jobcat .inner::before {
    height: 40%;
  }
  .top_jobcat .job_info {
    padding: 60px 110px 60px 60px;
    flex: 1;
  }
  .job_info_inner {
    max-width: 450px;
    margin-left: auto;
  }
  .top_jobcat .ttl { font-size: 4rem; }
  .top_jobcat .ttl_en { font-size: 2.2rem; }
  
  .top_jobcat .js_slide_detail .item_ttl { font-size: 3rem; }
  .top_jobcat .js_slide_detail .item_ttl .en { display: none; }
  
  .top_jobcat .thumbs {
    width: 62%;
    margin: 90px 0 0 -70px;
    padding: 0;
  }
  .top_jobcat .js_slide_count {
    font-size: 2.2rem;
    width: 120px;
    height: 120px;
  }
  .top_jobcat .js_slide_count::before {
    background-size: 118px;
  }
  
  .top_jobcat .slick-track .item {
    width: 260px;
    margin: 0 10px;
  }
  .top_jobcat .slick-track .item.slick-current { width: 420px; }
  .top_jobcat .arrows > * {
    width: 84px;
    height: 84px;
  }
}

/* DeskTop */
@media (min-width: 1920px) {
  .top_jobcat {}
  .top_jobcat .inner {
    padding-bottom: 150px;
  }
  .top_jobcat .job_info {
    padding: 80px 180px 80px 80px;
  }
  .top_jobcat .ttl {
    font-size: 5rem;
    margin-bottom: 90px;
  }
  .top_jobcat .ttl_en { font-size: 3.2rem; }
  .top_jobcat .js_slide_detail .item_ttl { font-size: 4rem; }
  .top_jobcat .js_slide_detail .note { font-size: 2rem; }
  
  .top_jobcat .thumbs {
    width: 54%;
    margin: 90px 0 0 -140px;
  }
  .top_jobcat .js_slide_count {
    font-size: 3.2rem;
    width: 180px;
    height: 180px;
  }
  .top_jobcat .js_slide_count::before {
    background-size: 178px;
  }
  
  .top_jobcat .slick-track .item {
    width: 420px;
    margin: 0 15px;
  }
  .top_jobcat .slick-track .item.slick-current { width: 600px; }
}


/*---- top_voice ----*/
.top_voice {
  color: #fff;
  background: #2392D7;
  padding: 40px 0 30px;
  overflow: hidden;
  margin-bottom: 20px;
}
.top_voice .inner {
  max-width: 1200px;
  margin: 0 auto;
}
.top_voice .ttl {
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 30px;
}
.top_voice .ttl_en {
  display: block;
  color: #7BBDE7;
  font-size: 1.2rem;
}
.top_voice .lead {
  text-align: center;
  font-size: 1.4rem;
  margin: 20px;
}
.top_voice_list {}
.top_voice_list .item {
  margin: 0 5px;
}
.top_voice_list .item a {
  display: block;
  text-align: center;
  color: #fff;
  text-decoration: none;
  padding: 0 20px;
}
.top_voice_list .thumb {
  margin: 0 20px 15px;
}
.top_voice_list .thumb_inner {
  border: 5px solid #FFE764;
  overflow: hidden;
  padding-bottom: calc(138.48% - 15px);
  border-radius: 300px;
  position: relative;
  background: #fff;
}
.top_voice_list a:hover .thumb_inner {
  border-color: #fff;
}
.top_voice_list .thumb img {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  height: auto;
}
.top_voice_list a:hover .thumb img {
  transform: scale(1.1);
  opacity: 1;
}
.top_voice_list .item_ttl {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 25px;
}
.top_voice_list .text {
  font-size: 1.4rem;
  line-height: 2;
  margin-bottom: 10px;
  text-align: left;
}
.top_voice_list .slide-arrow {
    background: #fff;
    color: #2392D7;
    display: inline-block;
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 15px;
    position: absolute;
    top: 30%;
  cursor: pointer;
  z-index: 1;
}
.top_voice_list .prev-arrow {
  left: -40px;
}
.top_voice_list .next-arrow {
  right: -40px;
}
.more_line {
  text-align: right;
  position: relative;
}
.more_line span::before {
  content: "";
  flex: 1;
  height: 1px;
  background: #fff;
}
.more_line span {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}
.more_line span::after {
    content: "▶";
    width: 46px;
    height: 46px;
    background: #FFE764;
    color: #2392D7;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
  transition: .3s;
}
a:hover .more_line span::after {
  background-color: #FFF7C9;
}
.top_voice .deco_text {
    font-size: 2.9rem;
    color: #51A9DF;
    line-height: 1;
    font-weight: 800;
    text-align: center;
    margin-top: 70px;
}
.top_voice .deco_text_01 { display: none; }

/* DeskTop */
@media (min-width: 1200px) {
  
  .top_voice {
    padding: 80px;
    margin-bottom: 100px;
    position: relative;
  }
  .top_voice .deco_text {
    transform: rotate(90deg);
    margin: 0;
    font-size: 7rem;
    position: absolute;
    top: 470px;
  }
  .top_voice .deco_text_01 {
    display: block;
    left: -430px;
  }
  .top_voice .deco_text_02 {
    display: block;
    right: -430px;
  }
  
  .top_voice .ttl { font-size: 4rem; }
  .top_voice .ttl_en { font-size: 2.2rem }
  .top_voice .lead { font-size: 2rem }
  
}

/* DeskTop */
@media (min-width: 1920px) {
  
  .top_voice .ttl { font-size: 5rem; }
  .top_voice .ttl_en { font-size: 3.2rem }
  .top_voice .lead { font-size: 3rem }
  
  .top_voice_list .text {font-size: 1.6rem; }
  
}


/*---- top_navi ----*/
.top_navi {
  overflow: hidden;
  margin-bottom: 20px;
}
.top_navi .inner {
  margin: 30px auto;
  position: relative;
}
.top_navi .inner::before {
    content: "";
    background: #D2D2D2;
    height: 98%;
    width: 80%;
    position: absolute;
    left: 10%;
    top: 1%;
}
.top_navi .item {
  display: flex;
  justify-content: center;
  flex-direction: column;
  color: #fff;
  text-decoration: none;
  border-radius: 50%;
  padding: 13vw;
  width: 119.46vw;
  height: 119.46vw;
  position: relative;
  z-index: 1;
}
.top_navi .item:hover {
    color: #fff;
  }
.top_navi .item_inner {}
.top_navi .item .ttl {
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.top_navi .item .ttl .en {
  display: block;
  opacity: .4;
  font-size: 1.2rem;
}
.top_navi .item .lead {
  font-size: 1.4rem;
  line-height: 2;
  margin-bottom: 10px;
}

.top_navi .top_navi_01,
.top_navi .top_navi_01 .bubble { background: #FF8000; }
.top_navi .top_navi_02,
.top_navi .top_navi_02 .bubble { background: #26449D; }
.top_navi .top_navi_03,
.top_navi .top_navi_03 .bubble { background: #6ECA4D; }

.top_navi .top_navi_01 {
    left: -26%;
    padding-left: 31%;
    margin-bottom: 50px;
}
.top_navi .top_navi_02 {
    left: 3%;
    padding-right: 27%;
  margin-bottom: 50px;
}
.top_navi .top_navi_03 {
  left: -26%;
    padding-left: 31%;
}

.top_navi .bubble {
  position: absolute;
  border-radius: 50%;
}
.top_navi .top_navi_01 .bubble_01 {
    width: 60px;
    height: 60px;
    top: -2%;
    right: 5%;
}
.top_navi .top_navi_01 .bubble_02 {
    width: 25px;
    height: 25px;
    bottom: 6%;
    right: 10%;
}
.top_navi .top_navi_01 .bubble_03 {
    width: 42px;
    height: 42px;
    bottom: -11%;
    left: 35%;
}

.top_navi .top_navi_02 .bubble_01 {
    width: 42px;
    height: 42px;
    top: 9%;
    left: 0;
}
.top_navi .top_navi_02 .bubble_02 {
    width: 60px;
    height: 60px;
    right: 20%;
    bottom: -13%;
}
.top_navi .top_navi_02 .bubble_03 {
  width: 0px;
  height: 0px;
  top: 0;
  left: 0;
}

.top_navi .top_navi_03 .bubble_01 {
    width: 25px;
    height: 25px;
    top: -5%;
    left: 70%;
}
.top_navi .top_navi_03 .bubble_02 {
    width: 60px;
    height: 60px;
    right: -1%;
    bottom: -3%;
}
.top_navi .top_navi_03 .bubble_03 {
    
  
  width: 42px;
    height: 42px;
    top: 6%;
    right: 1%;
}

.top_navi .bubble_01 {
  animation: bubble_01 4s ease-in-out infinite alternate-reverse
}

.top_navi .bubble_02 {
  animation: bubble_02 2s ease-in-out infinite alternate-reverse
}

.top_navi .bubble_03 {
  animation: bubble_03 4s ease-in-out infinite alternate-reverse
}


@keyframes bubble_01 {
  0% {
    transform: translateY(-10%) scale(.8);
  }
  100% {
    transform: translateY(5%) scale(1.2);
  }
}

@keyframes bubble_02 {
  0% {
    transform: translateX(-5%) scale(1.3);
  }
  100% {
    transform: translateX(10%) scale(.7);
  }
}

@keyframes bubble_03 {
  0% {
    transform: translateX(-15%) scale(1.5);
  }
  100% {
    transform: translateX(5%) scale(.7);
  }
}

.ticker_info {
  font-size: 2.4rem;
  font-weight: bold;
  color: #d5d7ea;
  white-space: nowrap;
}
.ticker_info.type_01 { animation: marquee 10s linear infinite; }
.ticker_info.type_02 { animation: marquee_02 10s linear infinite; }


@keyframes marquee {
  0% { transform: translate(0); }
  100% { transform: translate(-100%); }
}
@keyframes marquee_02 {
  0% { transform: translate(-100%); }
  100% { transform: translate(0); }
}

/* Tablet */
@media (min-width: 768px) {
  .top_navi .item {
    padding: 11vw;
    width: 60vw;
    height: 60vw;
  }
  .top_navi .top_navi_01 {
    left: -16%;
    padding-left: 19%;
  }
  .top_navi .top_navi_02 {
    padding-right: 11%;
    margin: -20% -8% -20% auto;
    left: auto;
  }
  .top_navi .top_navi_03 {
    left: -16%;
    padding-left: 19%;
  }
}

/* DeskTop */
@media (min-width: 1200px) {
  .ticker_info { font-size: 6rem; }
  .top_navi .inner {
    margin: 40px auto;
    padding-bottom: 120px;
  }
  .top_navi .inner::before {
    width: 90%;
    height: calc(100% - 160px);
    left: 0;
    top: 80px;
  }
  .top_navi .top_navi_01 {
    width: 500px;
    height: 500px;
    left: -90px;
    padding: 0 50px 0 120px;
    margin: 0;
  }
  .top_navi .top_navi_02 {
      width: 420px;
      height: 420px;
      position: absolute;
      right: -20px;
      top: 0;
      margin: 0;
      padding: 0 70px;
  }
  .top_navi .top_navi_03 {
      width: 400px;
      height: 400px;
      position: absolute;
      left: 35%;
      top: 38%;
      margin: 0;
      padding: 0 90px;
  }
  
  .top_navi .top_navi_01 .bubble_01 {
    width: 120px;
    height: 120px;
    top: 7%;
    right: -30%;
  }
  .top_navi .top_navi_01 .bubble_02 {
    width: 65px;
    height: 65px;
    bottom: 26%;
    right: -15%;
  }
  .top_navi .top_navi_01 .bubble_03 {
    width: 92px;
    height: 92px;
    bottom: -27%;
    left: 35%;
  }
  
  .top_navi .top_navi_03 .bubble_02 {
    width: 60px;
    height: 60px;
    right: -21%;
    bottom: 57%;
  }
  .top_navi .top_navi_03 .bubble_03 {
    width: 62px;
    height: 62px;
    top: 76%;
    right: 101%;
  }
  
  .top_navi .top_navi_02 .bubble_03 {
    width: 50px;
    height: 50px;
    top: 30%;
    left: -26%;
  }
  
}

/* DeskTop */
@media (min-width: 1920px) {
  .ticker_info {
    font-size: 10rem;
  }
  .top_navi .inner {
    padding-bottom: 360px;
  }
  .top_navi .inner::before {
    width: 90%;
    height: calc(100% - 160px);
    left: 0;
    top: 80px;
  }
  .top_navi .top_navi_01 {
    width: 900px;
    height: 900px;
    left: -90px;
    padding: 0 230px;
    margin: 0;
  }
  .top_navi .top_navi_02 {
    width: 720px;
    height: 720px;
    position: absolute;
    right: -90px;
    top: 0;
    margin: 0;
    padding: 0 150px;
  }
  .top_navi .top_navi_03 {
    width: 630px;
    height: 630px;
    position: absolute;
    left: 40%;
    top: 50%;
    margin: 0;
    padding: 0 90px;
  }
  
  .top_navi .item .ttl {
    font-size: 6rem;
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 40px;
  }
  .top_navi .item .ttl .en {
    font-size: 3.2rem;
    font-weight: 700;
  }
  .top_navi .item .lead {
    font-size: 1.6rem;
  }
  
  .top_navi .top_navi_01 .bubble_01 {
    width: 210px;
    height: 210px;
    top: 4%;
    right: -25%;
  }
  .top_navi .top_navi_01 .bubble_02 {
    width: 84px;
    height: 84px;
    bottom: 26%;
    right: -11%;
  }
  .top_navi .top_navi_01 .bubble_03 {
    width: 140px;
    height: 140px;
    bottom: -16%;
    left: 15%;
  }
  
  .top_navi .top_navi_03 .bubble_01 {
    width: 43px;
    height: 43px;
  }
  .top_navi .top_navi_03 .bubble_03 {
    width: 120px;
    height: 120px;
  }
  
  .top_navi .top_navi_02 .bubble_01 {
    width: 60px;
    height: 60px;
    top: 8%;
  }
  .top_navi .top_navi_02 .bubble_02 {
    width: 160px;
    height: 160px;
    right: 30%;
    bottom: -33%;
  }
  .top_navi .top_navi_02 .bubble_03 {
    width: 100px;
    height: 100px;
  }
  
  
  .top_navi .bubble_01 { animation-duration: 10s; }
  .top_navi .bubble_02 { animation-duration: 6s; }
  .top_navi .bubble_03 { animation-duration: 8s; }
  
}


/*---- top_slide ----*/
.top_slide {
  overflow: hidden;
  margin-bottom: 50px;
}
.js_top_slide .item {
  margin: 0 5px;
}
.js_top_slide .item img { width: 100%; }

/* Tablet */
@media (min-width: 768px) {
  .top_slide { margin-bottom: 80px; }
}

/* DeskTop */
@media (min-width: 980px) {
  .top_slide { margin-bottom: 150px; }
}

/*---------------------
	recruit_ttl
---------------------*/
.recruit_ttl {
  padding: 60px 0 30px 20px;
  background: #FBF9EC url("../image/recruit_ttl_sp.jpg") no-repeat 0 0/cover;
}
.recruit_ttl .inner {}
.recruit_ttl .ttl {
  font-size: 1.8rem;
}
.recruit_ttl .ttl strong {
  font-weight: 500;
}
.recruit_ttl .ttl_en {
  font-size: 3rem;
  color: #25489C;
  font-weight: bold;
  display: block;
}
.recruit_ttl .thumb {
  width: 65%;
  max-width: 540px;
  margin-left: auto;
  margin-top: 65px;
}
.recruit_ttl .thumb img {}
.topic_path {
  display: none;
  transform: rotate(0.03deg);
}

/* Tablet */
@media (min-width: 768px) {
  .recruit_ttl {
    padding: 30px 0 30px 30px;
    background: #FBF9EC url("../image/recruit_ttl_pc.jpg") no-repeat 0 0/cover;
  }
  .recruit_ttl .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .recruit_ttl .thumb {
    width: 30%;
    margin: 0;
  }
}

/* DeskTop */
@media (min-width: 1200px) {
  .recruit_ttl .ttl_en {
    font-size: 4.8rem;
  }
  .recruit_ttl .ttl {
    font-size: 2.8rem;
  }
  .topic_path {
    display: block;
  }
}
/* DeskTop */
@media (min-width: 1920px) {
  .recruit_ttl {
    padding: 70px 0 70px 70px;
  }
  .recruit_ttl .ttl_en {
    font-size: 7.8rem;
  }
  .recruit_ttl .ttl {
    font-size: 3.2rem;
  }
}

/*---------------------
	jobs
---------------------*/
/* job_message */
.job_message {
  background: #E1F2E2;
  overflow: hidden;
  position: relative;
  padding: 30px 20px 20px;
}

.job_message::before,
.job_message::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  background: #fff;
  opacity: .5;
  border-radius: 50%;
}
.job_message::before { top: -105px; left: -105px; }
.job_message::after { bottom: -105px; right: -105px; }
.job_message .inner {
  position: relative;
  z-index: 1;
}
.job_message .ttl {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 25px;
}
.job_message .ttl br { display: none; }
.job_message .lead {
  font-size: 1.6rem;
  font-weight: 500;
  color: #25489C;
  text-align: center;
  margin-bottom: 5px;
}
.job_message .text {
  text-align: center;
  margin-bottom: 20px;
}
.job_message .thumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.job_message .thumbs li {
    width: calc(50% - 4px);
}
.job_message .thumbs img {
  width: 100%;
}


/* job_shindan */
.job_shindan_info {
  margin: 20px 0;
  overflow: hidden;
}
.job_shindan_info .inner {
  padding: 10px;
  max-width: 1200px;
  margin: 0 auto;
}
.job_shindan_info .ticker_info {
  color: #D3E9F7;
}

.pop_job_shindan {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  z-index: 100;
}
.pop_job_shindan .cover {
  background: #000;
  opacity: .5;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}
.job_shindan {
  background: #fff;
  padding: 20px;
  border-radius: 5px;
  z-index: 1;
  width: 90%;
    max-width: 1200px;
}
.job_shindan .start {
  text-align: center;
}
.job_shindan .start .ttl { margin-bottom: 20px; }
.job_shindan .flow,
.job_shindan .end { display: none; }

.job_shindan .flow .no {
    color: #999999;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}
.job_shindan .flow .now_no { color: #3D62AC }
.job_shindan .flow .q_title {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 20px;
  text-align: center;
}
.job_shindan .flow .a_btn {}
.job_shindan .flow .a_btn a {
  display: block;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #628FAC;
  font-size: 1.8rem;
  font-weight: 500;
  border-radius: 50px;
  padding: 5px 30px;
  margin-top: 10px;
  position: relative;
  transition: background .3s;
}
.job_shindan .flow .a_btn a::after {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    right: 15px;
    top: 50%;
    border: 2px solid #fff;
    border-radius: 50%;
    margin-top: -8px;
  transition: background .3s;
}

.job_shindan .end {
  position: relative;
}
.job_shindan .end .ttl {
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}
.job_shindan .end .lead {
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
}
.job_shindan .end .job {}
.job_shindan .end .job .detail {
  margin-bottom: 20px;
}
.job_shindan .end .job .a_ttl {
    text-align: center;
    font-size: 3rem;
    font-weight: 500;
  margin-bottom: 10px;
}
.job_shindan .end .job .a_ttl::before {
    content: "[";
    color: #A4A4A4;
    margin-right: 5px;
}
.job_shindan .end .job .a_ttl::after {
    content: "]";
    color: #A4A4A4;
    margin-left: 5px;
}
.job_shindan .end .job .a_text {}
.job_shindan .end .a_link {
  display: block;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #2392D7;
  font-size: 1.8rem;
  font-weight: 500;
  border-radius: 50px;
  padding: 5px 30px;
  margin-top: 10px;
  position: relative;
  transition: background .3s;
  max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}
.job_shindan .end .a_link::after {
  content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    right: 15px;
    top: 50%;
    border: 2px solid #fff;
    border-radius: 50%;
    margin-top: -8px;
  transition: background .3s;
  background: #FFE764;
}
.job_shindan .end .job .thumb {
  text-align: center;
}
.job_shindan .end .job .thumb img {
    height: 100px;
    width: auto;
}
.job_shindan .loop {
  text-align: center;
  margin: 20px 0;
}
.job_shindan .loop a {
    display: inline-block;
    background: url(../image/jobs/icon_loop.svg) no-repeat left center / contain;
    padding-left: 30px;
    color: #000;
    font-weight: 500;
}
.job_shindan .close_shindan {
    position: absolute;
    right: -5px;
    top: -5px;
    width: 20px;
}



/* list_jobs */
.list_jobs { margin-bottom: 60px; }
.list_jobs .item {
  padding: 0 20px;
}
.list_jobs .item + .item {
  margin-top: 70px;
}
.list_jobs .item a {
  color: #000;
  text-decoration: none;
  display: block;
}
.list_jobs .thumb {
  margin-bottom: 15px;
}
.list_jobs .thumb img { width: 100%; }
.list_jobs .detail {}
.list_jobs .item_ttl {
  font-size: 2.6rem;
  font-weight: 500;
  margin-bottom: 20px;
}
.list_jobs .item_ttl strong {
  font-weight: 500;
}
.list_jobs .item_ttl .en {
  color: #BFC8E2;
  font-size: 1.6rem;
  font-weight: 700;
  display: block;
}
.list_jobs .info {
  margin-bottom: 20px;
}
.list_jobs .faq {
  margin-bottom: 20px;
}
.list_jobs .faq dl + dl {
  margin-top: 10px;
}
.list_jobs .faq dt { font-weight: bold; }
.list_jobs .faq dd { flex: 1; }
.list_jobs .link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.list_jobs .link a {
  width: calc(50% - 5px);
}


/* Tablet */
@media (min-width: 768px) {
  
  /* job_message */
  .job_message {
    padding: 70px 50px;
  }
  .job_message .thumbs li {
    width: auto;
    flex: 1;
  }
  
  /* job_shindan */
  .job_shindan_info .inner {
    padding: 20px 50px;
  }
  .job_shindan {
    width: 70%;
    padding: 50px;
  }
  .job_shindan .flow .a_btn a,
  .job_shindan .end .a_link {
    padding: 10px 30px;
  }
  .job_shindan .close_shindan {
    right: -15px;
    top: -15px;
    width: 30px;
  }
  
  /* list_jobs */
  .list_jobs .item {
    display: flex;
    align-content: flex-start;
    gap: 30px;
    background: url(../image/jobs/bg_job.png) no-repeat right -30% center / contain;
    padding: 0 50px;
  }
  .list_jobs .thumb {
    width: 35%;
    max-width: 800px;
    margin-bottom: 0;
  }
  .list_jobs .detail {
    flex: 1;
  }
  
}

/* DeskTop */
@media (min-width: 1200px) {
  
  /* job_message */
  .job_message .ttl {
    font-size: 4.6rem;
    margin-bottom: 40px;
  }
  .job_message .ttl br { display: block; }
  .job_message .lead {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }
  .job_message .text {
    font-size: 1.8rem;
    margin-bottom: 30px;
    padding: 0 100px;
  }
  .job_message .thumbs {
    gap: 13px;
  }
  
  /* job_shindan */
  .job_shindan {
    width: 50%;
    padding: 30px 50px;
  }
  .job_shindan .flow .no {
    font-size: 3rem;
    margin-bottom: 40px;
  }
  .job_shindan .flow .q_title {
    font-size: 4rem;
    margin-bottom: 40px;
  }
  .job_shindan .flow .a_btn a,
  .job_shindan .end .a_link {
    font-size: 2.8rem;
    padding: 18px 30px;
  }
  .job_shindan .flow .a_btn a {
    margin-top: 20px;
  }
  .job_shindan .flow .a_btn a::after,
  .job_shindan .end .a_link::after {
    width: 22px;
    height: 22px;
    border-width: 3px;
    margin-top: -17px;
    right: 32px;
  }
  
  
  .job_shindan .end .ttl {
    font-size: 4rem;
    margin-bottom: 30px;
  }
  .job_shindan .end .lead {
    font-size: 2.6rem;
    margin-bottom: 30px;
  }
  .job_shindan .end .job {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
  }
  .job_shindan .end .job .thumb {
    width: 40%;
  }
  .job_shindan .end .job .detail {
    flex: 1;
  }
  .job_shindan .end .job .a_ttl {
    text-align: left;
    /*font-size: 5rem;*/
  }
  .job_shindan .end .job .a_text {
    margin-bottom: 0;
    font-size: 1.8rem;
  }
  .job_shindan .end .job .thumb img {
    height: auto;
  }
  .job_shindan .flow .a_btn a:hover { background-color: #2392D7; }
  .job_shindan .flow .a_btn a:hover::after { background: #FFE764; }
  
  .job_shindan .loop a {
    font-size: 2rem;
    font-weight: 400;
    padding-left: 45px;
    background-size: contain;
  }
  
  
  
  
  /* list_jobs */
  .list_jobs { margin-bottom: 200px; }
  .list_jobs .item {
    padding: 0 50px 0 0;
    background-position: right -20px center;
  }
  .list_jobs .item + .item {
    margin-top: 120px;
  }
  .list_jobs .detail {
    padding-right: 200px;
  }
  .list_jobs .item_ttl {
    font-size: 3.6rem;
    margin-bottom: 30px;
  }
  .list_jobs .item_ttl .en {
    font-size: 2.2rem;
  }
  .list_jobs .faq dl {
    display: flex;
    align-items: flex-start;
  }
  .list_jobs .link {
    justify-content: flex-start;
  }
  .list_jobs .link a {
    width: 30%;
    max-width: 340px;
  }
}
/* DeskTop */
@media (min-width: 1920px) {
  
  
  /* job_shindan */
  .job_shindan {
    padding: 100px 170px;
  }
  .job_shindan .flow .no {
    font-size: 4rem;
    margin-bottom: 120px;
  }
  .job_shindan .flow .q_title {
    font-size: 5rem;
    margin-bottom: 120px;
  }
  .job_shindan .end .ttl {
    font-size: 6rem;
    margin-bottom: 60px;
  }
  .job_shindan .end .lead {
    font-size: 4rem;
    margin-bottom: 50px;
  }
  .job_shindan .end .job .a_ttl {
    font-size: 6.2rem;
  }
  .job_shindan .loop a {
    font-size: 4rem;
    background-size: auto;
  }
  .job_shindan .close_shindan {
    width: auto;
    top: -70px;
    right: -140px;
  }
  .job_shindan .end .job {
    margin-bottom: 40px;
  }
  
  /* list_jobs */
  .list_jobs { gap: 60px; }
  .list_jobs .detail {
    padding-right: 350px;
  }
  .list_jobs .item_ttl {
    font-size: 5rem;
    margin-bottom: 50px;
  }
  .list_jobs .item_ttl .en {
    font-size: 3.2rem;
  }
  .list_jobs .info {
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
  .list_jobs .faq {
    margin-bottom: 40px;
  }
  .list_jobs .faq dl {
    font-size: 1.8rem;
    display: flex;
    align-items: flex-start;
  }
}


/*---------------------
	voice
---------------------*/
/* list */
.top_voice.type_list {
  position: relative;
  margin: 0;
}
.top_voice.type_list .deco_text {
  transform: rotate(90deg);
  position: absolute;
  top: 290px;
  font-size: 4rem;
}
.top_voice.type_list .deco_text_01 {
  display: block;
  margin: 0;
  left: -63%;
}
.top_voice.type_list .deco_text_02 {
  right: -66%;
  margin: 0;
}
.top_voice.type_list .lead {
    font-size: 2rem;
}
.type_list .top_voice_list .thumb_inner {
  padding-bottom: 100%;
}

/* yamenaide */
.yamenaide {
  padding: 40px 20px;
  background: #F4F4E8 url("../image/bg_yamenaide.jpg") no-repeat 0 0 /cover;
}
.yamenaide .inner {
  max-width: 1200px;
  margin: 0 auto;
}
.yamenaide .thumb {
  text-align: center;
  margin-bottom: 20px;
}
.yamenaide .detail {}
.yamenaide .ttl {
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 10px;
}
.yamenaide .lead {
  color: #25489C;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 20px;
}

/* Tablet */
@media (min-width: 768px) {
  /* yamenaide */
  .yamenaide {
    padding: 60px;
  }
  .yamenaide .inner {
    display: flex;
    gap: 30px;
  }
  .yamenaide .thumb {
    width: 30%;
    max-width: 416px;
  }
  .yamenaide .detail {
    flex: 1;
  }
}

/* DeskTop */
@media (min-width: 1200px) {
  
  .top_voice.type_list .deco_text {
    font-size: 14rem;
    top: 850px;
    width: fit-content;
  }
  .top_voice.type_list .deco_text_01 {
    left: -840px;
  }
  .top_voice.type_list .deco_text_02 {
    right: -860px;
  }
  .top_voice.type_list .lead {
    font-size: 3rem;
    margin: 0 0 70px;
  }
  
  .type_list .top_voice_list {
    display: flex;
    flex-wrap: wrap;
    gap: 90px 60px;
  }
  .type_list .top_voice_list .item {
    width: calc(33.33% - 50px);
  }
  .tyype_list .top_voice_list .item a {
    padding: 0;
  }
  .type_list .top_voice_list .thumb {
    margin: 0 0 20px;
  }
  .type_list .top_voice_list .thumb_inner {
    padding-bottom: calc(138.48% - 15px);
  }
  
  
  /* yamenaide */
  .yamenaide .ttl {
    font-size: 3.6rem;
  }
  .yamenaide p { line-height: 30px }
  .yamenaide .lead {
    font-size: 2.2rem;
  }
  
}

/* DeskTop */
@media (min-width: 1920px) {
  /* yamenaide */
  .yamenaide .ttl {
    font-size: 4.6rem;
  }
  .yamenaide p {
      font-size: 1.8rem;
  }
  
}

/* job_detail_info */
.job_detail_info {
  background: #25489C;
  overflow: hidden;
}
.job_detail_info .detail {
  color: #fff;
  position: relative;
  padding: 20px 30px;
}
.job_detail_info .deco {
    color: #fff;
    font-size: 8.8rem;
    position: absolute;
    left: 0;
    top: -48px;
    opacity: .08;
    font-weight: bold;
}
.job_detail_info .ttl {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 15px;
}
.job_detail_info p {
  background: #1F3C82;
  padding: 5px 10px;
  font-size: 1.4rem;
}
.job_detail_info p + p {
  margin-top: 5px;
}
.job_detail_info .work {}
.job_detail_info .join {}
.job_detail_info .name {
  font-size: 2rem;
}

.job_detail_info .thumb {}
.job_detail_info .thumb img { width: 100%; }

.job_detail_bg {
  background: url("../image/job_detail_bg.jpg") no-repeat left center/cover;
}


/* job_detail_faq */
.job_detail_faq {
  display: flex;
  flex-direction: column-reverse;
}
.job_detail_faq .thumb {}
.job_detail_faq .thumb img { width: 100%; }
.job_detail_faq .detail {
  padding: 30px;
}
.job_detail_faq .detail dl {}
.job_detail_faq .detail dl + dl {
  margin-top: 30px;
}
.job_detail_faq .detail dl dt {
  color: #25489C;
  font-weight: 500;
  font-size: 2rem;
  margin-bottom: 10px;
}
.job_detail_faq .detail dl dd {
  font-size: 1.4rem;
}

/* job_detail_time */
.job_detail_time {}
.job_detail_time .detail {
  padding: 30px;
}
.job_detail_time .detail .ttl {
  font-family: "Mplus 1p";
  font-size: 2.6rem;
  font-weight: 400;
  margin-bottom: 15px;
}
.job_detail_time .detail .ttl_en {
  color: #BFC8E2;
  display: block;
  font-weight: 800;
  font-size: 1.6rem;
}
.job_detail_time .detail dl {
  padding: 10px 0;
  display: flex;
  border-bottom: 1px solid #BBBBBB;
}
.job_detail_time .detail dl dt {
    width: 60px;
    font-size: 1.4rem;
    padding-top: 2px;
}
.job_detail_time .detail dl dd {
  flex: 1;
  border-left: 1px solid #3083B6;
  padding-left: 10px;
  font-size: 1.5rem;
}
.job_detail_time .thumb {}
.job_detail_time .thumb img { width: 100%; }


/* DeskTop */
@media (min-width: 1200px) {
  /* job_detail_info */
  .job_detail_info {
    display: flex;
    align-items: center;
    margin-bottom: 80px;
  }
  .job_detail_info > * {
    width: 50%;
  }
  .job_detail_info .detail {
    padding: 30px 70px;
  }
  .job_detail_info .deco {
    font-size: 7rem;
    transform: rotate(90deg);
    position: absolute;
    left: -130px;
    top: 90px;
  }
  .job_detail_info .ttl {
    font-size: 3rem;
    margin-bottom: 30px;
  }
  .job_detail_info p {
    font-size: 1.6rem;
  }
  .job_detail_info .name {
    font-size: 2rem;
  }
  
  .job_detail_bg {
    padding-bottom: 140px;
  }
  
  /* job_detail_faq */
  .job_detail_faq {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    margin-bottom: 80px;
  }
  .job_detail_faq > * {
    width: 50%;
  }
  .job_detail_faq .detail {
    padding: 0 40px;
  }
  .job_detail_faq .detail dl + dl {
    margin-top: 40px;
  }
  .job_detail_faq .detail dl dt {
    font-size: 2.4rem;
  }
  .job_detail_faq .detail dl dd {
    font-size: 1.6rem;
  }
  
  /* job_detail_time */
  .job_detail_time {
    display: flex;
    align-items: flex-start;
  }
  .job_detail_time > * {
    width: 50%;
  }
  .job_detail_time .detail {
    padding: 0 40px;
  }
  .job_detail_time .detail .ttl {
    font-size: 2.6rem;
  }
  .job_detail_time .detail .ttl_en {
    font-size: 1.6rem;
  }
  .job_detail_time .detail dl {
    border-bottom: none;
    gap: 5px;
    padding: 0;
  }
  .job_detail_time .detail dl dt {
    font-size: 1.6rem;
    width: 100px;
    padding: 15px 0;
    border-bottom: 1px solid #3083B6;
  }
  .job_detail_time .detail dl dd {
    font-size: 1.6rem;
    border-bottom: 1px solid #BBBBBB;
    border-left: none;
    padding: 15px 0;
  }
  
}
/* DeskTop */
@media (min-width: 1920px) {
  .job_detail_info {
    margin-bottom: 150px;
  }
  .job_detail_info .detail {
    padding: 30px 150px;
  }
  .job_detail_info .deco {
    font-size: 13rem;
    line-height: 1;
    left: -240px;
    top: 130px;
  }
  .job_detail_info .ttl {
    font-size: 5rem;
    line-height: 1.8;
    font-weight: 800;
    margin-bottom: 50px;
  }
  .job_detail_info p {
    font-size: 2rem;
    padding: 8px 20px;
  }
  .job_detail_info .name {
    font-size: 3rem;
  }
  
  /* job_detail_faq */
  .job_detail_faq {
    margin-bottom: 100px;
  }
  .job_detail_faq .detail {
    padding: 0 50px;
  }
  .job_detail_faq .detail dl + dl {
    margin-top: 70px;
  }
  .job_detail_faq .detail dl dt {
    font-size: 3.2rem;
  }
  .job_detail_faq .detail dl dd {
    font-size: 1.8rem;
  }
  
  /* job_detail_time */
  .job_detail_time {}
  .job_detail_time .detail {
    padding: 0 50px;
  }
  .job_detail_time .detail .ttl {
    font-size: 5rem;
  }
  .job_detail_time .detail .ttl_en {
    font-size: 3.2rem;
  }
  .job_detail_time .detail dl dt,
  .job_detail_time .detail dl dd {
    padding: 20px 0;
    font-size: 1.8rem;
  }
  
}


/*---------------------
	benefits
---------------------*/
/* benefits_lead */
.benefits_lead {
  background: #FBF4D1;
  padding: 30px 10px 40px;
  border-bottom: 37px solid #D5C9B1;
  position: relative;
  margin-bottom: 40px;
}
.benefits_lead::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  height: 48px;
  background: url("../image/bg_benefits_lead.png") no-repeat center top/ auto 48px;
}
.benefits_lead .ttl {
  font-size: 2rem;
  text-align: center;
  font-weight: 500;
}
.benefits_lead {}

/* sp_s */
@media (max-width: 360px) {
  .benefits_lead .ttl br {
    display: none;
  }
}


/* benefits_info */
.benefits_info {
  max-width: 1200px;
  margin: 0 auto 60px;
  padding: 0 20px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px 10px;
}
.benefits_info .item {
  width: calc(50% - 5px);
}
.benefits_info .thumb {
  text-align: center;
  margin-bottom: 10px;
}
.benefits_info .ttl {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 10px;
}
.benefits_info p {}



/* Tablet */
@media (min-width: 768px) {
  .benefits_lead {
    margin-bottom: 60px;
  }
  .benefits_lead .ttl {
    font-size: 3rem;
  }
  
  .benefits_info {
    gap: 30px 20px;
    margin-bottom: 60px;
    padding: 0 40px;
  }
  .benefits_info .item {
    width: calc(33.333% - 14px);
  }
  
}

/* DeskTop */
@media (min-width: 1200px) {
  .benefits_lead {
    padding: 50px 40px 100px;
    border-bottom-width: 77px;
  }
  .benefits_lead::before {
    height: 153px;
    background-size: auto;
    bottom: -55px;
  }
  .benefits_lead .ttl {
    font-size: 4rem;
  }
  
  .benefits_info {
    gap: 50px 36px;
  }
  .benefits_info .item {
    width: calc(25% - 27px);
  }
  .benefits_info .thumb {
    margin-bottom: 20px;
  }
  .benefits_info .ttl {
    font-size: 2rem;
    margin-bottom: 20px;
  }
  
  
}

/* DeskTop */
@media (min-width: 1920px) {
  .benefits_lead {
    margin-bottom: 80px;
  }
  .benefits_lead .ttl {
    font-size: 4.6rem;
  }
  .benefits_info {
    margin-bottom: 80px;
  }
  .benefits_info .ttl {
    font-size: 2.6rem;
  }
}


/* therapy */
.therapy {
  max-width: 1100px;
  margin: 0 auto 40px;
  padding: 0 20px
}
.therapy .ttl {
    font-size: 2.2rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
    background: url(/userfiles/images/recruit/benefits/image_01.png) no-repeat center bottom / 80px;
    padding-bottom: 60px;
}
.therapy .lead {
    font-size: 1.5rem;
    margin-bottom: 20px;
}
.therapy .list {
  margin-bottom: 30px;
}
.therapy .list li {
  background: #EFF8F0;
  position: relative;
  padding: 10px 10px 10px 28px;
}
.therapy .list li + li {
  margin-top: 5px;
}
.therapy .list li::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 18px;
    background: #7CA880;
    border-radius: 50%;
    width: 8px;
    height: 8px;
}

.therapy .note {
    background: url(/userfiles/images/recruit/benefits/image_02.png) no-repeat center top / 200px;
    padding-top: 110px;
}

/* Tablet */
@media (min-width: 768px) {
  
  .therapy .ttl { font-size: 3rem; }
  
}
/* DeskTop */
@media (min-width: 1200px) {
  
  .therapy .ttl {
    font-size: 4rem;
    background-size: 144px;
    padding-bottom: 100px;
  }
  .therapy .lead {
    font-size: 2rem;
    line-height: 40px;
    margin-bottom: 50px;
  }
  .therapy .list {
  margin-bottom: 40px;
}
  
  .therapy .note {
    font-size: 1.8rem;
    text-align: center;
    background-size: 400px;
    padding-top: 210px;
  }
    
}
/* DeskTop */
@media (min-width: 1920px) {
  
  .therapy .ttl {
    font-size: 5rem;
    background-size: 144px;
  }
  .therapy .note {
    font-size: 1.9rem;
  }
  
}


/*---------------------
	numbers
---------------------*/
.numbers {
    background: #DDEAFB url("../image/numbers/bg_sp.png") no-repeat right top/contain;
    padding: 28% 0 0;
}
.numbers .inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 20px;
}
.numbers .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /*grid-template-rows: repeat(6, 1fr);*/
  grid-template-rows: max-content max-content 1fr auto;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
}
.numbers .list .item {
  background: #fff;
  border: 1px solid #A9CCE3;
  border-radius: 5px;
  padding: 20px 10px;
  text-align: center;
}

.numbers .list .item_01 { grid-area: 1 / 1 / 2 / 2; }
.numbers .list .item_02 { grid-area: 1 / 2 / 2 / 3; }
.numbers .list .item_03 { grid-area: 3 / 1 / 4 / 3; }
.numbers .list .item_04 { grid-area: 2 / 1 / 3 / 3; }
.numbers .list .item_05 { grid-area: 4 / 1 / 5 / 3; }
.numbers .list .item_06 { grid-area: 6 / 1 / 7 / 2; }
.numbers .list .item_07 { grid-area: 5 / 1 / 6 / 3; }
.numbers .list .item_08 { grid-area: 7 / 1 / 8 / 3; }
.numbers .list .item_09 { grid-area: 6 / 2 / 7 / 3; }
.numbers .list .item_10 { grid-area: 8 / 1 / 9 / 3; }
.numbers .list .item_11 { grid-area: 9 / 1 / 10 / 2; }
.numbers .list .item_12 { grid-area: 9 / 2 / 10 / 3; }


.numbers .list .ttl {
    font-weight: 500;
    font-size: 1.5rem;
    margin-bottom: 15px;
}
.numbers .list .note {
    font-size: 1.3rem;
    margin-bottom: 20px;
}
.numbers .list .thumb {
    margin-bottom: 10px;
}
.numbers .js_count_no {
    line-height: 1.2;
    font-size: 1.8rem;
}
.numbers .js_count_no strong {
  font-weight: 900;
  font-size: 3rem;
}


.numbers .item_01 img { width: 80px; }
.numbers .item_02 .thumb {
  position: relative;
}
.numbers .item_02 .sales_text {
  display: flex;
  flex-direction: column;
  font-size: 80%;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: -40px;
}

.numbers .item_04 ul {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.numbers .item_04 li img {
    height: 70px;
}
.numbers .item_04 li br { display: none; }

.numbers .old {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.numbers .old_item { flex: 1; }
.numbers .old img { height: 80px; }
.numbers .old .note br { display: none; }

.numbers .item_06 img { height: 100px; }
.numbers .item_09 img { height: 100px; }

.numbers .item_07 .item_inner {
  display: flex;
  gap: 10px;
}
.numbers .item_07 .gender {
  flex: 1;
}
.numbers .item_07 .gender_ttl {
    text-align: center;
    border-bottom: 1px solid #707070;
    font-size: 1.3rem;
    font-weight: 500;
    padding-bottom: 5px;
    margin-block: 10px;
}
.numbers .item_07 .gender_inner {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.numbers .item_07 .gender_inner .thumb { width: 29%; }
.numbers .item_07 dl {
    display: flex;
    align-items: center;
    gap: 5px;
}
.numbers .return {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /*grid-template-rows: repeat(2, 1fr);*/
  grid-template-rows: max-content max-content 1fr auto;
  grid-column-gap: 15px;
  grid-row-gap: 0px;
}
.numbers .return .thumb {
  grid-area: 2 / 1 / 3 / 3;
  margin: 0;
}
.numbers .return .thumb img {
  height: 60px;
}
.numbers .return_item {}
.numbers .return_ttl {
  text-align: center;
  border-bottom: 1px solid #707070;
  font-size: 1.3rem;
  font-weight: 500;
  padding-bottom: 5px;
  margin-block: 10px;
}
.numbers .return .note { margin-bottom: 0; }

.numbers .item_10 ul {
  display: flex;
  gap: 10px;
}
.numbers .item_10 li {
  flex: 1;
  background: #FFF6BB;
  border-radius: 10px;
  padding: 20px 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.numbers .item_10 li:nth-child(2) { background: #DDEAFB; }
.numbers .item_10 li:nth-child(3) { background: #C4E9EC; }
.numbers .item_10 p + p {
  margin-top: 10px;
}

.numbers .item_11 .ttl {
  margin-bottom: 0;
}
.numbers .item_ttl_sub {
  text-align: center;
    border-bottom: 1px solid #707070;
    font-size: 1.3rem;
    font-weight: 500;
    padding-bottom: 5px;
    margin-block: 10px;
}
.numbers .item_11 .thumb,
.numbers .item_12 .thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap:10px;
}
.numbers .item_11 img,
.numbers .item_12 img {
  height: 60px;
}



/* Tablet */
@media (min-width: 768px) {
  .numbers {
    background-image: url("../image/numbers/bg.png");
    background-size: 100%;
    padding-top: 18%;
  }
  .numbers .inner {
    padding: 40px;
  }
  .numbers .list .ttl {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  
  .numbers .item_02 .sales_text {
    flex-direction: row;
  }
  
}
/* DeskTop */
@media (min-width: 1200px) {
  
  .numbers .list {
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }

  .numbers .list .item_01 { grid-area: 1 / 1 / 2 / 2; }
  .numbers .list .item_02 { grid-area: 1 / 2 / 2 / 3; }
  .numbers .list .item_03 { grid-area: 1 / 3 / 2 / 4; }
  .numbers .list .item_04 { grid-area: 2 / 1 / 3 / 3; }
  .numbers .list .item_05 { grid-area: 2 / 3 / 3 / 4; }
  .numbers .list .item_06 { grid-area: 3 / 1 / 4 / 2; }
  .numbers .list .item_07 { grid-area: 3 / 2 / 4 / 4; }
  .numbers .list .item_08 { grid-area: 4 / 1 / 5 / 3; }
  .numbers .list .item_09 { grid-area: 4 / 3 / 5 / 4; }
  .numbers .list .item_10 { grid-area: 5 / 1 / 6 / 2; }
  .numbers .list .item_11 { grid-area: 5 / 2 / 6 / 3; }
  .numbers .list .item_12 { grid-area: 5 / 3 / 6 / 4; }
  
  .numbers .list .item {
    padding: 30px 25px;
  }
  
  .numbers .list .ttl {
    font-size: 2.8rem;
    font-weight: 400;
  }
  .numbers .list .note {
    font-size: 1.6rem;
  }
  .numbers .list .ttl + .note { margin-top: -20px; }
  .numbers .js_count_no {
    font-size: 2rem;
  }
  .numbers .js_count_no strong {
    font-size: 6rem;
}
  
  .numbers .item_01 img {
    width: auto;
  }
  
  .numbers .item_02 .sales_text {
    margin-top: -80px;
    margin-bottom: 20px;
  }
  
  .numbers .item_04 li {
    flex: 1;
  }
  .numbers .item_04 li img {
    height: auto;
  }
  .numbers .item_04 .thumb + div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .numbers .item_04 li br {
    display: block;
  }
  
  .numbers .old {
    flex-direction: column;
  }
  .numbers .old_item {
    display: flex;
    align-items: flex-end;
    gap: 20px;
    border-bottom: 1px solid #707070;
  }
  .numbers .old .note {
    margin-bottom: 0;
    text-align: left;
  }
  .numbers .old .note br {
    display: block;
  }
  .numbers .old .thumb {
    text-align: left;
  }
  .numbers .old img {
    height: 50px;
  }
  .numbers .old .js_count_no strong {
    font-size: 7rem;
  }
  .numbers .item_06 img {
    height: auto;
  }
  .numbers .item_07 .gender_ttl {
    font-size: 2rem;
    font-weight: 400;
  }
  
  .numbers .item_07 .item_inner {
    justify-content: space-evenly;
  }
  .numbers .item_07 .gender {
    flex: inherit;
  }
  .numbers .item_07 .gender_inner {
    gap: 20px;
  }
  .numbers .item_07 .gender_inner .thumb {
    width: auto;
  }
  .numbers .item_07 .gender img {
    height: 128px;
  }
  .numbers .item_07 dl {
    justify-content: space-between;
  }
  .numbers .item_07 dl dt {
    font-size: 2rem;
  }
  .numbers .return {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
  }
  .numbers .return_ttl {
    font-size: 2rem;
    font-weight: 400;
  }
  .numbers .return .thumb {
    padding: 30px 20px 0;
  }
  .numbers .return .thumb img {
    height: auto;
  }
  
  
  .numbers .item_10 p + p {
    font-size: 2.5rem;
  }
  .numbers .item_ttl_sub {
    font-size: 3rem;
    font-weight: 400;
  }
  
  .numbers .item_11 img,
  .numbers .item_12 img {
    height: 80px;
  }
  
  
}
/* DeskTop */
@media (min-width: 1920px) {
  .numbers .inner {
    padding: 50px;
  }
  .numbers .list {
    grid-column-gap: 35px;
    grid-row-gap: 40px;
  }
  
  .numbers .list .ttl {
    font-size: 3.2rem;
  }
  .numbers .list .note {
    font-size: 2rem;
  }
  .numbers .js_count_no {
    font-size: 3rem;
  }
  .numbers .js_count_no strong {
    font-size: 9rem;
    font-weight: 700;
    letter-spacing: -3px;
  }
  
  .numbers .item_02 .sales_text .js_count_no strong {
    font-size: 8rem;
  }
  
  .numbers .item_04 ul { gap:30px; }
  .numbers .item_04 li {
    flex: inherit;
  }
  .numbers .item_04 .thumb + div {
    font-size: 3rem;
  }
  
  .numbers .list .note {
    font-size: 3rem;
    line-height: 1.2;
    margin-bottom: 10px;
  }
  .numbers .item_06 .note { font-size: 2rem; }
  .numbers .item_07 .gender_ttl {
    font-size: 3rem;
  }
  .numbers .return_ttl {
    font-size: 3rem;
  }
  .numbers .return .thumb {
    padding: 80px 20px 0;
  }
  .numbers .return .note { font-size: 2rem; }
  .numbers .item_07 dl dt {
    font-size: 3rem;
  }
  
  .numbers .item_11 img,
  .numbers .item_12 img {
    height: auto;
  }
  .numbers .item_11 .note {
    font-size: 2rem;
  }
  
}


/*---------------------
	faq
---------------------*/
.list_faq {
  margin: 20px 0;
}
.list_faq .item {
  border-top: 1px solid #BFBFBF;
  border-bottom: 1px solid #BFBFBF;
  position: relative;
}
.list_faq .item::before {
  width: 40px;
  height: 3px;
  background: #FF5D00;
  border-right: 3px solid #fff;
  content: "";
  position: absolute;
  left: 0;
  top: -2px;
}
.list_faq .faq_ttl {
  font-size: 1.8rem;
  font-weight: 400;
}
.list_faq .faq_ttl a {
    color: #000;
    display: block;
    text-decoration: none;
    position: relative;
    padding: 10px 30px 10px 5px;
}
.list_faq .faq_ttl a::before {
  content: "Q.";
  color: #FF5D00;
  font-weight: 900;
  font-size: 110%;
  margin-right: 10px;
}
.list_faq .faq_ttl a::after {
    content: "";
    position: absolute;
    right: 5px;
    top: calc(50% - 10px);
    background: url(../image/icon_faq.svg) no-repeat 0 0 / cover;
    width: 20px;
    height: 20px;
    transform: rotate(180deg);
  transition: .3s;
}
.list_faq .faq_ttl.show a::after {
  transform: rotate(0deg);
}
.list_faq .faq_inner {
  background: #FBF9EC;
  padding: 10px 10px 10px 35px;
  margin-bottom: 3px;
  position: relative;
  display: none;
}
.list_faq .faq_inner::before {
    content: "A.";
    color: #25489C;
    font-weight: 900;
    font-size: 110%;
    position: absolute;
    left: 10px;
    top: 8px;
}

/* DeskTop */
@media (min-width: 1200px) {
  .list_faq {
    margin: 110px 0;
  }
  .list_faq .item {
    margin-bottom: 40px;
  }
  .list_faq .faq_ttl {
    font-size: 2.6rem;
  }
  .list_faq .faq_ttl a::after {
    width: 26px;
    height: 26px;
    top: calc(50% - 13px);
  }
  .list_faq .faq_ttl a::before {
    font-size: 3.6rem;
  }
  .list_faq .faq_inner {
    font-size: 1.8rem;
    padding: 17px 20px 17px 80px;
  }
  .list_faq .faq_inner::before {
    font-size: 3.6rem;
    top: 0;
    left: 25px;
  }
}


.youtube {
    margin: 10% 0 20px;
}

.youtube iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}


/*---------------------
	message
---------------------*/
.message_detail {
  color: #fff;
  padding: 60px 20px;
  background: #2B94D6 url("../image/bg_message_detail.jpg") no-repeat center top/cover;
  margin-bottom: 20px;
}
.message_detail .inner {
  background: url(../image/dots_white_01.png) no-repeat 0 0, url(../image/dots_white_02.png) no-repeat right bottom;
  background-size: 170px;
  padding: 60px 0 40px;
  max-width: 1020px;
  margin: 0 auto;
}
.message_detail .ttl {
  font-size: 2.4rem;
    text-align: center;
    font-weight: 500;
    margin-bottom: 20px;
}
.message_detail p {
  line-height: 24px;
  max-width: 835px;
  margin: 0 auto;
}


/* Tablet */
@media (min-width: 768px) {
  .message_detail {
    padding: 80px 40px;
  }
  .message_detail .inner {
    background-size: 400px;
    padding: 120px 0;
  }
  .message_detail .ttl {
    margin-bottom: 30px;
    font-size: 3rem;
  }
}

/* PC */
@media (min-width: 1200px) {
  .message_detail {
    padding: 120px 40px;
  }
  .message_detail .inner {
    background-size: 300px;
    padding: 100px 0;
  }
  
}

/* PC */
@media (min-width: 1920px) {
  .message_detail {
    padding: 160px 0;
  }
  .message_detail .inner {
    background-size: auto;
    padding: 200px 0 120px;
  }
  .message_detail .ttl {
    font-size: 5rem;
    margin-bottom: 40px;
  }
  .message_detail p {
    font-size: 2rem;
    line-height: 40px;
  }
}

/* ----- employee_image -----*/
.employee_image {
  padding: 60px 40px;
  color: #fff;
  background: #203E87 url("../image/bg_employee_image.jpg") no-repeat center top/cover;
  margin-bottom: 20px;
}
.employee_image .inner {
  max-width: 1600px;
  margin: 0 auto;
}
.employee_image .ttl {
    font-size: 3rem;
    text-align: center;
    font-weight: 400;
    margin-bottom: 30px;
}
.employee_image .list {}
.employee_image .item {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
}
.employee_image .item + .item {
    margin-top: -30px;
}
.employee_image .item::before {
  content: "";
  position: absolute;
    left: 0;
    top: 0;
  width: 100%;
  height: 100%;
  background: url("../image/bg_employee_arrow.png") no-repeat center center/98%;
  animation: cycle01 50s linear 0s infinite normal forwards;
}
.employee_image .item_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transform: translate(-50%, -50%);
  position: absolute;
  left: 50%;
  top: 50%;
  gap: 20px;
  text-align: center;
}
.employee_image .item_ttl {
    font-size: 3rem;
    font-weight: 400;
    word-break: keep-all;
}
.employee_image .item_note {
    word-break: keep-all;
}

@keyframes cycle01 {
  0% { transform: rotate(0) }

  to { transform: rotate(-1turn) }
}

/* Tablet */
@media (min-width: 768px) {
  .employee_image .list {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .employee_image .item {
    flex: 1;
    padding-bottom: 33.33%;
  }
  .employee_image .item + .item {
    margin-top: 0;
  }
  .employee_image .item::before {
    width: 110%;
    height: 110%;
    left: -5%;
    top: -5%;
  }
  .employee_image .item_inner {
    zoom: 0.8;
  }

}

/* PC */
@media (min-width: 1200px) {
  
  .employee_image {
    padding: 120px 80px 180px;
  }
  .employee_image .ttl {
    margin-bottom: 70px;
    font-size: 4rem;
  }
  .employee_image .item_ttl {
    font-size: 4rem;
    margin-bottom: 10px;
  }
  .employee_image .item_note {
    font-size: 2rem;
  }
  .employee_image .item_inner {
    width: 100%;
    zoom:1;
  }
}

/* PC */
@media (min-width: 1920px) {
  .employee_image .ttl {
    font-size: 5rem;
  }
}


/* ----- company_policy -----*/
.company_policy {
  padding: 60px 20px;
  background: #F0F8F0;
}

.company_policy .inner {
  max-width: 1000px;
  margin: 0 auto;
}
.company_policy .item + .item {
  margin-top: 40px;
}
.company_policy .ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
    font-size: 2.4rem;
    font-weight: 500;
    gap: 5px;
}
.company_policy .ttl .icon {}
.company_policy .ttl .jp {}
.company_policy .ttl .en {
  color: #2FA2A0;
  font-size: 1.2rem;
  font-weight: 700;
}
.company_policy .lead {
    font-size: 1.7rem;
    margin-bottom: 10px;
  text-align: center;
}

/* Tablet */
@media (min-width: 768px) {
  .company_policy {
    padding: 90px 100px;
  }
}

/* PC */
@media (min-width: 1200px) {
  .company_policy {
    padding: 60px 180px 180px;
  }
  .company_policy .item + .item {
    margin-top: 120px;
  }
  .company_policy .ttl {
    font-size: 4rem;
    margin-bottom: 30px;
  }
  .company_policy .ttl .icon {
    margin-bottom: 30px;
  }
  .company_policy .ttl .en {
    font-size: 2rem;
  }
  .company_policy p {
    font-size: 2rem;
    line-height: 40px;
  }
  .company_policy .lead {
    font-size: 3rem;
    margin-bottom: 30px;
  }
}

/* PC */
@media (min-width: 1920px) {
  .company_policy .ttl {
    font-size: 5rem;
  }
}

/*---------------------------------------------------------------------
	foter
---------------------------------------------------------------------*/
/*----- entry_area -----*/
.entry_area {
  padding: 50px 10px 110px;
  background: #2FB594 url("../image/bg_entry_area.jpg") no-repeat center center/cover;
}
.entry_area .inner {
  max-width: 1600px;
  margin: 0 auto;
}
.entry_area .ttl {
  text-align: center;
  margin-bottom: 40px;
}
.entry_area .entry_link {
  color: #00238C;
  text-decoration: none;
  display: block;
  position: relative;
  background: #fff;
  margin-right: -10px;
  padding: 32px 30px 32px 50px;
  border-radius: 60px 0 0 60px;
  border: none;
  text-align: left;
  width: calc(100% + 10px);
}
.entry_area .entry_link .img {
  position: absolute;
  right: 20px;
  bottom: -80px;
  width: 60%;
  max-width: 230px;
}
.entry_area .entry_link:hover .img { opacity: 1; }
.entry_area .entry_link::before {
    content: "";
    position: absolute;
    right: 50px;
    top: 50%;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    background: url(../image/icon_arrow_blue.png) no-repeat 0 0 / cover;
}

/* Tablet */
@media (min-width: 768px) {
  .entry_area {
    padding: 50px 0 100px 40px;
  }
  .entry_area .inner {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    align-items: flex-start;
  }
  .entry_area .ttl {
    margin: 0;
    flex: 1;
  }
  .entry_area .ttl img {
    width: auto;
    position: relative;
    top: 20px;
  }
  .entry_area .entry_link {
    width: 50%;
    max-width: 620px;
    margin: 0;
  }
}

/* DeskTop */
@media (min-width: 980px) {
  .entry_area {
    padding: 100px 0 130px 40px;
    overflow: hidden;
  }
  .entry_area .inner {
    gap: 60px;
  }
  .entry_area .entry_link_ttl {
    width: 200px;
  }
  .entry_area .entry_link .img {
    max-width: 300px;
    bottom: -105px;
  }
  .entry_area .entry_link::after {
    content: "";
    position: absolute;
    right: -200%;
    top: 0;
    width: 200%;
    height: 100%;
    background: #fff;
  }
}

/* DeskTop */
@media (min-width: 1920px) {
  .entry_area {
    padding: 160px 0 150px 40px;
  }
  .entry_area .inner {
    gap: 110px;
  }
  .entry_area .ttl img {
    top: 0;
  }
  .entry_area .entry_link_ttl {
    width: 320px;
  }
  .entry_area .entry_link {
    padding: 70px 0 70px 90px;
    border-radius: 140px 0 0 140px;
  }
  .entry_area .entry_link::before {
    width: 40px;
    height: 40px;
    margin-top: -20px;
    right: 0;
  }
  .entry_area .entry_link .img {
    max-width: 498px;
    bottom: -105px;
    right: -35px;
    z-index: 1;
  }
}


/*----- bnr_bottom ----*/
.bnr_bottom {
  padding: 0 40px;
  margin: 40px auto 50px;
}
.bnr_bottom ul {
  max-width: 1252px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bnr_bottom ul li { flex: 1; }
.bnr_bottom ul li a {
  display: block;
}


/* Tablet */
@media (min-width: 768px) {
  .bnr_bottom ul {
    flex-direction: row;
    gap: 18px;
  }
}

/* DeskTop */
@media (min-width: 980px) {
  .bnr_bottom {
    margin: 80px auto 120px;
  }
}

/*----- fix_entry ----*/
.fix_entry {
  position: sticky;
  bottom: 10px;
  z-index: 99;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: 10px;
  width: 80px;
  height: 80px;
  overflow: hidden;
  border: none;
  background: none;
}
.fix_entry::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: url("../image/fix_entry_bg.svg") no-repeat center center/96%;
  animation: loop 20s linear infinite;
}
.fix_entry .text {
  position: relative;
}
@keyframes loop{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(-360deg); }
}

/* Tablet */
@media (min-width: 768px) {
  .fix_entry {
    width: 100px;
    height: 100px;
  }
  .fix_entry .text img {
    width: 60px;
  }
}

/* PC */
@media (min-width: 1200px) {
  .fix_entry {
    width: 120px;
    height: 120px;
    transition: .3s;
  }
  .fix_entry .text img {
    width: 80px;
  }
  .fix_entry:hover {
    transform: scale(1.15);
  }
}

/* PC */
@media (min-width: 1920px) {
  .fix_entry {
    width: 180px;
    height: 180px;
  }
  .fix_entry .text img {
    width: 100px;
  }
}


/*----- footer ----*/
.recruit_footer {
  padding: 30px;
  margin-top: -40px;
  background: #F7F7F7;
}
.recruit_footer .inner {
  max-width: 1200px;
  margin: 0 auto;
}
.footer_logo.pc {
  display: none;
}

.recruit_footer .footer_info {
  transform: rotate(0.03deg);
}
.recruit_footer .navi {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 30px;
}
.recruit_footer .navi li {}
.recruit_footer .navi a {
    display: inline-block;
    color: #000;
    text-decoration: none;
    background: #fff;
    font-size: 1.6rem;
    font-weight: normal;
    padding: 7px 45px;
    border-radius: 20px;
}
.recruit_footer .navi a[target="_blank"]::after {
  content: "";
  background: url("../image/icon_blank_blue.svg") no-repeat 0 0/cover;
  width: 21px;
  height: 21px;
  display: inline-block;
  margin-left: 10px;
}

.recruit_footer .tel {
  text-align: center;
  margin: 0;
}
.recruit_footer .tel dt {
  font-size: 1.8rem;
}
.recruit_footer .tel dd {}
.recruit_footer .tel dd a {
  color: #25489C;
  font-family: "M PLUS Rounded 1c", system-ui;
  font-size: 3.8rem;
  font-weight: bold;
  display: inline-block;
  line-height: 1;
}
.recruit_footer .holiday {
  text-align: center;
  font-size: 1.6rem;
  font-weight: normal;
}

.recruit_footer .footer_logo {
  width: auto;
  margin: 40px auto 20px;
}
.recruit_footer .footer_logo.sp img {
}

.recruit_footer .health_mark {
  text-align: center;
}

.page_scroll_navi {
    display: none;
}
.copyright {
  border: none;
  background: #25489C;
}

/* mobile_s */
@media (max-width: 374px) {
  .recruit_footer .navi a {
    padding: 7px 25px;
  }
  .recruit_footer .tel dd a {
    font-size: 3.5rem;
  }
  .recruit_footer .holiday { font-size: 1.3rem; }
}

/* DeskTop */
@media (min-width: 980px) {
  .recruit_footer {
    padding: 60px 20px 20px;
    position: relative;
  }
  .recruit_footer .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .recruit_footer .footer_logo.pc {
    display: block;
    margin: 0;
  }
  .recruit_footer .footer_logo.sp { display: none; }
  
  .recruit_footer .navi {
    flex-direction: row;
    justify-content: center;
    margin: 0;
  }
  .recruit_footer .navi a {
    font-size: 1.4rem;
  }
  
  .recruit_footer .tel {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 20px 0;
    justify-content: center;
  }
  .recruit_footer .tel dt { font-size: 1.6rem; }
  .recruit_footer .tel dd a {
    font-size: 3rem;
    pointer-events:none;
  }
  .recruit_footer .holiday { font-size: 1.4rem; }
  
  .page_scroll_navi {
    display: block;
    position: absolute;
    top: -35px;
    left: 50%;
    width: 70px;
    margin-left: -35px;
  }
  
}

/* DeskTop */
@media (min-width: 1920px) {
  .recruit_footer {
    padding: 80px 40px 30px;
  }
  .recruit_footer .navi a { font-size: 1.6rem; }
  .recruit_footer .tel dd a { font-size: 3.6rem; }
  .recruit_footer .holiday { font-size: 1.6rem; }
  
  .page_scroll_navi {
    width: auto;
    margin-left: -52px;
    top: -52px;
  }   

}

.modal {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  position: fixed;
  inset: 0;
  z-index: 100;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.7);
  display: grid;
  place-items: center;
}

.modal.show {
  opacity: 1;
  visibility: visible;
}

.modal_content {
  position: relative;
  width: calc(100% - 60px);
  max-width: 700px;
  margin-inline: auto;
  padding: 35px 0;
  border-radius: 8px;
  background-color: #fff;
  transform: translateY(-20px);
  transition: transform 0.3s ease;
}

.modal_inner {
  width: calc(100% - 50px);
  margin-inline: auto;
}

.modal_close {
  position: absolute;
  bottom: calc(100% + 10px);
  right: 0;
  transform: rotate(45deg);
  width: 40px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #3D62AC;
  border: none;
}
.modal_close::before,
.modal_close::after {
  content: '';
  display: block;
  position: absolute;
  background-color: #fff;
}
.modal_close::before {
  top: 19px;
  left: 11px;
  width: 18px;
  height: 2px;
}
.modal_close::after {
  top: 11px;
  left: 19px;
  width: 2px;
  height: 18px;
}

.modal.show .modal_content {
  transform: translateY(0);
}

.modal_ttl {
  max-width: 300px;
  margin: 0 auto 30px;
  padding: 10px;
  text-align: center;
  border: 1px solid #000;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}

.modal_list {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}

.modal_item .ttl {
  margin-bottom: 8px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
}

.modal_item .btn {
  position: relative;
  display: block;
  padding: 15px 30px;
  background-color: #e8e8e8;
  border-radius: 10px;
  text-decoration: none;
  color: #fff;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 500;
  transition: opacity 0.3s ease;
}
.modal_item .btn::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.modal_item .btn:hover,
.modal_item .btn:visited:hover {
  opacity: 0.7;
  color: #fff;
}
.modal_item .btn__01 {
  background-color: #2FBA91;
}
.modal_item .btn__02 {
  background-color: #3083B7;
}

@media (min-width: 768px) {
  .modal_content {
    min-height: 300px;
    display: grid;
    place-items: center;
  }
  .modal_ttl {
    margin-bottom: 30px;
  }
  .modal_list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 25px;
  }
  .modal_list > li {
    width: calc((100% - 25px) / 2);
  }
}