@charset "UTF-8";
/*
Theme Name: workHamada
Description: workHamada Template
Author: kashimura co.ltd..
*/
html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  font-size: max(3.75vw, 14px);
  line-height: 2;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.05em;
}

.in {
  margin: auto;
}

.in72 {
  width: 90%;
  margin: auto;
  position: relative;
}

.in_def {
  width: 90%;
  max-width: 1120px;
  margin: auto;
}

ul,
li {
  list-style: none;
}

a {
  display: inline-block;
  transition: 0.5s;
}

img {
  display: inline-block;
  clear: both;
  max-width: 100%;
  height: auto;
}

main {
  margin-top: 50px;
}

.title_wrap .title_eng,
.overpass {
  font-family: "Overpass", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

h3 {
  font-weight: 700;
  font-size: 1.4em;
  letter-spacing: 0.1em;
}

h5 {
  font-weight: 700;
  line-height: 1.5;
}

.bosyuyoko table td,
.i_and_i_detail p,
.industry_content p,
.p_box,
.profile_detail {
  font-weight: 400;
}

.bg_navy {
  background: #06348b;
}

.bg_gray {
  background: #eaeff3;
}

#company-detail-info::after,
.bg_light_blue {
  background: #b2d9f3;
}

.over_image::before,
.single_firstview .company_copy::before,
.bg_gradation {
  background: -ms-linear-gradient(-45deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#32F0DC", endColorstr="#6E7DFF", GradientType=1);
}

.bg_gradation2 {
  background: -ms-linear-gradient(-45deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#32F0DC", endColorstr="#6E7DFF", GradientType=1);
}

.bg_gradation3 {
  background: -ms-linear-gradient(0deg, rgb(0, 130, 216) 0%, rgb(6, 52, 139) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#0082D8', endColorstr='#06348B' ,GradientType=0)";
  background: linear-gradient(90deg, rgb(0, 130, 216) 0%, rgb(6, 52, 139) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0082D8", endColorstr="#06348B", GradientType=1);
}

.cat_icon_wrap._circle._border_gradation,
.bg_gradation4 {
  background: -ms-linear-gradient(-45deg, rgb(0, 200, 255) 0%, rgb(40, 70, 220) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00C8FF', endColorstr='#2846DC' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(0, 200, 255) 0%, rgb(40, 70, 220) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00C8FF", endColorstr="#2846DC", GradientType=1);
}

#company-detail-info,
.bg_tsubu {
  position: relative;
}
#company-detail-info::before,
.bg_tsubu::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-image: url(images/bg_tsubu.jpg);
  mix-blend-mode: soft-light;
  opacity: 0.2;
  background-size: cover;
  z-index: 2;
}

#company-detail-info::before {
  left: 0;
  top: unset;
  bottom: 0;
  height: 61%;
}

.ellipse_mask_warp {
  position: relative;
  overflow: hidden;
}
.ellipse_mask_warp::before, .ellipse_mask_warp::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2.6vw;
  z-index: 2;
  background-color: inherit;
  background-color: #fff;
}
.ellipse_mask_warp::before {
  top: 1px;
  left: 0;
  mask-image: url(images/bg_ellipse_top.svg);
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: 100%;
  -webkit-mask-image: url(images/bg_ellipse_top.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  -webkit-mask-size: 100%;
}
.ellipse_mask_warp::after {
  left: 0;
  mask-image: url(images/bg_ellipse_bottom.svg);
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: 100%;
  -webkit-mask-image: url(images/bg_ellipse_bottom.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  -webkit-mask-size: 100%;
}

.bg_gradation_circle {
  width: 175vw;
  height: 175vw;
  border-radius: 50%;
  position: absolute;
  z-index: 1;
}
.bg_gradation_circle._white {
  background: radial-gradient(circle, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 70%);
  mix-blend-mode: screen;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
}
.bg_gradation_circle._blue {
  background: radial-gradient(circle, rgb(0, 130, 216) 0%, rgba(255, 255, 255, 0) 70%);
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%);
}

.text_gradation {
  display: inline-block;
  background: -ms-linear-gradient(0deg, rgb(0, 160, 240) 0%, rgb(6, 52, 139) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A0F0', endColorstr='#06348B' ,GradientType=0)";
  background: linear-gradient(90deg, rgb(0, 160, 240) 0%, rgb(6, 52, 139) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00A0F0", endColorstr="#06348B", GradientType=1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text_gradation2 {
  background: -ms-linear-gradient(90deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(0deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#6E7DFF", endColorstr="#32F0DC", GradientType=0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text_gradation3 {
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#home-news .btn_wrap a::after,
.nav_list > li > a::after,
.header_list .sub-menu li::after,
.btn_move_arrow::before,
.btn_move_arrow::after,
.arrow a::after {
  content: "↑";
  display: inline-block;
  transform: rotate(90deg);
}

#btn_close .btn_move_arrow::before,
#btn_close .btn_move_arrow::after {
  content: "×";
}

.btn_move_arrow.external_links::before,
.arrow.external_links a::after {
  transform: rotate(45deg);
}

.btn_10 {
  background: -ms-linear-gradient(0deg, rgb(0, 160, 240) 0%, rgb(6, 52, 139) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A0F0', endColorstr='#06348B' ,GradientType=0)";
  background: linear-gradient(90deg, rgb(0, 160, 240) 0%, rgb(6, 52, 139) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00A0F0", endColorstr="#06348B", GradientType=1);
  border-radius: 9999px;
  color: #fff;
  font-weight: bold;
  font-size: 1em;
  line-height: 2.5;
  position: relative;
  display: flex;
  align-items: center;
  transition: 400ms;
  width: 17.6em;
  height: 3.8666666667em;
  padding-left: 1.67em;
}
.btn_10::before {
  content: "";
  display: inline-block;
  width: 2.2em;
  height: 2.2em;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  right: 1.1em;
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
}

.btn {
  position: relative;
}

.btn_move_arrow {
  color: #06348b;
  font-weight: 700;
  position: absolute;
  right: 1.1em;
  width: 2.2em;
  height: 2.2em;
  overflow: hidden;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn_move_arrow::before, .btn_move_arrow::after {
  position: absolute;
  transition-duration: 0ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
}
.btn_move_arrow::after {
  opacity: 0;
  transform: rotate(90deg) translateY(100%);
  transition-duration: 0ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
}
.btn_move_arrow.external_links::after {
  transform: rotate(45deg) translateY(100%);
}

.btn_circle {
  display: inline-block;
  background: #000;
  width: 3.3em;
  height: 3.3em;
  border-radius: 50%;
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
  will-change: transform;
}
.btn_circle .btn_move_arrow {
  color: #fff;
  font-size: 1.5em;
  right: 0;
  width: 100%;
  height: 100%;
}
.btn_circle._gradation:not(.initial_black) {
  background: -ms-linear-gradient(0deg, rgb(0, 160, 240) 0%, rgb(6, 52, 139) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A0F0', endColorstr='#06348B' ,GradientType=0)";
  background: linear-gradient(90deg, rgb(0, 160, 240) 0%, rgb(6, 52, 139) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00A0F0", endColorstr="#06348B", GradientType=1);
}

a:has(.btn):hover .btn_10 {
  background: -ms-linear-gradient(-45deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  border-radius: 35px;
  -moz-border-radius: 35px;
  -webkit-border-radius: 35px;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#32F0DC", endColorstr="#6E7DFF", GradientType=1);
}
a:has(.btn):hover .btn_10::before {
  scale: 1.375;
}
a:has(.btn):hover .btn_move_arrow::before {
  opacity: 0;
  transform: rotate(90deg) translateY(-100%);
  transition-duration: 300ms;
}
a:has(.btn):hover .btn_move_arrow::after {
  opacity: 1;
  transform: rotate(90deg) translateY(0);
  transition-delay: 300ms;
  transition-duration: 300ms;
}
a:has(.btn):hover .btn_move_arrow.external_links::before {
  transform: rotate(45deg) translateY(-100%);
}
a:has(.btn):hover .btn_move_arrow.external_links::after {
  transform: rotate(45deg) translateY(0);
}
a:has(.btn):hover .btn_circle {
  scale: 1.25;
}
a:has(.btn):hover .btn_circle._gradation {
  background: -ms-linear-gradient(-45deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#32F0DC", endColorstr="#6E7DFF", GradientType=1);
}

.part_wrapper {
  position: relative;
  overflow: hidden;
  z-index: 3;
}

.part_circle {
  background: -ms-linear-gradient(-45deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#32F0DC", endColorstr="#6E7DFF", GradientType=1);
  width: 360px;
  height: 360px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 10;
  position: relative;
}
.part_circle._circle01 {
  width: 241px;
  height: 241px;
}
.part_circle._circle03 {
  width: 166px;
  height: 166px;
}
.part_circle._circle04 {
  width: 266px;
  height: 266px;
}
.part_circle._circle05 {
  width: 216px;
  height: 216px;
}
.part_circle._circle06 {
  width: 264px;
  height: 264px;
}
.part_circle._circle07 {
  width: 315px;
  height: 315px;
}
.part_circle._circle08 {
  width: 315px;
  height: 315px;
  transform: translate(42%, -34%);
}
.part_circle::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-image: url(images/bg_tsubu.jpg);
  mix-blend-mode: soft-light;
  opacity: 0.2;
  background-size: cover;
  z-index: 2;
  border-radius: 50%;
}

@keyframes parallax-large-anim {
  from {
    transform: translateY(300px);
  }
  to {
    transform: translateY(-300px);
  }
}
.large {
  animation: parallax-large-anim linear;
  animation-timeline: scroll();
  position: absolute;
  z-index: 3;
  overflow: hidden;
}

.large:has(._circle02) {
  top: 28%;
  left: -160px;
}

.large:has(._circle03) {
  bottom: -1%;
  right: -5%;
}

.large:has(._circle04) {
  top: 27%;
  left: 5%;
}

.large:has(._circle05) {
  bottom: -4%;
  right: 12%;
}

.large:has(._circle06) {
  bottom: 22%;
  left: -8%;
}

.large:has(._circle07) {
  top: 5%;
  right: 0;
  width: 50%;
  max-width: 157px;
  z-index: 4;
}

.large:has(._circle08) {
  top: 0;
  right: 0;
}

section:has(.large) {
  position: relative;
}

.anim-box.fadeup.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
#s404 {
  padding: 50px 0 300px;
}

/* ===============
header
=============== */
@keyframes add-shadow {
  to {
    box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.26);
  }
}
.site_header {
  position: relative;
}
.site_header::before {
  content: "";
  display: block;
  width: 100%;
  height: 4em;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  opacity: 0;
  transition: opacity 0.5s;
}
.site_header .logo {
  width: 2.5em;
}
.site_header .hed_logo {
  position: fixed;
  top: 10px;
  left: 40px;
  z-index: 999;
}
.site_header .hed_logo a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav_pc_area {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  z-index: 13;
}

.header_list {
  display: flex;
  gap: 2.1428571429em;
  font-size: 0.7777777778em;
  font-weight: 700;
}
.header_list .side_only {
  display: none;
}
.header_list > li:has(.sub-menu-wrapper) > a {
  position: relative;
  display: inline-block;
  padding-right: 1.2em;
}
.header_list > li:has(.sub-menu-wrapper) > a::before {
  position: absolute;
  right: 0;
  transition: opacity 0.3s ease;
  white-space: nowrap;
  color: #00a0f0;
}
.header_list > li:has(.sub-menu-wrapper) > a::before {
  content: "＋";
}
.header_list > li:has(.sub-menu-wrapper) > a:hover::before {
  content: "－";
}
.header_list > li:has(.sub-menu-wrapper):hover .sub-menu-wrapper {
  opacity: 1;
  clip-path: rect(auto auto auto auto);
  transition: clip-path 0.4s cubic-bezier(0.52, 0, 0.085, 1), opacity 0.4s cubic-bezier(0.52, 0, 0.085, 1);
}
.header_list a:hover {
  color: #00a0f0;
}
.header_list .sub-menu-wrapper {
  width: 100%;
  height: 160px;
  display: flex;
  align-items: center;
  position: absolute;
  left: 0;
  top: calc(100% - 1px);
  background-color: #fff;
  opacity: 0;
  clip-path: rect(0 100% 0 0);
  transition: clip-path 0.3s cubic-bezier(0.52, 0, 0.085, 1), opacity 0.4s cubic-bezier(0.52, 0, 0.085, 1);
}
.header_list .sub-menu-parent-title {
  width: 23%;
  text-align: center;
  font-weight: 700;
  font-size: 24px;
  position: relative;
}
.header_list .sub-menu-parent-title::after {
  content: "";
  width: 1px;
  height: 80%;
  background: #c7c5c5;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.header_list .sub-menu {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 4em;
  margin-left: 5%;
}
.header_list .sub-menu li {
  position: relative;
}
.header_list .sub-menu li::after {
  position: absolute;
  right: -1.5em;
  color: #00a0f0;
}

.header_list li > a,
.header_list .sub-menu li > a {
  position: relative;
  display: inline-block;
}
.header_list li > a::after,
.header_list .sub-menu li > a::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #333;
  bottom: 0;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.header_list li > a:hover::after,
.header_list .sub-menu li > a:hover::after {
  background: #00a0f0;
  transform: scale(0, 1);
  transform-origin: right top;
}

.pin_spacer {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 11;
  box-shadow: 0px 10px 15px -5px rgba(0, 0, 0, 0.1);
}
.pin_spacer .pin_spacerback {
  width: 100%;
  height: 4em;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  transition: opacity 0.5s;
}

.pin_spacer.pc .nav_pc_area {
  padding-right: 220px;
  padding-top: 23px;
  padding-bottom: 25px;
  padding-left: 40px;
  transition: 0.5s;
}

.nav_fix_area {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 16px;
  position: relative;
}
.nav_fix_area .sns {
  display: flex;
  align-items: center;
  gap: 16px;
}
.nav_fix_area .sns li a {
  width: 100%;
  display: flex;
}
.nav_fix_area .sns .youtube {
  width: 35px;
}
.nav_fix_area .sns .instagram {
  width: 30px;
}

.custom_search_form {
  display: flex;
  align-items: center;
  border-radius: 9999px;
  overflow: hidden;
  height: 30px;
}

.search_field {
  flex: 1;
  width: 180px;
  height: 100%;
  padding: 5px 0 5px 10px;
  background: #F1F4F5;
}
.search_field::-moz-placeholder {
  text-align: center;
  color: #B4C3C8;
}
.search_field::placeholder {
  text-align: center;
  color: #B4C3C8;
}

.detail_search_button {
  width: 80px;
  height: 100%;
  cursor: pointer;
  background: #00a0f0;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.18em;
}

.search_submit_button {
  width: 40px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
}
.search_submit_button img {
  width: 18px;
}

/* ナビゲーションメニュー */
nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100svh;
  padding: 8px;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  opacity: 0;
  visibility: hidden;
  background: rgba(50, 59, 77, 0.6);
  transition: 0.4s cubic-bezier(0.4, 0.4, 0, 1);
}

nav.active {
  opacity: 1;
  visibility: visible;
}

.nav_box {
  width: 50%;
  max-width: 50%;
  height: 100%;
  background: #323b4d;
  border-radius: 24px;
  padding: 80px 24px 48px 48px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  overflow: auto;
  transition: all 300ms cubic-bezier(0.22, 1, 0.36, 1);
}
.nav_box .nav_fix_area {
  justify-content: flex-start;
}

@media screen and (max-width: 1140px) {
  .nav_box {
    width: 80%;
    max-width: 80%;
  }
}
@media screen and (max-width: 800px) {
  .nav_box {
    width: 100%;
    max-width: 100%;
    padding: calc(5em - 8px) 5% 3.4em 10%;
  }
}
.nav_list {
  color: #fff;
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.nav_list > li {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1019607843);
}
.nav_list > li:nth-of-type(3) {
  border-top: 1px solid rgba(255, 255, 255, 0.1019607843);
}
.nav_list > li:has(.sub-menu) {
  padding: 0px 15px 32px 0px;
}
.nav_list > li:has(.sub-menu) > a {
  padding: 32px 0px;
}
.nav_list > li > a {
  padding: 32px 15px 32px 0px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 20px;
  line-height: normal;
}
.nav_list .sub-menu {
  display: flex;
  align-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 16px;
  justify-content: flex-start;
  margin: 0px 0px 0px 32px;
  padding: 0px;
  max-width: calc(100% - 32px);
}
.nav_list .sub-menu li {
  line-height: 1;
}
.nav_list .sub-menu a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}
.nav_list a:hover {
  color: #4d8bff;
}

.nav_footer {
  margin-top: auto;
}
.nav_footer a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}
.nav_footer a:hover {
  color: #4d8bff;
}

@media screen and (max-width: 440px) {
  .nav_list {
    -moz-column-count: 1;
         column-count: 1;
  }
}
/* ハンバーガーボタン */
.hamburger_wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2em;
  height: 1.2em;
  position: fixed;
  z-index: 101;
}

.nav_btn {
  cursor: pointer;
  width: 100%;
  position: relative;
}

.nav_btn .hamburger {
  position: relative;
  width: 100%;
  padding-top: 60%;
  display: block;
  margin: 0 auto;
  z-index: 2;
  pointer-events: none;
  cursor: pointer;
}

.nav_btn .hamburger span {
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 5px;
  background-color: #000;
  margin: auto;
  transition: 0.5s;
  left: 0;
  border-radius: 10px;
}

.nav_btn .hamburger span:nth-child(1) {
  top: 0;
}

.nav_btn .hamburger span:nth-child(2) {
  top: 0;
  bottom: 0;
}

.nav_btn .hamburger span:nth-child(3) {
  bottom: 0;
}

.nav_btn.active .hamburger span:nth-child(1) {
  transform: rotate(45deg);
  /* 水平中央に調整 */
  top: 50%;
  /* spanの高さの半分だけ上へ移動 */
  margin-top: -2.5px;
}

.nav_btn.active .hamburger span:nth-child(2) {
  opacity: 0;
  left: 50%;
}

.nav_btn.active .hamburger span:nth-child(3) {
  transform: rotate(-45deg);
  /* 水平中央に調整 */
  bottom: 50%;
  /* spanの高さの半分だけ下へ移動 */
  margin-bottom: -2.5px;
}

.nav_box .nav_btn {
  margin: auto;
  margin-bottom: 30px;
}

@media screen and (max-width: 580px) {
  .nav_btn .hamburger span {
    height: 2px;
  }
  .nav_btn.active .hamburger span:nth-child(1) {
    margin-top: -1px;
  }
  .nav_btn.active .hamburger span:nth-child(3) {
    margin-bottom: -1px;
  }
}
/* ===============
footer
=============== */
/* 無限ループ　START */
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.scroll_infinity_wrapper {
  display: flex;
  overflow: hidden;
}

.scroll_infinity_list {
  display: flex;
}

.scroll_infinity_list_left {
  animation: infinity-scroll-left 50s infinite linear 0.5s both;
}

.scroll_infinity_list_right {
  animation: infinity-scroll-right 50s infinite linear 0.5s both;
}

.scroll_infinity_item_text {
  white-space: nowrap;
  color: inherit;
}

.scroll_infinity {
  font-size: 3.3333333333em;
  margin-top: -1em;
  color: #F1F4F5;
  mix-blend-mode: multiply;
  line-height: 1;
  position: relative;
  z-index: 3;
}
.scroll_infinity._title_view {
  margin-top: -0.75em;
  z-index: 0;
}

/* 無限ループ　END */
#footer-menu {
  color: #fff;
  font-size: 0.8333333333em;
  padding-top: 4.4em;
  padding-bottom: 0.7333333333em;
}
#footer-menu a:hover {
  color: #00a0f0;
}
#footer-menu .logo_wrap {
  display: flex;
  align-items: center;
  gap: 0.8em;
  margin-bottom: 2em;
}
#footer-menu .logo_wrap .logo {
  width: 2.7666666667em;
}
#footer-menu .logo_wrap .logo_sitename {
  width: 15.0333333333em;
}
#footer-menu .address_wrap {
  margin-bottom: 2.3333333333em;
  line-height: 1.8;
}

.footer_list {
  display: grid;
  grid-template-columns: repeat(3, auto);
}

.about_this_site {
  color: #C1CCE2;
}

.copyright {
  font-size: 0.7666666667em;
  color: #8299C5;
  text-align: right;
  margin-top: 50px;
}

.footer_right_content ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.footer_bottom_content {
  width: 100%;
}

/* ===============
home
=============== */
[class*=swiper]:focus {
  outline: none;
}

.card03 {
  overflow: hidden;
  transition: height 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.l-inner {
  position: relative;
  box-sizing: content-box;
  margin: 0 auto;
  transition: padding 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.no-padding {
  padding: 0 !important;
}

.max-height {
  height: 100svh !important;
}

.card03 .swiper {
  overflow: visible;
}

.card03 .swiper-slide {
  aspect-ratio: 1/0.717;
  overflow: hidden;
}

.card03 .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card03.page_swiper .swiper-slide::before {
  content: "";
  z-index: 4;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color 1000ms 400ms ease;
}
.card03.page_swiper .swiper-slide::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url(images/inmv01.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1000ms 0ms cubic-bezier(0, 0, 0.2, 1), background-image 1000ms 0ms cubic-bezier(0, 0, 0.2, 1);
}
.card03.page_swiper .swiper-slide.img_switch_on::after {
  background-image: url(images/inmv02.jpg);
}
.card03.page_swiper .no-padding .swiper-slide {
  border-radius: 0;
  height: 100vh;
}
.card03.page_swiper .no-padding .swiper-slide::before {
  background-color: rgba(0, 0, 0, 0.25);
}
.card03.page_swiper .no-padding .swiper-slide::after {
  opacity: 1;
}

.hedimgs_buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2em;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.hedimgs_buttons .swiper-pagination {
  position: revert;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto !important;
  height: 40px;
  min-width: 150px;
  border-radius: 2em;
  gap: 8px;
  padding: 0 30px;
}

.hedimgs_buttons .swiper-pagination,
.swiper_plays {
  background-color: rgba(0, 0, 0, 0.68);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.swiper_plays {
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
}

.swiper_play {
  display: none;
  font-size: 1.2em;
  line-height: 1;
  color: #fff;
}
.swiper_play i {
  line-height: 0;
}

.swiper_play.active {
  display: block;
}

.hedimgs_buttons .swiper-pagination-bullet {
  transition: 0.3s;
  opacity: 1;
  background-color: #fff;
  position: relative;
  overflow: hidden;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  cursor: pointer;
}

.hedimgs_buttons .swiper-pagination-bullet::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #00a0f0;
  top: 0;
  bottom: 0;
  left: -15px;
  width: 15px;
  border-radius: 5px;
}

.hedimgs_buttons .swiper-pagination-bullet-active {
  background-color: #808080;
  width: 50px;
  border-radius: 5px;
}

.hedimgs_buttons .swiper-pagination-bullet-active::before {
  animation: buttonstretch 5s linear forwards;
}

.hedimgs_buttons.teishi .swiper-pagination-bullet-active::before,
.hedimgs_buttons .swiper-pagination-bullet-active.pause::before {
  animation-play-state: paused;
}

@keyframes buttonstretch {
  0% {
    width: 15px;
  }
  100% {
    width: calc(100% + 15px);
  }
}
.first_slide {
  position: relative;
}
.first_slide h2 {
  color: #fff;
  padding-left: 5%;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  position: absolute;
  top: 21vw;
  left: 0;
  z-index: 10;
}
.first_slide h2 span {
  letter-spacing: 0.1em;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 10px;
}
.first_slide h2 .title01 {
  font-weight: bold;
  font-size: 0.8666666667em;
  line-height: 1.7;
  padding: 0 1em;
}
.first_slide h2 .title02 {
  font-size: 2.5em;
  line-height: 1;
  padding: 0.15em 0.25em 0;
}
.first_slide h2 .lead {
  font-size: 0.6333333333em;
  font-size: max(0.6333333333em, 11px);
  color: #00a0f0;
  line-height: 1;
}

.first_slide_lead .left_wrap {
  position: relative;
}
.first_slide_lead .left_wrap::before {
  content: url(images/star.svg);
  position: absolute;
  top: 0;
  right: 0;
  width: 2.8333333333em;
}
.first_slide_lead h3 {
  margin-bottom: 1em;
}
.first_slide_lead p {
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 2.5;
}
.first_slide_lead .btn_wrap {
  margin-top: 2em;
  margin-bottom: 3.3333333333em;
}
.first_slide_lead._page {
  min-height: 100vh;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  padding-bottom: 16vw;
}
.first_slide_lead._page.Up {
  margin-top: -20vw;
  color: #fff;
}
.first_slide_lead .page_copy {
  font-size: 1.4em;
  line-height: 1.85;
  letter-spacing: 0.1em;
}
.first_slide_lead .page_copy span {
  font-size: 1.2857142857em;
}
.first_slide_lead .page_p {
  color: #fff;
}

.sectionSky {
  position: relative;
  width: 100%;
  height: 170vh;
  height: 100%;
}

@keyframes reveal-sky {
  50% {
    filter: blur(0px);
    opacity: 1;
  }
  100% {
    filter: blur(5px);
    opacity: 0.2;
  }
}
#home-slide .sky_image {
  animation: reveal-sky linear both;
  animation-timeline: view(block);
  animation-range: cover 30% cover 50%;
}
#home-slide .first_slide_lead {
  margin-bottom: 90px;
}

@-moz-document url-prefix() {
  /* Firefox用の代替スタイル */
  #home-slide .first_slide_lead::after {
    content: "";
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.39) 11%, rgba(255, 255, 255, 0.8) 100%);
    z-index: -1;
    left: 50%;
    transform: translateX(-50%);
  }
  #home-slide .sky_image {
    animation: none;
  }
}
.sky_image {
  width: 100%;
  position: sticky;
  top: 0;
  animation-timeline: view();
  animation-range: contain 0% contain 100%;
}

