@charset "utf-8";

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

	グローバル

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

body { font-size: 0.9em;}

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}
.ta_center-s_left { text-align: left;}

.hidden_s { display: none !important;}

.mb40-20 { margin-bottom: 20px !important;}
.mb60-30, .mb50-30 { margin-bottom: 30px !important;}
.mb80-40 { margin-bottom: 40px !important;}
.mb100-60 { margin-bottom: 60px !important;}
.mb120-60 { margin-bottom: 60px !important;}
.mb120-80, .mb160-80 { margin-bottom: 80px !important;}
.mb250-100 { margin-bottom: 100px !important;}

.mt40-20 { margin-top: 20px !important;}

/* ------------------------
	ヘッダー
------------------------ */

.rec_header { width: calc(100% - 50px); align-items: flex-start; font-size: min(3.5vw,1em); height: 50px;}
.rec_header .box01 { flex-flow: column-reverse; gap: 0.5em;}
.rec_header .lang { position: absolute; bottom: -2em; right: -2.6em;}
.rec_header h1 { width: calc(100% - 12em); padding-top: 0.5em;}
.rec_header h1 img { max-width: 189px; width: 100%;}
.rec_header .list01 a { height: 50px; font-size: 0.8em;}

.humberger { width: 50px; height: 50px;}
.humberger span { left: 9px; width: 30px;}
.humberger span:nth-of-type(1) { top: 9px;}
.humberger span:nth-of-type(2) { top: 17px;}
.humberger span:nth-of-type(3) { top: 25px;}
.humberger:after { bottom: 1px; font-size: 10px;}
.is-open .humberger span:nth-of-type(1) {transform: translateY(6px) rotate(-45deg);}
.is-open .humberger span:nth-of-type(2) { opacity: 0;}
.is-open .humberger span:nth-of-type(3) { transform: translateY(-10px) rotate(45deg);}

.sp-navi .sp-navi-inner { font-size: 1em; background-size: 90% auto; background-position: right 80%;}
.sp-navi .box01 { flex-flow: column; align-items: center; padding-top: 15%; gap: 40px;}
.sp-navi .box_inner03 { width: auto;}
.sp-navi .list01, .sp-navi .list02 { display: flex; justify-content: center; gap: 1.5em;}

.clone-nav { padding: 0;}

@media only screen and (max-width: 480px) {
  .sp-navi .sp-navi-inner { background-image: none;}
  .sp-navi .box_inner02 { flex-flow: column; gap: 1em;}
  .sp-navi .footer_nav ul { gap: 1em;}
  
  .sp-navi .list01 { flex-flow: column; gap: 0;}
}


/* ------------------------
	フッター
------------------------ */

.footer .btn_area a { background-position: calc(50% + 5.5em) calc(50% + 1.3em), calc(100% + 1.8em) calc(100% - 3.2em), -2.5em 100%; background-size: 2.5em auto, 34% auto, 32% auto; font-size: min(5vw,2em); padding: 2.5em 1em;}

.footer_nav { gap: 1.5em; font-size: min(3.2vw,1em);}

.footer .box_inner03 { width: 100%; margin: 0; display: flex; justify-content: center;}

@media only screen and (max-width: 640px) {
  .footer .copy { margin-top: 100px;}
  .pagetop { padding-bottom: 60px;}
}


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

	トップページ

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

.top_mainimage { padding-top: 18%;}
.top_mainimage .bg01 { background-image: url("../images/recruit/top/main_bg01_sp.svg"); padding: 29% 0 0; background-size: 190% auto;}
.top_mainimage .bg01 .text01 { padding: 0; margin: 0 -2%;}
.hand_box { margin-top: 15%;}
.top_mainimage .scroll { width: 7px;}

