@keyframes bottom_to_top {
  0% {
    transform: translate3d(0, 3vw, 0);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.bottom_to_top {
  opacity: 0;
  transform: translate3d(0, 50px, 0) scaleY(1);
  transform-origin: top;
}

.bottom_to_top.active {
  animation: bottom_to_top 1.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s forwards;
}

@keyframes bottom_to_top {
  0% {
    opacity: 0;
    transform: translate3d(0, 50px, 0) scaleY(1);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scaleY(1);
  }
}
.bottom_to_tops > * {
  opacity: 0;
}

.bottom_to_tops.active > * {
  animation: bottom_to_top 0.6s cubic-bezier(0.4, 0.26, 0.15, 0.99) forwards;
}
.bottom_to_tops.active > *:nth-child(2) {
  animation-delay: 0.2s;
}
.bottom_to_tops.active > *:nth-child(3) {
  animation-delay: 0.4s;
}
.bottom_to_tops.active > *:nth-child(4) {
  animation-delay: 0.6s;
}
.bottom_to_tops.active > *:nth-child(5) {
  animation-delay: 0.7s;
}
.bottom_to_tops.active > *:nth-child(6) {
  animation-delay: 0.8s;
}
.bottom_to_tops.active > *:nth-child(7) {
  animation-delay: 0.9s;
}
.bottom_to_tops.active > *:nth-child(8) {
  animation-delay: 1s;
}
.bottom_to_tops.active > *:nth-child(9) {
  animation-delay: 1.1s;
}
.bottom_to_tops.active > *:nth-child(10) {
  animation-delay: 1.2s;
}

@keyframes left_to_right {
  0% {
    transform: translate3d(-3vw, 0, 0);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.left_to_right {
  opacity: 0;
}

.left_to_right.active {
  animation: left_to_right 0.6s cubic-bezier(0.4, 0.26, 0.15, 0.99) forwards;
}

@keyframes right_to_left {
  0% {
    transform: translate3d(3vw, 0, 0);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.right_to_left {
  opacity: 0;
}

.right_to_left.active {
  animation: right_to_left 0.6s cubic-bezier(0.4, 0.26, 0.15, 0.99) forwards;
}

@keyframes top_to_bottom {
  0% {
    transform: translate3d(0, -3vw, 0);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.top_to_bottom {
  opacity: 0;
}

.top_to_bottom.active {
  animation: top_to_bottom 0.6s cubic-bezier(0.4, 0.26, 0.15, 0.99) forwards;
}

.bg_black_amin {
  overflow: hidden;
  position: relative;
}

.bg_black_amin:before {
  background: #a0a0a0;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transform: translateX(-100%);
  transition: all 0.8s 0s ease;
  width: 100%;
  z-index: 1;
}

.bg_black_amin img {
  opacity: 0;
  transition: all 0.8s 0s ease;
}

.bg_black_amin.active img {
  opacity: 1;
  transition: all 0.5s 0.3s ease;
}

.bg_black_amin.active:before {
  transform: translateX(100%);
}

.show_text {
  position: relative;
  transition: clip-path 2s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}

.show_text.active {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  transition-delay: 0.3s;
}

.role_to {
  opacity: 0;
  transform: rotate(10deg);
  transition: all 0.8s 0s ease;
}

.role_to.active {
  opacity: 1;
  transform: rotate(0deg);
}

.big_to {
  opacity: 0;
  transform: scale(1.1);
  transition: all 0.8s 0s ease;
}
.big_to.active {
  opacity: 1;
  transform: scale(1);
}

.fadeIn {
  opacity: 0;
  transition: all 0.8s 0s ease;
  transition-delay: 0.3s;
}
.fadeIn.active {
  opacity: 1;
}

.showvis span:nth-child(1):after {
  top: 48%;
}

.showvis span:nth-child(2):after {
  top: 80%;
}

.showvis span:nth-child(3):after {
  top: 54%;
}

.showvis span:nth-child(1):before {
  top: -5px;
  left: -5px;
}

.showvis span:nth-child(2):before {
  top: -3px;
  left: 1px;
}

.showvis span:nth-child(3):before {
  top: 2px;
  left: -2px;
}

.showvis.showvisDelay span:nth-child(1):before {
  top: 20px;
}

.showvis.active span:nth-child(1):after {
  animation: leftin 0.5s ease 0.2s forwards;
}

.showvis.active span:nth-child(2):after {
  animation: leftin 0.5s ease 0.4s forwards;
}

.showvis.active span:after {
  animation: leftin 0.5s ease 0s forwards;
}

.showvis.active span:before {
  animation: chikachika 0.1s ease 0.7s infinite, chikachika2 0.1s ease 1.2s forwards;
}

.showvis.active span {
  animation: fadeIn 1s ease 0.7s forwards;
}

.showvis.showvisDelay.active span:after {
  animation: leftin 0.4s ease 0.2s forwards;
}

.showvis.showvisDelay.active span:before {
  animation: chikachika 0.1s ease 0.8s infinite, chikachika2 0.1s ease 1.4s forwards;
}

.showvis.showvisDelay.active span {
  animation: fadeIn 1s ease 0.9s forwards;
}

@keyframes fadeIn {
  from {
    color: transparent !important;
    text-shadow: 0px 0px 3px #fff, 0px 0px 5px #fff, 0px 0px 8px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 20px #fff;
  }
  to {
    text-shadow: none;
    color: #fff !important;
  }
}
@keyframes chikachika {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 0;
  }
}
@keyframes chikachika2 {
  from {
    opacity: 0.4;
  }
  to {
    opacity: 0;
    transform: scaleX(0);
  }
}
@keyframes leftin {
  0% {
    transform: translateX(1000px) scale(1);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
  70% {
    transform: scale(1);
  }
  90% {
    transform: scale(20);
  }
  100% {
    transform: translateX(0px) scale(20);
    opacity: 0;
  }
}
html {
  scroll-behavior: smooth;
}

html, body {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
  padding: 0;
  font-feature-settings: "palt" 1;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) and (min-width: 2116px), only screen and (min-device-pixel-ratio: 2) and (min-width: 2116px) {
  html, body {
    font-size: 1.1vw;
  }
  .wrap {
    width: 1700px !important;
  }
  .sbAbout .wrap {
    max-width: 2116px !important;
  }
  .sbService .sbc .service_items .service_item .wrap {
    width: 1700px !important;
  }
  .sbValue .wrap {
    max-width: 2116px !important;
  }
  .sbNews .wrap {
    max-width: 2116px !important;
  }
  .sbOffice .wrap {
    max-width: 2116px !important;
  }
  .sbGroup .wrap {
    max-width: 2116px !important;
  }
  .banners .wrap {
    max-width: 1900px !important;
  }
  .site_footer .wrap {
    max-width: 2116px !important;
  }
  .site_contentService .sbLinks .wrap {
    max-width: 1340px !important;
  }
  .site_contentService .sbS_secu .wrap {
    max-width: 1940px !important;
  }
  .site_contentService .sbS_consul .wrap {
    max-width: 1940px !important;
  }
  .sbService .sbc .service_items .service_item:nth-child(1):after {
    opacity: 1;
  }
  .sbService .sbc .service_items .service_item:nth-child(2):after {
    opacity: 1;
  }
  .sbService .sbc .service_items .service_item:nth-child(3):after {
    opacity: 1;
  }
  .sbService .sbc .service_items .service_item:nth-child(4):after {
    opacity: 1;
  }
}
@media screen and (max-width: 1000px) {
  html, body {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 880px) {
  html, body {
    font-size: 3.7vw;
  }
}
img {
  vertical-align: bottom;
  width: 100%;
}

main {
  position: relative;
  width: 100%;
  overflow: hidden;
}

figure {
  margin: 0;
  padding: 0;
}

ul, ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

a {
  text-decoration: none;
  color: #000;
}

p {
  margin: 0;
}

h1, h2, h3 {
  margin: 0;
}

.rwd_show {
  display: none;
}

@media screen and (max-width: 600px) {
  .rwd_hide {
    display: none;
  }
  .rwd_show {
    display: inline;
  }
}
.wrap {
  width: 850px;
  padding: 0 5vw;
  margin: 0 auto;
}

.wrapaW {
  width: 1080px;
  padding: 0 5vw;
  margin: 0 auto;
}

.wrapaW2 {
  width: 970px;
}

@media screen and (max-width: 1000px) {
  .wrap {
    width: auto;
  }
}
.site_header {
  display: flex;
  position: sticky;
  top: 0;
  background-color: rgba(255, 255, 255, 0.8392156863);
  z-index: 100;
  justify-content: space-between;
  align-items: center;
  padding-right: 2.25rem;
}
.site_header h1 a {
  width: 8.8125rem;
  display: flex;
  align-items: center;
  padding-top: 1.4375rem;
  padding-bottom: 1.25rem;
  padding-left: 3.125rem;
}
.site_header .site_header_right {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.site_header .contact_nav ul {
  display: flex;
}
.site_header .contact_nav ul li a {
  background-color: #000;
  display: block;
  color: #fff;
  padding: 0.2rem 0.9375rem;
  transition: all ease 0.3s;
  border: 2px solid #000;
}
.site_header .contact_nav ul li a:hover {
  background-color: #fff;
  color: #000;
}

.sp_button.active span {
  background-color: #fff;
  transform: rotate(45deg);
}
.sp_button.active span:after {
  transform: rotate(90deg);
  background-color: #fff;
  bottom: 0;
}
.sp_button.active span:before {
  opacity: 0;
  background-color: #fff;
}
.sp_button {
  transition: all ease 0.3s;
  width: 3.125rem;
  height: 1.875rem;
  display: block;
  background-color: transparent;
  border: 0;
  margin: 0;
  cursor: pointer;
  padding: 0;
  z-index: 100;
}
.sp_button span {
  width: 100%;
  display: block;
  height: 3px;
  background-color: #000;
  position: relative;
  transition: all ease 0.3s;
}
.sp_button span:before {
  transition: all ease 0.3s;
  content: "";
  width: 100%;
  display: block;
  height: 3px;
  background-color: #000;
  position: absolute;
  top: -0.75rem;
  left: 0;
}
.sp_button span:after {
  transition: all ease 0.3s;
  content: "";
  width: 100%;
  display: block;
  height: 3px;
  background-color: #000;
  position: absolute;
  bottom: -0.75rem;
  left: 0;
}

@media screen and (max-width: 880px) {
  .site_header h1 a {
    padding-left: 5vw;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .site_header {
    padding-right: 5vw;
  }
  .site_header .site_header_right {
    gap: 5vw;
  }
}
.mv {
  position: relative;
}
.mv .mv_in {
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  text-align: center;
  color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.mv .mv_in h2 {
  font-size: 2.1875rem;
  font-weight: 400;
  margin-bottom: 1rem;
}
.mv .mv_in p {
  font-size: 1.25rem;
  line-height: 2;
}

@media screen and (max-width: 880px) {
  .mv .mv_in h2 {
    font-size: 1.25rem;
  }
  .mv .mv_in p {
    font-size: 90%;
  }
}
.sb {
  padding: 6.25rem 0;
}
.sb h3 {
  font-weight: normal;
  text-align: center;
}
.sb {
  padding-bottom: 5.3125rem;
}
.sb .sbh {
  text-align: center;
  margin-bottom: 4.125rem;
}
.sb .sbh .en {
  color: #b2b2b2;
}
.sb .sbh h2 {
  font-size: 2.5rem;
  font-weight: normal;
  line-height: 1.3;
  margin-top: 1rem;
}

@media screen and (max-width: 880px) {
  .sb .sbh h2 {
    font-size: 180%;
  }
}
.more {
  display: block;
  background-color: #000;
  color: #fff;
  text-align: center;
  width: 15.625rem;
  position: relative;
  padding: 0.3rem 0.9375rem;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  transition: all ease 0.3s;
  font-size: 1.125rem;
  border: 3px solid #000;
}
.more:before {
  content: "";
  display: block;
  width: 1.5625rem;
  height: 1.5625rem;
  background-image: url(../img/pointer_right.png);
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjQuNDA5cHgiIGhlaWdodD0iMjUuMzk0cHgiIHZpZXdCb3g9Ii05MTIgLTM4OC4wNjggMjQuNDA5IDI1LjM5NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAtOTEyIC0zODguMDY4IDI0LjQwOSAyNS4zOTQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxyZWN0IGZpbGw9Im5vbmUiIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHgxPSItOTEyIiB5MT0iLTM3NS4zNzIiIHgyPSItODg5LjcxMiIgeTI9Ii0zNzUuMzcyIi8+PHBvbHlsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50cz0iLTkwMS4zNDksLTM2My43MzUgLTg4OS43MTIsLTM3NS4zNzEgLTkwMS4zNDksLTM4Ny4wMDggIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0.625rem;
  transition: all ease 0.3s;
}
.more:hover {
  background-color: #fff;
  color: #000;
  opacity: 0.8;
}
.more:hover:before {
  right: 0.5rem;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iMjQuNDA5cHgiIGhlaWdodD0iMjUuMzk0cHgiIHZpZXdCb3g9Ii05MTIgLTM4OC4wNjggMjQuNDA5IDI1LjM5NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAtOTEyIC0zODguMDY4IDI0LjQwOSAyNS4zOTQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxyZWN0IGZpbGw9Im5vbmUiIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIvPjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHgxPSItOTEyIiB5MT0iLTM3NS4zNzIiIHgyPSItODg5LjcxMiIgeTI9Ii0zNzUuMzcyIi8+PHBvbHlsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHBvaW50cz0iLTkwMS4zNDksLTM2My43MzUgLTg4OS43MTIsLTM3NS4zNzEgLTkwMS4zNDksLTM4Ny4wMDggIi8+PC9zdmc+");
}

@media screen and (max-width: 880px) {
  .more:before {
    width: 1rem;
    height: 1rem;
    right: 0.2rem;
  }
}
.sbAbout {
  background-color: rgba(178, 178, 178, 0.1019607843);
}
.sbAbout .wrap {
  max-width: 1058px;
  width: auto;
}
.sbAbout .sbflex {
  display: flex;
  gap: 2.3125rem;
}
.sbAbout .sbflex li h3 {
  text-align: center;
  font-size: 1.5625rem;
  border-bottom: 1px solid #000;
  font-weight: normal;
}
.sbAbout .sbflex li .en {
  text-align: center;
  font-size: 1.125rem;
  padding: 1rem 0;
}
.sbAbout .sbflex li > div p {
  padding-bottom: 2rem;
}

@media screen and (max-width: 880px) {
  .sbAbout .sbflex li h3 {
    font-size: 1.5625rem;
  }
  .sbAbout .sbflex li .en {
    font-size: 1rem;
  }
  .sbAbout .sbflex li > div p {
    font-size: 1rem;
  }
  .sbAbout .sbflex {
    flex-direction: column;
    gap: 3rem;
  }
}
.sbService .sbc .en {
  color: #b2b2b2;
  font-size: 1.25rem;
  text-align: center;
}
.sbService .sbc h3 {
  font-size: 2rem;
  margin: 1.5rem 0;
  font-weight: normal;
}
.sbService .sbc .service_items .service_item {
  display: block;
}
.sbService .sbc .service_items .service_item .wrap {
  position: relative;
  z-index: 2;
}
.sbService .sbc .service_items .service_item {
  border-bottom: 1px solid #000;
  padding: 6.25rem 0;
  position: relative;
  transition: all ease 0.3s;
}
.sbService .sbc .service_items .service_item:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/top/bg_req.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all ease 0.3s;
}
.sbService .sbc .service_items .service_item:nth-child(1) {
  border-top: 1px solid #000;
}
.sbService .sbc .service_items .service_item:nth-child(3):after {
  background-image: url(../img/top/bg_infra.png);
}
.sbService .sbc .service_items .service_item:hover {
  border-color: transparent;
  color: #fff;
}
.sbService .sbc .service_items .service_item:hover:after {
  opacity: 1;
}
.sbService .sbc .service_items .service_item:hover:nth-child(1) {
  border-top: 1px solid transparent;
}
.sbService .sbc .service_items .service_item:hover:nth-child(1):after {
  background-image: url(../img/top/bg_req.png);
}
.sbService {
  padding-bottom: 0;
}

@media screen and (max-width: 880px) {
  .sbService .sbc .en {
    font-size: 1rem;
  }
  .sbService .sbc .service_items .service_item {
    color: #fff;
  }
  .sbService .sbc .service_items .service_item:after {
    opacity: 1;
    color: #fff;
  }
}
.sbReasons .sbc ul {
  margin-top: 1.875rem;
  display: flex;
  gap: 1.875rem;
  row-gap: 1.25rem;
  flex-wrap: wrap;
  margin-bottom: 3.125rem;
}
.sbReasons .sbc ul li {
  flex: 0 1 calc((100% - 5.625rem) / 4);
}
.sbReasons .sbc ul li a {
  display: block;
  display: block;
  transition: all ease 0.3s;
}
.sbReasons .sbc ul li a:hover {
  box-shadow: 0.1rem 0.1rem 0.5rem rgba(0, 0, 0, 0.5);
  transform: translate3d(0.1rem, 0.1rem, 0);
}

@media screen and (max-width: 880px) {
  .sbReasons .sbc ul li {
    flex: 0 1 calc((100% - 1.875rem) / 2);
  }
}
.sbValue {
  background-color: rgba(178, 178, 178, 0.1019607843);
}
.sbValue .wrap {
  max-width: 1058px;
  width: auto;
}
.sbValue ol {
  display: flex;
  counter-reset: listnum;
}
.sbValue ol li {
  background-color: #fff;
  border: 1px solid #000;
  padding: 2rem;
  padding-top: 0;
  margin-left: -1px;
  counter-increment: listnum;
}
.sbValue ol li > div {
  padding-bottom: 3.125rem;
}
.sbValue ol li > div h3 {
  line-height: 1.4;
}
.sbValue ol li > div h3:before {
  content: "0" counter(listnum);
  display: block;
  font-size: 5rem;
  text-align: center;
}
.sbValue ol li > div h3 {
  text-align: center;
  font-size: 1.25rem;
  font-weight: normal;
  margin-bottom: 1rem;
}

@media screen and (max-width: 880px) {
  .sbValue ol {
    flex-direction: column;
  }
  .sbValue ol li {
    margin-top: -1px;
  }
  .sbValue ol li > div h3 {
    font-size: 150%;
  }
  .sbValue ol li > div h3:before {
    font-size: 250%;
  }
  .sbValue ol li > div {
    padding-bottom: 0;
  }
}
.sbNews {
  background-color: rgba(178, 178, 178, 0.1019607843);
}
.sbNews .wrap {
  max-width: 1058px;
  width: auto;
}
.sbNews .sbc > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4.6875rem;
  row-gap: 2.5rem;
  margin-bottom: 4.5rem;
}
.sbNews .sbc > ul li {
  flex: 0 1 calc((100% - 9.375rem) / 2);
}
.sbNews .sbc > ul li a {
  display: flex;
  gap: 1rem;
}
.sbNews .sbc > ul li a figure {
  flex: 0 1 9.375rem;
  width: 9.375rem;
  height: 9.375rem;
  overflow: hidden;
}
.sbNews .sbc > ul li a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all ease 0.3s;
}
.sbNews .sbc > ul li a:hover img {
  transform: scale(1.1);
}
.sbNews .sbc > ul li a > div {
  flex: 1;
}
.sbNews .sbc > ul li a > div .cats {
  display: flex;
  gap: 1rem;
}
.sbNews .sbc > ul li a > div .cats li span {
  display: block;
  min-width: 6rem;
  color: #fff;
  white-space: nowrap;
  font-size: 1.125rem;
  padding: 0rem 1rem;
  text-align: center;
}
.sbNews .sbc > ul li a > div h3 {
  text-align: left;
  font-size: 1.25rem;
  margin-bottom: 1rem;
  font-weight: normal;
  line-height: 1.4;
  margin-top: 0.5rem;
}
.sbNews .sbc > ul li a > div .date {
  color: #6c6c6c;
  font-size: 1.25rem;
}

@media screen and (max-width: 880px) {
  .sbNews .sbc > ul {
    flex-direction: column;
  }
  .sbNews .sbc > ul h3 {
    text-align: left;
  }
  .sbNews .sbc > ul li a > div .cats li span {
    font-size: 90%;
    min-width: auto;
  }
  .sbNews .sbc > ul li a > div h3 {
    font-size: 100%;
  }
  .sbNews .sbc > ul li a > div .date {
    font-size: 100%;
  }
}
.sbReq {
  position: relative;
  padding-bottom: 0;
}
.sbReq .sbc {
  padding-top: 11.875rem;
  padding-bottom: 12.5rem;
  position: relative;
}
.sbReq .sbc:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-image: url(../img/top/bg_req.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.sbReq .sbc .wrap {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
}
.sbReq .sbc .en {
  font-size: 3.125rem;
}
.sbReq .sbc ul {
  display: flex;
  gap: 2rem;
  justify-content: center;
}
.sbReq .sbc ul li a {
  display: block;
  color: #fff;
  font-size: 1.25rem;
  transition: all ease 0.3s;
}
.sbReq .sbc ul li a:hover {
  transform: translate3d(2px, 0, 0);
  opacity: 0.8;
}

@media screen and (max-width: 880px) {
  .sbReq {
    padding-bottom: 0;
  }
  .sbReq .sbc {
    padding: 5rem 0;
  }
  .sbReq .sbc:after {
    background-position: center;
  }
  .sbReq .sbc .en {
    font-size: 2.1875rem;
  }
}
.sbOffice .wrap {
  max-width: 1058px;
  width: auto;
}
.sbOffice h3 {
  -moz-text-align-last: left;
       text-align-last: left;
  font-size: 1.875rem;
  font-weight: normal;
}
.sbOffice .offcein {
  display: flex;
  gap: 2.5rem;
  align-items: flex-end;
}
.sbOffice .offcein figure {
  flex: 0 1 14.5625rem;
}
.sbOffice .offcein table {
  flex: 1;
  border-collapse: collapse;
}
.sbOffice .offcein table th {
  font-size: 1.25rem;
  font-weight: normal;
  border-bottom: 1px solid #b2b2b2;
  padding-top: 1rem;
  text-align: left;
}
.sbOffice .offcein table td {
  padding-top: 1rem;
  font-size: 1.25rem;
  border-bottom: 1px solid #b2b2b2;
  line-height: 1.6;
}
.sbOffice .offcein table tr:nth-child(1) td {
  position: relative;
}
.sbOffice .offcein table tr:nth-child(1) td .map_pin {
  content: "";
  display: block;
  width: 2.125rem;
  height: 2.125rem;
  background-image: url(../img/map.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 0.5rem;
  bottom: 1rem;
}

@media screen and (max-width: 880px) {
  .sbOffice .offcein {
    flex-direction: column-reverse;
  }
  .sbOffice .offcein table th {
    vertical-align: top;
  }
  .sbOffice .offcein table td {
    font-size: 100%;
  }
  .sbOffice .offcein table th {
    font-size: 100%;
    width: 7rem;
  }
  .sbOffice .offcein table tr:nth-child(1) td .map_pin {
    right: -0.7rem;
  }
}
.sbGroup {
  background-color: #6c6c6c;
  padding: 3.75rem 0;
  padding-bottom: 5.875rem;
  color: #fff;
}
.sbGroup .wrap {
  max-width: 1058px;
  width: auto;
}
.sbGroup .groups {
  display: flex;
  flex-wrap: wrap;
  row-gap: 5rem;
}
.sbGroup .groups > div {
  flex: 0 1 50%;
  border-left: 1px solid #fff;
  padding: 0 3.75rem;
  box-sizing: border-box;
  text-align: center;
}
.sbGroup .groups > div:nth-child(2n) {
  border-right: 1px solid #fff;
}
.sbGroup .groups > div h3 {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 1.5625rem;
  font-weight: normal;
}
.sbGroup .groups > div p {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.sbGroup .groups > div a {
  font-size: 1.25rem;
  display: block;
  color: #000;
  background-color: #fff;
  margin-bottom: -0.5rem;
  padding: 0.5rem 0;
  transition: all ease 0.3s;
}
.sbGroup .groups > div a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 880px) {
  .sbGroup .groups {
    flex-direction: column;
  }
  .sbGroup .groups > div h3 {
    font-size: 130%;
  }
  .sbGroup .groups > div p {
    font-size: 100%;
  }
  .sbGroup .groups > div {
    padding: 0 5vw;
  }
  .sbGroup .groups > div:nth-child(2n+1) {
    border-right: 1px solid #fff;
  }
}
.banners {
  padding: 3.375rem 0;
}
.banners .wrap {
  max-width: 950px;
  width: auto;
}
.banners ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  row-gap: 1.5rem;
}
.banners ul li {
  flex: 0 1 calc((100% - 5.25rem) / 4);
}
.banners ul li a {
  display: block;
  transition: all ease 0.3s;
}
.banners ul li a:hover {
  box-shadow: 0.1rem 0.1rem 0.5rem rgba(0, 0, 0, 0.5);
  transform: translate3d(0.1rem, 0.1rem, 0);
}

@media screen and (max-width: 880px) {
  .banners ul li {
    flex: 0 1 calc((100% - 1.75rem) / 2);
  }
}
.site_footer {
  background-color: #000;
  color: #fff;
  padding: 5.4375rem 0;
  padding-bottom: 1.875rem;
}
.site_footer .footer_logos {
  display: flex;
  gap: 2rem;
  margin-bottom: 5.375rem;
  align-items: center;
}
.site_footer .footer_logos figure {
  flex: 0 1 10.5625rem;
}
.site_footer .footer_logos h2 {
  line-height: 1.3;
  font-weight: normal;
  font-size: 1.5625rem;
}
.site_footer .footer_logos h2 span {
  display: block;
}
.site_footer .footer_logos h2 span:first-child {
  font-size: 1.125rem;
}
.site_footer .wrap {
  max-width: 1058px;
  width: auto;
}
.site_footer .footer_nav {
  display: flex;
  margin-bottom: 5.9375rem;
}
.site_footer .footer_nav a {
  transition: all ease 0.3s;
  color: #fff;
}
.site_footer .footer_nav a:hover {
  opacity: 0.7;
}
.site_footer .footer_nav > div {
  flex: 1;
  border-left: 1px solid #fff;
  padding-left: 1rem;
  box-sizing: border-box;
}
.site_footer .footer_nav > div > p {
  font-size: 1.25rem;
  margin-bottom: 1.1875rem;
}
.site_footer .footer_nav > div ul {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1rem;
}
.site_footer .footer_nav > div ul li a {
  display: block;
  color: #fff;
}
.site_footer .footer_nav .footer_nav_banners {
  margin-top: 1.125rem;
}
.site_footer .footer_nav .footer_nav_banners a {
  display: block;
  margin-bottom: 1.25rem;
  text-align: center;
  color: #000;
}
.site_footer .footer_nav .footer_nav_banners a:last-child {
  margin-bottom: 0;
}
.site_footer .footer_nav .footer_nav_banners .fcontact {
  background-color: #fff;
  padding: 0.5rem;
  text-align: center;
  font-size: 1.25rem;
}
.site_footer .copy {
  text-align: center;
  font-size: 1.125rem;
}

@media screen and (max-width: 880px) {
  .site_footer .footer_logos {
    flex-direction: column;
    align-items: flex-start;
  }
  .site_footer .footer_logos figure {
    width: 50%;
    flex: 1;
  }
  .site_footer .footer_nav {
    flex-direction: column;
  }
  .site_footer .footer_nav > div {
    margin-bottom: 2rem;
    border: 0;
    padding-left: 0;
  }
  .site_footer .footer_nav > div > p {
    border-bottom: 1px solid #fff;
    padding-bottom: 0.5rem;
  }
  .site_footer .footer_logos {
    margin-bottom: 3rem;
  }
  .site_footer .copy {
    font-size: 80%;
  }
}
.site_contentUnder .mv .mv_in h2 {
  margin-bottom: 0;
}
.site_contentUnder .mv .mv_in .en {
  font-size: 1rem;
}

.site_contentService .sb {
  border-bottom: 1px solid #000;
}
.site_contentService {
  /*service*/
}
.site_contentService .sbLinks {
  border-bottom: 1px solid #000000;
}
.site_contentService .sbLinks .wrap {
  max-width: 620px;
  width: auto;
}
.site_contentService .sbLinks nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  row-gap: 0.625rem;
}
.site_contentService .sbLinks nav ul li {
  flex: 0 1 calc((100% - 2.5rem) / 2);
}
.site_contentService .sbLinks nav ul li a {
  display: block;
  text-align: center;
  color: #fff;
  width: auto;
}
.site_contentService .sbLinks nav ul li a:hover {
  color: #000;
}
.site_contentService .sbLinks nav .more:before {
  left: -3px;
  right: auto;
}
.site_contentService .sbS_secu {
  padding-bottom: 8.75rem;
}
.site_contentService .sbS_secu .wrap {
  width: auto;
  max-width: 970px;
}
.site_contentService .sbS_secu .sbc {
  background-image: url(../img/service/bg_req.png);
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  padding: 4.375rem 0;
  padding-bottom: 5rem;
}
.site_contentService .sbS_secu .sbc h3 {
  color: #ceff00;
  font-size: 1.5rem;
  margin-bottom: 3rem;
}
.site_contentService .sbS_secu .sbc div p {
  font-size: 1.25rem;
}
.site_contentService .sbS_consul {
  padding-bottom: 8.75rem;
}
.site_contentService .sbS_consul .wrap {
  width: auto;
  max-width: 970px;
}
.site_contentService .sbS_consul .sbcTop {
  background-image: url(../img/service/bg_req.png);
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  padding: 4.375rem 0;
  padding-bottom: 5rem;
}
.site_contentService .sbS_consul .sbcTop h3 {
  font-size: 1.5rem;
  margin-bottom: 3rem;
}
.site_contentService .sbS_consul .sbcTop div p {
  font-size: 1.25rem;
}
.site_contentService .sbS_consul .sbcSec .wrap {
  width: auto;
  max-width: 1058px;
}
.site_contentService .sbS_consul .sbcSec .consul_buttom {
  padding: 7.6875rem 0;
  padding-bottom: 0;
}
.site_contentService .sbS_consul .sbcSec .consul_buttom h3 {
  font-size: 1.875rem;
  margin-bottom: 3rem;
}
.site_contentService .sbS_consul .sbcSec .consul_buttom > p {
  font-size: 1.1875rem;
  margin-bottom: 3rem;
}
.site_contentService .sbS_consul .sbcSec .consul_buttom ol {
  counter-reset: listnum;
}
.site_contentService .sbS_consul .sbcSec .consul_buttom ol li {
  counter-increment: listnum;
  background-color: #f7f7f7;
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  display: flex;
  align-items: center;
}
.site_contentService .sbS_consul .sbcSec .consul_buttom ol li:last-child {
  margin-bottom: 0;
}
.site_contentService .sbS_consul .sbcSec .consul_buttom ol li:before {
  content: "0" counter(listnum);
  font-size: 2rem;
  width: 5.75rem;
  text-align: center;
}
.site_contentService .sbS_consul .sbcSec .consul_buttom ol li p {
  flex: 1;
  font-size: 1.25rem;
}
.site_contentService .sbcBg {
  background-image: url(../img/service/bg_req.png);
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  padding: 4.375rem 0;
  padding-bottom: 5rem;
}
.site_contentService .sbcBg h3 {
  font-size: 1.5rem;
  margin-bottom: 3rem;
}
.site_contentService .sbcBg p {
  font-size: 1.25rem;
}
.site_contentService .sbcButtom {
  padding: 7.6875rem 0;
  padding-bottom: 0;
}
.site_contentService .sbcButtom h3 {
  font-size: 1.875rem;
  margin-bottom: 3rem;
}
.site_contentService .sbcButtom .wrap > p {
  font-size: 1.25rem;
  margin-bottom: 3rem;
}
.site_contentService .sbcButtom_in {
  padding: 4.1875rem 2.5rem;
  border: 1px solid #000;
}
.site_contentService .sbcButtom_in h3 {
  font-size: 1.875rem;
  margin-bottom: 2rem;
}
.site_contentService .sbcButtom_in h4 {
  font-size: 1.875rem;
  margin: 0;
  margin-bottom: 2rem;
  text-align: center;
  font-weight: normal;
}
.site_contentService .sbcButtom_in ul li {
  display: flex;
  padding: 0.5rem 0;
  border-bottom: 1px solid #000;
}
.site_contentService .sbcButtom_in ul li > p {
  flex: 1;
  letter-spacing: -0.01rem;
}
.site_contentService .sbcButtom_in ul li > p:first-child {
  flex: 0 1 9rem;
}
.site_contentService .sbcButtom_ulbg {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.site_contentService .sbcButtom_ulbg li {
  background-color: #f7f7f7;
  font-size: 1.25rem;
  padding: 1.5rem;
}
.site_contentService .sbReq {
  padding-top: 0;
}
.site_contentService .sbSys {
  border-bottom: 0;
}
.site_contentService .sbSys nav {
  padding: 3.125rem 0;
}
.site_contentService .sbSys nav ul {
  display: flex;
}
.site_contentService .sbSys nav ul li {
  border: 1px solid #000;
  flex: 1;
  box-sizing: border-box;
  border-bottom: 1px solid #000;
  margin-left: -1px;
}
.site_contentService .sbSys nav ul li a {
  display: block;
}
.site_contentService .sbSys nav ul li a h3 {
  font-size: 1.25rem;
  line-height: 1.3;
}
.site_contentService .sbSys nav ul li a {
  padding: 4rem 0;
  padding-bottom: 3rem;
}
.site_contentService .sbSys nav ul li a figure {
  width: 5rem;
  height: 5rem;
  margin: 0 auto;
  margin-bottom: 1rem;
}
.site_contentService .sbSys nav ul li a {
  transition: all ease 0.3s;
}
.site_contentService .sbSys nav ul li a:hover {
  background-color: #f7f7f7;
}
.site_contentService .sbSys .sys_bottom_items .sys_bottom_item {
  padding: 3.75rem 0;
}
.site_contentService .sbSys .sys_bottom_items .sys_bottom_item > figure {
  width: 3.125rem;
  height: 3.125rem;
  margin: 0 auto;
  margin-bottom: 1.25rem;
}
.site_contentService .sbSys .sys_bottom_items .sys_bottom_item h3 {
  font-size: 1.875rem;
  margin-bottom: 3rem;
}
.site_contentService .sbSys .sys_bottom_items .sys_bottom_item > p {
  font-size: 1.25rem;
  margin-bottom: 2rem;
}
.site_contentService .sbSys .sys_bottom_items .sys_bottom_item .sys_bottome_item_in h4 {
  font-size: 1.875rem;
  margin-bottom: 3rem;
}

@media screen and (max-width: 880px) {
  .site_contentService .sbLinks {
    padding: 5vw 0;
  }
  .site_contentService .sbLinks nav ul {
    flex-direction: column;
  }
  .site_contentService .sbLinks nav ul li a {
    font-size: 100%;
  }
}
.site_contentRec {
  /*recruit*/
}
.site_contentRec .mv_rec {
  position: relative;
  overflow: hidden;
}
.site_contentRec .mv_rec .mv_rec_in {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  margin: auto;
  height: 100%;
  width: 40%;
  padding-left: 6.25rem;
}
.site_contentRec .mv_rec .mv_rec_in > * {
  position: relative;
  z-index: 10;
}
.site_contentRec .mv_rec .mv_rec_in h2 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: normal;
  margin-bottom: 2rem;
}
.site_contentRec .mv_rec .mv_rec_in > p {
  width: 28.75rem;
  line-height: 2;
  margin-bottom: 2rem;
  font-size: 1.125rem;
}
.site_contentRec .mv_rec .mv_rec_in .mv_rec_in_buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}
.site_contentRec .mv_rec .mv_rec_in .mv_rec_in_buttons a {
  width: 16.875rem;
}
.site_contentRec .mv_rec .mv_rec_in:before {
  content: "";
  display: block;
  width: 200%;
  height: 100%;
  background-color: #fff;
  transform: skew(-17deg, 0);
  position: absolute;
  top: 0;
  right: -10rem;
  z-index: 1;
}
.site_contentRec .mv_rec figure {
  transform: translate3d(10%, 0, 0);
}
.site_contentRec .rec_banner {
  text-align: center;
  padding: 2.9375rem;
  background-color: #eaeaea;
}
.site_contentRec .rec_banner a {
  display: block;
  width: 28.125rem;
  margin: 0 auto;
  transition: all ease 0.3s;
}
.site_contentRec .rec_banner a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 880px) {
  .site_contentService .sbS_secu .sbc {
    background-position: center;
  }
  .site_contentService .sbS_secu .sbc div p {
    font-size: 100%;
  }
  .site_contentService .sbS_consul .sbcTop div p {
    font-size: 100%;
  }
  .site_contentService .sbS_consul .sbcTop {
    background-position: center;
  }
  .site_contentService .sbS_consul .sbcSec .consul_buttom h3 {
    font-size: 150%;
  }
  .site_contentService .sbS_consul .sbcSec .consul_buttom > p {
    font-size: 100%;
  }
  .site_contentService .sbS_consul .sbcSec .consul_buttom ol li p {
    font-size: 100%;
  }
  .site_contentService .sbcBg h3 {
    font-size: 150%;
  }
  .site_contentService .sbcBg p {
    font-size: 100%;
  }
  .site_contentService .sbcBg {
    background-position: center;
  }
  .site_contentService .sbcButtom .wrap > p {
    font-size: 100%;
  }
  .site_contentService .sbSys nav ul li a h3 {
    font-size: 120%;
  }
  .site_contentService .sbSys nav ul li {
    flex: 0 1 50%;
    margin-top: -1px;
  }
  .site_contentService .sbSys nav ul {
    flex-wrap: wrap;
  }
  .site_contentService .sbSys nav ul li a figure {
    width: 4rem;
    height: 4rem;
  }
  .site_contentService .sbSys .sys_bottom_items .sys_bottom_item h3 {
    font-size: 150%;
  }
  .site_contentService .sbcButtom h3 {
    font-size: 150%;
  }
  .site_contentService .sbcButtom_in h3 {
    font-size: 150%;
  }
  .site_contentService .sbcButtom_ulbg li {
    font-size: 100%;
  }
  .site_contentService .sbSys .sys_bottom_items .sys_bottom_item > p {
    font-size: 100%;
  }
  .site_contentService .sbcButtom_in ul li {
    flex-direction: column;
  }
  .site_contentService .sbcButtom_in ul li > p:first-child {
    flex: 1;
    font-size: 120%;
  }
}
.sbRecu {
  padding-bottom: 0;
}
.sbRecu .sbc > p {
  font-size: 1.25rem;
  margin-bottom: 8rem;
}
.sbRecu .rec_voice {
  display: flex;
  flex-direction: column;
  row-gap: 1.875rem;
}
.sbRecu .rec_voice > div {
  display: flex;
  gap: 1.875rem;
  align-items: center;
  flex-direction: row-reverse;
}
.sbRecu .rec_voice > div figure {
  flex: 0 1 29.375rem;
}
.sbRecu .rec_voice > div > div {
  flex: 1;
}
.sbRecu .rec_voice > div > div h3 {
  color: #1373c6;
  font-size: 1.5rem;
  text-align: left;
  margin-bottom: 1rem;
}
.sbRecu .rec_voice > div > div p {
  font-size: 1.25rem;
}

@media screen and (max-width: 880px) {
  .site_contentRec .rec_banner a {
    width: 100%;
  }
  .site_contentRec .mv_rec .mv_rec_in > p {
    line-height: 1.5;
    width: 100%;
    font-size: 95%;
  }
  .site_contentRec .mv_rec {
    padding-bottom: 14vw;
  }
  .site_contentRec .mv_rec .mv_rec_in h2 {
    font-size: 150%;
    margin-bottom: 1rem;
  }
  .site_contentRec .mv_rec .mv_rec_in {
    padding-bottom: 3rem;
    width: 49%;
    padding-left: 5vw;
  }
  .site_contentRec .mv_rec .mv_rec_in:before {
    right: -3rem;
    width: 200%;
  }
  .site_contentRec .mv_rec .mv_rec_in .mv_rec_in_buttons a {
    font-size: 90%;
    width: 75%;
  }
  .site_contentRec .mv_rec .mv_rec_in .mv_rec_in_buttons {
    flex-direction: row;
    left: 5vw;
    position: absolute;
    bottom: 8vw;
    width: 90vw;
  }
  .site_contentRec .mv_rec figure {
    transform: translate3d(-2%, 0, 0);
    width: 139%;
  }
  .sbRecu .sbc > p {
    font-size: 100%;
    margin-bottom: 3rem;
  }
  .sbRecu .rec_voice > div {
    flex-direction: column;
  }
  .sbRecu .rec_voice > div figure {
    flex: 1;
  }
  .sbRecu .rec_voice > div > div p {
    font-size: 100%;
  }
  .sbRecu .rec_voice > div > div h3 {
    font-size: 130%;
  }
}
.site_contentRec2 .sbRecu .rec_voice > div > div h3 {
  color: #233181;
}

.site_contentRec3 .sbRecu .rec_voice > div > div h3 {
  color: #F29E02;
}

.site_contentRec4 .sbRecu .rec_voice > div > div h3 {
  color: #8AB70F;
}

.rec_nav {
  padding: 6.25rem 0;
  width: 50rem;
  margin: 0 auto;
}
.rec_nav ul {
  display: flex;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.rec_nav ul li {
  flex: 0 1 calc((100% - 1.25rem) / 2);
}
.rec_nav ul li a {
  display: block;
  font-size: 1.5rem;
  text-align: center;
  padding: 1rem 0;
  color: #fff;
  transition: all ease 0.3s;
}
.rec_nav ul li a:hover {
  opacity: 0.7;
}
.rec_nav ul li:nth-child(1) a {
  background-color: #1373c6;
}
.rec_nav ul li:nth-child(2) a {
  background-color: #233181;
}
.rec_nav ul li:nth-child(3) a {
  background-color: #f29e00;
}
.rec_nav ul li:nth-child(4) a {
  background-color: #8ab70f;
}

@media screen and (max-width: 880px) {
  .rec_nav {
    padding: 3rem 5vw;
    width: auto;
  }
  .rec_nav ul {
    gap: 0.5rem;
    row-gap: 1rem;
  }
  .rec_nav ul li a {
    font-size: 90%;
  }
  .rec_nav ul li {
    flex: 0 1 calc((100% - 1rem) / 2);
  }
}
.sbJob .job_in {
  display: flex;
  gap: 4.375rem;
  flex-direction: row-reverse;
}
.sbJob .job_in > figure {
  flex: 0 1 26.25rem;
}
.sbJob .job_in > div {
  flex: 1;
}
.sbJob .job_in > div > p {
  margin-bottom: 2rem;
}
.sbJob .job_in > div {
  font-size: 1.25rem;
}
.sbJob .job_in > div > div {
  display: flex;
  gap: 1.5625rem;
  align-items: center;
  flex-wrap: wrap;
}
.sbJob .job_in > div > div .pdf {
  display: block;
  flex: 0 1 8.75rem;
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
  transition: all ease 0.3s;
}
.sbJob .job_in > div > div .pdf img {
  display: block;
  width: 100%;
}
.sbJob .job_in > div > div .pdf:hover {
  opacity: 0.8;
}
.sbJob .job_in > div > div > p {
  flex: 0 1 calc(100% - 10.3125rem);
  line-height: 1.8;
}
.sbJob .job_in > div > div > p .pdf_catch {
  display: block;
  color: #009f8f;
  font-weight: bold;
  font-size: 1.375rem;
  margin-bottom: 0.5rem;
}
.sbJob .job_in > div > div > div {
  text-align: center;
  flex: 1;
}
.sbJob .job_in > div > div > div .mores {
  text-align: center;
  width: 18.75rem;
  border: 3px solid #000;
  padding: 1rem 0;
  box-sizing: border-box;
  display: block;
  margin: 0 auto;
  font-size: 1.125rem;
  transition: all ease 0.3s;
}
.sbJob .job_in > div > div > div .mores:hover {
  background-color: #000;
  color: #fff;
}

@media screen and (max-width: 880px) {
  .sbJob {
    padding-bottom: 0;
  }
  .sbJob .job_in {
    flex-direction: column;
  }
  .sbJob .job_in > figure {
    flex: 1;
    margin-bottom: 2rem;
  }
  .sbJob .job_in {
    gap: 0;
  }
  .sbJob .job_in > div {
    font-size: 100%;
  }
  .sbJob .job_in > div > div > p {
    font-size: 100%;
  }
  .sbJob .job_in > div > div {
    align-items: center;
    gap: 1rem;
  }
  .sbJob .job_in > div > div .pdf {
    flex: 0 1 6.875rem;
  }
  .sbJob .job_in > div > div > p {
    flex: 0 1 calc(100% - 7.875rem);
  }
  .sbJob .job_in > div > div > p .pdf_catch {
    font-size: 1.0625rem;
  }
}
.sbStaff .staff_links {
  display: flex;
  gap: 1.5rem;
  margin-top: 5.9375rem;
  justify-content: center;
}
.sbStaff .staff_links a {
  margin: 0;
}
.sbStaff .sbc ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  row-gap: 5.9375rem;
}
.sbStaff .sbc ul li {
  flex: 0 1 calc((100% - 2.5rem) / 2);
}
.sbStaff .sbc ul li a {
  position: relative;
  display: block;
}
.sbStaff .sbc ul li a figure {
  position: absolute;
  width: 40%;
  left: 0;
  bottom: 0;
  z-index: 3;
}
.sbStaff .sbc ul li a > div {
  clip-path: polygon(20% 0%, 100% 0, 100% 100%, 0% 100%);
  z-index: 2;
  min-height: 19.6875rem;
  height: 100%;
  position: relative;
  color: #fff;
  width: 69%;
  margin-left: auto;
  margin-right: 0;
  background-color: #1373c6;
  padding: 1.6875rem 1.6875rem;
  padding-left: 6rem;
  box-sizing: border-box;
}
.sbStaff .sbc ul li a > div h3 {
  font-size: 1.5rem;
  height: 3.75rem;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sbStaff .sbc ul li a > div p {
  font-size: 1.25rem;
}
.sbStaff .sbc ul li a > div:after {
  content: "";
}
.sbStaff .sbc ul li a:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  z-index: 1;
}
.sbStaff .sbc ul li:nth-child(1) a figure {
  width: 21.125rem;
}
.sbStaff .sbc ul li:nth-child(2) a figure {
  width: 16.4375rem;
}
.sbStaff .sbc ul li:nth-child(2) a > div {
  background-color: #233181;
}
.sbStaff .sbc ul li:nth-child(3) a figure {
  width: 15.125rem;
}
.sbStaff .sbc ul li:nth-child(3) a > div {
  background-color: #f29e00;
}
.sbStaff .sbc ul li:nth-child(4) a figure {
  width: 18.5625rem;
  margin-left: -1.5rem;
}
.sbStaff .sbc ul li:nth-child(4) a > div {
  background-color: #8ab70f;
}

@media screen and (max-width: 880px) {
  .sbStaff .sbc ul {
    flex-direction: column;
    gap: 1rem;
  }
  .sbStaff .sbc ul li a > div h3 {
    font-size: 120%;
  }
  .sbStaff .sbc ul li a > div p {
    font-size: 100%;
  }
  .sbStaff .sbc ul li:nth-child(1) a figure {
    width: 60%;
  }
  .sbStaff .sbc ul li a > div {
    padding-right: 1rem;
    padding-left: 22%;
    padding-bottom: 18%;
    width: 74%;
    min-height: auto;
  }
  .sbStaff .sbc ul li:nth-child(2) a figure {
    width: 46%;
    left: -1rem;
  }
  .sbStaff .sbc ul li:nth-child(3) a figure {
    width: 48%;
    left: -2rem;
  }
  .sbStaff .sbc ul li:nth-child(4) a figure {
    width: 57%;
    left: 0rem;
  }
  .sbStaff .staff_links {
    padding: 3rem 0;
    gap: 0.5rem;
    margin: 0;
  }
  .sbStaff .staff_links a {
    font-size: 90%;
  }
  .sbStaff {
    padding-bottom: 0;
  }
  .sbStaff .wrapaW {
    padding: 0;
  }
  .sbStaff .staff_links {
    padding: 3rem 5vw;
  }
}
.sbWorks {
  background-color: #f7f7f7;
}
.sbWorks .sbc > p {
  font-size: 1.25rem;
  text-align: center;
}
.sbWorks .sbc > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.875rem;
  row-gap: 1.875rem;
  margin-top: 5rem;
}
.sbWorks .sbc > ul li {
  box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.4);
  background-color: #fff;
  flex: 0 1 calc((100% - 2.875rem) / 2);
}
.sbWorks .sbc > ul li > div h3 {
  background-color: #6c6c6c;
  padding: 1rem 0;
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
}
.sbWorks .sbc > ul li > div p {
  padding: 1.875rem 1.25rem;
  font-size: 1.25rem;
}
.sbWorks .sbc > ul li > div p b {
  font-weight: normal;
  color: #0c1962;
}

@media screen and (max-width: 880px) {
  .sbWorks .sbc > p {
    font-size: 100%;
    text-align: left;
  }
  .sbWorks .sbc > ul {
    flex-direction: column;
  }
  .sbWorks .sbc > ul li {
    flex: 1;
  }
  .sbWorks .sbc > ul li > div p {
    font-size: 100%;
  }
}
.sbSelect {
  padding-bottom: 0;
}
.sbSelect .select_items {
  display: flex;
  flex-direction: column;
}
.sbSelect .select_items .select_item {
  position: relative;
}
.sbSelect .select_items .select_item figure {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 21.8125rem;
  z-index: 2;
}
.sbSelect .select_items .select_item:after {
  content: "";
  background-color: #1373c6;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 200%;
  height: 100%;
  clip-path: polygon(18% 0, 100% 0, 100% 100%, 10% 100%);
}
.sbSelect .select_items .select_item .select_item_in {
  position: relative;
  z-index: 2;
  color: #fff;
  padding-top: 8.5625rem;
  padding-left: calc(35% + 5.3125rem);
  min-height: 39.0625rem;
  box-sizing: border-box;
}
.sbSelect .select_items .select_item .select_item_in > p {
  font-size: 1.25rem;
}
.sbSelect .select_items .select_item .select_item_in > div {
  margin-bottom: 2.8125rem;
  display: flex;
  align-items: center;
  gap: 2.0625rem;
}
.sbSelect .select_items .select_item .select_item_in > div p {
  justify-content: center;
  width: 8.375rem;
  height: 8.375rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: #fff;
  border-radius: 100%;
  color: #0c1962;
  text-align: center;
}
.sbSelect .select_items .select_item .select_item_in > div p > span:first-child {
  display: block;
  font-size: 1.5rem;
  line-height: 1;
}
.sbSelect .select_items .select_item .select_item_in > div p > span:last-child {
  display: block;
  font-size: 2.875rem;
  line-height: 1;
}
.sbSelect .select_items .select_item .select_item_in > div h3 {
  color: #fff;
  font-size: 1.5rem;
}
.sbSelect .select_items .select_item:nth-child(2n) .select_item_in {
  padding-right: calc(33% + 5.3125rem);
  padding-left: 0;
}
.sbSelect .select_items .select_item:nth-child(2n) figure {
  left: auto;
  right: 0;
  width: 21.5rem;
  z-index: 2;
}
.sbSelect .select_items .select_item:nth-child(2n):after {
  background-color: #0c1962;
  left: auto;
  right: -100px;
  top: 0;
  clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
}
.sbSelect .select_items .select_item:nth-child(3) figure {
  width: 30rem;
  left: -6.25rem;
}
.sbSelect .select_items .select_item:nth-child(3):after {
  background-color: #f29e02;
}
.sbSelect .select_items .select_item:nth-child(3) .select_item_in > div p > span:last-child {
  color: #f29e02;
}
.sbSelect .select_items .select_item:nth-child(4) figure {
  width: 27.125rem;
  right: -2.25rem;
}
.sbSelect .select_items .select_item:nth-child(4):after {
  background-color: #8ab70f;
}
.sbSelect .select_links {
  display: flex;
  gap: 1.5rem;
  padding-top: 4.6875rem;
  padding-bottom: 8.75rem;
  justify-content: center;
}
.sbSelect .select_links a {
  margin: 0;
  width: 16.875rem;
  font-size: 1.125rem;
}

@media screen and (max-width: 880px) {
  .sbSelect .select_items .select_item figure {
    width: 49%;
    left: -4rem;
  }
  .sbSelect .select_items .select_item .select_item_in {
    padding-left: 0;
    padding-right: 0;
    min-height: auto;
    padding-top: 4rem;
    padding-bottom: 3rem;
  }
  .sbSelect .select_items .select_item .select_item_in > p {
    font-size: 100%;
    padding-left: 9rem;
  }
  .sbSelect .select_items .select_item:after {
    clip-path: none;
    left: -5vw;
  }
  .sbSelect .select_items .select_item .select_item_in > div p {
    width: 5rem;
    height: 5rem;
  }
  .sbSelect .select_items .select_item .select_item_in > div h3 {
    font-size: 130%;
  }
  .sbSelect .select_items .select_item .select_item_in > div p > span:first-child {
    font-size: 100%;
  }
  .sbSelect .select_items .select_item .select_item_in > div p > span:last-child {
    font-size: 200%;
  }
  .sbSelect .select_items .select_item .select_item_in > div {
    margin-bottom: 2rem;
    padding-left: 2rem;
    gap: 1rem;
  }
  .sbSelect .select_items .select_item:nth-child(2n) .select_item_in {
    padding-left: 0;
    padding-right: 0;
    min-height: auto;
    padding-top: 4rem;
    padding-bottom: 3rem;
  }
  .sbSelect .select_items .select_item:nth-child(2n):after {
    clip-path: none;
  }
  .sbSelect .select_items .select_item:nth-child(2n) figure {
    left: auto;
    right: -4rem;
    width: 13.5rem;
    z-index: 2;
  }
  .sbSelect .select_items .select_item:nth-child(2n) .select_item_in > p {
    padding-left: 0;
    padding-right: 9rem;
  }
  .sbSelect .select_items .select_item:nth-child(3) figure {
    width: 18rem;
    left: -6.25rem;
  }
  .sbSelect .select_items .select_item:nth-child(3) .select_item_in > div {
    align-items: flex-start;
  }
  .sbSelect .select_items .select_item:nth-child(4) figure {
    width: 14.5rem;
    right: -6rem;
  }
  .sbSelect .select_links {
    gap: 0.5rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .sbSelect .select_links a {
    font-size: 90%;
  }
}
.sbPersonnel {
  background-color: #ffea95;
  overflow: hidden;
}
.sbPersonnel .sbc > p {
  text-align: center;
  font-size: 1.25rem;
  padding-top: 0.5rem;
  margin-bottom: 3.4375rem;
}
.sbPersonnel .sbc > h3 {
  font-size: 1.5rem;
  position: relative;
  padding-bottom: 0.5rem;
}
.sbPersonnel .sbc > h3:after {
  content: "";
  display: block;
  width: 200vw;
  left: -50vw;
  bottom: 0;
  height: 0.3125rem;
  background-color: #fff;
  position: absolute;
}
.sbPersonnel .sbc ul {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
  justify-content: center;
}
.sbPersonnel .sbc ul li {
  width: 12rem;
  text-align: center;
  height: 12rem;
  box-sizing: border-box;
  border-radius: 100%;
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.16);
  border: solid 3px #f4a000;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sbPersonnel .sbc ul li > div {
  margin-top: -1rem;
}
.sbPersonnel .sbc ul li p {
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 0.5rem;
}
.sbPersonnel .sbc ul li figure {
  width: 5.0625rem;
  margin: 0 auto;
}

@media screen and (max-width: 880px) {
  .sbPersonnel .sbc > h3 {
    font-size: 120%;
  }
  .sbPersonnel .sbc > p {
    font-size: 100%;
  }
  .sbPersonnel .sbc ul li p {
    font-size: 100%;
  }
  .sbPersonnel .sbc ul {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .sbPersonnel .sbc ul li {
    flex: 0 1 11rem;
    height: 11rem;
  }
}
.sbNumbers .sbc .numbers_bottom {
  display: flex;
  justify-content: space-around;
  position: relative;
  box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.4);
  color: #0c1962;
  font-size: 1.375rem;
  align-items: center;
  width: 51.25rem;
  margin: 0 auto;
}
.sbNumbers .sbc .numbers_bottom figure {
  width: 5.9375rem;
}
.sbNumbers .sbc .numbers_bottom:last-child {
  font-size: 1.5625rem;
}
.sbNumbers .sbc .numbers_bottom:after {
  content: "";
  width: calc(100% - 0.625rem);
  height: calc(100% - 0.625rem);
  position: absolute;
  margin: auto;
  border: solid 1px #0c1962;
  box-sizing: border-box;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.sbNumbers .sbc ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.875rem;
  margin-bottom: 2.5rem;
}
.sbNumbers .sbc ul li {
  position: relative;
  flex: 0 1 16.25rem;
  width: 16.25rem;
  height: 16.25rem;
  box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.4);
  border-radius: 100%;
}
.sbNumbers .sbc ul li:after {
  content: "";
  width: calc(100% - 0.625rem);
  height: calc(100% - 0.625rem);
  position: absolute;
  margin: auto;
  border-radius: 100%;
  border: solid 1px #0c1962;
  box-sizing: border-box;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.sbNumbers .sbc ul li {
  box-sizing: border-box;
}
.sbNumbers .sbc ul li > div {
  color: #0c1962;
  padding-top: 3rem;
  text-align: center;
}
.sbNumbers .sbc ul li > div figure {
  width: 5.3125rem;
  margin: 0 auto;
}
.sbNumbers .sbc ul li p {
  font-size: 1.25rem;
  line-height: 1.2;
  position: absolute;
  top: 56%;
  width: 100%;
  left: 0;
}
.sbNumbers .sbc ul li p b {
  font-size: 2.1875rem;
  font-weight: normal;
}

@media screen and (max-width: 880px) {
  .sbNumbers .sbc ul {
    gap: 1rem;
  }
  .sbNumbers .sbc ul li {
    flex: 0 1 11rem;
    height: 11rem;
    width: 11rem;
  }
  .sbNumbers .sbc ul li p {
    font-size: 85%;
  }
  .sbNumbers .sbc ul li p b {
    font-size: 150%;
  }
  .sbNumbers .sbc ul li > div {
    padding-top: 1.5rem;
  }
  .sbNumbers .sbc ul li > div figure {
    width: 4rem;
  }
  .sbNumbers .sbc .numbers_bottom:last-child {
    width: auto;
    flex-direction: column;
    font-size: 120%;
    padding: 2rem 0;
  }
}
.sbBenefit {
  background-color: #f7f7f7;
}
.sbBenefit ul li h3 {
  text-align: left;
  color: #0c1962;
  font-size: 1.5625rem;
  margin-bottom: 0.5rem;
}
.sbBenefit ul li {
  border-bottom: 1px solid #b2b2b2;
  padding: 1rem 0;
}
.sbBenefit ul li p {
  font-size: 1.25rem;
}

@media screen and (max-width: 880px) {
  .sbBenefit ul li h3 {
    font-size: 120%;
  }
  .sbBenefit ul li p {
    font-size: 100%;
  }
}
.sbNotice {
  background-color: #0c1962;
}
.sbNotice .sbh h2 {
  color: #Fff;
}
.sbNotice .sbc {
  color: #fff;
}
.sbNotice .sbc ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 3.125rem;
  gap: 1.875rem;
}
.sbNotice .sbc ul li {
  flex: 1;
  flex: 0 1 calc((100% - 3.75rem) / 3);
}
.sbNotice .sbc ul a {
  transition: all ease 0.3s;
  color: #fff;
}
.sbNotice .sbc ul a > div {
  text-align: center;
  margin-top: 0.5rem;
}
.sbNotice .sbc ul a > div p {
  color: #b2b2b2;
}
.sbNotice .sbc ul a figure {
  width: 21.25rem;
  height: 21.25rem;
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.sbNotice .sbc ul a figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all ease 0.3s;
}
.sbNotice .sbc ul a p {
  font-size: 1.25rem;
}
.sbNotice .sbc ul a:hover {
  opacity: 0.8;
}
.sbNotice .sbc ul a:hover img {
  transform: scale(1.1);
}

.notice_links {
  display: flex;
  gap: 1.5rem;
  padding-top: 4.6875rem;
  padding-bottom: 8.75rem;
  justify-content: center;
}
.notice_links a {
  width: 16.875rem;
  margin: 0;
}

@media screen and (max-width: 880px) {
  .sbNotice .sbc ul {
    gap: 1rem;
    flex-direction: column;
  }
  .sbNotice .sbc ul a figure {
    width: auto;
    height: 24rem;
  }
  .sbNotice .sbc ul li {
    flex: 1;
  }
  .sbNotice .sbc ul a p {
    font-size: 100%;
  }
  .sbNotice .more {
    font-size: 90%;
  }
  .notice_links {
    gap: 0.5rem;
    padding: 3rem 5vw;
  }
  .notice_links a {
    font-size: 90%;
  }
}
.sbManage {
  padding-bottom: 0;
}
.sbManage .sbc {
  position: relative;
  color: #fff;
  padding: 1.875rem 0;
  padding-bottom: 5.625rem;
}
.sbManage .sbc > * {
  position: relative;
  z-index: 2;
}
.sbManage .sbc:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/company/bg.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.sbManage .sbc h3 {
  font-size: 1.875rem;
  margin-bottom: 5rem;
}
.sbManage .sbc ul {
  display: flex;
  gap: 2rem;
}
.sbManage .sbc ul li {
  flex: 1;
}
.sbManage .sbc ul li figure {
  height: 6.6875rem;
  margin: auto;
  text-align: center;
}
.sbManage .sbc ul li figure img {
  width: auto;
  height: 100%;
}
.sbManage .sbc ul li h4 {
  margin: 0;
  margin-bottom: 0.3rem;
  font-weight: normal;
  font-size: 1.5625rem;
  text-align: center;
  border-bottom: 1px solid #fff;
  padding: 0.3rem 0;
}
.sbManage .sbc ul li p {
  font-size: 1.25rem;
}

@media screen and (max-width: 880px) {
  .sbManage .sbc h3 {
    font-size: 150%;
  }
  .sbManage .sbc ul {
    flex-direction: column;
  }
  .sbManage .sbc ul li figure {
    height: 4rem;
  }
  .sbManage .sbc ul li h4 {
    font-size: 130%;
  }
  .sbManage .sbc ul li p {
    font-size: 100%;
  }
  .sbManage .sbc:before {
    background-position: center;
  }
}
.sbV_connect .sbc h3 {
  font-size: 1.5625rem;
  margin-bottom: 2rem;
  text-align: center;
}
.sbV_connect .sbc > div p {
  font-size: 1.25rem;
  background-color: #f7f7f7;
  padding: 1rem 2rem;
}
.sbV_connect .sbc a {
  display: block;
  text-align: center;
  margin: 0 auto;
  margin-top: 2rem;
  text-decoration: underline;
  color: #009f8f;
  font-size: 1.25rem;
  transition: all ease 0.3s;
}
.sbV_connect .sbc a:hover {
  color: rgb(0, 87, 78);
}

@media screen and (max-width: 880px) {
  .sbV_connect .sbc h3 {
    font-size: 130%;
  }
  .sbV_connect .sbc > div p {
    font-size: 100%;
  }
}
.sbConduct {
  background-color: #f7f7f7;
}
.sbConduct.sb {
  border-bottom: 0;
}
.sbConduct .sbc h3 {
  font-size: 1.5625rem;
  margin-bottom: 2rem;
  text-align: center;
}
.sbConduct .sbc ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.sbConduct .sbc ul li h4 {
  margin: 0;
  font-size: 1.5625rem;
  font-weight: normal;
  margin-bottom: 0.3rem;
}
.sbConduct .sbc ul li {
  font-size: 1.25rem;
  background-color: #fff;
  padding: 1rem 2rem;
}

@media screen and (max-width: 880px) {
  .sbConduct .sbc h3 {
    font-size: 130%;
  }
  .sbConduct .sbc ul li h4 {
    font-size: 120%;
  }
  .sbConduct .sbc ul li {
    font-size: 100%;
  }
}
.master_area {
  border-top: 0;
  padding-bottom: 5.3125rem;
}
.master_area .master_area_info figure {
  width: 18.75rem;
  height: 18.75rem;
  border-radius: 100%;
  overflow: hidden;
  margin: auto;
  margin-bottom: 1rem;
}
.master_area .master_area_info figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.master_area .master_area_info {
  text-align: center;
  margin-bottom: 4rem;
}
.master_area .master_area_info p {
  text-align: center;
}
.master_area .master_area_info p small {
  font-size: 1.25rem;
}
.master_area .master_area_info p b {
  font-weight: normal;
  font-size: 1.5625rem;
}
.master_area .wrap {
  padding-top: 6.25rem;
}
.master_area .sbc h3 {
  text-align: center;
  font-size: 1.5625rem;
  margin-bottom: 3rem;
  font-weight: normal;
}
.master_area .sbc p {
  font-size: 1.25rem;
}

@media screen and (max-width: 880px) {
  .master_area .sbc h3 {
    font-size: 130%;
  }
  .master_area .sbc p {
    font-size: 100%;
  }
}
.sbAboutUs h3 {
  font-size: 1.875rem;
  -moz-text-align-last: left;
       text-align-last: left;
}
.sbAboutUs table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 3.125rem;
}
.sbAboutUs table tr th {
  font-weight: normal;
  vertical-align: top;
  border-bottom: 1px solid #b2b2b2;
  padding: 1rem;
  -moz-text-align-last: left;
       text-align-last: left;
  font-size: 1.25rem;
}
.sbAboutUs table tr td {
  border-bottom: 1px solid #b2b2b2;
  padding: 0.8rem;
  font-size: 1.25rem;
}
.sbAboutUs table .composition p {
  display: flex;
  gap: 1.875rem;
  row-gap: 0;
}
.sbAboutUs table .composition p span:first-child {
  flex: 0 1 10.625rem;
}
.sbAboutUs table .composition p span:last-child {
  flex: 1;
}
.sbAboutUs table .glinks ul {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  margin-bottom: 0;
}
.sbAboutUs table .glinks ul li {
  display: flex;
  justify-content: space-between;
}
.sbAboutUs table .glinks ul li a {
  display: block;
  width: 4.375rem;
  height: 4.375rem;
  background-color: #000;
  border-radius: 0.5rem;
}

@media screen and (max-width: 880px) {
  .sbAboutUs h3 {
    font-size: 130%;
  }
  .sbAboutUs table tr td {
    font-size: 100%;
  }
  .sbAboutUs table tr th {
    font-size: 100%;
  }
  .sbAboutUs table,
  .sbAboutUs table tbody,
  .sbAboutUs table th,
  .sbAboutUs table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .sbAboutUs table tr th {
    padding-bottom: 0;
    border-bottom: 0;
    padding-left: 0.8rem;
    font-size: 120%;
    padding-bottom: 0.5rem;
  }
  .sbAboutUs table tr td {
    padding-top: 0;
  }
  .sbAboutUs table .glinks ul li {
    gap: 1rem;
  }
  .sbAboutUs table .glinks ul li p {
    flex: 1;
  }
  .sbAboutUs table .glinks ul li a {
    width: 4rem;
    height: 4rem;
  }
}
.sbFormLinks .sbc {
  background-color: #f7f7f7;
  padding: 5.625rem;
}
.sbFormLinks .sbc ul {
  display: flex;
  gap: 2.8125rem;
  flex-wrap: wrap;
}
.sbFormLinks .sbc ul li {
  flex: 0 1 calc((100% - 2.8125rem) / 2);
  box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.4);
}
.sbFormLinks .sbc ul li a {
  display: block;
}
.sbFormLinks .sbc ul li a h3 {
  background-color: #6c6c6c;
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
  padding: 0.5rem 0;
}
.sbFormLinks .sbc ul li a p {
  padding: 1.875rem;
  text-align: center;
  font-size: 1.5625rem;
}

@media screen and (max-width: 880px) {
  .sbFormLinks {
    padding-bottom: 0;
  }
  .sbFormLinks .sbc {
    padding: 5vw 0;
  }
  .sbFormLinks .sbc ul {
    gap: 1rem;
  }
  .sbFormLinks .sbc ul li a p {
    font-size: 90%;
    padding: 0.5rem;
  }
  .sbFormLinks .sbc ul li {
    flex: 0 1 calc((100% - 1rem) / 2);
  }
}
.sbProcess .sbcButtom_in {
  border: 1px solid #000;
  padding: 3.5625rem 2.8125rem;
}
.sbProcess .sbcButtom_in h2 {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 1rem;
  font-weight: normal;
}
.sbProcess .sbcButtom_in .process_in {
  margin-bottom: 2rem;
  display: flex;
  gap: 1.5rem;
  font-size: 1.25rem;
}
.sbProcess .sbcButtom_in .process_in > div {
  flex: 1;
}
.sbProcess .sbcButtom_in .process_in > figure {
  flex: 0 1 28.125rem;
  height: 28.125rem;
  background-color: #eaeaea;
}
.sbProcess .sbcButtom_in ul {
  margin-bottom: 2rem;
}
.sbProcess .sbcButtom_in ul li {
  padding: 0.5rem 0;
  font-size: 1.25rem;
  border-bottom: 1px solid #b2b2b2;
}
.sbProcess .sbcButtom_in ol {
  counter-reset: num;
}
.sbProcess .sbcButtom_in ol li {
  counter-increment: num;
  position: relative;
  margin-bottom: 5rem;
}
.sbProcess .sbcButtom_in ol li:before {
  content: "0" counter(num);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.5rem;
  height: 7.5rem;
  border: 0.1875rem solid #000;
  box-sizing: border-box;
  font-size: 3.125rem;
  line-height: 1;
}
.sbProcess .sbcButtom_in ol li {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.sbProcess .sbcButtom_in ol li > div {
  flex: 1;
}
.sbProcess .sbcButtom_in ol li > div h3 {
  font-size: 1.5625rem;
  text-align: left;
  margin: 0;
  margin-bottom: 0.3rem;
}
.sbProcess .sbcButtom_in ol li > div p {
  font-size: 1.25rem;
}
.sbProcess .sbcButtom_in ol li > div:before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-bottom: 2px solid #009f8f;
  border-right: 2px solid #009f8f;
  transform: rotate(45deg);
  position: absolute;
  left: 3rem;
  bottom: -2.5rem;
}
.sbProcess .sbcButtom_in ol li > div:after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-bottom: 2px solid #009f8f;
  border-right: 2px solid #009f8f;
  transform: rotate(45deg);
  position: absolute;
  left: 3rem;
  bottom: -2rem;
}
.sbProcess .sbcButtom_in ol li:last-child > div:before {
  display: none;
}
.sbProcess .sbcButtom_in ol li:last-child > div:after {
  display: none;
}
.sbProcess .sbcButtom_in ol li:last-child {
  margin-bottom: 0;
}
.sbProcess .sbcButtom_in ol li:last-child:before {
  background-color: #000;
  color: #fff;
}

@media screen and (max-width: 880px) {
  .sbProcess .sbcButtom_in h2 {
    font-size: 150%;
  }
  .sbProcess .sbcButtom_in .process_in {
    flex-direction: column;
    font-size: 100%;
  }
  .sbProcess .sbcButtom_in .process_in > figure {
    height: 10rem;
    flex: 1;
  }
  .sbProcess .sbcButtom_in ul li {
    font-size: 100%;
  }
  .sbProcess .sbcButtom_in ol li {
    align-items: flex-start;
  }
  .sbProcess .sbcButtom_in ol li:before {
    width: 4rem;
    height: 4rem;
    font-size: 200%;
  }
  .sbProcess .sbcButtom_in ol li > div h3 {
    font-size: 130%;
  }
  .sbProcess .sbcButtom_in ol li > div p {
    font-size: 100%;
  }
  .sbProcess .sbcButtom_in ol li > div:before,
  .sbProcess .sbcButtom_in ol li > div:after {
    left: 0;
    right: 0;
    margin: auto;
  }
}
.sbForm .form_desc {
  color: #009f8f;
  text-align: center;
  font-size: 1.5625rem;
}
.sbForm .form_line {
  display: flex;
  border-bottom: 1px solid #b2b2b2;
  padding: 1.5rem;
  padding-right: 0;
}
.sbForm .form_line > p {
  color: #009f8f;
  line-height: 1.5;
  flex: 0 1 10rem;
}
.sbForm .form_line > p b {
  color: red;
}
.sbForm .form_line > div {
  flex: 1;
}
.sbForm .form_line > div input[type=text], .sbForm .form_line > div select {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  padding: 0.5rem;
  font-size: 100%;
  box-sizing: border-box;
}
.sbForm .form_line .selects {
  display: flex;
  gap: 0.3rem;
  align-items: center;
  flex-wrap: wrap;
}
.sbForm .form_line .selects select {
  width: 5rem;
}
.sbForm .form_line .radios {
  display: flex;
  gap: 2rem;
  align-items: center;
  flex-wrap: wrap;
}
.sbForm .form_line .inputs {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.sbForm .form_line .inputs input {
  flex: 0 1 5rem;
}
.sbForm .form_line .inputs {
  flex-wrap: wrap;
}
.sbForm .error {
  display: block;
  flex: 0 1 100%;
}
.sbForm .buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 3rem;
  gap: 1rem;
}
.sbForm .buttons input[type=submit], .sbForm .buttons button {
  cursor: pointer;
  color: #fff;
  background-color: #000;
  border: 0;
  margin: 0;
  width: 15.625rem;
  font-size: 1.5625rem;
  border-radius: 100rem;
  text-align: center;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  transition: all ease 0.3s;
}
.sbForm .buttons input[type=submit]:hover, .sbForm .buttons button:hover {
  opacity: 0.8;
}
.sbForm .buttons input[type=submit].back, .sbForm .buttons button.back {
  display: none;
}
.sbForm .buttons input[type=submit].send, .sbForm .buttons button.send {
  display: none;
}

@media screen and (max-width: 880px) {
  .sbForm .form_desc {
    font-size: 120%;
  }
  .sbForm .form_line {
    flex-direction: column;
    padding-left: 0;
  }
  .sbForm .form_line > p {
    flex: 1;
    margin-bottom: 0.5rem;
  }
  .sbForm .buttons button {
    font-size: 120%;
  }
}
.site_contentPage figure {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 40px;
  margin-inline-end: 40px;
  unicode-bidi: isolate;
  margin-left: 0;
  margin-right: 0;
}
.site_contentPage figure img {
  max-width: 100%;
}
.site_contentPage p {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  unicode-bidi: isolate;
}
.site_contentPage h2 {
  display: block;
  font-size: 1.5em;
  margin-block-start: 0.83em;
  margin-block-end: 0.83em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  font-weight: bold;
  unicode-bidi: isolate;
}
.site_contentPage .entry_params {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.site_contentPage .cats {
  display: flex;
  gap: 1rem;
}
.site_contentPage .cats li span {
  display: block;
  min-width: 6rem;
  color: #fff;
  white-space: nowrap;
  font-size: 1.125rem;
  padding: 0rem 1rem;
  text-align: center;
}

.pagination {
  display: flex;
  gap: 1rem;
  justify-content: center;
}
.pagination > * {
  display: block;
  background-color: #eee;
  padding: 0.2rem 0.5rem;
  color: #fff;
}
.pagination a {
  color: #000;
}
.pagination span {
  background-color: #000;
}

.sbChart .wrap .sbc h3 {
  font-size: 1.5625rem;
  margin-bottom: 2.5rem;
}
.sbChart .wrap .sbc p {
  margin-bottom: 2.5rem;
  text-align: center;
  font-size: 1.25rem;
}

@media screen and (max-width: 880px) {
  .sbChart .wrap .sbc h3 {
    font-size: 130%;
  }
  .sbChart .wrap .sbc p {
    font-size: 100%;
  }
}
.sp_nav {
  display: flex;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.8);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin-bottom: 5.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all ease 0.3s;
  visibility: hidden;
  transform: translate3d(5%, 0, 0);
}
.sp_nav a {
  transition: all ease 0.3s;
  color: #fff;
}
.sp_nav a:hover {
  opacity: 0.7;
}
.sp_nav .wrap {
  display: flex;
  flex-wrap: wrap;
  width: auto;
}
.sp_nav .wrap > div {
  flex: 1;
  border-left: 1px solid #fff;
  padding-left: 1rem;
  box-sizing: border-box;
}
.sp_nav .wrap > div > p {
  font-size: 1.25rem;
  margin-bottom: 1.1875rem;
}
.sp_nav .wrap > div ul {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 1rem;
}
.sp_nav .wrap > div ul li a {
  display: block;
  color: #fff;
}
.sp_nav .sp_nav_banners {
  margin-top: 1.125rem;
}
.sp_nav .sp_nav_banners a {
  display: block;
  margin-bottom: 1.25rem;
  text-align: center;
  color: #000;
}
.sp_nav .sp_nav_banners a:last-child {
  margin-bottom: 0;
}
.sp_nav .sp_nav_banners .fcontact {
  background-color: #fff;
  padding: 0.5rem;
  text-align: center;
  font-size: 1.25rem;
}
.sp_nav.active {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  visibility: visible;
}

@media screen and (max-width: 880px) {
  .sp_nav .wrap {
    flex-direction: column;
    height: auto;
    row-gap: 5vw;
  }
  .sp_nav .wrap > div ul {
    padding-left: 5vw;
  }
  .sp_nav .wrap > div {
    padding-left: 0;
    border-left: 0;
  }
  .sp_nav {
    display: block;
    overflow-y: auto;
  }
  .sp_nav.active {
    padding-top: 21vw;
    box-sizing: border-box;
    padding-bottom: 20vw;
  }
  .sp_nav {
    padding-top: 21vw;
    box-sizing: border-box;
    padding-bottom: 20vw;
  }
  .sp_nav a {
    display: block;
  }
  .sp_nav .wrap > div > p {
    border-bottom: 1px solid #fff;
    padding-bottom: 0.5rem;
  }
}
.tuika {
  margin-top: 6rem;
  max-width: 1058px;
  width: auto;
}
.tuika .tuika_in {
  gap: 3rem;
  padding: 0 2rem;
  background-color: #fff;
  box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
}
.tuika .tuika_in a {
  display: block;
  width: 18%;
  margin-top: -2rem;
  margin-bottom: -2rem;
  box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.2);
}
.tuika .tuika_in > p {
  width: 32%;
  font-size: 1.25rem;
  color: #009f8f;
  font-weight: 600;
}
.tuika .tuika_in > div {
  flex: 1;
  font-size: 1.25rem;
}