.sky_text {
  position: relative;
  z-index: 10;
}

.title_wrap {
  color: #fff;
}
.title_wrap span {
  display: block;
}
.title_wrap span.title_ja span, .title_wrap span.text_gradation {
  display: inline-block;
}
.title_wrap .title_eng {
  font-size: 3.3333333333em;
  line-height: 1;
}
.title_wrap .title_ja {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.5;
}
.title_wrap .title_ja._color_black {
  color: #000;
}
.title_wrap._tate {
  writing-mode: vertical-lr;
  text-align: right;
}
.title_wrap._left_justified {
  margin-left: 4.5%;
  position: relative;
  z-index: 2;
}

.fukidashi {
  text-align: center;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  display: block;
  position: relative;
  margin-top: 90px;
  margin-bottom: 20px;
  padding-bottom: 0.5em;
}
.fukidashi::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 50%;
  width: 30px;
  height: 30px;
  background: #FFF;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: translate(-50%, 55%) rotate(45deg);
  transform-origin: center center;
  border-bottom-right-radius: 5px;
}
.fukidashi span {
  position: relative;
  z-index: 1;
}

.card_list {
  display: grid;
  gap: 1em;
  margin-top: 1.3333333333em;
}
.card_list .card {
  background: #fff;
  border-radius: 10px;
  will-change: transform;
  transition: 0.2s;
}
.card_list .card:hover {
  scale: 1.057;
}
.card_list .card a {
  width: 100%;
  height: 100%;
  padding: 1.1666666667em 8% 1.3em 8%;
  display: grid;
  grid-template-columns: 5.3333333333em 1fr;
  gap: 1.5em;
  align-items: center;
}
.card_list .card p {
  text-align: center;
  font-weight: bold;
}
.card_list .card .icon_wrap {
  margin: auto;
  width: 100%;
  aspect-ratio: 160/147;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card_list .card .icon_graph img {
  width: 81.1320754717%;
}
.card_list .card .icon_hospital img {
  width: 91.5094339623%;
}
.card_list .card .icon_rescue img {
  width: 91.5094339623%;
}
.card_list .card .icon_pin img {
  width: 72.641509434%;
}
.card_list .card .icon_program img {
  width: 80.1886792453%;
}

#home-news {
  padding-bottom: 3.5em;
}
#home-news .grid_box {
  display: grid;
  grid-template-columns: 1fr;
}
#home-news .left_wrap {
  padding-top: 3.6666666667em;
  display: flex;
  justify-content: space-between;
}
#home-news .right_wrap {
  margin-top: 3em;
}
#home-news .post_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1em;
}
#home-news .post_item {
  background: #fff;
  border-radius: 0.55em;
}
#home-news .post_item a {
  padding: 1.55em 2em;
  width: 100%;
}
#home-news .post_item .btn_wrap {
  line-height: 0;
  margin-left: auto;
}
#home-news .post_date {
  color: #00a0f0;
}
#home-news .btn_wrap a {
  background: #000;
  color: #fff;
  padding: 0.8em 1.5em;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 1.5em;
  width: -moz-fit-content;
  width: fit-content;
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
  will-change: transform;
}
#home-news .btn_wrap a:hover {
  scale: 1.15;
}

