@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap");
/* constant */
:root {
  --size-5: calc(5 / 750 * 100vw);
  --size-10: calc(10 / 750 * 100vw);
  --size-15: calc(15 / 750 * 100vw);
  --size-20: calc(20 / 750 * 100vw);
  --size-25: calc(25 / 750 * 100vw);
  --size-30: calc(30 / 750 * 100vw);
  --size-35: calc(35 / 750 * 100vw);
  --size-40: calc(40 / 750 * 100vw);
  --size-45: calc(45 / 750 * 100vw);
  --size-50: calc(50 / 750 * 100vw);
  --size-55: calc(55 / 750 * 100vw);
  --size-60: calc(60 / 750 * 100vw);
  --size-65: calc(65 / 750 * 100vw);
  --size-70: calc(70 / 750 * 100vw);
  --size-75: calc(75 / 750 * 100vw);
  --size-80: calc(80 / 750 * 100vw);
  --size-85: calc(85 / 750 * 100vw);
  --size-90: calc(90 / 750 * 100vw);
  --size-95: calc(95 / 750 * 100vw);
  --size-100: calc(100 / 750 * 100vw);
  --size-105: calc(105 / 750 * 100vw);
  --size-110: calc(110 / 750 * 100vw);
  --size-115: calc(115 / 750 * 100vw);
  --size-120: calc(120 / 750 * 100vw);
  --size-125: calc(125 / 750 * 100vw);
  --size-130: calc(130 / 750 * 100vw);
  --size-135: calc(135 / 750 * 100vw);
  --size-140: calc(140 / 750 * 100vw);
  --size-145: calc(145 / 750 * 100vw);
  --size-150: calc(150 / 750 * 100vw);
  --size-155: calc(155 / 750 * 100vw);
  --size-160: calc(160 / 750 * 100vw);
  --size-165: calc(165 / 750 * 100vw);
  --size-170: calc(170 / 750 * 100vw);
  --size-175: calc(175 / 750 * 100vw);
  --size-180: calc(180 / 750 * 100vw);
  --size-185: calc(185 / 750 * 100vw);
  --size-190: calc(190 / 750 * 100vw);
  --size-195: calc(195 / 750 * 100vw);
  --size-200: calc(200 / 750 * 100vw);
  --size-205: calc(205 / 750 * 100vw);
  --size-210: calc(210 / 750 * 100vw);
  --size-215: calc(215 / 750 * 100vw);
  --size-220: calc(220 / 750 * 100vw);
  --size-225: calc(225 / 750 * 100vw);
  --size-230: calc(230 / 750 * 100vw);
  --size-235: calc(235 / 750 * 100vw);
  --size-240: calc(240 / 750 * 100vw);
  --size-245: calc(245 / 750 * 100vw);
  --size-250: calc(250 / 750 * 100vw);
  --size-255: calc(255 / 750 * 100vw);
  --size-260: calc(260 / 750 * 100vw);
  --size-265: calc(265 / 750 * 100vw);
  --size-270: calc(270 / 750 * 100vw);
  --size-275: calc(275 / 750 * 100vw);
  --size-280: calc(280 / 750 * 100vw);
  --size-285: calc(285 / 750 * 100vw);
  --size-290: calc(290 / 750 * 100vw);
  --size-295: calc(295 / 750 * 100vw);
  --size-300: calc(300 / 750 * 100vw);
  --size-305: calc(305 / 750 * 100vw);
  --size-310: calc(310 / 750 * 100vw);
  --size-315: calc(315 / 750 * 100vw);
  --size-320: calc(320 / 750 * 100vw);
  --size-325: calc(325 / 750 * 100vw);
  --size-330: calc(330 / 750 * 100vw);
  --size-335: calc(335 / 750 * 100vw);
  --size-340: calc(340 / 750 * 100vw);
  --size-345: calc(345 / 750 * 100vw);
  --size-350: calc(350 / 750 * 100vw);
  --size-355: calc(355 / 750 * 100vw);
  --size-360: calc(360 / 750 * 100vw);
  --size-365: calc(365 / 750 * 100vw);
  --size-370: calc(370 / 750 * 100vw);
  --size-375: calc(375 / 750 * 100vw);
  --size-380: calc(380 / 750 * 100vw);
  --size-385: calc(385 / 750 * 100vw);
  --size-390: calc(390 / 750 * 100vw);
  --size-395: calc(395 / 750 * 100vw);
  --size-400: calc(400 / 750 * 100vw);
  --size-405: calc(405 / 750 * 100vw);
  --size-410: calc(410 / 750 * 100vw);
  --size-415: calc(415 / 750 * 100vw);
  --size-420: calc(420 / 750 * 100vw);
  --size-425: calc(425 / 750 * 100vw);
  --size-430: calc(430 / 750 * 100vw);
  --size-435: calc(435 / 750 * 100vw);
  --size-440: calc(440 / 750 * 100vw);
  --size-445: calc(445 / 750 * 100vw);
  --size-450: calc(450 / 750 * 100vw);
  --size-455: calc(455 / 750 * 100vw);
  --size-460: calc(460 / 750 * 100vw);
  --size-465: calc(465 / 750 * 100vw);
  --size-470: calc(470 / 750 * 100vw);
  --size-475: calc(475 / 750 * 100vw);
  --size-480: calc(480 / 750 * 100vw);
  --size-485: calc(485 / 750 * 100vw);
  --size-490: calc(490 / 750 * 100vw);
  --size-495: calc(495 / 750 * 100vw);
  --size-500: calc(500 / 750 * 100vw);
}