@media screen and (max-width: 880px) {
  .tuika .tuika_in {
    flex-wrap: wrap;
    gap: 2rem;
    padding: 2rem;
    row-gap: 1.5rem;
  }
  .tuika .tuika_in a {
    flex: 0 1 35%;
    margin-top: -3rem;
    margin-bottom: 0;
  }
  .tuika .tuika_in > p {
    flex: 0 1 calc(65% - 2rem);
  }
  .tuika .tuika_in > div {
    flex: 0 1 100%;
    font-size: 100%;
  }
}
.tuika2 {
  padding: 3rem 0;
  background-color: #e0e0e0;
}
.tuika2 a {
  display: block;
  max-width: 26rem;
  margin: 0 auto;
}/*# sourceMappingURL=style.css.map */
/*career 中途・キャリア採用*/
.sbCareerList {
  padding-bottom: 0;
}
.sbCareerList .sbh {
  margin-bottom: 3.125rem;
}
.sbCareerList .sbc {
  background-color: #f7f7f7;
  padding: 3.75rem 0 5rem;
}
.sbCareerList .career_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.875rem;
}
.sbCareerList .career_list li {
  flex: 0 1 calc((100% - 1.875rem) / 2);
}
.sbCareerList .career_list li a {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #fff;
  box-shadow: 0 0.1875rem 0.5rem rgba(0, 0, 0, 0.15);
  transition: all ease 0.3s;
}
.sbCareerList .career_list li a:hover {
  opacity: 0.8;
  transform: translate3d(0, -2px, 0);
}
.sbCareerList .career_list .career_dept {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 0.9375rem;
  padding: 0.625rem 1rem;
}
.sbCareerList .career_list h3 {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.7;
  padding: 1.875rem 1.25rem;
}
.sbCareerList .career_empty {
  text-align: center;
}