#home-companies {
  padding-top: 1.8333333333em;
  padding-bottom: calc(8vw + 1.6em);
}
#home-companies .in72 {
  z-index: 3;
}
#home-companies .grid_box {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 1em;
}
#home-companies .grid_box .right_wrap {
  grid-column: span 4/span 4;
}
#home-companies .btn_wrap {
  text-align: center;
  margin-top: 3.3333333333em;
}
#home-companies .cat_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.1em;
}
#home-companies .cat_item {
  aspect-ratio: 300/280;
  width: 100%;
  background: #fff;
  border-radius: 0.5555566667em;
  transition: 0.2s;
}
#home-companies .cat_item:hover {
  scale: 1.13;
}
#home-companies .cat_item a {
  width: 100%;
  height: 100%;
  padding-top: 20%;
  padding-bottom: 10%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
#home-companies .cat_item .cat_icon_wrap {
  height: 60.155%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#home-companies .cat_item p {
  font-weight: bold;
}
#home-companies .icon_co01 img {
  height: 77%;
}
#home-companies .icon_co02 img {
  height: 75%;
}
#home-companies .icon_co03 img {
  height: 100%;
}
#home-companies .icon_co04 img {
  height: 98%;
}
#home-companies .icon_co05 img {
  height: 67%;
}
#home-companies .icon_co06 img {
  height: 79%;
}