@media screen and (min-width: 1024px) {
  :root {
    --size-5: 5px;
    --size-10: 10px;
    --size-15: 15px;
    --size-20: 20px;
    --size-25: 25px;
    --size-30: 30px;
    --size-35: 35px;
    --size-40: 40px;
    --size-45: 45px;
    --size-50: 50px;
    --size-55: 55px;
    --size-60: 60px;
    --size-65: 65px;
    --size-70: 70px;
    --size-75: 75px;
    --size-80: 80px;
    --size-85: 85px;
    --size-90: 90px;
    --size-95: 95px;
    --size-100: 100px;
    --size-105: 105px;
    --size-110: 110px;
    --size-115: 115px;
    --size-120: 120px;
    --size-125: 125px;
    --size-130: 130px;
    --size-135: 135px;
    --size-140: 140px;
    --size-145: 145px;
    --size-150: 150px;
    --size-155: 155px;
    --size-160: 160px;
    --size-165: 165px;
    --size-170: 170px;
    --size-175: 175px;
    --size-180: 180px;
    --size-185: 185px;
    --size-190: 190px;
    --size-195: 195px;
    --size-200: 200px;
    --size-205: 205px;
    --size-210: 210px;
    --size-215: 215px;
    --size-220: 220px;
    --size-225: 225px;
    --size-230: 230px;
    --size-235: 235px;
    --size-240: 240px;
    --size-245: 245px;
    --size-250: 250px;
    --size-255: 255px;
    --size-260: 260px;
    --size-265: 265px;
    --size-270: 270px;
    --size-275: 275px;
    --size-280: 280px;
    --size-285: 285px;
    --size-290: 290px;
    --size-295: 295px;
    --size-300: 300px;
    --size-305: 305px;
    --size-310: 310px;
    --size-315: 315px;
    --size-320: 320px;
    --size-325: 325px;
    --size-330: 330px;
    --size-335: 335px;
    --size-340: 340px;
    --size-345: 345px;
    --size-350: 350px;
    --size-355: 355px;
    --size-360: 360px;
    --size-365: 365px;
    --size-370: 370px;
    --size-375: 375px;
    --size-380: 380px;
    --size-385: 385px;
    --size-390: 390px;
    --size-395: 395px;
    --size-400: 400px;
    --size-405: 405px;
    --size-410: 410px;
    --size-415: 415px;
    --size-420: 420px;
    --size-425: 425px;
    --size-430: 430px;
    --size-435: 435px;
    --size-440: 440px;
    --size-445: 445px;
    --size-450: 450px;
    --size-455: 455px;
    --size-460: 460px;
    --size-465: 465px;
    --size-470: 470px;
    --size-475: 475px;
    --size-480: 480px;
    --size-485: 485px;
    --size-490: 490px;
    --size-495: 495px;
    --size-500: 500px;
  }
}
/* reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

address {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}

/* border-box */
*, *:before, *:after {
  box-sizing: border-box;
}