.sbCareerProcess .process_box {
  border: 2px solid #000;
  padding: 3.75rem 3.125rem;
}
.sbCareerProcess .process_box > h2 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2.5rem;
}
.sbCareerProcess .process_intro {
  display: flex;
  gap: 2.5rem;
  margin-bottom: 2.5rem;
}
.sbCareerProcess .process_intro > div {
  flex: 1;
  line-height: 1.9;
}
.sbCareerProcess .process_intro > div p + p {
  margin-top: 1.5rem;
}
.sbCareerProcess .process_intro figure {
  flex: 0 1 45%;
}
.sbCareerProcess .process_intro figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sbCareerProcess .process_skills {
  margin-bottom: 3.75rem;
}
.sbCareerProcess .process_skills li {
  border-bottom: 1px solid #d0d0d0;
  padding: 0.5rem 0;
}
.sbCareerProcess .process_skills li:before {
  content: "・";
}
.sbCareerProcess .process_steps {
  margin-bottom: 3.75rem;
}
.sbCareerProcess .process_steps li {
  display: flex;
  align-items: center;
  gap: 1.875rem;
  position: relative;
}
.sbCareerProcess .process_steps li + li {
  margin-top: 3.125rem;
}
.sbCareerProcess .process_steps li + li:before {
  content: "";
  position: absolute;
  left: 2.375rem;
  top: -2.375rem;
  width: 0.875rem;
  height: 0.875rem;
  border-right: 2px solid #009f8f;
  border-bottom: 2px solid #009f8f;
  transform: rotate(45deg);
}
.sbCareerProcess .process_steps li:last-child .num {
  background-color: #000;
  color: #fff;
}
.sbCareerProcess .process_steps .num {
  flex: 0 0 auto;
  width: 5.625rem;
  height: 5.625rem;
  border: 2px solid #000;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.25rem;
  font-weight: bold;
}
.sbCareerProcess .process_steps h3 {
  text-align: left;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.3rem;
}

