@charset "UTF-8";
:root {
  /* SEMANTIC */
  --font-body: var(--size-font-300);
  --color-base-brand: #005bac;
  --color-base-black: #000000;
  --color-base-white: #ffffff;
  --color-link-link: #005bac;
  --color-base-brand-dark: #002d53;
  --color-base-brand-light: #60b3f9;
  --color-base-accent: #fa8619;
  --font-small: var(--size-font-100);
  --color-base-blue-gray: #e4eef7;
  --color-link-hover: #359dfa;
  --color-base-red: #e34444;
  --color-base-purple: #5f3fd2;
  --color-base-blue-gray2: #e8ecf0;
  /* SHADOWS */
  --dropshadow1: 0 2px 4px 0 rgba(0 0 0 / 0.1);
  --dropshadow2: 0 4px 20px 0 rgba(0 0 0 / 0.1);
  --dropshadow3: 0 4px 18px 0 rgba(126 140 152 / 0.4);
}

.grad1 {
  background: radial-gradient(164.97% 65.13% at 50% 50%, #fff 13.63%, #e4f6fe 48.97%, #e4e9ff 67.43%, #d8fcff 70.59%, #f5fafd 88.5%, #fff 99.42%);
  background-size: cover;
  background-attachment: fixed;
}

.grad2 {
  background: linear-gradient(90deg, #86fde8 0%, #acb6e5 100%);
}

.drop-shadow1 {
  box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.15);
}
@media only screen and (min-width: 782px) {
  .drop-shadow1 {
    box-shadow: 0px 0px 18px 0px rgba(0, 0, 0, 0.15);
  }
}

.drop-shadow2 {
  box-shadow: 0px 0px 14px 10px rgba(216, 226, 231, 0.2);
}
@media only screen and (min-width: 782px) {
  .drop-shadow2 {
    box-shadow: 0px 0px 20px 20px rgba(216, 226, 231, 0.2);
  }
}

.drop-shadow3 {
  box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.06);
}
@media only screen and (min-width: 782px) {
  .drop-shadow3 {
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.06);
  }
}

.reset-link-style:link, .reset-link-style:visited {
  color: var(--wp--preset--color--site-text);
  text-decoration: none;
}

.reset-list-style {
  list-style: none;
  padding-left: 0;
}
.reset-list-style li {
  margin-top: 0;
}
.reset-list-style li:not(:first-of-type) {
  margin-top: 0;
}

/* === 必要最小限のリセット === */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* スマホなどでバーの高さが変わる対策 */
@media screen and (max-width: 782px) {
  body.admin-bar {
    margin-top: 46px;
  }
}
:root {
  interpolate-size: allow-keywords;
}

html,
body {
  height: 100%;
}

body {
  background-color: #fff;
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
  font-family: var(--wp--preset--font-family--noto-sans-jp), sans-serif;
}

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

button {
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
}

a:not([href^="tel:"]) {
  transition: all 0.15s;
}
a:not([href^="tel:"]):link, a:not([href^="tel:"]):visited {
  color: var(--wp--preset--color--brand-primary);
  text-decoration: underline;
}
a:not([href^="tel:"]):hover, a:not([href^="tel:"]):active {
  opacity: 0.8;
}

figure {
  line-height: 1;
}

body,
p,
span,
div {
  overflow-wrap: break-word;
  /* 同上 */
}

sup {
  margin: 0 0.25em;
  color: var(--wp--preset--color--brand-primary);
}
sup a::before {
  content: "※";
  font-size: 90%;
}

ruby {
  ruby-position: over;
}

rt {
  font-size: 0.4em;
  letter-spacing: 0;
  padding: 0 0 3px;
}

@media only screen and (min-width: 782px) {
  .is-mobile {
    display: none;
  }
}

.is-desktop {
  display: none;
}
@media only screen and (min-width: 782px) {
  .is-desktop {
    display: block;
  }
}

[id] {
  scroll-margin-top: 100px;
}

@media only screen and (min-width: 782px) {
  .page-provide-maker [id] {
    scroll-margin-top: 300px;
  }
}

.wp-block-navigation__responsive-container-open:not(.always-shown) {
  display: flex;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}

.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
  display: none;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: block;
  }
}