/* common */
html, body {
  height: 100%;
}

html {
  font-size: 62.5%;
}

body {
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.5;
  word-wrap: break-word;
  -webkit-text-size-adjust: none;
}

h1, h2, h3, h4, h5, h6,
table th {
  font-weight: 600;
}

a,
._hover {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

img {
  width: 100%;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
}

._pcOnly {
  display: block;
}

._spOnly {
  display: none;
}

@media screen and (max-width: 767px) {
  ._pcOnly {
    display: none;
  }
  ._spOnly {
    display: block;
  }
}
.-disabled {
  pointer-events: none !important;
  opacity: 0.4 !important;
}

/* c_button */
.c_button {
  overflow: hidden;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(18.5714285714vw, 260px);
  height: min(3.5714285714vw, 50px);
  background-color: #005BAC;
  border: 1px solid #FFF;
  border-radius: min(2.3571428571vw, 33px);
  color: #FFF;
  font-size: min(1.1428571429vw, 1.6rem);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .c_button {
    width: 64vw;
    height: 12vw;
    border-radius: 5.8666666667vw;
    font-size: 3.4666666667vw;
  }
}
.c_button::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: 0.25s;
}
.c_button::after {
  content: "";
  position: absolute;
  right: min(1.0714285714vw, 15px);
  display: block;
  width: min(0.6428571429vw, 9px);
  height: min(0.5714285714vw, 8px);
  background-color: #FFF;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .c_button::after {
    width: 1.7333333333vw;
    height: 1.6vw;
    right: 4vw;
  }
}
.c_button:hover {
  border: 1px solid #005BAC;
  color: #005BAC;
}
.c_button:hover::before {
  transform: scale(1, 1);
}
.c_button:hover::after {
  background-color: #005BAC;
}
.c_button.-left_triangle::after {
  right: auto;
  left: min(1.0714285714vw, 15px);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
@media screen and (max-width: 767px) {
  .c_button.-left_triangle::after {
    right: auto;
    left: 4vw;
  }
}
.c_button.-w430 {
  width: min(30.7142857143vw, 430px);
}
@media screen and (max-width: 767px) {
  .c_button.-w430 {
    width: 89.3333333333vw !important;
  }
}
.c_button.-entry {
  position: relative;
  width: min(34.2857142857vw, 480px);
  height: min(7.1428571429vw, 100px);
  border-radius: 0;
  font-size: min(1.3571428571vw, 1.9rem);
}
@media screen and (max-width: 767px) {
  .c_button.-entry {
    width: 100%;
    height: 17.3333333333vw;
    font-size: 4.8vw;
  }
}
.c_button.-entry::before {
  display: none;
}
.c_button.-entry::after {
  display: none;
}
.c_button.-entry .c_circle {
  position: absolute;
  right: min(1.7857142857vw, 25px);
}
@media screen and (max-width: 767px) {
  .c_button.-entry .c_circle {
    right: 4.6666666667vw;
  }
}
.c_button.-entry:hover {
  background-color: #FFF;
  color: #005BAC;
}
.c_button.-center {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c_button.-sp_center {
    margin: 0 auto;
  }
}
.c_button__entry {
  display: none;
}
@media screen and (max-width: 767px) {
  .c_button__entry {
    display: flex;
    justify-content: center;
    gap: 0 1.3333333333vw;
    width: 72.8vw;
    border-radius: 2.1333333333vw;
    font-size: 4.1333333333vw;
  }
  .c_button__entry::after {
    display: none;
  }
  .c_button__entry svg {
    width: 4.5333333333vw;
    height: 0.8666666667vw;
    margin: 0;
  }
  .c_button__entry svg [data-name=-arrow] {
    stroke: #FFF;
  }
  .c_button__entry:hover svg [data-name=-arrow] {
    stroke: #005BAC;
  }
}

/* c_circle */
.c_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(2.5vw, 35px);
  height: min(2.5vw, 35px);
  background-color: #FFFFFF;
  border-radius: 50%;
  transition: 0.25s ease;
}
@media screen and (max-width: 767px) {
  .c_circle {
    width: 7.0666666667vw;
    height: 7.0666666667vw;
  }
}
.c_circle.-right::before {
  content: "";
  display: block;
  width: min(0.6428571429vw, 9px);
  height: min(0.5714285714vw, 8px);
  margin-left: min(0.1428571429vw, 2px);
  background-color: #C4C4C4;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .c_circle.-right::before {
    width: 1.6vw;
    height: 1.4666666667vw;
    margin-left: 0.2666666667vw;
  }
}
.c_circle.-right.-line {
  border: 1px solid #C4C4C4;
}
.c_circle.-bottom::before {
  content: "";
  display: block;
  width: min(0.6428571429vw, 9px);
  height: min(0.5714285714vw, 8px);
  margin-top: min(0.1428571429vw, 2px);
  background-color: #C4C4C4;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
@media screen and (max-width: 767px) {
  .c_circle.-bottom::before {
    width: 1.6vw;
    height: 1.4666666667vw;
    margin-top: 0.2666666667vw;
  }
}
.c_circle.-blue {
  background-color: #005BAC;
  border: 1px solid #FFF;
}
.c_circle.-blue::before {
  background-color: #FFF;
}
@media screen and (max-width: 767px) {
  .c_circle.-sp_blue {
    background-color: #005BAC;
    border: 1px solid #FFF;
  }
  .c_circle.-sp_blue::before {
    background-color: #FFF;
  }
}
a:hover .c_circle {
  background-color: #005BAC;
}
a:hover .c_circle::before {
  background-color: #FFFFFF;
}
a:hover .c_circle.-line {
  border-color: #005BAC;
}

/* c_page_top */
.c_page_top {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: min(1.1428571429vw, 1.6rem);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .c_page_top {
    font-size: 4vw;
  }
}
.c_page_top::before {
  content: "";
  display: block;
  color: #333;
  width: min(1.7857142857vw, 25px);
  height: min(1.7857142857vw, 25px);
  border: min(0.2142857143vw, 3px) solid #262626;
  border-left: 0;
  border-bottom: 0;
  transform: translateY(25%) rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .c_page_top::before {
    width: 5.8666666667vw;
    height: 5.8666666667vw;
    border: 0.4vw solid #262626;
    border-left: 0;
    border-bottom: 0;
  }
}
.c_page_top:hover {
  color: #005BAC;
}
.c_page_top:hover::before {
  border-color: #005BAC;
}

.c_head_floating_entry {
  position: fixed;
  top: min(2.2727272727vw, 25px);
  right: min(2.2727272727vw, 25px);
  width: min(10.9090909091vw, 120px);
  height: min(10.9090909091vw, 120px);
  z-index: var(--c_head_floating_entry);
}
@media screen and (max-width: 767px) {
  .c_head_floating_entry {
    top: auto;
    bottom: 3.3333333333vw;
    right: 5.3333333333vw;
    width: 22vw;
    height: 22vw;
  }
}
.c_head_floating_entry a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: #005BAC;
  border: 1px solid #FFF;
  border-radius: min(1.1428571429vw, 16px);
  color: #FFF;
  transition: 0.25s ease;
}
.c_head_floating_entry a p {
  font-weight: 600;
  line-height: 1;
}
.c_head_floating_entry a p.-en {
  font-size: min(1.8181818182vw, 2rem);
}
@media screen and (max-width: 767px) {
  .c_head_floating_entry a p.-en {
    font-size: 4vw;
  }
}
.c_head_floating_entry a p.-ja {
  font-size: min(0.9090909091vw, 1rem);
}
@media screen and (max-width: 767px) {
  .c_head_floating_entry a p.-ja {
    font-size: 2.1333333333vw;
  }
}
.c_head_floating_entry a svg {
  width: 24.11px;
  height: 6.626px;
  margin: 10px auto;
}
@media screen and (max-width: 767px) {
  .c_head_floating_entry a svg {
    width: 4.5333333333vw;
    height: 0.8666666667vw;
  }
}
.c_head_floating_entry a svg [data-name=-arrow] {
  stroke: #FFF;
}
.c_head_floating_entry a:hover {
  background-color: #FFF;
  border: 1px solid #005BAC;
  color: #005BAC;
}
.c_head_floating_entry a:hover svg [data-name=-arrow] {
  stroke: #005BAC;
}