@media screen and (max-width: 880px) {
  .sbCareerList .career_list {
    flex-direction: column;
    gap: 1rem;
  }
  .sbCareerList .career_list h3 {
    font-size: 1rem;
    padding: 1.25rem 1rem;
  }
  .sbCareerProcess .process_box {
    padding: 2.5rem 1.2rem;
  }
  .sbCareerProcess .process_box > h2 {
    font-size: 1.5rem;
  }
  .sbCareerProcess .process_intro {
    flex-direction: column;
  }
  .sbCareerProcess .process_steps li {
    gap: 1rem;
    align-items: flex-start;
  }
  .sbCareerProcess .process_steps li + li:before {
    left: 1.625rem;
  }
  .sbCareerProcess .process_steps .num {
    width: 4rem;
    height: 4rem;
    font-size: 1.625rem;
  }
}

/*career 求人詳細*/
.sbCareerDetail .wrapaW {
  max-width: 900px;
  width: auto;
}
.sbCareerDetail .career_head {
  margin-bottom: 3.75rem;
  box-shadow: 0 0.1875rem 0.5rem rgba(0, 0, 0, 0.15);
}
.sbCareerDetail .career_head .career_dept {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 0.9375rem;
  padding: 0.625rem 1rem;
}
.sbCareerDetail .career_head h2 {
  text-align: center;
  font-weight: bold;
  font-size: 1.625rem;
  line-height: 1.6;
  padding: 2.5rem 1.25rem;
}
.sbCareerDetail .career_block {
  margin-bottom: 3.75rem;
  line-height: 1.9;
}
.sbCareerDetail .career_block h3 {
  text-align: left;
  font-size: 1.375rem;
  font-weight: bold;
  border-left: 0.375rem solid #009f8f;
  padding-left: 1rem;
  margin-bottom: 1.5rem;
}
.sbCareerDetail .career_block h4 {
  font-weight: bold;
  color: #009f8f;
  margin-bottom: 0.3rem;
}
.sbCareerDetail .career_block p + h4 {
  margin-top: 1.5rem;
}
.sbCareerDetail .career_table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #d0d0d0;
}
.sbCareerDetail .career_table th, .sbCareerDetail .career_table td {
  border-bottom: 1px solid #d0d0d0;
  padding: 1rem 1.25rem;
  vertical-align: top;
  text-align: left;
}
.sbCareerDetail .career_table th {
  width: 11.25rem;
  background-color: #f7f7f7;
  font-weight: bold;
  white-space: nowrap;
}
.sbCareerDetail .career_flow {
  background-color: #f7f7f7;
  padding: 1.25rem 1.5rem;
  font-weight: bold;
}
.sbCareerDetail .career_buttons {
  text-align: center;
}
.sbCareerDetail .career_buttons .more {
  width: 20rem;
  margin-bottom: 1.875rem;
}
.sbCareerDetail .career_buttons .career_back {
  text-decoration: underline;
}