.cube_container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.1em;
}
.cube_container li {
  position: relative;
  grid-column: span 1;
  grid-row: span 1;
}
.cube_container li:hover {
  z-index: 2;
}
.cube_container li:hover .outer_block {
  transition: clip-path 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.01s;
  clip-path: inset(0px 0px 0px 0px round 15px);
}
.cube_container a {
  width: 100%;
}
.cube_container .item_image_wrap {
  width: 100%;
  height: 100%;
  aspect-ratio: 335/250;
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 2.5em;
}
.cube_container .item_image_wrap img {
  width: 55%;
}
.cube_container .item_image_wrap .label {
  position: absolute;
  top: -1px;
  left: -1px;
  border-radius: 15px 0;
  padding: 5px 15px 5px 5px;
  transition: background-color 0s cubic-bezier(0.19, 1, 0.22, 1) 0.06s;
  background-color: #b2d9f3;
  font-size: max(2.25vw, 14px);
  letter-spacing: 0.1em;
  font-weight: 700;
  width: 11em;
}
.cube_container .item_image_wrap .label::after, .cube_container .item_image_wrap .label::before {
  content: "";
  display: block;
  position: absolute;
  width: 35px;
  height: 35px;
  background-color: inherit;
  mask-image: url(images/mask_bottom.svg);
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: 100%;
  -webkit-mask-image: url(images/mask_bottom.svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  -webkit-mask-size: 100%;
}
.cube_container .item_image_wrap .label::before {
  left: 1px;
  bottom: -35px;
}
.cube_container .item_image_wrap .label::after {
  right: -35px;
  top: 1px;
}

.outer_block {
  position: absolute;
  top: -1em;
  left: -1em;
  width: calc(100% + 2em);
  background: #00a0f0;
  transition: clip-path 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  clip-path: inset(1.1em 1.1em 9vw 1.1em round 15px);
}
.outer_block span {
  display: block;
  margin: 0 auto;
  z-index: 1;
  width: calc(100% - 2em);
  padding: 13.3333333333vw 0 1.3333333333vw;
  color: #fff;
  font-size: 12px;
  line-height: 1.3;
}

#home-interview {
  padding-top: 8vw;
}
#home-interview .title_wrap {
  color: #000;
  text-align: center;
  margin-top: 1.5em;
}
#home-interview .btn_wrap {
  margin-bottom: 1.1em;
}
#home-interview .ellipse_mask_warp {
  padding-bottom: 8vw;
}
#home-interview .large {
  z-index: 3;
}