.slide01 { top: -22%; left: -1%; width: 36%;}
.slide02 { top: -18%; right: 5%; width: 33%;}
.slide02 .blur01 img { width: 70%;}
.slide03 { top: 28%; left: 2%; width: 32%;}
.slide03 .blur01 { right: auto; left: -50%;}
.slide03 .blur01 img { width: 70%;}
.slide04 { top: 26%;}
.slide04 .star01 { bottom: -9em; right: -1em; width: 25%;}
.slide04 .blur01 img { width: 70%;}

.top_mainimage .bg02 { margin-top: -15%; padding-bottom: 10%; background-position: 3% bottom}
.top_mainimage .bg02 .cont1000 { font-size: min(3.3vw,0.95em);}
.top_mainimage .bg02 .blur01 img { width: 130%;}

.top_heading { font-size: min(9vw,2em);}
.top_en { margin-top: -15px;}

.top_sec01:before { width: 90%; top: calc(100% - 2%); left: 30%;}
.top_sec01 .box01 { flex-flow: column; gap: 30px; padding: 40px 30px;}
.top_sec01 .ttl_box { display: flex; justify-content: space-between; align-items: flex-end; margin-left: -1em;}
.top_sec01 .top_en { font-size: 4em; margin: -25px 0 0 !important;}
.top_sec01 .btn_area { margin-top: -4em;}

.top_sec02:before { width: 38%; bottom: -8%; left: -3%;}
.top_sec02 th { width: 6.5em;}

.top_sec04 .list01 li { width: 100%; max-width: 530px; margin: auto;}
.top_sec04 .list01 li figure { padding: 0 5% 0 12%;}
.top_sec04 .list01 .text01 { font-size: min(5vw,1.8em); top: 0.8em;}