@media screen and (max-width: 880px) {
  .sbCareerDetail .career_head h2 {
    font-size: 1.1875rem;
    padding: 1.5rem 1rem;
  }
  .sbCareerDetail .career_block h3 {
    font-size: 1.1875rem;
  }
  .sbCareerDetail .career_table th,
  .sbCareerDetail .career_table td {
    display: block;
    width: auto;
    padding: 0.625rem 0.75rem;
  }
  .sbCareerDetail .career_table td {
    border-bottom: 1px solid #d0d0d0;
  }
  .sbCareerDetail .career_table th {
    border-bottom: 0;
  }
  .sbCareerDetail .career_buttons .more {
    width: 100%;
  }
}

/*お問い合わせフォーム（MW WP Form ID:60／旧サイトと共通のフォーム）*/
.sbForm .form_lead {
  line-height: 1.9;
  margin-bottom: 3.125rem;
}
.sbForm .form_lead p + p {
  margin-top: 1rem;
}
.sbForm .form_lead a {
  text-decoration: underline;
}
.sbForm .form_contact {
  background-color: #f7f7f7;
  padding: 1.5rem;
  margin-top: 1.875rem;
  text-align: center;
}
.sbForm .form_contact h3 {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.sbForm .form_done {
  text-align: center;
}
.sbForm > .wrap > .more {
  margin-top: 3.125rem;
}
.sbForm .tb-01 {
  width: 100%;
  border-collapse: collapse;
}
.sbForm .tb-01 th, .sbForm .tb-01 td {
  border-bottom: 1px solid #b2b2b2;
  padding: 1.5rem;
  vertical-align: top;
  text-align: left;
}
.sbForm .tb-01 th {
  width: 10rem;
  color: #009f8f;
  font-weight: normal;
  line-height: 1.5;
  white-space: pre-line;
  padding-left: 0;
}
.sbForm .tb-01 td {
  padding-right: 0;
}
.sbForm .tb-01 input[type=text], .sbForm .tb-01 input[type=tel], .sbForm .tb-01 input[type=email], .sbForm .tb-01 textarea {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  padding: 0.5rem;
  font-size: 100%;
  box-sizing: border-box;
}
.sbForm .tb-01 .mwform-checkbox-field {
  display: inline-block;
  margin-right: 1.5rem;
}
.sbForm .required {
  color: red;
  font-size: 90%;
  margin-left: 0.3rem;
}
.sbForm #contact-02 {
  margin-top: 3.125rem;
  border: 1px solid #b2b2b2;
  padding: 1.875rem;
  max-height: 22.5rem;
  overflow-y: auto;
  font-size: 90%;
  line-height: 1.8;
}
.sbForm #contact-02 h2 {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1rem;
}
.sbForm #contact-02 h3 {
  text-align: left;
  font-weight: bold;
  margin-top: 1rem;
}
.sbForm #contact-02 .center {
  text-align: center;
}
.sbForm #contact-02 .right {
  text-align: right;
  margin-top: 1rem;
}
.sbForm .confirm-box {
  text-align: center;
  margin-top: 1.875rem;
}
.sbForm .second-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 3rem;
  gap: 1rem;
}
.sbForm .second-btn input[type=submit] {
  cursor: pointer;
  color: #fff;
  background-color: #000;
  border: 0;
  margin: 0;
  width: 15.625rem;
  font-size: 1.375rem;
  border-radius: 100rem;
  text-align: center;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  transition: all ease 0.3s;
}
.sbForm .second-btn input[type=submit]:hover {
  opacity: 0.8;
}
.sbForm .second-btn input[name=submitBack] {
  background-color: #b2b2b2;
}