.cdi_content .btn_wrap,
.page_comp_btn_container .btn_wrap,
#home-interview .btn_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6666666667em;
}

/* スライダー全体 */
.slider_wrapper {
  display: flex;
  overflow: hidden;
  margin-top: 1.3333333333em;
  margin-bottom: 3.2666666667em;
}

.slider {
  display: flex;
  width: 1000vw;
  will-change: transform;
}

.slide {
  width: 66.6666666667vw;
  overflow: hidden;
  aspect-ratio: 380/440;
}
.slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

#home-rec-int {
  /* margin-top: -8vw;
  padding-top: calc(8vw + calculate-font-size(165));*/
  padding-bottom: 5em;
}
#home-rec-int .read {
  letter-spacing: 0.05em;
  position: absolute;
  bottom: 10px;
  left: 3%;
  color: #fff;
}
#home-rec-int .large {
  z-index: 3;
}

#home-intern a,
#home-recruit a {
  background-image: url(images/home_recruit.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  aspect-ratio: 770/500;
  border-radius: 20px;
  position: relative;
}
#home-intern a::before,
#home-recruit a::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: 0;
  border-radius: inherit;
  display: block;
  transition: 0.5s;
}
#home-intern a .title_wrap,
#home-recruit a .title_wrap {
  position: absolute;
  top: -1.8em;
  left: 0;
}
#home-intern a .btn_wrap,
#home-recruit a .btn_wrap {
  position: absolute;
  right: 5%;
  bottom: 5%;
}
#home-intern a:hover::before,
#home-recruit a:hover::before {
  opacity: 0.4;
}

#home-intern {
  margin-top: 5.5em;
}
#home-intern a {
  background-image: url(images/home_intern.jpg);
}

.home-hamada {
  background: #00a0f0;
  overflow: hidden;
  padding-top: 3.5em;
  padding-bottom: 6.0666666667em;
}
.home-hamada > .in {
  position: relative;
  z-index: 3;
}
.home-hamada .title_wrap {
  text-align: center;
}

/* ===============
固定ページ
=============== */
.page_title_wrap .page_title {
  font-weight: 700;
  font-size: 0.8666666667em;
}
.page_title_wrap .copy {
  font-weight: 700;
  font-size: 1.4em;
  letter-spacing: 0.1em;
  padding: 0 0.3em;
  border-radius: 6px;
}

#page-we-info,
#page-we-experience {
  padding-top: 4.3333333333em;
  padding-bottom: 6em;
}
#page-we-info .title_wrap,
#page-we-experience .title_wrap {
  text-align: center;
}

.cus_post_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-top: 3.3333333333em;
  -moz-column-gap: 6.25vw;
       column-gap: 6.25vw;
  row-gap: 11.25vw;
}
.cus_post_list a {
  width: 100%;
}
.cus_post_list h3 {
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
}
.cus_post_list p {
  font-size: 0.7333333333em;
  line-height: 1.5;
  margin-bottom: 4px;
}
.cus_post_list .company_img_wrap {
  position: relative;
  width: 100%;
  margin-bottom: 0.8em;
}
.cus_post_list .company_img_wrap .label {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 0.6em;
  height: 18.1818181818%;
  line-height: 1;
  letter-spacing: 0;
  display: flex;
  align-items: center;
}

#archive_interview {
  padding-bottom: 50px;
}

.interview_listcat ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.interview_listcat ul span {
  padding: 0.7em 1em;
  background-color: #eaeff3;
  line-height: 1;
  border-radius: 0.5em;
  display: inline-block;
  cursor: pointer;
}

.interview_listcat ul span.is-active {
  background-color: #C1CCE2;
}

@keyframes test {
  0% {
    transform: scale(0.1);
  }
  100% {
    transform: none;
  }
}
#archive_interview .cus_post_list li {
  animation: test 0.8s;
}

#archive_interview .cus_post_list li.is-hide {
  display: none;
}

.grid_columns4 .cus_post_list .company_img_wrap .label {
  height: 10.2827763496%;
}

.contact_wrapper {
  position: relative;
}
.contact_wrapper h3 {
  font-weight: 700;
  font-size: 1em;
  padding: 0 1em;
  margin-bottom: 0.8em;
  width: 100%;
  border-radius: 5px;
  color: #fff;
}
.contact_wrapper p {
  font-weight: 700;
  font-size: 1.3333333333em;
}

.gradation_box_container {
  padding-top: 4.4666666667em;
  padding-bottom: 4.3333333333em;
}
.gradation_box_container > .in_def {
  position: relative;
  z-index: 3;
}
.gradation_box_container h2 {
  position: absolute;
  top: -1em;
  left: -1em;
  color: #fff;
  font-weight: 700;
  font-size: 1.2em;
  display: inline-block;
  padding: 0.1em 1.5em 0 1.16em;
}
.gradation_box_container h2 span {
  position: relative;
  z-index: 4;
}
.gradation_box_container h2::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: -ms-linear-gradient(-45deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  border: 1px solid #fff;
  border-radius: 10px;
  z-index: 3;
}
.gradation_box_container h2::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 10px;
  left: 10px;
  background: #fff;
  border-radius: 10px;
  z-index: 2;
}

.gradation_box_content {
  position: relative;
  z-index: 1;
  padding: 2.5em 0 1.6666666667em;
  background: -ms-linear-gradient(-45deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  border-radius: 20px;
}
.gradation_box_content::before {
  content: "";
  width: calc(100% - 3px);
  height: calc(100% - 3px);
  position: absolute;
  top: 0;
  left: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 20px;
  z-index: 2;
}
.gradation_box_content::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 10px;
  left: 10px;
  background: -ms-linear-gradient(-45deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#32F0DC', endColorstr='#6E7DFF' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#32F0DC", endColorstr="#6E7DFF", GradientType=1);
  z-index: 1;
}
.gradation_box_content .inner {
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 2em;
  position: relative;
  z-index: 3;
  width: 81.9444444444%;
}
.gradation_box_content .inner .left_wrap,
.gradation_box_content .inner .right_wrap {
  width: 100%;
}

.banner_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  margin: 1.3333333333em auto 0;
}

.banner_item a {
  width: 100%;
  text-align: center;
}
.banner_item a img {
  aspect-ratio: 350/245;
  -o-object-fit: cover;
     object-fit: cover;
}

#archive_companies {
  padding-bottom: 120px;
}

