@charset "UTF-8";
/* ==================================================

<目次>
 1.汎用クラス
 2.パーツ
 3.ヘッダー・フッター
 4.トップページ
 5.下層ページ

=================================================== */
figure a:hover {
  opacity: 0.9;
}

/* ==================================================

1.汎用クラス

================================================== */
/* margin-top */
.mt0 {
  margin-top: 0 !important;
}

.mt8 {
  margin-top: 8px !important;
}

.mt16 {
  margin-top: 16px !important;
}

.mt24 {
  margin-top: 24px !important;
}

.mt32 {
  margin-top: 32px !important;
}

.mt64 {
  margin-top: 64px !important;
}

.mt80 {
  margin-top: 80px !important;
}

/* margin-bottom */
.mb0 {
  margin-bottom: 0 !important;
}

.mb8 {
  margin-bottom: 8px !important;
}

.mb16 {
  margin-bottom: 16px !important;
}

.mb24 {
  margin-bottom: 24px !important;
}

.mb32 {
  margin-bottom: 32px !important;
}

.mb64 {
  margin-bottom: 64px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

/* padding */
.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.u-font_s {
  font-size: 0.8em !important;
}

/* ==================================================

2.パーツ

================================================== */
/* ボタン
---------------------------------------- */
@media (min-width: 640px) {
  .btn_cta_recruit > a {
    background-color: var(--wp--preset--color--sm-accent);
    border-radius: 3em;
    color: #fff !important;
    font-size: 0.875em !important;
  }
}
@media (max-width: 639px) {
  .btn_cta_recruit {
    background-color: #E3F1FF;
    background-image: -webkit-gradient(linear, left top, right top, from(#E3F1FF), to(#fff));
    background-image: -webkit-linear-gradient(left, #E3F1FF, #fff);
    background-image: linear-gradient(90deg, #E3F1FF, #fff);
    border-radius: 5px;
  }
  .btn_cta_recruit > a {
    padding-inline: 0.8em;
    font-weight: bold;
    color: var(--wp--preset--color--sm-accent);
  }
  .btn_cta_recruit a {
    color: #333;
  }
  .btn_cta_recruit .c-ic-angle-right:before {
    border-color: var(--wp--preset--color--sm-accent);
  }
}
/* Contact Form 7
---------------------------------------- */
.p-form table {
  border-collapse: collapse;
  max-width: 100%;
  width: 100%;
}
.p-form th {
  font-weight: normal !important;
  min-width: 250px;
  text-align: left;
  vertical-align: top;
  background-color: #f9fcff;
}
.p-form th, .p-form td {
  padding: 1.5rem !important;
}
.p-form input[type=text].full, .p-form input[type=tel], .p-form input[type=email] {
  width: 100%;
  max-width: 100%;
}
.p-form input[type=text], .p-form input[type=tel], .p-form input[type=email] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.p-form input[type=text]:focus, .p-form input[type=tel]:focus, .p-form input[type=email]:focus {
  background-color: #EEE;
}
.p-form input[type=text].wpcf7-not-valid, .p-form input[type=tel].wpcf7-not-valid, .p-form input[type=email].wpcf7-not-valid {
  border: 1px solid #E00;
}
.p-form textarea {
  width: 100%;
  padding: 3px 5px;
  border: 1px solid #CCC;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.p-form textarea:focus {
  background-color: #EEE;
}
.p-form textarea.wpcf7-not-valid {
  border: 1px solid #E00;
}
.p-form select {
  padding: 8px;
  border-color: #CCC;
}
.p-form .wpcf7-list-item {
  margin: 0 1em 0 0;
  margin-bottom: 8px !important;
}
.p-form span.wpcf7-not-valid-tip {
  margin-top: 2px;
  color: #E00;
}
.p-form p {
  margin-bottom: 0;
}
.p-form input::-webkit-input-placeholder {
  color: #999;
}
.p-form input::-moz-placeholder {
  color: #999;
}
.p-form input:-ms-input-placeholder {
  color: #999;
}
.p-form input::-ms-input-placeholder {
  color: #999;
}
.p-form input::placeholder {
  color: #999;
}
.p-form .p-form_required_mark {
  position: relative;
  padding-top: 1.75rem !important;
}
.p-form .p-form_required_mark::after {
  content: "*";
  font-size: 1.5rem;
  line-height: 1;
  display: block;
  color: #ED1C24;
  position: absolute;
  top: 1rem;
  left: 1.5rem;
}

.p-form_submit {
  text-align: center;
}
.p-form_submit .wpcf7-submit {
  font-weight: bold;
  margin-left: 72px;
  padding: 1em 3em;
}

@media (max-width: 639px) {
  .p-form table,
  .p-form tbody,
  .p-form tr,
  .p-form th,
  .p-form td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .p-form th {
    padding: 10px;
    text-align: left;
  }
  .p-form td {
    padding: 10px;
  }
}
/* ==================================================

3.ヘッダー・フッター

================================================== */
/* ヘッダー
---------------------------------------- */
.l-header--1row .c-site-branding__title a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (min-width: 1084px) {
  .l-header--1row {
    margin-top: 32px;
    margin-bottom: 8px;
  }
}
@media not all and (min-width: 1084px) {
  .u-invisible-md-down {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .l-1row-header__branding {
    padding-bottom: var(--_padding-1);
  }
  .u-invisible-lg-up {
    display: block !important;
  }
}
@media (min-width: 1084px) {
  .u-invisible-lg-up {
    display: none !important;
  }
}
.p-global-nav .c-navbar__item > a {
  font-weight: normal;
  padding-top: calc(var(--_padding-1) / 2.5);
  padding-bottom: calc(var(--_padding-1) / 2.5);
}
.p-global-nav .c-navbar__item[aria-haspopup=true]:before {
  display: none;
}

@media (min-width: 1180px) {
  .p-global-nav .c-navbar__item > a {
    font-size: 1rem;
  }
}
.c-navbar__item > .c-navbar__submenu {
  top: 100%;
  border: 1px solid #fff;
  border-top: 4px solid #fff;
}
.c-navbar__item > .c-navbar__submenu > .menu-item {
  border-bottom: 1px solid #99a8ba;
}

.l-header__drop-nav .p-drop-nav {
  padding-block: 8px;
}

.p-drop-nav .p-global-nav .c-navbar__item > a {
  padding-top: calc(var(--_padding-1) / 2.5);
  padding-bottom: calc(var(--_padding-1) / 2.5);
}

.c-hamburger-btn__label {
  display: none;
}

.c-drawer[aria-hidden=false] {
  background-color: rgba(22, 80, 149, 0.9019607843);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
.c-drawer .menu-item {
  border-bottom: 1px solid #5485ba;
  padding-top: calc(var(--_padding-2) * 1.25);
  padding-bottom: calc(var(--_padding-2) * 1.25);
}
.c-drawer .c-drawer__submenu {
  padding-bottom: 8px;
}
.c-drawer .c-drawer__submenu .menu-item {
  border: none;
  padding-top: var(--_padding-2);
  padding-bottom: var(--_padding-2);
}
.c-drawer .c-drawer__submenu .menu-item > a::before {
  content: "-";
  padding-right: 4px;
}

.c-drawer--highlight-type-background-color .c-drawer__item.sm-nav-menu-item-highlight {
  background-color: var(--wp--preset--color--sm-sub-accent);
  margin-left: 0;
  margin-right: 0;
  padding-top: 1em;
  padding-bottom: 1em;
  margin-top: 16px;
  border-radius: 10px;
}

/* フッター
---------------------------------------- */
.l-footer {
  border-top: 5px solid #E3F1FF;
  -webkit-border-image: -webkit-gradient(linear, left top, right top, from(#165095), to(#165095)) 2;
  -webkit-border-image: -webkit-linear-gradient(left, #165095 0%, #165095 100%) 2;
       -o-border-image: linear-gradient(to right, #165095 0%, #165095 100%) 2;
          border-image: -webkit-gradient(linear, left top, right top, from(#165095), to(#165095)) 2;
          border-image: linear-gradient(to right, #165095 0%, #165095 100%) 2;
  background: #F5F5F5;
}
.l-footer .widget_nav_menu .menu-item a {
  position: relative;
  padding-left: 1.25em;
  font-size: 1rem;
}
.l-footer .widget_nav_menu .menu-item a::before, .l-footer .widget_nav_menu .menu-item a::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  left: 0;
  width: 10px;
  height: 1px;
  border-radius: 9999px;
  background-color: #165095;
  -webkit-transform-origin: calc(100% - 0.5px) 50%;
          transform-origin: calc(100% - 0.5px) 50%;
}
.l-footer .widget_nav_menu .menu-item a::before {
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}
.l-footer .widget_nav_menu .menu-item a::after {
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
}
.l-footer .widget_nav_menu ul > li + li {
  margin-top: var(--_margin1);
}

.p-footer_addr,
.p-footer_contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-footer_addr:before,
.p-footer_contact:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 4px;
}

.p-footer_addr:before {
  background: url(../img/icon_location.svg) no-repeat center/contain;
}

.p-footer_contact:before {
  background: url(../img/icon_tel.svg) no-repeat center/contain;
}

.c-copyright--inverse {
  background-color: var(--wp--preset--color--sm-accent) !important;
}

/* ==================================================

4.トップページ

================================================== */
.p-home_technology .smb-section-with-bgimage__bgimage :is(img, video) {
  -o-object-fit: none;
     object-fit: none;
  height: auto;
}
.p-home_technology .smb-section__header {
  position: relative;
  padding-top: 40px;
}
.p-home_technology .smb-section__header::after {
  content: "";
  display: block;
  width: 564px;
  max-width: 100%;
  height: 136px;
  background: url(../img/ttl_technical.svg) no-repeat top left/contain;
  position: absolute;
  top: 0;
  left: 0;
}
.p-home_technology .smb-section__header .smb-section__title {
  position: relative;
  z-index: 2;
}
.p-home_technology .p-home_technology_panel .smb-panels__item {
  border-radius: 10px;
  border-bottom: 4px solid #FEDC85;
  overflow: hidden;
  position: relative;
}
.p-home_technology .p-home_technology_panel .smb-panels__item::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 40px 40px; /* top right bottom left */
  border-color: transparent transparent #FEDC85 transparent;
}
.p-home_technology .p-home_technology_panel .smb-panels__item:hover {
  opacity: 0.9;
}
.p-home_technology .p-home_technology_panel .wp-block-snow-monkey-blocks-panels-item:nth-child(2) .smb-panels__item, .p-home_technology .p-home_technology_panel .wp-block-snow-monkey-blocks-panels-item:nth-child(3) .smb-panels__item {
  border-color: #FFA700;
}
.p-home_technology .p-home_technology_panel .wp-block-snow-monkey-blocks-panels-item:nth-child(2) .smb-panels__item::after, .p-home_technology .p-home_technology_panel .wp-block-snow-monkey-blocks-panels-item:nth-child(3) .smb-panels__item::after {
  border-color: transparent transparent #f8a100 transparent;
}
.p-home_technology .p-home_technology_panel .smb-panels__item__figure img {
  border-radius: 10px 10px 0 0;
}

.p-home_news .smb-section__header {
  position: relative;
  padding-top: 40px;
}
.p-home_news .smb-section__header::after {
  content: "";
  display: block;
  width: 772px;
  max-width: 100%;
  height: 136px;
  background: url(../img/ttl_news-topics.svg) no-repeat top left/contain;
  position: absolute;
  top: 0;
  left: 0;
}
.p-home_news .smb-section__header .smb-section__title {
  position: relative;
  z-index: 2;
}

.p-home_news_list .c-entries--text2 {
  border: none;
}
.p-home_news_list :is(.c-entries--simple, .c-entries--text, .c-entries--text2) .c-entries__item {
  border-color: #fff;
}
.p-home_news_list :is(.c-entries--simple, .c-entries--text, .c-entries--text2) .c-entries__item:last-child {
  border-bottom: none;
}
.p-home_news_list .c-entry-summary__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.p-home_news_list .c-entry-summary__body .c-entry-summary__header {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
.p-home_news_list .c-entry-summary__body .c-entry-summary__header .c-entry-summary__title {
  color: var(--wp--preset--color--sm-accent);
  font-weight: bold;
}
.p-home_news_list .c-entry-summary__body .c-entry-summary__meta {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  margin-top: 0;
}
.p-home_news_list .c-entry-summary__body .c-entry-summary__term {
  color: var(--wp--preset--color--sm-sub-accent);
  background-color: #fff;
  border-radius: 3em;
  border: 1px solid #FEDC85;
  min-width: 8em;
  text-align: center;
}
.p-home_news_list .c-entry-summary__body .c-meta__item {
  font-size: 1rem;
}
.p-home_news_list .c-entry-summary__body .c-meta__item:not(:last-child) {
  margin-right: 2rem;
}

@media (max-width: 639px) {
  .p-home_news_list .c-entry-summary__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1em;
  }
  .p-home_news_list .c-entry-summary__body .c-meta__item:not(:last-child) {
    margin-right: 1rem;
  }
}
.p-home_contact .smb-section__header {
  position: relative;
  padding-top: 56px;
}
.p-home_contact .smb-section__header::after {
  content: "";
  display: block;
  width: 465px;
  max-width: 100%;
  height: 136px;
  background: url(../img/ttl_contact.svg) no-repeat top center/contain;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
.p-home_contact .smb-section__header .smb-section__title {
  position: relative;
  z-index: 2;
}

/* ==================================================

採用トップページ

================================================== */
.p-recruit_mv {
  position: relative;
}
.p-recruit_mv .p-recruit_mv_title {
  position: absolute;
}
.p-recruit_mv .p-recruit_mv_copy {
  width: 100%;
  max-width: 1080px;
  position: absolute;
  top: 43%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-recruit_mv .p-recruit_mv_copy .p-recruit_mv_copy_lead {
  -webkit-animation: mv-copy-reveal 3.5s cubic-bezier(0.33, 1, 0.2, 1) both;
  animation: mv-copy-reveal 3.5s cubic-bezier(0.33, 1, 0.2, 1) both;
}

@media (max-width: 1120px) {
  .p-recruit_mv .p-recruit_mv_copy {
    padding-right: var(--_container-margin-right);
    padding-left: var(--_container-margin-left);
  }
  .p-recruit_mv .p-recruit_mv_copy .p-recruit_mv_copy_main {
    max-width: 50%;
    margin-left: 0 !important;
  }
  .p-recruit_mv .p-recruit_mv_copy .p-recruit_mv_copy_lead {
    font-size: 1.25rem !important;
  }
}
.u-animation_delay_s {
  -webkit-animation-delay: 0.8s !important;
  animation-delay: 0.8s !important;
}

@-webkit-keyframes mv-copy-reveal {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
@keyframes mv-copy-reveal {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.p-recruit_heading_intro_wrap {
  position: relative;
  padding-top: 40px;
}
.p-recruit_heading_intro_wrap::after {
  content: "";
  display: block;
  width: 307px;
  max-width: 100%;
  height: 73px;
  background: url(../img/ttl_work.svg) no-repeat top left/contain;
  position: absolute;
  top: 0;
  left: -16px;
}

.p-recruit_heading_intro {
  position: relative;
  z-index: 2;
}

.p-recruit_interview .smb-section__header {
  position: relative;
  padding-top: 40px;
}
.p-recruit_interview .smb-section__header::after {
  content: "";
  display: block;
  width: 553px;
  max-width: 100%;
  height: 72px;
  background: url(../img/ttl_interview.svg) no-repeat top left/contain;
  position: absolute;
  top: 0;
  left: 0;
}
.p-recruit_interview .smb-section__header .smb-section__title {
  position: relative;
  z-index: 2;
}

.p-recruit_data .smb-section__header {
  position: relative;
  padding-top: 40px;
}
.p-recruit_data .smb-section__header::after {
  content: "";
  display: block;
  width: 245px;
  max-width: 100%;
  height: 72px;
  background: url(../img/ttl_data.svg) no-repeat top center/contain;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
.p-recruit_data .smb-section__header .smb-section__title {
  position: relative;
  z-index: 2;
}

.js-fadein {
  -webkit-transition-property: opacity, scale, translate;
  transition-property: opacity, scale, translate;
  -webkit-transition-duration: 800ms;
          transition-duration: 800ms;
  -webkit-transition-delay: 1000ms;
          transition-delay: 1000ms;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
.js-fadein.appear {
  opacity: 0;
  translate: 0 60px;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.js-fadein:nth-child(1) {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}
.js-fadein:nth-child(2) {
  -webkit-transition-delay: 300ms;
          transition-delay: 300ms;
}
.js-fadein:nth-child(3) {
  -webkit-transition-delay: 500ms;
          transition-delay: 500ms;
}

.p-recruit_heading_message_wrap {
  position: relative;
  padding-top: 40px;
}
.p-recruit_heading_message_wrap::after {
  content: "";
  display: block;
  width: 441px;
  max-width: 100%;
  height: 73px;
  background: url(../img/ttl_message.svg) no-repeat top left/contain;
  position: absolute;
  top: 0;
  left: 0px;
}

.p-recruit_heading_message {
  position: relative;
  z-index: 2;
}

.p-recruit_news .smb-section__header {
  position: relative;
  padding-top: 40px;
}
.p-recruit_news .smb-section__header::after {
  content: "";
  display: block;
  width: 553px;
  max-width: 100%;
  height: 72px;
  background: url(../img/ttl_news.svg) no-repeat top left/contain;
  position: absolute;
  top: 0;
  left: 0;
}
.p-recruit_news .smb-section__header .smb-section__title {
  position: relative;
  z-index: 2;
}

.p-recruit_job .smb-section__header {
  position: relative;
  padding-top: 40px;
  padding-left: 1em;
}
.p-recruit_job .smb-section__header::after {
  content: "";
  display: block;
  width: 182px;
  max-width: 100%;
  height: 94px;
  background: url(../img/ttl_job.svg) no-repeat top left/contain;
  position: absolute;
  top: 0;
  left: 0;
}
.p-recruit_job .smb-section__header .smb-section__title {
  position: relative;
  z-index: 2;
}

.p-recruit_job_list .c-entries a img {
  -webkit-transition: -webkit-transform 0.5s ease, -webkit-filter 0.5s ease;
  transition: -webkit-transform 0.5s ease, -webkit-filter 0.5s ease;
  transition: transform 0.5s ease, filter 0.5s ease;
  transition: transform 0.5s ease, filter 0.5s ease, -webkit-transform 0.5s ease, -webkit-filter 0.5s ease;
  will-change: transform;
  display: block;
}
.p-recruit_job_list .c-entries:has(.c-entries__item a:hover) .c-entries__item a img {
  -webkit-filter: brightness(80%);
          filter: brightness(80%);
}
.p-recruit_job_list .c-entries:has(.c-entries__item a:hover) .c-entries__item a:hover img {
  -webkit-filter: brightness(100%);
          filter: brightness(100%);
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.p-recruit_job_list .c-entries__item a {
  position: relative;
}
.p-recruit_job_list .c-entries__item a::after {
  content: "";
  display: block;
  width: 48px;
  height: 48px;
  background: url(../img/icon_arrow_circle.png) no-repeat center/contain;
  position: absolute;
  right: -5px;
  bottom: -5px;
}
.p-recruit_job_list .c-entry-summary__body {
  display: none;
}
.p-recruit_job_list .c-entry-summary__figure {
  border-radius: 10px;
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .c-entries {
    --entries--item-width: 25%;
  }
}
.p-recruit_heading_entry {
  position: relative;
  padding-top: 40px;
}
.p-recruit_heading_entry::after {
  content: "";
  display: block;
  width: 314px;
  max-width: 100%;
  height: 72px;
  background: url(../img/ttl_entry.svg) no-repeat top center/contain;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}
.p-recruit_heading_entry img {
  position: relative;
  z-index: 2;
}

/* ==================================================

5.下層ページ

================================================== */
/* 投稿者と更新日時を非表示 */
.c-meta__item--author {
  display: none !important;
}