@media screen and (max-width: 880px) {
  .sbForm .tb-01 th,
  .sbForm .tb-01 td {
    display: block;
    width: auto;
    padding: 0.5rem 0;
  }
  .sbForm .tb-01 th {
    border-bottom: 0;
    padding-top: 1rem;
  }
  .sbForm #contact-02 {
    padding: 1rem;
  }
  .sbForm .second-btn input[type=submit] {
    width: auto;
    flex: 1;
    font-size: 110%;
  }
}

/*ヘッダー：ロゴ横の社名*/
.site_header h1 a {
  width: auto;
  gap: 1rem;
}
.site_header h1 a img {
  width: 8.8125rem;
  flex-shrink: 0;
}
.site_header h1 a .site_name {
  display: block;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.3;
  color: #000;
  white-space: nowrap;
}
.site_header h1 a .site_name small {
  display: block;
  font-size: 0.8125rem;
}

@media screen and (max-width: 880px) {
  .site_header h1 a {
    gap: 0.5rem;
  }
  .site_header h1 a img {
    width: 5.625rem;
  }
  .site_header h1 a .site_name {
    font-size: 0.8125rem;
  }
  .site_header h1 a .site_name small {
    font-size: 0.625rem;
  }
}
/*トップ：メインビジュアルのキャッチコピーを大きく*/
.mv_top .mv_in h2 {
  font-size: 3.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
  text-shadow: 0 0.125rem 0.75rem rgba(0, 0, 0, 0.35);
}
.mv_top .mv_in p {
  font-size: 1.5rem;
  text-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.35);
}