.company_cat_list {
  background: #fff;
  width: 100%;
  height: 90px;
  box-shadow: 0px 0px 15px 5px rgba(0, 0, 0, 0.1);
}
.company_cat_list .in_def {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  -moz-column-gap: 2px;
       column-gap: 2px;
  justify-self: end;
  width: 100%;
  height: 100%;
  max-width: 880px;
}
.company_cat_list .in_def li:not(:first-of-type) {
  position: relative;
}
.company_cat_list .in_def li:not(:first-of-type)::after {
  content: "";
  display: block;
  width: 1px;
  height: 66.7%;
  background: #b4c3c8;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.company_cat_list p {
  font-weight: 700;
  letter-spacing: normal;
  font-size: 0.6333333333em;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
}
.company_cat_list a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.company_cat_list a:hover .cat_icon_wrap img {
  transform: scale(1.3);
}
.company_cat_list a .cat_icon_wrap {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 6px;
}
.company_cat_list a .cat_icon_wrap img {
  transition: transform 0.6s ease;
}
.company_cat_list a .icon_co01 img {
  width: 40px;
}
.company_cat_list a .icon_co02 img {
  width: 71px;
}
.company_cat_list a .icon_co03 img {
  width: 60px;
}
.company_cat_list a .icon_co04 img {
  width: 56px;
}
.company_cat_list a .icon_co05 img {
  width: 88px;
}
.company_cat_list a .icon_co06 img {
  width: 63px;
}
.company_cat_list a i {
  margin-left: 0.1em;
  font-size: 1.4em;
}

.sentinel {
  height: 1px;
}

.page_comp_btn_container {
  padding-top: 3em;
  padding-bottom: 3.6em;
}
.page_comp_btn_container .btn_wrap {
  position: relative;
  z-index: 2;
}

.single_firstview .single_thumb {
  width: 100%;
  aspect-ratio: 720/416;
}
.single_firstview .single_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1.375vw;
}
.single_firstview .company_copy {
  font-weight: 700;
  font-size: 1.4em;
  line-height: 1.7;
  margin-left: 5%;
  margin-top: 0.9047619048em;
}

.top_border::before {
  content: "";
  width: 1.6666666667em;
  height: 0.119047619em;
  display: inline-block;
  background: #000;
  margin-bottom: 0.3em;
  margin-right: 0.4em;
}

.profile_content,
.youtube_content {
  color: #fff;
  border-radius: 0 20px 20px 0;
  overflow: hidden;
  width: 87.5%;
  margin-right: auto;
}
.profile_content .profile_detail,
.profile_content .cat_name,
.youtube_content .profile_detail,
.youtube_content .cat_name {
  font-size: 0.7666666667em;
}
.profile_content .company_name,
.youtube_content .company_name {
  font-weight: 700;
  line-height: 1.5;
}
.profile_content h3,
.youtube_content h3 {
  font-weight: 700;
  font-size: 1.4em;
  line-height: 1.7;
  margin-bottom: 1em;
}
.profile_content .text_wrap,
.profile_content .left_wrap,
.profile_content .right_wrap,
.youtube_content .text_wrap,
.youtube_content .left_wrap,
.youtube_content .right_wrap {
  position: relative;
  z-index: 3;
}

.youtube_content {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1em;
  padding: 8.75vw 7.5vw;
}

.profile_content {
  padding: 13% 9% 15%;
}
.profile_content h4 {
  color: #6e7dff;
  font-size: 1.4em;
}
.profile_content .grid_box {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.8333333333em;
}

.profile_box {
  color: #000;
  background: #fff;
  border-radius: 20px;
  padding: 7%;
}

.cat_icon_wrap._circle {
  width: 5.5em;
  height: 5.5em;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.cat_icon_wrap._circle._border_gradation::before {
  content: "";
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 50%;
  position: absolute;
  background: #fff;
}
.cat_icon_wrap._circle img {
  position: relative;
  z-index: 1;
  width: 67.8787878788%;
}

.single_main_content {
  margin-top: 4.6666666667em;
}
.single_main_content h3 {
  font-weight: 700;
  font-size: 1.2em;
  line-height: 1.5;
  margin-bottom: 1em;
}
.single_main_content article:not(:last-of-type) {
  margin-bottom: 4.3333333333em;
}

.areamap_img_wrap {
  width: 88.8888888889%;
  margin: 2.8333333333em auto;
}

.over_block {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.over_block .block_ttl {
  width: 95vw;
  margin-left: calc(50% - 50vw);
}

.over_image {
  width: calc(100% - 10px);
  aspect-ratio: 755/530;
  position: relative;
}
.over_image::before {
  content: "";
  width: calc(100% + 10px);
  height: 100%;
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  z-index: -1;
  border-radius: 0 2.5vw 2.5vw 0;
}
.over_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 2.5vw 2.5vw 0;
}

.caption_wrap {
  font-size: 0.9666666667em;
  line-height: 1.5;
  margin-left: 5%;
  margin-top: 2.0689655172em;
}
.caption_wrap .caption_hed {
  border-radius: 9999px;
  color: #fff;
  font-weight: 700;
  display: inline-block;
  padding: 0.2em 0.8em 0;
  margin-bottom: 0.7333333333em;
}
.caption_wrap .caption span {
  font-weight: 700;
}

.detail_img_content .img_wrap {
  width: 100%;
  aspect-ratio: 720/411;
  border-radius: 2.5vw;
  overflow: hidden;
}
.detail_img_content .img_wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.cdi_wrapper .cdi_data,
.cdi_wrapper .cdi_access,
.cdi_wrapper .cat_name,
.relation_interview_wrapper .cdi_data,
.relation_interview_wrapper .cdi_access,
.relation_interview_wrapper .cat_name {
  font-size: 0.7666666667em;
}
.cdi_wrapper .inner,
.relation_interview_wrapper .inner {
  row-gap: 1.3333333333em;
}

.not_br br {
  display: none;
}

.relation_interview_wrapper .company_name {
  font-weight: 700;
  font-size: 1em;
  margin-bottom: 0.8em;
}
.relation_interview_wrapper .interview_thumb {
  width: 100%;
  aspect-ratio: 590/340;
}
.relation_interview_wrapper .interview_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.company_data {
  display: inline-block;
  font-size: 1.4em;
  line-height: 1;
  margin: 1.1904761905em 0 0.3333333333em;
}

.cdi_map {
  width: 100%;
  position: relative;
  aspect-ratio: 590/400;
}
.cdi_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.marker {
  width: 100%;
}

.acf-map {
  width: 100%;
  height: 100%;
}

#company-detail-info {
  position: relative;
}
#company-detail-info .btn_wrap {
  text-align: center;
}
#company-detail-info::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 61%;
}

.lifework_wrapper .gradation_box_content {
  padding: 1.6666666667em 0;
}
.lifework_wrapper .company_data {
  margin: 0;
}

.lifework_copy {
  font-size: 1.2em;
  line-height: 1.5;
  margin-bottom: 1em;
}

.schedule > p {
  color: #fff;
  border-radius: 5px;
  padding-left: 1.5em;
  margin-bottom: 1em;
}
.schedule th {
  text-align: right;
  padding-right: 2em;
}

.times_weekday > p {
  background: linear-gradient(135deg, rgb(0, 200, 255) 0%, rgb(40, 70, 220) 100%);
}
.times_weekday th {
  color: #0082d8;
}

.times_holiday > p {
  background: linear-gradient(135deg, rgb(255, 150, 100) 0%, rgb(255, 55, 120) 100%);
}
.times_holiday th {
  color: #ff3778;
}

.detail_content_box .detail_content:not(:has(.p_box)) .over_block {
  display: block;
}
.detail_content_box .detail_content:not(:has(.p_box)) .over_block .block_ttl {
  width: 100%;
  margin: auto;
}
.detail_content_box .detail_content:not(:has(.p_box)) .over_block .block_ttl .over_image {
  width: 100%;
}
.detail_content_box .detail_content:not(:has(.p_box)) .over_block .block_ttl .over_image::before {
  display: none;
}
.detail_content_box .detail_content:not(:has(.p_box)) .over_block .block_ttl .img_wrap {
  width: 100%;
  aspect-ratio: 720/411;
  border-radius: 2.5vw;
  overflow: hidden;
}
.detail_content_box .detail_content:not(:has(.p_box)) .over_block .block_ttl .img_wrap img {
  margin: auto;
}

/* マスクのCSS */
.first_slide_lead._page .img_wrap {
  width: 100%;
  margin-top: 50px;
  text-align: right;
}

.first_slide_lead._page .img_wrap img {
  width: 90%;
  max-width: 500px;
}