.site-header {
  padding-left: 16px;
  padding-right: 16px;
  width: 100%;
  height: 60px;
  background: #fff;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
}
@media only screen and (min-width: 1025px) {
  .site-header {
    padding-left: 25px;
    padding-right: 20px;
    height: 92px;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1200px) {
  .site-header {
    padding-left: 40px;
    padding-right: 30px;
  }
}
.site-header .site-header__inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0;
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .site-header .site-header__inner {
    justify-content: space-between;
    gap: 20px;
  }
}
.site-header .header-logo {
  width: 199px;
  flex-shrink: 0;
  flex-grow: 0;
}
@media only screen and (min-width: 1025px) {
  .site-header .header-logo {
    width: 220px;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1200px) {
  .site-header .header-logo {
    width: 272px;
  }
}
.site-header .main-nav-wrapper.wp-block-navigation {
  width: auto;
}
@media only screen and (min-width: 1025px) {
  .site-header .main-nav-wrapper.wp-block-navigation {
    margin-top: 0;
  }
}
.site-header .logo-80th {
  pointer-events: none;
  margin-top: 0;
  width: clamp(54px, 14.4vw, 99px);
  position: fixed;
  top: 76px;
  right: 14px;
}
@media only screen and (min-width: 1025px) {
  .site-header .logo-80th {
    top: 118px;
    right: 30px;
  }
}

.wp-block-navigation__responsive-container-content {
  padding-bottom: 100px;
  background-color: #fff;
  display: block;
  width: 100%;
  height: 100dvh;
  position: fixed;
  left: 0;
  top: 8px;
  overflow: scroll;
  -ms-overflow-style: none;
  /* IE/Edge */
  scrollbar-width: none;
  /* Firefox */
}
.wp-block-navigation__responsive-container-content::-webkit-scrollbar {
  display: none;
  /* Chrome/Safari */
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content {
    padding: 0;
    display: flex;
    width: auto;
    height: 92px;
    position: relative;
    left: auto;
    top: auto;
    overflow: visible;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container {
  padding: 0 16px;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  gap: 0 !important;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    padding: 0;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item {
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item {
    width: auto;
    margin-right: 24px;
    flex-direction: row;
    gap: 8px;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1200px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item {
    margin-right: 1.67vw;
    gap: 10px;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item:not(:last-of-type) {
  border-bottom: 1px solid var(--color-gray-500, #bdbdbd);
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item:not(:last-of-type) {
    border-bottom: none;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content {
  padding: 18px 70px 18px 8px;
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.5;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content {
    padding: 0;
    display: flex;
    align-items: center;
    width: auto;
    height: 92px;
    font-size: 0.9375rem;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1200px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content {
    font-size: 1rem;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:focus {
  outline: none;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:link, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:visited {
  text-decoration: none;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:hover, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:active {
  opacity: 1;
  color: var(--wp--preset--color--brand-primary);
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-icon {
  display: block;
  margin: 0;
  aspect-ratio: 1/1;
  width: 60px;
  height: 50px;
  position: absolute;
  right: 0;
  top: 8px;
  background-color: #005bac;
  -webkit-mask-image: url(../assets/images/common/ico-arrow1.png);
  mask-image: url(../assets/images/common/ico-arrow1.png);
  -webkit-mask-size: 16px auto;
  mask-size: 16px auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.05s ease-out;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-icon {
    width: 15px;
    height: 8px;
    border: none;
    position: relative;
    right: auto;
    top: 2px;
    -webkit-mask-size: 100% auto;
    mask-size: 100% auto;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-icon svg {
  display: none;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-icon.is-visible {
  transform: rotate(180deg);
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.has-child.is-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    display: flex !important;
    flex-direction: column !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    transform: none !important;
    height: auto !important;
    pointer-events: auto !important;
    transition: none !important;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
  padding: 0 0 16px 18px;
  width: 100%;
  gap: 0;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    padding: 40px 100px 65px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 40px 50px;
    border: none;
    background-color: transparent;
    border-radius: 0 0 8px 8px;
    position: fixed;
    left: 50%;
    top: 92px;
    transform: translateX(-50%);
    overflow: hidden;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu::before {
    content: "";
    width: calc(100vw - 80px);
    height: calc(100% - 20px);
    background-color: #fff;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu::after {
    content: "";
    width: 100vw;
    height: 20px;
    background-color: #fff;
    box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    position: absolute;
    left: 0;
    top: -20px;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item {
  border-bottom: none;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item {
    margin-right: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: auto;
    min-width: 200px;
    height: auto;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
  padding-top: 8px;
  padding-right: 50px;
  padding-bottom: 8px;
  padding-left: 0;
  font-size: 1rem;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
    padding: 0;
    display: inline-flex;
    align-items: flex-start;
    width: auto;
    height: auto;
    font-weight: 700;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:link, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:visited {
    color: var(--wp--preset--color--brand-primary);
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:hover, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:active {
    text-decoration: underline;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation__submenu-icon {
  width: 40px;
  height: 40px;
  top: 2px;
  -webkit-mask-size: 14px auto;
  mask-size: 14px auto;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation__submenu-icon {
    display: none !important;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item:not(.has-child) {
  border-bottom: none;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    padding: 8px 0 0 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: auto;
    border-radius: 0;
    left: auto;
    top: auto;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu::before {
    content: none;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu::after {
    content: none;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item {
  padding-top: 6px;
  padding-right: 40px;
  padding-bottom: 6px;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item {
    padding: 6px 0;
    max-width: 320px;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  display: flex;
  align-items: flex-start;
  gap: 5px;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
    padding-left: 18px;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 500;
    position: relative;
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:link, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:visited {
    color: var(--color-base-black, #000000);
  }
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:hover, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:active {
    opacity: 1;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content::before {
  content: "";
  width: 6px;
  height: 2px;
  background-color: #005bac;
  position: absolute;
  left: 4px;
  top: 12px;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact {
  margin-top: 40px;
  border-bottom: none;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact {
    margin-top: 0;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit .wp-block-navigation-item__content, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact .wp-block-navigation-item__content {
  width: 88%;
  max-width: 280px;
  min-height: auto;
  margin: 0 auto;
  display: flex;
  padding: 16px 10px 18px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background-color: #002d53;
  border: 1px solid #002d53;
  color: #fff;
  transition: all 0.15s;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit .wp-block-navigation-item__content, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact .wp-block-navigation-item__content {
    padding: 10px 13px;
    width: auto;
    max-width: none;
    height: 40px;
    white-space: nowrap;
    line-height: 1;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1200px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit .wp-block-navigation-item__content, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact .wp-block-navigation-item__content {
    padding: 10px 16px;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit .wp-block-navigation-item__content:hover, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit .wp-block-navigation-item__content:active, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact .wp-block-navigation-item__content:hover, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact .wp-block-navigation-item__content:active {
  opacity: 1;
  background-color: #fff;
  border-color: #002d53;
  color: #002d53;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit {
    margin-left: 0;
    margin-right: 12px;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1200px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit {
    margin-left: 1.11vw;
    margin-right: 0.83vw;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit .wp-block-navigation-item__content::before {
  content: "";
  width: 16.652px;
  height: 19px;
  background-color: #fff;
  -webkit-mask-image: url(../assets/images/common/logo-b.png);
  mask-image: url(../assets/images/common/logo-b.png);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center bottom;
  mask-position: center bottom;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit .wp-block-navigation-item__content:hover::before, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-recruit .wp-block-navigation-item__content:active::before {
  background-color: #005bac;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact {
  margin-top: 16px;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact {
    margin-top: 0;
    margin-right: 0;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact .wp-block-navigation-item__content {
  background-color: #005bac;
  border-color: #005bac;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact .wp-block-navigation-item__content:hover, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-contact .wp-block-navigation-item__content:active {
  opacity: 1;
  text-decoration: none;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-pp, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-sitemap {
  margin-top: 24px;
  border-bottom: none;
  align-items: center;
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-pp .wp-block-navigation-item__content, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-sitemap .wp-block-navigation-item__content {
  min-height: auto;
  padding: 0;
  font-size: 0.875rem;
  text-align: center;
}
@media only screen and (min-width: 1025px) {
  .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-pp, .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-sitemap {
    display: none;
  }
}
.wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-pp {
  margin-top: 32px;
}

.has-modal-open .wp-block-navigation__responsive-container-open {
  display: none;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  width: 100%;
  height: 100vh;
  overflow: scroll;
  z-index: -1;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open::before,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::before {
  content: "";
  width: 100%;
  height: 60px;
  background: #fff;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1;
}

.wp-block-navigation__responsive-container-open {
  width: 40px;
  height: 40px;
  position: fixed;
  right: 22px;
  top: 10px;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.wp-block-navigation__responsive-container-open svg {
  display: none;
}

.wp-block-navigation__responsive-container-close {
  width: 40px;
  height: 40px;
  position: fixed;
  right: 22px;
  top: 10px;
  z-index: 10;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.wp-block-navigation__responsive-container-close svg {
  display: none;
}

.button-menu {
  width: 40px;
  height: 40px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.button-menu .line {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-base-brand);
  transition: all 0.15s ease-out;
}
.button-menu::before {
  content: "";
  width: 100%;
  height: 1px;
  background: var(--color-base-brand);
  transition: all 0.15s ease-out;
}
.button-menu.is-open {
  gap: 0;
}
.button-menu.is-open .line {
  transform: rotate(30deg);
}
.button-menu.is-open::before {
  transform: rotate(-30deg);
}

/* メニューが開くとき */
@-webkit-keyframes overlay-menu__fade-in-animation {
  from {
    opacity: 0;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes overlay-menu__fade-in-animation {
  from {
    opacity: 0;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* メニューが閉じるとき */
@-webkit-keyframes overlay-menu__fade-out-animation {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateY(0);
  }
}
@keyframes overlay-menu__fade-out-animation {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateY(0);
  }
}
.banner-80th {
  display: block;
  position: fixed;
  bottom: 12px;
  right: 12px;
  width: 160px;
  height: auto;
  z-index: 99;
  background-color: #002d53;
  border: 1px solid #dfdfdf;
}
@media only screen and (min-width: 782px) {
  .banner-80th {
    width: 252px;
  }
}
.banner-80th a {
  display: block;
}

.site-footer {
  padding-top: 32px;
  padding-bottom: 8px;
  padding-inline: clamp(12px, 4.27vw, 32px);
}
.site-footer a:link, .site-footer a:visited {
  color: var(--wp--preset--color--site-text);
  text-decoration: none;
}
@media only screen and (min-width: 1025px) {
  .site-footer {
    padding-top: 40px;
  }
}
.site-footer .site-footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media only screen and (min-width: 1025px) {
  .site-footer .site-footer__inner {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    gap: 24px 40px;
  }
}
.site-footer .company-info {
  order: 1;
  gap: 0;
}
.site-footer .company-info .img-company-logo {
  width: 181px;
}
.site-footer .company-info .text-company-place {
  margin-top: 10px;
  font-weight: 700;
}
.site-footer .page-link-group {
  order: 3;
  margin-block: 40px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 32px;
}
@media only screen and (min-width: 782px) {
  .site-footer .page-link-group {
    max-width: 870px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-footer .page-link-group {
    order: 2;
    margin-block: 0;
    margin-left: auto;
    grid-template-columns: repeat(4, 1fr);
  }
}
.site-footer .page-link-group .page-link-block {
  margin-top: 0;
  gap: 4px;
}
@media only screen and (min-width: 1025px) {
  .site-footer .page-link-group .page-link-block {
    gap: 8px;
  }
  .site-footer .page-link-group .page-link-block a:link, .site-footer .page-link-group .page-link-block a:visited {
    color: var(--wp--preset--color--site-text);
  }
  .site-footer .page-link-group .page-link-block a:hover, .site-footer .page-link-group .page-link-block a:active {
    opacity: 1;
    color: #005bac;
  }
}
.site-footer .page-link-group .page-link-block .page-link__item {
  font-weight: 700;
}
.site-footer .page-link-group .page-link-block .page-link-child {
  gap: 2px;
}
@media only screen and (min-width: 1025px) {
  .site-footer .page-link-group .page-link-block .page-link-child {
    gap: 6px;
  }
}
.site-footer .page-link-group .page-link-block .page-link-child .page-link-child__item {
  font-size: 0.9375rem;
}
.site-footer .list-certifications {
  order: 2;
  gap: 8px;
}
@media only screen and (min-width: 1025px) {
  .site-footer .list-certifications {
    order: 3;
    margin-top: 0;
    margin-bottom: 4px;
  }
}
.site-footer .list-certifications .list-certifications__item img {
  width: auto;
  height: 58px;
}
.site-footer .copy-right {
  order: 4;
  margin-top: 0;
  font-size: 0.6875rem;
  line-height: 1;
  text-align: center;
}
@media only screen and (min-width: 1025px) {
  .site-footer .copy-right {
    place-self: end;
    text-align: right;
  }
}

body:not(.page-recruit) {
  margin-top: 60px;
}
@media only screen and (min-width: 1025px) {
  body:not(.page-recruit) {
    margin-top: 92px;
  }
}

body:has(.page-in-recruite):not(.page-recruit) {
  margin-top: 60px;
}
@media only screen and (min-width: 1025px) {
  body:has(.page-in-recruite):not(.page-recruit) {
    margin-top: 96px;
  }
}

.site-main {
  padding-bottom: clamp(48px, 12.8vw, 100px);
  min-height: 50vh;
}
.margin-bottom-non,
.sec.sec-related-links:last-child,
.sec-service-contact:last-child,
.recruit-faq-group:last-child {
  margin-bottom: calc(clamp(48px, 12.8vw, 100px) * -1) !important;
}

.sec {
  margin-bottom: clamp(48px, 12.8vw, 80px);
  padding-inline: clamp(12px, 4.27vw, 32px);
}
.mv + .sec, .page-header + .sec {
  margin-top: 0;
}
.sec:where([class*="has-background"]) {
  padding-block: clamp(48px, 12.8vw, 80px);
}
.sec:where([class*="alignfull"]) {
  padding-block: clamp(48px, 12.8vw, 80px);
}

.wp-block-post-content {
  margin-top: 0;
}

.page-header {
  padding-inline: clamp(12px, 4.27vw, 32px);
}
.page-header .inner {
  padding-top: 5px;
  padding-bottom: 60px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 20px;
}
@media only screen and (min-width: 782px) {
  .page-header .inner {
    padding-top: 8px;
    padding-bottom: 96px;
    gap: 48px;
  }
}
.page-header .page-title-group .page-sub-title {
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 782px) {
  .page-header .page-title-group .page-sub-title {
    font-size: 1.25rem;
  }
}
.page-header .page-title-group .page-title {
  margin-top: 0;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
}
.page-header .page-title-group .page-title::after {
  content: "";
  margin-top: 8px;
  display: block;
  width: 100%;
  height: 3px;
  background-color: #005bac;
}
@media only screen and (min-width: 782px) {
  .page-header .page-title-group .page-title {
    gap: 18px;
    font-size: clamp(2rem, 2.92vw, 2.625rem);
  }
  .page-header .page-title-group .page-title::after {
    margin-top: 10px;
    height: 4px;
  }
}
@media only screen and (min-width: 782px) {
  .page-header .page-title-group .page-title-text {
    font-size: 1.125rem;
  }
}

.block-large-leading-blue {
  padding: 16px;
  background-color: #005bac;
}
@media only screen and (min-width: 782px) {
  .block-large-leading-blue {
    padding: 24px;
  }
}
.block-large-leading-blue p {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.7;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .block-large-leading-blue p {
    font-size: 2rem;
    text-align: center;
  }
}

.attention-block-bgcolor {
  padding: 16px;
  align-items: stretch;
  background-color: var(--color-base-blue-gray, #e4eef7);
}
@media only screen and (min-width: 782px) {
  .attention-block-bgcolor {
    padding: 16px 24px;
  }
}

.block-figure-box-1 {
  margin-block: 2em;
  gap: 1em;
}
.block-figure-box-1 .item-text {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 782px) {
  .block-figure-box-1 .item-text {
    margin-top: 20px;
    font-size: 1.5rem;
    text-align: center;
  }
}

@media only screen and (min-width: 782px) {
  .group-merit {
    gap: clamp(18px, 1.6423357664vw, 32px);
  }
}
.group-merit .wp-block-column {
  border: 2px solid #005bac;
}
.group-merit .wp-block-column .item-head {
  padding: 16px 8px;
  background-color: #005bac;
  text-align: center;
}
.group-merit .wp-block-column .item-head .item-title-sub {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
.group-merit .wp-block-column .item-head .item-title {
  margin-top: 5px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2px;
}
.group-merit .wp-block-column .item-head .item-title::after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #60b3f9;
}
.group-merit .wp-block-column .item-text {
  margin-top: 0;
  padding: 16px;
  background: #fff;
}
@media only screen and (min-width: 782px) {
  .group-merit .wp-block-column .item-text {
    font-size: 1.25rem;
  }
}

.block-biggest-info {
  gap: 24px;
}
@media only screen and (min-width: 782px) {
  .block-biggest-info {
    gap: 40px;
  }
}
.block-biggest-info p {
  font-size: clamp(24px, 6.4vw, 32px);
  text-align: center;
  line-height: 1.4;
}
.block-biggest-info p strong {
  font-weight: 700;
}
.block-biggest-info .wp-block-image {
  width: 86.0058309038%;
}
.block-biggest-info .wp-block-image img {
  margin-inline: auto;
}

.sec.sec-related-links {
  margin-bottom: 0;
  padding-block: clamp(32px, 8.5333333333vw, 40px);
  background: #005bac;
}
.sec.sec-related-links .title-5 {
  margin-top: 0;
  color: #fff;
}
.sec.sec-related-links .wp-block-buttons {
  margin-top: 16px;
  margin-bottom: 2.5em;
}
.sec.sec-related-links .wp-block-buttons:last-of-type {
  margin-bottom: 0;
}

.sec-service-contact {
  margin-top: clamp(32px, 8.5333333333vw, 64px);
  background: var(--color-base-blue-gray, #e4eef7);
}
.sec.sec-related-links + .sec-service-contact {
  margin-top: 0;
}

.group-explain-1 {
  margin-block: clamp(32px, 8.5333333333vw, 64px);
  align-items: stretch;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
}
.group-explain-1 .item-text {
  display: flex;
  padding: 8px var(--space-500, 24px);
  border-radius: 999px;
  background: #fff;
  font-size: clamp(18px, 4.8vw, 28px);
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 782px) {
  .group-explain-1 .item-text {
    padding: 8px 32px;
  }
}
.group-explain-1 .item-text-main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  font-size: clamp(20px, 5.3333333333vw, 40px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.group-explain-1 .item-text-main::before {
  display: block;
  content: "";
  width: 39px;
  height: 21px;
  background-color: var(--color-gray-400, #dfdfdf);
  -webkit-mask-image: url(../assets/images/common/ico-arrow-under.png);
  mask-image: url(../assets/images/common/ico-arrow-under.png);
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.group-step-1 {
  margin-block: clamp(32px, 8.5333333333vw, 64px);
}
@media only screen and (min-width: 1025px) {
  .group-step-1 .item-step {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.75rem;
  }
}
.group-step-1 .item-step .item-label {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  border-radius: var(--space-200, 8px);
  background: #60b3f9;
}
@media only screen and (min-width: 1025px) {
  .group-step-1 .item-step .item-label {
    flex: 1 1 18%;
  }
}
.group-step-1 .item-step .item-label + * {
  margin-top: 0.75rem;
}
@media only screen and (min-width: 1025px) {
  .group-step-1 .item-step .item-label + * {
    margin-top: 0;
    padding-block: 0.5em;
    flex: 1 1 calc(82% - 0.75rem);
  }
}
.group-step-1 .item-step:not(:first-of-type)::before {
  display: block;
  margin-bottom: 1rem;
  content: "";
  width: 100%;
  height: 14px;
  background-color: #005bac;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-under.png);
  mask-image: url(../assets/images/common/ico-arrow-under.png);
  -webkit-mask-size: 26px auto;
  mask-size: 26px auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.group-step-2 {
  margin-block: clamp(16px, 4.2666666667vw, 32px);
  gap: 25px;
}
@media only screen and (min-width: 782px) {
  .group-step-2 {
    flex-direction: row;
    gap: 57px;
  }
}
.group-step-2 .item-step {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  display: flex;
  padding: 0.65em;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: var(--space-100, 5.677px);
  background: #005bac;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .group-step-2 .item-step {
    padding: 2em 14px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.1em;
  }
}
.group-step-2 .item-step:not(:first-of-type)::before {
  display: block;
  margin-bottom: 1rem;
  content: "";
  width: 100%;
  height: 17px;
  background-color: var(--color-gray-400, #dfdfdf);
  -webkit-mask-image: url(../assets/images/common/ico-arrow-under.png);
  mask-image: url(../assets/images/common/ico-arrow-under.png);
  -webkit-mask-size: 43px 100%;
  mask-size: 43px 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: absolute;
  top: -21px;
  left: 0;
}
@media only screen and (min-width: 782px) {
  .group-step-2 .item-step:not(:first-of-type)::before {
    width: 43px;
    height: 17px;
    top: 0;
    -webkit-mask-size: 43px 17px;
    mask-size: 43px 17px;
    left: -47px;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
  }
}

.group-step-3 {
  margin-block: clamp(16px, 4.2666666667vw, 32px);
}
.group-step-3 .item-step .item-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75em;
  padding: 16px 8px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  border-radius: var(--space-200, 8px);
  background: #60b3f9;
}
.group-step-3 .item-step:not(:first-of-type)::before {
  display: block;
  margin-bottom: 1rem;
  content: "";
  width: 100%;
  height: 14px;
  background-color: #005bac;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-under.png);
  mask-image: url(../assets/images/common/ico-arrow-under.png);
  -webkit-mask-size: 26px auto;
  mask-size: 26px auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.group-step-4 {
  margin-block: clamp(16px, 4.2666666667vw, 32px);
}
.group-step-4 .item-step .item-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.75em;
  padding: 16px 8px;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  background: #005bac;
}
.group-step-4 .item-step .item-label + * {
  font-size: 1.2em;
}
@media only screen and (min-width: 782px) {
  .group-step-4 .item-step .item-label {
    font-size: 1.625rem;
  }
}
.group-step-4 .item-step:not(:first-of-type)::before {
  display: block;
  margin-bottom: 1rem;
  content: "";
  width: 100%;
  height: 20px;
  background-color: var(--color-base-blue-gray, #e4eef7);
  -webkit-mask-image: url(../assets/images/common/ico-arrow-under.png);
  mask-image: url(../assets/images/common/ico-arrow-under.png);
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
@media only screen and (min-width: 782px) {
  .group-step-4 .item-step:not(:first-of-type)::before {
    height: 27px;
  }
}

.group-card-1 {
  margin-block: clamp(16px, 4.2666666667vw, 32px);
  padding: clamp(16px, 4.2666666667vw, 40px);
  background: var(--color-base-blue-gray, #e4eef7);
}
.group-card-1 .wp-block-column {
  border-radius: var(--space-300, 12px);
  background: #fff;
}
.group-card-1 .wp-block-column .item-title {
  margin: 8px 8px 0;
  padding: 12px 8px;
  font-size: clamp(20px, 5.3333333333vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  border-radius: var(--space-200, 8px) var(--space-200, 8px) 0 0;
  background: #002d53;
  text-align: center;
}
.group-card-1 .wp-block-column .item-image {
  margin: 8px 8px 0;
}
.group-card-1 .wp-block-column .item-text {
  margin: 8px 16px 12px;
}

.wp-block-heading {
  margin-bottom: 1em;
}
.wp-block-heading:not(:first-child) {
  margin-top: 2em;
}

.title-1 {
  margin-bottom: 0.75em;
  padding-left: 20px;
  padding-bottom: 0.1em;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .title-1 {
    padding-left: 29px;
    font-size: 2.125rem;
  }
}
.title-1::before {
  content: "";
  width: 4px;
  height: calc(100% - 0.3em);
  background: #005bac;
  position: absolute;
  left: 0;
  top: 0.15em;
}
@media only screen and (min-width: 782px) {
  .title-1::before {
    width: 5px;
  }
}

.title-2 {
  padding-left: 20px;
  padding-bottom: 0.1em;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .title-2 {
    padding-left: 21px;
    font-size: 1.75rem;
  }
}
.title-2::before {
  content: "";
  width: 4px;
  height: calc(100% - 0.3em);
  background: #005bac;
  position: absolute;
  left: 0;
  top: 0.15em;
}
@media only screen and (min-width: 782px) {
  .title-2::before {
    width: 5px;
  }
}

.title-3 {
  padding-left: 0.1em;
  padding-bottom: 8px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .title-3 {
    padding-bottom: 10px;
    font-size: 1.5rem;
  }
}
.title-3::before {
  content: "";
  width: 100%;
  height: 2px;
  background: #005bac;
  position: absolute;
  left: 0;
  bottom: 0;
}
.title-4 {
  padding-left: 1.25em;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .title-4 {
    font-size: 1.25rem;
  }
}
.title-4::before {
  content: "■";
  color: #005bac;
  position: absolute;
  left: 0;
  top: 0;
}
.title-5 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 782px) {
  .title-5 {
    font-size: 1.125rem;
  }
}

.title-6 {
  margin-block: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 782px) {
  .title-6 {
    margin-block: 40px;
    font-size: 2rem;
  }
}
.title-6::after {
  content: "";
  width: 48px;
  height: 2px;
  background: #005bac;
}
@media only screen and (min-width: 782px) {
  .title-6::after {
    width: 62px;
  }
}

.title-7,
.title-obi-color {
  padding: 4px 12px 6px !important;
  background-color: #005bac;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
.title-set-1 {
  margin-bottom: 0.75em;
  padding-left: 20px;
  font-size: 1.75rem;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .title-set-1 {
    padding-left: 29px;
    font-size: 2.125rem;
  }
}
.title-set-1 .wp-block-heading {
  margin-bottom: 0;
  padding-bottom: 0.1em;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .title-set-1 .wp-block-heading {
    font-size: 2.125rem;
  }
}
.title-set-1 p {
  margin-top: 5px;
  font-size: 1rem;
}
@media only screen and (min-width: 782px) {
  .title-set-1 p {
    font-size: 1rem;
  }
}
.title-set-1::before {
  content: "";
  width: 4px;
  height: calc(100% - 0.3em);
  background: #005bac;
  position: absolute;
  left: 0;
  top: 0.15em;
}
@media only screen and (min-width: 782px) {
  .title-set-1::before {
    width: 5px;
  }
}

.wp-block-footnotes {
  list-style: none;
  /* デフォルトの番号を消す */
  counter-reset: custom-counter;
  /* カウンターをリセット */
  padding: 1em 2em 1em 3em;
  border: 1px solid #cccccc;
  font-size: 95%;
}
@media only screen and (min-width: 782px) {
  .wp-block-footnotes {
    padding: 2em 2em 2em 3.5em;
    font-size: 85%;
  }
}
.wp-block-footnotes li {
  counter-increment: custom-counter;
  /* 各リスト項目でカウンターを増加 */
  padding-left: 1em;
  line-height: 1.8;
}
.wp-block-footnotes li::marker {
  content: "※" counter(custom-counter);
  /* "※" + 数字 */
}

.text-annotation {
  font-size: 0.75rem !important;
  line-height: 1.5;
  color: #999999;
}

@media only screen and (min-width: 782px) {
  .page-intro {
    font-size: 1.5625rem;
    text-align: center;
  }
}
.page-intro br {
  display: none;
}
@media only screen and (min-width: 782px) {
  .page-intro br {
    display: block;
  }
}

.wp-block-post-date a:link, .wp-block-post-date a:visited {
  color: var(--color-base-black, #000000);
  text-decoration: none;
}
.wp-block-post-date a:hover, .wp-block-post-date a:active {
  opacity: 1;
  color: var(--wp--preset--color--brand-primary);
}
.wp-block-post-title a:link, .wp-block-post-title a:visited {
  color: var(--color-base-black, #000000);
  text-decoration: none;
}
.wp-block-post-title a:hover, .wp-block-post-title a:active {
  opacity: 1;
  color: var(--wp--preset--color--brand-primary);
}

a[target=_blank]:not(.no-icon):not(.no-icon > a[target=_blank]):not(.wp-block-button__link):not(:has(img)):not(.sbi a[target=_blank]):not([href^="mailto:"])::after {
  content: "";
  display: inline-block;
  width: 1.125em;
  height: 0.875em;
  background-color: #cccccc;
  -webkit-mask-image: url(../assets/images/common/ico-blank.svg);
  mask-image: url(../assets/images/common/ico-blank.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  margin: 0 5px;
}
a[target=_blank]:not(.no-icon):not(.no-icon > a[target=_blank]):not(.wp-block-button__link):not(:has(img)):not(.sbi a[target=_blank]):not([href^="mailto:"]):link, a[target=_blank]:not(.no-icon):not(.no-icon > a[target=_blank]):not(.wp-block-button__link):not(:has(img)):not(.sbi a[target=_blank]):not([href^="mailto:"]):visited {
  text-decoration: none;
}
a[target=_blank]:not(.no-icon):not(.no-icon > a[target=_blank]):not(.wp-block-button__link):not(:has(img)):not(.sbi a[target=_blank]):not([href^="mailto:"]):hover, a[target=_blank]:not(.no-icon):not(.no-icon > a[target=_blank]):not(.wp-block-button__link):not(:has(img)):not(.sbi a[target=_blank]):not([href^="mailto:"]):active {
  opacity: 1;
  text-decoration: underline;
}

.link-tel:hover, .link-tel:focus {
  outline: none;
  text-decoration: none;
}

.wp-block-buttons {
  margin-top: 3em;
  margin-bottom: 3em;
  gap: 1em;
}
.wp-block-button .wp-block-button__link {
  padding: 10px 24px;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 8px;
  border-radius: 2px;
  background-color: #fff;
  border: 1px solid var(--color-gray-400, #dfdfdf);
  color: var(--color-black, #000);
  line-height: 1.5;
  text-align: left;
  transition: all 0.15s;
}
.wp-block-button .wp-block-button__link::before, .wp-block-button .wp-block-button__link::after {
  width: 1em;
  height: auto;
  background-color: #0062a7;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
}
.wp-block-button .wp-block-button__link:link, .wp-block-button .wp-block-button__link:visited {
  color: var(--color-base-black, #000);
  text-decoration: none;
}
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:active {
  opacity: 1;
  background-color: #0062a7;
  border-color: #0062a7;
  color: #fff;
}
.wp-block-button .wp-block-button__link:hover::before, .wp-block-button .wp-block-button__link:hover::after, .wp-block-button .wp-block-button__link:active::before, .wp-block-button .wp-block-button__link:active::after {
  background-color: #fff;
}
.wp-block-button.color-blue .wp-block-button__link {
  background-color: #0062a7;
  border-color: #0062a7;
  color: #fff;
}
.wp-block-button.color-blue .wp-block-button__link::before, .wp-block-button.color-blue .wp-block-button__link::after {
  background-color: #fff;
}
.wp-block-button.color-blue .wp-block-button__link:hover, .wp-block-button.color-blue .wp-block-button__link:active {
  background-color: #fff;
  border-color: #000;
  color: #000;
}
.wp-block-button.color-blue .wp-block-button__link:hover::before, .wp-block-button.color-blue .wp-block-button__link:hover::after, .wp-block-button.color-blue .wp-block-button__link:active::before, .wp-block-button.color-blue .wp-block-button__link:active::after {
  background-color: #000;
}
.wp-block-button.type-round .wp-block-button__link {
  border-radius: 999px;
}
.wp-block-button.type-banner .wp-block-button__link {
  padding: 20px 16px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 1.125rem;
  font-weight: 700;
  background-color: #0062a7;
  border-color: #0062a7;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .wp-block-button.type-banner .wp-block-button__link {
    padding: 24px 24px 24px 32px;
    font-size: 1.5rem;
  }
}
.wp-block-button.type-banner .wp-block-button__link::before, .wp-block-button.type-banner .wp-block-button__link::after {
  align-self: stretch;
  flex-shrink: 0;
  flex-grow: 0;
  background-color: #fff;
}
.wp-block-button.type-banner .wp-block-button__link:hover, .wp-block-button.type-banner .wp-block-button__link:active {
  background-color: #fff;
  color: #0062a7;
}
.wp-block-button.type-banner .wp-block-button__link:hover::before, .wp-block-button.type-banner .wp-block-button__link:hover::after, .wp-block-button.type-banner .wp-block-button__link:active::before, .wp-block-button.type-banner .wp-block-button__link:active::after {
  background-color: #0062a7;
}
.wp-block-button.size-small .wp-block-button__link {
  padding: 5px 16px;
  gap: 6px;
  font-size: 0.875rem;
}
.wp-block-button.size-large .wp-block-button__link {
  padding: 14px 32px;
  font-size: 1.125rem;
}
@media only screen and (min-width: 782px) {
  .wp-block-button.size-large .wp-block-button__link {
    font-size: 1.25rem;
  }
}
.wp-block-button.width-full .wp-block-button__link {
  width: 100%;
}
@media only screen and (min-width: 782px) {
  .wp-block-button.width-wide .wp-block-button__link {
    min-width: 304px;
  }
}
.wp-block-button.icon-arrow-right .wp-block-button__link::after {
  content: "";
  margin-left: 0.5em;
  width: 0.5em;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-right2.svg);
  mask-image: url(../assets/images/common/ico-arrow-right2.svg);
}
.wp-block-button.icon-pdf .wp-block-button__link::before {
  content: "";
  background-color: var(--color-base-red, #e34444);
  -webkit-mask-image: url(../assets/images/common/ico-pdf.png);
  mask-image: url(../assets/images/common/ico-pdf.png);
}
.wp-block-button.icon-mail .wp-block-button__link::before {
  content: "";
  -webkit-mask-image: url(../assets/images/common/ico-mail.png);
  mask-image: url(../assets/images/common/ico-mail.png);
}
.wp-block-button.icon-tel .wp-block-button__link::before {
  content: "";
  -webkit-mask-image: url(../assets/images/common/ico-tel.png);
  mask-image: url(../assets/images/common/ico-tel.png);
}
.wp-block-button.icon-blank .wp-block-button__link::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: auto;
  background-color: #005bac;
  -webkit-mask-image: url(../assets/images/common/ico-blank.svg);
  mask-image: url(../assets/images/common/ico-blank.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
}

.wp-block-list {
  margin: 1.5em 0;
  padding-left: 1.5em;
}
.wp-block-list li {
  line-height: 1.5;
}
.wp-block-list li:not(:last-child) {
  margin-bottom: 0.5em;
}
@media only screen and (min-width: 1025px) {
  .wp-block-list li:not(:last-child) {
    margin-bottom: 0.5em;
  }
}
.list-disc {
  padding-left: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
}
.list-disc li {
  list-style: none;
  padding-left: 24px;
  position: relative;
}
.list-disc li::before {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #005bac;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.5em;
}

.list-check_mark {
  padding-left: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  align-self: stretch;
}
@media only screen and (min-width: 782px) {
  .list-check_mark {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
}
.list-check_mark li {
  margin-bottom: 0;
  padding: 5px 23px 7px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: 999px;
  background-color: var(--Brand-BrightBlue, #0091f7);
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
}
.list-check_mark li::before {
  flex-shrink: 0;
  flex-grow: 0;
  content: "";
  width: 13px;
  height: 10px;
  background-color: #fdf224;
  -webkit-mask-image: url(../assets/images/common/ico-check.svg);
  mask-image: url(../assets/images/common/ico-check.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
}
.list-check_mark.list-check_mark--02 li {
  background-color: var(--wp--preset--color--brand-primary);
}
@media only screen and (min-width: 782px) {
  .list-check_mark.list-check_mark--03 {
    margin-inline: auto;
    flex-direction: column;
    gap: 18px;
  }
}
.list-check_mark.list-check_mark--03 li {
  padding: 8px 16px;
  background-color: var(--wp--preset--color--brand-primary);
  border-radius: 8px;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .list-check_mark.list-check_mark--03 li {
    padding: 16px 26px 16px 20px;
    border-radius: 12px;
    gap: 20px;
    font-size: 1.375rem;
  }
}
.list-check_mark.list-check_mark--03 li::before {
  width: 20px;
  height: 20px;
  background-color: transparent;
  background-image: url(../assets/images/common/ico-check-box.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  -webkit-mask-image: none;
  mask-image: none;
}
@media only screen and (min-width: 782px) {
  .list-check_mark.list-check_mark--03 li::before {
    width: 30px;
    height: 30px;
  }
}

.anchor-link-nav {
  padding: var(--space-500, 24px) var(--space-400, 16px);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 12px var(--space-300, 12px);
  flex-wrap: wrap;
  background: var(--color-gray-100, #f5f5f5);
}
.anchor-link-nav .wp-block-button__link {
  padding: 4px 16px 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background-color: #fff;
  border: 1px solid var(--color-gray-400, #dfdfdf);
  font-size: 0.875rem;
  color: var(--color-black, #000);
  line-height: 1.5;
  white-space: nowrap;
  transition: all 0.15s;
}
@media only screen and (min-width: 1025px) {
  .anchor-link-nav .wp-block-button__link {
    font-size: 0.9375rem;
  }
}
.anchor-link-nav .wp-block-button__link::after {
  content: "";
  width: 11px;
  height: 5px;
  background-color: #005bac;
  -webkit-mask-image: url(../assets/images/common/ico-arrow1.png);
  mask-image: url(../assets/images/common/ico-arrow1.png);
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.anchor-link-nav .wp-block-button__link:link, .anchor-link-nav .wp-block-button__link:visited {
  color: var(--color-base-black, #000);
  text-decoration: none;
}
.anchor-link-nav .wp-block-button__link:hover, .anchor-link-nav .wp-block-button__link:active {
  opacity: 1;
  background-color: #60b3f9;
  border-color: #60b3f9;
  color: #fff;
}

.maker-list + .maker-list {
  margin-top: 40px;
}
.maker-list .maker-list__title {
  margin-bottom: 0;
  padding: 10px;
  background-color: var(--wp--preset--color--brand-primary);
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  line-height: 1;
}
@media only screen and (min-width: 782px) {
  .maker-list .maker-list__title {
    scroll-margin-top: 150px !important;
  }
}
.maker-list .maker {
  list-style: none;
  margin-top: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0;
  border-left: 1px solid var(--Base-gray5, #ccc);
}
@media only screen and (min-width: 782px) {
  .maker-list .maker {
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  }
}
.maker-list .maker li {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  border-right: 1px solid var(--Base-gray5, #ccc);
  border-bottom: 1px solid var(--Base-gray5, #ccc);
  line-height: 1.4;
}
.maker-list .maker li a {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  width: 100%;
  height: auto;
  font-size: 14px;
}
@media only screen and (min-width: 782px) {
  .maker-list .maker li a {
    font-size: 16px;
  }
}
.maker-list .maker li a:link, .maker-list .maker li a:visited {
  background-color: #fff;
  color: rgba(var(--wp--preset--color--brand-primary), 1);
  text-decoration: none;
}
.maker-list .maker li a:hover, .maker-list .maker li a:active {
  opacity: 1;
  background-color: #60b3f9;
  color: #fff;
}
.maker-list .maker li a:hover::after, .maker-list .maker li a:active::after {
  background-color: #fff;
}
.maker-list .maker.--gyo {
  margin-top: 25px;
}
.maker-list .maker .gyo-block {
  display: contents;
}
.maker-list .maker .gyo {
  grid-row: 1/2;
  grid-column: 1/-1;
  margin: 0;
  padding: 5px 10px;
  display: flex;
  align-items: center;
  border-right: 1px solid var(--Base-gray5, #ccc);
  border-top: 1px solid var(--Base-gray5, #ccc);
  border-bottom: 1px solid var(--Base-gray5, #ccc);
  background-color: #e2edf5;
  font-size: 14px;
  font-weight: bold;
}

.category-label-link {
  margin-block: 40px 24px;
  gap: var(--space-300, 12px);
}

.post-meta-group {
  gap: 16px;
}

.taxonomy-category {
  font-size: 0.75rem;
  line-height: 1;
}
.taxonomy-category a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 3px 10px 4px;
  min-width: 95px;
  color: #fff;
  background-color: var(--wp--preset--color--brand-primary);
}
.taxonomy-category a:link, .taxonomy-category a:visited {
  color: #fff;
  text-decoration: none;
}
.taxonomy-category a:hover, .taxonomy-category a:active {
  opacity: 0.8;
}
.taxonomy-category.cat-recruit_news a {
  background-color: #002d53;
}
.taxonomy-category.page-title a {
  pointer-events: none;
  position: 0;
  display: block;
  background-color: transparent;
  color: #000;
}

.wp-block-post-title {
  margin-top: 0.5em;
  font-size: 1rem;
  font-weight: 400;
}
@media only screen and (min-width: 782px) {
  .wp-block-post-title {
    margin-top: 0;
  }
}
.wp-block-post-title a:link, .wp-block-post-title a:visited {
  color: var(--wp--preset--color--site-text);
}

.wp-block-post-template .wp-block-post,
.post-list .wp-block-post {
  margin-top: 0;
  padding: 16px 4px;
  border-bottom: 1px solid var(--color-gray-400, #dfdfdf);
}
@media only screen and (min-width: 782px) {
  .wp-block-post-template .wp-block-post,
.post-list .wp-block-post {
    padding: 14px 4px;
    display: flex;
    align-items: center;
    gap: 16px;
  }
}
@media only screen and (min-width: 782px) {
  .wp-block-post-template.--type2 .wp-block-post .post-meta-group,
.post-list.--type2 .wp-block-post .post-meta-group {
    align-self: stretch;
    gap: 16px;
  }
  .wp-block-post-template.--type2 .wp-block-post .post-meta-group::after,
.post-list.--type2 .wp-block-post .post-meta-group::after {
    content: "";
    width: 1px;
    height: 100%;
    background-color: var(--color-gray-400, #dfdfdf);
  }
}

.wp-block-query-pagination {
  margin-top: 50px;
  justify-content: center;
  gap: 1.5em;
  line-height: 1;
  color: #2a2a2a;
}
@media only screen and (min-width: 782px) {
  .wp-block-query-pagination {
    margin-top: 80px;
  }
}
.wp-block-query-pagination .wp-block-query-pagination-numbers {
  align-items: center;
  gap: 0;
}
.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers:not(:last-child):after {
  content: "|";
  font-size: 80%;
  margin: 0 1.5em;
}
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
  margin-inline: 1em;
}

.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #dfdfdf;
}
.wp-block-table table thead,
.wp-block-table table tfoot {
  border: none;
}
.wp-block-table table tr th,
.wp-block-table table tr td {
  padding: 16px 16px;
  border: none;
  border-bottom: 1px solid #dfdfdf;
  font-weight: 400;
  line-height: 1.7;
  text-align: left;
  vertical-align: top;
}
.wp-block-table table tr th:not(:last-child),
.wp-block-table table tr td:not(:last-child) {
  border-right: 1px solid #dfdfdf;
}
.wp-block-table table tr th:first-child,
.wp-block-table table tr td:first-child {
  width: 45vw;
}
@media only screen and (min-width: 782px) {
  .wp-block-table table tr th:first-child,
.wp-block-table table tr td:first-child {
    width: 27%;
  }
}
.wp-block-table table tr td h3 {
  margin-bottom: 0.5em;
  font-size: 125%;
  font-weight: 700;
}
.wp-block-table table tr td h3:not(:first-child) {
  margin-top: 1.5em;
}
.wp-block-table table tr td h4 {
  margin-bottom: 0.5em;
  font-size: 110%;
  font-weight: 700;
}
.wp-block-table table tr td h4:not(:first-child) {
  margin-top: 1.5em;
}

.table-1 {
  background-color: #fff;
}
.table-1 table {
  border: 1px solid #dfdfdf;
}
.table-1 table thead tr th {
  background: #005bac;
  color: #fff;
}
.table-1 table thead tr th:not(:last-child) {
  border-right-color: #e4eef7;
}
.table-1 table tfoot tr th,
.table-1 table tfoot tr td {
  background: var(--color-base-blue-gray, #e4eef7);
}
.table-1 table tbody tr th:first-child,
.table-1 table tbody tr td:first-child {
  background-color: #f5f5f5;
}
.table-1 table tbody tr th:not(:first-child),
.table-1 table tbody tr td:not(:first-child) {
  padding-left: 16px;
}

.is-vertical table tr th,
.is-vertical table tr td {
  display: block;
  border-top: none;
  border-bottom: 1px dashed var(--color-gray-400, #dfdfdf);
}
@media only screen and (min-width: 782px) {
  .is-vertical table tr th,
.is-vertical table tr td {
    display: table-cell;
    border-bottom-style: solid;
  }
  .is-vertical table tr th:not(:last-child),
.is-vertical table tr td:not(:last-child) {
    border-right: 1px solid #dfdfdf;
  }
}
.is-vertical table tr th:first-child,
.is-vertical table tr td:first-child {
  width: 100%;
}
@media only screen and (min-width: 782px) {
  .is-vertical table tr th:first-child,
.is-vertical table tr td:first-child {
    width: 27%;
  }
}

.page-mv {
  margin-top: 0;
  margin-bottom: 30px;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .page-mv {
    margin-bottom: 60px;
  }
}
.page-mv:has(.item-data) {
  border: 2px solid var(--wp--preset--color--brand-primary);
}
.page-mv:has(.item-data) .wp-block-image {
  aspect-ratio: 343/230;
}
@media only screen and (min-width: 782px) {
  .page-mv:has(.item-data) .wp-block-image {
    aspect-ratio: 1000/390;
  }
}
.page-mv .item-images {
  margin-top: 0;
}
.page-mv .wp-block-image {
  aspect-ratio: 343/149;
  overflow: hidden;
}
@media only screen and (min-width: 782px) {
  .page-mv .wp-block-image {
    aspect-ratio: 1000/435;
  }
}
.page-mv .wp-block-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.page-mv .item-data {
  margin-top: 0;
  padding: 16px;
  background-color: var(--wp--preset--color--brand-primary);
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .page-mv .item-data {
    padding: 20px 32px;
    font-size: 1.25rem;
  }
}
.page-mv .item-data .wp-block-image {
  aspect-ratio: unset;
}
.page-mv .item-data p {
  color: #fff;
  text-align: left;
  font-weight: 700;
}
.page-mv .item-data p:first-of-type {
  margin-top: 0;
}

.large-button-group {
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .large-button-group {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 920px;
  }
  .large-button-group > .wp-block-button {
    width: calc(50% - 10px);
  }
}

.banner-type-page-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 18px;
  }
}
.banner-type-page-links .link-item {
  margin-top: 0;
  aspect-ratio: 343/163;
  width: 100%;
  height: 100%;
  background-color: var(--wp--preset--color--brand-primary);
  position: relative;
  z-index: 1;
}
.banner-type-page-links .link-item:has(.link-name a):hover {
  transition: all 0.15s ease 0s;
  opacity: 0.8;
}
.banner-type-page-links .link-item .link-name {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: stretch;
  z-index: 1;
}
.banner-type-page-links .link-item .link-name a {
  padding-left: 16px;
  padding-bottom: 12px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  position: relative;
}
.banner-type-page-links .link-item .link-name a:link, .banner-type-page-links .link-item .link-name a:visited {
  text-decoration: none;
}
.banner-type-page-links .link-item .link-name a:hover, .banner-type-page-links .link-item .link-name a:active {
  opacity: 1;
  text-decoration: none !important;
}
.banner-type-page-links .link-item .link-image {
  margin-top: 0;
  overflow: hidden;
  background-color: var(--wp--preset--color--brand-primary);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.banner-type-page-links .link-item .link-image::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 67.4846625767%;
  background: linear-gradient(180deg, rgba(0, 33, 62, 0) 0%, rgba(0, 8, 14, 0.36) 100%);
  pointer-events: none;
}
.banner-type-page-links .link-item .link-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}
.banner-type-page-links .link-item .link-image.link-image--sdgs img {
  -o-object-fit: contain;
  object-fit: contain;
}
.banner-type-page-links .link-item .link-image.link-image--sports img {
  -o-object-position: center 39%;
  object-position: center 39%;
}
.banner-type-page-links .link-item .link-image.link-image--ev img {
  -o-object-fit: contain;
  object-fit: contain;
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-a .link-item {
    flex-basis: calc(50% - 9px);
    aspect-ratio: 591/281;
  }
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-a .link-item .link-name a {
    padding-left: 25px;
    padding-bottom: 18px;
    font-size: 1.75rem;
  }
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-b .link-item {
    flex-basis: calc(24% - 6px);
    aspect-ratio: 286/338;
  }
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-b .link-item .link-name a {
    padding-left: 16px;
    padding-bottom: 12px;
    font-size: 1.375rem;
  }
}
.banner-type-page-links.type-c {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-c {
    justify-content: center;
    margin-top: 40px;
    gap: 22px;
  }
}
.banner-type-page-links.type-c .link-item {
  flex-basis: calc(50% - 6px);
  align-self: unset;
  aspect-ratio: unset;
  height: auto;
  border-radius: 12px;
  overflow: hidden;
  display: grid;
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-c .link-item {
    flex-basis: calc(25% - 16.5px);
  }
}
.banner-type-page-links.type-c .link-item:hover {
  opacity: 1;
}
.banner-type-page-links.type-c .link-item .link-name {
  padding: 10px;
  width: auto;
  height: auto;
  min-height: 65px;
  font-size: clamp(1rem, 4.27vw, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-c .link-item .link-name {
    padding-right: 20px;
    padding-left: 20px;
    justify-content: center;
    min-height: 74px;
    font-size: 1.25rem;
    text-align: center;
  }
}
.banner-type-page-links.type-c .link-item .link-name a {
  padding: 0;
  padding-right: 25px;
  height: auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  font-size: clamp(1rem, 4.27vw, 1.25rem);
  line-height: 1.3;
  position: unset;
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-c .link-item .link-name a {
    padding-right: 20px;
    font-size: 1.25rem;
    text-align: center;
    align-items: center;
  }
}
.banner-type-page-links.type-c .link-item .link-name a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 14px;
  background-color: #fff;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-right2.svg);
  mask-image: url(../assets/images/common/ico-arrow-right2.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  position: absolute;
  right: 10px;
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-c .link-item .link-name a::after {
    width: 10px;
    height: 16px;
    right: 15px;
  }
}
.banner-type-page-links.type-c .link-item .link-name a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.banner-type-page-links.type-c .link-item .link-image {
  aspect-ratio: 168/118;
  background-color: transparent;
  position: relative;
  height: 100%;
  left: auto;
  top: auto;
}
@media only screen and (min-width: 782px) {
  .banner-type-page-links.type-c .link-item .link-image {
    aspect-ratio: 257/123;
  }
}
.banner-type-page-links.type-c .link-item .link-image::after {
  content: none;
}

.cta-recruit .inner {
  padding: 40px clamp(12px, 4.27vw, 32px);
  background: #002d53;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media only screen and (min-width: 1025px) {
  .cta-recruit .inner {
    padding: 0;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
  }
}
.cta-recruit .cta-recruit__data {
  order: 2;
  margin-top: 16px;
}
@media only screen and (min-width: 1025px) {
  .cta-recruit .cta-recruit__data {
    order: 1;
    flex-basis: 50%;
    align-self: center;
    margin-top: 0;
    padding: 40px 8.33vw;
  }
}
.cta-recruit .cta-recruit__data .cta-recruit__data__text .cta-recruit__data__text__title {
  margin-bottom: 0;
  font-size: 2rem;
  line-height: 1.5;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .cta-recruit .cta-recruit__data .cta-recruit__data__text .cta-recruit__data__text__title {
    font-size: max(26px, 2.22vw);
  }
}
.cta-recruit .cta-recruit__data .cta-recruit__data__text .cta-recruit__data__text__text {
  margin-top: 10px;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .cta-recruit .cta-recruit__data .cta-recruit__data__text .cta-recruit__data__text__text {
    margin-top: 12px;
  }
}
.cta-recruit .cta-recruit__data .cta-recruit__data__button {
  margin-top: 32px;
}
@media only screen and (min-width: 1025px) {
  .cta-recruit .cta-recruit__data .cta-recruit__data__button {
    margin-top: 20px;
  }
}
.cta-recruit .cta-recruit__data .cta-recruit__data__button .wp-block-button {
  width: 100%;
}
@media only screen and (min-width: 1025px) {
  .cta-recruit .cta-recruit__data .cta-recruit__data__button .wp-block-button {
    width: 250px;
  }
}
.cta-recruit .cta-recruit__data .cta-recruit__data__button .wp-block-button .wp-block-button__link {
  font-size: 1.25rem;
}
@media only screen and (min-width: 1025px) {
  .cta-recruit .cta-recruit__data .cta-recruit__data__button .wp-block-button .wp-block-button__link {
    padding-top: 16px;
    padding-bottom: 16px;
    font-size: 1rem;
  }
}
.cta-recruit .cta-recruit__image {
  order: 1;
  margin-top: 0;
}
@media only screen and (min-width: 1025px) {
  .cta-recruit .cta-recruit__image {
    order: 2;
    flex-basis: 50%;
    padding-inline: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
  }
  .cta-recruit .cta-recruit__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: left bottom;
    object-position: left bottom;
  }
}

.instagram-group {
  padding: 40px clamp(12px, 4.27vw, 32px);
}
@media only screen and (min-width: 1025px) {
  .instagram-group {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}
@media only screen and (min-width: 1025px) {
  .instagram-group .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 min(3.33vw, 48px);
  }
}
.instagram-group .instagram-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.instagram-group .instagram-info .instagram-info__title {
  display: inline-flex;
  padding: var(--space-300, 12px) 6px;
  justify-content: center;
  align-items: center;
  gap: var(--space-300, 12px);
  border-top: 1px solid var(--color-gray-600, #999);
  border-bottom: 1px solid var(--color-gray-600, #999);
  background: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
@media only screen and (min-width: 1025px) {
  .instagram-group .instagram-info .instagram-info__title {
    font-size: clamp(18px, 1.39vw, 20px);
  }
}
.instagram-group .instagram-info .instagram-info__title::before {
  flex-grow: 0;
  flex-shrink: 0;
  content: "";
  width: 32px;
  height: 32px;
  background-image: url(../assets/images/common/ico-instagram.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media only screen and (min-width: 1025px) {
  .instagram-group .instagram-info .instagram-info__title::before {
    width: 26px;
    height: 26px;
  }
}
.instagram-group .instagram-info .instagram-info__text {
  margin-top: 0;
  font-size: 0.875rem;
  text-align: center;
}
.instagram-group .instagram-info .wp-block-buttons {
  margin-top: 16px;
}
.instagram-group .instagram-include {
  margin-top: 32px;
}
@media only screen and (min-width: 1025px) {
  .instagram-group .instagram-include {
    margin-top: 0;
    max-width: 628px;
  }
}
.instagram-group .instagram-include .sbi,
.instagram-group .instagram-include #sbi_images {
  margin: 0 auto !important;
  padding: 0 !important;
}

.densen-service-site {
  padding-block: 40px;
  border-top: 1px solid #e8ecf0;
}
.densen-service-site .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.densen-service-site .inner > * {
  margin: 0 !important;
}
@media only screen and (min-width: 782px) {
  .densen-service-site .inner {
    flex-direction: row;
    gap: 24px;
  }
  .densen-service-site .inner > * {
    flex-basis: auto;
  }
}

.cta {
  padding: 40px clamp(12px, 4.27vw, 32px);
  background-color: var(--color-base-blue-gray, #e4eef7);
}
.cta .inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media only screen and (min-width: 782px) {
  .cta {
    padding-top: 48px;
    padding-bottom: 60px;
  }
  .cta .inner {
    max-width: 1200px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}

.cta__heading .wp-block-heading {
  margin-bottom: 16px;
  font-size: 1.75rem;
}
@media only screen and (min-width: 782px) {
  .cta__heading .wp-block-heading {
    margin-bottom: 0;
    font-size: 2rem;
  }
}

.cta__contents {
  padding: 24px 16px;
  background-color: #fff;
  gap: 0;
}
@media only screen and (min-width: 782px) {
  .cta__contents {
    padding: 32px 24px 40px;
  }
}
.cta__contents .cta__text {
  text-align: center;
}
.cta__contents .cta__text br {
  display: none;
}
@media only screen and (min-width: 782px) {
  .cta__contents .cta__text br {
    display: block;
  }
}
.cta__contents .cta__text--open-close {
  margin-top: 5px;
  font-weight: 700;
}
.cta__contents .cta__text--open-close br {
  display: block;
}
@media only screen and (min-width: 782px) {
  .cta__contents .cta__text--open-close br {
    display: none;
  }
}
.cta__contents .wp-block-buttons {
  margin-top: 16px;
  width: 100%;
}
.cta__contents .wp-block-button {
  width: 90%;
}
@media only screen and (min-width: 782px) {
  .cta__contents .wp-block-button {
    width: auto;
  }
}

.banner-list-group__inner {
  padding: 32px clamp(12px, 4.27vw, 32px);
  background: #002d53;
}
@media only screen and (min-width: 782px) {
  .banner-list-group__inner {
    padding-top: 20px;
    padding-bottom: 16px;
  }
}
.banner-list-group__inner .block-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
@media only screen and (min-width: 782px) {
  .banner-list-group__inner .block-text {
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
  }
}
.banner-list-group__inner .block-text .wp-block-image {
  width: 140px;
}
@media only screen and (min-width: 782px) {
  .banner-list-group__inner .block-text .wp-block-image {
    width: 150px;
  }
}
.banner-list-group__inner .block-text p {
  margin-top: 0;
  color: #fff;
}
.banner-list-group__inner .block-text .block-text__link {
  margin-top: 5px;
  font-size: 90%;
}
@media only screen and (min-width: 782px) {
  .banner-list-group__inner .block-text .block-text__link {
    margin-top: 0;
  }
}
.banner-list-group__inner .block-text .block-text__link a {
  color: #fff;
}
.banner-list-group__inner .block-banner-links {
  margin: 24px auto 0;
  max-width: 880px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 8px;
}
@media only screen and (min-width: 782px) {
  .banner-list-group__inner .block-banner-links {
    margin-top: 10px;
    padding-inline: 0;
  }
}
.banner-list-group__inner .block-banner-links .wp-block-image {
  margin-top: 0;
}
.banner-list-group__inner .block-banner-links .wp-block-image a::after {
  content: none;
}
@media only screen and (min-width: 782px) {
  .banner-list-group__inner .block-banner-links .wp-block-image a:hover, .banner-list-group__inner .block-banner-links .wp-block-image a:active {
    opacity: 0.8;
  }
}

.mv {
  margin-bottom: 32px;
  height: calc(100vh - 60px);
  height: calc(100svh - 60px);
  overflow: hidden;
  padding: 0 !important;
  min-height: unset;
  background-color: #005bac;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .mv {
    margin-bottom: 48px;
    padding-bottom: 0;
    aspect-ratio: 1440/770;
    height: auto;
  }
}

@media only screen and (min-width: 782px) {
  .sec-latest-top {
    margin-bottom: 48px;
  }
}

.wp-block-uagb-slider.full-width .wp-block-uagb-container {
  padding: 0 !important;
}
.wp-block-uagb-slider.full-width .uagb-container-inner-blocks-wrap {
  padding: 0 !important;
  max-width: none !important;
}
.wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content {
  padding-inline: clamp(32px, 8.5333333333vw, 120px);
  height: calc(100vh - 60px);
  height: calc(100svh - 60px);
  display: grid;
  place-content: center;
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content {
    padding-bottom: 0;
    aspect-ratio: 1440/770;
    height: auto;
  }
}
.wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-image-content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-image-content {
    aspect-ratio: 1440/770;
    height: auto;
  }
}
.wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-image-content img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
}
.wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-title-wrap .uagb-ifb-title {
  margin-bottom: 0 !important;
  font-size: clamp(41px, 10.9333333333vw, 59px);
  font-weight: 500;
  line-height: 1.3;
  color: #fff;
  text-align: left;
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-title-wrap .uagb-ifb-title {
    font-size: clamp(62px, 4.3055555556vw, 120px);
    text-align: center;
  }
}
.wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-desc {
  margin-top: 10px;
  margin-bottom: 0 !important;
  display: flex;
  align-items: baseline;
  gap: 3px;
  font-size: clamp(20px, 5.3333333333vw, 31px);
  line-height: 1;
  color: #fff;
  text-align: left;
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-desc {
    justify-content: center;
    font-size: clamp(31px, 2.1527777778vw, 70px);
    text-align: center;
  }
}
.wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-desc::after {
  content: "";
  width: 1.95em;
  height: 1px;
  background-color: #fff;
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-desc::after {
    width: 2.58em;
  }
}
.wp-block-uagb-slider.full-width.--recruit-top {
  margin-bottom: 0;
  height: 100vh;
  height: 100svh;
}
.wp-block-uagb-slider.full-width.--recruit-top .swiper-wrapper {
  height: 100vh !important;
  height: 100svh !important;
}
.wp-block-uagb-slider.full-width.--recruit-top .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content {
  padding-inline: clamp(20px, 5.3333333333vw, 90px);
  height: 100vh;
  height: 100svh;
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width.--recruit-top .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content {
    place-content: flex-start;
    align-content: center;
    aspect-ratio: unset;
    height: 100vh !important;
    height: 100svh !important;
  }
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width.--recruit-top .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-image-content {
    aspect-ratio: unset;
    height: auto;
    height: 100vh;
    height: 100svh;
  }
}
.wp-block-uagb-slider.full-width.--recruit-top .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-title-wrap .uagb-ifb-title {
  font-family: "Inter", sans-serif;
  font-size: clamp(75px, 20vw, 110px);
  font-weight: 900;
  font-style: italic;
  line-height: 1;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width.--recruit-top .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-title-wrap .uagb-ifb-title {
    font-size: clamp(111px, 7.7083333333vw, 121px);
    text-align: left;
  }
}
.wp-block-uagb-slider.full-width.--recruit-top .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-desc {
  margin-top: 10px;
  padding-left: 2px;
  display: flex;
  align-items: baseline;
  gap: 3px;
  font-size: clamp(20px, 5.3333333333vw, 32px);
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 1025px) {
  .wp-block-uagb-slider.full-width.--recruit-top .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-desc {
    margin-top: 30px;
    justify-content: flex-start;
    font-size: clamp(40px, 2.7777777778vw, 70px);
    text-align: left;
  }
}
.wp-block-uagb-slider.full-width.--recruit-top .wp-block-uagb-slider-child .swiper-content .uagb-ifb-content .uagb-ifb-desc::after {
  content: none;
}

.sec-copper-base .block-title {
  margin-bottom: 0;
  padding: 8px 16px;
  background: #005bac;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
.sec-copper-base .copper-base-include {
  margin-top: 0;
  padding: 16px;
  border: 2px solid #005bac;
  border-top: none;
  gap: var(--space-500, 24px);
}
@media only screen and (min-width: 1025px) {
  .sec-copper-base .copper-base-include {
    padding: 24px;
    gap: 48px;
  }
}
.sec-copper-base .copper-base-include .copper-base-include-latest {
  padding: 20px 16px;
  background: var(--color-base-blue-gray, #e4eef7);
}
@media only screen and (min-width: 1025px) {
  .sec-copper-base .copper-base-include .copper-base-include-latest {
    flex-basis: 56% !important;
    padding: 24px 16px;
  }
}
.sec-copper-base .copper-base-include .copper-base-include-latest .wp-block-post {
  padding: 0;
  flex-direction: column;
  border-bottom: none;
}
.sec-copper-base .copper-base-include .copper-base-include-latest .wp-block-post .wp-block-button {
  margin-top: 0;
}
.sec-copper-base .copper-base-include .copper-base-include-latest .latest-meta {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media only screen and (min-width: 1025px) {
  .sec-copper-base .copper-base-include .copper-base-include-latest .latest-meta {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 16px;
  }
}
.sec-copper-base .copper-base-include .copper-base-include-latest .latest-meta .wp-block-post-date {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  color: var(--color-black, #000);
}
.sec-copper-base .copper-base-include .copper-base-include-latest .latest-meta .wp-block-post-date::after {
  content: "現在";
  display: inline-block;
  margin-left: 4px;
}
.sec-copper-base .copper-base-include .copper-base-include-latest .latest-meta .wp-block-post-title {
  margin-top: 0;
  padding: 4px 6px 4px 14px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  border: 1px solid #005bac;
  background: #fff;
  text-align: center;
}
@media only screen and (min-width: 1025px) {
  .sec-copper-base .copper-base-include .copper-base-include-latest .latest-meta .wp-block-post-title {
    padding-left: 16px;
    padding-right: 8px;
  }
}
.sec-copper-base .copper-base-include .copper-base-include-latest .latest-eycatch {
  margin-top: 16px;
}
@media only screen and (min-width: 1025px) {
  .sec-copper-base .copper-base-include .copper-base-include-latest .latest-eycatch {
    margin-top: 0;
  }
}
.sec-copper-base .copper-base-include .copper-base-include-latest .wp-block-button {
  margin-top: 16px;
  justify-self: center;
}
.sec-copper-base .copper-base-include .copper-base-include-latest .wp-block-button .wp-block-button__link {
  padding: 5px 16px;
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0;
}
@media only screen and (min-width: 1025px) {
  .sec-copper-base .copper-base-include .copper-base-include-list {
    flex-basis: calc(44% - 24px) !important;
  }
}
.sec-copper-base .copper-base-include .copper-base-include-list .wp-block-heading {
  font-size: 1.25rem;
}
.sec-copper-base .copper-base-include .copper-base-include-list .wp-block-query {
  margin-top: 10px;
  padding: 4px 16px 16px;
  border: 1px solid var(--color-gray-400, #dfdfdf);
}
.sec-copper-base .copper-base-include .copper-base-include-list .wp-block-query .wp-block-post {
  margin-top: 0;
  padding: 12px 4px;
  border-bottom: 1px solid var(--color-gray-400, #dfdfdf);
  display: flex;
  align-items: center;
  gap: 16px;
}
.sec-copper-base .copper-base-include .copper-base-include-list .wp-block-query .wp-block-post .wp-block-post-date {
  font-size: 1rem;
  line-height: 1.5;
  white-space: nowrap;
}
.sec-copper-base .copper-base-include .copper-base-include-list .wp-block-query .wp-block-post .wp-block-post-title {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
.sec-copper-base .copper-base-include .copper-base-include-list .wp-block-query .wp-block-post .wp-block-post-title::before {
  content: "";
  align-self: stretch;
  width: 1px;
  height: auto;
  background: var(--color-gray-400, #dfdfdf);
  display: block;
}
.sec-copper-base .copper-base-include .copper-base-include-list .wp-block-buttons {
  margin-top: 16px;
}

.sec-fa-labo-intro > .wp-block-heading {
  font-size: clamp(28px, 7.4666666667vw, 40px);
}
.sec-fa-labo-intro .wp-block-columns {
  padding: 24px;
  gap: 32px;
}
@media only screen and (min-width: 782px) {
  .sec-fa-labo-intro .wp-block-columns {
    padding: 32px 48px;
    gap: 60px;
  }
}
.sec-fa-labo-intro:has(.wp-block-image) {
  flex: 0 0 282px;
}
.sec-fa-labo-intro .wp-block-image img {
  margin-inline: auto;
  width: 100%;
  max-width: 282px;
}
.sec-fa-labo-intro .wp-block-list {
  gap: 0;
}
.sec-fa-labo-intro .wp-block-list li {
  font-size: 1.25rem;
}

.fa-labo-top-image {
  margin-top: -20px !important;
  margin-bottom: 30px;
}

.modal-movie {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sec.sec-fa-labo-service-block {
  margin-block: 0;
}
.sec.sec-fa-labo-service-block .item-title-set {
  margin-bottom: 32px;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .item-title-set {
    margin-bottom: 48px;
  }
}
.sec.sec-fa-labo-service-block .item-title-set p {
  margin-top: 0;
  color: #fff;
  display: flex;
  padding-bottom: 10px;
  align-items: center;
  border-bottom: 1px solid #fff;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .item-title-set p {
    padding-bottom: 12px;
    font-size: 1.25rem;
  }
}
.sec.sec-fa-labo-service-block .item-title-set .wp-block-heading {
  margin-top: 16px;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .item-title-set .wp-block-heading {
    margin-top: 20px;
    font-size: 2.5rem;
  }
}
.sec.sec-fa-labo-service-block .sub-block {
  margin-top: 48px;
  display: flex;
  padding: var(--space-400, 16px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-400, 16px);
  align-self: stretch;
  color: #fff;
  border: 1px solid #fff;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .sub-block {
    margin-top: 80px;
    margin-bottom: 32px;
    padding: 24px;
    flex-direction: row;
    gap: 40px;
  }
}
.sec.sec-fa-labo-service-block .sub-block .wp-block-heading {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .sub-block .wp-block-heading {
    font-size: 1.5rem;
  }
}
.sec.sec-fa-labo-service-block .sub-block p {
  margin-top: 0;
  color: #fff;
}
.sec.sec-fa-labo-service-block .sub-block .item-data {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-400, 16px);
  align-self: stretch;
}
.sec.sec-fa-labo-service-block .sub-block .wp-block-image {
  margin-top: 0;
  margin-right: 0 !important;
  width: 100%;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .sub-block .wp-block-image {
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
  }
}
.sec.sec-fa-labo-service-block .sub-block .wp-block-image img {
  width: 100%;
  height: 100%;
}
.sec.sec-fa-labo-service-block .item-meta {
  margin-top: 0;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .item-meta {
    margin-top: 48px;
    margin-bottom: 24px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }
}
.sec.sec-fa-labo-service-block .item-meta .meta-label {
  padding: 0 24px 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  color: #fff;
  background: #60b3f9;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .item-meta .meta-label {
    padding: 2px 48px 3px;
    font-size: 1.375rem;
    font-weight: 700;
    min-width: 180px;
  }
}
.sec.sec-fa-labo-service-block .item-meta .meta-text {
  margin-top: 10px;
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .sec.sec-fa-labo-service-block .item-meta .meta-text {
    margin-top: 0;
    font-size: 1.375rem;
  }
}

.sec-fa-labo-service-group2 {
  margin-top: clamp(48px, 12.8vw, 80px);
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media only screen and (min-width: 782px) {
  .sec-fa-labo-service-group2 {
    gap: 32px;
  }
}

.fa-labo-item {
  display: flex;
  padding: 24px 16px;
  flex-direction: column;
  align-items: stretch;
  border-radius: 6px;
  background: #fff;
}
@media only screen and (min-width: 782px) {
  .fa-labo-item {
    padding: 32px 40px;
    flex-direction: row;
    gap: 40px;
  }
  .fa-labo-item.--2 {
    flex-direction: column;
    gap: 0;
  }
}
.fa-labo-item .item-main-image {
  order: 2;
  aspect-ratio: 311/233;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media only screen and (min-width: 782px) {
  .fa-labo-item .item-main-image {
    order: 1;
    aspect-ratio: 320/240;
    flex: 0 0 320px;
  }
}
.fa-labo-item .item-main-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.fa-labo-item .item-data {
  display: contents;
}
@media only screen and (min-width: 782px) {
  .fa-labo-item .item-data {
    display: block;
    order: 2;
    margin-top: 0;
    width: 100%;
  }
}
.fa-labo-item .item-data .item-title {
  order: 1;
  margin-bottom: 24px;
  font-size: 1.25rem;
  border-bottom: 2px solid #005bac;
  padding-bottom: 8px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-item .item-data .item-title {
    order: unset;
    font-size: 1.5rem;
  }
}
.fa-labo-item .item-data .icon-list {
  order: 3;
  margin-top: 24px;
  gap: 16px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-item .item-data .icon-list {
    order: unset;
  }
}
.fa-labo-item .item-data .wp-block-list {
  order: 4;
  margin-top: 20px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-item .item-data .wp-block-list {
    order: unset;
  }
}

.card-list-group {
  margin-top: 0;
}
.card-list-group .card-item {
  display: flex;
  padding: var(--space-400, 16px);
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-300, 12px);
  border: 1px solid var(--color-gray-500, #bdbdbd);
}
@media only screen and (min-width: 782px) {
  .card-list-group .card-item {
    justify-content: flex-end;
  }
}
.card-list-group .card-item p {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (min-width: 1025px) {
  .card-list-group .card-item p {
    font-size: 1.25rem;
  }
}
.card-list-group .card-item .wp-block-image {
  margin-top: 0;
  margin-inline: auto;
  width: 70%;
  text-align: center;
}
@media only screen and (min-width: 782px) {
  .card-list-group .card-item .wp-block-image {
    aspect-ratio: 211/141;
    width: 100%;
    overflow: hidden;
  }
}
.card-list-group .card-item .wp-block-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: bottom;
  object-position: bottom;
}

.block-bumon-joho .block-title {
  display: flex;
  height: 52px;
  padding: 31px 29px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  background: var(--corpolate_color, #005ba8);
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .block-bumon-joho .block-title {
    font-size: 1.75rem;
  }
}
.block-bumon-joho .block-content {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  align-self: stretch;
}
@media only screen and (min-width: 782px) {
  .block-bumon-joho .block-content {
    padding-left: 0;
    flex-direction: row;
    justify-content: space-between;
    gap: 32px;
  }
}
.block-bumon-joho .block-content .block-data {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-500, 24px);
  align-self: stretch;
}
@media only screen and (min-width: 782px) {
  .block-bumon-joho .block-content .block-data {
    margin-inline: auto;
  }
}
.block-bumon-joho .block-content .block-data .block-data-logos {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  align-self: stretch;
  max-width: 207px;
  margin: 0 auto;
}
@media only screen and (min-width: 782px) {
  .block-bumon-joho .block-content .block-data .block-data-logos {
    max-width: 280px;
  }
}
.block-bumon-joho .block-content .block-data .block-data-logos > * {
  margin-top: 0;
}
.block-bumon-joho .block-content .block-data .block-data-info {
  margin-inline: auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.block-bumon-joho .block-content .wp-block-image {
  margin-top: 0;
}

.sec-monodukuri-service:nth-of-type(odd) {
  background: var(--color-gray-100, #f5f5f5);
}

.column-education-support {
  margin-top: 32px;
  gap: clamp(40px, 10.6666666667vw, 80px);
}
@media only screen and (min-width: 1025px) {
  .column-education-support .list-disc {
    margin-bottom: 10px;
    max-width: 430px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0 10px;
  }
  .column-education-support .list-disc li {
    flex-basis: calc(50% - 5px);
  }
}
@media only screen and (min-width: 1025px) {
  .column-education-support .item-image {
    max-width: 430px;
  }
}

.pick-up-jirei {
  align-items: stretch;
  gap: 0;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei {
    margin-right: auto;
  }
  .pick-up-jirei > * {
    max-width: 700px;
  }
}
.pick-up-jirei .pick-up-jirei-title {
  width: 100%;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .pick-up-jirei-title {
    max-width: 700px;
  }
}
.pick-up-jirei .pick-up-jirei-text-title {
  margin-top: 0.5em;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .pick-up-jirei-text-title {
    font-size: 1.5rem;
  }
}
.pick-up-jirei .pick-up-jirei-data {
  padding: 24px 20px;
  align-items: stretch;
  background-color: #fff;
  border-right: 5px solid #e2f4f4;
  border-bottom: 5px solid #e2f4f4;
  border-left: 5px solid #e2f4f4;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .pick-up-jirei-data {
    padding-bottom: 32px;
    border-right-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 10px;
  }
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-now {
    margin-top: 10px;
  }
}
.pick-up-jirei .data-now .item-label {
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  background: var(--color-gray-200, #f0f0f0);
}
.pick-up-jirei .data-now .item-data {
  text-align: center;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-now .item-data {
    display: flex;
    align-items: center;
    gap: 0;
  }
}
.pick-up-jirei .data-now .item-data .wp-block-image {
  padding-inline: 16px;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-now .item-data .wp-block-image {
    padding-inline: 0;
    flex: 0 0 264px;
  }
}
.pick-up-jirei .data-now .item-data .wp-block-image img {
  margin-inline: auto;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-now .item-data .wp-block-image img {
    width: auto;
    height: 100%;
    max-height: 151px;
  }
}
.pick-up-jirei .data-now .item-data .wp-block-table {
  margin: 0;
  padding: 6px;
  background-color: #f0f0f0;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-now .item-data .wp-block-table {
    width: 100%;
  }
}
.pick-up-jirei .data-now .item-data .wp-block-table table {
  background-color: #fff;
  border-top: none;
}
.pick-up-jirei .data-now .item-data .wp-block-table table tr td:first-of-type {
  width: 55%;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-now .item-data .wp-block-table table tr td:first-of-type {
    width: 40%;
    white-space: nowrap;
  }
}
.pick-up-jirei .data-now .item-data .wp-block-table table tr td:not(:last-of-type) {
  border-right: 1px solid #dfdfdf;
}
.pick-up-jirei .icon-separator {
  display: flex;
  justify-content: center;
}
.pick-up-jirei .icon-separator img {
  width: 87px;
}
.pick-up-jirei .data-led {
  border: var(--space-100, 4px) solid #21b7b7;
  background: #fff;
}
.pick-up-jirei .data-led .item-label {
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  background: #21b7b7;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-led .item-data {
    display: flex;
    align-items: center;
    gap: 0;
  }
}
.pick-up-jirei .data-led .item-data .wp-block-image {
  padding-inline: 16px;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-led .item-data .wp-block-image {
    padding-inline: 0;
    flex: 0 0 244px;
  }
}
.pick-up-jirei .data-led .item-data .wp-block-image img {
  margin-inline: auto;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-led .item-data .wp-block-image img {
    width: auto;
    height: 100%;
    max-height: 206px;
  }
}
.pick-up-jirei .data-led .item-data .wp-block-table {
  margin: 0 12px 12px;
  padding: 8px;
  background-color: #e2f4f4;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-led .item-data .wp-block-table {
    margin: 0 12px 12px 0;
    width: 100%;
  }
}
.pick-up-jirei .data-led .item-data .wp-block-table table {
  background-color: #fff;
  border-top: none;
}
.pick-up-jirei .data-led .item-data .wp-block-table table tr td:first-of-type {
  width: 55%;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .data-led .item-data .wp-block-table table tr td:first-of-type {
    width: 40%;
    white-space: nowrap;
  }
}
.pick-up-jirei .data-led .item-data .wp-block-table table tr td:not(:last-of-type) {
  border-right: 1px solid #dfdfdf;
}
.pick-up-jirei .item-text {
  gap: 5px;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .item-text {
    margin-top: 5px;
  }
}
.pick-up-jirei .item-text p {
  margin-top: 0;
  font-size: 0.875rem;
  text-align: center;
}
.pick-up-jirei .item-text p strong {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 782px) {
  .pick-up-jirei .item-text p strong {
    font-size: 2rem;
  }
}

@media only screen and (min-width: 782px) {
  .hems-kouka-group {
    flex-direction: row;
    flex-wrap: nowrap;
  }
}
.hems-kouka-group .icon-arrow {
  width: 69px;
}
@media only screen and (min-width: 782px) {
  .hems-kouka-group .icon-arrow {
    transform: rotate(-90deg);
    width: 109px;
  }
}

.hems-kouka {
  width: 100%;
  align-items: stretch;
  border: 2px solid var(--color-gray-400, #dfdfdf);
}
@media only screen and (min-width: 782px) {
  .hems-kouka {
    align-self: stretch;
  }
}
.hems-kouka .item-title {
  padding: 6px var(--space-400, 16px) 8px var(--space-400, 16px);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  background: var(--color-gray-400, #dfdfdf);
}
.hems-kouka .wp-block-image img {
  margin-inline: auto;
  width: 90%;
  max-width: 303px;
}
.hems-kouka .item-text {
  display: flex;
  padding: var(--space-400, 16px) var(--space-500, 24px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-100, 4px);
  align-self: stretch;
  background: var(--color-gray-100, #f5f5f5);
}
@media only screen and (min-width: 782px) {
  .hems-kouka .item-text {
    height: 100%;
  }
}
.hems-kouka .item-text p {
  margin-top: 0;
}
.hems-kouka .item-text strong {
  font-size: 1.25rem;
}
.hems-kouka.-ato {
  border-color: #005bac;
}
.hems-kouka.-ato .item-title {
  background: #005bac;
  color: #fff;
}
.hems-kouka.-ato .item-text {
  background: #005bac;
}
.hems-kouka.-ato .item-text p {
  color: #fff;
}
.hems-kouka.-ato .item-text strong {
  color: #fff;
}

.link-list {
  list-style: none;
  margin-top: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0;
  border-top: 1px solid var(--Base-gray5, #ccc);
  border-left: 1px solid var(--Base-gray5, #ccc);
}
@media only screen and (min-width: 782px) {
  .link-list {
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
    grid-template-columns: repeat(3, 1fr);
  }
}
.link-list p {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  border-right: 1px solid var(--Base-gray5, #ccc);
  border-bottom: 1px solid var(--Base-gray5, #ccc);
  line-height: 1.4;
}
.link-list p a {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  width: 100%;
  height: auto;
  font-size: 14px;
}
@media only screen and (min-width: 782px) {
  .link-list p a {
    font-size: 16px;
  }
}
.link-list p a:link, .link-list p a:visited {
  background-color: #fff;
  color: rgba(var(--wp--preset--color--brand-primary), 1);
  text-decoration: none !important;
}
.link-list p a:hover, .link-list p a:active {
  opacity: 1;
  background-color: #60b3f9;
  color: #fff;
}
.link-list p a:hover::after, .link-list p a:active::after {
  background-color: #fff;
}

.list-middle-group {
  margin: 24px 0 40px;
}
.list-middle-group .title-obi-color {
  margin-bottom: 0;
}
.list-middle-group .wp-block-buttons {
  margin-top: 24px;
  margin-bottom: 48px;
}
@media only screen and (min-width: 782px) {
  .list-middle-group .wp-block-buttons {
    margin-top: 32px;
    margin-bottom: 60px;
  }
}

.list-large-group:not(:first-of-type) {
  margin-top: 60px;
}
@media only screen and (min-width: 782px) {
  .list-large-group:not(:first-of-type) {
    margin-top: 80px;
  }
}

.s-midashi {
  margin-top: 24px;
  margin-bottom: 10px;
  padding-left: 4px;
  font-size: 1.125rem;
}
@media only screen and (min-width: 782px) {
  .s-midashi {
    margin-top: 30px;
    margin-bottom: 14px;
  }
}

@media only screen and (min-width: 782px) {
  .greeting-group {
    margin-top: 30px;
  }
}
.greeting-group .greeting-text {
  order: 2;
}
@media only screen and (min-width: 782px) {
  .greeting-group .greeting-text {
    order: 1;
  }
}
.greeting-group .greeting-image {
  order: 1;
}
@media only screen and (min-width: 782px) {
  .greeting-group .greeting-image {
    order: 2;
  }
}
.greeting-group .greeting-image img {
  width: 61.5160349854%;
  margin-inline: auto;
}
@media only screen and (min-width: 782px) {
  .greeting-group .greeting-image img {
    width: 100%;
    max-width: 343px;
  }
}

.g-mymap_wrap iframe {
  width: 100%;
  aspect-ratio: 375/300;
}

@media only screen and (min-width: 782px) {
  .g-mymap_wrap iframe {
    max-height: 500px;
  }
}
.office-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}
@media only screen and (min-width: 782px) {
  .office-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .office-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }
}

.office-card {
  margin-top: 0;
  max-width: 390px;
  display: flex;
  padding: var(--space-400, 16px);
  justify-content: flex-start;
  align-items: flex-start;
  gap: var(--space-300, 12px);
  border-radius: 4px;
  border: 1px solid var(--color-gray-400, #dfdfdf);
  background: #fff;
}
@media only screen and (min-width: 782px) {
  .office-card {
    padding: var(--space-400, 14px) var(--space-300, 12px);
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-200, 8px);
  }
}
.office-card .office-card-data .title-2 {
  margin-bottom: 10px;
}
@media only screen and (min-width: 782px) {
  .office-card .office-card-data .title-2 {
    font-size: 1.25rem;
  }
}
.office-card .office-card-data .office-card-address {
  margin-top: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}
.office-card .office-card-images {
  margin-top: 0;
  width: 55%;
  max-width: 166px;
}
@media only screen and (min-width: 782px) {
  .office-card .office-card-images {
    width: 100%;
    max-width: 100%;
  }
}
.office-card .office-card-images .office-card-image {
  margin-top: 0;
}
.office-card .office-card-images .office-card-image img {
  width: 100%;
}
.office-card .office-card-images .office-card-buttons {
  align-self: center;
}
.office-card .office-card-images .office-card-button {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}
.office-card .office-card-images .office-card-button a {
  white-space: nowrap;
}

.ev-Installation-location-list {
  margin-bottom: 48px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 24px 32px;
}
@media only screen and (min-width: 1025px) {
  .ev-Installation-location-list {
    margin-bottom: 32px;
    flex-direction: column;
    gap: 24px 50px;
  }
}

.ev-Installation-location {
  margin-top: 0;
  flex: 0 1 calc(50% - 16px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: var(--space-100, 4px);
}
@media only screen and (min-width: 1025px) {
  .ev-Installation-location {
    flex: 0 0 100%;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 4px 0.75em;
  }
}
.ev-Installation-location p {
  margin-top: 0;
  text-align: left;
  white-space: nowrap;
}
.ev-Installation-location .item-label {
  margin-bottom: 6px;
  display: flex;
  min-width: 124px;
  min-height: 29px;
  padding: 5px 12px 7px 8px;
  justify-content: flex-start;
  align-items: center;
  gap: 9px;
  border-radius: 99px;
  font-size: 17px;
  line-height: 1;
}
@media only screen and (min-width: 1025px) {
  .ev-Installation-location .item-label {
    flex-shrink: 0;
    flex-grow: 0;
  }
}

.sec-single-content .wp-block-post-title {
  margin-top: 0.4em;
  margin-bottom: 1.25em;
  margin-bottom: 2em;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.7;
}
@media only screen and (min-width: 782px) {
  .sec-single-content .wp-block-post-title {
    font-size: 2rem;
  }
}

/* ------------------------------------
//  このページ
// ----------------------------------*/
.p-fa-labo .page-intro-copy {
  font-size: 22px;
}
@media only screen and (min-width: 782px) {
  .p-fa-labo .page-intro-copy {
    font-size: clamp(38px, 2.92vw, 42px);
  }
}
.p-fa-labo .list-dot-large {
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  max-width: 604px;
}
@media only screen and (min-width: 782px) {
  .p-fa-labo .list-dot-large {
    margin-top: 55px;
  }
}

.label01 {
  display: inline-flex;
  padding: 6px 8px;
  background-color: #005bac;
  font-size: 14px;
  font-style: normal;
  font-weight: bold;
  color: #fff;
  line-height: 1;
}
@media only screen and (min-width: 782px) {
  .label01 {
    padding: 8px 10px;
    font-size: 18px;
  }
}

.logo-group {
  display: flex;
  align-items: center;
  gap: 16px;
}
.logo-group .logo-group__item {
  line-height: 1;
}
.logo-group .comment {
  font-weight: bold;
  color: #f10a0a;
}

/* ------------------------------------
//  fa labo
// ----------------------------------*/
.page-title .img-title.--fa-labo {
  width: 200px;
}
@media only screen and (min-width: 782px) {
  .page-title .img-title.--fa-labo {
    width: 265px;
  }
}

.image-about-fa-labo {
  margin-top: 50px;
  margin-left: auto;
  margin-right: auto;
  max-width: 921px;
}
@media only screen and (min-width: 782px) {
  .image-about-fa-labo {
    margin-top: 80px;
  }
}

.fa-labo-intro {
  margin-top: 50px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-intro {
    margin-top: 100px;
  }
}
.fa-labo-intro .modal-video-container {
  margin-top: 0;
}
@media only screen and (min-width: 782px) {
  .fa-labo-intro .modal-video-container .thumbnail {
    width: 300px;
    height: auto;
    aspect-ratio: 420/193;
  }
}
.fa-labo-intro .mono_catch {
  text-align: center;
  margin: 30px auto 0;
  font-size: 20px;
  color: #555;
  line-height: 1.55;
}
@media only screen and (min-width: 782px) {
  .fa-labo-intro .mono_catch {
    margin: 40px auto 0;
    font-size: 33px;
  }
}
.fa-labo-intro .mono_catch span {
  font-size: 18px;
  color: #005ba8;
}
@media only screen and (min-width: 782px) {
  .fa-labo-intro .mono_catch span {
    font-size: 26px;
  }
}

.js-modal-video-close {
  width: 100%;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.js-modal-video-close::before {
  cursor: pointer;
  content: "✕";
  font-size: 70px;
  color: #fff;
  line-height: 1;
  position: absolute;
  right: 12%;
  top: 19%;
}

.modal-video-container #modal-video {
  cursor: unset !important;
}

.fa-labo-contents {
  margin-top: 50px;
}
.fa-labo-contents:first-of-type {
  margin-top: 50px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents {
    margin-top: 120px;
  }
  .fa-labo-contents:first-of-type {
    margin-top: 100px;
  }
}

.fa-labo-contents__title {
  padding: 15px 15px 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  background-color: #005bac;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents__title {
    padding: 30px;
    align-items: center;
    gap: 24px;
  }
}
.fa-labo-contents__title .label {
  display: flex;
  padding: 4px 8px;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  font-weight: bold;
  color: #005bac;
  line-height: 1;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents__title .label {
    padding: 5px 8px;
    font-size: 18px;
  }
}
.fa-labo-contents__title em {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  line-height: 1.6;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents__title em {
    font-size: 30px;
    line-height: 1;
  }
}

.fa-labo-contents__sub-title {
  margin-top: 40px;
  padding: 8px 5px 8px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid #005bac;
  border-right: 1px solid #005bac;
  border-bottom: 1px solid #005bac;
  border-left: 6px solid #005bac;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents__sub-title {
    padding: 16px;
    gap: 15px;
    border-left-width: 8px;
  }
}
.fa-labo-contents__sub-title .label {
  padding: 3px 12px;
  display: flex;
  align-items: center;
  height: auto;
  border-radius: 20px;
  background-color: #005bac;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  white-space: nowrap;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents__sub-title .label {
    padding: 0 16px;
    height: 28px;
    border-radius: 14px;
    font-size: 16px;
    white-space: normal;
  }
}
.fa-labo-contents__sub-title em {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents__sub-title em {
    font-size: 24px;
    line-height: 1;
  }
}

.fa-labo-contents__block {
  margin-top: 20px;
  padding: 15px;
  background-color: #f1f1f1;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents__block {
    margin-top: 30px;
    padding: 24px;
  }
}

.fa-labo-block-separate {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
  align-self: stretch;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-separate {
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }
}
.fa-labo-block-separate .separate-image {
  flex-basis: auto;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-separate .separate-image {
    flex-basis: 33.6%;
  }
}
.fa-labo-block-separate .separate-data {
  flex-basis: auto;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-separate .separate-data {
    flex-basis: calc(66.4% - 24px);
  }
}
.fa-labo-block-separate .separate-data .logo-group {
  margin-top: 16px;
}
.fa-labo-block-separate .separate-data .list-num {
  margin-top: 15px;
  padding: 12px 18px;
  background-color: #fff;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-separate .separate-data .list-num {
    margin-top: 30px;
  }
}
.fa-labo-block-separate .separate-data .list-num li {
  font-size: 15px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-separate .separate-data .list-num li {
    font-size: 18px;
  }
}
.fa-labo-block-separate .separate-data .contents-text {
  margin-top: 15px;
  padding: 10px 15px;
  background-color: #fff;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-separate .separate-data .contents-text {
    margin-top: 30px;
    padding: 12px 18px;
  }
}
.fa-labo-block-separate .separate-data .contents-text P {
  font-size: 15px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-separate .separate-data .contents-text P {
    font-size: 18px;
  }
}
.fa-labo-block-separate .separate-data .link-to-fa-labo {
  margin-top: 20px;
  width: 180px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-separate .separate-data .link-to-fa-labo {
    width: 205px;
  }
}

.fa-labo-block-other {
  padding: 0;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other {
    padding: 8px 16px;
  }
}
.fa-labo-block-other .block-other-title {
  font-size: 18px;
  font-weight: bold;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other .block-other-title {
    font-size: 22px;
  }
}
.fa-labo-block-other .block-other-text1 {
  margin-top: 1em;
}
.fa-labo-block-other .block-other-flow {
  margin: 25px auto 0;
  max-width: 658px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other .block-other-flow {
    margin: 45px auto 0;
  }
}
.fa-labo-block-other .block-other-flow h5 {
  display: flex;
  align-items: center;
  gap: 6px;
}
.fa-labo-block-other .block-other-flow h5::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background-color: #005bac;
}
.fa-labo-block-other .block-other-flow .block-other-flow__list {
  margin-top: 20px;
}
.fa-labo-block-other .block-other-flow .block-other-flow__list li {
  margin-bottom: 0;
}
.fa-labo-block-other .block-other-flow .block-other-flow__list li:not(.separate) {
  padding: 12px 20px;
  padding-left: calc(1.5em + 20px);
  text-indent: -1.5em;
  border: 1px solid #005bac;
  border-radius: 12px;
  background-color: #fff;
  font-size: 16px;
  font-weight: bold;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other .block-other-flow .block-other-flow__list li:not(.separate) {
    padding: 18px 35px;
    padding-left: 35px;
    text-indent: 0;
    border-radius: 50px;
    font-size: 20px;
  }
}
.fa-labo-block-other .block-other-flow .block-other-flow__list li:not(.separate) span {
  font-size: 12px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other .block-other-flow .block-other-flow__list li:not(.separate) span {
    font-size: 15px;
  }
}
.fa-labo-block-other .block-other-flow .block-other-flow__list li.separate {
  width: 100%;
  height: 10px;
  background-image: url(../assets/images/monodukuri/fa-labo/icon-arrow-triangle.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto 100%;
  margin: 8px auto;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other .block-other-flow .block-other-flow__list li.separate {
    width: 20px;
    height: 15px;
    background-size: cover;
  }
}
.fa-labo-block-other .fureru {
  margin-top: 15px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other .fureru {
    margin-top: 30px;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
  }
}
.fa-labo-block-other .fureru .fureru__item {
  padding: 10px;
  border: 1px solid #005bac;
  background-color: #fff;
  display: grid;
  grid-template-columns: auto 36%;
  grid-auto-rows: auto;
  grid-row: unset;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other .fureru .fureru__item {
    padding: 10px 15px 15px 15px;
    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
    grid-row: 1/3;
  }
}
.fa-labo-block-other .fureru .fureru__item .fureru__item__title {
  display: flex;
  padding-left: 5px;
  justify-content: flex-start;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
}
@media only screen and (min-width: 782px) {
  .fa-labo-block-other .fureru .fureru__item .fureru__item__title {
    padding-left: 0;
    justify-content: center;
    font-size: 19px;
    font-weight: normal;
    text-align: center;
  }
}
.fa-labo-contents2 {
  margin-top: 40px;
}
.fa-labo-contents2:first-of-type {
  margin-top: 40px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents2 {
    margin-top: 60px;
  }
  .fa-labo-contents2:first-of-type {
    margin-top: 40px;
  }
}
.fa-labo-contents2 .logo-group {
  margin-bottom: 20px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents2 .logo-group {
    margin-bottom: 30px;
  }
}
.fa-labo-contents2 .separate-contents {
  display: block;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents2 .separate-contents {
    display: grid;
    grid-template-columns: auto -webkit-max-content;
    grid-template-columns: auto max-content;
    gap: 30px;
  }
}
.fa-labo-contents2 .separate-contents .contents-data h3 {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents2 .separate-contents .contents-data h3 {
    margin-bottom: 15px;
    font-size: 22px;
  }
}
.fa-labo-contents2 .separate-contents .contents-image {
  margin-top: 15px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents2 .separate-contents .contents-image {
    margin-top: 0;
  }
}

.fa-labo-contents3 {
  margin-top: 20px;
}
.fa-labo-contents3 .separate-contents {
  padding: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--Base-gray5, #ccc);
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents3 .separate-contents {
    padding: 20px 20px 20px 10px;
    flex-direction: row-reverse;
    gap: 20px;
  }
}
.fa-labo-contents3 .separate-contents .contents-data {
  flex-basis: auto;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents3 .separate-contents .contents-data {
    flex-basis: calc(100% - 290px);
  }
}
.fa-labo-contents3 .separate-contents .contents-data h3 {
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: bold;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents3 .separate-contents .contents-data h3 {
    margin-bottom: 10px;
    font-size: 22px;
  }
}
.fa-labo-contents3 .separate-contents .contents-data .label01 {
  margin-bottom: 5px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents3 .separate-contents .contents-data .label01 {
    margin-bottom: 10px;
  }
}
.fa-labo-contents3 .separate-contents .contents-image {
  flex-basis: auto;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents3 .separate-contents .contents-image {
    flex: 0 0 290px;
  }
}

@media only screen and (min-width: 782px) {
  .fa-labo-contents4 {
    margin-top: 80px;
  }
}
.fa-labo-contents4 .contents-title {
  display: flex;
  margin-bottom: 0;
  padding: 12px 14px;
  justify-content: center;
  align-items: center;
  border-radius: 8px 8px 0px 0px;
  background: #005bac;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .contents-title {
    padding: 22px 20px;
    border-radius: 12px 12px 0px 0px;
    font-size: clamp(26px, 2.82vw, 31px);
    line-height: 1.2;
  }
}
.fa-labo-contents4 .contents-title.--1 {
  flex-direction: column;
  gap: 10px;
}
.fa-labo-contents4 .contents-title.--1 span {
  font-size: 75%;
  font-weight: normal;
}
.fa-labo-contents4 .contents-body {
  margin-top: 0;
  padding: 2px 15px 30px;
  border-radius: 0px 0px 10px 10px;
  border-right: 3px solid #005bac;
  border-bottom: 3px solid #005bac;
  border-left: 3px solid #005bac;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .contents-body {
    padding: 10px 45px 40px;
    border-radius: 0px 0px 16px 16px;
    border-width: 5px;
  }
}
.fa-labo-contents4 .sugraph-header__image {
  margin-top: 0;
  margin-left: -12px;
  width: calc(100% + 24px);
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-header__image {
    margin-left: -45px;
    width: calc(100% + 90px);
  }
}
.fa-labo-contents4 .sugraph-header__image img {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.fa-labo-contents4 .sugraph-faq {
  margin-top: 25px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq {
    margin-top: 35px;
    gap: 20px;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item {
  margin-top: 0;
  margin-bottom: 0;
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 20px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item {
    gap: 50px;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__image {
  flex: 0 0 55px;
  white-space: nowrap;
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__image img {
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__image {
    flex: 0 0 110px;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text {
  padding: 0.8em 1.2em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 6px;
  border-radius: 12px;
  font-size: 15px;
  padding: 0.8em 1em;
  line-height: 1.3;
  width: 100%;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text {
    gap: 15px;
    border-radius: 20px;
    font-size: 21px;
    padding: 1em 1.5em;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text::before {
  content: "";
  width: 18px;
  height: 20px;
  background-color: gray;
  -webkit-mask-image: url(../assets/images/monodukuri/fa-labo/icon-arrow-fukidashi-left.svg);
  mask-image: url(../assets/images/monodukuri/fa-labo/icon-arrow-fukidashi-left.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  position: absolute;
  top: 12px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text::before {
    width: 35px;
    height: 38px;
    top: 20px;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text .sugraph-faq__item__text__image {
  flex: 0 0 14px;
  white-space: nowrap;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text .sugraph-faq__item__text__image {
    flex: 0 0 24px;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text .sugraph-faq__item__text__image img {
  width: 100%;
  height: auto;
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text .sugraph-faq__item__text__text {
  margin-top: 0;
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text .sugraph-faq__item__text__text em {
  font-weight: 700;
  font-style: normal;
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item .sugraph-faq__item__text .sugraph-faq__item__text__text strong {
  text-decoration: underline;
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-q {
  padding-right: 3%;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-q {
    padding-right: 13%;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-q .sugraph-faq__item__text {
  background-color: #8bd7f7;
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-q .sugraph-faq__item__text::before {
  background-color: #8bd7f7;
  left: -17px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-q .sugraph-faq__item__text::before {
    left: -33px;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-a {
  padding-left: 3%;
  flex-direction: row-reverse;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-a {
    padding-left: 13%;
  }
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-a .sugraph-faq__item__text {
  background-color: #ffe28e;
}
.fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-a .sugraph-faq__item__text::before {
  background-color: #ffe28e;
  right: -17px;
  transform: scaleX(-1);
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-faq .sugraph-faq__item.faq-a .sugraph-faq__item__text::before {
    right: -33px;
  }
}
.fa-labo-contents4 .sugraph-text {
  margin-top: 25px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-text {
    margin-top: 35px;
  }
}
.fa-labo-contents4 .sugraph-text .wp-block-heading {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 700;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-text .wp-block-heading {
    font-size: 21px;
  }
}
.fa-labo-contents4 .sugraph-text p {
  margin-top: 5px;
  line-height: 1.4;
}
.fa-labo-contents4 .sugraph-text p em {
  font-style: normal;
  font-size: 18px;
  font-weight: 700;
  color: #005ba8;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-text p em {
    font-size: 21px;
  }
}
.fa-labo-contents4 .sugraph-figure {
  margin-top: 10px;
  padding: 20px;
  background-color: #d8eeea;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 50px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-figure {
    flex-direction: row;
    gap: 35px;
  }
}
.fa-labo-contents4 .sugraph-figure .sugraph-figure__item {
  width: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-figure .sugraph-figure__item {
    width: calc(25% - 27px);
    display: block;
  }
}
.fa-labo-contents4 .sugraph-figure .sugraph-figure__item:not(:last-child)::after {
  content: "";
  width: 27px;
  height: 29px;
  background-image: url(../assets/images/monodukuri/fa-labo/icon-arrow-orange.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  position: absolute;
  transform: rotate(90deg);
  top: auto;
  right: auto;
  left: calc(50% - 14.5px);
  bottom: -42px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-figure .sugraph-figure__item:not(:last-child)::after {
    transform: rotate(0deg);
    top: 0;
    right: -32px;
    left: auto;
    bottom: auto;
  }
}
.fa-labo-contents4 .sugraph-figure .sugraph-figure__item .sugraph-figure__item__title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  padding: 4px 8px;
  background-color: #005ba8;
  width: 100%;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-figure .sugraph-figure__item .sugraph-figure__item__title {
    width: auto;
  }
}
.fa-labo-contents4 .sugraph-figure .sugraph-figure__item .sugraph-figure__item__image {
  margin-top: 5px;
  text-align: center;
}
.fa-labo-contents4 .sugraph-figure .sugraph-figure__item .sugraph-figure__item__image img {
  margin: 0 auto;
  width: 88%;
  height: auto;
  max-width: 260px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-figure .sugraph-figure__item .sugraph-figure__item__image img {
    width: 100%;
  }
}
.fa-labo-contents4 .sugraph-features {
  margin-top: 25px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-features {
    grid-template-columns: 1fr 300px;
    gap: 20px;
  }
}
.fa-labo-contents4 .sugraph-features .sugraph-features__data .sugraph-features__data__title {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border: 2px solid #005ba8;
  font-size: 18px;
  font-weight: 700;
  color: #005ba8;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-features .sugraph-features__data .sugraph-features__data__title {
    display: inline-flex;
    border-width: 4px;
    font-size: 22px;
  }
}
.fa-labo-contents4 .sugraph-features .sugraph-features__data .list-number {
  margin-top: 10px;
  list-style-type: decimal;
  margin-left: 1em;
  padding-left: 0.5em;
}
.fa-labo-contents4 .sugraph-features .sugraph-features__data .list-number li {
  font-size: 15px;
  line-height: 1.4;
}
.fa-labo-contents4 .sugraph-features .sugraph-features__image img {
  width: 100%;
  height: auto;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-features .sugraph-features__image img {
    width: auto;
    height: auto;
  }
}
.fa-labo-contents4 .sugraph-contact {
  margin-top: 40px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1em;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-contact {
    margin-top: 55px;
  }
}
.fa-labo-contents4 .sugraph-contact .sugraph-contact__data {
  font-size: 16px;
  line-height: 1.6;
}
.fa-labo-contents4 .sugraph-contact .sugraph-contact__data p {
  margin-bottom: 0.5em;
  text-align: center;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 .sugraph-contact .sugraph-contact__data {
    font-size: 18px;
    line-height: 1.3;
  }
}

.fa-labo-contents4.--2 {
  margin-block: 0;
  position: relative;
}
.fa-labo-contents4.--2 .contents-title {
  margin-top: 0;
}
.fa-labo-contents4.--2 .separate-contents {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4.--2 .separate-contents {
    margin-top: 40px;
    grid-template-columns: auto -webkit-max-content;
    grid-template-columns: auto max-content;
    align-items: flex-start;
    gap: 48px;
  }
}
.fa-labo-contents4.--2 .contents-header {
  margin-top: 16px;
  padding: 0 5px 10px;
  align-items: center;
  gap: 12px;
  border-bottom: 3px solid #005bac;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4.--2 .contents-header {
    padding: 0 10px 15px;
    gap: 25px;
    border-width: 4px;
  }
}
.fa-labo-contents4.--2 .contents-header .contents-image {
  flex: 0 0 auto;
  padding: 0;
  border: none;
}
.fa-labo-contents4.--2 .contents-header .contents-name {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  font-weight: bold;
  color: #005bac;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4.--2 .contents-header .contents-name {
    font-size: 36px;
    line-height: 1.2;
  }
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4.--2 .contents-data {
    flex-direction: row;
    flex-wrap: nowrap;
  }
}
.fa-labo-contents4.--2 .contents-data .contents-data__title {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4.--2 .contents-data .contents-data__title {
    margin-bottom: 25px;
    font-size: 20px;
    line-height: 1.7;
  }
}
.fa-labo-contents4.--2 .contents-data .wp-block-list {
  margin-top: 20px;
  margin-left: 2px;
  margin-left: 8px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4.--2 .contents-data .wp-block-list {
    margin-left: 8px;
  }
}
.fa-labo-contents4.--2 .contents-data .wp-block-list li {
  line-height: 1.5;
  font-size: 14px;
  color: #333;
}
.fa-labo-contents4.--2 .contents-data .wp-block-list li:not(:first-of-type) {
  margin-top: 5px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4.--2 .contents-data .wp-block-list li {
    font-size: 16px;
  }
}
.fa-labo-contents4.--2 .contents-image {
  padding: 10px;
  border: 1px solid #ccc;
}
.fa-labo-contents4.--2 .contents-image img {
  margin: 0 auto;
}

a.fa-labo-contents4:hover, a.fa-labo-contents4:active {
  opacity: 0.8;
}
a.fa-labo-contents4:hover img, a.fa-labo-contents4:active img {
  opacity: 1;
}

.fa-labo-contents4 + .list-dot2 {
  margin-top: 15px;
}
@media only screen and (min-width: 782px) {
  .fa-labo-contents4 + .list-dot2 {
    margin-top: 30px;
  }
}

.bumon-info {
  margin-top: 40px;
}
@media only screen and (min-width: 782px) {
  .bumon-info {
    margin-top: 100px;
  }
}
.bumon-info .bumon-info__title {
  padding: 5px 10px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background-color: #005bac;
}
@media only screen and (min-width: 782px) {
  .bumon-info .bumon-info__title {
    font-size: 28px;
  }
}
.bumon-info .bumon-info__contents {
  padding: 20px 10px 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media only screen and (min-width: 782px) {
  .bumon-info .bumon-info__contents {
    padding: 40px 40px 0 45px;
    grid-template-columns: 1fr 55%;
    gap: 64px;
  }
}
.bumon-info .bumon-info__contents .about_data {
  text-align: center;
}
.bumon-info .bumon-info__contents .about_data .about_name_logo1 img {
  width: 100%;
  max-width: 200px;
}
@media only screen and (min-width: 782px) {
  .bumon-info .bumon-info__contents .about_data .about_name_logo1 img {
    max-width: none;
  }
}
.bumon-info .bumon-info__contents .about_data .about_name_logo2 {
  margin-top: 27px;
}
.bumon-info .bumon-info__contents .about_data .about_name_logo2 img {
  width: 100%;
  max-width: 200px;
}
@media only screen and (min-width: 782px) {
  .bumon-info .bumon-info__contents .about_data .about_name_logo2 img {
    max-width: none;
  }
}
.bumon-info .bumon-info__contents .about_data .about_name_logo3 {
  margin-top: 19px;
}
.bumon-info .bumon-info__contents .about_data .about_name_logo3 img {
  width: 90%;
  max-width: 160px;
}
@media only screen and (min-width: 782px) {
  .bumon-info .bumon-info__contents .about_data .about_name_logo3 img {
    max-width: none;
  }
}
.bumon-info .bumon-info__contents .about_data .about_profile {
  margin-top: 15px;
  text-align: left;
  font-size: 16px;
  margin-left: auto;
  margin-right: auto;
  max-width: 300px;
}
@media only screen and (min-width: 782px) {
  .bumon-info .bumon-info__contents .about_data .about_profile {
    margin-top: 25px;
    font-size: 20px;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
}
/* ------------------------------------
//  このページ
// ----------------------------------*/
.maker-map {
  padding: 0;
  background-color: #d9e6f2;
}
.maker-map-area {
  aspect-ratio: 1000/690;
  background-image: url(../assets/images/monodukuri/provide-maker/bg-maker-map-3.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 5px;
  position: relative;
}
.maker-map-area .anchor {
  height: auto;
  border-radius: 0.8vw;
  position: absolute;
}
.maker-map-area .anchor.--seigyokiki {
  aspect-ratio: 125/58;
  width: 12.5%;
  left: 7.1%;
  top: 17.97%;
}
.maker-map-area .anchor.--sensor {
  aspect-ratio: 125/58;
  width: 12.5%;
  left: 77.9%;
  top: 81.59%;
}
.maker-map-area .anchor.--cable {
  aspect-ratio: 164/77;
  width: 16.4%;
  left: 2.1%;
  top: 48.26%;
}
.maker-map-area .anchor.--anzenkiki {
  aspect-ratio: 125/58;
  width: 12.5%;
  left: 4.6%;
  top: 73.04%;
}
.maker-map-area .anchor.--iot {
  aspect-ratio: 125/58;
  width: 12.5%;
  left: 37.2%;
  top: 5.51%;
}
.maker-map-area .anchor.--seigyobox {
  aspect-ratio: 125/58;
  width: 12.5%;
  left: 36.1%;
  top: 81.59%;
}
.maker-map-area .anchor.--bijon {
  aspect-ratio: 125/58;
  width: 12.5%;
  left: 81.8%;
  top: 52.75%;
}
.maker-map-area .anchor.--robothand {
  aspect-ratio: 183/76;
  width: 18.3%;
  left: 72.1%;
  top: 5.36%;
}
.maker-map-area .anchor.--syomei {
  aspect-ratio: 125/58;
  width: 12.5%;
  left: 85.5%;
  top: 24.06%;
}

.anchor-link-wrapper {
  margin-top: -30px;
  padding: 15px 0;
  background-color: rgba(255, 255, 255, 0.95);
}
@media only screen and (min-width: 782px) {
  .anchor-link-wrapper {
    margin-top: -60px;
    padding: 40px 0 30px;
  }
}

.anchor-link-maker {
  margin: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
}
@media only screen and (min-width: 782px) {
  .anchor-link-maker {
    gap: 10px;
  }
}
.anchor-link-maker li {
  margin: 0;
  align-content: center;
}
.anchor-link-maker li a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #1969b3;
  border-radius: 6px;
  height: 40px;
  font-size: 11px;
  line-height: 1.3;
  font-weight: bold;
  text-align: center;
}
@media only screen and (min-width: 782px) {
  .anchor-link-maker li a {
    font-size: 15px;
  }
}
.anchor-link-maker li a:link, .anchor-link-maker li a:visited {
  background-color: white;
  color: #1969b3;
}
@media (hover: hover) {
  .anchor-link-maker li a:hover, .anchor-link-maker li a:active {
    background-color: #1969b3;
    color: #fff;
  }
}

/* ------------------------------------
//  このページ
// ----------------------------------*/
.iedukuri-catchcopy {
  font-size: clamp(22px, 7.47vw, 40px);
}
@media only screen and (min-width: 782px) {
  .iedukuri-catchcopy br {
    display: none;
  }
}

.house_main {
  margin: 86px 0;
}
.house_main_min {
  margin-top: 60px;
}

.house_mainmap li a,
.house_main-list li a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 15px;
  line-height: 1.2;
  border-radius: var(--space-200, 5px);
  border: 1px solid var(--color-gray-600, #999);
  background-color: #fff;
  padding: 6px 12px 6px 9px;
}
.house_mainmap li a strong:first-of-type,
.house_main-list li a strong:first-of-type {
  flex-shrink: 0;
  flex-grow: 0;
  width: 1.4em;
  height: 1.4em;
  padding-right: 0.1em;
  padding-bottom: 0.15em;
  background-color: #0059aa;
  border-radius: 50%;
  font-size: 0.8125rem;
  color: #fff;
  letter-spacing: -0.085em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.house_mainmap li a:link, .house_mainmap li a:visited,
.house_main-list li a:link,
.house_main-list li a:visited {
  color: #000;
  text-decoration: none;
}
.house_mainmap li a:hover, .house_mainmap li a:active,
.house_main-list li a:hover,
.house_main-list li a:active {
  opacity: 1;
  background-color: #60b3f9;
  color: #fff;
}
.house_mainmap li a.house_posit---red strong:first-of-type,
.house_main-list li a.house_posit---red strong:first-of-type {
  background-color: #e34444;
}

.house_mainmap {
  padding: 0;
  margin: 0;
  list-style: none;
  background-image: url("../assets/images/iedukuri/bg-iedukuri-map.jpg");
  background-size: 100% 100%;
  aspect-ratio: 850/500;
  width: 100%;
  height: 100%;
  max-width: 850px;
  position: relative;
  overflow: hidden;
}
.house_mainmap li a {
  border: none;
  background-color: transparent;
  padding: 0;
  position: absolute;
}
@media only screen and (min-width: 782px) {
  .house_mainmap li a {
    border-radius: 8px;
    border: 1px solid var(--color-gray-600, #999);
    background-color: #fff;
    padding: 5px 12px 8px 9px;
    font-size: 1.125rem;
  }
}
.house_mainmap li a strong:first-of-type {
  font-size: clamp(15px, 3.21vw, 25px);
  padding-top: 0;
}
@media only screen and (min-width: 782px) {
  .house_mainmap li a strong:first-of-type {
    font-size: 1rem;
    top: 0.075em;
  }
}
.house_mainmap li a strong:last-of-type {
  display: none;
}
@media only screen and (min-width: 782px) {
  .house_mainmap li a strong:last-of-type {
    display: block;
  }
}
.house_mainmap .house_posit1 {
  top: 14%;
  left: 35%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit1 {
    top: 14%;
    left: 30.5%;
  }
}
.house_mainmap .house_posit2 {
  top: 48%;
  left: 6%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit2 {
    top: 52%;
    left: 1%;
  }
}
.house_mainmap .house_posit3 {
  top: 42.2%;
  left: 19.5%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit3 {
    top: 42.2%;
    left: 20.5%;
  }
}
.house_mainmap .house_posit4 {
  top: 8%;
  left: 59.5%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit4 {
    top: 7%;
    left: 48.5%;
  }
}
.house_mainmap .house_posit5 {
  top: 85.2%;
  left: 58%;
}
.house_mainmap .house_posit6 {
  top: 90%;
  left: 16.5%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit6 {
    top: 90%;
    left: 18%;
  }
}
.house_mainmap .house_posit7 {
  top: 25.8%;
  left: 27.3%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit7 {
    top: 26%;
    left: 14.3%;
  }
}
.house_mainmap .house_posit8 {
  top: 59%;
  left: 6%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit8 {
    top: 61%;
    left: 1%;
  }
}
.house_mainmap .house_posit9 {
  top: 67%;
  left: 39.5%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit9 {
    top: 68.5%;
    left: 30.5%;
  }
}
.house_mainmap .house_posit10 {
  top: 24%;
  left: 6%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit10 {
    top: 40%;
    left: 1%;
  }
}
.house_mainmap .house_posit11 {
  top: 37.5%;
  left: 59%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit11 {
    top: 36.5%;
    left: 56%;
  }
}
.house_mainmap .house_posit12 {
  top: 48.3%;
  left: 35.3%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit12 {
    top: 53.3%;
    left: 30.8%;
  }
}
.house_mainmap .house_posit13 {
  top: 62.8%;
  left: 75.8%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit13 {
    top: 57.8%;
    left: 75.8%;
  }
}
.house_mainmap .house_posit14 {
  top: 90%;
  left: 9%;
}
@media only screen and (min-width: 782px) {
  .house_mainmap .house_posit14 {
    top: 90%;
    left: 1%;
  }
}

.house_main-list {
  margin-top: 25px;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 12px;
}
@media only screen and (min-width: 782px) {
  .house_main-list {
    margin-top: 32px;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
  }
}
.house_main-list li {
  margin-bottom: 0 !important;
}
.house_main-list li a {
  display: flex;
  align-items: flex-start;
}
@media only screen and (min-width: 782px) {
  .house_main-list li a {
    border-radius: 8px;
    border: 1px solid var(--color-gray-600, #999);
    background-color: #fff;
    padding: 8px 12px 8px 9px;
    font-size: 1.125rem;
  }
}
@media only screen and (min-width: 782px) and (min-width: 782px) {
  .house_main-list li a strong:first-of-type {
    font-size: 1rem;
    top: 0;
  }
}

.uagb-tabs__panel {
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px;
}
@media only screen and (min-width: 768px) {
  .uagb-tabs__panel {
    width: 100% !important;
  }
}
.uagb-tabs__panel .uagb-tab {
  margin-bottom: 0 !important;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .uagb-tabs__panel .uagb-tab {
    flex: 1 1 100% !important;
  }
}
.uagb-tabs__panel .uagb-tab .uagb-tabs-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}
@media only screen and (min-width: 768px) {
  .uagb-tabs__panel .uagb-tab .uagb-tabs-list {
    min-height: 74px !important;
  }
}
.uagb-tabs__panel .uagb-tab .uagb-tabs-list:link, .uagb-tabs__panel .uagb-tab .uagb-tabs-list:visited {
  text-decoration: none;
}
.uagb-tabs__panel .uagb-tab .uagb-tabs-list:hover, .uagb-tabs__panel .uagb-tab .uagb-tabs-list:active {
  opacity: 1;
  background-color: #b5dcff;
}
@media only screen and (min-width: 768px) {
  .uagb-tabs__panel .uagb-tab .uagb-tabs-list br {
    display: none;
  }
}
.uagb-tabs__panel .uagb-tab.uagb-tabs__active .uagb-tabs-list {
  font-weight: 700;
}
.uagb-tabs__body-wrap {
  border-radius: 0 !important;
  border: 5px solid var(--wp--preset--color--brand-primary) !important;
}
@media only screen and (min-width: 768px) {
  .uagb-tabs__body-wrap {
    border-width: 10px !important;
  }
}
.uagb-tabs__body-container {
  padding: 0 !important;
}

em {
  font-style: normal;
}

.link {
  transition: all 0.1s linear 0s;
}
.link:link, .link:visited {
  text-decoration: underline;
}
.link.link-blank::after {
  display: inline-block;
  margin-left: 8px;
  content: "";
  width: 16px;
  height: 15px;
  background-color: #555;
  -webkit-mask-image: url(../assets/images/robot-school/ico-blank.svg);
  mask-image: url(../assets/images/robot-school/ico-blank.svg);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.button .wp-block-button__link {
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  transition: all 0.1s linear 0s;
}
.button .wp-block-button__link:hover {
  opacity: 0.8;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
}
.button.button-1 .wp-block-button__link {
  padding: 15px;
  width: 100%;
  max-width: unset;
  background-color: #4c9de2;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .button.button-1 .wp-block-button__link {
    padding: 14px 26px 14px 30px;
    border-radius: 10px;
    font-size: 18px;
  }
}
.button.button-1 .wp-block-button__link em {
  margin-right: 0;
  font-size: 170%;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .button.button-1 .wp-block-button__link em {
    display: inline;
    margin-right: 5px;
    font-size: 30px;
  }
}
.button.button-1 .wp-block-button__link::after {
  flex-shrink: 0;
  flex-grow: 0;
  align-self: center;
  margin-left: 10px;
  content: "";
  width: 16px;
  height: 16px;
  background-color: transparent;
  background-image: url(../assets/images/robot-school/ico-arrow1.svg);
  background-size: 100% 100%;
}
@media only screen and (min-width: 768px) {
  .button.button-1 .wp-block-button__link::after {
    margin-left: 30px;
    width: 24px;
    height: 24px;
  }
}
.button.button-3 .wp-block-button__link {
  flex-direction: column;
  padding: 14px 10px;
  width: clamp(200px, 100%, 340px);
  border-radius: 8px;
  font-size: 16px;
  background-color: #005ba8;
  border-radius: 10px;
  font-weight: 700;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .button.button-3 .wp-block-button__link {
    padding: 14px 20px;
  }
}
.button.button-3 .wp-block-button__link em {
  display: flex;
  align-items: center;
  font-size: 18px;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .button.button-3 .wp-block-button__link em {
    font-size: 22px;
  }
}
.button.button-3 .wp-block-button__link em::after {
  flex-shrink: 0;
  flex-grow: 0;
  align-self: center;
  margin-left: 8px;
  content: "";
  width: 13px;
  height: 12px;
  background-color: #fff;
  -webkit-mask-image: url(../assets/images/robot-school/ico-blank.svg);
  mask-image: url(../assets/images/robot-school/ico-blank.svg);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}
@media only screen and (min-width: 768px) {
  .button.button-3 .wp-block-button__link em::after {
    width: 16px;
    height: 15px;
  }
}
.button.button-3 .wp-block-button__link span {
  font-size: 12px;
  font-weight: 300;
}
@media only screen and (min-width: 768px) {
  .button.button-3 .wp-block-button__link span {
    font-size: 13px;
  }
}
.button .wp-block-button__link-2 {
  padding: 14px 30px;
  min-width: unset;
  width: clamp(200px, 85%, 340px);
  background-color: #fff;
  border: 2px solid #005ba8;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #005ba8;
}
@media only screen and (min-width: 768px) {
  .button .wp-block-button__link-2 {
    padding: 18px 0;
    min-width: 340px;
    width: auto;
    font-size: 20px;
  }
}
.button .wp-block-button__link-2::after {
  align-self: center;
  margin-left: 15px;
  content: "";
  width: 16px;
  height: 16px;
  background-color: #005ba8;
  -webkit-mask-image: url(../assets/images/robot-school/ico-arrow1.svg);
  mask-image: url(../assets/images/robot-school/ico-arrow1.svg);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}
@media only screen and (min-width: 768px) {
  .button .wp-block-button__link-2::after {
    margin-left: 20px;
    width: 20px;
    height: 20px;
  }
}
.button .wp-block-button__link-3 {
  flex-direction: column;
  padding: 14px 10px;
  background-color: #005ba8;
  border-radius: 8px;
  font-weight: 700;
  color: #fff;
  width: clamp(200px, 100%, 340px);
  font-size: 16px;
}
@media only screen and (min-width: 768px) {
  .button .wp-block-button__link-3 {
    padding: 14px 40px;
    border-radius: 10px;
    width: auto;
    font-size: inherit;
  }
}
.button .wp-block-button__link-3 em {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .button .wp-block-button__link-3 em {
    font-size: 18px;
  }
}
.button .wp-block-button__link-3 em::after {
  flex-shrink: 0;
  flex-grow: 0;
  align-self: center;
  margin-left: 8px;
  content: "";
  width: 13px;
  height: 12px;
  background-color: #fff;
  -webkit-mask-image: url(../assets/images/robot-school/ico-blank.svg);
  mask-image: url(../assets/images/robot-school/ico-blank.svg);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}
@media only screen and (min-width: 768px) {
  .button .wp-block-button__link-3 em::after {
    width: 16px;
    height: 15px;
  }
}
.button .wp-block-button__link-3 span {
  font-size: 12px;
  font-weight: 300;
}
@media only screen and (min-width: 768px) {
  .button .wp-block-button__link-3 span {
    font-size: 13px;
  }
}

.button_wrap {
  margin-top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  flex-direction: column;
  gap: 20px;
}
@media only screen and (min-width: 768px) {
  .button_wrap {
    flex-direction: row;
    gap: 30px;
    width: auto;
  }
}

.course-buttons {
  margin-top: 60px;
  margin-bottom: 80px;
}
@media only screen and (min-width: 768px) {
  .course-buttons {
    margin-top: 80px;
    margin-bottom: 100px;
  }
}
.course-buttons .button_wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media only screen and (min-width: 768px) {
  .course-buttons .button_wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
.course-buttons .button_wrap .button .wp-block-button__link {
  width: 100%;
  font-size: 18px;
  padding-top: 1.13em;
  padding-bottom: 1.13em;
}
@media only screen and (min-width: 768px) {
  .course-buttons .button_wrap .button .wp-block-button__link {
    font-size: 22px;
  }
}
.course-buttons .button_wrap .button .wp-block-button__link:focus {
  opacity: 1;
}
.course-buttons .button_wrap .button .wp-block-button__link::after {
  transform: rotate(90deg);
}
.course-buttons .button_wrap .button .wp-block-button__link.is-active {
  background-color: #005ba8;
  color: #fff;
  pointer-events: none;
}

.main_content2,
.main_content3 {
  background-color: #f8f8f8;
  padding-top: 60px;
  padding-bottom: 30px;
  font-size: 15px;
  line-height: 1.7;
  color: #000;
  text-align: left;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
.main_content2 img,
.main_content3 img {
  max-width: 100%;
  height: auto;
}
@media only screen and (min-width: 768px) {
  .main_content2,
.main_content3 {
    padding-top: 80px;
    padding-bottom: 60px;
    font-size: 16px;
  }
}

.main_content2 {
  padding-top: 50px;
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .main_content2 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.main_content3 {
  background-color: #fff;
}

.inner_middle {
  margin: 0 auto;
  width: 100%;
  max-width: calc(860px + 16%);
  padding-left: 8%;
  padding-right: 8%;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .inner_middle {
    max-width: 960px;
    padding-left: 50px;
    padding-right: 50px;
  }
}

.sec {
  margin-top: 40px;
}
.sec:first-of-type {
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .sec {
    margin-top: 60px;
  }
}

.page_title2 {
  margin-bottom: 0.8em;
  padding-bottom: 5px;
  border-bottom: 3px solid #005ba8;
  font-size: clamp(18px, 2.61vw, 20px);
  font-weight: 700;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .page_title2 {
    font-size: 26px;
  }
}

.two-columns {
  display: grid;
  grid-template-columns: 100%;
  gap: 40px;
}
.two-columns *:nth-of-type(even) {
  margin-top: 0;
}
@media only screen and (min-width: 768px) {
  .two-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
  }
}

figcaption {
  font-size: 80%;
}

.marker1 {
  background: linear-gradient(transparent 50%, #fff502 50%);
}

.main_visual.mv_robot-school {
  background-color: #fff;
  display: grid;
  align-content: center;
  padding: min(9.13vw, 50px) 0;
  height: auto;
}
.main_visual.mv_robot-school .page-title {
  font-size: clamp(34px, 6.52vw, 52px);
  font-weight: 700;
  line-height: 1.1;
  color: #005ba8;
}
.main_visual.mv_robot-school .page-title span {
  margin-top: 5px;
  display: block;
  font-size: clamp(15px, 2.35vw, 18px);
  font-weight: 700;
}
.main_visual.mv_robot-school .page-title em {
  margin-top: 15px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 8px 1.5em;
  font-size: clamp(18px, 3.65vw, 28px);
  font-weight: 700;
  letter-spacing: 2.64px;
  color: #fff;
  position: relative;
  z-index: 1;
}
.main_visual.mv_robot-school .page-title em::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #005ba8;
  transform: skew(-30deg);
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (min-width: 768px) {
  .main_visual.mv_robot-school {
    padding: 0;
    height: 310px;
  }
  .main_visual.mv_robot-school .page-title {
    font-size: 59px;
  }
  .main_visual.mv_robot-school .page-title span {
    font-size: 21px;
  }
  .main_visual.mv_robot-school .page-title em {
    margin-top: 20px;
    padding: 11px 70px;
    font-size: 33px;
  }
}

.block1 {
  border: 1px solid #ccc;
  background-color: #fff;
}
.block1 .block_title {
  padding: 4px 10px;
  font-size: clamp(18px, 2.87vw, 22px);
  font-weight: 700;
  line-height: 1.7;
  color: #fff;
  text-align: center;
  background-color: #005ba8;
}
.block1 .block_title strong {
  display: block;
  padding: 0 5px 0 12px;
  font-size: 0.9em;
  font-weight: bold !important;
  color: #005ba8;
  line-height: 1.4;
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .block1 .block_title strong {
    display: inline-block;
    margin-right: 10px;
  }
}
.block1 .block_body {
  margin-top: 0 !important;
  padding: 15px;
}
.block1 .block_body p:last-of-type {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .block1 .block_body {
    padding: 30px;
  }
}

.robot-school_intro {
  margin-bottom: 30px;
}
.robot-school_intro .block_body p {
  margin-bottom: 10px;
  font-size: 16px;
  text-align: left;
}
.robot-school_intro .block_body p em,
.robot-school_intro .block_body p span {
  display: block;
  font-size: clamp(16px, 5vw, 28px);
  font-weight: 700;
  line-height: 1.7;
}
.robot-school_intro .block_body p em.normal_size,
.robot-school_intro .block_body p span.normal_size {
  font-size: inherit;
}
.robot-school_intro .block_body p em::before,
.robot-school_intro .block_body p span::before {
  content: "・";
}
.robot-school_intro .block_body p span {
  margin-right: 0.5em;
  display: none;
}
@media only screen and (min-width: 768px) {
  .robot-school_intro {
    margin-bottom: 50px;
  }
  .robot-school_intro .block_body p {
    margin-bottom: 1em;
    font-size: 18px;
    text-align: center;
  }
  .robot-school_intro .block_body p em,
.robot-school_intro .block_body p span {
    display: inline;
    font-size: 25px;
  }
  .robot-school_intro .block_body p span {
    display: inline;
  }
  .robot-school_intro .block_body p em::before,
.robot-school_intro .block_body p span::before {
    content: none;
  }
}

.sec-purpose .purpose-text {
  font-size: 16px;
}
@media only screen and (min-width: 768px) {
  .sec-purpose .purpose-text {
    font-size: 18px;
  }
}

.sec-curriculum .button.button-1 .wp-block-button__link {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .sec-curriculum .button.button-1 .wp-block-button__link {
    margin-top: 30px;
  }
}

.curriculum {
  border: 3px solid #000;
  background-color: #fff;
  border-radius: 8px;
}
.curriculum .curriculum_head {
  padding: 15px 18px 8px;
  display: block;
  text-align: center;
}
.curriculum .curriculum_head .curriculum_name {
  margin-bottom: 0;
  white-space: nowrap;
  font-size: clamp(13px, 3.73vw, 25px);
  font-weight: 700;
  line-height: 1;
}
.curriculum .curriculum_head .curriculum_name em {
  font-size: 170%;
}
.curriculum .curriculum_head .curriculum_copy {
  margin-top: 8px;
  margin-left: 0;
  margin-bottom: 0;
  font-size: clamp(16px, 2.8vw, 20px);
}
.curriculum .detail_button {
  margin-top: 0;
  padding: 12px;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  transition: all 0.1s linear 0s;
  line-height: 1;
}
.curriculum .detail_button p {
  margin-bottom: 0;
}
.curriculum .detail_button .curriculum_price {
  margin-right: 5px;
  font-size: clamp(14px, 2.7vw, 20px);
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.curriculum .detail_button .curriculum_price em {
  font-size: 170%;
  font-weight: 700;
  color: #fff;
}
.curriculum .detail_button .curriculum_price span {
  margin-left: 2px;
  font-size: 90%;
}
.curriculum .detail_button .open_close-button {
  display: none;
  margin-top: 0;
  padding-right: 20px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  position: relative;
}
.curriculum .detail_button .open_close-button::before {
  display: block;
  content: "詳細";
  white-space: nowrap;
  font-size: 15px;
}
.curriculum .detail_button .open_close-button::after {
  content: "";
  width: 11px;
  height: 9px;
  background-color: #fff502;
  -webkit-mask-image: url(../assets/images/robot-school/ico-triangle1.svg);
  mask-image: url(../assets/images/robot-school/ico-triangle1.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.1s linear 0s;
}
.curriculum .curriculum_detail {
  margin-top: 0;
  padding: 15px;
  transition: all 0.1s linear 0s;
}
.curriculum .curriculum_detail .curriculum_timetable {
  margin: 16px 0 0;
  width: auto;
}
.curriculum .curriculum_detail .curriculum_timetable th,
.curriculum .curriculum_detail .curriculum_timetable td {
  padding: 10px;
  border: 1px solid #ccc;
  vertical-align: middle;
}
.curriculum .curriculum_detail .curriculum_timetable tr {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: 3em 1fr;
}
.curriculum .curriculum_detail .curriculum_timetable tr + tr {
  margin-top: 7px;
}
.curriculum .curriculum_detail .curriculum_timetable .cell-day {
  grid-row: span 2;
  grid-column: span 1;
  width: auto;
  background-color: #dcedf4;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  align-content: center;
  border-right: none;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  text-orientation: upright;
  display: flex;
  justify-content: center;
  align-items: center;
}
.curriculum .curriculum_detail .curriculum_timetable .cell-time {
  grid-row: span 1;
  grid-column: span 1;
  border-bottom: none;
}
@media only screen and (min-width: 768px) {
  .curriculum .curriculum_detail .curriculum_timetable .cell-time {
    border-bottom: 1px solid #ccc;
  }
}
.curriculum .curriculum_detail .curriculum_timetable .cell-data {
  grid-row: span 1;
  grid-column: span 1;
  width: auto;
}
.curriculum .curriculum_detail .curriculum_timetable .cell-data dl {
  display: grid;
  grid-template-columns: 3em 1fr;
}
.curriculum .curriculum_detail .curriculum_timetable .cell-data p {
  margin-bottom: 0;
}
.curriculum .curriculum_detail .curriculum_data {
  display: grid;
  grid-template-columns: 100%;
  margin-top: 15px;
}
.curriculum .curriculum_detail .curriculum_data .curriculum_data_text {
  padding-right: 0;
}
.curriculum .curriculum_detail .curriculum_data .curriculum_data_text p {
  margin-bottom: 1em;
}
.curriculum .curriculum_detail .curriculum_data .curriculum_data_text p:last-of-type {
  margin-bottom: 0;
}
.curriculum .curriculum_detail .curriculum_data .curriculum_data_photo {
  margin: 15px auto 0;
  max-width: 300px;
}
.curriculum.curriculum--tanki {
  margin-top: 35px;
  border-color: #2eb945;
}
.curriculum.curriculum--tanki .curriculum_head .curriculum_name em {
  margin-right: -7px;
}
.curriculum.curriculum--tanki .detail_button {
  background-color: #2eb945;
}
.curriculum.curriculum--kihon {
  margin-top: 50px;
  border-color: #d37831;
}
.curriculum.curriculum--kihon .detail_button {
  background-color: #d37831;
}
.curriculum.is-active .detail_button {
  border-radius: 0;
}
.curriculum.is-active .detail_button .open_close-button::before {
  content: "閉じる";
}
.curriculum.is-active .detail_button .open_close-button::after {
  background-color: #f8f8f8;
  transform: translateY(-50%) rotate(180deg);
}
.curriculum.is-active .curriculum_detail {
  display: block;
}
@media only screen and (min-width: 768px) {
  .curriculum {
    border-width: 6px;
    border-radius: 12px;
  }
  .curriculum .curriculum_head {
    padding: 22px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
  .curriculum .curriculum_head .curriculum_name {
    font-size: 24px;
  }
  .curriculum .curriculum_head .curriculum_name em {
    font-size: 38px;
  }
  .curriculum .curriculum_head .curriculum_copy {
    margin-top: 0;
    margin-left: 15px;
    font-size: 18px;
  }
  .curriculum .detail_button {
    padding: 19px 28px;
  }
  .curriculum .detail_button .curriculum_price {
    font-size: 22px;
  }
  .curriculum .detail_button .curriculum_price em {
    font-size: 27px;
  }
  .curriculum .detail_button .curriculum_price span {
    font-size: 14px;
  }
  .curriculum .detail_button .open_close-button {
    padding-right: 35px;
    font-size: 18px;
  }
  .curriculum .detail_button .open_close-button::before {
    content: "カリキュラムの詳細を見る";
    font-size: 18px;
  }
  .curriculum .detail_button .open_close-button::after {
    width: 20px;
    height: 18px;
  }
  .curriculum .curriculum_detail {
    padding: 20px 27px;
  }
  .curriculum .curriculum_detail .curriculum_timetable {
    width: 100%;
  }
  .curriculum .curriculum_detail .curriculum_timetable tr {
    display: table-row;
    grid-template-columns: none;
    grid-template-rows: none;
  }
  .curriculum .curriculum_detail .curriculum_timetable tr + tr {
    margin-top: 0;
  }
  .curriculum .curriculum_detail .curriculum_timetable th,
.curriculum .curriculum_detail .curriculum_timetable td {
    padding: 1em 1.5em;
  }
  .curriculum .curriculum_detail .curriculum_timetable .cell-day {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    -webkit-text-orientation: mixed;
    text-orientation: mixed;
    display: table-cell;
    white-space: nowrap;
    width: 19%;
    font-size: 20px;
    line-height: 1.7;
    align-content: center;
    border-right: 1px solid #ccc;
    grid-row: auto;
    grid-column: auto;
  }
  .curriculum .curriculum_detail .curriculum_timetable .cell-time,
.curriculum .curriculum_detail .curriculum_timetable .cell-data {
    grid-row: auto;
    grid-column: auto;
  }
  .curriculum .curriculum_detail .curriculum_timetable .cell-data {
    width: 49%;
  }
  .curriculum .curriculum_detail .curriculum_data {
    grid-template-columns: 1fr 286px;
    margin-top: 25px;
  }
  .curriculum .curriculum_detail .curriculum_data .curriculum_data_text {
    padding-right: 1em;
  }
  .curriculum.curriculum--kihon {
    margin-top: 50px;
  }
}
.curriculum + .button_wrap {
  margin-bottom: 30px;
}

.course-sangyoyou-robot .curriculum--tanki {
  border-color: #2eb945;
}
.course-sangyoyou-robot .curriculum--tanki .detail_button {
  background-color: #2eb945;
}
.course-sangyoyou-robot .curriculum--kihon {
  border-color: #d37831;
}
.course-sangyoyou-robot .curriculum--kihon .detail_button {
  background-color: #d37831;
}

.course-kyodou-robot .curriculum--tanki {
  border-color: #b34cca;
}
.course-kyodou-robot .curriculum--tanki .detail_button {
  background-color: #b34cca;
}
.course-kyodou-robot .curriculum--kihon {
  border-color: #d4a114;
}
.course-kyodou-robot .curriculum--kihon .detail_button {
  background-color: #d4a114;
}

.reservation-table {
  margin: 80px auto;
  width: 100%;
  max-width: 600px;
}
.reservation-table #sbc-calendar-wrapper,
.reservation-table #sbc-calendar-wrapper * {
  box-sizing: border-box;
}
.reservation-table #sbc-calendar {
  float: none;
  margin: 0;
  width: 100%;
}
.reservation-table #sbc-calendar .sbc-calendar-month {
  float: none;
  margin: 0;
  width: 100%;
}
.reservation-table #sbc-calendar .sbc-calendar-month .sbc-navigation {
  display: flex;
  flex-direction: row-reverse;
  gap: 8px;
}
.reservation-table #sbc-calendar .sbc-calendar-month .sbc-navigation > select {
  padding: 3px !important;
  min-width: 80px;
  font-size: 15px;
}
.reservation-table #sbc-calendar .sbc-calendar-month table {
  width: 100%;
}
.reservation-table #sbc-calendar .sbc-calendar-month table tr th,
.reservation-table #sbc-calendar .sbc-calendar-month table tr td {
  padding: 10px 5px;
  font-size: 14px;
  line-height: 1;
}
.reservation-table #sbc-calendar .sbc-calendar-month table tfoot {
  display: none !important;
}
.reservation-table #sbc-calendar-wrapper .sbc-status-booked {
  background-color: #ffc0bd;
}
.reservation-table #sbc-calendar-wrapper .sbc-status-free {
  background-color: #dfc;
}
.reservation-table #sbc-calendar-wrapper .sbc-status-changeover {
  background-color: #eee;
}
.reservation-table .notes {
  margin-top: 0;
  margin-right: 2px;
  display: flex;
  justify-content: center;
  gap: 10px;
}
.reservation-table .notes p {
  display: flex;
  align-items: center;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1;
  gap: 3px;
}
.reservation-table .notes p .cell-color {
  font-size: 120%;
}
.reservation-table .notes p .cell-color.cell-color--1 {
  color: #ffc0bd;
}
.reservation-table .notes p .cell-color.cell-color--2 {
  color: #dfc;
}
.reservation-table .notes p .cell-color.cell-color--3 {
  color: #eee;
}

.sec-compliance {
  margin-top: 50px;
}
.sec-compliance .compliance_wrap {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
}
.sec-compliance .compliance_wrap .compliance_text {
  margin-bottom: 0;
}
.sec-compliance .compliance_wrap .compliance_photo {
  margin: 0 auto;
  max-width: 300px;
}
@media only screen and (min-width: 768px) {
  .sec-compliance {
    margin-top: 80px;
  }
  .sec-compliance .compliance_wrap {
    grid-template-columns: 1fr 351px;
    gap: 30px;
  }
  .sec-compliance .compliance_wrap .compliance_photo {
    margin: 0;
    max-width: none;
  }
}

.list_disc li {
  line-height: 1.7;
}
.list_disc li strong {
  font-size: 110%;
}

.sec-merit .list_disc .merit-jirei-wrapper {
  margin: 10px 16px 16px;
  display: inline-block;
  font-size: 14px;
  line-height: 1.6;
}
.sec-merit .list_disc .merit-jirei-wrapper .merit-jirei {
  margin-bottom: 0.4em;
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 0 1em;
  font-size: 16px;
  font-weight: bold;
}

.sec-cancel .list_disc {
  margin-bottom: 0;
}

.sec-buttons {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .sec-buttons {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}

.sec-visit_education {
  padding: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 15px;
  background-color: #e8ecf0;
}
.sec-visit_education .visit_education_text h2 {
  font-size: clamp(15px, 2.35vw, 18px);
  font-weight: 700;
  color: #005ba8;
  line-height: 1.4;
  text-align: center;
}
.sec-visit_education .visit_education_text h2 em {
  margin-bottom: 6px;
  display: block;
  font-size: 140%;
  font-weight: 700;
  text-align: center;
  color: #005ba8;
}
.sec-visit_education .button_wrap {
  align-items: stretch;
}
@media only screen and (min-width: 768px) {
  .sec-visit_education {
    padding: 26px 28px;
    flex-direction: row;
    gap: 32px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1025px) {
  .sec-visit_education {
    padding: 26px 46px;
    gap: 45px;
  }
}
@media only screen and (min-width: 768px) {
  .sec-visit_education .visit_education_text h2 {
    font-size: clamp(18px, 1.94vw, 20px);
  }
  .sec-visit_education .visit_education_text h2 em {
    margin-bottom: 10px;
  }
}

.sec-teacher .teacher_wrap {
  display: grid;
  grid-template-columns: 100%;
  gap: 20px;
}
.sec-teacher .teacher_wrap .teacher_data .teacher_name {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .sec-teacher .teacher_wrap .teacher_data .teacher_name {
    font-size: 20px;
  }
}
.sec-teacher .teacher_wrap .teacher_data .teacher_profile {
  margin-bottom: 10px;
}
.sec-teacher .teacher_wrap .teacher_photo {
  margin: 0 auto;
  max-width: 300px;
}
@media only screen and (min-width: 768px) {
  .sec-teacher .teacher_wrap .teacher_photo {
    margin: 0;
    max-width: none;
  }
}
@media only screen and (min-width: 768px) {
  .sec-teacher .teacher_wrap {
    grid-template-columns: 1fr 325px;
    gap: 30px;
  }
}

.subsidy {
  margin-top: 40px;
  border: none;
}
.subsidy .block_title {
  margin-bottom: 0;
  padding: 0.8em 1.25em;
  font-size: 24px;
  text-align: left;
}
.subsidy .block_title p {
  margin-top: 1.5em;
}
.subsidy .subsidy_title {
  margin-bottom: 0 !important;
  font-size: 18px;
  font-weight: 700;
}
@media only screen and (min-width: 768px) {
  .subsidy .subsidy_title {
    font-size: 30px;
  }
}
.subsidy .block_body {
  margin-top: 0;
  border: 1px solid #005ba8;
}
.subsidy .block_body > * {
  margin-top: 0;
}
.subsidy .block_body .wp-block-heading {
  margin-bottom: 0;
}
.subsidy .subsidy_date {
  display: inline-block;
  margin: 1em auto;
  font-size: 16px;
  text-align: center;
}
.subsidy .subsidy_date::after {
  display: block;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #005ba8;
}
@media only screen and (min-width: 768px) {
  .subsidy .subsidy_date {
    font-size: 22px;
  }
}
.subsidy .subsidy_target {
  margin-top: 25px;
  display: block;
}
.subsidy .subsidy_target span {
  display: block;
  padding: 0 10px;
  font-size: 14px;
  font-weight: 700;
  background-color: #e8ecf0;
}
.subsidy .subsidy_target p {
  margin-top: 0;
  margin-bottom: 0;
  padding: 10px;
  font-size: 15px;
  font-weight: 700;
  text-align: left;
  border: 1px solid #e8ecf0;
}
@media only screen and (min-width: 768px) {
  .subsidy .subsidy_target {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .subsidy .subsidy_target span {
    padding: 8px 20px;
    font-size: 18px;
  }
  .subsidy .subsidy_target p {
    padding: 0;
    border: none;
    font-size: 18px;
    text-align: left;
  }
}
.subsidy .subsidy_emphasis {
  margin-top: 20px;
  padding: 10px;
  border: 3px solid #005ba8;
  text-align: left;
}
.subsidy .subsidy_emphasis p {
  margin-bottom: 10px;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 15px;
}
@media only screen and (min-width: 768px) {
  .subsidy .subsidy_emphasis p {
    font-size: 20px;
  }
}
@media only screen and (min-width: 768px) {
  .subsidy .subsidy_emphasis {
    padding: 20px;
  }
}
.subsidy .subsidy_to_contact {
  margin-top: 0;
  font-size: 15px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .subsidy .subsidy_to_contact {
    font-size: 18px;
  }
}
.subsidy .button_wrap {
  margin-top: 15px;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .subsidy {
    margin-top: 80px;
  }
}

.subidy_example {
  margin-top: 20px;
  border: 3px solid #3ca2f6;
  border-radius: 8px;
  overflow: hidden;
}
.subidy_example .subidy_example__title {
  padding: 6px 1em 10px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  background-color: #3ca2f6;
  color: #fff;
}
.subidy_example p {
  margin-top: 0;
  padding: 0.8em 1em;
  font-size: 18px;
  color: #005ba8;
}

.subidy_detail {
  margin-top: 30px !important;
  margin-bottom: 40px;
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 768px) {
  .subidy_detail {
    margin-top: 40px;
    margin-bottom: 40px;
    padding-left: 30px;
    padding-right: 30px;
  }
}

.ippan-list {
  margin-top: 30px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px 0;
}
@media only screen and (min-width: 640px) {
  .ippan-list {
    margin-top: 50px;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 0;
  }
}
@media only screen and (min-width: 768px) {
  .ippan-list .ippan-list__item {
    margin-top: 0;
  }
}
.ippan-list .ippan-list__item .ippan-list-image {
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 640px) {
  .ippan-list .ippan-list__item .ippan-list-image {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.ippan-list .ippan-list__item .ippan-list-text {
  margin-top: 12px;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.7;
  color: #005ba8;
  text-align: center;
}
@media only screen and (min-width: 640px) {
  .ippan-list .ippan-list__item .ippan-list-text {
    padding-left: 10%;
    font-size: 18px;
  }
}

.scroll-table-hint {
  display: block;
  margin-top: 40px;
  font-size: 14px;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .scroll-table-hint {
    display: none;
  }
}

.scroll-table-wrapper {
  width: 100%;
  max-width: 100%;
  overflow-x: scroll;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .scroll-table-wrapper {
    overflow-x: visible;
    position: static;
  }
}

.subsidy-table {
  margin: 4px auto 0;
  width: 100%;
  max-width: 1000px;
  border-collapse: collapse;
}
@media only screen and (min-width: 768px) {
  .subsidy-table {
    margin-top: 30px;
  }
}
.subsidy-table th,
.subsidy-table td {
  padding: 10px 15px;
  border: 1px solid #ddd !important;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  color: #005ba8;
}
.subsidy-table th sup,
.subsidy-table td sup {
  margin-left: 0.5em;
  font-size: 0.7em;
  position: relative;
  top: -0.4em;
}
.subsidy-table th small,
.subsidy-table td small {
  font-size: 0.7em;
}
.subsidy-table th strong,
.subsidy-table td strong {
  display: block;
  font-size: 180%;
  line-height: 1.4;
  color: #005ba8;
}
.subsidy-table th {
  font-size: 14px;
  white-space: nowrap;
  text-align: center !important;
}
@media only screen and (min-width: 768px) {
  .subsidy-table th {
    font-size: 15px;
    white-space: normal;
  }
}
.subsidy-table td {
  font-size: 16px;
  white-space: nowrap;
  text-align: center !important;
}
@media only screen and (min-width: 768px) {
  .subsidy-table td {
    font-size: 18px;
    white-space: normal;
  }
}
.subsidy-table thead th {
  background-color: #f1f4f7;
}

.note-list {
  margin-top: 0.5em;
  font-size: 14px;
  line-height: 1.6;
}
.note-list ul li {
  padding-left: 1.5em;
  position: relative;
}
.note-list ul li::before {
  content: "※";
  font-weight: bold;
  position: absolute;
  left: 0;
}

.tokurei {
  margin-top: 30px;
  padding-bottom: 10px;
  border: 1px solid #005ba8;
}
.tokurei .tokurei-title {
  background-color: #005ba8;
  color: #fff;
  padding: 0.5em 16px;
  font-size: 16px;
}
.tokurei p {
  margin: 10px 0;
  padding-left: 16px;
  padding-right: 16px;
}
.tokurei p small {
  display: block;
  line-height: 1.4;
}

.sec-about {
  margin-bottom: 40px;
}
.sec-about .about_wrap {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  align-items: center;
}
.sec-about .about_wrap .about_photo img {
  width: 100%;
  height: auto;
}
.sec-about .about_wrap .about_data .about_name {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 700;
}
.sec-about .about_wrap .about_data .about_name .about_name_logo1 {
  margin-bottom: 15px;
}
.sec-about .about_wrap .about_data .about_name .about_name_logo1 img {
  width: clamp(180px, 65%, 280px);
  height: auto;
}
.sec-about .about_wrap .about_data .about_name .about_name_logo2 img {
  width: clamp(140px, 50%, 220px);
  height: auto;
}
.sec-about .about_wrap .about_data .separate_list {
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #e8ecf0;
  display: flex;
  justify-content: space-between;
  gap: 1em;
  width: auto;
}
.sec-about .about_wrap .about_data .separate_list .separate_list_text .text_more {
  padding-left: 2em;
}
.sec-about .about_wrap .about_data .separate_list .separate_list_data {
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .sec-about {
    margin-bottom: 80px;
  }
  .sec-about .about_wrap {
    margin-top: 40px;
    grid-template-columns: repeat(2, 50%);
    gap: 40px;
  }
  .sec-about .about_wrap .about_data .about_name {
    font-size: 22px;
  }
  .sec-about .about_wrap .about_data .about_name .about_name_logo1 img {
    width: 69%;
  }
  .sec-about .about_wrap .about_data .about_name .about_name_logo2 img {
    width: 223px;
  }
  .sec-about .about_wrap .about_data .separate_list {
    width: auto;
  }
}

input[type=text],
input[type=password],
textarea,
select {
  outline: none;
}

input[type=text]::-ms-clear,
input[type=password]::-ms-reveal {
  display: none;
}

input[type=button],
input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=submit],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}

.form-area {
  margin-top: 60px;
}
.form-area .wpcf7-form {
  max-width: unset;
}

.contact_section_title {
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: 700;
}

.contact_section {
  margin-bottom: 20px;
  padding: 20px;
  background-color: #f4f7f9;
}
.contact_section .contact_box:last-of-type .contact_label,
.contact_section .contact_box:last-of-type .contact_input {
  padding-bottom: 0;
}

.wpcf7-form input.input-s {
  width: 35%;
}
.wpcf7-form .wpcf7-submit {
  background-color: #005ba8;
  border: none;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 15px;
  padding: 15px 30px 21px;
  margin: 0 auto 20px;
  width: 80%;
  box-shadow: 0 -6px 0 rgba(0, 0, 0, 0.2) inset;
}
.wpcf7-form .wpcf7-submit:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}
@media only screen and (min-width: 768px) {
  .wpcf7-form .wpcf7-submit {
    border-radius: 5px;
    box-shadow: none;
    font-size: 16px;
    padding: 10px 20px;
    width: auto;
  }
}

.submit_attention {
  margin-top: 30px;
  text-align: center;
}

.list01 .list01__item {
  margin-top: 10px;
  padding: 0.5em 1.2em;
  background-color: #fff;
  border: 1px solid rgba(51, 51, 51, 0.65);
  border-radius: 3px;
  font-size: 1.6rem;
  line-height: 1.4;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
.list01 .list01__item::before {
  content: "";
  flex: 0 0 26px;
  height: 26px;
  background-image: url(assets/images/common/icon-chceck.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 100%;
  margin-right: 14px;
}
@media only screen and (min-width: 768px) {
  .list01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 25px;
  }
  .list01 .list01__item {
    margin-top: 0;
    padding: 0.5em 1.8em;
    border-radius: 5px;
    height: 60px;
    font-size: 2.5rem;
    line-height: 1.3;
    white-space: nowrap;
  }
}

.title01 {
  padding-bottom: 12px;
  margin: 0 auto;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  position: relative;
}
.title01::before {
  content: "";
  width: 42px;
  height: 5px;
  background-color: #2c3692;
  position: absolute;
  left: calc(50% - 21px);
  bottom: 0;
}
@media only screen and (min-width: 768px) {
  .title01 {
    padding-bottom: 24px;
    font-size: 4rem;
  }
  .title01::before {
    width: 66px;
    height: 8px;
    left: calc(50% - 33px);
  }
}

.title02 {
  padding: 0 0 10px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  position: relative;
}
.title02::before, .title02::after {
  content: "";
  height: 4px;
  position: absolute;
  bottom: 0;
}
.title02::before {
  background-color: #ffe033;
  width: 22%;
  left: 0;
}
.title02::after {
  background-color: #2c3692;
  width: 78%;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .title02 {
    padding-bottom: 18px;
    font-size: 3rem;
    line-height: 1.5;
  }
  .title02::before {
    width: 186px;
  }
  .title02::after {
    width: calc(100% - 186px);
  }
}

.title03 {
  padding-bottom: 5px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  border-bottom: 3px solid #2c3692;
}
@media only screen and (min-width: 768px) {
  .title03 {
    padding-bottom: 8px;
    font-size: 2.4rem;
  }
}

.title04 {
  padding-bottom: 5px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  border-bottom: 3px solid #2c3692;
}
@media only screen and (min-width: 768px) {
  .title04 {
    padding-bottom: 8px;
    font-size: 2.6rem;
    border-bottom-width: 4px;
  }
}

.title05 {
  display: inline-block;
  padding: 0 0.25em 15px;
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  position: relative;
}
.title05::before, .title05::after {
  content: "";
  width: 50%;
  height: 4px;
  position: absolute;
  bottom: 0;
}
.title05::before {
  background-color: #ffe033;
  left: 0;
}
.title05::after {
  background-color: #2c3692;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .title05 {
    padding-bottom: 18px;
    font-size: 2.6rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
}

.sub-title01 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.64;
}
@media only screen and (min-width: 768px) {
  .sub-title01 {
    font-size: 2.6rem;
    line-height: 1.75;
  }
}

.site-header:has(.page-in-recruite) {
  padding-left: 12px;
  padding-right: 60px;
  height: 60px;
  background-color: transparent;
  box-shadow: none;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) {
    padding-left: 0;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) {
    padding-left: 0;
    padding-right: 96px;
    height: 96px;
  }
}
.site-header:has(.page-in-recruite).is-fixed {
  background-color: white;
}
.site-header:has(.page-in-recruite) .site-header__inner {
  justify-content: flex-end;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .site-header__inner {
    justify-content: flex-start;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .site-header__inner {
    gap: 0;
  }
}
.site-header:has(.page-in-recruite) .header-logo-and-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .header-logo-and-title {
    order: 2;
    margin-right: auto;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .header-logo-and-title {
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
}
.site-header:has(.page-in-recruite) .header-logo-and-title .header-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  color: #000000;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .header-logo-and-title .header-title {
    font-size: 1.125rem;
  }
}
.site-header:has(.page-in-recruite) .header-logo {
  width: 179px;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .header-logo {
    width: 200px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .header-logo {
    width: 272px;
  }
}
.site-header:has(.page-in-recruite) .main-nav-wrapper.wp-block-navigation {
  width: auto;
}
.site-header:has(.page-in-recruite) .logo-80th-block {
  flex-shrink: 0;
  flex-grow: 0;
  margin-top: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 60px;
  height: 60px;
  background-color: #fff;
  background-color: var(--color-base-blue-gray, #e4eef7);
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .logo-80th-block {
    order: 1;
    margin-left: 0;
    margin-right: 16px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .logo-80th-block {
    margin-right: 32px;
    width: 96px;
    height: 96px;
  }
}
.site-header:has(.page-in-recruite) .logo-80th {
  pointer-events: auto;
  width: clamp(54px, 14.4vw, 99px);
  position: relative;
  top: auto;
  right: auto;
  width: 35px;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .logo-80th {
    width: 64px;
  }
}

.link-to-entry {
  display: none !important;
}
@media only screen and (min-width: 782px) {
  .link-to-entry {
    display: block !important;
    order: 3;
    display: flex;
    align-items: stretch;
    height: 100%;
  }
  .link-to-entry .wp-block-button {
    height: 100%;
  }
  .link-to-entry .wp-block-button .wp-block-button__link {
    padding: 10px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    line-height: 1;
    border: none;
    border-radius: 0;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .link-to-entry .wp-block-button .wp-block-button__link {
    padding-left: 48px;
    padding-right: 48px;
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 782px) {
  .link-to-entry .wp-block-button .wp-block-button__link:link, .link-to-entry .wp-block-button .wp-block-button__link:visited {
    background-color: #005bac;
    color: #fff;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content {
  padding-bottom: 140px;
  background-color: var(--color-base-brand-dark, #005bac);
  top: 0;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content {
    padding: 80px 0 100px;
    display: block;
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content {
    padding: 120px 0 0;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
  padding: 0;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    margin-left: auto;
    margin-right: auto;
    width: auto;
    width: calc(100% - 16vw);
    max-width: 1200px;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
    gap: 60px !important;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    gap: 40px clamp(30px, 9vw, 100px) !important;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item {
  padding: 30px 24px 24px;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item {
    margin-right: 0;
    padding: 0;
    width: auto;
    gap: 8px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1200px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item {
    margin-right: 0;
    gap: 0;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item:not(:last-of-type) {
  border-bottom-color: rgba(23, 81, 130, 0.8);
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item:not(:last-of-type) {
    border-bottom: none;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label {
  font-size: 1.125rem;
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label > a {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  white-space: nowrap;
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label > a::before {
  content: "ABOUT";
  font-family: "Inter", sans-serif;
  font-weight: 900;
  font-size: 0.6875rem;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #60b3f9;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label > a::before {
    font-size: 0.75rem;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label > a span {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label > a span {
    font-size: 2.25rem;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--about > a::before {
  content: "ABOUT DENSEN";
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--people > a::before {
  content: "PEOPLE & WORK";
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--life > a::before {
  content: "LIFE AT DENSEN";
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--info > a::before {
  content: "RECRUIT INFO";
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--faq > a::before {
  content: "Q&A";
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--entry > a::before {
  content: "ENTRY FORM";
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--entry {
    width: 100%;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--entry {
    margin-top: 40px;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--entry .wp-block-navigation__submenu-container {
    margin-top: 20px;
    display: flex;
    flex-direction: row !important;
    gap: 24px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item.link-group-label.--entry .wp-block-navigation__submenu-container {
    margin-top: 30px;
    gap: 32px;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content {
  padding: 0;
  width: auto;
  color: rgba(255, 255, 255, 0.8);
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content {
    height: auto;
    font-size: 1.125rem;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:hover .wp-block-navigation-item__label, .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation-item__content:active .wp-block-navigation-item__label {
  color: #60b3f9;
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-icon {
  display: none !important;
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
  margin-top: 14px;
  padding: 0;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  display: flex !important;
  flex-direction: column !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  transform: none !important;
  height: auto !important;
  pointer-events: auto !important;
  transition: none !important;
  gap: 0;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0;
    border-radius: 0;
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    overflow: visible;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    margin-top: 20px;
  }
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu::before {
    content: none;
  }
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu::after {
    content: none;
  }
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item {
    min-width: unset;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
  padding: 0;
  font-size: 1.125rem;
  color: rgba(255, 255, 255, 0.8);
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
    font-size: 1rem;
    font-weight: 400;
  }
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:hover, .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content:active {
    text-decoration: none;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-default {
  padding: 8px 0 8px 28px;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-default {
    padding: 8px 0;
    gap: 8px;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-default::after {
  flex-shrink: 0;
  flex-grow: 0;
  content: "";
  width: 28px;
  height: 28px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-image: url(../assets/images/common/ico-arrow-right1-white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 44%;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-default::after {
    width: 16px;
    height: 16px;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button {
  margin-top: 10px;
  margin-bottom: 6px;
  padding: 0;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button {
    flex: 1 1 calc(33.3333333333% - 24px);
    margin-top: 0;
    margin-bottom: 0;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button .wp-block-navigation-item__content {
  padding: 22px 30px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 1.375rem;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button .wp-block-navigation-item__content {
    max-width: 350px;
    padding: 30px;
    font-size: 1.5rem;
    white-space: nowrap;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button .wp-block-navigation-item__content::after {
  flex-shrink: 0;
  flex-grow: 0;
  content: "";
  width: 28px;
  height: 28px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-image: url(../assets/images/common/ico-arrow-right1-white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 44%;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button .wp-block-navigation-item__content::after {
    width: 37px;
    height: 37px;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button .wp-block-navigation-item__content:hover, .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button .wp-block-navigation-item__content:active {
  opacity: 1;
  background-color: #60b3f9;
  border-color: #60b3f9;
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button .wp-block-navigation-item__content:hover .wp-block-navigation-item__label, .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-item-button .wp-block-navigation-item__content:active .wp-block-navigation-item__label {
  color: white;
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-other {
  padding-top: 2em;
  padding-bottom: 0;
  border-bottom: none;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item.link-other {
    margin-top: 0;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation__submenu-icon {
  display: none;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    padding: 0;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item {
    padding: 0;
    max-width: unset;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
  gap: 0;
}
@media only screen and (min-width: 782px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content {
    padding-left: 0;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-content .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation__submenu-container.wp-block-navigation-submenu .wp-block-navigation-item .wp-block-navigation-item__content::before {
  content: none;
}

.site-header:has(.page-in-recruite) .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open,
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  z-index: 1;
}
.site-header:has(.page-in-recruite) .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open::before,
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::before {
  content: none;
}

.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-open {
  width: 60px;
  height: 60px;
  right: 0;
  top: 0;
  background-color: var(--color-base-brand-dark, #005bac);
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-open {
    width: 96px;
    height: 96px;
  }
}
.site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-close {
  width: 60px;
  height: 60px;
  background-color: #fff;
  right: 0;
  top: 0;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .wp-block-navigation__responsive-container-close {
    width: 96px;
    height: 96px;
  }
}
.site-header:has(.page-in-recruite) .button-menu {
  width: 60px;
  height: 60px;
  gap: 4px;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .button-menu {
    width: 96px;
    height: 96px;
    gap: 7px;
  }
}
.site-header:has(.page-in-recruite) .button-menu .line {
  width: 22px;
  height: 2px;
  background-color: #fff;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .button-menu .line {
    width: 34px;
  }
}
.site-header:has(.page-in-recruite) .button-menu::before {
  width: 22px;
  height: 2px;
  background-color: #fff;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .button-menu::before {
    width: 34px;
  }
}
.site-header:has(.page-in-recruite) .button-menu::after {
  content: "";
  width: 22px;
  height: 2px;
  background-color: #fff;
}
@media only screen and (min-width: 1025px) {
  .site-header:has(.page-in-recruite) .button-menu::after {
    width: 34px;
  }
}
.site-header:has(.page-in-recruite) .button-menu.is-open {
  gap: 0;
}
.site-header:has(.page-in-recruite) .button-menu.is-open .line {
  background-color: var(--color-base-brand-dark, #005bac);
  transform: rotate(45deg);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.site-header:has(.page-in-recruite) .button-menu.is-open::before {
  background-color: var(--color-base-brand-dark, #005bac);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.site-header:has(.page-in-recruite) .button-menu.is-open::after {
  content: none;
}

.recruiting-sites-link-group {
  padding: 32px clamp(12px, 4.27vw, 32px);
  border-bottom: 1px solid #000;
}
@media only screen and (min-width: 782px) {
  .recruiting-sites-link-group {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}
.recruiting-sites-link-group .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
@media only screen and (min-width: 782px) {
  .recruiting-sites-link-group .inner {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 24px 40px;
  }
}
.recruiting-sites-link-group .link-banner {
  margin-top: 0;
  display: block;
  width: 180px;
}
@media only screen and (min-width: 782px) {
  .recruiting-sites-link-group .link-banner {
    width: 250px;
  }
}

.site-footer:has(.page-in-recruite) {
  padding-top: 32px;
}
@media only screen and (min-width: 782px) {
  .site-footer:has(.page-in-recruite) .site-footer__inner {
    gap: 32px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .site-footer:has(.page-in-recruite) .site-footer__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.site-footer:has(.page-in-recruite) .company-info {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 782px) {
  .site-footer:has(.page-in-recruite) .company-info {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 782px) {
  .site-footer:has(.page-in-recruite) .company-info .footer-logo-and-title {
    display: flex;
    align-items: center;
    gap: 16px;
  }
}
.site-footer:has(.page-in-recruite) .company-info .footer-logo-and-title .item-logo {
  width: 181px;
}
@media only screen and (min-width: 782px) {
  .site-footer:has(.page-in-recruite) .company-info .footer-logo-and-title .item-logo {
    width: 214px;
  }
}
.site-footer:has(.page-in-recruite) .company-info .footer-logo-and-title .item-title {
  margin-top: 8px;
  text-align: center;
}
@media only screen and (min-width: 782px) {
  .site-footer:has(.page-in-recruite) .company-info .footer-logo-and-title .item-title {
    margin-top: 0;
  }
}
.site-footer:has(.page-in-recruite) .company-info .footer-link {
  margin-block: 24px;
  gap: 16px;
}
@media only screen and (min-width: 782px) {
  .site-footer:has(.page-in-recruite) .company-info .footer-link {
    margin-block: 0;
  }
}
.site-footer:has(.page-in-recruite) .company-info .footer-link > *:not(:first-child) {
  display: flex;
  align-items: center;
  gap: 16px;
}
.site-footer:has(.page-in-recruite) .company-info .footer-link > *:not(:first-child) > * {
  flex: 0 0 20px;
}
.site-footer:has(.page-in-recruite) .company-info .footer-link > *:not(:first-child)::before {
  content: "";
  width: 1px;
  height: 1em;
  background-color: #999999;
}
.site-footer:has(.page-in-recruite) .copy-right {
  order: 4;
  margin-top: 0;
  font-size: 0.6875rem;
  line-height: 1;
  text-align: center;
}
@media only screen and (min-width: 782px) {
  .site-footer:has(.page-in-recruite) .copy-right {
    text-align: right;
  }
}

.page-header-recruit {
  margin-top: 0;
  padding-block: 48px;
  padding-inline: clamp(12px, 4.27vw, 32px);
}
@media only screen and (min-width: 782px) {
  .page-header-recruit {
    padding-block: 80px 100px;
  }
}
.page-header-recruit .inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 20px;
}
@media only screen and (min-width: 782px) {
  .page-header-recruit .inner {
    gap: 48px;
  }
}
.page-header-recruit .page-title-group .page-sub-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem;
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.025em;
  line-height: 1;
  white-space: nowrap;
  color: #005bac;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .page-header-recruit .page-title-group .page-sub-title {
    padding-left: 3px;
    font-size: 1rem;
    gap: 16px;
  }
}
.page-header-recruit .page-title-group .page-sub-title::after {
  content: "";
  width: 41%;
  height: 1px;
  background-color: #005bac;
}
@media only screen and (min-width: 782px) {
  .page-header-recruit .page-title-group .page-sub-title::after {
    width: 210px;
  }
}
.page-header-recruit .page-title-group .page-title {
  margin-top: 5px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  color: #002d53;
}
@media only screen and (min-width: 782px) {
  .page-header-recruit .page-title-group .page-title {
    margin-top: 10px;
    gap: 18px;
    font-size: 3.25rem;
  }
}
.page-header-recruit .page-title-group .page-title-text {
  margin-top: 10px;
}
@media only screen and (min-width: 782px) {
  .page-header-recruit .page-title-group .page-title-text {
    font-size: 1.125rem;
  }
}

.site-main-recruit .wp-block-heading {
  color: #002d53;
}

.title-set-en-label {
  gap: 3px;
}
.title-set-en-label:not(.is-content-justification-center) .title-label {
  padding-left: 0.3em;
}
.title-set-en-label .title-label {
  font-family: "Inter", sans-serif;
  font-size: 0.8125rem;
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.025em;
  line-height: 1;
  white-space: nowrap;
  color: #005bac;
}
.title-set-en-label .item-title {
  margin-top: 0;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  color: #002d53;
}
@media only screen and (min-width: 782px) {
  .title-set-en-label .item-title {
    font-size: 2.5rem;
  }
}
.title-set-en-label .item-title a {
  color: #002d53;
  text-decoration: none;
}
.title-set-en-label .item-title a:hover, .title-set-en-label .item-title a:active {
  opacity: 1;
  color: #005bac;
}
.title-set-en-label .item-text {
  margin-top: 0.2em;
  line-height: 1.5;
}
.title-set-en-label.size-large {
  width: 100%;
  gap: 6px;
}
.title-set-en-label.size-large .title-label {
  font-size: 1rem;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .title-set-en-label.size-large .title-label {
    gap: 16px;
  }
}
.title-set-en-label.size-large .title-label::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #005bac;
}
.title-set-en-label.size-large .item-title {
  font-size: 2rem;
}
@media only screen and (min-width: 782px) {
  .title-set-en-label.size-large .item-title {
    font-size: 3.25rem;
  }
}
@media only screen and (min-width: 782px) {
  .title-set-en-label.size-large .item-text {
    line-height: 1.7;
  }
}
.title-set-en-label.color-white .title-label {
  color: #60b3f9;
}
.title-set-en-label.color-white .item-title {
  color: #fff;
}

.title-1-r {
  margin-bottom: 0;
  margin-bottom: 0.75em;
  padding-bottom: 0.27em;
  font-size: clamp(24px, calc(0.7511737089vw + 21.1830985915px), 32px);
  border-bottom: 4px solid #002d53;
}

.title-2-r {
  margin-top: 1em;
  margin-bottom: 0;
  font-size: clamp(20px, calc(0.3755868545vw + 18.5915492958px), 24px);
}

.title-3-r {
  margin-bottom: 0.75em;
  font-size: clamp(24px, calc(0.7511737089vw + 21.1830985915px), 32px);
}

.link-item-arrow-right a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--color-base-black, #000);
  line-height: 1.5;
}
.link-item-arrow-right a::after {
  flex-shrink: 0;
  flex-grow: 0;
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background-color: #000;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  position: relative;
  top: 1px;
}
@media only screen and (min-width: 782px) {
  .link-item-arrow-right a::after {
    top: 2px;
  }
}
.link-item-arrow-right a:link, .link-item-arrow-right a:visited {
  color: var(--color-base-black, #000);
  text-decoration: none;
}
.link-item-arrow-right a:hover, .link-item-arrow-right a:active {
  opacity: 1;
  color: #002d53;
}
.link-item-arrow-right a:hover::after, .link-item-arrow-right a:active::after {
  background-color: #002d53;
}
.link-item-arrow-right.size-large a {
  gap: 12px;
  font-size: 1.25rem;
}
@media only screen and (min-width: 782px) {
  .link-item-arrow-right.size-large a {
    gap: 14px;
    font-size: 1.5rem;
  }
}
.link-item-arrow-right.size-large a::after {
  width: 25px;
  height: 25px;
}
@media only screen and (min-width: 782px) {
  .link-item-arrow-right.size-large a::after {
    width: 37px;
    height: 37px;
  }
}

.wp-block-button.is-recruit .wp-block-button__link {
  padding: 16px;
  border: 1px solid #002d53;
  color: #002d53;
  gap: 10px;
}
@media only screen and (min-width: 782px) {
  .wp-block-button.is-recruit .wp-block-button__link {
    padding: 28px 40px;
    padding: var(--space-400, 18px) var(--space-500, 24px);
    font-size: 1.25rem;
    gap: 12px;
  }
}
.wp-block-button.is-recruit .wp-block-button__link::after {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background-color: #002d53;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  position: relative;
  top: 1px;
}
@media only screen and (min-width: 782px) {
  .wp-block-button.is-recruit .wp-block-button__link::after {
    width: 27px;
    height: 27px;
    top: 2px;
  }
}
.wp-block-button.is-recruit .wp-block-button__link:hover, .wp-block-button.is-recruit .wp-block-button__link:active {
  background-color: #0062a7;
  border-color: #0062a7;
  color: #fff;
}
.wp-block-button.is-recruit .wp-block-button__link:hover::after, .wp-block-button.is-recruit .wp-block-button__link:active::after {
  background-color: #fff;
}
.wp-block-button.button-arrow-right .wp-block-button__link {
  padding: 16px 24px;
  background-color: transparent;
  border: 1px solid var(--color-base-black, #000);
  width: auto;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 1.25rem;
}
@media only screen and (min-width: 1025px) {
  .wp-block-button.button-arrow-right .wp-block-button__link {
    padding: 28px 40px;
    font-size: 1.5rem;
  }
}
.wp-block-button.button-arrow-right .wp-block-button__link::after {
  flex-shrink: 0;
  flex-grow: 0;
  content: "";
  width: 25px;
  height: 25px;
  background-color: #fff;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
}
@media only screen and (min-width: 1025px) {
  .wp-block-button.button-arrow-right .wp-block-button__link::after {
    width: 33px;
    height: 33px;
  }
}
.wp-block-button.button-arrow-right .wp-block-button__link:hover, .wp-block-button.button-arrow-right .wp-block-button__link:active {
  background-color: #002d53;
  border-color: #002d53;
  color: #002d53;
}
.wp-block-button.button-arrow-right .wp-block-button__link:hover::after, .wp-block-button.button-arrow-right .wp-block-button__link:active::after {
  background-color: #002d53;
}
.wp-block-button.button-arrow-right.color-white .wp-block-button__link {
  background-color: #002d53;
  border-color: rgba(255, 255, 255, 0.8);
  color: #fff;
}
.wp-block-button.button-arrow-right.color-white .wp-block-button__link:hover, .wp-block-button.button-arrow-right.color-white .wp-block-button__link:active {
  background-color: var(--color-white, #60b3f9);
  border-color: var(--color-white, #60b3f9);
  color: #fff;
}
.wp-block-button.button-arrow-right.color-white .wp-block-button__link:hover::after, .wp-block-button.button-arrow-right.color-white .wp-block-button__link:active::after {
  background-color: #fff;
}

.site-main-recruit .wp-block-list {
  margin: 1.5em 0;
  padding-left: 1.5em;
}
.site-main-recruit .wp-block-list li {
  line-height: 1.5;
}
.site-main-recruit .wp-block-list li:not(:last-child) {
  margin-bottom: 0.5em;
}
@media only screen and (min-width: 1025px) {
  .site-main-recruit .wp-block-list li:not(:last-child) {
    margin-bottom: 0.5em;
  }
}
.site-main-recruit .list-bordered {
  list-style: none;
  margin: 1rem 0;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.site-main-recruit .list-bordered li {
  display: flex;
  padding: var(--space-200, 8px) var(--space-500, 24px);
  justify-content: center;
  align-items: center;
  gap: 10px;
  border: 1px solid #005bac;
  font-size: clamp(16px, calc(0.3755868545vw + 14.5915492958px), 20px);
}
.site-main-recruit .list-bordered li:not(:last-child) {
  margin-bottom: 0;
}
.site-main-recruit .list-disc {
  padding-left: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
}
.site-main-recruit .list-disc li {
  list-style: none;
  padding-left: 24px;
  position: relative;
}
.site-main-recruit .list-disc li::before {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #005bac;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.5em;
}
.site-main-recruit .list-check_mark {
  padding-left: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  align-self: stretch;
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .list-check_mark {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
}
.site-main-recruit .list-check_mark li {
  margin-bottom: 0;
  padding: 5px 23px 7px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: 999px;
  background-color: var(--Brand-BrightBlue, #0091f7);
  font-size: 1.125rem;
  line-height: 1.5;
  color: #fff;
}
.site-main-recruit .list-check_mark li::before {
  flex-shrink: 0;
  flex-grow: 0;
  content: "";
  width: 13px;
  height: 10px;
  background-color: #fdf224;
  -webkit-mask-image: url(../assets/images/common/ico-check.svg);
  mask-image: url(../assets/images/common/ico-check.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
}
.site-main-recruit .list-check_mark.list-check_mark--02 li {
  background-color: var(--wp--preset--color--brand-primary);
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .list-check_mark.list-check_mark--03 {
    margin-inline: auto;
    flex-direction: column;
    gap: 18px;
  }
}
.site-main-recruit .list-check_mark.list-check_mark--03 li {
  padding: 8px 16px;
  background-color: var(--wp--preset--color--brand-primary);
  border-radius: 8px;
  gap: 12px;
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .list-check_mark.list-check_mark--03 li {
    padding: 16px 26px 16px 20px;
    border-radius: 12px;
    gap: 20px;
    font-size: 1.375rem;
  }
}
.site-main-recruit .list-check_mark.list-check_mark--03 li::before {
  width: 20px;
  height: 20px;
  background-color: transparent;
  background-image: url(../assets/images/common/ico-check-box.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  -webkit-mask-image: none;
  mask-image: none;
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .list-check_mark.list-check_mark--03 li::before {
    width: 30px;
    height: 30px;
  }
}
.site-main-recruit .anchor-link-nav {
  padding: var(--space-500, 24px) var(--space-400, 16px);
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 12px var(--space-300, 12px);
  flex-wrap: wrap;
  background: var(--color-gray-100, #f5f5f5);
}
.site-main-recruit .anchor-link-nav .wp-block-button__link {
  padding: 4px 16px 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  background-color: #fff;
  border: 1px solid var(--color-gray-400, #dfdfdf);
  font-size: 0.875rem;
  color: var(--color-black, #000);
  line-height: 1.5;
  white-space: nowrap;
  transition: all 0.15s;
}
@media only screen and (min-width: 1025px) {
  .site-main-recruit .anchor-link-nav .wp-block-button__link {
    font-size: 0.9375rem;
  }
}
.site-main-recruit .anchor-link-nav .wp-block-button__link::after {
  content: "";
  width: 11px;
  height: 5px;
  background-color: #005bac;
  -webkit-mask-image: url(../assets/images/common/ico-arrow1.png);
  mask-image: url(../assets/images/common/ico-arrow1.png);
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.site-main-recruit .anchor-link-nav .wp-block-button__link:link, .site-main-recruit .anchor-link-nav .wp-block-button__link:visited {
  color: var(--color-base-black, #000);
  text-decoration: none;
}
.site-main-recruit .anchor-link-nav .wp-block-button__link:hover, .site-main-recruit .anchor-link-nav .wp-block-button__link:active {
  opacity: 1;
  background-color: #60b3f9;
  border-color: #60b3f9;
}
.site-main-recruit .maker-list + .maker-list {
  margin-top: 40px;
}
.site-main-recruit .maker-list .maker-list__title {
  margin-bottom: 0;
  padding: 10px;
  background-color: var(--wp--preset--color--brand-primary);
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  line-height: 1;
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .maker-list .maker-list__title {
    scroll-margin-top: 150px !important;
  }
}
.site-main-recruit .maker-list .maker {
  list-style: none;
  margin-top: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 0;
  border-left: 1px solid var(--Base-gray5, #ccc);
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .maker-list .maker {
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  }
}
.site-main-recruit .maker-list .maker li {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: stretch;
  border-right: 1px solid var(--Base-gray5, #ccc);
  border-bottom: 1px solid var(--Base-gray5, #ccc);
  line-height: 1.4;
}
.site-main-recruit .maker-list .maker li a {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  width: 100%;
  height: auto;
  font-size: 14px;
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .maker-list .maker li a {
    font-size: 16px;
  }
}
.site-main-recruit .maker-list .maker li a:link, .site-main-recruit .maker-list .maker li a:visited {
  background-color: #fff;
  color: rgba(var(--wp--preset--color--brand-primary), 1);
  text-decoration: none;
}
.site-main-recruit .maker-list .maker li a:hover, .site-main-recruit .maker-list .maker li a:active {
  opacity: 1;
  background-color: #60b3f9;
  color: #fff;
}
.site-main-recruit .maker-list .maker li a:hover::after, .site-main-recruit .maker-list .maker li a:active::after {
  background-color: #fff;
}
.site-main-recruit .maker-list .maker.--gyo {
  margin-top: 25px;
}
.site-main-recruit .maker-list .maker .gyo-block {
  display: contents;
}
.site-main-recruit .maker-list .maker .gyo {
  grid-row: 1/2;
  grid-column: 1/-1;
  margin: 0;
  padding: 5px 10px;
  display: flex;
  align-items: center;
  border-right: 1px solid var(--Base-gray5, #ccc);
  border-top: 1px solid var(--Base-gray5, #ccc);
  border-bottom: 1px solid var(--Base-gray5, #ccc);
  background-color: #e2edf5;
  font-size: 14px;
  font-weight: bold;
}
.site-main-recruit .category-label-link {
  margin-block: 40px 24px;
  gap: var(--space-300, 12px);
}
.site-main-recruit .post-list .wp-block-post {
  margin-top: 0;
  padding: 16px 4px;
  border-bottom: 1px solid var(--color-gray-400, #dfdfdf);
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .post-list .wp-block-post {
    padding: 14px 4px;
    display: flex;
    align-items: center;
    gap: 16px;
  }
}
.site-main-recruit .post-list .wp-block-post .post-meta-group {
  gap: 16px;
}
.site-main-recruit .post-list .wp-block-post .taxonomy-category {
  font-size: 0.75rem;
  line-height: 1;
}
.site-main-recruit .post-list .wp-block-post .taxonomy-category a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 3px 10px 4px;
  min-width: 95px;
  background-color: var(--wp--preset--color--brand-primary);
  color: #fff;
}
.site-main-recruit .post-list .wp-block-post .taxonomy-category a:link, .site-main-recruit .post-list .wp-block-post .taxonomy-category a:visited {
  text-decoration: none;
}
.site-main-recruit .post-list .wp-block-post .taxonomy-category a:hover, .site-main-recruit .post-list .wp-block-post .taxonomy-category a:active {
  opacity: 0.8;
}
.site-main-recruit .post-list .wp-block-post .wp-block-post-title {
  margin-top: 0.5em;
  font-size: 1rem;
  font-weight: 400;
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .post-list .wp-block-post .wp-block-post-title {
    margin-top: 0;
  }
}
.site-main-recruit .post-list .wp-block-post .wp-block-post-title a:link, .site-main-recruit .post-list .wp-block-post .wp-block-post-title a:visited {
  color: var(--wp--preset--color--site-text);
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .post-list.--type2 .wp-block-post .post-meta-group {
    align-self: stretch;
    gap: 16px;
  }
  .site-main-recruit .post-list.--type2 .wp-block-post .post-meta-group::after {
    content: "";
    width: 1px;
    height: 100%;
    background-color: var(--color-gray-400, #dfdfdf);
  }
}
.site-main-recruit .wp-block-query-pagination {
  margin-top: 50px;
  justify-content: center;
  gap: 1.5em;
  font-size: 0.875rem;
  line-height: 1;
  color: #2a2a2a;
}
@media only screen and (min-width: 782px) {
  .site-main-recruit .wp-block-query-pagination {
    margin-top: 100px;
    font-size: 1.5625rem;
  }
}
.site-main-recruit .wp-block-query-pagination .wp-block-query-pagination-numbers {
  display: flex;
  align-items: center;
  gap: 0;
}
.site-main-recruit .wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers:not(:last-child):after {
  content: "/";
  font-size: 80%;
  margin: 0 1.5em;
}
.contents-title-set {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0;
}
@media only screen and (min-width: 782px) {
  .contents-title-set {
    display: inline-flex;
    flex-direction: column;
  }
}
.contents-title-set .link-item-arrow-right {
  margin-top: 8px;
}
.contents-title-set .link-item-arrow-right:first-of-type {
  margin-top: 16px;
}
.contents-title-set.size-large {
  flex-direction: column;
}
@media only screen and (min-width: 782px) {
  .contents-title-set.size-large {
    display: flex;
  }
}
@media only screen and (min-width: 782px) {
  .contents-title-set.size-large .link-item-arrow-right {
    margin-top: 12px;
  }
  .contents-title-set.size-large .link-item-arrow-right:first-of-type {
    margin-top: 24px;
  }
}

.cta-entry {
  padding: 40px clamp(12px, 4.27vw, 32px);
  background: #002d53;
}
@media only screen and (min-width: 1025px) {
  .cta-entry {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
.cta-entry .inner {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cta-entry .wp-block-buttons {
  margin-top: 36px;
  align-items: stretch;
}
@media only screen and (min-width: 782px) {
  .cta-entry .wp-block-buttons {
    margin-top: 48px;
    flex-direction: row;
    gap: 32px;
    width: 100%;
  }
}
.cta-entry .wp-block-buttons .button-arrow-right {
  width: 100%;
}
@media only screen and (min-width: 782px) {
  .cta-entry .wp-block-buttons .button-arrow-right {
    width: auto;
  }
}

.recruit-banner-group {
  padding: 40px clamp(12px, 4.27vw, 32px);
  background: var(--wp--preset--color--brand-primary);
}
@media only screen and (min-width: 782px) {
  .recruit-banner-group {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.recruit-banner-group .inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media only screen and (min-width: 782px) {
  .recruit-banner-group .inner {
    flex-direction: row;
    gap: 32px;
  }
}
.recruit-banner-group .banner-recruit-info {
  margin-top: 0;
  border-radius: var(--space-200, 8px);
  overflow: hidden;
  position: relative;
}
.recruit-banner-group .banner-recruit-info .item-image {
  aspect-ratio: 532/217;
  width: 100%;
  height: 100%;
  position: relative;
}
.recruit-banner-group .banner-recruit-info .item-image::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  pointer-events: none;
}
.recruit-banner-group .banner-recruit-info .item-image a {
  display: block;
  width: 100%;
  height: 100%;
}
.recruit-banner-group .banner-recruit-info .item-image a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.recruit-banner-group .banner-recruit-info .item-image a::after {
  flex-shrink: 0;
  flex-grow: 0;
  content: "";
  width: 24px;
  height: 24px;
  background-color: #fff;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  position: absolute;
  right: 15px;
  bottom: 15px;
  z-index: 1;
}
@media only screen and (min-width: 782px) {
  .recruit-banner-group .banner-recruit-info .item-image a::after {
    width: 28px;
    height: 28px;
    right: 23px;
    bottom: 20px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .recruit-banner-group .banner-recruit-info .item-image a::after {
    width: 37px;
    height: 37px;
    bottom: 20px;
  }
}
.recruit-banner-group .banner-recruit-info .title-set-en-label {
  padding: 0 15px 10px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  gap: 4px;
  pointer-events: none;
}
@media only screen and (min-width: 782px) {
  .recruit-banner-group .banner-recruit-info .title-set-en-label {
    padding: 0 25px 20px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .recruit-banner-group .banner-recruit-info .title-set-en-label {
    gap: 6px;
  }
}
.recruit-banner-group .banner-recruit-info .title-set-en-label .title-label {
  font-family: "Inter", sans-serif;
  font-weight: 900;
  padding-left: 0.1em;
  font-size: 0.6875rem;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .recruit-banner-group .banner-recruit-info .title-set-en-label .title-label {
    font-size: 0.9375rem;
  }
}
.recruit-banner-group .banner-recruit-info .title-set-en-label .title-label::after {
  background-color: #fff;
}
.recruit-banner-group .banner-recruit-info .title-set-en-label .item-title {
  font-size: 1.5rem;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  .recruit-banner-group .banner-recruit-info .title-set-en-label .item-title {
    font-size: 2rem;
  }
}

.sec.is-recruit-top-latest {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media only screen and (min-width: 782px) {
  .sec.is-recruit-top-latest {
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: space-between;
  }
  .sec.is-recruit-top-latest .contents-title-set {
    white-space: nowrap;
  }
  .sec.is-recruit-top-latest .post-list {
    margin-top: 0;
  }
}

.contents-links-group {
  padding-inline: clamp(12px, 4.27vw, 32px);
  gap: 30px;
}
@media only screen and (min-width: 782px) {
  .contents-links-group {
    margin-top: 100px;
    padding-inline: 0;
    gap: 100px;
  }
}

.sec-alternating-group {
  border-radius: 12px;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
@media only screen and (min-width: 782px) {
  .sec-alternating-group {
    aspect-ratio: 1440/504;
    width: 100%;
    max-height: 504px;
    border-radius: 0;
    box-shadow: none;
    position: relative;
    z-index: 1;
    overflow: visible;
    display: flex;
    align-items: center;
    padding-inline: 8.33vw;
  }
}
@media only screen and (min-width: 782px) {
  .sec-alternating-group .item-image {
    width: 74.6527777778%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .sec-alternating-group .item-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.sec-alternating-group .contents-title-set {
  margin-top: 0;
  padding: 16px 20px 24px;
}
@media only screen and (min-width: 782px) {
  .sec-alternating-group .contents-title-set {
    padding: 40px 60px;
    width: 545px;
    border-radius: var(--space-300, 12px);
    background-color: rgba(255, 255, 255, 0.85);
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
    transform: scale(0.8);
  }
}
@media only screen and (min-width: 782px) and (min-width: 782px) {
  .sec-alternating-group .contents-title-set {
    transform: scale(1);
  }
}
.sec-alternating-group:nth-of-type(odd) .contents-title-set {
  margin-left: auto;
}
.sec-alternating-group:nth-of-type(even) .item-image {
  right: 0;
  left: auto;
}
.sec-alternating-group:nth-of-type(even) .contents-title-set {
  margin-right: auto;
}

.people-banner-group {
  margin-top: 0;
}
.people-banner-group .inner {
  display: grid;
  gap: 24px;
}
.people-banner-group .inner > * {
  margin-top: 0;
}
@media only screen and (min-width: 782px) {
  .people-banner-group .inner {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(40px, 5.56vw, 80px);
  }
}

.people-banner .item-main, .people-mv .item-main {
  margin-top: 0;
  border-radius: 12px;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.people-banner .people-image, .people-mv .people-image {
  aspect-ratio: 343/213;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .people-banner .people-image, .people-mv .people-image {
    aspect-ratio: 1096/550;
  }
}
.people-banner .people-image .item-image, .people-mv .people-image .item-image {
  width: 100%;
  height: 100%;
}
.people-banner .people-image .item-image img, .people-mv .people-image .item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.people-banner .people-image .item-catchcopy, .people-mv .people-image .item-catchcopy {
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.4;
  color: #fff;
  position: absolute;
  left: 17px;
  bottom: 14px;
}
@media only screen and (min-width: 782px) {
  .people-banner .people-image .item-catchcopy, .people-mv .people-image .item-catchcopy {
    font-size: clamp(1.25rem, 1.94vw, 1.75rem);
    left: 24px;
    bottom: 16px;
  }
}
.people-banner .item-name-area, .people-mv .item-name-area {
  margin-top: 0;
  padding: 10px 16px;
}
@media only screen and (min-width: 782px) {
  .people-banner .item-name-area, .people-mv .item-name-area {
    padding: 10px 24px;
  }
}
.people-banner .item-name-area *, .people-mv .item-name-area * {
  margin-top: 0;
}
.people-banner .item-name-area .item-meta, .people-mv .item-name-area .item-meta {
  font-size: 0.875rem;
  color: #002d53;
  line-height: 1.5;
}
@media only screen and (min-width: 782px) {
  .people-banner .item-name-area .item-meta, .people-mv .item-name-area .item-meta {
    font-size: 1.125rem;
  }
}
.people-banner .item-name-area .item-name-group, .people-mv .item-name-area .item-name-group {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
@media only screen and (min-width: 782px) {
  .people-banner .item-name-area .item-name-group, .people-mv .item-name-area .item-name-group {
    margin-bottom: 4px;
  }
}
.people-banner .item-name-area .item-name-group .item-name, .people-mv .item-name-area .item-name-group .item-name {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  color: #002d53;
}
@media only screen and (min-width: 782px) {
  .people-banner .item-name-area .item-name-group .item-name, .people-mv .item-name-area .item-name-group .item-name {
    font-size: 1.75rem;
  }
}
.people-banner .item-name-area .item-name-group .item-name-sub, .people-mv .item-name-area .item-name-group .item-name-sub {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  color: #002d53;
}
@media only screen and (min-width: 782px) {
  .people-banner .item-name-area .item-name-group .item-name-sub, .people-mv .item-name-area .item-name-group .item-name-sub {
    font-size: 1rem;
  }
}
.people-banner .item-link, .people-mv .item-link {
  margin-top: 0;
}
.people-banner .item-link a, .people-mv .item-link a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  text-indent: -9999px;
}
.people-banner .item-link a::before, .people-mv .item-link a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: all 0.15s ease 0s;
}
.people-banner .item-link a::after, .people-mv .item-link a::after {
  content: "";
  width: 37px;
  height: 37px;
  background-color: #002d53;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  position: absolute;
  right: 16px;
  bottom: 22px;
  z-index: 3;
  transition: all 0.15s ease 0s;
}
@media only screen and (min-width: 782px) {
  .people-banner .item-link a::after, .people-mv .item-link a::after {
    right: 24px;
    bottom: 28px;
  }
}
.people-banner .item-link a::before, .people-mv .item-link a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: all 0.15s ease 0s;
}
.people-banner .item-link a:hover::before, .people-mv .item-link a:hover::before, .people-banner .item-link a:active::before, .people-mv .item-link a:active::before {
  background-color: rgba(255, 255, 255, 0.3);
}

.people-mv {
  padding: 16px clamp(12px, 4.27vw, 32px);
}
@media only screen and (min-width: 782px) {
  .people-mv {
    padding: 60px clamp(12px, 4.27vw, 32px) 40px;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .people-mv {
    padding: 60px;
  }
}
.people-mv .page-label {
  padding: 6px 20px 6px 16px;
  height: 26px;
  border-radius: 6px 6px 0 0;
  background: #005bac;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
@media only screen and (min-width: 782px) {
  .people-mv .page-label {
    padding-bottom: 7px;
    padding: 6px 30px 6px 26px;
    height: auto;
  }
}
.people-mv .page-label .item-en {
  margin-top: 0.25em;
  font-family: "Inter", sans-serif;
  font-size: 0.625rem;
  font-style: italic;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .people-mv .page-label .item-en {
    font-size: 1rem;
    margin-top: 0.4em;
  }
}
.people-mv .page-label .item-ja {
  margin-top: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
}
@media only screen and (min-width: 782px) {
  .people-mv .page-label .item-ja {
    font-size: 2rem;
  }
}
.people-mv .item-main {
  border-radius: 0 12px 12px 12px;
}
@media only screen and (min-width: 782px) {
  .people-mv .people-image .item-catchcopy {
    font-size: 3rem;
    left: 40px;
    bottom: 30px;
  }
}
@media only screen and (min-width: 782px) {
  .people-mv .item-name-area {
    padding: 20px 40px;
    display: flex;
    align-items: center;
    gap: 24px;
  }
}
.people-mv .item-name-area .item-meta {
  font-size: 1rem;
}
@media only screen and (min-width: 782px) {
  .people-mv .item-name-area .item-meta {
    font-size: 1.25rem;
  }
}
@media only screen and (min-width: 782px) {
  .people-mv .item-name-area .item-name-group .item-name {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 782px) {
  .people-mv .item-name-area .item-name-group .item-name-sub {
    font-size: 1.125rem;
  }
}

.interview-block-group {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media only screen and (min-width: 782px) {
  .interview-block-group {
    gap: 80px;
  }
}

.interview-block {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media only screen and (min-width: 782px) {
  .interview-block {
    width: 100%;
    flex-direction: row;
    gap: clamp(40px, 5.56vw, 80px);
  }
  .interview-block:nth-of-type(even) {
    flex-direction: row-reverse;
  }
}
.interview-block .interview-data {
  flex-basis: calc(55% - clamp(40px, 5.56vw, 80px));
  margin-top: 0;
}
.interview-block .interview-data .interview-data-title {
  display: flex;
  gap: 12px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: #002d53;
}
@media only screen and (min-width: 782px) {
  .interview-block .interview-data .interview-data-title {
    font-size: 1.75rem;
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .interview-block .interview-data .interview-data-title {
    font-size: 2rem;
  }
}
.interview-block .interview-data .interview-data-title::before {
  content: "";
  flex: 0 0 48px;
  height: 1px;
  background-color: #002d53;
  margin-top: 0.75em;
}
.interview-block .interview-data .interview-data-text {
  font-size: 1.125rem;
}
@media only screen and (min-width: 782px) {
  .interview-block .interview-data .interview-data-text {
    line-height: 2;
  }
}
.interview-block .interview-image {
  margin-top: 0;
  flex-basis: 45%;
  max-width: 490px;
  aspect-ratio: 343/390;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .interview-block .interview-image {
    aspect-ratio: 490/560;
  }
}
.interview-block .interview-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 782px) {
  .interview-block:not(:has(.interview-image)) .interview-data {
    flex-basis: 100%;
  }
}

.cover-recruit {
  margin-top: 0;
  align-items: flex-end;
  aspect-ratio: 375/230;
  width: 100%;
  height: 100%;
  min-height: unset;
  max-height: 270px;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .cover-recruit {
    align-items: center;
    aspect-ratio: 1440/350;
    max-height: unset;
  }
}
.cover-recruit .wp-block-cover__image-background {
  width: 150%;
  height: 150%;
  -o-object-fit: cover;
  object-fit: cover;
  left: auto;
  top: -14%;
  right: -14%;
  bottom: auto;
}
@media only screen and (min-width: 782px) {
  .cover-recruit .wp-block-cover__image-background {
    width: 110%;
    height: auto;
    -o-object-fit: contain;
    object-fit: contain;
    top: -40%;
    right: -10%;
  }
}
.cover-recruit .wp-block-heading {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: clamp(43px, calc(2.7230046948vw + 32.7887323944px), 72px);
  font-size: clamp(43px, calc(3.4324942792vw + 30.1281464531px), 118px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
  font-style: italic;
  white-space: nowrap;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
}
.cover-recruit p {
  margin-top: 0.25em;
  padding-left: 3px;
  font-size: clamp(18px, calc(1.0328638498vw + 14.1267605634px), 29px);
  font-size: clamp(18px, calc(1.0983981693vw + 13.881006865px), 42px);
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  white-space: nowrap;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.1);
}
@media only screen and (min-width: 782px) {
  .cover-recruit p {
    margin-top: 0.4em;
  }
}

.number-data {
  gap: 16px;
}
@media only screen and (min-width: 782px) {
  .number-data {
    gap: 32px;
  }
}
.number-data .number-data-set {
  flex-basis: 100%;
  display: flex;
  margin-top: 0;
  padding: var(--space-700, 40px) 0 var(--space-800, 48px) 0;
  flex-direction: column;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
  background: var(--color-gray-100, #f5f5f5);
  font-size: 1.125rem;
}
@media only screen and (min-width: 782px) {
  .number-data .number-data-set {
    flex-basis: calc(50% - 16px);
  }
}
@media only screen and (min-width: 782px) and (min-width: 1025px) {
  .number-data .number-data-set {
    flex-basis: calc(33.333% - 21.33px);
  }
}
.number-data .number-data-set .number-data-title {
  margin-bottom: 10px;
  font-size: 100%;
  font-weight: 700;
  line-height: 1.5;
  color: #002d53;
}
.number-data .number-data-set .number-data-subtitle {
  margin-bottom: 16px;
  font-size: 120%;
  color: #002d53;
  display: flex;
  padding: var(--space-200, 6px) var(--space-500, 24px) 8px var(--space-500, 24px);
  justify-content: center;
  align-items: center;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  gap: 10px;
  border-radius: 999px;
  background: #60b3f9;
}
.number-data .number-data-set .number-data-num {
  align-items: baseline;
  gap: 0.25em;
}
.number-data .number-data-set .number-data-num .data-number {
  font-family: "Inter", sans-serif;
  font-size: 666.6666666667%;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #002d53;
}
.number-data .number-data-set .number-data-num .data-unit {
  font-size: 138.8888888889%;
  font-weight: 700;
  line-height: 1;
  color: #002d53;
}

.recruit-faq-group {
  margin-block: clamp(48px, 12.8vw, 80px);
  padding: 40px clamp(12px, 4.27vw, 32px);
  background: var(--color-gray-100, #f5f5f5);
}
@media only screen and (min-width: 1025px) {
  .recruit-faq-group {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
.page-header-recruit + .recruit-faq-group {
  margin-top: 0;
}
.recruit-faq-group .ewd-ufaq-faq-category-title {
  font-size: 1.5rem;
  text-align: center;
}
.recruit-faq-group .ewd-ufaq-faq-category-title h3 {
  font-size: inherit;
}
.recruit-faq-group .ewd-ufaq-faq-category-title h3::before, .recruit-faq-group .ewd-ufaq-faq-category-title h3::after {
  content: "─";
  width: auto;
  height: auto;
  background-color: transparent;
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
}
.recruit-faq-group .ewd-ufaq-faq-div {
  margin-block: 16px;
  padding-left: 16px;
  padding-right: 16px;
  border-bottom: none;
  border-radius: var(--space-100, 4px);
  box-shadow: var(--dropshadow1);
}
.recruit-faq-group .ewd-ufaq-faq-div .ewd-ufaq-faq-title::before {
  font-weight: 900;
}
.recruit-faq-group .ewd-ufaq-faq-body {
  padding: 10px 0 16px 36px;
  color: var(--wp--preset--color--site-text);
  position: relative;
}
.recruit-faq-group .ewd-ufaq-faq-body::before {
  font-weight: 900;
}
.recruit-faq-group .ewd-ufaq-faq-body .ewd-ufaq-faq-post {
  padding: 0;
  background-color: transparent;
}

.swiper {
  height: 100%;
}
.swiper:not(.swiper-initialized) .swiper-slide {
  opacity: 0;
}
.swiper:not(.swiper-initialized) .swiper-button-prev,
.swiper:not(.swiper-initialized) .swiper-button-next {
  display: none;
}

.swiper-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  width: 100vw;
  height: calc(100vh - 60px);
  /* fallback */
  height: calc(100svh - 60px);
  overflow: hidden;
}
@media only screen and (min-width: 1025px) {
  .swiper-wrapper {
    padding-bottom: 0;
    aspect-ratio: 1440/770;
    height: auto !important;
  }
}

.swiper-content {
  padding: 0 !important;
}

.swiper-pagination {
  font-size: 10px;
  line-height: 1;
  vertical-align: bottom;
  bottom: 52px !important;
}
@media only screen and (min-width: 1025px) {
  .swiper-pagination {
    bottom: 24px !important;
  }
}
.swiper-pagination .swiper-pagination-bullet {
  width: 38px;
  height: 4px;
  border-radius: 0;
  outline: none;
  background-color: #fff !important;
  opacity: 1;
  transition: all 0.15s ease 0s;
}
.swiper-pagination .swiper-pagination-bullet:hover {
  opacity: 0.7;
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 108px;
  background: #005bac !important;
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:hover {
  opacity: 1;
}

/* まず、アクティブ・非アクティブ共通で初期値 */
.wp-block-uagb-slider.mv .swiper-slide .uagb-ifb-image-content img {
  opacity: 0;
  transform: scale(1);
}

/* アクティブなスライドだけ “時間をかけて” 等倍＆フェードインする */
.wp-block-uagb-slider.mv .swiper-slide.swiper-slide-active .uagb-ifb-image-content img {
  transform: scale(1.08);
  opacity: 1;
  transition: opacity 2s ease, transform 10s cubic-bezier(0.25, 1, 0.3, 1);
}

/* 非アクティブになった瞬間 → 縮小アニメをしないように “即座に戻す” */
.wp-block-uagb-slider.mv .swiper-slide:not(.swiper-slide-active) .uagb-ifb-image-content img {
  transition: none !important;
  /* ← これが超重要 */
}

/* 横スク土台（Groupに is-hscroll を付ける） */
.is-hscroll {
  margin-block: 24px;
  max-height: 150vw;
  border: 4px solid var(--color-base-blue-gray, #e4eef7);
  position: relative;
  /* ← ヒントの重なり安定用 */
  display: flex;
  flex-wrap: nowrap;
  gap: 1rem;
  overflow-x: auto;
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
@media only screen and (min-width: 782px) {
  .is-hscroll {
    margin-block: 32px;
    max-height: unset;
    border: none;
    overflow-x: hidden;
  }
}

/* スナップ */
.is-hscroll > * {
  flex: 0 0 auto;
  padding: 16px;
  scroll-snap-align: start;
}
@media only screen and (min-width: 782px) {
  .is-hscroll > * {
    padding: 0;
  }
}

/* 画像を縮ませない＆溢れさせる */
.is-hscroll .wp-block-image {
  min-width: 120vw;
}
@media only screen and (min-width: 782px) {
  .is-hscroll .wp-block-image {
    min-width: unset !important;
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden;
  }
}

.is-hscroll .wp-block-image img {
  max-width: none;
  width: auto;
  height: auto;
  display: block;
}
@media only screen and (min-width: 782px) {
  .is-hscroll .wp-block-image img {
    max-width: 100%;
    width: 100%;
    height: auto;
  }
}

/* 右端フェード（溢れてる時だけ） */
.is-hscroll.is-scrollable::before {
  content: "";
  position: -webkit-sticky;
  position: sticky;
  right: 0;
  align-self: stretch;
  width: 48px;
  pointer-events: none;
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.12));
  z-index: 1;
}

/* スマホだけヒント表示 */
@media (max-width: 767px) {
  .is-hscroll.is-scrollable:not(.has-scrolled)::after {
    content: "";
    aspect-ratio: 180/110;
    width: 55%;
    position: absolute;
    left: calc(50% + 16px);
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 10px;
    background-color: rgba(0, 0, 0, 0.66);
    background-image: url("../assets/images/common/ico-scrollable.png");
    background-size: 75%;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2;
    pointer-events: none;
    white-space: nowrap;
  }
}
/* -----------------------------------------
// リセット
// ---------------------------------------*/
input[type=text],
input[type=password],
textarea,
select {
  outline: none;
}

input[type=text]::-ms-clear,
input[type=password]::-ms-reveal {
  display: none;
}

input[type=button],
input[type=text],
input[type=email],
input[type=url],
input[type=tel],
input[type=submit],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}

:placeholder-shown {
  color: #aaa !important;
  font-weight: inherit !important;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
  color: #aaa !important;
  font-weight: inherit !important;
}

/* Firefox 18- */
:-moz-placeholder {
  color: #aaa !important;
  font-weight: inherit !important;
  opacity: 1;
}

/* Firefox 19+ */
::-moz-placeholder {
  color: #aaa !important;
  font-weight: inherit !important;
  opacity: 1;
}

/* -----------------------------------------
// 基本設定
// ---------------------------------------*/
form {
  padding: 0;
  margin: 0;
}

input:is([type=submit],
[type=back],
[type=email],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=url],
[type=date]),
select,
textarea {
  display: flex;
  padding: var(--space-200, 8px) var(--space-300, 12px);
  justify-content: center;
  align-items: center;
  gap: var(--space-200, 8px);
  align-self: stretch;
  width: 100%;
  max-width: 100%;
  border-radius: 2px;
  border: 1px solid var(--color-gray-500, #bdbdbd);
  background: #fff;
}
input:is([type=submit],
[type=back],
[type=email],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=url],
[type=date]):focus,
select:focus,
textarea:focus {
  outline: none;
  background-color: #f2f7ff;
}

textarea {
  height: 10em;
}
@media only screen and (min-width: 782px) {
  textarea {
    height: 12em;
  }
}

/* -----------------------------------------
// ここから
// ---------------------------------------*/
.form-contents {
  margin-top: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
.form-contents * {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.form-contents .form-item {
  display: grid;
  margin-top: 0;
  padding: var(--space-400, 16px) 0;
  grid-template-columns: 1fr;
  gap: 4px;
  position: relative;
}
.form-contents .form-item:not(:first-of-type) {
  border-top: 1px dashed var(--color-gray-400, #dfdfdf);
}
@media only screen and (min-width: 782px) {
  .form-contents .form-item {
    padding: 14px 8px;
    grid-template-columns: 242px 1fr;
    gap: 32px;
    align-items: stretch;
  }
}
.form-contents .item-label {
  padding: 5px 0;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .form-contents .item-label {
    padding: 8px 0;
  }
}
.form-contents .item-label label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.form-contents .item-label label .req,
.form-contents .item-label label .opt {
  padding: 4px 5px 5px;
  display: flex;
  align-items: center;
  border-radius: 2px;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  top: 4px;
}
.form-contents .item-label label .req {
  background-color: #e34444;
  color: #fff;
}
.form-contents .item-label label .opt {
  background-color: #dfdfdf;
  font-weight: 400;
  color: #757575;
}
.form-contents .item-label .notes {
  margin-top: 8px;
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.75;
}
.form-contents .item-input {
  align-self: center;
}
.form-contents .item-input:has(.input-block) {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
@media only screen and (min-width: 782px) {
  .form-contents .item-input:has(.input-block) {
    flex-direction: row;
    gap: 40px;
  }
}
.form-contents .item-input .notes {
  margin-top: 8px;
  display: block;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.6;
}
@media only screen and (min-width: 782px) {
  .form-contents .item-input .notes {
    margin-top: 10px;
  }
}
.form-contents .item-input.item-tel {
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.form-contents .item-input.item-tel .input-block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
}
.form-contents .item-input.item-tel .input-block:not(:last-of-type)::after {
  content: "-";
}
.form-contents .t-r {
  text-align: right;
}
.form-contents .xxshort {
  width: 80px;
}
.form-contents .xshort {
  width: 150px;
}
.form-contents .short {
  width: 256px;
}
.form-contents .middle {
  width: 50%;
}
.form-contents .long {
  width: 80%;
}
.form-contents .max {
  width: 100%;
}
.form-contents [data-name=age] input {
  width: 5em !important;
}
.form-contents .is-horizontal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}
.form-contents .is-vertical {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.form-contents .note {
  margin-top: 5px;
  font-size: 0.75rem;
}
.form-contents .birth-wrap .birth-year .unit,
.form-contents .birth-wrap .birth-year .unit,
.form-contents .birth-wrap .birth-month-day .unit {
  white-space: nowrap;
}
.form-contents .face-photo-wrapper {
  margin-top: 20px;
  padding: 15px;
  max-width: 100%;
  border: 5px solid var(--wp--preset--color--brand-primary);
}
@media only screen and (min-width: 782px) {
  .form-contents .face-photo-wrapper {
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 40px;
    border-width: 10px;
  }
}
.form-contents .face-photo-wrapper .form-item {
  padding: 0;
}
@media only screen and (min-width: 782px) {
  .form-contents .face-photo-wrapper .form-item .item-label {
    padding: 0;
  }
}
.form-contents .face-photo-wrapper .form-item .item-input {
  overflow: hidden;
}
.form-contents .face-photo-wrapper .form-item .item-input .face-photo-note {
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 700;
}
@media only screen and (min-width: 782px) {
  .form-contents .face-photo-wrapper .form-item .item-input .face-photo-note {
    font-size: 22px;
  }
}
.form-contents .face-photo-wrapper .form-item .item-input .note {
  display: block;
  margin-top: 20px;
}
.form-contents .wpcf7-radio,
.form-contents .wpcf7-checkbox {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.form-contents .wpcf7-radio .wpcf7-list-item,
.form-contents .wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}
@media only screen and (min-width: 782px) {
  .form-contents .wpcf7-radio .wpcf7-list-item,
.form-contents .wpcf7-checkbox .wpcf7-list-item {
    flex-basis: calc(50% - 20px);
  }
}
.form-contents .wpcf7-radio .wpcf7-list-item label,
.form-contents .wpcf7-checkbox .wpcf7-list-item label {
  cursor: pointer;
}
.form-contents .wpcf7-radio .wpcf7-list-item label input,
.form-contents .wpcf7-checkbox .wpcf7-list-item label input {
  display: none;
}
.form-contents .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label,
.form-contents .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label {
  display: flex;
  align-items: flex-start;
  padding-left: 24px;
  line-height: 2;
  position: relative;
}
.form-contents .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::before,
.form-contents .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before {
  content: "";
  width: 15px;
  height: 15px;
  background-color: #fff;
  border: 1px solid #cccccc;
  border-radius: 4px;
  position: absolute;
  top: 0.6em;
  left: 0;
}
.form-contents .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label::before {
  border-radius: 50%;
}
.form-contents .wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after {
  content: "";
  width: 9px;
  height: 9px;
  background-color: var(--wp--preset--color--brand-primary);
  border-radius: 50%;
  position: absolute;
  top: calc(0.6em + 3px);
  left: 3px;
}
.form-contents .wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before {
  background-color: var(--wp--preset--color--brand-primary);
  border-color: var(--wp--preset--color--brand-primary);
}
.form-contents .wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after {
  content: "";
  width: 20px;
  height: 20px;
  background-color: #fff;
  -webkit-mask-image: url(../assets/images/common/ico-checkmark.png);
  mask-image: url(../assets/images/common/ico-checkmark.png);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 10px 8px;
  mask-size: 10px 8px;
  position: absolute;
  left: 0;
  top: 6px;
}
.form-contents .wpcf7-checkbox.wpcf7-exclusive-checkbox .wpcf7-list-item label .wpcf7-list-item-label::before {
  border-radius: 50%;
}
.form-contents .wpcf7-checkbox.wpcf7-exclusive-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::before {
  background-color: #fff;
  border-color: var(--wp--preset--color--brand-primary);
}
.form-contents .wpcf7-checkbox.wpcf7-exclusive-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label::after {
  width: 9px;
  height: 9px;
  background-color: var(--wp--preset--color--brand-primary);
  -webkit-mask-image: none;
  mask-image: none;
  border-radius: 50%;
  position: absolute;
  top: calc(0.6em + 3px);
  left: 3px;
}
.form-contents select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
}
.form-contents select-ms-expand {
  display: none;
}
.form-contents .custom-select {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 782px) {
  .form-contents .custom-select {
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
  }
}
.form-contents .custom-select select {
  padding: 0.4em 45px 0.4em 0.8em;
  padding-right: 45px;
  border: 1px solid #000;
  background-color: #fff;
}
.form-contents .custom-select::before {
  content: "";
  width: 45px;
  height: 39px;
  background-image: url(../assets/images/common/ico-arrow-selectbox.png);
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  pointer-events: none;
  cursor: pointer;
}
.form-contents .checked-open-item {
  display: none;
  margin: 15px 0 0 35px;
}

.schedule-other {
  margin-top: 20px;
}
.schedule-other .note {
  margin-bottom: 5px;
  font-size: 0.875rem;
}
.schedule-other input[name=schedule-other].is-schedule-other-disabled {
  background-color: #f5f5f5;
  color: #999;
  cursor: not-allowed;
  opacity: 0.5;
}
.schedule-other input[name=schedule-other].is-other-selected {
  background-color: #fff;
  color: #000;
  cursor: text;
  opacity: 1;
}

.agree-area {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
.agree-area .item-input {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.agree-area .item-input .wpcf7-list-item {
  margin-left: 0;
}
.agree-area .item-input .item-text {
  font-size: 14px;
  text-align: center;
}
.agree-area .wpcf7-not-valid-tip {
  display: flex !important;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
@media only screen and (min-width: 782px) {
  .wpcf7-acceptance .wpcf7-list-item {
    flex-basis: calc(50% - 20px);
  }
}
.wpcf7-acceptance .wpcf7-list-item label {
  cursor: pointer;
}
.wpcf7-acceptance .wpcf7-list-item label input {
  display: none;
}
.wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label {
  display: flex;
  align-items: flex-start;
  padding-left: 24px;
  line-height: 2;
  position: relative;
}
.wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label::before {
  content: "";
  width: 15px;
  height: 15px;
  background-color: #fff;
  border: 1px solid #cccccc;
  border-radius: 4px;
  position: absolute;
  top: 0.6em;
  left: 0;
}
.wpcf7-acceptance .wpcf7-list-item input:checked + .wpcf7-list-item-label::before {
  background-color: var(--wp--preset--color--brand-primary);
  border-color: var(--wp--preset--color--brand-primary);
}
.wpcf7-acceptance .wpcf7-list-item input:checked + .wpcf7-list-item-label::after {
  content: "";
  width: 15px;
  height: 15px;
  background-color: #fff;
  -webkit-mask-image: url(../assets/images/common/ico-checkmark.png);
  mask-image: url(../assets/images/common/ico-checkmark.png);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 10px 8px;
  mask-size: 10px 8px;
  position: absolute;
  left: 0;
  top: 0.6em;
}

.form-btn-wrap {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
@media only screen and (min-width: 782px) {
  .form-btn-wrap {
    flex-direction: row;
    justify-content: center;
  }
}
.form-btn-wrap .form-btn {
  position: relative;
}
.form-btn-wrap .form-btn .button-from {
  cursor: pointer;
  margin: 0;
  padding: 1.1em 2em;
  border-radius: 2px;
  border: 1px solid var(--color-gray-400, #dfdfdf);
  background: #fff;
  box-shadow: none;
  width: auto;
  min-width: 250px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--color-base-black, #000);
  line-height: 1;
  transition: all 0.15s ease 0s;
  font-size: 1.125rem;
}
.form-btn-wrap .form-btn .button-from:hover {
  opacity: 1;
  background-color: #60b3f9;
  border-color: #60b3f9;
  color: #fff;
  font-weight: 700;
}
.form-btn-wrap .form-btn .button-from:hover::after {
  background-color: #fff;
}
.form-btn-wrap .form-btn .button-from:hover:hover, .form-btn-wrap .form-btn .button-from:hover:active {
  background-color: #0062a7;
  border-color: #0062a7;
  color: #fff;
}
.form-btn-wrap .form-btn.is-submit .button-from {
  padding-right: 3em;
}
.form-btn-wrap .form-btn.is-submit::after {
  content: "";
  width: 12px;
  height: 100%;
  background-color: #005bac;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-right2.svg);
  mask-image: url(../assets/images/common/ico-arrow-right2.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.form-btn-wrap .form-btn.is-back .button-from {
  padding-left: 3em;
}
.form-btn-wrap .form-btn.is-back::after {
  content: "";
  width: 12px;
  height: 100%;
  background-color: #005bac;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-right2.svg);
  mask-image: url(../assets/images/common/ico-arrow-right2.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%) scaleX(-1);
  pointer-events: none;
}
.form-btn-wrap .form-btn:hover::after {
  background-color: #fff;
}
.form-btn-wrap .form-btn.is-recruit.is-submit::after {
  width: 25px;
  background-color: #002d53;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  mask-image: url(../assets/images/common/ico-arrow-circle.svg);
}
.form-btn-wrap .form-btn.is-recruit.is-submit:hover::after {
  background-color: #fff;
}
.form-btn-wrap .form-btn.is-recruit.is-submit:has(.is-deactivate) {
  cursor: not-allowed;
  pointer-events: none;
}
.form-btn-wrap .form-btn.is-recruit.is-submit:has(.is-deactivate)::before {
  display: flex;
  align-items: center;
  justify-content: center;
  content: "Wait...";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}
.form-btn-wrap .form-btn.is-recruit.is-back::after {
  width: 25px;
  background-color: #002d53;
  -webkit-mask-image: url(../assets/images/common/ico-arrow-circle.svg);
  mask-image: url(../assets/images/common/ico-arrow-circle.svg);
}
.form-btn-wrap .form-btn.is-recruit.is-back:hover::after {
  background-color: #fff;
}
.form-btn-wrap .form-btn.is-recruit .button-from.is-recruit {
  border-color: #002d53;
  color: #002d53;
}
.form-btn-wrap .form-btn.is-recruit .button-from.is-recruit:hover, .form-btn-wrap .form-btn.is-recruit .button-from.is-recruit:active {
  color: #fff;
}

.wpcf7 form .wpcf7-response-output {
  display: none !important;
}
.wpcf7 form.sent .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  margin: 30px 0 0 !important;
  padding: 2em !important;
  text-align: center !important;
  border-radius: 4px;
  border-width: 2px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
@media only screen and (min-width: 782px) {
  .wpcf7 form.sent .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    margin-top: 40px !important;
  }
}
.wpcf7 form.invalid .wpcf7-response-output {
  display: none !important;
}

.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7-form.is-show-validation .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: inline-flex !important;
}
.wpcf7-form.is-show-validation .agree-area .wpcf7-not-valid-tip {
  display: flex !important;
}

.wpcf7-not-valid-tip {
  align-items: center;
  justify-content: center;
  background-color: #e34444;
  border-radius: 8px;
  margin-top: 12px;
  padding: 0.5em 1em;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  position: relative;
}
.wpcf7-not-valid-tip::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 14px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #e34444;
}

.wpcf7-spinner {
  display: none !important;
}

.ui-datepicker a {
  text-decoration: none !important;
}

@media only screen and (min-width: 782px) {
  .page-confirm .item-label:not(.align-top) {
    margin-top: 0;
  }
}
.page-confirm .item-input {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

/* -----------------------------------------
// CF7：送信中のローディングスピナー
// ---------------------------------------*/
.cf7-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 999999;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-animation: fadeIn 0.2s ease-in-out;
  animation: fadeIn 0.2s ease-in-out;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.cf7-loading-spinner {
  margin-top: -30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.cf7-spinner {
  width: 90px;
  height: 90px;
  border: 14px solid rgba(255, 255, 255, 0.5);
  border-top-color: #359dfa;
  border-radius: 50%;
  -webkit-animation: spin 0.8s linear infinite;
  animation: spin 0.8s linear infinite;
}

@-webkit-keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.cf7-loading-text {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  margin: 0;
  padding-left: 0.5em;
  text-align: center;
}

/* -----------------------------------------
// Turnstile
// ---------------------------------------*/
.turnstile-wrapper {
  margin-top: 40px;
  text-align: center;
  line-height: 1;
}

/* ------------------------------------
//  Breadcrumb NavXT 設定
// ----------------------------------*/
.breadcrumbs {
  padding: 4px 0;
  width: 100%;
  font-size: 0.75rem;
  line-height: 1;
  color: var(--color-gray-800, #555);
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 3px;
  overflow: hidden;
}
@media only screen and (min-width: 782px) {
  .breadcrumbs {
    font-size: 0.8125rem;
    gap: 6px;
  }
}
.breadcrumbs span {
  white-space: nowrap;
}
.breadcrumbs span a:link, .breadcrumbs span a:visited {
  color: var(--color-gray-800, #555);
  text-decoration: none;
}
.breadcrumbs span a:hover, .breadcrumbs span a:active {
  opacity: 1;
}
.breadcrumbs span.separator {
  font-size: 0.625rem;
}
.show-shortcode {
  width: 100%;
}
.show-shortcode .ewd-ufaq-faq-list > p {
  display: none;
}

.faq-include-group {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
@media only screen and (min-width: 782px) {
  .faq-include-group {
    margin-top: 48px;
    flex-direction: row;
    align-items: flex-start;
    gap: 60px;
  }
}

.faq-category-group {
  margin-top: 0;
  gap: 0;
}
@media only screen and (min-width: 782px) {
  .faq-category-group {
    flex: calc(50% - 30px);
  }
}
.faq-category-group .show-shortcode {
  width: 100%;
}
.faq-category-group .show-shortcode .ewd-ufaq-faq-list > p {
  display: none;
}
.faq-category-group .link-item-arrow-right {
  margin-top: 10px;
  margin-left: auto;
}

.ewd-ufaq-faq-category {
  margin-bottom: 0;
}

.ewd-ufaq-faq-category-title {
  margin-bottom: 20px;
}
.ewd-ufaq-faq-category-title h3 {
  padding-left: 0.1em;
  padding-bottom: 8px;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
@media only screen and (min-width: 782px) {
  .ewd-ufaq-faq-category-title h3 {
    padding-bottom: 10px;
    font-size: 1.5rem;
  }
}
.ewd-ufaq-faq-category-title h3::before {
  content: "";
  width: 100%;
  height: 2px;
  background: #005bac;
  position: absolute;
  left: 0;
  bottom: 0;
}

.ewd-ufaq-faq-category-inner {
  margin-bottom: 0;
}

.ewd-ufaq-faq-div {
  margin-block: 0;
  padding: 4px;
  background: #fff;
  border-bottom: 1px solid var(--color-gray-400, #dfdfdf);
}
.ewd-ufaq-faq-div .ewd-ufaq-faq-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #002d53;
  display: flex;
  align-items: center;
  gap: 0;
  position: relative;
}
.ewd-ufaq-faq-div .ewd-ufaq-faq-title::before {
  content: "Q";
  font-family: "Inter", sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.5;
  color: #005bac;
  margin-right: 12px;
}
.ewd-ufaq-faq-div .ewd-ufaq-faq-title .ewd-ufaq-post-margin {
  float: none;
  width: 100%;
}
.ewd-ufaq-faq-div .ewd-ufaq-faq-title .ewd-ufaq-post-margin .ewd-ufaq-post-margin-symbol {
  margin-right: 0;
  margin-left: 12px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.ewd-ufaq-faq-div .ewd-ufaq-faq-title .ewd-ufaq-post-margin .ewd-ufaq-post-margin-symbol span {
  font-size: 15px;
}

.ewd-ufaq-faq-title-text {
  float: none;
  width: calc(100% - 30px);
  color: var(--wp--preset--color--site-text);
}
.ewd-ufaq-faq-body {
  padding: 10px 0 16px 36px;
  color: var(--wp--preset--color--site-text);
  position: relative;
}
.ewd-ufaq-faq-body::before {
  content: "A";
  font-family: "Inter", sans-serif;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.5;
  color: #e34444;
  position: absolute;
  top: 5px;
  left: 1px;
}
.ewd-ufaq-faq-body .ewd-ufaq-faq-post {
  padding: 12px 16px;
  background-color: var(--color-gray-100, #f5f5f5);
}
.ewd-ufaq-faq-body .ewd-ufaq-author-date {
  margin-top: 1em;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.25em;
  font-size: 0.75rem;
}
.ewd-ufaq-faq-body .ewd-ufaq-author-date p {
  font-weight: 500;
}
.ewd-ufaq-faq-body .ewd-ufaq-author-date p br {
  display: none;
}

.wsp-container .wsp-pages-title {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 4px solid var(--wp--preset--color--brand-attention);
  color: var(--wp--preset--color--site-text);
  display: none;
}
.wsp-container .wsp-pages-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.wsp-container .wsp-pages-list .page_item {
  margin-bottom: 4px;
  line-height: 1.6;
  padding-left: 15px;
}
.wsp-container .wsp-pages-list .page_item > a {
  display: inline-block;
  padding: 5px 0;
  text-decoration: none;
  color: var(--wp--preset--color--brand-primary);
}
.wsp-container .wsp-pages-list .page_item > a:link, .wsp-container .wsp-pages-list .page_item > a:visited {
  color: var(--wp--preset--color--brand-primary);
  text-decoration: none;
}
.wsp-container .wsp-pages-list .page_item > a:hover, .wsp-container .wsp-pages-list .page_item > a:active {
  opacity: 1;
  text-decoration: underline;
}
.wsp-container .wsp-pages-list .page_item.page_item_has_children {
  position: relative;
}
.wsp-container .wsp-pages-list .page_item.page_item_has_children > a {
  font-weight: 600;
  color: var(--wp--preset--color--brand-secondary);
}
.wsp-container .children {
  list-style: none;
  padding-left: 25px;
  margin-top: 5px;
  margin-bottom: 10px;
  border-left: 2px dashed #efefef;
}
.wsp-container .children .page_item {
  padding-left: 0;
}
.wsp-container .children .page_item > a {
  color: var(--wp--preset--color--site-text);
  font-size: 0.95rem;
}
.wsp-container .children .page_item > a::before {
  color: #999999;
  margin-right: 5px;
}
.wsp-container .children .page_item .children {
  padding-left: 20px;
}

@media only screen and (min-width: 1025px) {
  .is-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: calc(92px + 1em);
    z-index: 9;
  }
}

.cover-link {
  text-indent: -9999px;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
}
.cover-link a {
  margin-top: 0;
  transition: none;
}
.cover-link a::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 20px;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.15s ease 0s;
}
.cover-link a::after {
  content: none;
}
.cover-link a:link, .cover-link a:visited {
  color: #fff;
  text-decoration: none;
}
.cover-link a:hover::before, .cover-link a:active::before {
  background-color: rgba(0, 91, 172, 0.1);
}