@media screen and (max-width: 880px) {
  .mv_top .mv_in h2 {
    font-size: 1.625rem;
    margin-bottom: 0.625rem;
  }
  .mv_top .mv_in p {
    font-size: 0.875rem;
    line-height: 1.7;
  }
}
/*採用ページ：バナー帯削除後の区切り*/
.site_contentRec .mv_rec {
  border-bottom: 1px solid #e0e0e0;
}

@media screen and (max-width: 600px) {
  .site_header h1 a {
    gap: 0.375rem;
  }
  .site_header h1 a img {
    width: 4rem;
  }
  .site_header h1 a .site_name {
    font-size: 0.6875rem;
  }
  .site_header h1 a .site_name small {
    font-size: 0.5625rem;
  }
  .site_header .site_header_right {
    gap: 3vw;
  }
  .site_header .contact_nav ul li a {
    white-space: nowrap;
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
  }
}

/*アクセシビリティ補助*/
.sr_only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip_link {
  position: absolute;
  left: 1rem;
  top: -10rem;
  z-index: 1000;
  background-color: #000;
  color: #fff;
  padding: 0.625rem 1rem;
}
.skip_link:focus {
  top: 1rem;
}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #005fcc;
  outline-offset: 2px;
}

/*マージン率等に係る情報提供（hakenjyouhou）*/
.sbHaken .sbc {
  line-height: 1.9;
}
.sbHaken .haken_date {
  text-align: right;
  margin-bottom: 1.875rem;
}
.sbHaken .haken_table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #d0d0d0;
  margin-bottom: 3.75rem;
}
.sbHaken .haken_table th, .sbHaken .haken_table td {
  border-bottom: 1px solid #d0d0d0;
  padding: 1rem 1.25rem;
  text-align: left;
  vertical-align: top;
}
.sbHaken .haken_table th {
  width: 45%;
  background-color: #f7f7f7;
  font-weight: bold;
}
.sbHaken .haken_table td {
  font-size: 1.125rem;
}
.sbHaken .haken_block {
  margin-bottom: 3.125rem;
}
.sbHaken .haken_block h3 {
  text-align: left;
  font-size: 1.25rem;
  font-weight: bold;
  border-left: 0.375rem solid #009f8f;
  padding-left: 1rem;
  margin-bottom: 1rem;
}
.sbHaken .haken_block dl {
  margin: 0.75rem 0 0;
  background-color: #f7f7f7;
  padding: 1rem 1.25rem;
}
.sbHaken .haken_block dl dt {
  font-weight: bold;
}
.sbHaken .haken_block dl dd {
  margin: 0 0 0.5rem;
}
.sbHaken .haken_scroll {
  overflow-x: auto;
}
.sbHaken .haken_training {
  width: 100%;
  min-width: 40rem;
  border-collapse: collapse;
  font-size: 0.9375rem;
}
.sbHaken .haken_training th, .sbHaken .haken_training td {
  border: 1px solid #d0d0d0;
  padding: 0.625rem 0.75rem;
  text-align: center;
  vertical-align: middle;
}
.sbHaken .haken_training thead th {
  background-color: #0c1962;
  color: #fff;
  font-weight: normal;
}
.sbHaken .haken_training tbody th {
  text-align: left;
  background-color: #f7f7f7;
}
.sbHaken .more {
  margin-top: 1.25rem;
}