.c_title .l_inner {
  width: 100%;
  margin: 0 auto min(5.7142857143vw, 80px) auto;
  padding: min(7.8571428571vw, 110px) 0 min(5.3571428571vw, 75px) 0;
  background-color: #005BAC;
  border-radius: min(3.5714285714vw, 50px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner {
    margin: 0 auto 9.3333333333vw auto;
    padding: 9.3333333333vw 0 7.3333333333vw 0;
    border-radius: 4.8vw;
  }
}
.c_title .l_inner .en {
  margin: 0 auto min(1.4285714286vw, 20px) auto;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .c_title .l_inner .en {
    margin: 0 auto 2.4vw auto;
  }
}
.c_title .l_inner .ja {
  color: #FFF;
  font-size: min(1.4285714286vw, 2rem);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c_title .l_inner .ja {
    font-size: 4.6666666667vw;
  }
}
.c_title .l_inner.-company .en {
  width: min(19.2142857143vw, 269px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-company .en {
    width: 36vw;
  }
}
.c_title .l_inner.-career {
  margin: 0 auto;
}
.c_title .l_inner.-career .en {
  width: min(22.2142857143vw, 311px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-career .en {
    width: 41.6vw;
  }
}
.c_title .l_inner.-job_description {
  margin: 0 auto;
}
.c_title .l_inner.-job_description .en {
  width: min(53.7142857143vw, 752px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-job_description .en {
    width: 89.3333333333vw;
  }
}
.c_title .l_inner.-crosstalk {
  margin: 0 auto min(6.4285714286vw, 90px) auto;
}
.c_title .l_inner.-crosstalk .en {
  width: min(50.7142857143vw, 710px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-crosstalk .en {
    width: 89.3333333333vw;
  }
}
.c_title .l_inner.-workplace {
  margin: 0 auto;
}
.c_title .l_inner.-workplace .en {
  width: min(50.5714285714vw, 708px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-workplace .en {
    width: 89.3333333333vw;
  }
}
.c_title .l_inner.-interview {
  margin: 0 auto min(4.2857142857vw, 60px) auto;
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-interview {
    margin: 0 auto 10vw auto;
  }
}
.c_title .l_inner.-interview .en {
  width: min(46.0714285714vw, 645px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-interview .en {
    width: 86vw;
  }
}
.c_title .l_inner.-interview.-single {
  margin: 0 auto min(6.4285714286vw, 90px) auto;
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-interview.-single {
    margin: 0 auto;
  }
}
.c_title .l_inner.-new_graduates {
  margin: 0 auto;
}
.c_title .l_inner.-new_graduates .en {
  width: min(44.7142857143vw, 626px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-new_graduates .en {
    width: 83.4666666667vw;
  }
}
.c_title .l_inner.-news {
  margin: 0 auto min(2.5vw, 35px) auto;
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-news {
    margin: 0 auto;
  }
}
.c_title .l_inner.-news .en {
  width: min(11.1428571429vw, 156px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-news .en {
    width: 20.8vw;
  }
}
.c_title .l_inner.-news.-single {
  margin: 0 auto min(7.8571428571vw, 110px) auto;
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-news.-single {
    margin: 0 auto 10vw auto;
  }
}
.c_title .l_inner.-entry {
  margin: 0 auto min(10.7142857143vw, 150px) auto;
}
.c_title .l_inner.-entry .en {
  width: min(12.7142857143vw, 178px);
}
@media screen and (max-width: 767px) {
  .c_title .l_inner.-entry .en {
    width: 23.7333333333vw;
  }
}

:root {
  --header-h: 64px;
  --header: 100;
  --header-reveal-zone: 101;
  --c_head_floating_entry: 102;
  --c_head_gnv: 103;
  --c_header-hamburger-menu: 104;
}

/* header-reveal-zone */
.header-reveal-zone {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 20px;
  z-index: var(--header-reveal-zone);
  pointer-events: auto;
}
@media screen and (max-width: 1024px) {
  .header-reveal-zone {
    display: none !important;
  }
}

/* header-offset */
.header-offset {
  height: 0;
}
.at-top .header-offset {
  height: calc(var(--header-h) + env(safe-area-inset-top, 0px));
}
@media screen and (max-width: 1024px) {
  .header-offset {
    display: none;
  }
}

/* header */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(calc(-100% - env(safe-area-inset-top, 0px)));
  transition: transform 0.25s ease, opacity 0.25s ease;
  background-color: #FFF;
  z-index: var(--header);
}
.at-top .header, .is-header-visible .header {
  transform: translateY(0);
}
@media screen and (max-width: 1024px) {
  .header {
    position: static;
    transform: none;
  }
}
.header .l_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: min(1.4285714286vw, 20px) min(3.9285714286vw, 55px);
}
@media screen and (max-width: 767px) {
  .header .l_inner {
    padding: 4vw 5.3333333333vw;
  }
}
.header .l_inner .c_head_logo {
  width: min(11.5714285714vw, 162px);
  height: auto;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .header .l_inner .c_head_logo {
    width: 26.6666666667vw;
  }
}
.header .l_inner .c_head_gnv {
  display: block;
  margin: 0 min(11.8181818182vw, 130px) 0 0;
}
@media screen and (max-width: 767px) {
  .header .l_inner .c_head_gnv {
    display: none;
  }
}
.header .l_inner .c_head_gnv .logo {
  display: none;
}
@media screen and (max-width: 767px) {
  .header .l_inner .c_head_gnv .logo {
    display: block;
  }
}
.header .l_inner .c_head_gnv ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: auto;
  gap: 0 min(2.1428571429vw, 40px);
}
.header .l_inner .c_head_gnv ul li a {
  position: relative;
  display: flex;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 600;
}
@media screen and (max-width: 1400px) {
  .header .l_inner .c_head_gnv ul li a {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1300px) {
  .header .l_inner .c_head_gnv ul li a {
    font-size: 1.35rem;
  }
}
@media screen and (max-width: 1200px) {
  .header .l_inner .c_head_gnv ul li a {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 1100px) {
  .header .l_inner .c_head_gnv ul li a {
    font-size: min(1.0909090909vw, 1.2rem);
  }
}
.header .l_inner .c_head_gnv ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  width: 100%;
  height: 2px;
  background: #005BAC;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;
  pointer-events: none;
}
.header .l_inner .c_head_gnv ul li a:hover::after {
  transform: scaleX(1);
}
.header .l_inner .c_head_gnv ul li a.-active::after {
  transform: scaleX(1);
}
@media screen and (max-width: 767px) {
  .header .l_inner .c_head_gnv.is-open {
    display: block;
    position: fixed;
    overflow-y: auto;
    top: 0;
    left: 0;
    z-index: var(--c_head_gnv);
    width: 100%;
    height: 100vh;
    margin: 0;
    background-color: #FFF;
  }
  .header .l_inner .c_head_gnv.is-open .logo {
    width: 22.5333333333vw;
    margin-top: 4.4vw;
    margin-left: 5.3333333333vw;
    margin-bottom: 10.6666666667vw;
    line-height: 0;
  }
  .header .l_inner .c_head_gnv.is-open ul {
    align-items: flex-start;
    flex-direction: column;
    width: 72.8vw;
    margin: 0 auto 8vw auto;
  }
  .header .l_inner .c_head_gnv.is-open ul li {
    width: 100%;
    border-top: 1px solid #CCC4C4;
  }
  .header .l_inner .c_head_gnv.is-open ul li a {
    padding: 4vw 0;
    font-size: 4.5333333333vw;
    text-align: left;
  }
  .header .l_inner .c_head_gnv.is-open ul li a::after {
    display: none;
  }
}
.header .l_inner .c_header-hamburger-menu {
  display: none;
}
@media screen and (max-width: 767px) {
  .header .l_inner .c_header-hamburger-menu {
    display: block;
    position: fixed;
    right: 5.3333333333vw;
    top: 4vw;
    width: 8vw;
    height: 8vw;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 1.3333333333vw;
    cursor: pointer;
    z-index: var(--c_header-hamburger-menu);
  }
  .header .l_inner .c_header-hamburger-menu span {
    position: absolute;
    background-color: #333333;
    width: 4.6666666667vw;
    height: 2px;
    transition: all 0.4s ease-in-out;
  }
  .header .l_inner .c_header-hamburger-menu span:nth-of-type(1) {
    top: 3.0666666667vw;
    left: 1.6vw;
  }
  .header .l_inner .c_header-hamburger-menu span:nth-of-type(2) {
    bottom: 3.0666666667vw;
    left: 1.6vw;
  }
  .header .l_inner .c_header-hamburger-menu.active span:nth-of-type(1) {
    transform: translateY(0.6666666667vw) rotate(-35deg);
  }
  .header .l_inner .c_header-hamburger-menu.active span:nth-of-type(2) {
    transform: translateY(-0.6666666667vw) rotate(35deg);
  }
}

/* page_top */
.page_top {
  margin-bottom: min(4.2857142857vw, 60px);
}
@media screen and (max-width: 767px) {
  .page_top {
    margin-bottom: 14.6666666667vw;
  }
}

/* foot_cta */
@media screen and (max-width: 767px) {
  .foot_cta .l_inner {
    padding: 0 5.3333333333vw;
  }
}
.foot_cta .l_inner ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .foot_cta .l_inner ul {
    flex-direction: column;
    gap: 7.3333333333vw 0;
  }
}
.foot_cta .l_inner ul li {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .foot_cta .l_inner ul li {
    width: 100%;
  }
}
.foot_cta .l_inner ul li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min(10vw, 140px);
  padding: 0 min(3.5714285714vw, 50px);
  transition: 0.25s ease;
}
@media screen and (max-width: 767px) {
  .foot_cta .l_inner ul li a {
    height: 17.3333333333vw;
    padding: 0 5.3333333333vw;
  }
}
.foot_cta .l_inner ul li a p {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #FFF;
  font-size: min(1.7142857143vw, 2.4rem);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .foot_cta .l_inner ul li a p {
    font-size: 4.8vw;
  }
}
.foot_cta .l_inner ul li a p span {
  margin-top: min(0.7142857143vw, 10px);
  font-size: min(1.0714285714vw, 1.5rem);
  text-box: trim-both cap alphabetic;
}
@media screen and (max-width: 767px) {
  .foot_cta .l_inner ul li a p span {
    font-size: 2.6666666667vw;
  }
}
.foot_cta .l_inner ul li a .c_circle {
  position: absolute;
  right: min(3.5714285714vw, 50px);
}
.foot_cta .l_inner ul li a.button_recruitment {
  background-color: #8EA5B7;
  border: 3px solid #8EA5B7;
}
.foot_cta .l_inner ul li a.button_entry {
  background-color: #005BAC;
  border: 3px solid #005BAC;
}
.foot_cta .l_inner ul li a:hover p {
  color: #005BAC;
}
.foot_cta .l_inner ul li a:hover.button_recruitment {
  background-color: #FFF;
}
.foot_cta .l_inner ul li a:hover.button_entry {
  background-color: #FFF;
}

/* footer */
.footer .l_inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: min(77.1428571429vw, 1080px);
  margin: 0 auto;
  padding: min(5.3571428571vw, 75px) 0;
}
@media screen and (max-width: 767px) {
  .footer .l_inner {
    flex-direction: column-reverse;
    width: 100%;
    padding: 20vw 5.3333333333vw 6.6666666667vw 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .footer .l_inner .logo {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    line-height: 1;
  }
}
.footer .l_inner .logo figure {
  width: min(11.4285714286vw, 160px);
}
@media screen and (max-width: 767px) {
  .footer .l_inner .logo figure {
    display: flex;
    align-items: flex-end;
    width: 62.6666666667vw;
    line-height: 0;
  }
}
@media screen and (max-width: 767px) {
  .footer .l_inner .logo figure img {
    width: 29.3333333333vw;
  }
}
.footer .l_inner .logo figure figcaption {
  margin-top: min(1.4285714286vw, 20px);
  margin-bottom: min(1.0714285714vw, 15px);
  font-size: min(1vw, 1.4rem);
  font-weight: 500;
  text-box: trim-both cap alphabetic;
}
@media screen and (max-width: 767px) {
  .footer .l_inner .logo figure figcaption {
    margin-left: auto;
    margin-bottom: 0;
    font-size: 2.9333333333vw;
  }
}
.footer .l_inner .logo .copyright {
  font-size: min(0.7142857143vw, 1rem);
  font-weight: 500;
  text-box: trim-both cap alphabetic;
}
@media screen and (max-width: 767px) {
  .footer .l_inner .logo .copyright {
    margin-left: auto;
    font-size: 2.9333333333vw;
  }
}
.footer .l_inner ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: min(1.0714285714vw, 15px) 0;
  width: min(51.4285714286vw, 720px);
}
@media screen and (max-width: 767px) {
  .footer .l_inner ul {
    gap: 4.6666666667vw 0;
    width: 100%;
    margin-bottom: 10.6666666667vw;
  }
}
.footer .l_inner ul li {
  width: 25%;
}
@media screen and (max-width: 767px) {
  .footer .l_inner ul li {
    width: 50%;
  }
}
.footer .l_inner ul li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 min(0.7142857143vw, 10px);
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .footer .l_inner ul li a {
    gap: 0 2.6666666667vw;
  }
}
.footer .l_inner ul li a p {
  font-size: min(1vw, 1.4rem);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: min(0.2857142857vw, 4px);
}
@media screen and (max-width: 767px) {
  .footer .l_inner ul li a p {
    font-size: 2.9333333333vw;
  }
}
.footer .l_inner ul li a::before {
  content: "";
  display: block;
  width: min(0.6428571429vw, 9px);
  height: min(0.5714285714vw, 8px);
  margin: 0 3px;
  background-color: #000;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .footer .l_inner ul li a::before {
    width: 2.4vw;
    height: 2.1333333333vw;
    margin: 0 0.8vw;
  }
}
.footer .l_inner ul li a:hover p {
  text-decoration: none;
}
.footer .l_inner ul li.-top {
  width: 100%;
}
.footer .l_inner ul li.-top a::before {
  width: min(1.0714285714vw, 15px);
  height: min(1.0714285714vw, 15px);
  margin: 0;
  background-color: transparent;
  background-image: url(../images/cmn/icn_home.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  clip-path: none;
}
@media screen and (max-width: 767px) {
  .footer .l_inner ul li.-top a::before {
    width: 4vw;
    height: 4vw;
  }
}
/*# sourceMappingURL=style.css.map */