@media (max-width: 640px) {
  .top_mainimage { padding-top: 28%;}
  .top_mainimage .bg02 .cont1000 { flex-flow: column; align-items: flex-start;}
  .top_mainimage .bg02 .img01 { align-self: flex-end; margin-top: -2em; width: 13em;}
  .top_mainimage .bg02 .star01 { top: -2em; right: 2em; width: 2em;}

  .top_sec01 article { flex-flow: column; gap: 0.5em; align-items: flex-start; }

  .oc_list { gap: 30px;}
  .oc_list li { width: 100%; max-width: 400px; margin: auto;}
  .oc_list .text_box h3 { font-size: min(8vw,2em);}
  
  .top_sec04:before { bottom: calc(100% - 9em);}

  .top_sec05 section:nth-of-type(1) .wrap { background-image: url("../images/recruit/top/top_sec05_bg01_sp.jpg"); background-image: image-set(url("../images/recruit/top/top_sec05_bg01_sp.webp") 1x, url("../images/recruit/top/top_sec05_bg01_sp@2x.webp") 2x);}
  .top_sec05 section:nth-of-type(2) .wrap { background-image: url("../images/recruit/top/top_sec05_bg02_sp.jpg"); background-image: image-set(url("../images/recruit/top/top_sec05_bg02_sp.webp") 1x, url("../images/recruit/top/top_sec05_bg02_sp@2x.webp") 2x);}
  .top_sec05 section:nth-of-type(3) .wrap { background-image: url("../images/recruit/top/top_sec05_bg03_sp.jpg"); background-image: image-set(url("../images/recruit/top/top_sec05_bg03_sp.webp") 1x, url("../images/recruit/top/top_sec05_bg03_sp@2x.webp") 2x);}
  .top_sec05 section:nth-of-type(4) .wrap { background-image: url("../images/recruit/top/top_sec05_bg04_sp.jpg"); background-image: image-set(url("../images/recruit/top/top_sec05_bg04_sp.webp") 1x, url("../images/recruit/top/top_sec05_bg04_sp@2x.webp") 2x);}

  .top_sec05 .ttl_box { background-image: url("../images/recruit/top/top_sec05_bg01_sp.jpg");}
  .top_sec05 .sec02 .ttl_box { background-image: url("../images/recruit/top/top_sec05_bg02_sp.jpg");}
  .top_sec05 .sec03 .ttl_box { background-image: url("../images/recruit/top/top_sec05_bg03_sp.jpg");}
  .top_sec05 .sec04 .ttl_box { background-image: url("../images/recruit/top/top_sec05_bg04_sp.jpg");}

  .top_sec05 .sec01 .sec:nth-child(1) { margin-left: 1em;}
  .top_sec05 .sec01 .sec:nth-child(2) { margin: -1.5em 1em 0 auto;}
  .top_sec05 .sec01 .sec:nth-child(3) { margin-left: -1em;}
  .top_sec05 .sec01 .sec:nth-child(4) { margin: -3em 0 0 auto;}
  .top_sec05 .sec01 .sec:nth-child(5) { margin: -1em 0 0 1em;}
  .top_sec05 .sec01 .sec:nth-child(6) { margin: 0.3em 0 0 0.5em;}
  .top_sec05 .sec01 .sec:nth-child(7) { margin: -1em 0 0 auto;}
  .top_sec05 .sec01 .sec:nth-child(8) { margin: 0.5em 0 0 auto;}
  .top_sec05 .sec01 .sec:nth-child(9) { margin: -1.5em -0.5em 0 1em;}
  .top_sec05 .sec01 .sec:nth-child(10) { margin: -2em 0 0 1em; padding-bottom: 2em !important;}
  .top_sec05 .sec01 .sec:nth-child(11) { margin: 0.7em 0 0 auto;}
  .top_sec05 .sec01 .sec:nth-child(12) { margin: -1.5em 0 0 1.5em;}

  .top_sec05 .sec02 .sec:nth-child(2) { margin: 0 -1em 0 auto;}
  .top_sec05 .sec02 .sec:nth-child(3) { margin: -1.5em 0 0 -1em;}
  .top_sec05 .sec02 .sec:nth-child(4) { margin: 0 -1em 0 auto;}
  .top_sec05 .sec02 .sec:nth-child(5) { margin: -0.5em 0 0 0;}
  .top_sec05 .sec02 .sec:nth-child(6) { margin: -0.5em -1em 0 1em;}

  .top_sec05 .sec03 .sec:nth-child(1) { margin: 0 0 0 0.5em;}
  .top_sec05 .sec03 .sec:nth-child(2) { margin: -1em 0 0 auto;}
  .top_sec05 .sec03 .sec:nth-child(3) { margin: 0.3em 0 0 1em;}
  .top_sec05 .sec03 .sec:nth-child(4) { margin: -2em 0 0 auto;}
  .top_sec05 .sec03 .sec:nth-child(5) { margin: 0 0 0 -0.5em;}
  .top_sec05 .sec03 .sec:nth-child(6) { margin: -1.5em 0.5em 0 auto;}
  .top_sec05 .sec03 .sec:nth-child(7) { margin: 0.5em 0 0 0.5em;}
  .top_sec05 .sec03 .sec:nth-child(8) { margin: -1.5em 0 0 0;}

  .top_sec05 .sec04 .sec:nth-child(1) { margin: 0 0 0 -0.5em;}
  .top_sec05 .sec04 .sec:nth-child(2) { margin: -1.5em -0.5em 0 auto;}
  .top_sec05 .sec04 .sec:nth-child(3) { margin: 0.5em 0 0 0.5em;}
  .top_sec05 .sec04 .sec:nth-child(4) { margin: -1.5em -0.5em 0 auto;}
  .top_sec05 .sec04 .sec:nth-child(5) { margin: 0.5em 0 0 1em;}
  .top_sec05 .sec04 .sec:nth-child(6) { margin: -1.5em -1em 0 auto;}
  .top_sec05 .sec04 .sec:nth-child(7) { margin: -1em 0 0 0.5em;}
  .top_sec05 .sec04 .sec:nth-child(8) { margin: 1em 0 0 auto;}
  .top_sec05 .sec04 .sec:nth-child(9) { margin: -1.5em 0 0 -0.5em;}
  .top_sec05 .sec04 .sec:nth-child(10) { margin: -1.5em 1em 0 auto;}

  .translated-ltr .top_sec05 { font-size: 3.4vw;}
}