.movies_lead {
  text-align: center;
  margin: 3.3333333333em 0;
}

.movie_list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 11.25vw;
}
.movie_list .gradation_box_content .inner {
  width: 85.1851851852%;
  row-gap: 1em;
}
.movie_list .gradation_box_content .inner .left_wrap {
  width: 48.9130434783%;
}
.movie_list .gradation_box_content .inner .right_wrap {
  width: 46.7391304348%;
  justify-content: flex-start;
}
.movie_list .right_wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.movie_list h3 {
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.5em;
  width: 100%;
}
.movie_list .tag {
  font-size: 0.7777777778em;
}
.movie_list .tag span {
  color: #00a0f0;
  margin-right: 1.4em;
}
.movie_list .company_link_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5em;
}
.movie_list .company_link_wrap a {
  color: #fff;
  font-weight: 700;
  font-size: 0.7777777778em;
  line-height: 3.214;
  border-radius: 5px;
  padding: 0 1em;
}
.movie_list .movie_wrap {
  width: 100%;
  aspect-ratio: 225/400;
  border-radius: 10px;
  background: gray;
  overflow: hidden;
}

.industry_main_container .company_cat_list .cat_icon_wrap img {
  width: 28%;
}

.industry_main {
  width: 100%;
}

.industry_section {
  margin-top: 6.6666666667em;
}
.industry_section:first-of-type {
  margin-top: 2.3333333333em;
}

.industry_hed {
  background: -ms-linear-gradient(-45deg, rgb(0, 160, 240) 0%, rgb(0, 130, 216) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#00A0F0', endColorstr='#0082D8' ,GradientType=0)";
  background: linear-gradient(135deg, rgb(0, 160, 240) 0%, rgb(0, 130, 216) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00A0F0", endColorstr="#0082D8", GradientType=1);
  border-radius: 0.5714285714em;
  max-width: 1800px;
  width: 90%;
  margin: auto;
  color: #fff;
  font-weight: 700;
  font-size: 1.4em;
  line-height: 2.8571428571;
  text-align: center;
}

.industry_lead {
  font-weight: 700;
  font-size: 1.2em;
  text-align: center;
  margin: 2.6666666667em 0 1.5em;
}

.industry_container {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3333333333em;
  margin-top: 6em;
}
.industry_container:has(.external_links_wrap) {
  margin-top: 2.6666666667em;
}

.industry_content {
  background: #f1f4f5;
  border-radius: 0.9em;
  width: 100%;
  padding: 7.5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.industry_content.width100 {
  width: 100%;
}
.industry_content h5 {
  margin-right: auto;
  margin-bottom: auto;
  padding-bottom: 0.3em;
  transition: 0.5s;
}
.industry_content h5 span {
  font-size: 0.6666666667em;
  font-weight: 400;
}
.industry_content .icon_wrap {
  margin: 1.5em 0 2em;
}
.industry_content .numbers .num {
  font-size: 3.6333333333em;
  color: #00a0f0;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
}
.industry_content .numbers .unit {
  color: #000;
  font-size: 1.3666666667em;
  font-weight: 700;
  line-height: 2;
  position: relative;
  top: 0;
}
.industry_content .numbers .notes {
  font-size: 1.6em;
  text-align: center;
  line-height: 1;
}
.industry_content .numbers .notes .num {
  font-size: 1em;
}
.industry_content .numbers .notes .min {
  font-size: 0.75em;
}
.industry_content .numbers .notes .unit {
  font-size: 0.5em;
}
.industry_content p.st {
  margin-right: auto;
  font-size: 0.7333333333em;
  line-height: 1.5;
}

.ranking {
  width: 100%;
  counter-reset: listnum;
  display: grid;
  row-gap: 10px;
  margin: 20px 0;
}
.ranking li {
  display: grid;
  grid-template-columns: 1.8em 1fr 1fr;
  align-items: center;
  gap: 10px;
  position: relative;
}
.ranking li::before {
  counter-increment: listnum;
  content: counter(listnum);
  font-size: 1em;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #06348b;
  width: 1.3666666667em;
  height: 1.7em;
  clip-path: polygon(0 0, 50% 0, 100% 0, 100% 100%, 50% 80%, 0 100%);
  margin: auto;
}
.ranking li:first-of-type::before {
  background: #00a0f0;
  font-size: 1.3333333333em;
  width: 100%;
}
.ranking li:first-of-type .ran_num {
  font-size: 2.3em;
}
.ranking .ran_hed {
  font-weight: 700;
  font-size: 1.0666666667em;
  color: #06348b;
}
.ranking .ran_num {
  font-size: 1.8em;
  letter-spacing: 0.025em;
  line-height: 1;
  color: #00a0f0;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.external_links_wrap {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  cursor: pointer;
}
.external_links_wrap:hover h5 {
  color: #00a0f0;
}
.external_links_wrap .btn_wrap {
  display: flex;
  align-items: center;
}
.external_links_wrap .btn_wrap a {
  line-height: 0;
}

.i_and_i_detail {
  display: grid;
  gap: 3.1666666667em;
  margin: 3.1666666667em 0 2.6666666667em;
}
.i_and_i_detail .grid_box {
  display: grid;
  gap: 1.3333333333em;
}
.i_and_i_detail .icon_wrap {
  width: 25vw;
  aspect-ratio: 1/1;
  border-radius: 10px;
  background: #f1f4f5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
}
.i_and_i_detail .text_wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.i_and_i_detail .text_wrap h5 {
  font-weight: 700;
  font-size: 1.2em;
  margin-bottom: 0.5em;
  text-align: center;
}

/* グラフを表示するためのスタイル */
.chart_container {
  width: 100%;
}

.chart_wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.chart_wrap.pie_chart {
  -moz-column-gap: 5px;
       column-gap: 5px;
  row-gap: 1em;
  margin: 1em 0;
}

.bar_chart1 {
  position: relative;
  justify-content: space-between;
  width: 100%;
  margin: 2em auto 0;
}
.bar_chart1 .woman_wrap,
.bar_chart1 .man_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.bar_chart2 {
  display: grid;
  grid-template-columns: 1fr 190px 1fr;
  justify-content: center;
}

#js-result,
#js-result2 {
  width: 32%;
  aspect-ratio: 1/1;
}

#maleChart canvas {
  margin-left: auto;
}

.bar_chart1_in {
  position: relative;
}
.bar_chart1_in .chart_labels {
  position: absolute;
  bottom: 7px;
  left: 41%;
  transform: translateX(-50%);
}
.bar_chart1_in .chart_labels .custom_legend li {
  text-align: right;
  line-height: 1.28;
  font-size: 12px;
  color: #06348b;
}

#js-bar-chart {
  width: 100%;
  height: 346px;
}
#js-bar-chart canvas {
  margin: auto;
}

.bar_chart2 .chart_labels {
  position: relative;
  bottom: 7px;
}
.bar_chart2 .chart_labels .custom_legend li {
  text-align: center;
  line-height: 1.28;
  font-size: 12px;
  color: #06348b;
}

.maleChart_title,
.femaleChart_title {
  font-weight: 700;
  font-size: 42px;
  line-height: 1.4;
  color: #06348b;
  text-align: center;
  margin: 0.5em 0;
}

.custom_legend li {
  font-weight: 700;
  font-size: 14px;
}

/*===========
一覧ページページネーション
=============*/
.pagination {
  margin: 40px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4em;
}

.pagination :is(span, a) {
  display: inline-block;
  min-width: 2em;
  height: 2em;
  line-height: 1;
  padding: 0.5em 0.2em;
  text-align: center;
  border-radius: 50%;
  border: 1px solid #0082d8;
}

.pagination a {
  background-color: #0082d8;
  color: #fff;
}

.recr_contento_listbox .btn_wrap {
  text-align: center;
  margin-top: 1.6666666667em;
}
.recr_contento_listbox + .recr_contento_listbox {
  margin-top: 2.7777777778em;
}