@media screen and (max-width: 880px) {
  .sbHaken .haken_table th,
  .sbHaken .haken_table td {
    display: block;
    width: auto;
    padding: 0.625rem 0.75rem;
  }
  .sbHaken .haken_table th {
    border-bottom: 0;
  }
  .sbHaken .haken_block h3 {
    font-size: 1.0625rem;
  }
}

/*コンプライアンス：小見出し*/
.site_contentCompliance .sbc h3 {
  font-weight: bold;
  font-size: 1.3125rem;
  line-height: 1.5;
  margin: 4rem 0 1.5rem;
  padding-bottom: 0.875rem;
  position: relative;
}
.site_contentCompliance .sbc h3:after {
  content: "";
  display: block;
  width: 2.5rem;
  height: 0.1875rem;
  background-color: #009f8f;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.site_contentCompliance .sbc > h3:first-child {
  margin-top: 0;
}
.site_contentCompliance .sbc li h3 {
  font-size: 1rem;
  text-align: left;
  margin: 1.25rem 0 0.375rem;
  padding-bottom: 0;
}
.site_contentCompliance .sbc li h3:after {
  display: none;
}

@media screen and (max-width: 880px) {
  .site_contentCompliance .sbc h3 {
    font-size: 1.125rem;
    margin-top: 2.75rem;
  }
  .site_contentCompliance .sbc li h3 {
    font-size: 0.9375rem;
  }
}