@media only screen and (max-width: 380px) {
  .top_sec01 .ttl_box { flex-flow: column; align-items: flex-start;}
  .top_sec01 .btn_area { margin-top: 0; align-self: flex-end;}
}


/* ------------------------
	occupation
------------------------ */

.oc_archive_pagettl { padding-top: 15%;}
.oc_archive_pagettl h1 { height: auto; padding: 12% 0; font-size: 2.3em;}


.oc_single_pagettl { padding: 120px 0 0;}
.oc_single_pagettl .box01 { flex-flow: column; gap: 40px; font-size: 0.9em;}
.oc_single_pagettl .box01 figure { width: 100%; padding-left: 14%;}
.oc_single_pagettl .box01 .box_inner { width: 100%; display: block; padding-left: 7%; padding-bottom: 10%;}
.oc_single_pagettl .box01 .box_inner:before { width: 95%; right: 35%;  bottom: -30px;}

.oc_sec01 h2 { font-size: min(7vw,1.8em);}

.bal_box { gap: 2em;}
.bal_box figure { width: 100px;}
.bal_box .box_inner { padding: 1.5em;}

.oc_single .bnr_area .text01 { font-size: min(5.5vw,2em);}
.oc_single .bnr_area .text01:before { left: -1em;}
.oc_single .bnr_area .text01:after { right: -1em;}

@media only screen and (max-width: 480px) {
  .oc_archive_pagettl { padding-top: 20%;}

  .bal_box figure { width: 85px;}
}


/* ------------------------
	interview
------------------------ */

.int_head { padding: 10% 10px 0;}
.int_head h1 { left: 10px; gap: 0.8em;}
.int_head h1 span { font-size: min(6vw,2em);}

.int_wrap { padding: 80px 20px;}
.int_wrap:before { width: 100%; max-width: 750px; bottom: calc(100% - 18%); left: 60%;}
.int_wrap:after  { width: 140%; right: 60%;}

.int_wrap .heading_back { font-size: min(5.5vw,1.5em); margin-bottom: 40px !important;}

.int_wrap h3:after { width: 3em; height: 3em; left: -0.5em;}

.int_wrap .head_text p { font-size: min(6vw,2em);}
.int_wrap .head_text.text_right .wp-block-group__inner-container { align-items: flex-end;}

.other_int_wrap .top_heading { font-size: min(6.8vw,2em); letter-spacing: 0;}
.other_int_wrap .list01 { flex-wrap: wrap; gap: 50px;}
.other_int_wrap .list01 li { width: 100%; max-width: 530px; margin: auto !important;}
.other_int_wrap .list01 li figure { padding: 0 5% 0 12%;}
.other_int_wrap .list01 .text01 { font-size: min(5vw,1.8em); top: 0.8em;}

@media only screen and (max-width: 480px) {
  .int_head { padding-top: 18vw;}

  .int_wrap:before { bottom: calc(100% - 13%);}
}


/* ------------------------
	entry
------------------------ */

.en_sec01 h2.fo20 { font-size: min(6.2vw,2em) !important;}

.en_bnr { padding: 20% 20px;}
.en_bnr:before, .en_bnr:after { width: 90%;}
.en_bnr:before { right: calc(50% + 20%);}
.en_bnr:after { left: calc(50% + 20%);}

.en_sec02 { padding: 60px 0;}
.en_sec02 .back_white { border-radius: 1.5em;}
.en_sec02 .back_white:before { border-radius: 1.6em;}

@media only screen and (max-width: 480px) {
  .contact_box .flex_wrap { flex-flow: column;}
}