.occupations {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.occupations p {
  font-size: 1.3888888889em;
}
.occupations .bosyuh {
  margin-right: 1em;
}

.new-entry {
  color: #fff;
  background: #E41815;
  line-height: 1.2;
  padding: 5px 5px 3px;
  margin-right: 20px;
}

.sourceshed {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.sourceshed span {
  font-size: 0.6666666667em;
  vertical-align: middle;
  color: #999999;
}
.sourceshed .employment,
.sourceshed .job_type {
  font-size: 0.7777777778em;
  display: inline-block;
  margin-bottom: 4px;
  padding: 0 5px;
  border-radius: 4px;
  color: #fff;
  line-height: 1.5;
  padding-top: 3px;
}

.employment {
  background: #00a0f0;
}

.bosyuch {
  font-weight: bold;
  font-size: 1.1111111111em;
  margin-top: 30px;
  margin-bottom: 5px;
}

.bosyuyoko {
  margin-top: 1em;
}
.bosyuyoko .sources {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 15px;
  border: 1px solid #CFCDCD;
  margin-bottom: -1px;
  background: #fff;
}
.bosyuyoko table {
  border-collapse: collapse;
  width: 100%;
}
.bosyuyoko th {
  text-align: left;
  vertical-align: top;
}
.bosyuyoko > table > tbody > tr > th {
  background: #E5E4E4;
}

.sachibox_text {
  padding: 1em;
  border: 1px solid #CFCDCD;
  margin-bottom: 30px;
}

.sachibox_texth {
  font-size: 1.2em;
}

.sachihed_pagination {
  margin-bottom: 30px;
  position: relative;
  text-align: center;
}

.search-hed__button {
  margin: auto;
  width: 90%;
  max-width: 200px;
}
.search-hed__button a {
  width: 100%;
  background: #00a0f0;
  color: #fff;
  border-radius: 5px;
  padding: 0.7em 0 0.9em;
}

/* Colorboxのオーバーレイとコンテンツを全画面に */
#cboxMiddleLeft {
  width: 100% !important;
  height: 0 !important;
}

.modal {
  display: none;
  position: relative;
}

#colorbox .modal {
  padding: 20px;
  display: block;
  background: #fff;
}

#colorbox,
#cboxOverlay {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 9999;
}

/* コンテンツ領域の調整 */
#cboxContent {
  width: 100% !important;
  height: 100% !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-sizing: border-box;
}

/* inlineモードのコンテンツを中央に表示 */
#cboxLoadedContent {
  width: 100% !important;
  max-height: 100vh;
  overflow-y: auto;
  background: #fff;
  box-sizing: border-box;
}

/* 閉じるボタンの位置調整（任意） */
#cboxClose {
  display: none;
}

.btn_wrap:has(#btn_close) {
  position: absolute;
  top: 20px;
  right: 40px;
  z-index: 10000;
}

.modal table {
  border-collapse: collapse;
  width: 100%;
}
.modal tr:not(:first-of-type) {
  border-top: 1px solid #CFCDCD;
}
.modal th {
  text-align: left;
  vertical-align: top;
  background: #E5E4E4;
  text-align: center;
}

.modal__title {
  font-size: 1.1111111111em;
  font-weight: 700;
  text-align: center;
}
.modal__title span {
  padding: 0 0 0 12px;
  font-weight: 500;
  font-size: 0.7em;
}

.search-item {
  margin: 50px 0;
}

.modal__fix-button {
  margin: auto;
  width: 90%;
  max-width: 340px;
}
.modal__fix-button button {
  width: 100%;
  background: #000;
  color: #fff;
  border-radius: 5px;
  padding: 0.7em 0 0.9em;
  text-align: center;
}

.news_list li {
  display: flex;
  justify-content: space-between;
}
.news_list li + li {
  margin-top: 30px;
}

.news_h {
  width: 100%;
}
.news_h h3 {
  font-size: 1em;
  font-size: max(1em, 18px);
}
.news_h p {
  font-size: max(0.8em, 14px);
}

.news_time {
  border-bottom: 1px solid #8A8A8A;
  padding-bottom: 0.3em;
  font-size: 0.8888888889em;
}

.aro_botm {
  margin-top: 1.5em;
}

.news_list_thumb {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-top: 2.2em;
  width: 35%;
  height: 21vw;
}

.news_title {
  text-align: center;
  margin-bottom: 3.3333333333em;
}
.news_title h2 {
  display: inline-block;
  border-top: 1px solid #787878;
  font-size: 1.5em;
  margin-top: 0.3em;
}

.news_content .btn_wrap {
  text-align: center;
  margin-top: 12.5vw;
}

.news_main img {
  margin: 1em auto;
}

.intern_evelistschedule {
  margin-top: 1.2em;
}
.intern_evelistschedule th {
  vertical-align: top;
  width: 5.5em;
  text-align: right;
}

.event_detimg h5,
.event_botmimg h5 {
  margin-bottom: 1em;
  text-align: center;
  font-size: 1.5em;
}

.event_detimg .acf-map {
  width: 100%;
  height: 400px;
}

.event_botmimg {
  text-align: center;
}

.event_detimgbox ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.event_detimgbox ul li + li {
  border: 0;
  padding-top: 0;
}

#text {
  -webkit-mask: url(#mask);
          mask: url(#mask);
}

.handwriting {
  width: 100%;
  height: auto;
}
.handwriting_text {
  fill: #fff;
}
.handwriting_mask_line {
  fill: none;
  stroke: #404040;
  stroke-width: 7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@keyframes handwriting {
  0% {
    stroke-dashoffset: 4000px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.site_menu_toggle {
  background-color: rgb(41, 42, 52.5);
  color: rgb(243, 244, 244);
  border-radius: 12px;
  cursor: pointer;
  z-index: 101;
  position: fixed;
  top: 16px;
  right: 40px;
  width: -moz-fit-content;
  width: fit-content;
  height: 44px;
  padding: 0.75rem 1.5rem 0.75rem 1.875rem;
  display: flex;
  align-items: center;
  transition: all 300ms cubic-bezier(0.22, 1, 0.36, 1);
}
.site_menu_toggle span {
  line-height: 0;
}
.site_menu_toggle span img {
  width: 15px;
}
.site_menu_toggle .site_menu_toggle_label {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  grid-template-areas: "label";
}
.site_menu_toggle .site_menu_toggle_label_before,
.site_menu_toggle .site_menu_toggle_label_after {
  grid-area: label;
  font-size: 16px;
}
.site_menu_toggle .site_menu_toggle_label_after {
  opacity: 0;
}
.site_menu_toggle.active {
  background-color: rgb(247, 249, 252);
  color: rgb(1, 2, 5);
}
.site_menu_toggle.active .site_menu_toggle_label_before {
  opacity: 0;
}
.site_menu_toggle.active .site_menu_toggle_label_after {
  opacity: 1;
}
.site_menu_toggle.active .site_menu_toggle_icon {
  display: block;
  position: relative;
  width: 20px;
  height: 20px;
}
.site_menu_toggle.active .site_menu_toggle_icon::before, .site_menu_toggle.active .site_menu_toggle_icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 20px;
  background: rgb(1, 2, 5);
}
.site_menu_toggle.active .site_menu_toggle_icon::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.site_menu_toggle.active .site_menu_toggle_icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.site_menu_toggle_wrapepr {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}

#page-top a {
  background: linear-gradient(90deg, rgb(0, 160, 240) 0%, rgb(6, 52, 139));
  color: #fff;
  text-decoration: none;
  width: 70px;
  height: 70px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
  will-change: transform;
}

#page-top a:hover {
  scale: 1.25;
  text-decoration: none;
  background: linear-gradient(135deg, rgb(50, 240, 220) 0%, rgb(110, 125, 255) 100%);
  text-decoration: none;
  opacity: 1;
}

.cutout {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 250/290;
  -webkit-mask-image: url(images/interview_path.svg);
          mask-image: url(images/interview_path.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
}
.cutout img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.archive_companiesw .cutout {
  aspect-ratio: 340/220;
  -webkit-mask-image: url(images/company_path.svg);
          mask-image: url(images/company_path.svg);
}/*# sourceMappingURL=style.css.map */