@charset "UTF-8";
:root {
  --zen: "Zen Kaku Gothic New", sans-serif;
  --alex: "Alexandria", sans-serif;
  --main-color: #527FCE;
  --font-color: #33353C;
  --accent-red: #FB685D;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 15rem;
}
@media screen and (min-width: 1600px) {
  html {
    font-size: calc(160px / 1400 * 100);
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  html {
    font-size: calc(10vw / 1400 * 100);
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: calc(10vw / 400 * 100);
    scroll-padding-top: 8rem;
  }
}
html.is-hidden body {
  pointer-events: none;
}
html.no-smooth {
  scroll-behavior: auto;
}
html.is-modal-open {
  height: 100vh;
  overflow: hidden;
}

body {
  font-family: var(--zen);
  font-size: max(1.6rem, 15px);
  font-feature-settings: "palt";
  margin: 0;
  color: var(--font-color);
  opacity: 0;
  transition: opacity 0.5s;
  font-weight: 500;
  text-rendering: auto;
  font-synthesis: none;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 768px) {
  body {
    letter-spacing: 0.05rem;
  }
}
body.is-active {
  opacity: 1;
}
body.is-menu-open {
  height: 100vh;
  overflow: hidden;
}
body.is-submitting .c-form-submitting {
  pointer-events: auto;
  opacity: 0.5;
}

:where(a) {
  text-decoration: none;
}
:where(a):visited, :where(a):link {
  color: inherit;
}

button {
  background-color: transparent;
  border: none;
  padding: 0;
  font-weight: 500;
  font-family: var(--zen);
  color: var(--font-color);
  cursor: pointer !important;
}
button:focus, button:active {
  outline: none;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
div,
dl,
dt,
dd,
p {
  padding: 0;
  margin: 0;
}

ul,
ol,
li {
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

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

picture {
  display: inline-block;
  width: 100%;
  height: auto;
}

:where(figure) {
  padding: 0;
  margin: 0;
}

label {
  cursor: pointer;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

input[type=number] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}

.l-main {
  line-height: 1.2;
}

svg,
img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  html,
  body {
    width: 100%;
    height: 100%;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  div,
  dl,
  dt,
  dd,
  p {
    padding: 0;
    margin: 0;
  }
  img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  [href*="tel:"] {
    pointer-events: none;
  }
  .sp {
    display: none !important;
  }
}
[x-cloak] {
  display: none !important;
}

.grecaptcha-badge {
  visibility: hidden;
}

dialog {
  border: none;
  opacity: 0;
  transition: opacity 0.3s;
}
dialog::backdrop {
  opacity: 0;
  transition: opacity 0.3s;
  background-color: rgba(51, 53, 60, 0.6);
}
dialog[open] {
  opacity: 1;
}
dialog[open]::backdrop {
  opacity: 1;
}

form.wpcf7-form {
  transition: opacity 0.3s;
}
form.wpcf7-form.submitting {
  opacity: 0.3;
  pointer-events: none;
  cursor: wait;
}
.wpcf7 form.wpcf7-form .wpcf7-response-output {
  padding: 1rem 2rem;
  text-align: center;
  background: #f3f6c8;
  border: 0;
}
@media screen and (max-width: 768px) {
  .wpcf7 form.wpcf7-form .wpcf7-response-output {
    padding: 1rem;
    text-align: left;
    font-size: 1.5rem;
  }
}
.wpcf7 form.wpcf7-form:is(.invalid, .unaccepted, .payment-required, .spam, .failed, .aborted) .wpcf7-response-output {
  background: #fedfdd;
}

select {
  background-color: white;
  color: var(--font-color);
}

.js-inview[data-inview=fade] {
  opacity: 0;
  transition: opacity 1s;
}
.js-inview[data-inview=fade].is-inview {
  opacity: 1;
}
.js-inview[data-inview=fade-top] {
  opacity: 0;
  transition: opacity 1s, transform 1s;
  transform: translateY(30px);
}
.js-inview[data-inview=fade-top].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview[data-inview=fade-left] {
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateX(-30px);
}
.js-inview[data-inview=fade-left].is-inview {
  opacity: 1;
  transform: translateX(0);
}
.js-inview[data-inview=fade-right] {
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateX(30px);
}
.js-inview[data-inview=fade-right].is-inview {
  opacity: 1;
  transform: translateX(0);
}
.js-inview[data-inview=fade-bottom] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(-30px);
}
.js-inview[data-inview=fade-bottom].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview[data-inview=btn] a::before,
.js-inview[data-inview=btn] button::before {
  transition: transform 0.4s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.js-inview[data-inview=btn] span {
  opacity: 0;
  transition: opacity 0.5s 0.3s, transform 0.5s 0.3s;
  transform: translateY(10px);
}
.js-inview[data-inview=btn] i {
  opacity: 0;
  transition: opacity 0.5s 0.3s, transform 0.5s 0.3s;
  transform: translateY(10px);
}
.js-inview[data-inview=btn].is-inview a::before,
.js-inview[data-inview=btn].is-inview button::before {
  transform: scale(1, 1);
}
.js-inview[data-inview=btn].is-inview span {
  opacity: 1;
  transform: translateY(0);
}
.js-inview[data-inview=btn].is-inview i {
  opacity: 1;
  transform: translateY(0);
}
.js-inview[data-inview=btn-border] a::after,
.js-inview[data-inview=btn-border] button::after {
  transition: transform 0.4s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.js-inview[data-inview=btn-border] span {
  opacity: 0;
  transition: opacity 0.8s 0.3s, transform 0.5s 0.3s;
  transform: translateY(10px);
}
.js-inview[data-inview=btn-border].is-inview a::after,
.js-inview[data-inview=btn-border].is-inview button::after {
  transform: scale(1, 1);
}
.js-inview[data-inview=btn-border].is-inview span {
  opacity: 1;
  transform: translateY(0);
}
.js-inview[data-inview=bg]::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  transition: transform 0.4s;
  transform: scale(1, 1);
  transform-origin: right top;
}
.js-inview[data-inview=bg].is-inview::after {
  transform: scale(0, 1);
}
.js-inview[data-inview=bg-white]::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #fff;
  transition: transform 0.4s;
  transform: scale(1, 1);
  transform-origin: right top;
}
.js-inview[data-inview=bg-white].is-inview::after {
  transform: scale(0, 1);
}
.js-inview[data-inview=bg-scale]::before {
  transition: transform 0.8s;
  transform: translate(-50%, -50%) scale(0.5);
  transform-origin: center center;
}
.js-inview[data-inview=bg-scale].is-inview::before {
  transform: translate(-50%, -50%) scale(1);
}
.js-inview-photo[data-inview=scale-small] {
  transition: transform 1s;
  transform: scale(1.5);
}
.is-inview .js-inview-photo[data-inview=scale-small] {
  transform: scale(1);
}

.js-inview-photo-img[data-inview=scale-small] {
  transition: transform 1s;
  transform: translateX(-50%) scale(1.5);
}
.is-inview .js-inview-photo-img[data-inview=scale-small] {
  transform: translateX(-50%) scale(1);
}

.js-inview-eachItem[data-inview=fade] {
  opacity: 0;
  transition: opacity 0.8s;
}
.js-inview-eachItem[data-inview=fade].is-inview {
  opacity: 1;
}
.js-inview-eachItem[data-inview=fade-top] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(30px);
}
.js-inview-eachItem[data-inview=fade-top].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem[data-inview=fade-bottom] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(-30px);
}
.js-inview-eachItem[data-inview=fade-bottom].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem[data-inview=fade-right] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateX(30px);
}
.js-inview-eachItem[data-inview=fade-right].is-inview {
  opacity: 1;
  transform: translateX(0);
}
.js-inview-eachItem[data-inview=btn] a::before,
.js-inview-eachItem[data-inview=btn] button::before {
  transition: transform 0.4s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.js-inview-eachItem[data-inview=btn] span {
  opacity: 0;
  transition: opacity 0.8s 0.3s, transform 0.5s 0.3s;
  transform: translateY(10px);
}
.js-inview-eachItem[data-inview=btn].is-inview a::before,
.js-inview-eachItem[data-inview=btn].is-inview button::before {
  transform: scale(1, 1);
}
.js-inview-eachItem[data-inview=btn].is-inview span {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem[data-inview=btn-border] a::after,
.js-inview-eachItem[data-inview=btn-border] button::after {
  transition: transform 0.4s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.js-inview-eachItem[data-inview=btn-border] span {
  opacity: 0;
  transition: opacity 0.8s 0.3s, transform 0.5s 0.3s;
  transform: translateY(10px);
}
.js-inview-eachItem[data-inview=btn-border].is-inview a::after,
.js-inview-eachItem[data-inview=btn-border].is-inview button::after {
  transform: scale(1, 1);
}
.js-inview-eachItem[data-inview=btn-border].is-inview span {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem[data-inview=list-border]::before {
  transition: transform 0.8s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.js-inview-eachItem[data-inview=list-border] span,
.js-inview-eachItem[data-inview=list-border] figure,
.js-inview-eachItem[data-inview=list-border] a {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(30px);
}
.js-inview-eachItem[data-inview=list-border] i {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateX(-20px) rotate(45deg);
}
.js-inview-eachItem[data-inview=list-border].is-inview::before {
  transform: scale(1);
}
.js-inview-eachItem[data-inview=list-border].is-inview span,
.js-inview-eachItem[data-inview=list-border].is-inview figure,
.js-inview-eachItem[data-inview=list-border].is-inview a {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem[data-inview=list-border].is-inview i {
  opacity: 1;
  transform: translateX(-10px) rotate(45deg);
}
.js-inview-eachItem-fast[data-inview=fade-top] {
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  transform: translateY(10px);
}
.js-inview-eachItem-fast[data-inview=fade-top].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem-delay[data-inview=fade] {
  opacity: 0;
  transition: transform 0.8s;
}
.js-inview-eachItem-delay[data-inview=fade].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem-delay[data-inview=fade-top] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(30px);
}
.js-inview-eachItem-delay[data-inview=fade-top].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem-delay[data-inview=fade-right] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateX(30px);
}
.js-inview-eachItem-delay[data-inview=fade-right].is-inview {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-eachItem-delay[data-inview=fade-bottom] {
  opacity: 0;
  transition: opacity 0.8s, transform 0.8s;
  transform: translateY(-30px);
}
.js-inview-eachItem-delay[data-inview=fade-bottom].is-inview {
  opacity: 1;
  transform: translateY(0);
}

.js-inview-all[data-inview=btn] a::before,
.js-inview-all[data-inview=btn] button::before {
  transition: transform 0.4s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.js-inview-all[data-inview=btn] span {
  opacity: 0;
  transition: opacity 0.8s 0.3s, transform 0.5s 0.3s;
  transform: translateY(10px);
}
.js-inview-all[data-inview=btn].is-inview a::before,
.js-inview-all[data-inview=btn].is-inview button::before {
  transform: scale(1, 1);
}
.js-inview-all[data-inview=btn].is-inview span {
  opacity: 1;
  transform: translateY(0);
}
.js-inview-all[data-inview=btn-border] a::after,
.js-inview-all[data-inview=btn-border] button::after {
  transition: transform 0.4s;
  transform: scale(0, 1);
  transform-origin: left top;
}
.js-inview-all[data-inview=btn-border] span {
  opacity: 0;
  transition: opacity 0.8s 0.3s, transform 0.5s 0.3s;
  transform: translateY(10px);
}
.js-inview-all[data-inview=btn-border].is-inview a::after,
.js-inview-all[data-inview=btn-border].is-inview button::after {
  transform: scale(1, 1);
}
.js-inview-all[data-inview=btn-border].is-inview span {
  opacity: 1;
  transform: translateY(0);
}

_:-ms-lang(x)::-ms-backdrop,
.js-inview-photo[data-inview=scale-small] {
  transform: scale(1);
}

_:-ms-lang(x)::-ms-backdrop,
.js-inview-photo-img[data-inview=scale-small] {
  transform: translateX(-50%) scale(1);
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1001;
}

.l-inner {
  margin-inline: auto;
  max-width: 100%;
  width: 100rem;
}
@media screen and (max-width: 768px) {
  .l-inner {
    padding-inline: 2rem;
  }
}
.l-inner--xl {
  width: 116rem;
}
.l-inner--lg {
  width: 110rem;
}
.l-inner--md {
  width: 94rem;
}
.l-inner--sm {
  width: 90rem;
}
.l-inner--xs {
  width: 86rem;
}

.c-header {
  background-color: white;
}
@media screen and (max-width: 768px) {
  .c-header .c-global-nav {
    gap: 2rem 3rem;
  }
}
.c-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  height: 7.2rem;
  padding-left: 2.7rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .c-header__inner {
    padding-left: 1.3rem;
    height: 5rem;
  }
}
.c-header__logo {
  pointer-events: auto;
}
.c-header__logo img {
  width: 11.6rem;
}
@media screen and (max-width: 768px) {
  .c-header__logo img {
    width: 8.9rem;
  }
}
.c-header__logo.is-active {
  opacity: 1;
}
.c-header__toggle-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
  pointer-events: auto;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .c-header__toggle-wrap {
    gap: 1rem;
  }
}
.c-header__favorit-link-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-header__favorit-link-list {
    gap: 1.4rem;
  }
}
.c-header__label-link-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}
.c-header__contact-item {
  font-size: 1rem;
  color: var(--main-color);
  text-align: center;
  font-weight: 500;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-header__contact-item:hover {
    opacity: 0.7;
  }
}
.c-header__consultant-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.2rem;
  height: 3rem;
  background-color: #FB685D;
  border-radius: 0.4rem;
  color: white;
  font-size: 1.4rem;
  line-height: 1.3;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .c-header__consultant-item {
    width: 6.2rem;
    height: 3.6rem;
    font-size: 1.1rem;
    text-align: center;
    flex-direction: column;
  }
}
.c-header__consultant-item > .in-small {
  font-size: 1.2rem;
  margin-left: 0.7rem;
}
@media screen and (max-width: 768px) {
  .c-header__consultant-item > .in-small {
    font-size: 0.9rem;
    margin-left: 0;
  }
}
@media (hover: hover) {
  .c-header__consultant-item:hover {
    opacity: 0.7;
  }
}
.c-header__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  transition: opacity 0.3s;
}
.c-header__link > .in-icon {
  width: 2.2rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-header__link > .in-icon {
    width: 1.7rem;
    height: 2.5rem;
  }
}
.c-header__link > .in-icon img {
  width: 100%;
  height: auto;
  margin: 0;
}
.c-header__link > .in-text {
  font-size: 1rem;
}
@media (hover: hover) {
  .c-header__link:hover {
    opacity: 0.7;
  }
}
.c-header__menu-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: white;
  gap: 0.5rem;
  width: 8.4rem;
  height: 100%;
  border-left: solid 1px #C3C3C3;
  z-index: 1;
  padding-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-header__menu-toggle {
    width: 4.6rem;
    border-left: none;
    padding-top: 0.5rem;
  }
}
.c-header__menu-toggle.is-active {
  border-left: none;
}
.c-header__menu-toggle.is-active .c-header__menu-toggle-bars > .in-bar--top {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-header__menu-toggle.is-active .c-header__menu-toggle-bars > .in-bar--middle {
  opacity: 0;
}
.c-header__menu-toggle.is-active .c-header__menu-toggle-bars > .in-bar--bottom {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-header__menu-toggle-text {
  font-size: 1rem;
  color: var(--main-color);
  font-family: var(--alex);
}
.c-header__menu-toggle-bars {
  display: flex;
  width: 22px;
  height: 15px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-header__menu-toggle-bars {
    width: 2.2rem;
    height: 1.2rem;
  }
}
.c-header__menu-toggle-bars > .in-bar {
  display: block;
  height: 2px;
  border-radius: 0.2rem;
  position: absolute;
}
.c-header__menu-toggle-bars > .in-bar--top, .c-header__menu-toggle-bars > .in-bar--bottom {
  width: 100%;
  background-color: var(--main-color);
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s, top 0.3s;
}
.c-header__menu-toggle-bars > .in-bar--top {
  top: 0;
}
.c-header__menu-toggle-bars > .in-bar--middle {
  top: 50%;
  left: 0;
  width: 100%;
  background-color: var(--main-color);
  transform: translate(0, -50%);
  transition: opacity 0.3s;
}
.c-header__menu-toggle-bars > .in-bar--bottom {
  top: 100%;
}
@media screen and (max-width: 768px) {
  .c-header--home {
    transform: translate(0, -5rem);
    transition: transform 0.3s;
  }
  .c-header--home.is-scroll {
    transform: translate(0);
  }
}

.icon-heart {
  display: block;
  width: 100%;
  aspect-ratio: 26/25;
  background-color: var(--main-color);
  -webkit-mask-image: url(../svg/ic-heart.svg);
  mask-image: url(../svg/ic-heart.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.c-hamburger-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.c-hamburger-menu__bg-wrap {
  background-color: rgba(41, 41, 41, 0.8);
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  height: 100%;
  overflow: hidden;
  touch-action: none;
}
@media screen and (max-width: 768px) {
  .c-hamburger-menu__bg-wrap {
    padding-right: 0;
  }
}
.c-hamburger-menu__outer-inner {
  --drawer-panel-padding-top: 8rem;
  --drawer-panel-padding-x: 3.2rem;
  --drawer-panel-padding-bottom: 2rem;
  --drawer-quick-link-height: 6rem;
  --drawer-quick-link-font-size: 14px;
  --drawer-quick-link-gap: 1rem;
  --drawer-quick-links-gap: 0.6rem;
  --drawer-menu-margin-top: 1rem;
  --drawer-menu-item-padding-y: 2rem;
  --drawer-menu-font-size: 15px;
  --drawer-child-menu-gap: 1rem;
  --drawer-child-menu-margin-bottom: 2rem;
  --drawer-policy-margin-top: 4rem;
  --drawer-policy-font-size: 14px;
  --drawer-policy-gap: 2rem;
  position: fixed;
  top: 0;
  right: -50rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  max-height: 100vh;
  max-height: 100dvh;
  max-height: 100svh;
  padding: var(--drawer-panel-padding-top) var(--drawer-panel-padding-x) var(--drawer-panel-padding-bottom);
  background-color: white;
  box-sizing: border-box;
  transition: right 0.3s;
}
@media (max-width: 991.98px) {
  .c-hamburger-menu__outer-inner {
    --drawer-panel-padding-top: calc(5rem + 1.2rem);
  }
}
@media (min-width: 992px) {
  .c-hamburger-menu__outer-inner {
    --drawer-panel-padding-x: 3rem;
    --drawer-panel-padding-bottom: 2.4rem;
    --drawer-quick-links-gap: 1.2rem;
    --drawer-child-menu-gap: 1.5rem;
    right: -40rem;
    width: 40rem;
  }
}
.c-hamburger-menu__outer-inner--compact {
  --drawer-panel-padding-bottom: 1.6rem;
  --drawer-quick-link-height: 4.8rem;
  --drawer-quick-link-font-size: 13px;
  --drawer-quick-link-gap: 0.8rem;
  --drawer-menu-item-padding-y: 1.4rem;
  --drawer-menu-font-size: 14px;
  --drawer-child-menu-gap: 0.8rem;
  --drawer-child-menu-margin-bottom: 1.2rem;
  --drawer-policy-margin-top: 2.4rem;
  --drawer-policy-font-size: 13px;
  --drawer-policy-gap: 2rem;
}
@media (min-width: 992px) {
  .c-hamburger-menu__outer-inner--compact {
    --drawer-panel-padding-bottom: 2rem;
    --drawer-quick-link-height: 5.2rem;
    --drawer-menu-item-padding-y: 1.6rem;
    --drawer-menu-font-size: 14px;
    --drawer-policy-margin-top: 3.2rem;
  }
}
.c-hamburger-menu__outer-inner--compact-2 {
  --drawer-panel-padding-bottom: 1.2rem;
  --drawer-quick-link-height: 4.2rem;
  --drawer-quick-link-font-size: 12px;
  --drawer-quick-links-gap: 0.4rem;
  --drawer-menu-item-padding-y: 1.2rem;
  --drawer-menu-font-size: 13px;
  --drawer-child-menu-gap: 0.6rem;
  --drawer-child-menu-margin-bottom: 0.8rem;
  --drawer-policy-margin-top: 3.2rem;
  --drawer-policy-font-size: 12px;
  --drawer-policy-gap: 2rem;
}
@media (max-width: 991.98px) {
  .c-hamburger-menu__outer-inner--compact-2 {
    --drawer-policy-margin-top: 1.6rem;
  }
}
@media (min-width: 992px) {
  .c-hamburger-menu__outer-inner--compact-2 {
    --drawer-panel-padding-bottom: 1.6rem;
    --drawer-quick-link-height: 4.6rem;
    --drawer-menu-item-padding-y: 1.6rem;
    --drawer-menu-font-size: 14px;
    --drawer-policy-margin-top: 4rem;
  }
}
.c-hamburger-menu__outer-inner--compact-3 {
  --drawer-panel-padding-bottom: 1rem;
  --drawer-quick-link-height: 3.6rem;
  --drawer-quick-link-font-size: 11px;
  --drawer-quick-links-gap: 0.4rem;
  --drawer-menu-item-padding-y: 1rem;
  --drawer-menu-font-size: 12px;
  --drawer-child-menu-gap: 0.4rem;
  --drawer-child-menu-margin-bottom: 0.6rem;
  --drawer-policy-margin-top: 2.4rem;
  --drawer-policy-font-size: 11px;
  --drawer-policy-gap: 2rem;
}
@media (min-width: 992px) {
  .c-hamburger-menu__outer-inner--compact-3 {
    --drawer-panel-padding-bottom: 1.2rem;
    --drawer-quick-link-height: 4rem;
    --drawer-menu-item-padding-y: 1.2rem;
    --drawer-menu-font-size: 12.5px;
    --drawer-policy-margin-top: 3.2rem;
  }
}
.c-hamburger-menu__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  max-width: none;
  margin-inline: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
@media (min-width: 992px) {
  .c-hamburger-menu__inner {
    max-width: 118rem;
    margin-inline: auto;
  }
}
.c-hamburger-menu__link-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--drawer-quick-links-gap);
  flex-shrink: 0;
  width: 100%;
  margin: -0.4rem -0.4rem 0.6rem;
  padding: 0.4rem;
}
.c-hamburger-menu__link-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--drawer-quick-link-gap);
  width: 100%;
  height: var(--drawer-quick-link-height);
  font-size: var(--drawer-quick-link-font-size);
  font-weight: 500;
  border: 1px solid #C3C3C3;
  border-radius: 0.6rem;
  transition: border-color 0.3s;
  box-shadow: 0 0 0.3rem 0.1rem rgba(0, 0, 0, 0.1);
}
@media (hover: hover) {
  .c-hamburger-menu__link-item:hover {
    border-color: var(--main-color);
  }
}
.c-hamburger-menu__link-item img {
  width: 2.2rem;
}
.c-hamburger-menu__link-item .icon-heart {
  width: 2.2rem;
  flex-shrink: 0;
}
.c-hamburger-menu__link-item--full {
  grid-column: span 2;
}
.c-hamburger-menu__button-wrap {
  width: 27.4rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .c-hamburger-menu__button-wrap {
    gap: 0.5rem;
    width: 100%;
  }
}
.c-hamburger-menu__button-wrap--introduction {
  --button-color: var(--accent-red);
}
.c-hamburger-menu__button-wrap--introduction .c-button-icon {
  width: 100%;
  padding-right: 0;
  gap: 1rem;
  height: 5.6rem;
}
.c-hamburger-menu__button-wrap--introduction .c-button-icon__icon {
  width: 3.2rem;
}
@media screen and (max-width: 768px) {
  .c-hamburger-menu__button-wrap--introduction .c-button-icon__icon {
    width: 4rem;
  }
}
.c-hamburger-menu__button-wrap--introduction .c-button-icon__icon svg {
  width: 2rem;
}
.c-hamburger-menu__button-wrap--introduction .c-button-icon__icon svg path {
  stroke: var(--accent-red);
  fill: var(--accent-red);
  transition: stroke 0.3s, fill 0.3s;
}
.c-hamburger-menu__button-wrap--introduction .c-button-icon__text {
  font-size: 1.8rem;
  padding-right: 2rem;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .c-hamburger-menu__button-wrap--introduction .c-button-icon__text {
    text-align: center;
  }
}
.c-hamburger-menu__button-wrap--introduction .c-button-icon__text > .in-small {
  font-size: 1.5rem;
}
@media (hover: hover) {
  .c-hamburger-menu__button-wrap--introduction .c-button-icon:hover svg path {
    stroke: white;
    fill: white;
  }
}
.c-hamburger-menu__consultant-link {
  flex-shrink: 0;
  width: 100%;
  margin-top: 0.6rem;
  text-align: center;
}
.c-hamburger-menu__consultant-link a {
  color: var(--main-color);
  font-size: 12px;
  font-weight: 500;
}
.c-hamburger-menu__menu {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 100%;
  margin-top: var(--drawer-menu-margin-top);
  padding: 0;
  list-style: none;
}
.c-hamburger-menu__menu-item {
  position: relative;
  display: block;
  border-bottom: 1px solid #C3C3C3;
  font-size: var(--drawer-menu-font-size);
  font-weight: 500;
  line-height: 1.35;
  padding: var(--drawer-menu-item-padding-y) 1.2rem var(--drawer-menu-item-padding-y) 0;
}
.c-hamburger-menu__menu-item:has(.c-hamburger-menu__child-menu) {
  padding: 0;
}
.c-hamburger-menu__menu-item > .in-text {
  display: inline-flex;
  gap: 1rem;
  align-items: center;
}
.c-hamburger-menu__menu-item > .in-text svg {
  display: block;
  flex-shrink: 0;
  width: 15px;
  height: 15px;
}
.c-hamburger-menu__menu-item > .in-angle {
  position: absolute;
  top: var(--drawer-menu-item-padding-y);
  right: 0.5rem;
  width: 1rem;
}
.c-hamburger-menu__menu-item > .in-parent {
  position: relative;
  display: block;
  width: 100%;
  padding: var(--drawer-menu-item-padding-y) 1.2rem var(--drawer-menu-item-padding-y) 0;
}
.c-hamburger-menu__menu-item > .in-parent > .in-plus {
  position: absolute;
  display: block;
  width: 1.6rem;
  aspect-ratio: 1/1;
  top: 0.5rem;
  right: 0;
}
.c-hamburger-menu__menu-item > .in-parent > .in-plus > .in-bar {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--main-color);
  border-radius: 0.2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-hamburger-menu__menu-item > .in-parent > .in-plus > .in-bar:last-of-type {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.3s;
}
.c-hamburger-menu__menu-item > .in-parent > .in-plus.is-open > .in-bar:last-of-type {
  transform: translate(-50%, -50%);
}
.c-hamburger-menu__child-menu {
  display: flex;
  flex-direction: column;
  gap: var(--drawer-child-menu-gap);
  width: 100%;
  margin: 0 0 var(--drawer-child-menu-margin-bottom);
  padding: 0;
  list-style: none;
}
.c-hamburger-menu__child-menu-item {
  position: relative;
  display: block;
  padding: 0 1.2rem 0 1.7rem;
  font-size: var(--drawer-menu-font-size);
  font-weight: 500;
  line-height: 1.35;
}
.c-hamburger-menu__child-menu-item > .in-angle {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  width: 1rem;
  transform: translate(0, -50%);
}
.c-hamburger-menu__policy-list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--drawer-policy-gap);
  flex-shrink: 0;
  width: 100%;
  margin: var(--drawer-policy-margin-top) 0 0;
  padding: 0 0.4rem;
  list-style: none;
}
.c-hamburger-menu__policy-item {
  flex: 0 0 auto;
  max-width: 100%;
  font-size: clamp(10px, 2.8vw, var(--drawer-policy-font-size));
  line-height: 1.5;
  text-align: center;
}
.c-hamburger-menu__policy-item a {
  display: inline-block;
  color: #666;
  transition: opacity 0.3s;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (hover: hover) {
  .c-hamburger-menu__policy-item a:hover {
    opacity: 0.6;
    text-decoration: none;
    color: #666;
  }
}
.c-hamburger-menu__outer-inner--compact .c-hamburger-menu__policy-item, .c-hamburger-menu__outer-inner--compact-2 .c-hamburger-menu__policy-item, .c-hamburger-menu__outer-inner--compact-3 .c-hamburger-menu__policy-item {
  font-size: clamp(9.5px, 2.6vw, var(--drawer-policy-font-size));
}
.c-hamburger-menu.is-open {
  opacity: 1;
  pointer-events: auto;
}
.c-hamburger-menu.is-open .c-hamburger-menu__outer-inner {
  right: 0;
}

.c-button-icon {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  position: relative;
  width: 38.1rem;
  height: 7.4rem;
  border-radius: 6rem;
  background-color: var(--button-color);
  padding: 1.2rem;
  transition: background-color 0.3s;
  border: solid 0.2rem var(--button-color);
}
@media screen and (max-width: 768px) {
  .c-button-icon {
    width: 100%;
    height: 5.2rem;
    padding: 0.6rem;
  }
}
.c-button-icon__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: white;
  transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-button-icon__icon {
    width: 3.9rem;
  }
}
.c-button-icon__icon svg path {
  transition: fill 0.3s;
}
.c-button-icon__text {
  color: white;
  font-size: 1.8rem;
  transition: color 0.3s;
  text-align: center;
  flex-grow: 1;
  padding-right: 3.5rem;
}
@media screen and (max-width: 768px) {
  .c-button-icon__text {
    font-size: 1.5rem;
    padding-right: 4.5rem;
  }
}
.c-button-icon__text--bold {
  font-weight: bold;
}
.c-button-icon__angle {
  position: absolute;
  top: calc(50% + 0.2rem);
  right: 2.5rem;
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .c-button-icon__angle {
    right: 2rem;
  }
}
.c-button-icon__angle svg path {
  transition: stroke 0.3s;
}
@media (hover: hover) {
  .c-button-icon:hover {
    background-color: white;
  }
  .c-button-icon:hover .c-button-icon__icon {
    background-color: var(--button-color);
  }
  .c-button-icon:hover .c-button-icon__icon svg path {
    fill: white;
  }
  .c-button-icon:hover .c-button-icon__text {
    color: var(--button-color);
  }
  .c-button-icon:hover .c-button-icon__angle svg path {
    stroke: var(--button-color);
  }
}

.c-bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-bubble {
    font-size: 1.5rem;
  }
}
.c-bubble::before, .c-bubble::after {
  content: "／";
  display: block;
  color: var(--button-color);
}
.c-bubble::before {
  transform: rotateY(180deg);
}

.c-footer__contact {
  padding-block: 3rem 4rem;
  padding-inline: 10.8rem;
  background-color: #EBF4FE;
}
@media screen and (max-width: 768px) {
  .c-footer__contact {
    padding: 5rem 1.5rem 6rem;
  }
}
.c-footer__contact .c-bubble {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  .c-footer__contact .c-bubble {
    font-size: min(3.5vw, 16px);
    white-space: nowrap;
  }
}
.c-footer__contact .c-button-icon__text {
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .c-footer__contact .c-button-icon__text {
    font-size: 15px;
  }
}
.c-footer__contact-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-footer__contact-title {
    gap: 0.5rem;
  }
}
.c-footer__contact-title > .in-icon {
  width: 15rem;
  transform: translate(0, 0.5rem);
}
@media screen and (max-width: 768px) {
  .c-footer__contact-title > .in-icon {
    width: 9.2rem;
  }
}
.c-footer__contact-title > .in-text {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .c-footer__contact-title > .in-text {
    font-size: min(6vw, 24px);
  }
}
.c-footer__button-bubble {
  --button-color: var(--accent-red);
  margin-top: -2rem;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .c-footer__button-bubble {
    margin-top: 4rem;
    gap: 0.5rem;
  }
}
.c-footer__button-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6rem;
  width: 79rem;
  max-width: 100%;
  margin-inline: auto;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-footer__button-list {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding-inline: 0.5rem;
  }
}
.c-footer__button-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.4rem;
}
@media screen and (max-width: 768px) {
  .c-footer__button-wrap {
    gap: 0.5rem;
    width: 100%;
  }
}
.c-footer__button-wrap--introduction {
  --button-color: var(--accent-red);
}
.c-footer__button-wrap--introduction .c-button-icon__icon svg {
  width: 3rem;
}
@media screen and (max-width: 768px) {
  .c-footer__button-wrap--introduction .c-button-icon__icon svg {
    width: 2.2rem;
  }
}
.c-footer__button-wrap--introduction .c-button-icon__icon svg path {
  fill: var(--accent-red);
}
.c-footer__button-wrap--line {
  --button-color: #00B900;
}
.c-footer__button-wrap--line .c-button-icon__icon svg {
  width: 3.1rem;
}
@media screen and (max-width: 768px) {
  .c-footer__button-wrap--line .c-button-icon__icon svg {
    width: 2.4rem;
  }
}
.c-footer__button-wrap--consultation {
  --button-color: var(--main-color);
}
.c-footer__button-wrap--consultation .c-button-icon__icon svg {
  width: 2.7rem;
  margin-left: 1rem;
}
@media screen and (max-width: 768px) {
  .c-footer__button-wrap--consultation .c-button-icon__icon svg {
    width: 2rem;
    margin-left: 0.5rem;
  }
}
.c-footer__contact-wrap {
  text-align: center;
  margin-top: 3rem;
  font-weight: 500;
}
.c-footer__contact-wrap a {
  color: var(--main-color);
  text-decoration: underline;
}
.c-footer__logo-nav {
  padding: 5.8rem 12rem 0;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .c-footer__logo-nav {
    padding: 4.8rem 1.5rem 0;
    flex-direction: column;
    gap: 4rem;
  }
}
.c-footer__logo-nav--consultant {
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-footer__logo-nav--consultant {
    padding-top: 0;
  }
}
.c-footer__logo-nav--consultant .c-footer__logo-wrap p {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-footer__logo-wrap {
    text-align: center;
  }
}
.c-footer__logo-wrap p {
  margin-bottom: 1.5rem;
  font-size: 16px;
  line-height: 1.8;
}
.c-footer__logo img {
  width: 24rem;
}
@media screen and (max-width: 768px) {
  .c-footer__logo img {
    width: 18rem;
  }
}
@media screen and (max-width: 768px) {
  .c-footer__nav {
    padding-inline: 1.5rem;
  }
}
.c-footer__nav .c-global-nav__item a {
  font-size: 16px;
}
.c-footer__nav .c-global-nav__item-title {
  font-size: 16px;
}
.c-footer__nav .c-global-nav__sub-item a {
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .c-footer__nav .c-global-nav {
    height: 28rem;
  }
}
.c-footer__copyright-policy {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 12rem;
  padding-block: 5rem 4rem;
}
@media screen and (max-width: 768px) {
  .c-footer__copyright-policy {
    flex-direction: column-reverse;
    align-items: center;
    gap: 5rem;
    padding-inline: 5rem;
    padding-block: 0 10rem;
  }
}
.c-footer__copyright-policy--consultant {
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-footer__copyright-policy--consultant {
    flex-direction: column-reverse;
    padding-bottom: 5rem;
    margin-top: 3rem;
    gap: 5rem;
  }
}
.c-footer__copyright {
  font-size: 13px;
  color: #666;
}
.c-footer__policy-list {
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .c-footer__policy-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.c-footer__policy-item {
  font-size: 14px;
  color: #666666;
  white-space: nowrap;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .c-footer__policy-item {
    font-size: 13px;
  }
}
.c-footer__policy-item a {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (hover: hover) {
  .c-footer__policy-item:hover {
    opacity: 0.6;
  }
}
.c-footer__button-top {
  position: fixed;
  bottom: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0.6rem 0 0 0/0.6rem 0 0 0;
  background-color: var(--main-color);
  width: 5rem;
  aspect-ratio: 1/1;
  gap: 0.5rem;
  padding-top: 0.3rem;
  transition: opacity 0.3s;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .c-footer__button-top {
    display: none;
  }
}
.c-footer__button-top > .in-icon {
  width: 1.5rem;
}
.c-footer__button-top > .in-text {
  color: white;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--alex);
}
@media (hover: hover) {
  .c-footer__button-top:hover {
    opacity: 0.6;
  }
}
.c-footer__float-nav {
  position: fixed;
  top: 17rem;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 1.6rem;
  z-index: 10;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .c-footer__float-nav {
    top: auto;
    bottom: 0;
    right: auto;
    left: 0;
    flex-direction: row;
    padding-inline: 0.6rem;
    gap: 0.6rem;
    width: 100%;
  }
}
.c-footer__float-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 4.6rem;
  height: auto;
  padding: 0.6rem 0.6rem 1.2rem;
  background-color: var(--item-color);
  color: white;
  transition: opacity 0.3s, background-color 0.3s;
  pointer-events: auto;
  border-radius: 0.6rem 0 0 0.6rem/0.6rem 0 0 0.6rem;
  border: solid 0.2rem var(--item-color);
  border-right: none;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .c-footer__float-item {
    flex-direction: row;
    height: 5.6rem;
    width: calc(50% - 0.9rem);
    flex-shrink: 0;
    border-radius: 0.6rem 0.6rem 0 0/0.6rem 0.6rem 0 0;
  }
}
.c-footer__float-item > .in-icon {
  width: 3.4rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s;
}
.c-footer__float-item > .in-icon path {
  transition: fill 0.3s;
}
.c-footer__float-item > .in-text {
  writing-mode: vertical-rl;
  letter-spacing: 0.3rem;
  transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-footer__float-item > .in-text {
    writing-mode: horizontal-tb;
    letter-spacing: 0.1rem;
    line-height: 1.3;
  }
}
.c-footer__float-item > .in-text > .in-eg {
  writing-mode: horizontal-tb;
  line-height: 1.1;
  transform: translate(0.1rem, 0);
}
.c-footer__float-item--introduction {
  --item-color: var(--accent-red);
}
.c-footer__float-item--introduction svg {
  width: 2rem;
}
@media screen and (max-width: 768px) {
  .c-footer__float-item--introduction svg {
    width: 2.2rem;
  }
}
.c-footer__float-item--line {
  --item-color: #00B900;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-footer__float-item--line {
    gap: 1rem;
  }
}
.c-footer__float-item--line svg {
  width: 2.4rem;
}
@media screen and (max-width: 768px) {
  .c-footer__float-item--line svg {
    width: 2.6rem;
  }
}
@media (hover: hover) {
  .c-footer__float-item:hover {
    background-color: white;
  }
  .c-footer__float-item:hover > .in-icon {
    background-color: var(--item-color);
  }
  .c-footer__float-item:hover > .in-icon path {
    fill: white;
  }
  .c-footer__float-item:hover > .in-text {
    color: var(--item-color);
  }
}

.c-global-nav {
  display: flex;
  gap: 6rem;
}
@media screen and (max-width: 768px) {
  .c-global-nav {
    flex-wrap: wrap;
    flex-direction: column;
    gap: 1.5rem;
    height: 28rem;
  }
}
.c-global-nav__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-global-nav__list {
    gap: 1.5rem;
  }
}
.c-global-nav__item > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 16px;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-global-nav__item > a:hover {
    opacity: 0.6;
  }
}
.c-global-nav__item > a::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-image: url(../images/common/ic-angle.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-global-nav__item-title {
  font-size: 16px;
}
.c-global-nav__sub-list {
  margin-top: 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .c-global-nav__sub-list {
    padding-left: 1rem;
  }
}
.c-global-nav__sub-item > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 15px;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-global-nav__sub-item > a:hover {
    opacity: 0.6;
  }
}
.c-global-nav__sub-item > a::before {
  content: "-";
  color: var(--main-color);
}

.c-heading-center {
  text-align: center;
  font-size: 3.6rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-heading-center {
    font-size: 2.4rem;
  }
}
.c-heading-center--small {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .c-heading-center--small {
    font-size: 2.4rem;
  }
}
.c-heading-center--s-small {
  font-size: 2.4rem;
}

.c-heading-left {
  font-size: max(30px, 3.6rem);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-heading-left {
    font-size: 2.4rem;
  }
}
.c-heading-left--medium {
  font-size: max(24px, 2.8rem);
}
@media screen and (max-width: 768px) {
  .c-heading-left--medium {
    font-size: 2.4rem;
  }
}
.c-heading-left--small {
  font-size: max(20px, 2.6rem);
}
@media screen and (max-width: 768px) {
  .c-heading-left--small {
    font-size: 2.4rem;
  }
}
.c-heading-left--s-small {
  font-size: max(20px, 2.4rem);
}
@media screen and (max-width: 768px) {
  .c-heading-left--s-small {
    font-size: 2.4rem;
  }
}

.c-location-list {
  width: 26rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.c-location-list__title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3.1rem;
  color: white;
  background-color: var(--list-color);
  border-radius: 0.4rem;
  position: relative;
}
.c-location-list__title img {
  width: 0.8rem;
  position: absolute;
  top: 50%;
  right: 1.3rem;
  transform: translate(0, -50%) rotate(90deg);
  transition: transform 0.3s;
  display: none;
}
@media screen and (max-width: 768px) {
  .c-location-list__title img {
    display: block;
  }
}
.c-location-list__title.is-open img {
  transform: translate(0, -50%) rotate(-90deg);
}
.c-location-list__data {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.4rem;
}
@media screen and (max-width: 768px) {
  .c-location-list__data {
    grid-template-columns: repeat(4, 1fr);
  }
}
.c-location-list__button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.6rem;
  border: solid 1px var(--list-color);
  border-radius: 0.4rem;
  font-size: 1.4rem;
  transition: background-color 0.3s, color 0.3s;
  color: var(--list-color);
  background-color: white;
}
@media screen and (max-width: 768px) {
  .c-location-list__button {
    height: 3rem;
  }
}
@media (hover: hover) {
  .c-location-list__button:hover {
    background-color: var(--list-color);
    color: white;
  }
}
.c-location-list__button input[type=checkbox] {
  display: none;
}
.c-location-list__button:has(input:checked) {
  background-color: var(--list-color);
  color: white;
}
.c-location-list--2col {
  width: 17.2rem;
}
.c-location-list--2col .c-location-list__data {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .c-location-list--2col .c-location-list__data {
    grid-template-columns: repeat(4, 1fr);
  }
}
.c-location-list--hokkaido {
  --list-color: #65ACEB;
}
.c-location-list--kanto {
  --list-color: #5ECE67;
}
.c-location-list--koshinetu {
  --list-color: #A3CA37;
}
.c-location-list--tokai {
  --list-color: #E8C114;
}
.c-location-list--kansai {
  --list-color: #F39C1A;
}
.c-location-list--chugoku-shikoku {
  --list-color: #FF6767;
}
.c-location-list--kyusyu {
  --list-color: #ED8DD0;
}

.c-list-check {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  .c-list-check {
    gap: 1.5rem;
  }
}
.c-list-check__item {
  position: relative;
  padding-left: 3.6rem;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .c-list-check__item {
    font-size: 1.6rem;
    padding-left: 2.6rem;
    white-space: nowrap;
    margin-bottom: 0;
  }
}
.c-list-check__item::before {
  content: "";
  display: block;
  width: 2.4rem;
  aspect-ratio: 1/1;
  background-image: url(../images/common/ic-check.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 0.3rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .c-list-check__item::before {
    width: 2rem;
  }
}

.c-over-link {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.c-card-voice {
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  padding: 2rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-card-voice {
    padding: 1.8rem;
  }
}
.c-card-voice__head {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 768px) {
  .c-card-voice__head {
    gap: 1.2rem;
    margin-bottom: 1.6rem;
  }
}
.c-card-voice__thumb {
  width: 8.8rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  overflow: hidden;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-card-voice__thumb {
    width: 7.2rem;
  }
}
.c-card-voice__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-card-voice__head-desc {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.c-card-voice__cat-age {
  flex: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1rem;
}
.c-card-voice__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 2.5rem;
  padding-inline: 1.6rem;
  background-color: var(--main-color);
  border-radius: 0.6rem;
  color: white;
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.c-card-voice__recruit-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  opacity: 0.7;
}
.c-card-voice__title {
  font-size: 1.8rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-card-voice__title {
    font-size: 1.6rem;
  }
}
.c-card-voice__excerpt {
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-card-voice__more {
  margin-top: 2.4rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .c-card-voice__more {
    margin-top: 1.6rem;
  }
}
@media (hover: hover) {
  .c-card-voice:hover .c-card-voice__more svg {
    transform: translate(0.5rem, 0);
  }
}

.c-button-simple-angle {
  --button-simple-angle-color: var(--main-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  background-color: var(--button-simple-angle-color);
  width: auto;
  height: auto;
  border-radius: 8rem;
  color: white;
  padding-inline: 2.6rem 1.8rem;
  transition: background-color 0.3s, color 0.3s;
  border: solid 0.2rem var(--button-simple-angle-color);
  font-weight: 500;
  min-height: 4.5rem;
  padding-block: 0.5rem;
}
.c-button-simple-angle__text {
  font-size: 1.5rem;
  white-space: nowrap;
}
.c-button-simple-angle__angle svg {
  width: 0.9rem;
  display: flex;
  align-items: center;
}
.c-button-simple-angle__angle svg path {
  transition: stroke 0.3s;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
}
.c-button-simple-angle__angle--lg svg {
  width: 1.1rem;
}
@media (hover: hover) {
  .c-button-simple-angle:hover {
    background-color: white;
    color: var(--button-simple-angle-color);
  }
  .c-button-simple-angle:hover .c-button-simple-angle__angle svg path {
    stroke: var(--button-simple-angle-color);
  }
}
.c-button-simple-angle--red {
  --button-simple-angle-color: var(--accent-red);
}

.c-card-job-post {
  background-color: white;
  border-radius: 0.6rem;
  overflow: hidden;
  position: relative;
}
.c-card-job-post__thumb-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 37/21;
  overflow: hidden;
}
.c-card-job-post__thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.c-card-job-post__label-list {
  position: absolute;
  top: 1.6rem;
  left: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.c-card-job-post__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
  background-color: var(--main-color);
  color: white;
  border: solid 1px white;
  font-size: 1.3rem;
  padding-inline: 1.6rem;
  border-radius: 0.6rem;
}
.c-card-job-post__desc-wrap {
  padding: 2rem;
}
.c-card-job-post__title {
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  font-weight: 500;
}
.c-card-job-post__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.c-card-job-post__item {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 0.5rem;
}
.c-card-job-post__item-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--main-color);
  font-size: 1.3rem;
}
.c-card-job-post__item-title img {
  width: 1.5rem;
}
.c-card-job-post__more {
  margin-top: 2.4rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .c-card-job-post__more {
    margin-top: 1.6rem;
  }
}
@media (hover: hover) {
  .c-card-job-post:hover .c-card-job-post__thumb-wrap img {
    transform: scale(1.05);
  }
  .c-card-job-post:hover .c-card-job-post__more svg {
    transform: translate(1rem, 0);
  }
}

.c-faq-item {
  background-color: white;
  border: solid 1px #CCCCCC;
  border-radius: 0.6rem;
}
.c-faq-item__title {
  padding: 2rem 8.4rem 2rem 5.8rem;
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-faq-item__title {
    padding: 1.5rem 5rem;
    font-size: 1.5rem;
  }
}
.c-faq-item__title::before {
  content: "Q";
  font-family: var(--alex);
  font-size: 2.2rem;
  color: var(--main-color);
  position: absolute;
  left: 2rem;
  top: 1.8rem;
}
@media screen and (max-width: 768px) {
  .c-faq-item__title::before {
    font-size: 2rem;
    left: 1.6rem;
    top: 1.2rem;
  }
}
.c-faq-item__button {
  text-align: left;
  width: 100%;
}
.c-faq-item__button-text {
  font-size: 1.6rem;
  color: var(--font-color);
  font-family: var(--zen);
}
.c-faq-item__cross {
  display: block;
  width: 2rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 2.2rem;
  right: 3.4rem;
  transition: transform 0.3s;
}
@media screen and (max-width: 768px) {
  .c-faq-item__cross {
    width: 1.8rem;
    top: 1.7rem;
    right: 1.7rem;
  }
}
.c-faq-item__cross::before, .c-faq-item__cross::after {
  content: "";
  display: block;
  width: 100%;
  height: 0.2rem;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s;
}
.c-faq-item__cross::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-faq-item__cross.is-open {
  transform: rotate(90deg);
}
.c-faq-item__cross.is-open::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-faq-item__data {
  font-size: 1.5rem;
}
.c-faq-item__data-inner {
  padding-block: 1.5rem 3rem;
  padding-inline: 5.8rem 2rem;
  position: relative;
  font-size: 1.5rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .c-faq-item__data-inner {
    padding-inline: 5rem 2rem;
  }
}
.c-faq-item__data-inner::before {
  content: "A";
  font-family: var(--alex);
  font-size: 2.2rem;
  position: absolute;
  left: 2rem;
  top: 1rem;
}
@media screen and (max-width: 768px) {
  .c-faq-item__data-inner::before {
    font-size: 2rem;
    left: 1.6rem;
  }
}
.c-faq-item__data-inner::after {
  content: "";
  display: block;
  width: calc(100% - 5rem);
  height: 1px;
  position: absolute;
  top: 0;
  left: 1.6rem;
  background-color: #cccccc;
}
.c-faq-item__data-inner strong {
  color: #cf5252;
  font-weight: medium;
}
.c-faq-item__data-inner a {
  text-decoration: underline;
  color: var(--main-color);
}
@media (hover: hover) {
  .c-faq-item:hover .c-faq-item__cross {
    transform: rotate(90deg);
  }
}

.c-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.6rem;
  border: solid 1px var(--main-color);
  border-radius: 3rem;
  color: var(--main-color);
  font-size: 1.4rem;
  position: relative;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-tab {
    display: inline-flex;
    width: auto;
    padding-inline: 1rem;
    height: 2.7rem;
    font-size: 1.3rem;
  }
}
.c-tab::after {
  content: "";
  display: block;
  border: solid 0.8rem transparent;
  border-top: solid 1.2rem var(--main-color);
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0);
  opacity: 0;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .c-tab::after {
    border-width: 0.6rem;
    border-top-width: 1rem;
  }
}
.c-tab.is-current {
  background-color: var(--main-color);
  color: white;
}
.c-tab.is-current::after {
  opacity: 1;
}
@media (hover: hover) {
  .c-tab:hover {
    background-color: var(--main-color);
    color: white;
  }
}

.c-card-column {
  position: relative;
}
.c-card-column__thumb {
  display: block;
  width: 100%;
  aspect-ratio: 27/18;
  border-radius: 0.6rem;
  overflow: hidden;
  margin-bottom: 1rem;
}
.c-card-column__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-card-column__date-cat {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-card-column__date-cat {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
.c-card-column__date {
  font-size: 1.4rem;
  opacity: 0.5;
  font-family: var(--alex);
}
.c-card-column__cat {
  display: inline-flex;
  align-items: center;
  padding-inline: 1rem;
  border: solid 1px var(--main-color);
  border-radius: 2rem;
  color: var(--main-color);
  font-size: 1.2rem;
}
.c-card-column__title {
  font-size: 1.4rem;
  font-weight: 500;
}

.c-link-angle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.2rem;
}
.c-link-angle__text {
  color: var(--main-color);
  font-family: 1.5rem;
}
.c-link-angle__angle svg, .c-link-angle__angle img {
  width: 0.7rem;
  transition: transform 0.3s;
}
.c-link-angle__angle svg path, .c-link-angle__angle img path {
  stroke: var(--main-color);
}
@media (hover: hover) {
  .c-link-angle:hover .c-link-angle__angle svg, .c-link-angle:hover .c-link-angle__angle img {
    transform: translate(1rem, 0);
  }
}

.c-item-news {
  position: relative;
  display: flex;
  align-items: center;
  padding-block: 2.6rem;
  padding-inline: 1rem;
  border-bottom: solid 1px #CCCCCC;
  gap: 1rem;
  transition: border-color 0.3s;
}
.c-item-news__date {
  font-size: max(13px, 1.4rem);
  font-family: var(--alex);
  font-weight: 500;
  opacity: 0.5;
  transition: color 0.3s;
  width: max(80px, 8rem);
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-item-news__date {
    font-size: 1.3rem;
  }
}
.c-item-news__title {
  transition: color 0.3s;
  flex: auto;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-item-news__title {
    font-size: 1.5rem;
  }
}
@media (hover: hover) {
  .c-item-news:hover {
    border-color: var(--main-color);
  }
  .c-item-news:hover .c-item-news__date {
    color: var(--main-color);
  }
  .c-item-news:hover .c-item-news__title {
    color: var(--main-color);
  }
}

.c-button-simple {
  display: flex;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 3.4rem;
  padding: 0.8rem;
  border: solid 1px var(--main-color);
  border-radius: 0.4rem;
  color: var(--main-color);
  font-size: 1.4rem;
  transition: background-color 0.3s, color 0.3s;
  text-align: center;
}
@media (hover: hover) {
  .c-button-simple:hover {
    background-color: var(--main-color);
    color: white;
  }
}
.c-button-simple input[type=checkbox] {
  display: none;
}

.c-button-submit {
  width: 13.6rem;
  min-height: 4.6rem;
  background-color: var(--main-color);
  color: white;
  padding: 0 2.5rem;
  border-radius: 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.5rem;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-button-submit {
    width: 100%;
    height: 4.2rem;
    justify-content: center;
  }
}
@media (hover: hover) {
  .c-button-submit:hover {
    background-color: white;
    color: var(--main-color);
  }
}
.c-button-submit--red {
  background-color: var(--accent-red);
  border: solid 1px var(--accent-red);
}
@media (hover: hover) {
  .c-button-submit--red:hover {
    color: var(--accent-red);
  }
}

.c-input-slider {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-input-slider {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.c-input-slider__graph {
  height: 2.7rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  display: block;
  pointer-events: none;
  text-align: center;
}
.c-input-slider__graph img {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .c-input-slider__graph {
    top: auto;
    bottom: -0.5rem;
    width: 24rem;
  }
}
.c-input-slider__text {
  flex-shrink: 0;
  width: 8rem;
}
@media screen and (max-width: 768px) {
  .c-input-slider__text {
    font-size: 1.5rem;
  }
}
.c-input-slider__text--max {
  margin-left: 1rem;
}
@media screen and (max-width: 768px) {
  .c-input-slider__text--max {
    text-align: right;
  }
}
.c-input-slider__slider {
  height: 0.4rem;
  flex-grow: 1;
  border: none;
  position: relative;
  transform: translate(0, 0.3rem);
  margin: 0 1rem;
}
@media screen and (max-width: 768px) {
  .c-input-slider__slider {
    width: 100%;
    order: 2;
    margin-top: 2rem;
  }
}
.c-input-slider__slider .noUi-connects {
  background-color: #AAAAAA;
}
.c-input-slider__slider .noUi-connect {
  background-color: var(--main-color);
}
.c-input-slider .noUi-base {
  position: relative;
}
.c-input-slider .noUi-handle {
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  border: solid 1px var(--main-color);
  display: flex;
  top: calc(50% + 0.2rem);
  box-shadow: none;
  box-sizing: border-box;
  right: 0;
  transform: translate(50%, -50%);
}
.c-input-slider .noUi-handle::before {
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 100%;
  background-color: var(--main-color);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.c-input-slider .noUi-handle::after {
  display: none;
}
.c-input-slider .noUi-handle .noUi-touch-area {
  cursor: pointer;
}
.c-input-slider--stack {
  flex-direction: column;
  align-items: stretch;
  height: auto;
  gap: 0.6rem;
}
.c-input-slider--stack .c-input-slider__slider {
  order: 2;
  margin-top: 0;
  transform: none;
}
.c-input-slider--stack .c-input-slider__labels {
  order: 1;
}
.c-input-slider__labels {
  display: flex;
  justify-content: space-between;
  font-size: 1.4rem;
  color: #4c5674;
  width: 100%;
  margin-bottom: 0.4rem;
  padding: 0 1rem;
}
.c-input-slider__labels .c-input-slider__text {
  width: auto;
}
.c-input-slider--single .c-input-slider__labels {
  justify-content: flex-start;
  gap: 0.8rem;
}
.c-input-slider--single .c-input-slider__text--max {
  display: none;
}

.c-label-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.c-label-checkbox__input {
  display: none;
}
.c-label-checkbox__dummy-input {
  display: block;
  width: 2.2rem;
  aspect-ratio: 1/1;
  border: solid 1px var(--main-color);
  border-radius: 0.2rem;
  overflow: hidden;
}
.c-label-checkbox__text {
  font-size: 1.8rem;
  color: var(--main-color);
}
.c-label-checkbox:has(input:checked) .c-label-checkbox__dummy-input {
  background-image: url(../images/common/ic-check.png);
  background-size: cover;
  background-position: center;
}

.c-subpage {
  background: linear-gradient(to bottom, rgba(239, 246, 255, 0.5019607843), #E6F1FF 36rem);
  padding-top: 10rem;
}
.c-subpage :where(p) {
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.c-subpage :where(p):last-child {
  margin-bottom: 0;
}
.c-subpage :where(a:not([class])) {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-subpage :where(a:not([class])):hover {
    opacity: 0.7;
  }
}
.c-subpage__head {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 20rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .c-subpage__head {
    height: 15rem;
  }
}
.c-subpage__wrapper {
  background-color: white;
  border-radius: 3rem 3rem 0 0/3rem 3rem 0 0;
  padding: 2.7rem 5.7rem 10rem;
}
@media screen and (max-width: 768px) {
  .c-subpage__wrapper {
    padding: 2rem 2rem 7rem;
  }
}
.c-subpage .c-pagination {
  margin-top: 5rem;
}

.c-breadcrumb {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 640px) {
  .c-breadcrumb {
    margin-bottom: 1.2rem;
  }
}
.c-breadcrumb__list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.6rem 1.2rem;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
@media screen and (max-width: 640px) {
  .c-breadcrumb__list {
    gap: 0.5rem 0.9rem;
    padding-bottom: 1rem;
  }
}
.c-breadcrumb__item {
  flex: 0 0 auto;
  font-size: max(13px, 1.3rem);
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 640px) {
  .c-breadcrumb__item {
    font-size: max(12px, 1.2rem);
    gap: 0.8rem;
  }
}
.c-breadcrumb__item::after {
  content: "";
  display: block;
  width: 0.7rem;
  height: 1.1rem;
  background-image: url(../images/common/ic-angle.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.c-breadcrumb__item [itemprop=name] {
  opacity: 0.4;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-breadcrumb__item a:hover [itemprop=name] {
    opacity: 1;
  }
}
.c-breadcrumb__item:last-of-type::after {
  display: none;
}

.c-checkbox-label {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  padding-inline: 1.2rem;
  padding-block: 0.5rem;
  font-size: 1.3rem;
  border-radius: 0.6rem;
  background-color: #E5E5E5;
  color: #33353C;
  transition: background-color 0.3s, color 0.3s, opacity 0.3s;
  cursor: pointer;
}
.c-checkbox-label input {
  display: none;
}
.c-checkbox-label:has(input:checked) {
  background-color: var(--main-color);
  color: white;
}
.c-checkbox-label.is-checked {
  background-color: var(--main-color);
  color: white;
}
@media (hover: hover) {
  .c-checkbox-label:hover:not(:has(input:checked)) {
    opacity: 0.6;
  }
}

.c-radio-label {
  padding-left: 2.2rem;
  position: relative;
  font-size: 1.5rem;
}
.c-radio-label::before {
  content: "";
  display: block;
  width: 1.7rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  border: solid 1px var(--main-color);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.c-radio-label::after {
  content: "";
  display: block;
  width: 0.9rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: var(--main-color);
  position: absolute;
  left: 0.4rem;
  top: 50%;
  transform: translate(0, -50%);
  opacity: 0;
}
.c-radio-label input {
  display: none;
}
.c-radio-label:has(input:checked)::after {
  opacity: 1;
}

.c-card-job {
  background: #fff;
  border: 1px solid rgba(43, 76, 134, 0.12);
  border-radius: 1.6rem;
  padding: 2.4rem;
  box-shadow: 0 20px 60px rgba(11, 28, 65, 0.05);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  height: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-card-job {
    padding: 2rem 1.6rem;
  }
}
.c-card-job__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid rgba(48, 71, 116, 0.12);
}
@media screen and (max-width: 768px) {
  .c-card-job__header {
    align-items: center;
    gap: 1.4rem;
  }
}
.c-card-job__header-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.6rem;
}
.c-card-job__header-meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: nowrap;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-card-job__header-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 0rem;
    white-space: normal;
  }
}
.c-card-job__number {
  margin: 0;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  color: #6b7a98;
  text-transform: uppercase;
}
.c-card-job__updated {
  margin: 0;
  font-size: 1.2rem;
  color: #9aa7c3;
}
.c-card-job__favorite-button {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 1.6rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 115, 115, 0.4);
  background: #fff6f6;
  font-size: 1.3rem;
  color: #c04b4b;
  transition: background 0.3s ease, opacity 0.2s ease;
}
.c-card-job__favorite-button .in-icon {
  display: inline-flex;
}
.c-card-job__favorite-button .in-icon svg {
  width: 1.8rem;
  height: 1.8rem;
}
.c-card-job__favorite-button .in-icon svg path {
  fill: currentColor;
}
.c-card-job__favorite-button.is-favorite {
  background: #cf4377;
  color: #ffffff;
}
@media (hover: hover) {
  .c-card-job__favorite-button:hover {
    opacity: 0.8;
  }
}
.c-card-job__favorite-count {
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1;
  color: inherit;
  opacity: 0.85;
}
.c-card-job__favorite-count.is-zero {
  opacity: 0.45;
}
.c-card-job__body {
  display: flex;
  gap: 2.4rem;
  flex: 1;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .c-card-job__body {
    flex-direction: column;
  }
}
.c-card-job__mobile-visual {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-card-job__mobile-visual {
    display: block;
  }
  .c-card-job__mobile-visual .c-card-job__image {
    width: 100%;
    margin-bottom: 0.8rem;
  }
}
.c-card-job__visual {
  width: 28rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  order: 1;
}
@media screen and (max-width: 768px) {
  .c-card-job__visual {
    display: none;
  }
}
.c-card-job__image {
  border-radius: 1.2rem;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: #f0f4fb;
}
.c-card-job__image .c-card-job__image-link {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.c-card-job__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-card-job__summary {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.c-card-job__summary-item {
  padding: 0.8rem 1.2rem;
  border-radius: 0.9rem;
  background: #f6f8fc;
}
.c-card-job__summary-item dt {
  font-size: 1.2rem;
  color: #6a7c9f;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.2rem;
}
.c-card-job__summary-item dt img {
  width: 1.3rem;
}
.c-card-job__summary-item dd {
  margin: 0;
  font-size: 1.4rem;
  color: #25314d;
  line-height: 1.5;
  word-break: break-word;
}
.c-card-job__summary-text--salary {
  display: block;
  line-height: 1.55;
  max-height: none;
  padding-bottom: 0;
  overflow: visible;
}
.c-card-job__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  order: 2;
}
@media screen and (max-width: 768px) {
  .c-card-job__content {
    order: 1;
  }
}
.c-card-job__badge-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.c-card-job__new-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 1.5rem 1.5rem;
  border-radius: 0.2rem 0 0.5rem 0.5rem;
  background: linear-gradient(135deg, #ff7c6b 0%, #ffb65a 100%);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  white-space: nowrap;
  position: absolute;
  left: 22.6rem;
  top: -1rem;
  margin-bottom: -2rem;
  box-shadow: 2px 4px 4px rgba(220, 104, 89, 0.1882352941);
  line-height: 1.3;
}
.c-card-job__new-badge::after {
  content: "";
  display: block;
  height: 1rem;
  width: 0.8rem;
  clip-path: polygon(0% 0, 100% 100%, 0 100%);
  position: absolute;
  right: -0.8rem;
  top: 0px;
  background: #db6555;
}
.c-card-job__badge {
  background: var(--main-color);
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  border-radius: 999px;
  padding: 0.2rem 1.4rem;
}
.c-card-job__facility-name {
  font-size: 1.3rem;
  color: #56617a;
}
.c-card-job__title {
  font-size: 2rem;
  line-height: 1.5;
  margin: 0;
  color: #142038;
}
.c-card-job__title a {
  color: inherit;
  text-decoration: none;
}
.c-card-job__company {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.3rem;
  color: #4a5874;
}
.c-card-job__company img {
  width: 1.5rem;
}
.c-card-job__company {
  margin-bottom: 0.4rem;
}
.c-card-job__excerpt {
  font-size: 1.4rem;
  line-height: 1.7;
  color: #404b63;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: baseline;
  margin: 0 0 0.6rem;
}
@media screen and (max-width: 768px) {
  .c-card-job__excerpt {
    display: none;
  }
}
.c-card-job__tag-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 0.8rem;
}
.c-card-job__tag-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.c-card-job__tag-list--mobile {
  display: none;
}
.c-card-job__tag-list--desktop {
  display: block;
}
.c-card-job__tag-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.4rem;
}
.c-card-job__tag-label {
  font-size: 1.35rem;
  font-weight: 700;
  color: #2f3955;
}
.c-card-job__tag-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 1.4rem;
  color: #3a4a71;
  line-height: 1;
  align-self: center;
}
.c-card-job__tag-toggle-icon {
  width: 1.1rem;
  height: 1.1rem;
  position: relative;
  display: grid;
  place-items: center;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
}
.c-card-job__tag-toggle-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform 0.2s ease;
}
.c-card-job__tag-toggle-icon.is-open {
  transform: rotate(180deg);
}
.c-card-job__tag-scroller {
  position: relative;
  overflow: hidden;
  max-height: 3.4rem;
  padding-right: 2.4rem;
  transition: max-height 0.25s ease;
}
.c-card-job__tag-scroller ul {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.6rem;
  padding: 0;
  margin: 0;
}
.c-card-job__tag-scroller ul .c-tag-item {
  white-space: nowrap;
}
.c-card-job__tag-scroller::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4.8rem;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(246, 248, 252, 0) 0%, #f6f8fc 55%, #f6f8fc 100%);
}
.c-card-job__tag-scroller.is-open {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
.c-card-job__tag-scroller.is-open ul {
  flex-wrap: wrap;
}
.c-card-job__tag-scroller.is-open::after {
  display: none;
}
.c-card-job__mobile-summary {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-card-job__mobile-summary {
    display: block;
  }
  .c-card-job__mobile-summary .c-card-job__summary {
    margin: 0;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .c-card-job__new-badge {
    font-size: 1.1rem;
    padding: 0.6rem 2.5rem;
    box-shadow: 0 0.4rem 1rem rgba(255, 126, 95, 0.3);
    margin-bottom: -3rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 1.5rem 1.5rem;
    border-radius: 0.2rem 0 0.5rem 0.5rem;
    background: linear-gradient(135deg, #ff7c6b 0%, #ffb65a 100%);
    color: #fff;
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    white-space: nowrap;
    position: relative;
    left: -0.3rem;
    top: -3rem;
    margin-bottom: -2rem;
    box-shadow: 2px 4px 4px rgba(220, 104, 89, 0.1882352941);
    line-height: 1.3;
    font-size: 1.1rem;
    padding: 0.6rem 2.5rem;
    box-shadow: 0 0.4rem 1rem rgba(255, 126, 95, 0.3);
    margin-bottom: -3rem;
  }
  .c-card-job__tag-list--desktop {
    display: none;
  }
  .c-card-job__tag-list--mobile {
    display: block;
    background: #f6f8fc;
    padding: 1rem 1rem 1.5rem;
    position: relative;
  }
  .c-card-job__tag-head {
    align-items: center;
  }
  .c-card-job__tag-scroller ul {
    align-items: center;
  }
  .c-card-job__mobile-summary .c-card-job__summary-item dd,
  .c-card-job__mobile-summary .c-card-job__summary-text--salary {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .c-card-job__mobile-summary .c-card-job__summary-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.8rem 1.2rem;
  }
  .c-card-job__mobile-summary .c-card-job__summary-item dt {
    margin-bottom: 0;
    flex-shrink: 0;
    min-width: 5.4rem;
  }
  .c-card-job__mobile-summary .c-card-job__summary-item dd {
    flex: 1 1 auto;
  }
}
.c-card-job__tag-heading {
  font-size: 1.2rem;
  font-weight: 600;
  color: #5f6e94;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.c-card-job__tag-heading .in-icon {
  height: 1.4rem;
  width: auto;
  display: inline-block;
}
.c-card-job__detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1.2rem 2.4rem;
  font-size: 1.3rem;
  color: #2e3650;
  margin-top: 0.4rem;
}
.c-card-job__detail-grid dt {
  font-weight: 600;
  margin-bottom: 0.3rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #5f6e94;
}
.c-card-job__detail-grid dt img {
  width: 1.4rem;
}
.c-card-job__detail-grid dd {
  margin: 0;
  line-height: 1.5;
}
.c-card-job__actions {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  flex-wrap: nowrap;
  margin-top: 1.2rem;
}
.c-card-job__actions .c-button-simple-angle {
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
  justify-content: center;
  padding: 1.2rem 2.4rem;
  min-height: 4.8rem;
}
.c-card-job__actions .c-button-simple-angle__text {
  white-space: normal;
  text-align: center;
  line-height: 1.3;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .c-card-job__actions {
    gap: 0.8rem;
    margin-top: 0;
  }
}
.c-card-job__interest {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: nowrap;
  margin-top: 0.8rem;
  padding: 0.4rem 1.2rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #fff1f1, #fff7f2);
  border: 1px solid rgba(200, 86, 92, 0.2);
  color: #c4565c;
  font-weight: 600;
  font-size: clamp(1.1rem, 2.8vw, 1.3rem);
  line-height: 1.4;
  white-space: nowrap;
  max-width: 100%;
  box-shadow: 0 0.4rem 1.2rem rgba(200, 86, 92, 0.12);
}
@media screen and (max-width: 768px) {
  .c-card-job__interest {
    margin-top: 0.6rem;
    padding: 0.35rem 1rem;
  }
}
.c-card-job__interest-count {
  font-weight: 700;
}
.c-card-job__interest-text {
  white-space: nowrap;
}

.c-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  line-height: 1;
}
.c-pagination__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  aspect-ratio: 1/1;
}
.c-pagination__arrow svg {
  width: 0.8rem;
}
.c-pagination__arrow svg path {
  stroke: var(--main-color);
}
.c-pagination__prev svg {
  transform: rotateY(180deg);
}
.c-pagination__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  aspect-ratio: 1/1;
  font-family: var(--alex);
}
.c-pagination__current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: var(--main-color);
  color: white;
  font-size: 1.6rem;
  font-family: var(--alex);
  padding-left: 0.1rem;
  padding-top: 0.1rem;
}
.c-pagination__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  aspect-ratio: 1/1;
  font-size: 1.6rem;
  font-family: var(--alex);
}

.c-tag-item {
  display: inline-flex;
  height: 2.4rem;
  align-items: center;
  padding-inline: 1rem;
  border: solid 1px var(--main-color);
  border-radius: 2rem;
  font-size: 1.2rem;
  color: var(--main-color);
}

.c-list-dot__item {
  position: relative;
  padding-left: 1em;
}
.c-list-dot__item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.c-bg-gradient {
  background: linear-gradient(to bottom, rgba(239, 246, 255, 0.5019607843), #E6F1FF);
}

.c-dl-item {
  padding-block: 2.2rem;
  position: relative;
  display: flex;
  align-items: center;
  gap: 3rem;
  border-top: 1px solid #CCCCCC;
}
@media screen and (max-width: 768px) {
  .c-dl-item {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
    padding-inline: 1rem;
  }
}
.c-dl-item::before {
  content: "";
  width: 14rem;
  height: 1px;
  background-color: var(--main-color);
  position: absolute;
  top: -1px;
  left: 0;
}
.c-dl-item:last-of-type {
  border-bottom: 1px solid #CCCCCC;
}
.c-dl-item:last-of-type::after {
  content: "";
  width: 14rem;
  height: 1px;
  background-color: var(--main-color);
  position: absolute;
  bottom: -1px;
  left: 0;
}
.c-dl-item__title {
  width: max(140px, 14rem);
  flex-shrink: 0;
  padding-left: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-dl-item__title {
    width: 100%;
    padding-left: 0;
    font-size: 1.8rem;
  }
}
.c-dl-item__data {
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .c-dl-item__data {
    width: 100%;
  }
}

.c-card-advisor__container {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .c-card-advisor__container {
    gap: 1.5rem;
  }
}
.c-card-advisor__image {
  width: 21.2rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-card-advisor__image {
    width: 14rem;
  }
}
.c-card-advisor__content {
  flex-grow: 1;
}
.c-card-advisor__name {
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-card-advisor__name {
    margin-bottom: 0;
    font-size: 1.8rem;
    text-align: center;
  }
}
.c-card-advisor__overview-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
@media screen and (max-width: 768px) {
  .c-card-advisor__overview-list {
    gap: 1rem;
  }
}
.c-card-advisor__overview-item {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
}
@media screen and (max-width: 768px) {
  .c-card-advisor__overview-item {
    flex-direction: column;
    gap: 0;
  }
}
.c-card-advisor__overview-title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 8.7rem;
  height: 2.6rem;
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  font-size: 1.5rem;
  color: var(--main-color);
  padding-bottom: 0.1rem;
}
@media screen and (max-width: 768px) {
  .c-card-advisor__overview-title {
    width: 6rem;
    height: 2rem;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .c-card-advisor__overview-data {
    font-size: 1.4rem;
  }
}
.c-card-advisor__comment {
  padding: 2rem;
  background-color: white;
  border: solid 2px var(--main-color);
  border-radius: 0.6rem;
  margin-top: 2rem;
  position: relative;
  font-size: 1.6rem;
  filter: drop-shadow(0.1rem 0.1rem 0.2rem rgba(0, 0, 0, 0.3));
}
@media screen and (max-width: 768px) {
  .c-card-advisor__comment {
    margin-top: 3rem;
    padding: 1rem 1.6rem;
  }
}
.c-card-advisor__comment::before {
  content: "";
  display: block;
  border: solid 2rem transparent;
  border-bottom: solid 2.3rem var(--main-color);
  position: absolute;
  bottom: 100%;
  left: 3.7rem;
}
.c-card-advisor__comment::after {
  content: "";
  display: block;
  border: solid 1.8rem transparent;
  border-bottom: solid 2.1rem white;
  position: absolute;
  bottom: calc(100% - 0.2rem);
  left: 3.9rem;
}

.c-card-faq {
  padding: 1.6rem 3.4rem 2rem 1.6rem;
  background-color: white;
  border: solid 1px #CCCCCC;
  border-radius: 0.6rem;
}
@media screen and (max-width: 768px) {
  .c-card-faq {
    padding-right: 2rem;
  }
}
.c-card-faq__question-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding-right: 5rem;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-card-faq__question-wrapper {
    padding-right: 4rem;
    gap: 1rem;
  }
}
.c-card-faq__q {
  font-size: max(22px, 2.2rem);
  color: var(--main-color);
  font-family: var(--alex);
  flex-shrink: 0;
}
.c-card-faq__question {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-card-faq__question {
    font-size: 1.5rem;
  }
}
.c-card-faq__toggle {
  display: block;
  width: 2rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0.7rem;
  right: 0;
}
.c-card-faq__toggle::before, .c-card-faq__toggle::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  left: 50%;
}
.c-card-faq__toggle::before {
  transform: translate(-50%, -50%);
}
.c-card-faq__toggle::after {
  transform: translate(-50%, -50%) rotate(-90deg);
  transition: transform 0.3s;
}
.c-card-faq__toggle.is-open::after {
  transform: translate(-50%, -50%);
}
.c-card-faq__answer-inner {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #c0c0c0;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-card-faq__answer-inner {
    gap: 1rem;
  }
}
.c-card-faq__answer-inner strong {
  color: #cf5252;
  font-weight: 500;
}
.c-card-faq__answer-inner a {
  color: #5280cf;
  text-decoration: underline;
}
.c-card-faq__a {
  font-size: 2.2rem;
  font-family: var(--alex);
  flex-shrink: 0;
}

.c-card-content {
  display: flex;
  align-items: flex-start;
  gap: 3.2rem;
  padding-block: 3.2rem;
  border-bottom: solid 1px #CCCCCC;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-card-content {
    gap: 1.2rem;
    padding-block: 1.5rem;
    flex-wrap: wrap;
  }
}
.c-card-content__image {
  width: 24rem;
  aspect-ratio: 24/16;
  border-radius: 0.6rem;
  flex-shrink: 0;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-card-content__image {
    width: 11rem;
    aspect-ratio: 110/73;
  }
}
.c-card-content__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.c-card-content__content {
  flex-grow: 1;
  padding-top: 1.4rem;
}
@media screen and (max-width: 768px) {
  .c-card-content__content {
    padding-top: 0;
    flex-grow: 0;
    width: calc(100% - 12.2rem);
  }
}
.c-card-content__head {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  margin-bottom: 0.6rem;
}
@media screen and (max-width: 768px) {
  .c-card-content__head {
    margin-bottom: 0;
    flex-direction: column;
    gap: 0.2rem;
  }
}
.c-card-content__time {
  font-size: 1.6rem;
  opacity: 0.5;
  font-family: var(--alex);
  flex-shrink: 0;
  margin-top: 0.2rem;
}
@media screen and (max-width: 768px) {
  .c-card-content__time {
    font-size: 1.1rem;
    text-align: center;
    width: 100%;
    display: block;
  }
}
.c-card-content__cat-list {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.c-card-content__cat {
  padding: 0.2rem 1rem;
  border: solid 1px var(--main-color);
  font-size: 1.2rem;
  color: var(--main-color);
  border-radius: 3rem;
  position: relative;
  z-index: 11;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-card-content__cat {
    font-size: 1.1rem;
  }
}
@media (hover: hover) {
  .c-card-content__cat:hover {
    background-color: var(--main-color);
    color: white;
  }
}
.c-card-content__title {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-card-content__title {
    font-size: 1.5rem;
  }
}
.c-card-content__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .c-card-content__excerpt {
    width: 100%;
    font-size: 1.2rem;
    opacity: 0.7;
    line-height: 1.3;
    margin-bottom: 0;
  }
}
@media (hover: hover) {
  .c-card-content:hover .c-card-content__image img {
    transform: scale(1.05);
  }
  .c-card-content:hover .c-card-content__title {
    color: var(--main-color);
  }
}

.c-card-archive-voice {
  padding: 2rem 1.6rem;
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .c-card-archive-voice {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.c-card-archive-voice__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.c-card-archive-voice__icon {
  width: 6rem;
  flex-shrink: 0;
}
.c-card-archive-voice__cat-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.c-card-archive-voice__cat {
  padding: 0.2rem 1.5rem;
  font-size: 1.3rem;
  background-color: var(--main-color);
  color: white;
  border-radius: 0.6rem;
}
@media screen and (max-width: 768px) {
  .c-card-archive-voice__cat {
    padding-inline: 0.6rem;
    font-size: 1.4rem;
  }
}
.c-card-archive-voice__entry-type {
  font-size: 1.5rem;
  color: gray;
}
.c-card-archive-voice__age {
  font-size: 1.5rem;
  color: gray;
}
.c-card-archive-voice__title {
  font-size: 1.7rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-card-archive-voice__title {
    font-size: 1.6rem;
  }
}
.c-card-archive-voice__excerpt {
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .c-card-archive-voice__excerpt {
    width: calc(100% - 5rem);
  }
}
.c-card-archive-voice__excerpt p {
  font-size: 2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .c-card-archive-voice__excerpt p {
    font-size: 1.4rem;
    -webkit-line-clamp: 2;
  }
}
.c-card-archive-voice__angle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  margin-top: 1.2rem;
  background-color: var(--main-color);
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .c-card-archive-voice__angle {
    margin-top: 0;
    margin-inline: 0;
  }
}
.c-card-archive-voice__angle svg {
  width: 0.5rem;
}
.c-card-archive-voice__angle svg path {
  stroke: white;
}
@media (hover: hover) {
  .c-card-archive-voice:hover {
    opacity: 0.7;
  }
}

.c-interview-remarks {
  opacity: 0.7;
  padding-left: 7rem;
  position: relative;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .c-interview-remarks {
    padding-left: 0;
  }
}
.c-interview-remarks p {
  font-size: max(15px, 1.5rem);
  line-height: 1.8;
}
.c-interview-remarks::before {
  content: "";
  display: block;
  position: absolute;
  width: 5rem;
  height: 1px;
  background-color: var(--font-color);
  top: 1.4rem;
  left: 0;
}
@media screen and (max-width: 768px) {
  .c-interview-remarks::before {
    display: none;
  }
}

.c-interview-list {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.c-interview-list__interviewer, .c-interview-list__interviewee {
  display: grid;
  grid-template-columns: 5rem 1fr 5rem;
  column-gap: 1.2rem;
  align-items: start;
  width: 100%;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .c-interview-list__interviewer, .c-interview-list__interviewee {
    grid-template-columns: 6.5rem 1fr 6.5rem;
  }
}
.c-interview-list__interviewer .c-interview-list__icon {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (min-width: 768px) {
  .c-interview-list__interviewer .c-interview-list__icon {
    align-self: start;
    margin-top: 0;
  }
}
.c-interview-list__interviewer .c-interview-list__bubble {
  grid-column: 2;
  grid-row: 1;
  justify-self: start;
}
@media screen and (max-width: 768px) {
  .c-interview-list__interviewer .c-interview-list__bubble {
    grid-column: 2/4;
    justify-self: stretch;
    width: 100%;
  }
}
.c-interview-list__interviewee .c-interview-list__bubble {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
}
@media screen and (max-width: 768px) {
  .c-interview-list__interviewee .c-interview-list__bubble {
    grid-column: 1/3;
    justify-self: stretch;
    width: 100%;
  }
}
.c-interview-list__interviewee .c-interview-list__icon {
  grid-column: 3;
  grid-row: 1;
}
@media screen and (min-width: 768px) {
  .c-interview-list__interviewee .c-interview-list__icon {
    align-self: start;
    margin-top: 0;
  }
}
.c-interview-list__interviewer + .c-interview-list__interviewer .c-interview-list__icon {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-interview-list__interviewer + .c-interview-list__interviewer .c-interview-list__bubble {
    margin-top: 0;
  }
}
.c-interview-list__interviewer + .c-interview-list__interviewer .c-interview-list__bubble::before {
  display: none;
}
.c-interview-list__interviewee + .c-interview-list__interviewee .c-interview-list__icon {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-interview-list__interviewee + .c-interview-list__interviewee .c-interview-list__bubble {
    margin-top: 0;
  }
}
.c-interview-list__interviewee + .c-interview-list__interviewee .c-interview-list__bubble::before {
  display: none;
}
.c-interview-list__icon {
  flex-shrink: 0;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .c-interview-list__icon {
    width: 6.5rem;
    height: 6.5rem;
  }
}
.c-interview-list__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-interview-list__icon--biz img {
  width: 5rem;
  height: 5rem;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .c-interview-list__icon--biz img {
    width: 6.5rem;
    height: 6.5rem;
  }
}
.c-interview-list__icon--interviewee img {
  width: 5rem;
  height: 5rem;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .c-interview-list__icon--interviewee img {
    width: 6.5rem;
    height: 6.5rem;
  }
}
.c-interview-list__bubble {
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding: 1.6rem 2rem;
  border-radius: 20px;
  font-size: max(15px, 1.5rem);
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .c-interview-list__bubble {
    margin-top: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .c-interview-list__bubble {
    padding: 1.2rem 1.5rem;
  }
}
.c-interview-list__bubble p {
  margin: 0;
  line-height: 1.5;
}
.c-interview-list__bubble p:not(:last-child) {
  margin-bottom: 0.8rem;
}
.c-interview-list__interviewer .c-interview-list__bubble {
  background-color: #EAF2FF;
}
.c-interview-list__interviewer .c-interview-list__bubble::before {
  content: "";
  position: absolute;
  top: -0.2rem;
  left: -0.5rem;
  width: 2.3rem;
  height: 1.8rem;
  background-color: #EAF2FF;
  mask-image: url(../images/common/bubble-tail.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(../images/common/bubble-tail.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
@media screen and (max-width: 768px) {
  .c-interview-list__interviewer .c-interview-list__bubble::before {
    top: 0.8rem;
    left: -0.9rem;
    width: 2rem;
    height: 1.6rem;
  }
}
.c-interview-list__interviewee .c-interview-list__bubble {
  background-color: #F4F8D3;
}
.c-interview-list__interviewee .c-interview-list__bubble::before {
  content: "";
  position: absolute;
  top: -0.2rem;
  right: 1.5rem;
  width: 2.3rem;
  height: 1.8rem;
  background-color: #F4F8D3;
  transform: scaleX(-1);
  transform-origin: 100% 0;
  mask-image: url(../images/common/bubble-tail.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(../images/common/bubble-tail.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
@media screen and (max-width: 768px) {
  .c-interview-list__interviewee .c-interview-list__bubble::before {
    top: 0.8rem;
    right: 1rem;
    width: 2rem;
    height: 1.6rem;
  }
}

.c-list-num {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.c-list-num__item {
  counter-increment: listCount;
  padding-left: 1.2em;
  position: relative;
}
.c-list-num__item::before {
  content: counter(listCount) ".";
  position: absolute;
  top: 0;
  left: 0;
}

.c-location-modal {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1001;
  top: 0;
  left: 0;
}
.c-location-modal__inner {
  width: 70rem;
  height: auto;
  background-color: white;
  max-height: 80vh;
  max-width: 80vw;
  overflow-y: scroll;
  padding: 2rem;
  border-radius: 1rem;
}
.c-location-modal__cities {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.c-location-modal__close-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--main-color);
  width: 20.8rem;
  height: 4.2rem;
  border-radius: 0.4rem;
  color: white;
  border: solid 1px var(--main-color);
  transition: background-color 0.3s, color 0.3s;
  margin-inline: auto;
  margin-top: 3rem;
}
@media (hover: hover) {
  .c-location-modal__close-button:hover {
    background-color: white;
    color: var(--main-color);
  }
}

.c-search-form__form {
  display: flex;
  flex-wrap: wrap;
  width: 110rem;
  max-width: 100%;
  margin-inline: auto;
  border: solid 1px #C3C3C3;
  border-radius: 0.4rem;
  overflow: hidden;
}
.c-search-form__form-row {
  width: 100%;
  display: flex;
  border-bottom: solid 1px #C3C3C3;
}
@media screen and (max-width: 768px) {
  .c-search-form__form-row {
    flex-direction: column;
  }
}
.c-search-form__form-row:last-of-type {
  border-bottom: none;
}
.c-search-form__form-title-wrap {
  width: 14rem;
  background-color: #EBF4FE;
  padding: 1.3rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-search-form__form-title-wrap {
    width: 100%;
  }
}
.c-search-form__form-icon {
  width: 1.8rem;
}
.c-search-form__form-data {
  padding: 1rem 1.5rem;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .c-search-form__form-data {
    width: 100%;
  }
}
.c-search-form__form-data .c-button-simple {
  width: 8.2rem;
  height: 3.2rem;
  border-radius: 0.6rem;
  padding: 0;
}
.c-search-form__form-data--area {
  width: 100%;
  flex-grow: 0;
  display: flex;
  gap: 1rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-search-form__form-data--area {
    border-bottom: solid 1px #C3C3C3;
    width: 100%;
  }
}
.c-search-form__form-data--area button {
  flex-shrink: 0;
}
.c-search-form__form-data--station {
  display: flex;
  gap: 1rem;
  align-items: center;
}
.c-search-form__form-data--station button {
  flex-shrink: 0;
}
.c-search-form__form-data input[type=text] {
  width: 32rem;
  padding: 1.6rem;
  border: solid 1px var(--main-color);
  border-radius: 0.4rem;
  font-size: 1.4rem;
}
.c-search-form__form-data input[type=text]::placeholder {
  opacity: 0.4;
}
.c-search-form__form-data + .c-search-form__form-data {
  border-left: solid 1px #C3C3C3;
}
@media screen and (max-width: 768px) {
  .c-search-form__form-data + .c-search-form__form-data {
    border-left: none;
    border-top: solid 1px #C3C3C3;
  }
}
.c-search-form__form-label-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.c-search-form__form-label-list .in-all-wrapper {
  width: 100%;
}
.c-search-form__form-label-list .in-all-wrapper .c-button-simple {
  display: inline-flex;
  width: auto;
  padding-inline: 1rem;
}
.c-search-form__form-input-list {
  text-align: center;
  margin-top: 2rem;
}
.c-search-form__form-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32rem;
  height: 3.8rem;
  border-radius: 2rem;
  background-color: var(--main-color);
  margin-top: 3rem;
  margin-inline: auto;
  color: white;
  font-size: 1.6rem;
}
.c-search-form__modal {
  width: 96rem;
  padding: 0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0 1rem 0.2rem rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .c-search-form__modal {
    width: 100%;
  }
}
.c-search-form__modal-title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #EBF4FE;
  height: 6rem;
  font-size: 1.8rem;
}
.c-search-form__modal-close-button {
  width: 1.9rem;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 3.2rem;
  transform: translate(0, -50%);
}
.c-search-form__modal-close-button::before, .c-search-form__modal-close-button::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2px;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  left: 50%;
}
.c-search-form__modal-close-button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-search-form__modal-close-button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-search-form__modal-container {
  overflow-y: scroll;
  max-height: 80vh;
  padding: 5rem 7rem;
  padding-bottom: 0;
  scrollbar-width: none;
}
@media screen and (max-width: 768px) {
  .c-search-form__modal-container {
    padding: 2rem;
    padding-bottom: 0;
  }
}
.c-search-form__modal-footer {
  padding-block: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  bottom: 0;
  background-color: white;
}
@media screen and (max-width: 768px) {
  .c-search-form__modal-footer {
    flex-direction: column;
    gap: 2rem;
    padding-block: 3rem;
  }
}
.c-search-form__check-clear-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.8rem;
  height: 3.2rem;
  border: solid 1px var(--font-color);
  border-radius: 0.4rem;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 1.4rem;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .c-search-form__check-clear-button {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }
}
@media (hover: hover) {
  .c-search-form__check-clear-button:hover {
    opacity: 0.7;
  }
}
.c-search-form__modal-submit-button {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--main-color);
  width: 20.8rem;
  height: 4.2rem;
  border-radius: 0.4rem;
  color: white;
  border: solid 1px var(--main-color);
  transition: background-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .c-search-form__modal-submit-button:hover {
    background-color: white;
    color: var(--main-color);
  }
}
.c-search-form__filter-input-wrap {
  margin-bottom: 2rem;
}
.c-search-form__filter-text {
  font-size: 1.4rem;
}
.c-search-form__filter-input {
  width: 32rem;
  position: relative;
  margin-top: 0.5rem;
}
.c-search-form__filter-input input {
  width: 100%;
  padding: 1rem 4rem 1rem 1.5rem;
  border: solid 1px var(--main-color);
  border-radius: 0.4rem;
  font-size: 1.4rem;
}
.c-search-form__filter-input > .in-icon {
  position: absolute;
  right: 1.8rem;
  top: 50%;
  transform: translate(0, -50%);
  display: flex;
  align-items: center;
}
.c-search-form__filter-input > .in-icon img {
  width: 1.5rem;
}
.c-search-form__filter-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.c-search-form__filter-item-title {
  display: flex;
  align-items: center;
  padding-inline: 3rem;
  width: 100%;
  height: 4rem;
  background-color: var(--main-color);
  color: white;
  border-radius: 0.4rem 0.4rem 0 0/0.4rem 0.4rem 0 0;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .c-search-form__filter-item-title {
    padding-inline: 1rem;
  }
}
.c-search-form__filter-item-title > .in-toggle {
  position: absolute;
  width: 1.5rem;
  aspect-ratio: 1/1;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
.c-search-form__filter-item-title > .in-toggle::before, .c-search-form__filter-item-title > .in-toggle::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-search-form__filter-item-title > .in-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-search-form__filter-item-data {
  border-radius: 0 0 0.4rem 0.4rem/0 0 0.4rem 0.4rem;
  border: solid 2px var(--main-color);
  border-top: none;
}
.c-search-form__filter-item-data > .in-inner {
  padding: 2rem 3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .c-search-form__filter-item-data > .in-inner {
    padding: 1rem;
  }
}

.c-step-form input,
.c-step-form select {
  font-size: 1.7rem;
}
.c-step-form__head {
  text-align: center;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .c-step-form__head .c-heading-center {
    font-size: 3.4rem;
  }
}
.c-step-form__bubble {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .c-step-form__bubble {
    font-size: 2rem;
  }
}
.c-step-form__bubble::before, .c-step-form__bubble::after {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 2px;
  background-color: var(--main-color);
  margin-bottom: 0.5rem;
}
.c-step-form__bubble::before {
  transform: rotate(45deg);
}
.c-step-form__bubble::after {
  transform: rotate(-45deg);
}
.c-step-form__bubble > .in-blue {
  color: var(--main-color);
}
.c-step-form__bubble > .in-num {
  font-size: 3rem;
  font-weight: bold;
}
.c-step-form__intro {
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .c-step-form__intro {
    font-size: 1.5rem;
  }
}
.c-step-form__step-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
}
.c-step-form__step {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  aspect-ratio: 1/1;
  background-color: #bebebe;
  border-radius: 100%;
  color: white;
  font-size: 2.4rem;
  font-family: var(--alex);
  transition: background-color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-step-form__step {
    width: 3rem;
    font-size: 2rem;
  }
}
.c-step-form__step.is-current {
  background-color: var(--main-color);
}
.c-step-form__step-bar {
  width: 2rem;
  height: 2px;
  background-color: #bebebe;
  transition: background-color 0.3s;
}
.c-step-form__step-bar.is-current {
  background-color: var(--main-color);
}
.c-step-form__form-container {
  margin-top: 4rem;
}
.c-step-form__step-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-step-form__step-wrapper {
    padding: 2rem 0;
  }
}
.c-step-form__step-lock {
  text-align: center;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}
.c-step-form__step-lock::before {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 1.1rem;
  background-image: url(../images/stepform/ic-lock.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 0.5rem;
}
.c-step-form__step-title {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 3rem;
  position: relative;
}
.c-step-form__step-title > .in-small {
  font-size: 1.4rem;
}
.c-step-form__step-next-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  background-color: var(--main-color);
  border-radius: 3rem;
  width: 28.3rem;
  height: 5.2rem;
  color: white;
  font-size: 1.6rem;
  margin-inline: auto;
  margin-top: 0.5rem;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.c-step-form__step-next-button::before {
  content: "";
  display: block;
  width: 20rem;
  height: 50rem;
  background: linear-gradient(to right, transparent, white);
  opacity: 0.4;
  position: absolute;
  left: -40rem;
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
  z-index: -1;
  animation: buttonFlash infinite 2s;
}
.c-step-form__step-next-button > .in-angle {
  position: relative;
}
.c-step-form__step-next-button > .in-angle svg {
  width: 0.7rem;
}
.c-step-form__step-next-button > .in-angle svg path {
  stroke: white;
}
.c-step-form__step-prev-button {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  color: var(--font-color);
  font-weight: 500;
  margin-top: 1.5rem;
}
.c-step-form__step-prev-button > .in-angle svg {
  width: 0.7rem;
  transform: rotateY(180deg);
}
.c-step-form__step-prev-button > .in-angle svg path {
  stroke: var(--font-color);
  stroke-width: 2;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) {
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) .wpcf7-list-item, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) .wpcf7-list-item {
  margin: 0;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label {
  padding: 1.5rem 1rem;
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s;
  text-align: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label input, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label input {
  display: none;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label .wpcf7-list-item-label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label .wpcf7-list-item-label {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label .wpcf7-list-item-label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label .wpcf7-list-item-label {
    font-size: 1.3rem;
  }
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value=児童指導員任用資格])::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value=児童指導員任用資格])::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/license1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value=保育士])::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value=保育士])::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/license2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value="教員免許(小中高)"])::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value="教員免許(小中高)"])::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/license3.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value=幼稚園教諭])::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value=幼稚園教諭])::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/license4.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value=サービス管理責任者])::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value=サービス管理責任者])::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/license5.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value=児童発達支援管理責任者])::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value=児童発達支援管理責任者])::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/license6.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value=心理・教育・社会・福祉系の学科卒業]), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value=心理・教育・社会・福祉系の学科卒業]) {
  padding-bottom: 0.5rem;
  gap: 1rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value=心理・教育・社会・福祉系の学科卒業])::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value=心理・教育・社会・福祉系の学科卒業])::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/license7.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value="セラピストPT/OT/ST/CPP/CP"]), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value="セラピストPT/OT/ST/CPP/CP"]) {
  padding-bottom: 0.5rem;
  gap: 1rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has([value="セラピストPT/OT/ST/CPP/CP"])::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has([value="セラピストPT/OT/ST/CPP/CP"])::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/license8.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has(input:checked), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has(input:checked) {
  background-color: #deedff;
}
@media (hover: hover) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:has(input:checked):hover, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:has(input:checked):hover {
    opacity: 0.8;
  }
}
@media (hover: hover) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name="license[]"]) label:not(:has(input:checked)):hover, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name="license[]"]) label:not(:has(input:checked)):hover {
    border-color: var(--accent-red);
  }
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) {
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  text-align: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) .wpcf7-list-item, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) .wpcf7-list-item {
  margin: 0;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) .wpcf7-list-item:has([value=正社員]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) .wpcf7-list-item:has([value=正社員]) label {
  gap: 0.5rem;
  padding: 1.2rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) .wpcf7-list-item:has([value=正社員]) label::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) .wpcf7-list-item:has([value=正社員]) label::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/employment1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) .wpcf7-list-item:has([value=パート・アルバイト]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) .wpcf7-list-item:has([value=パート・アルバイト]) label {
  gap: 0.5rem;
  padding: 1.2rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) .wpcf7-list-item:has([value=パート・アルバイト]) label::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) .wpcf7-list-item:has([value=パート・アルバイト]) label::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/employment2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) .wpcf7-list-item:has([value=こだわらない]), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) .wpcf7-list-item:has([value=こだわらない]) {
  grid-column: span 2;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) .wpcf7-list-item:has([value=こだわらない]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) .wpcf7-list-item:has([value=こだわらない]) label {
  flex-direction: row;
  gap: 0;
  padding: 1.1rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) .wpcf7-list-item:has([value=こだわらない]) label::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) .wpcf7-list-item:has([value=こだわらない]) label::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/employment3.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) label {
  padding: 1.5rem;
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) label input, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) label input {
  display: none;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) label .wpcf7-list-item-label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) label .wpcf7-list-item-label {
  font-size: 1.4rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) label:has(input:checked), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) label:has(input:checked) {
  background-color: #deedff;
}
@media (hover: hover) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) label:has(input:checked):hover, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) label:has(input:checked):hover {
    opacity: 0.8;
  }
}
@media (hover: hover) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=employment-type]) label:not(:has(input:checked)):hover, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=employment-type]) label:not(:has(input:checked)):hover {
    border-color: var(--accent-red);
  }
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) {
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  text-align: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item {
  margin: 0;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value=すぐに]), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value=すぐに]) {
  grid-column: span 2;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value=すぐに]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value=すぐに]) label {
  flex-direction: row;
  gap: 0;
  padding: 1.2rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value=すぐに]) label::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value=すぐに]) label::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/time1.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value=３ヶ月以内]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value=３ヶ月以内]) label {
  gap: 0.5rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value=３ヶ月以内]) label::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value=３ヶ月以内]) label::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/time2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value=６ヶ月以内]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value=６ヶ月以内]) label {
  gap: 0.5rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value=６ヶ月以内]) label::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value=６ヶ月以内]) label::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/time3.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value="1年以内"]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value="1年以内"]) label {
  gap: 0.5rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value="1年以内"]) label::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value="1年以内"]) label::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/time4.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value="1年以上先"]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value="1年以上先"]) label {
  gap: 0.5rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) .wpcf7-list-item:has([value="1年以上先"]) label::before, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) .wpcf7-list-item:has([value="1年以上先"]) label::before {
  content: "";
  display: block;
  width: 10rem;
  height: 5.8rem;
  background-image: url(../images/stepform/time5.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) label {
  padding: 1.5rem;
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) label input, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) label input {
  display: none;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) label .wpcf7-list-item-label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) label .wpcf7-list-item-label {
  font-size: 1.4rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) label:has(input:checked), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) label:has(input:checked) {
  background-color: #deedff;
}
@media (hover: hover) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) label:has(input:checked):hover, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) label:has(input:checked):hover {
    opacity: 0.8;
  }
}
@media (hover: hover) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=change-time]) label:not(:has(input:checked)):hover, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=change-time]) label:not(:has(input:checked)):hover {
    border-color: var(--accent-red);
  }
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=gendar]), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=gendar]) {
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem;
  text-align: center;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=gendar]) .wpcf7-list-item, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=gendar]) .wpcf7-list-item {
  margin: 0;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=gendar]) label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=gendar]) label {
  padding: 1.5rem;
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=gendar]) label input, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=gendar]) label input {
  display: none;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=gendar]) label .wpcf7-list-item-label, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=gendar]) label .wpcf7-list-item-label {
  font-size: 1.4rem;
}
.c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=gendar]) label:has(input:checked), .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=gendar]) label:has(input:checked) {
  background-color: #deedff;
}
@media (hover: hover) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=gendar]) label:has(input:checked):hover, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=gendar]) label:has(input:checked):hover {
    opacity: 0.8;
  }
}
@media (hover: hover) {
  .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-checkbox:has([name=gendar]) label:not(:has(input:checked)):hover, .c-step-form__step-inner:not(:has(.p-consulting__form-list)) .wpcf7-radio:has([name=gendar]) label:not(:has(input:checked)):hover {
    border-color: var(--accent-red);
  }
}
.c-step-form__step-inner--shien {
  position: relative;
}
.c-step-form__step-inner--shien .in-shien {
  display: block;
  width: 8rem;
  height: 7rem;
  background-image: url(../images/stepform/shien.gif);
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
  position: absolute;
  top: -3rem;
  right: -2rem;
  transition: top 0.3s, transform 0.3s;
  z-index: 10;
  pointer-events: none;
}
.c-step-form__step-inner--full {
  width: 100%;
}
.c-step-form__post-number-wrap {
  padding-left: 2.8rem;
  position: relative;
  width: 40rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .c-step-form__post-number-wrap {
    width: 100%;
  }
}
.c-step-form__post-number-wrap::before {
  content: "〒";
  display: block;
  position: absolute;
  top: 1rem;
  left: 0;
  font-size: 1.8rem;
  color: var(--main-color);
}
.c-step-form__post-number-wrap input[name=post-number] {
  width: 100%;
}
.c-step-form__form-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.c-step-form__form-list .wpcf7-list-item {
  margin: 0;
}
.c-step-form__form-list .wpcf7-checkbox,
.c-step-form__form-list .wpcf7-radio:not(:has([name=gendar])) {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-step-form__form-list .wpcf7-checkbox,
  .c-step-form__form-list .wpcf7-radio:not(:has([name=gendar])) {
    gap: 1rem;
  }
}
.c-step-form__form-list .wpcf7-checkbox label,
.c-step-form__form-list .wpcf7-radio:not(:has([name=gendar])) label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14.8rem;
  min-height: 4rem;
  padding-block: 1rem;
  border: solid 1px var(--main-color);
  background-color: white;
  color: var(--main-color);
  font-size: 1.6rem;
  border-radius: 0.6rem;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-step-form__form-list .wpcf7-checkbox label,
  .c-step-form__form-list .wpcf7-radio:not(:has([name=gendar])) label {
    width: 13rem;
  }
}
.c-step-form__form-list .wpcf7-checkbox label input,
.c-step-form__form-list .wpcf7-radio:not(:has([name=gendar])) label input {
  display: none;
}
.c-step-form__form-list .wpcf7-checkbox label:has(input:checked),
.c-step-form__form-list .wpcf7-radio:not(:has([name=gendar])) label:has(input:checked) {
  background-color: var(--main-color);
  color: white;
}
.c-step-form__select-wrapper {
  position: relative;
}
.c-step-form__select-wrapper::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 1.6rem;
  background-image: url(../images/common/ic-angle.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translate(0, -50%) rotate(90deg);
  pointer-events: none;
}
.c-step-form__select-wrapper .wpcf7-form-control-wrap {
  width: 100%;
}
.c-step-form__select-wrapper select {
  border-radius: 0.6rem;
  border: solid 1px var(--main-color);
  background-color: white;
  padding: 1.5rem;
  padding-right: 4rem;
  font-size: 1.7rem;
  appearance: none;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-step-form__select-wrapper select {
    padding-left: 1rem;
    padding-right: 3rem;
  }
}
.c-step-form__select-wrapper .wpcf7-not-valid-tip {
  display: none;
}
.c-step-form__form-item {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .c-step-form__form-item {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
}
.c-step-form__form-item:has(input[type=email], input[type=tel]) .p-consulting__form-title {
  width: 7em;
}
@media screen and (max-width: 768px) {
  .c-step-form__form-item:has(input[type=email], input[type=tel]) .p-consulting__form-title {
    width: 100%;
  }
}
.c-step-form__form-title {
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-step-form__form-title {
    width: 100%;
  }
}
.c-step-form__form-title > .in-annotation {
  font-size: 1.2rem;
  color: red;
}
.c-step-form__form-data {
  width: 100%;
}
.c-step-form__form-data input[type=text],
.c-step-form__form-data input[type=tel],
.c-step-form__form-data input[type=email] {
  border-radius: 0.6rem;
  border: solid 1px var(--main-color);
  background-color: white;
  padding: 1.5rem;
  width: 100%;
}
.c-step-form__form-data input[type=text]::placeholder,
.c-step-form__form-data input[type=tel]::placeholder,
.c-step-form__form-data input[type=email]::placeholder {
  color: rgba(82, 127, 206, 0.4823529412);
}
.c-step-form__form-data--name {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-step-form__form-data--name {
    gap: 1rem;
  }
}
.c-step-form__form-data--name > .in-box {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.c-step-form__form-data--name input[type=text] {
  width: 17rem;
}
@media screen and (max-width: 768px) {
  .c-step-form__form-data--name input[type=text] {
    width: 12rem;
  }
}
.c-step-form__form-data--birthday {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-step-form__form-data--birthday {
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.c-step-form__form-data--birthday > .in-box {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.c-step-form__no-postal-number {
  margin-top: 2rem;
}
.c-step-form__no-postal-number > .in-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 3.6rem;
  border-radius: 0.6rem;
  background-color: #f2f8ff;
  font-size: 1.3rem;
  font-weight: 500;
  cursor: pointer;
}
.c-step-form__no-postal-number > .in-heading::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 1.6rem;
  background-image: url(../images/common/ic-angle.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translate(0, -50%) rotate(90deg);
  pointer-events: none;
  transition: transform 0.3s;
}
.c-step-form__no-postal-number > .in-heading.is-current::after {
  transform: rotate(180deg);
}
.c-step-form__no-postal-number > .in-body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6rem;
  margin-top: 1rem;
}
.c-step-form__accept-list {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  font-size: 1.4rem;
}
.c-step-form__accept-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.c-step-form__accept-list a svg {
  width: 1.3rem;
}
.c-step-form__submit-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0rem;
  position: relative;
  background-color: var(--main-color);
  border-radius: 4rem;
  width: 36.2rem;
  height: 7.5rem;
  color: white;
  font-size: 1.6rem;
  margin-inline: auto;
  margin-top: 0.5rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.c-step-form__submit-button::before {
  content: "";
  display: block;
  width: 20rem;
  height: 50rem;
  background: linear-gradient(to right, transparent, white);
  opacity: 0.2;
  position: absolute;
  left: -40rem;
  top: 50%;
  transform: translate(0, -50%) rotate(45deg);
  z-index: -1;
  animation: buttonFlash infinite 2s;
}
.c-step-form__submit-button > .in-sub {
  font-size: 1.3rem;
  position: relative;
}
.c-step-form__submit-button > .in-main {
  font-size: 2rem;
  position: relative;
}
.c-step-form__submit-button > .in-angle {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%);
}
.c-step-form__submit-button > .in-angle svg {
  width: 0.7rem;
}
.c-step-form__submit-button > .in-angle svg path {
  stroke: white;
}
.c-step-form__step-error {
  margin-top: 2rem;
  text-align: center;
  width: 100%;
  color: #fb685d;
  opacity: 0;
}
.c-step-form__step-error.is-error {
  opacity: 1;
}

@keyframes buttonFlash {
  0% {
    transform: translate(0, -50%) rotate(45deg);
  }
  50%, 100% {
    transform: translate(80rem, -50%) rotate(45deg);
  }
}
.c-contact-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background-color: #eef6ff;
  height: 11rem;
}
@media screen and (max-width: 768px) {
  .c-contact-header {
    height: 7rem;
  }
}
.c-contact-header__logo {
  width: 20rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-contact-header__logo {
    width: 11rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contact-header__text {
    font-size: 1.1rem;
  }
}

.c-modal-search {
  width: 90rem;
  max-width: 100%;
  margin-inline: auto;
}
.c-modal-search__inner {
  border: solid 1px #ccc;
}
.c-modal-search__item {
  display: grid;
  grid-template-columns: 15rem 1fr 8rem;
  border-bottom: solid 1px #ccc;
}
@media (hover: hover) {
  .c-modal-search__item:hover {
    background-color: #f8fcff;
  }
}
@media screen and (max-width: 768px) {
  .c-modal-search__item {
    grid-template-columns: 1fr 8rem;
  }
}
.c-modal-search__item:last-of-type {
  border-bottom: none;
}
.c-modal-search__item-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 2rem;
  background-color: #eee;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-modal-search__item-title {
    grid-column: span 2;
    padding: 1.5rem;
  }
}
.c-modal-search__item-this-select {
  padding: 2rem 3rem;
  color: #ccc;
}
@media screen and (max-width: 768px) {
  .c-modal-search__item-this-select {
    padding: 1.5rem;
  }
}
.c-modal-search__item-this-select.is-selected {
  color: var(--font-color);
}
.c-modal-search__item-change-button {
  padding: 2rem 2rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-modal-search__item-change-button {
    padding: 1.5rem;
  }
}
.c-modal-search__item-change-button::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 2rem);
  background-color: var(--font-color);
  position: absolute;
  left: 0;
  top: 1rem;
  opacity: 0.5;
}
.c-modal-search__modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1001;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-modal-search__modal-inner {
  width: 90rem;
  max-width: calc(100% - 4rem);
  height: auto;
  max-height: calc(100vh - 10rem);
  background-color: white;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
}
.c-modal-search__modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2rem;
  border-bottom: solid 1px #ccc;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-modal-search__modal-header {
    padding: 1rem 2rem;
  }
}
.c-modal-search__modal-title {
  font-size: 3rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-modal-search__modal-title {
    font-size: 2rem;
  }
}
.c-modal-search__modal-close {
  font-size: 4rem;
}
.c-modal-search__modal-body {
  flex: 1 1 0%;
  overflow-y: scroll;
}
.c-modal-search__modal-submit-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 1.5rem;
  border-top: solid 1px #ccc;
  position: sticky;
  bottom: 0;
  z-index: 10;
  flex-shrink: 0;
}
.c-modal-search__modal-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20rem;
  height: 5rem;
  background-color: var(--accent-red);
  border-radius: 1rem;
  color: white;
  font-size: 1.6rem;
  margin-inline: auto;
}
.c-modal-search__area-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 3rem;
  padding: 4rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__area-list {
    padding: 2rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-modal-search__area-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: solid 1px #eee;
  height: 6rem;
  transition: border-color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-modal-search__area-item {
    height: 4.5rem;
  }
}
.c-modal-search__area-item::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1.5rem;
  background-image: url(../images/common/ic-angle.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media (hover: hover) {
  .c-modal-search__area-item:hover {
    border-bottom-color: var(--main-color);
  }
}
.c-modal-search__area-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: rgb(240, 240, 245);
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__area-detail-header {
    padding: 1rem 2rem;
  }
}
.c-modal-search__area-detail-header > .in-pref {
  font-weight: bold;
  font-size: 2rem;
}
.c-modal-search__area-detail-header > .in-change-button {
  padding: 0.5rem 1rem;
  border: solid 1px #ccc;
  background-color: white;
  font-weight: bold;
  border-radius: 2rem;
  color: var(--main-color);
}
.c-modal-search__area-detail-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 3rem;
  padding: 2rem 4rem 6rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__area-detail-list {
    padding: 2rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-modal-search__area-detail-item {
  display: flex;
  align-items: center;
  gap: 0, 5rem;
  border-bottom: solid 1px #eee;
  height: 6rem;
  transition: border-color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-modal-search__area-detail-item {
    height: 4.5rem;
  }
}
.c-modal-search__area-detail-item:has(input:checked) {
  color: var(--main-color);
  font-weight: bold;
}
@media (hover: hover) {
  .c-modal-search__area-detail-item:hover {
    border-bottom-color: var(--main-color);
  }
}
.c-modal-search__job-list-wrapper {
  padding: 2rem 4rem 6rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__job-list-wrapper {
    padding: 2rem;
  }
}
.c-modal-search__job-cat-name {
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .c-modal-search__job-cat-name {
    font-size: 1.6rem;
  }
}
.c-modal-search__job-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 3rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__job-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-modal-search__job-list:last-of-type {
  margin-bottom: 0;
}
.c-modal-search__job-list > label {
  display: flex;
  align-items: center;
  gap: 0, 5rem;
  border-bottom: solid 1px #eee;
  height: 6rem;
  transition: border-color 0.3s;
}
.c-modal-search__job-list > label:has(input:checked) {
  color: var(--main-color);
  font-weight: bold;
}
@media (hover: hover) {
  .c-modal-search__job-list > label:hover {
    border-bottom-color: var(--main-color);
  }
}
.c-modal-search__etype-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 3rem;
  margin-bottom: 4rem;
  padding: 2rem 4rem 6rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__etype-list {
    grid-template-columns: repeat(2, 1fr);
    padding: 2rem;
  }
}
.c-modal-search__etype-list:last-of-type {
  margin-bottom: 0;
}
.c-modal-search__etype-list > label {
  display: flex;
  align-items: center;
  gap: 0, 5rem;
  border-bottom: solid 1px #eee;
  height: 6rem;
  transition: border-color 0.3s;
}
.c-modal-search__etype-list > label:has(input:checked) {
  color: var(--main-color);
  font-weight: bold;
}
@media (hover: hover) {
  .c-modal-search__etype-list > label:hover {
    border-bottom-color: var(--main-color);
  }
}
.c-modal-search__kodawari-item {
  display: grid;
  grid-template-columns: 20rem 1fr;
  border-top: solid 1px #ccc;
}
@media screen and (max-width: 768px) {
  .c-modal-search__kodawari-item {
    grid-template-columns: 1fr;
  }
}
.c-modal-search__kodawari-item:first-of-type {
  border-top: none;
}
.c-modal-search__kodawari-title {
  background-color: rgb(245, 244, 242);
  padding: 2rem;
  font-weight: bold;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-modal-search__kodawari-title {
    padding: 1rem 2rem;
  }
}
.c-modal-search__kodawari-data {
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__kodawari-data {
    padding: 2rem;
  }
}
.c-modal-search__kodawari-data > .in-flex-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__kodawari-data > .in-flex-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}
.c-modal-search__kodawari-data input[name=kw] {
  width: 100%;
  padding: 1rem;
  border: solid 1px #ccc;
}
.c-modal-search__kodawari-popular-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 2rem;
}
.c-modal-search__kodawari-popular-list > label:nth-of-type(n+4) {
  display: none;
}
.c-modal-search__detail-open {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 20rem;
  height: 5rem;
  border: solid 2px #ccc;
  flex-shrink: 0;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-modal-search__detail-open {
    font-size: 1.4rem;
    width: 18rem;
    height: 4rem;
  }
}
.c-modal-search__modal-back-wrapper {
  padding: 2rem;
  background-color: rgb(240, 240, 245);
}
.c-modal-search__modal-back {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.c-modal-search__modal-back > .in-angle {
  font-size: 2.2rem;
}
.c-modal-search__kodawari-detail-list-wrapper {
  padding: 2rem 4rem 6rem;
}
.c-modal-search__kodawari-detail-list-title {
  font-size: 2rem;
  font-weight: bold;
}
.c-modal-search__kodawari-detail-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 3rem;
  margin-bottom: 4rem;
}
.c-modal-search__kodawari-detail-list:last-of-type {
  margin-bottom: 0;
}
.c-modal-search__kodawari-detail-list > label {
  display: flex;
  align-items: center;
  gap: 0, 5rem;
  border-bottom: solid 1px #eee;
  height: 6rem;
  transition: border-color 0.3s;
}
.c-modal-search__kodawari-detail-list > label:has(input:checked) {
  color: var(--main-color);
  font-weight: bold;
}
@media (hover: hover) {
  .c-modal-search__kodawari-detail-list > label:hover {
    border-bottom-color: var(--main-color);
  }
}

.c-before-back {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.c-before-back__inner {
  width: 44rem;
  position: relative;
  max-width: calc(100% - 4rem);
}
.c-before-back__button-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  bottom: 4rem;
  left: 0;
  width: 100%;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .c-before-back__button-wrapper {
    bottom: 3rem;
  }
}
.c-before-back__button-wrapper .c-button-simple-angle {
  width: 33.4rem;
  height: 4rem;
}
@media screen and (max-width: 768px) {
  .c-before-back__button-wrapper .c-button-simple-angle {
    max-width: 30rem;
  }
}
.c-before-back__top-link {
  text-align: center;
  font-size: 1.3rem;
  color: var(--main-color);
  text-decoration: underline;
}
.c-before-back.is-open {
  z-index: 1001;
  opacity: 1;
  pointer-events: auto;
}

.c-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 1.2rem;
  border-radius: 999px;
  background: #eef2ff;
  color: #32426a;
  font-size: 1.2rem;
  border: 1px solid rgba(34, 59, 118, 0.15);
  transition: background 0.2s ease;
}
@media (hover: hover) {
  .c-filter-chip:hover {
    background: #e1e8ff;
  }
}
.c-filter-chip__remove {
  font-size: 1.2rem;
  color: #8a95b2;
}

.c-related-jobs-block {
  background: #f5f7fb;
  padding: 4rem 0;
}
.c-related-jobs-block__title {
  text-align: left;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 2.4rem;
}
@media screen and (min-width: 1024px) {
  .c-related-jobs-block__title {
    text-align: center;
  }
}
.c-related-jobs-block__empty {
  text-align: center;
  color: #4a587a;
  margin: 0;
}

.c-related-job-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.c-related-job-list--compact {
  gap: 1rem;
}

.c-related-job-card {
  background: #fff;
  border-radius: 1.8rem;
  border: 1px solid rgba(27, 58, 119, 0.08);
  box-shadow: 0 16px 40px rgba(15, 35, 80, 0.08);
  padding: 2.4rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.c-related-job-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 64px rgba(15, 35, 80, 0.12);
}
.c-related-job-card__link {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  text-decoration: none;
  color: inherit;
}
.c-related-job-card__thumb {
  width: 100%;
  height: 20rem;
  border-radius: 1.2rem;
  overflow: hidden;
  background: #f1f3f6;
  flex-shrink: 0;
}
.c-related-job-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-related-job-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}
.c-related-job-card__title {
  font-size: 1.8rem;
  margin: 0;
  color: #13203d;
  font-weight: 700;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.c-related-job-card__lead {
  margin: 0;
  font-size: 1.35rem;
  color: #36456b;
  line-height: 1.6;
  font-weight: 500;
}
.c-related-job-card__line {
  margin: 0;
  font-size: 1.4rem;
  color: #2a3450;
  line-height: 1.6;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.c-related-job-card__line .in-icon {
  width: 1.6rem;
  height: 1.6rem;
  flex-shrink: 0;
}
.c-related-job-card__line--salary {
  color: #c54d34;
  font-weight: 700;
}
.c-related-job-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.8rem;
}
.c-related-job-card__tags span {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 1rem;
  font-size: 1.2rem;
  border-radius: 999px;
  background: #eef3ff;
  color: #33426a;
  font-weight: 600;
}

.c-related-job-card--compact {
  padding: 1.5rem;
}
.c-related-job-card--compact .c-related-job-card__link {
  gap: 1rem;
}
.c-related-job-card--compact .c-related-job-card__thumb {
  width: 100%;
  height: 14rem;
  border-radius: 1rem;
}
.c-related-job-card--compact .c-related-job-card__title {
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.01em;
  -webkit-line-clamp: 3;
}
.c-related-job-card--compact .c-related-job-card__line {
  font-size: 1.25rem;
}

.c-new-job-list {
  padding-inline: calc(50vw - 59rem) !important;
  padding-bottom: 6rem !important;
  opacity: 0;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .c-new-job-list {
    padding-inline: 2rem !important;
    padding-bottom: 6rem !important;
  }
}
.c-new-job-list .swiper-slide {
  height: auto;
}
.c-new-job-list__progress {
  width: 27rem !important;
  top: auto !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translate(-50%, 0);
  overflow: hidden;
  border-radius: 0.6rem;
  --swiper-pagination-progressbar-bg-color: white;
  --swiper-pagination-progressbar-size: 0.8rem;
  --swiper-pagination-color: var(--main-color);
}
@media screen and (max-width: 768px) {
  .c-new-job-list__progress {
    --swiper-pagination-progressbar-size: 0.5rem;
    bottom: 2rem !important;
  }
}
.c-new-job-list__progress .swiper-pagination-progressbar-fill {
  border-radius: 0.6rem;
  overflow: hidden;
  display: block;
}
.c-new-job-list__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  aspect-ratio: 1/1;
  background-color: var(--main-color);
  border-radius: 100%;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 11;
  transition: opacity 0.3s;
  padding-left: 0.2rem;
}
@media (hover: hover) {
  .c-new-job-list__arrow:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .c-new-job-list__arrow {
    width: 4rem;
    top: 19.5rem;
  }
}
.c-new-job-list__prev {
  left: max(4rem, 50vw - 70rem);
  transform: translate(0, -50%) rotate(180deg);
}
@media screen and (max-width: 768px) {
  .c-new-job-list__prev {
    left: 1rem;
  }
}
.c-new-job-list__next {
  right: max(4rem, 50vw - 70rem);
}
@media screen and (max-width: 768px) {
  .c-new-job-list__next {
    right: 1rem;
  }
}
.c-new-job-list.is-active {
  opacity: 1;
}

.c-new-job-item {
  overflow: hidden;
  border-radius: 0.6rem;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
  background-color: white;
}
.c-new-job-item__image {
  aspect-ratio: 37/21;
  overflow: hidden;
}
.c-new-job-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-new-job-item__desc-wrapper {
  padding: 2rem;
}
.c-new-job-item__title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1.4rem;
}
.c-new-job-item__desc {
  font-size: 1.4rem;
  color: #9D9D9D;
  margin-bottom: 1rem;
}
.c-new-job-item__detail-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 2.4rem;
}
.c-new-job-item__detail-item {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 0.8rem;
}
.c-new-job-item__detail-title {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 1.3rem;
  color: var(--main-color);
  font-weight: 500;
}
.c-new-job-item__detail-title img {
  width: 1.3rem;
}
.c-new-job-item__detail-data {
  font-size: 1.3rem;
  font-weight: 500;
}
.c-new-job-item__button-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.8rem;
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .c-new-job-item__button-wrapper {
    gap: 1rem;
  }
}
.c-new-job-item__favorite-button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 1.2rem;
  border: solid 1px #C04B4B;
  border-radius: 5rem;
  background-color: #FFF6F6;
  height: 3.8rem;
  gap: 0.5rem;
  transition: background-color 0.3s;
}
.c-new-job-item__favorite-button > .in-text {
  font-size: 1.4rem;
  color: #C04B4B;
  font-weight: 500;
  transition: color 0.3s;
}
.c-new-job-item__favorite-button > .in-hart svg {
  display: flex;
  align-items: center;
  width: 1.5rem;
}
.c-new-job-item__favorite-button > .in-hart svg path {
  fill: #C04B4B;
  transition: fill 0.3s;
}
@media (hover: hover) {
  .c-new-job-item__favorite-button:hover {
    background-color: #C04B4B;
  }
  .c-new-job-item__favorite-button:hover > .in-text {
    color: white;
  }
  .c-new-job-item__favorite-button:hover > .in-hart svg path {
    fill: white;
  }
}
.c-new-job-item__detail-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: 1.6rem;
  border: solid 1px var(--main-color);
  border-radius: 5rem;
  background-color: var(--main-color);
  height: 3.8rem;
  gap: 0.5rem;
  transition: background-color 0.3s;
}
.c-new-job-item__detail-button > .in-text {
  font-size: 1.4rem;
  color: white;
  font-weight: 500;
  transition: color 0.3s;
}
.c-new-job-item__detail-button > .in-angle svg {
  width: 0.6rem;
  display: flex;
  align-items: center;
}
.c-new-job-item__detail-button > .in-angle svg path {
  stroke: white;
  transition: stroke 0.3s;
}
@media (hover: hover) {
  .c-new-job-item__detail-button:hover {
    background-color: white;
  }
  .c-new-job-item__detail-button:hover > .in-text {
    color: var(--main-color);
  }
  .c-new-job-item__detail-button:hover > .in-angle svg path {
    stroke: var(--main-color);
  }
}

.c-dialog-search {
  background-color: transparent;
  position: fixed;
  width: 98rem;
  height: 70vh;
  max-width: calc(100% - 4rem);
  max-height: calc(100% - 3rem);
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search {
    padding: 3rem 0 0;
    max-width: 100%;
    height: 90vh;
    margin-top: auto;
    margin-bottom: 0;
  }
}
.c-dialog-search__close-button {
  display: block;
  width: 4rem;
  aspect-ratio: 1/1;
  background-color: white;
  border-radius: 100%;
  position: absolute;
  top: 0;
  right: 0;
  border: solid 1px var(--font-color);
}
@media screen and (max-width: 768px) {
  .c-dialog-search__close-button {
    right: 1rem;
  }
}
.c-dialog-search__close-button::before, .c-dialog-search__close-button::after {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background-color: var(--font-color);
  transform: translate(-50%, -50%) rotate(var(--rotate));
  top: 50%;
  left: 50%;
  position: absolute;
}
.c-dialog-search__close-button::before {
  --rotate: -45deg;
}
.c-dialog-search__close-button::after {
  --rotate: 45deg;
}
.c-dialog-search__close-bg {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.c-dialog-search__inner {
  display: flex;
  flex-direction: column;
  background-color: white;
  border-radius: 0.8rem;
  padding: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__inner {
    border-radius: 0.8rem 0.8rem 0 0/0.8rem 0.8rem 0 0;
  }
}
.c-dialog-search__tab-list {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding-inline: 5rem;
  height: 6rem;
  border-bottom: solid 1px #c3c3c3;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__tab-list {
    padding-inline: 1rem;
    overflow-x: scroll;
    gap: 2rem;
    padding-inline: 2rem;
  }
}
.c-dialog-search__tab {
  font-size: max(14px, 1.6rem);
  font-weight: 500;
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__tab {
    font-size: 1.5rem;
  }
}
.c-dialog-search__tab.is-active {
  font-weight: bold;
  color: var(--main-color);
}
.c-dialog-search__tab-selected {
  position: absolute;
  top: 50%;
  left: calc(100% + 0.5rem);
  font-size: 0.9rem;
  background-color: #ebf4fe;
  padding: 0.2rem;
  transform: translate(0, -50%);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__tab-selected {
    overflow: hidden;
    width: 0.5rem;
    height: 0.5rem;
    background-color: var(--main-color);
    border-radius: 100%;
    content: "";
  }
}
.c-dialog-search__contents {
  position: relative;
  overflow-y: scroll;
  max-height: 100%;
  padding-bottom: 2rem;
}
.c-dialog-search__contents-clear-button {
  background-color: #e9f3fd;
  padding: 5px 4rem 10px;
  position: sticky;
  top: 0;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__contents-clear-button {
    padding-inline: 2rem;
  }
}
.c-dialog-search__contents-clear-button button {
  color: var(--main-color);
  font-size: max(10px, 1.1rem);
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__contents-clear-button button {
    font-size: 1.1rem;
  }
}
.c-dialog-search__contents-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem;
  padding: 2rem 4rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__contents-inner {
    padding: 2rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.7rem;
  }
}
.c-dialog-search__contents-inner--2col {
  grid-template-columns: repeat(2, 1fr);
  width: 60rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__contents-inner--sallery {
    grid-template-columns: 1fr;
  }
}
.c-dialog-search__contents-inner-heading {
  font-size: 1.8rem;
  font-weight: bold;
  grid-column: span 3;
  margin-top: 1rem;
}
.c-dialog-search__contents-inner-heading:first-of-type {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__contents-inner-heading {
    grid-column: span 2;
    font-size: 1.6rem;
    margin-top: 2rem;
  }
  .c-dialog-search__contents-inner-heading:first-of-type {
    margin-top: 0;
  }
}
.c-dialog-search__heading-action {
  margin-left: 0.8rem;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--main-color);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__heading-action {
    font-size: 1.1rem;
  }
}
.c-dialog-search__label {
  display: flex;
  align-items: center;
  padding-inline: 1.2rem;
  padding-block: 0.6rem;
  gap: 0.6rem;
  height: auto;
  min-height: 4.4rem;
  border-radius: 0.6rem;
  border: solid 1px #c3c3c3;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__label {
    grid-column: span 2;
  }
}
.c-dialog-search__label > input[type=checkbox] {
  margin: 0;
  width: 1.2rem;
}
.c-dialog-search__label > .in-text {
  font-size: max(13px, 1.5rem);
}
@media screen and (max-width: 768px) {
  .c-dialog-search__label > .in-text {
    font-size: 1.5rem;
  }
}
.c-dialog-search__label:has(input:checked) {
  background-color: #ebf4fe;
}
.c-dialog-search__detail {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  padding: 1.6rem 4rem 2rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__detail {
    padding: 1.6rem 2rem 2rem;
    gap: 2rem;
  }
}
.c-dialog-search__detail-section {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.c-dialog-search__detail-section--mt-md {
  margin-top: 2rem;
}
.c-dialog-search__detail-section .c-dialog-search__contents-inner {
  padding: 0 0 2rem;
}
.c-dialog-search__detail-heading h3 {
  font-size: 1.5rem;
  margin: 0;
  color: #243152;
}
.c-dialog-search__detail-heading p {
  margin: 0.3rem 0 0;
  font-size: 1.2rem;
  color: #7f8aa8;
}
.c-dialog-search__keyword {
  display: block;
  width: 100%;
}
.c-dialog-search__keyword input {
  width: 100%;
  padding: 1.2rem 1.6rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(38, 56, 112, 0.25);
  font-size: 1.5rem;
  min-height: 4.4rem;
  line-height: 1.4;
  background: #fff;
  box-sizing: border-box;
}
.c-dialog-search__keyword input::placeholder {
  color: #9aa4c0;
}
.c-dialog-search__sallery-slider {
  grid-column: span 2;
  padding-inline: 4rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__sallery-slider {
    grid-column: span 1;
    padding-inline: 0;
    margin-top: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-dialog-search__sallery-slider .c-input-slider {
    gap: 0;
  }
}
.c-dialog-search__contents-wrapper {
  height: calc(100% - 14rem);
  flex-grow: 0;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__contents-wrapper {
    height: calc(100% - 20rem);
  }
}
.c-dialog-search__location-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 4.6rem;
  padding-left: 1rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__location-tab {
    height: 4rem;
  }
}
.c-dialog-search__location-tab::before {
  content: "";
  display: block;
  width: 0.5rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  opacity: 0;
}
.c-dialog-search__location-tab.is-active::before {
  opacity: 1;
}
.c-dialog-search__location-tab > .in-area-button {
  position: relative;
}
.c-dialog-search__location-tab > .in-area-button::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--main-color);
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  opacity: 0;
}
.c-dialog-search__location-tab > .in-area-button.is-current::after {
  opacity: 1;
}
.c-dialog-search__location-tab > .in-clear-button {
  font-size: 0.9rem;
  color: var(--main-color);
  text-decoration: underline;
}
.c-dialog-search__location-main {
  padding: 2rem 3rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__location-main {
    padding: 2rem 1rem;
  }
}
.c-dialog-search__areas-wrap {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.c-dialog-search__pref-wrap:last-of-type .c-dialog-search__cities {
  border-bottom: none;
  padding-bottom: 2rem;
}
.c-dialog-search__cities {
  margin-top: 1rem;
  border-bottom: solid 1px #eeeeee;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__cities {
    margin-top: 0.5rem;
  }
}
.c-dialog-search__cities-group + .c-dialog-search__cities-group {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__cities-group + .c-dialog-search__cities-group {
    margin-top: 0.5rem;
  }
}
.c-dialog-search__inner-cities {
  grid-column: span 3;
  padding-bottom: 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  border-bottom: solid 1px #eeeeee;
  margin-bottom: 2rem;
  margin-top: 1rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__inner-cities {
    gap: 0.5rem;
    margin-top: 0.5rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-dialog-search__inner-cities--pl {
  padding-left: 2rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__inner-cities--pl {
    padding-left: 1rem;
  }
}
.c-dialog-search__inner-cities:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}
.c-dialog-search__inner-cities-toggle-button {
  position: sticky;
  width: 100%;
  height: 4rem;
  background: linear-gradient(to bottom, transparent, white 1.5rem);
  bottom: -2rem;
  left: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.2rem;
  color: var(--main-color);
  padding-left: 0.5rem;
  padding-top: 1rem;
  grid-column: span 3;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__inner-cities-toggle-button {
    grid-column: span 2;
  }
}
.c-dialog-search__inner-cities-toggle-button > .in-plus {
  display: block;
  width: 1rem;
  aspect-ratio: 1/1;
  position: relative;
}
.c-dialog-search__inner-cities-toggle-button > .in-plus::before, .c-dialog-search__inner-cities-toggle-button > .in-plus::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  left: 50%;
}
.c-dialog-search__inner-cities-toggle-button > .in-plus::before {
  transform: translate(-50%, -50%);
}
.c-dialog-search__inner-cities-toggle-button > .in-plus::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.3s;
}
.c-dialog-search__inner-cities-toggle-button.is-open > .in-plus::after {
  transform: translate(-50%, -50%);
}
.c-dialog-search__check-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 5rem;
  font-size: max(13px, 1.5rem);
  gap: 0.2rem;
  border: solid 1px #cccccc;
  border-radius: 0.5rem;
  position: relative;
}
.c-dialog-search__check-label input {
  display: none;
}
.c-dialog-search__check-label:has(input:checked) {
  border-color: var(--main-color);
  background-color: #eaf1ff;
}
.c-dialog-search__check-label > .in-label {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-dialog-search__check-label > .in-toggle {
  display: block;
  height: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  right: 0;
}
.c-dialog-search__check-label > .in-toggle::before, .c-dialog-search__check-label > .in-toggle::after {
  content: "";
  display: block;
  width: 1.5rem;
  height: 2px;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  left: 50%;
  transition: transform 0.3s;
}
.c-dialog-search__check-label > .in-toggle::before {
  transform: translate(-50%, -50%);
}
.c-dialog-search__check-label > .in-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-dialog-search__check-label > .in-toggle.is-open::after {
  transform: translate(-50%, -50%);
}
.c-dialog-search__footer {
  border-top: solid 1px #c3c3c3;
  height: 8rem;
  max-height: 8rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: space-between;
  padding: 2rem 3rem 0 2rem;
  overflow-y: scroll;
  gap: 2rem;
  flex-wrap: wrap;
  scrollbar-width: none;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__footer {
    flex-direction: column;
    flex-wrap: nowrap;
    height: 12rem;
    max-height: 12rem;
    padding-block: 0;
    gap: 0;
  }
}
.c-dialog-search__footer::after {
  content: "";
  position: sticky;
  bottom: 0;
  width: 100%;
  background: linear-gradient(to bottom, transparent, white);
  height: 2rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__footer::after {
    order: 3;
  }
}
.c-dialog-search__footer-conditions-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.5rem;
  width: calc(100% - 33rem);
}
@media screen and (max-width: 768px) {
  .c-dialog-search__footer-conditions-wrapper {
    width: 100%;
    padding-bottom: 2rem;
  }
}
.c-dialog-search__footer-conditions-head {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.c-dialog-search__footer-conditions-head > .in-text {
  font-size: 1.2rem;
  font-weight: bold;
}
.c-dialog-search__footer-conditions-head > .in-clear-button {
  font-size: 1.1rem;
  color: var(--main-color);
  text-decoration: underline;
}
.c-dialog-search__footer-conditions-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 1.4rem;
}
.c-dialog-search__footer-condition {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.2rem;
}
.c-dialog-search__footer-condition > .in-clear-button {
  display: block;
  width: 1.1rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: var(--main-color);
  position: relative;
}
.c-dialog-search__footer-condition > .in-clear-button::before, .c-dialog-search__footer-condition > .in-clear-button::after {
  content: "";
  display: block;
  width: 0.7rem;
  height: 1px;
  background-color: white;
  position: absolute;
  top: 50%;
  left: 50%;
}
.c-dialog-search__footer-condition > .in-clear-button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.c-dialog-search__footer-condition > .in-clear-button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.c-dialog-search__footer-submit-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 3rem;
  flex-shrink: 0;
  position: sticky;
  top: 0;
  width: 31rem;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__footer-submit-wrapper {
    width: 100%;
    gap: 2rem;
    justify-content: center;
    background-color: white;
    z-index: 1;
    padding-block: 2rem 1rem;
  }
}
.c-dialog-search__footer-job-count {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.7rem;
}
.c-dialog-search__footer-job-count > .in-count {
  font-size: 2.4rem;
  color: var(--accent-red);
  font-family: var(--alex);
}
.c-dialog-search__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  padding: 1rem 3rem;
  background-color: var(--main-color);
  color: white;
  font-size: 1.4rem;
  border-radius: 0.4rem;
  border: solid 1px var(--main-color);
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-dialog-search__submit {
    width: auto;
    height: auto;
    font-size: 1.3rem;
  }
}
@media (hover: hover) {
  .c-dialog-search__submit:hover {
    background-color: white;
    color: var(--main-color);
  }
}
.c-dialog-search[open] {
  opacity: 1;
}
.c-dialog-search[open]::backdrop {
  opacity: 1;
}
.c-dialog-search__bred-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
.c-dialog-search__bred-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.4rem;
}
.c-dialog-search__bred-item > .in-angle {
  font-size: 1.2rem;
  opacity: 0.5;
}
.c-dialog-search__bred-item--pointer {
  cursor: pointer;
}
.c-dialog-search__location-group-wrapper, .c-dialog-search__pref-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
.c-dialog-search__location-group-tab, .c-dialog-search__pref-button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5rem;
  border: solid 1px #d3d3d3;
  border-radius: 0.5rem;
  font-size: max(13px, 1.5rem);
}
@media screen and (max-width: 768px) {
  .c-dialog-search__location-group-tab, .c-dialog-search__pref-button {
    font-size: 1.5rem;
  }
}

.c-job-apply-visited {
  padding-block: 6rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited {
    width: calc(100% - 4rem);
    margin-inline: auto;
  }
}
.c-job-apply-visited__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  font-size: 3.2rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__heading {
    font-size: 2rem;
  }
}
.c-job-apply-visited__heading img {
  width: 9.8rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__heading img {
    width: 6rem;
  }
}
.c-job-apply-visited__card {
  border-radius: 1.6rem;
  border: solid 1px rgba(43, 76, 134, 0.5215686275);
  width: 81.1rem;
  margin-inline: auto;
  display: flex;
  align-items: flex-start;
  padding: 2.5rem;
  gap: 2.3rem;
  margin-bottom: 3rem;
  max-width: calc(100% - 4rem);
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__card {
    flex-direction: column;
    width: min(100%, 44rem);
    max-width: 100%;
    padding: 1.4rem 1.6rem;
    gap: 1.2rem;
    border: none;
    background: #fff;
    box-shadow: 0 10px 30px rgba(22, 35, 71, 0.12);
  }
}
.c-job-apply-visited__card-image-wrapper {
  width: 28.1rem;
  aspect-ratio: 28/21;
  overflow: hidden;
  border-radius: 1.2rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__card-image-wrapper {
    width: 100%;
    aspect-ratio: 16/9;
    border-radius: 1rem;
  }
}
.c-job-apply-visited__card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-job-apply-visited__card-desc-wrapper {
  width: calc(100% - 30.4rem);
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__card-desc-wrapper {
    width: 100%;
  }
}
.c-job-apply-visited__card-head {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__card-head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0.8rem;
    gap: 0.5rem;
  }
}
.c-job-apply-visited__card-cat {
  padding: 0.2rem 1.5rem;
  border-radius: 1rem;
  background-color: var(--main-color);
  color: white;
  font-size: 1.2rem;
}
.c-job-apply-visited__card-company-name {
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #4A5874;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__card-company-name {
    width: 100%;
  }
}
.c-job-apply-visited__card-company-name img {
  width: 1.5rem;
}
.c-job-apply-visited__card-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__card-title {
    font-size: 1.7rem;
    line-height: 1.4;
  }
}
.c-job-apply-visited__card-desc {
  font-size: 1.4rem;
  color: #404B63;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__card-desc {
    font-size: 1.3rem;
    word-break: break-all;
  }
}
.c-job-apply-visited__button-wrapper {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__button-wrapper {
    padding-inline: 1rem;
  }
}
.c-job-apply-visited__button {
  width: 34.8rem;
  height: 8rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__button {
    width: 100%;
    height: auto;
  }
}
.c-job-apply-visited__button .c-button-simple-angle__text {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.2;
  padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__button .c-button-simple-angle__text {
    font-size: 1.8rem;
    padding-bottom: 0.6rem;
  }
}
.c-job-apply-visited__button .c-button-simple-angle__text > .in-small {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__button .c-button-simple-angle__text > .in-small {
    font-size: 1.2rem;
  }
}
.c-job-apply-visited__button .c-button-simple-angle__angle {
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(0, -50%);
}
.c-job-apply-visited__button .c-button-simple-angle__angle svg {
  width: 1.2rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__button .c-button-simple-angle__angle svg {
    width: 1rem;
  }
}
.c-job-apply-visited__clear-button {
  text-align: center;
  margin-top: 2rem;
}
.c-job-apply-visited__clear-button button {
  color: var(--main-color);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-job-apply-visited__clear-button button:hover {
    opacity: 0.6;
  }
}
.c-job-apply-visited__link-list {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, auto));
  justify-content: center;
  gap: 1.4rem 2rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__link-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3rem;
    padding-inline: 1rem;
  }
}
.c-job-apply-visited__link a {
  font-size: 1.4rem;
  color: #666666;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.c-job-apply-visited__link a img {
  width: 1.3rem;
}
@media screen and (max-width: 768px) {
  .c-job-apply-visited__link a {
    font-size: 1.2rem;
  }
}

.is-quick-apply .wpcf7 form {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  left: -9999px;
}

.c-form-submitting {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  transition: opacity 0.3s;
  pointer-events: none;
}
.c-form-submitting__loader {
  width: 10rem;
  aspect-ratio: 1/1;
  border: solid 10px #cfe5fd;
  border-right-color: var(--main-color);
  border-radius: 100%;
  animation: loader 2s infinite linear;
}

@keyframes loader {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.c-mv-bubble {
  filter: drop-shadow(0 0 0.2rem rgba(0, 0, 0, 0.2));
  background-color: white;
  border-radius: 1rem;
  padding: 0.8rem;
  padding-bottom: 1.7rem;
  width: 22rem;
  position: relative;
  animation: float-one ease-in-out 9s infinite;
}
@media screen and (max-width: 768px) {
  .c-mv-bubble {
    width: 19rem;
  }
}
.c-mv-bubble::after {
  content: "";
  display: block;
  border: solid 0.9rem transparent;
  border-top: solid 1rem white;
  position: absolute;
  top: calc(100% - 0.1rem);
  left: 50%;
  transform: translate(-50%, 0);
}
.c-mv-bubble__label {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EBF4FF;
  color: var(--main-color);
  font-size: 1.2rem;
  width: 100%;
  height: 2.8rem;
  border-radius: 0.4rem;
  margin-bottom: 0.9rem;
}
@media screen and (max-width: 768px) {
  .c-mv-bubble__label {
    height: 2rem;
    font-size: 1rem;
    margin-bottom: 0.6rem;
  }
}
.c-mv-bubble__inner {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
@media screen and (max-width: 768px) {
  .c-mv-bubble__inner {
    gap: 0.6rem;
  }
}
.c-mv-bubble__image {
  display: block;
  width: 5.4rem;
  border-radius: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-mv-bubble__image {
    width: 3.6rem;
  }
}
.c-mv-bubble__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-mv-bubble__type {
  font-size: 1.5rem;
  margin-bottom: 0.2rem;
}
@media screen and (max-width: 768px) {
  .c-mv-bubble__type {
    font-size: 1rem;
  }
}
.c-mv-bubble__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.2rem;
}
.c-mv-bubble__tag {
  font-size: 1.2rem;
  color: #9D9D9D;
}
@media screen and (max-width: 768px) {
  .c-mv-bubble__tag {
    font-size: 1rem;
  }
}

@keyframes float-one {
  0% {
    transform: translate3d(0, 0rem, 0);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  35% {
    transform: translate3d(0, -0.8rem, 0);
    opacity: 1;
  }
  65% {
    transform: translate3d(0, 0.6rem, 0);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, 0rem, 0);
    opacity: 0;
  }
}
.c-contents-popup {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1001;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.c-contents-popup__inner {
  position: relative;
}
.c-contents-popup__inner img {
  width: 35rem;
}
.c-contents-popup__close {
  position: absolute;
  top: -1.5rem;
  right: -1.2rem;
}
.c-contents-popup__close img {
  width: 4rem;
}
.c-contents-popup.is-active {
  opacity: 1;
  pointer-events: auto;
}

.c-about-bansou {
  width: 100rem;
  padding-block: 4rem;
  background: linear-gradient(to bottom, #F8FAE4, #F3F7CF);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  max-width: calc(100% - 4rem);
  padding-inline: 2rem;
}
@media screen and (max-width: 768px) {
  .c-about-bansou {
    padding-block: 2rem;
  }
}
.c-about-bansou::after {
  content: "";
  border: solid transparent 2rem;
  border-top: solid #F3F7CF 2rem;
  border-bottom: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
}
.c-about-bansou > .in-shien {
  position: absolute;
  width: 12rem;
  right: -1rem;
  bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .c-about-bansou > .in-shien {
    width: 8rem;
    bottom: -1rem;
  }
}
.c-about-bansou__title {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  border-bottom: solid 4px #E0E981;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-about-bansou__title {
    font-size: 2.4rem;
  }
}
.c-about-bansou p {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .c-about-bansou p {
    text-align: left;
  }
}

.c-about-ryoiku {
  padding-top: 3rem;
  display: grid;
  align-content: center;
  grid-template-columns: 42.3rem 1fr;
  gap: 5rem;
  width: 100rem;
  max-width: calc(100% - 4rem);
}
@media screen and (max-width: 768px) {
  .c-about-ryoiku {
    grid-template-columns: 1fr;
  }
}
.c-about-ryoiku__image-wrapper {
  height: 26.8rem;
}
.c-about-ryoiku__image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-about-ryoiku__desc-wrapper p {
  color: #33353C;
  line-height: 1.7;
}
.c-about-ryoiku__title {
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.05rem;
  margin-bottom: 1.5rem;
  line-height: 1.8;
}
.c-about-ryoiku__title img {
  width: 16rem;
}
@media screen and (max-width: 768px) {
  .c-about-ryoiku__title img {
    width: 12rem;
  }
}

.c-float-contact {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1.2rem 2rem;
  background-color: #F2F2F2;
  box-shadow: 0 -4px 4px 0 rgba(0, 0, 0, 0.18);
  visibility: hidden;
  transition: transform 0.3s, visibility 0.3s;
  transform: translateY(calc(100% + 8px));
}
@media (max-width: 991.98px) {
  .c-float-contact {
    padding: 1rem 1.6rem;
  }
}
@media (min-width: 992px) {
  .c-float-contact {
    padding: 1.4rem 2rem;
  }
}
.c-float-contact.is-active {
  visibility: visible;
  transform: none;
}
.c-float-contact__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  max-width: 52rem;
  min-height: 6rem;
  padding: 1rem 1.6rem;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
  color: white;
  background-color: var(--accent-red);
  border: 1px solid var(--accent-red);
  border-radius: 0.6rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (hover: hover) {
  .c-float-contact__btn:hover {
    color: var(--accent-red);
    background-color: white;
  }
}
.c-float-contact__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 5rem;
  aspect-ratio: 1/1;
  background-color: white;
  border-radius: 100%;
}
.c-float-contact__icon svg {
  width: 3.5rem;
}
.c-float-contact__icon svg path {
  fill: var(--accent-red);
}
.c-float-contact__text {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

/* コンテナは隠す */
.c-marquee-swiper {
  overflow: hidden;
}
.c-marquee-swiper__track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  animation-name: marquee;
  animation-duration: var(--marquee-duration, 12000ms);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: var(--marquee-direction, normal);
}
.c-marquee-swiper__item {
  flex: 0 0 auto;
}

/* 2セット分ある想定で「半分だけ」移動すると綺麗にループする */
@keyframes marquee {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
/* ユーザー配慮 */
@media (prefers-reduced-motion: reduce) {
  .c-marquee-swiper .swiper-wrapper {
    animation: none !important;
    transform: none !important;
  }
}
.p-top__mv {
  background: linear-gradient(to right, #DFEEFF, #EDFFC1);
  padding-top: 11.5rem;
  position: relative;
  overflow: hidden;
  padding-bottom: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv {
    padding-top: 3rem;
  }
}
.p-top__mv::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to bottom, white, transparent);
}
.p-top__mv-inner {
  position: relative;
  width: 140rem;
  max-width: 100%;
  margin-inline: auto;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.6rem;
  padding-inline: 5.6rem 0;
}
@media screen and (max-width: 768px) {
  .p-top__mv-inner {
    flex-direction: column;
    padding-inline: 0;
    gap: 2rem;
  }
}
.p-top__mv-desc-wrapper {
  width: 81rem;
  max-width: 100%;
}
.p-top__mv-heading-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 4.3rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-heading-wrapper {
    margin-bottom: 2rem;
  }
}
.p-top__mv-heading-wrapper > .in-logo {
  width: 42rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-heading-wrapper > .in-logo {
    width: 21.6rem;
  }
}
.p-top__mv-sub-heading {
  font-size: 2rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-sub-heading {
    font-size: 1.5rem;
    gap: 0.4rem;
    flex-wrap: wrap;
  }
}
.p-top__mv-sub-heading > .in-label {
  padding: 0.5rem 1.2rem 0.5rem;
  background-color: var(--main-color);
  color: white;
  font-size: 1.8rem;
  font-weight: 500;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-sub-heading > .in-label {
    font-size: 1.4rem;
    padding: 0.2rem 0.5rem;
  }
}
.p-top__mv-sub-heading .in-large {
  font-size: 3.5rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-top__mv-sub-heading .in-large {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top__mv-sub-heading > .in-bottom {
    width: 100%;
    text-align: center;
  }
}
.p-top__mv-statement-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-statement-wrapper {
    flex-direction: column;
    gap: 2rem;
  }
}
.p-top__mv-statement {
  font-size: 1.8rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-top__mv-statement {
    font-size: 1.4rem;
    text-align: center;
  }
}
.p-top__mv-statement > .in-num {
  font-size: 4.3rem;
  font-weight: bold;
  color: var(--accent-red);
  margin-inline: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-statement > .in-num {
    font-size: 3rem;
  }
}
.p-top__mv-statement > .in-excl {
  transform: rotate(20deg);
  display: inline-block;
}
.p-top__mv-statement > .in-date {
  font-size: 1rem;
  color: #9D9D9D;
  padding-left: 0.3rem;
}
.p-top__mv-feature-wrapper {
  width: 45rem;
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .p-top__mv-feature-wrapper {
    width: 36rem;
  }
}
.p-top__mv-feature-annotation {
  font-size: 1rem;
  opacity: 0.4;
  transform: translate(-2rem, 0);
}
@media screen and (max-width: 768px) {
  .p-top__mv-feature-annotation {
    font-size: 0.8rem;
  }
}
.p-top__mv-bubble-wrapper {
  position: relative;
  width: 100%;
  height: 30.3rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper {
    display: none;
  }
}
.p-top__mv-bubble-wrapper .c-mv-bubble {
  position: absolute;
  opacity: 0;
}
.p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(1) {
  top: 6.8rem;
  left: 29.7rem;
  z-index: 10;
  animation-delay: 6s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(1) {
    left: 7rem;
    top: 3.6rem;
    z-index: 7;
  }
}
.p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(2) {
  top: 17.6rem;
  left: 23.4rem;
  z-index: 9;
  animation-delay: 4s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(2) {
    left: 18rem;
    top: 10.1rem;
    z-index: 9;
  }
}
.p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(3) {
  top: 14.5rem;
  left: 6.6rem;
  z-index: 8;
  animation-delay: 2s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(3) {
    left: 20rem;
    top: 2.2rem;
    z-index: 10;
  }
}
.p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(4) {
  top: 6.4rem;
  left: 0rem;
  z-index: 7;
  animation-delay: 0s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(4) {
    left: -10rem;
    top: 10.3rem;
    z-index: 6;
  }
}
.p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(5) {
  top: 0rem;
  left: 13.5rem;
  z-index: 6;
  animation-delay: 6s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(5) {
    left: -8rem;
    top: 2rem;
    z-index: 6;
  }
}
.p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(6) {
  top: 1.3rem;
  left: 42rem;
  z-index: 5;
  animation-delay: 4s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(6) {
    left: auto;
    right: -14rem;
    top: 3rem;
    z-index: 5;
  }
}
.p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(7) {
  top: 5.4rem;
  right: 0rem;
  z-index: 3;
  animation-delay: 2s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(7) {
    right: -8rem;
    top: 13rem;
    z-index: 4;
  }
}
.p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(8) {
  top: 15.1rem;
  right: 10rem;
  z-index: 4;
  animation-delay: 0s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-bubble-wrapper .c-mv-bubble:nth-of-type(8) {
    right: auto;
    left: 5rem;
    top: 12.5rem;
    z-index: 8;
  }
}
.p-top__mv-form-wrapper {
  width: 53rem;
  max-width: calc(100% - 3rem);
  flex-shrink: 0;
  background-color: #F4F9FF;
  border: solid 0.4rem var(--main-color);
  border-radius: 1.2rem;
  padding: 2.7rem 3.8rem 5.9rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top__mv-form-wrapper {
    margin-inline: auto;
    padding: 4rem 2.2rem 2.9rem;
    margin-top: 3rem;
  }
}
.p-top__mv-form-heading-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-form-heading-wrapper {
    justify-content: center;
  }
}
.p-top__mv-form-heading {
  font-size: 1.9rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-form-heading {
    font-size: 1.8rem;
    text-align: center;
  }
}
.p-top__mv-form-detail-search-button {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-form-detail-search-button {
    margin-inline: auto;
    justify-content: center;
    margin-top: 1.5rem;
    margin-bottom: 3rem;
    gap: 0.5rem;
  }
}
.p-top__mv-form-detail-search-button > .in-text {
  color: var(--main-color);
  font-size: 1.5rem;
}
.p-top__mv-form-detail-search-button > .in-angle img {
  width: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-form-detail-search-button > .in-angle img {
    width: 0.8rem;
  }
}
.p-top__mv-simple-search {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.p-top__mv-location-type-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  width: 42.5rem;
  max-width: 100%;
}
.p-top__mv-location-type-wrapper > .in-cross {
  display: block;
  width: 1.3rem;
  aspect-ratio: 1/1;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top__mv-location-type-wrapper > .in-cross {
    margin-inline: auto;
  }
}
.p-top__mv-location-type-wrapper > .in-cross::before, .p-top__mv-location-type-wrapper > .in-cross::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 0.1rem;
  background-color: var(--font-color);
  position: absolute;
  top: 50%;
  left: 50%;
}
.p-top__mv-location-type-wrapper > .in-cross::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p-top__mv-location-type-wrapper > .in-cross::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p-top__mv-select-wrapper {
  width: 19.6rem;
  height: 4.8rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top__mv-select-wrapper {
    width: calc(50% - 2rem);
    font-size: 1.6rem;
  }
}
.p-top__mv-select-wrapper > .in-angle {
  position: absolute;
  width: 0.8rem;
  top: 50%;
  right: 1.5rem;
  transform: translate(0, -50%) rotate(90deg);
}
.p-top__mv-select-wrapper select, .p-top__mv-select-wrapper .in-select {
  width: 100%;
  height: 100%;
  border: solid 1px var(--main-color);
  border-radius: 0.4rem;
  padding: 1rem;
  padding-right: 3rem;
  appearance: none;
  background-color: white;
  cursor: pointer;
}
.p-top__mv-select-wrapper select:has(option[value=""]:checked), .p-top__mv-select-wrapper .in-select:has(option[value=""]:checked) {
  color: #9E9E9E;
}
.p-top__mv-select-wrapper select:focus, .p-top__mv-select-wrapper select:active, .p-top__mv-select-wrapper .in-select:focus, .p-top__mv-select-wrapper .in-select:active {
  color: var(--font-color) !important;
}
.p-top__mv-select-wrapper select .in-text, .p-top__mv-select-wrapper .in-select .in-text {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #9E9E9E;
}
.p-top__mv-select-wrapper select .in-text.is-current, .p-top__mv-select-wrapper .in-select .in-text.is-current {
  color: var(--font-color) !important;
}
.p-top__mv-simple-form-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  background-color: var(--main-color);
  border-radius: 0.4rem;
  width: 42.5rem;
  max-width: 100%;
  height: 6.2rem;
  border: solid 1px var(--main-color);
  transition: background-color 0.3s;
  font-weight: bold;
}
.p-top__mv-simple-form-submit > .in-text {
  color: white;
  font-size: 1.6rem;
  transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-simple-form-submit > .in-text {
    font-size: 1.4rem;
  }
}
.p-top__mv-simple-form-submit > .in-angle {
  display: flex;
  align-items: center;
}
.p-top__mv-simple-form-submit > .in-angle svg {
  width: 0.7rem;
}
.p-top__mv-simple-form-submit > .in-angle svg path {
  stroke: white;
  transition: stroke 0.3s;
}
@media (hover: hover) {
  .p-top__mv-simple-form-submit:hover {
    background-color: white;
  }
  .p-top__mv-simple-form-submit:hover > .in-text {
    color: var(--main-color);
  }
  .p-top__mv-simple-form-submit:hover > .in-angle path {
    stroke: var(--main-color);
  }
}
.p-top__mv-word-search {
  display: grid;
  grid-template-columns: 1fr 7.6rem;
  width: 42.5rem;
  max-width: 100%;
  height: 4.8rem;
  border: solid 1px var(--main-color);
  border-radius: 0.4rem;
  margin-top: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-top__mv-word-search {
    grid-template-columns: 1fr 6.3rem;
  }
}
.p-top__mv-word-search input {
  border: none;
  background-color: white;
  padding: 1rem;
  font-size: 1.4rem;
}
.p-top__mv-word-search input::placeholder {
  color: #9E9E9E;
}
.p-top__mv-word-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--main-color);
  padding-top: 0.5rem;
}
.p-top__mv-keyword-search-wrapper {
  margin-top: 3.2rem;
  width: 42.5rem;
  max-width: 100%;
}
.p-top__mv-keywords-list {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  padding-bottom: 3.2rem;
  margin-bottom: 3.2rem;
  border-bottom: solid 1px #C3C3C3;
}
@media screen and (max-width: 768px) {
  .p-top__mv-keywords-list {
    padding-bottom: 2.6rem;
    margin-bottom: 2.8rem;
  }
}
.p-top__mv-keyword a {
  padding: 0.5rem 1rem;
  background-color: white;
  border-radius: 0.6rem;
  font-size: 1.3rem;
  color: rgba(51, 53, 60, 0.7);
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-keyword a {
    padding: 0.5rem 0.8rem;
  }
}
@media (hover: hover) {
  .p-top__mv-keyword a:hover {
    background-color: var(--main-color);
    color: white;
  }
}
.p-top__mv-contact-wrapper {
  width: 42.5rem;
  max-width: 100%;
}
.p-top__mv-contact-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  width: 100%;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-contact-list {
    gap: 1rem;
  }
}
.p-top__mv-consultant-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 9.1rem;
  background-color: var(--accent-red);
  color: white;
  border-radius: 0.6rem;
  border: solid 1px var(--accent-red);
  transition: background-color 0.3s, color 0.3s;
  font-weight: bold;
}
.p-top__mv-consultant-button > .in-top {
  font-size: 2.1rem;
}
.p-top__mv-consultant-button > .in-bottom {
  font-size: 1.6rem;
}
@media (hover: hover) {
  .p-top__mv-consultant-button:hover {
    background-color: white;
    color: var(--accent-red);
  }
}
.p-top__mv-consultant-number {
  text-align: center;
  width: 100%;
  font-size: 1.4rem;
  color: #33353C;
  margin-top: -1rem;
  opacity: 0.7;
}
.p-top__mv-history-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20.5rem;
  height: 7.8rem;
  background-color: var(--main-color);
  color: white;
  border-radius: 0.6rem;
  border: solid 1px var(--main-color);
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-history-button {
    width: 15.4rem;
  }
}
.p-top__mv-history-button > .in-top {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-history-button > .in-top {
    font-size: 1.4rem;
  }
}
.p-top__mv-history-button > .in-bottom {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-history-button > .in-bottom {
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .p-top__mv-history-button:hover {
    background-color: #deedff;
    color: var(--main-color);
  }
}
.p-top__mv-favorite-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 20.5rem;
  height: 7.8rem;
  background-color: white;
  color: var(--main-color);
  border-radius: 0.6rem;
  border: solid 1px var(--main-color);
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__mv-favorite-button {
    width: 15.4rem;
  }
}
.p-top__mv-favorite-button > .in-top {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-favorite-button > .in-top {
    font-size: 1.4rem;
  }
}
.p-top__mv-favorite-button > .in-bottom {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-top__mv-favorite-button > .in-bottom {
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .p-top__mv-favorite-button:hover {
    background-color: #deedff;
  }
}
.p-top__mv-shien {
  position: absolute;
  bottom: -2rem;
  right: 4rem;
  width: 9.8rem;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-top__mv-shien {
    bottom: auto;
    left: 50%;
    right: auto;
    transform: translate(-50%, 0);
    top: -3.5rem;
    width: 7.5rem;
  }
}
.p-top__search-detail-link-wrapper {
  width: 100%;
  text-align: right;
  font-size: 1.2rem;
  color: var(--main-color);
  margin-bottom: 1rem;
  max-width: 111rem;
  margin-inline: auto;
}
.p-top__search-detail-link-wrapper a {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-top__search-detail-link-wrapper a:hover {
    opacity: 0.6;
  }
}
.p-top__search-detail-link-wrapper svg {
  width: 0.6rem;
  margin-left: 0.7rem;
  transform: translate(0, 0.05rem);
}
.p-top__search-detail-link-wrapper svg path {
  stroke: var(--main-color);
}
.p-top__search-form-inner {
  display: flex;
  justify-content: center;
  gap: 0.8rem;
  max-width: 111rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__search-form-inner {
    gap: 1rem;
    flex-wrap: wrap;
  }
}
.p-top__search-form-select-wrap {
  position: relative;
  display: inline-block;
  font-size: 1.5rem;
  width: 18.6rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-form-select-wrap {
    width: calc(50% - 0.5rem);
  }
}
.p-top__search-form-select-wrap::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 1.5rem;
  background-image: url(../images/common/ic-angle.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
}
.p-top__search-form-select-wrap > .in-icon {
  width: 2.1rem;
  position: absolute;
  left: 0.9rem;
  top: 50%;
  transform: translateY(-50%);
}
.p-top__search-form-select-wrap select {
  border: solid 1px #C3C3C3;
  background-color: white;
  border-radius: 0.4rem;
  padding: 1.2rem 4rem 1.2rem 3.7rem;
  appearance: none;
  width: 100%;
  height: 100%;
}
.p-top__search-form-select-wrap select.is-default {
  color: rgba(51, 53, 60, 0.4);
}
.p-top__search-form-input-wrap {
  position: relative;
}
.p-top__search-form-input-wrap input {
  height: 100%;
}
@media screen and (max-width: 768px) {
  .p-top__search-form-input-wrap {
    width: 100%;
  }
}
.p-top__search-form-input {
  width: 24rem;
  padding: 1.2rem 2.4rem 1.2rem 4rem;
  border: solid 1px #C3C3C3;
  border-radius: 0.4rem;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-form-input {
    width: 100%;
  }
}
.p-top__search-form-input::placeholder {
  opacity: 0.4;
}
.p-top__search-form-input-icon {
  position: absolute;
  left: 1.6rem;
  top: calc(50% - 0.1rem);
  transform: translate(0, -50%);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top__search-form-input-icon {
    top: 50%;
  }
}
.p-top__search-form-input-icon svg {
  width: 1.5rem;
}
.p-top__search-form-input-icon svg path {
  stroke: #ADAEB1;
}
.p-top__search-form-submit {
  margin-bottom: 2rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__search-form-submit {
    width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 768px) {
  .p-top__search-form-submit {
    position: sticky;
    bottom: 1rem;
  }
}
.p-top__feature-job {
  padding-block: 3.7rem 6rem;
}
.p-top__feature-job .c-heading-left {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__feature-job .c-heading-left {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top__feature-job-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top__feature-job-list > .in-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
  }
}
.p-top__feature-job-item {
  padding-inline: 1rem;
}
.p-top__conditions-search {
  background-color: #EBF4FE;
  padding-block: 6rem;
}
.p-top__conditions-search-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__conditions-search-heading {
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-top__conditions-search-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-top__conditions-search-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}
.p-top__conditions-search-item {
  display: grid;
  grid-template-columns: 6rem 1fr;
  overflow: hidden;
  border-radius: 0.6rem;
  border: solid 1px #C3C3C3;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
  background-color: white;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__conditions-search-item {
    grid-template-columns: 3rem 1fr;
    box-shadow: none;
  }
}
.p-top__conditions-search-item > .in-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  background-color: rgba(224, 233, 129, 0.4);
}
@media screen and (max-width: 768px) {
  .p-top__conditions-search-item > .in-icon {
    aspect-ratio: 1/1.2;
  }
}
.p-top__conditions-search-item > .in-icon img {
  width: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__conditions-search-item > .in-icon img {
    width: 1.5rem;
  }
}
.p-top__conditions-search-item > .in-text {
  display: flex;
  align-items: center;
  padding-inline: 1.8rem;
  font-size: 1.6rem;
  color: var(--main-color);
}
@media screen and (max-width: 768px) {
  .p-top__conditions-search-item > .in-text {
    padding-inline: 1rem;
    font-size: 1.3rem;
    letter-spacing: 0;
  }
}
@media (hover: hover) {
  .p-top__conditions-search-item:hover {
    opacity: 0.7;
  }
}
.p-top__conditions-search-archive-link {
  margin-top: 2rem;
  text-align: center;
}
.p-top__area-search {
  padding-block: 8rem;
}
@media screen and (max-width: 768px) {
  .p-top__area-search {
    padding-block: 4.8rem;
  }
}
.p-top__area-search .c-heading-left {
  margin-bottom: 3rem;
}
.p-top__area-search-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 6rem;
}
@media screen and (max-width: 768px) {
  .p-top__area-search-list {
    grid-template-columns: 1fr;
  }
}
.p-top__area-search-item-title {
  border-bottom: solid 1px #C3C3C3;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 1.8rem;
}
.p-top__area-search-item-data > .in-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__area-search-item-data > .in-list {
    gap: 0.5rem 1.5rem;
  }
}
.p-top__area-search-item-data > .in-list > .in-item a {
  font-size: 1.6rem;
  color: var(--main-color);
  font-weight: 500;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-top__area-search-item-data > .in-list > .in-item a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .p-top__area-search-item-data > .in-list > .in-item a {
    font-size: 1.5rem;
  }
}
.p-top__job-type-search {
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-top__job-type-search {
    padding-bottom: 4.8rem;
  }
}
.p-top__job-type-search .c-heading-left {
  margin-bottom: 3rem;
}
.p-top__job-type-search-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__job-type-search-list {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.p-top__job-type-search-item {
  display: grid;
  grid-template-columns: 13.4rem 1fr;
  overflow: hidden;
  border-radius: 0.6rem;
  border: solid 1px #C3C3C3;
}
.p-top__job-type-search-item > .in-image {
  width: 13.4rem;
  overflow: hidden;
}
.p-top__job-type-search-item > .in-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top__job-type-search-item > .in-desc-wrapper {
  padding: 1.3rem 1.5rem;
}
.p-top__job-type-search-item > .in-desc-wrapper > .in-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__job-type-search-item > .in-desc-wrapper > .in-heading {
    font-size: 1.7rem;
  }
}
.p-top__job-type-search-item > .in-desc-wrapper > .in-heading img {
  width: 0.7rem;
}
.p-top__job-type-search-item > .in-desc-wrapper > .in-desc {
  font-size: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__job-type-search-item > .in-desc-wrapper > .in-desc {
    font-size: 1.5rem;
  }
}
.p-top__job-type-search-item > .in-desc-wrapper a {
  transition: color 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.p-top__job-type-search-item > .in-desc-wrapper a img {
  width: 0.7rem;
  transform: translate(0, 0.2rem);
}
@media (hover: hover) {
  .p-top__job-type-search-item > .in-desc-wrapper a:hover {
    color: var(--main-color);
  }
}
.p-top__new-job-search {
  padding-block: 7rem;
  background: linear-gradient(to bottom, rgba(224, 233, 129, 0.1490196078), rgba(224, 233, 129, 0.4));
}
@media screen and (max-width: 768px) {
  .p-top__new-job-search {
    padding-block: 4.8rem;
  }
}
.p-top__new-job-search-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__new-job-search-form {
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-top__new-job-search-form > .in-left {
  display: flex;
  align-items: center;
  gap: 4rem;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__new-job-search-form > .in-left {
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-top__new-job-search-form > .in-left > .in-select-wrap {
  background-color: white;
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.p-top__new-job-search-form > .in-left > .in-select-wrap > .in-ic-location {
  position: absolute;
  width: 1.5rem;
  left: 0.8rem;
  top: 50%;
  transform: translate(0, -50%);
  pointer-events: none;
}
.p-top__new-job-search-form > .in-left > .in-select-wrap select {
  border: none;
  appearance: none;
  padding: 1rem 5rem 1rem 3rem;
  cursor: pointer;
}
.p-top__new-job-search-form > .in-left > .in-select-wrap > .in-angle {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.8rem;
  transform: translate(0, -50%) rotate(90deg);
  pointer-events: none;
}
.p-top__new-job-search-archive-link {
  text-align: center;
  margin-top: 4rem;
}
.p-top__know-how {
  padding-block: 7rem;
}
@media screen and (max-width: 768px) {
  .p-top__know-how {
    padding-block: 4.8rem;
  }
}
.p-top__know-how-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3rem;
}
.p-top__know-how-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-top__know-how-list {
    gap: 1rem;
  }
}
.p-top__know-how-item {
  display: flex;
  align-items: center;
  padding: 2.4rem 2rem;
  gap: 1.6rem;
  border: solid 1px #C3C3C3;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.1);
  border-radius: 0.6rem;
  overflow: hidden;
  transition: opacity 0.3s, box-shadow 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top__know-how-item {
    flex-direction: column;
    padding: 0;
    gap: 0.5rem;
    box-shadow: none;
    align-content: flex-start;
  }
}
@media (hover: hover) {
  .p-top__know-how-item:hover {
    opacity: 0.7;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.1);
  }
}
.p-top__know-how-item-image {
  width: 20.2rem;
  aspect-ratio: 202/135;
  overflow: hidden;
  border-radius: 0.6rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-top__know-how-item-image {
    width: 100%;
  }
}
.p-top__know-how-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-top__know-how-item-desc {
    padding: 0.5rem 1rem;
    padding-bottom: 1rem;
  }
}
.p-top__know-how-item-desc > .in-title {
  font-size: 1.6rem;
  margin-bottom: 1rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-top__know-how-item-desc > .in-title {
    line-height: 1.3;
    font-size: 1.3rem;
    margin-bottom: 0;
  }
}
.p-top__know-how-item-desc > .in-desc {
  font-size: 1.3rem;
  color: #9D9D9D;
}
@media screen and (max-width: 768px) {
  .p-top__know-how-item-desc > .in-desc {
    font-size: 1.1rem;
  }
}
.p-top__pickup-job {
  padding-block: 6rem;
}
@media screen and (max-width: 768px) {
  .p-top__pickup-job {
    padding-block: 4.8rem;
  }
}
.p-top__pickup-job .c-heading-center {
  margin-bottom: 3rem;
}
.p-top__pickup-job-list {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__pickup-job-list {
    width: calc(100% + 4rem);
    margin-inline: -2rem !important;
  }
}
.p-top__pickup-job-list a {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-top__pickup-job-list a:hover {
    opacity: 0.6;
  }
}
.p-top__pickup-nav {
  margin-top: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.p-top__pickup-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  background-color: #C3D600;
  aspect-ratio: 1/1;
  border-radius: 100%;
}
.p-top__pickup-button svg {
  width: 0.7rem;
}
.p-top__pickup-button--prev {
  transform: rotate(180deg);
}
.p-top__pickup-pagination {
  width: auto !important;
  font-family: var(--alex);
}
.p-top__search-job {
  padding-block: 6rem;
  background-color: white;
  width: 100rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__search-job {
    padding-block: 4.8rem;
  }
}
.p-top__search-job-copy {
  text-align: center;
  font-size: 1.4rem;
  margin-top: 3.4rem;
  position: relative;
  width: 111rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-copy {
    padding-bottom: 2.5rem;
    margin-top: 0.5rem;
  }
}
.p-top__search-job-copy .in-num {
  font-size: 2.4rem;
  color: var(--accent-red);
  font-family: var(--alex);
  font-weight: 500;
  margin-inline: 0.5rem;
}
.p-top__search-job-copy .in-search-link {
  position: absolute;
  font-size: 1.2rem;
  color: var(--main-color);
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-top__search-job-copy .in-search-link:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 768px) {
  .p-top__search-job-copy .in-search-link {
    top: auto;
    bottom: 0;
    transform: none;
  }
}
.p-top__search-job-copy .in-search-link .in-angle {
  margin-left: 2rem;
}
.p-top__search-job-copy .in-search-link .in-angle svg {
  width: 0.6rem;
}
.p-top__search-job-copy .in-search-link .in-angle svg path {
  stroke: var(--main-color);
}
.p-top__search-job-nav {
  margin-top: 2rem;
  width: 111rem;
  max-width: calc(100% - 4rem);
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-top: 2rem;
  }
}
.p-top__modal-search {
  margin-top: 8rem;
}
.p-top__search-job-contents {
  margin-top: 3rem;
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-contents {
    margin-top: 2.4rem;
    border-width: 0.6rem;
  }
}
.p-top__search-job-inner {
  border: solid 1rem var(--main-color);
  border-radius: 1rem;
  margin-bottom: 2rem;
}
.p-top__search-job-input-list {
  text-align: center;
  padding: 2rem;
}
.p-top__search-job-location {
  position: relative;
  padding-block: 3rem 6.7rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location {
    padding: 2.5rem 2rem;
  }
}
.p-top__search-job-location > .in-map {
  width: 46.9rem;
  margin-left: 31rem;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location > .in-map {
    width: 28.6rem;
    margin-inline: auto;
    margin-bottom: 1.2rem;
  }
}
.p-top__search-job-location .c-location-list {
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location .c-location-list {
    position: relative;
    width: 100%;
    margin-bottom: 1rem;
  }
  .p-top__search-job-location .c-location-list:last-of-type {
    margin-bottom: 0;
  }
}
.p-top__search-job-location .c-location-list--hokkaido {
  top: 5.6rem;
  left: 83rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location .c-location-list--hokkaido {
    top: auto;
    left: auto;
  }
}
.p-top__search-job-location .c-location-list--kanto {
  top: 22rem;
  left: 76.8rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location .c-location-list--kanto {
    top: auto;
    left: auto;
  }
}
.p-top__search-job-location .c-location-list--tokai {
  top: 37.9rem;
  left: 74.8rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location .c-location-list--tokai {
    top: auto;
    left: auto;
  }
}
.p-top__search-job-location .c-location-list--kansai {
  top: 41rem;
  left: 45.2rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location .c-location-list--kansai {
    top: auto;
    left: auto;
  }
}
.p-top__search-job-location .c-location-list--koshinetu {
  top: 10.7rem;
  left: 41.2rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location .c-location-list--koshinetu {
    top: auto;
    left: auto;
  }
}
.p-top__search-job-location .c-location-list--chugoku-shikoku {
  top: 13.8rem;
  left: 11.2rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location .c-location-list--chugoku-shikoku {
    top: auto;
    left: auto;
  }
}
.p-top__search-job-location .c-location-list--kyusyu {
  top: 30rem;
  left: 5rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-job-location .c-location-list--kyusyu {
    top: auto;
    left: auto;
  }
}
.p-top__search-button-list {
  padding: 3rem 5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-button-list {
    padding: 2rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-top__search-salary {
  padding: 5rem 5rem 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-salary {
    padding: 2rem;
  }
}
.p-top__search-salary-form {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-salary-form {
    flex-direction: column;
  }
}
.p-top__search-salary-form .c-button-sbmit {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-top__search-salary-form .c-button-sbmit {
    width: 100%;
  }
}
.p-top__search-salary-mobile-tab {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin-bottom: 2rem;
}
.p-top__search-salary-input-wrap {
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .p-top__search-salary-input-wrap {
    width: 100%;
  }
}
.p-top__search-salary-input-wrap > .in-inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
.p-top__search-salary-input-wrap > .in-inner:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-top__search-salary-input-wrap > .in-inner:last-of-type {
    margin-bottom: 2rem;
  }
}
.p-top__search-salary-input-wrap > .in-inner .c-label-checkbox {
  width: 7rem;
  flex-shrink: 0;
}
.p-top__search-salary-input-wrap > .in-inner .c-input-slider {
  flex-grow: 1;
  opacity: 0.6;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-top__search-salary-input-wrap > .in-inner .c-input-slider {
    pointer-events: auto;
    opacity: 1;
  }
}
.p-top__search-salary-input-wrap > .in-inner:has(.c-label-checkbox__input:checked) .c-input-slider {
  opacity: 1;
  pointer-events: auto;
}
.p-top__search-keywords {
  padding: 3rem 5rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-keywords {
    padding: 2rem;
  }
}
.p-top__search-keywords-form {
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__search-keywords-form {
    flex-direction: column;
    gap: 2rem;
  }
}
.p-top__search-keywords-form input[name=kw] {
  flex-grow: 1;
  border: solid 1px #C3C3C3;
  border-radius: 0.4rem;
  font-size: 1.5rem;
  padding: 1rem;
}
.p-top__search-keywords-form input[name=kw]::placeholder {
  opacity: 0.4;
}
.p-top__search-keywords-form .c-button-submit {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-top__search-keywords-form .c-button-submit {
    width: 100%;
  }
}
.p-top__agency-and-approach {
  padding-block: 7rem;
  background: linear-gradient(to bottom, rgba(239, 246, 255, 0.5019607843), #E6F1FF);
}
@media screen and (max-width: 768px) {
  .p-top__agency-and-approach {
    padding-block: 4.8rem;
  }
}
.p-top__why-agency-content-wrap {
  margin-top: 4rem;
  background-color: white;
  padding: 2rem;
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .p-top__why-agency-content-wrap {
    margin-top: 3rem;
    padding: 2.4rem 1.5rem;
    flex-direction: column;
    gap: 2rem;
  }
}
.p-top__why-agency-image {
  width: 49rem;
  margin-top: -3.1rem;
}
@media screen and (max-width: 768px) {
  .p-top__why-agency-image {
    width: 100%;
    margin-top: 0;
  }
}
.p-top__approach {
  padding-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach {
    padding-top: 1rem;
  }
}
.p-top__approach .c-heading-center {
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach .c-heading-center {
    margin-bottom: 2rem;
  }
}
.p-top__approach .c-heading-center > .in-bubble {
  width: 10rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach .c-heading-center > .in-bubble {
    transform: translate(0, -1rem);
  }
}
.p-top__approach .c-heading-center > .in-logo-wrap {
  font-size: 3rem;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach .c-heading-center > .in-logo-wrap {
    display: inline-block;
    font-size: 2rem;
    margin-bottom: 1rem;
  }
}
.p-top__approach .c-heading-center > .in-logo-wrap img {
  width: 14rem;
  margin-right: 0.5rem;
}
.p-top__approach-desc {
  text-align: center;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .p-top__approach-desc {
    padding-inline: 3rem;
    font-size: 1.5rem;
    text-align: left;
  }
}
.p-top__approach-bubble-list {
  position: relative;
  width: 100rem;
  max-width: calc(100% - 4rem);
  height: 25.2rem;
  margin-inline: auto;
  margin-top: 5rem;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-top__approach-bubble-list {
    margin-top: 1.5rem;
    height: 22rem;
  }
}
.p-top__approach-bubble-list > .in-bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  font-size: 1.4rem;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-top__approach-bubble-list > .in-bubble {
    font-size: 1.2rem;
  }
}
.p-top__approach-bubble-list > .in-bubble--01 {
  left: 5.2rem;
  bottom: 4.3rem;
  width: 29.4rem;
  height: 7.4rem;
  background-image: url(../images/top/approach-bubble01.png);
  padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-bubble-list > .in-bubble--01 {
    width: 16.4rem;
    height: 8.5rem;
    left: 0;
    bottom: 10.7rem;
    background-image: url(../images/top/sp-approach-bubble01.png);
    padding-bottom: 3rem;
  }
}
.p-top__approach-bubble-list > .in-bubble--02 {
  left: 12rem;
  bottom: 13.6rem;
  width: 32rem;
  height: 9.7rem;
  background-image: url(../images/top/approach-bubble02.png);
  padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-bubble-list > .in-bubble--02 {
    display: none;
  }
}
.p-top__approach-bubble-list > .in-bubble--03 {
  left: 48.5rem;
  bottom: 15.1rem;
  width: 25.6rem;
  height: 8.7rem;
  background-image: url(../images/top/approach-bubble03.png);
  padding-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-bubble-list > .in-bubble--03 {
    width: 14.3rem;
    height: 6.3rem;
    left: 18.3rem;
    bottom: 14.2rem;
    background-image: url(../images/top/sp-approach-bubble03.png);
    padding-bottom: 1rem;
  }
}
.p-top__approach-bubble-list > .in-bubble--04 {
  left: 62.6rem;
  bottom: 4.9rem;
  width: 34.1rem;
  height: 9.7rem;
  background-image: url(../images/top/approach-bubble04.png);
  padding-bottom: 1.3rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-bubble-list > .in-bubble--04 {
    width: 26.4rem;
    height: 7.7rem;
    left: 9.7rem;
    bottom: 6.3rem;
    background-image: url(../images/top/sp-approach-bubble04.png);
  }
}
.p-top__approach-bubble-list > .in-illust {
  position: absolute;
  width: 31rem;
  bottom: -1.6rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  .p-top__approach-bubble-list > .in-illust {
    width: 14.7rem;
    bottom: -0.8rem;
  }
}
.p-top__approach-contact {
  background-color: white;
  width: 100rem;
  max-width: calc(100% - 4rem);
  border: solid 0.4rem var(--main-color);
  border-radius: 0.6rem;
  margin-inline: auto;
  padding-block: 3.3rem;
  text-align: center;
  box-shadow: 0.2rem 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .p-top__approach-contact {
    padding-block: 2.8rem 2.4rem;
  }
}
.p-top__approach-contact p {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-contact p {
    font-size: 1.6rem;
  }
}
.p-top__approach-contact-title {
  font-size: 3.6rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-contact-title {
    font-size: 2.4rem;
  }
}
.p-top__approach-contact-title img {
  width: 20rem;
  margin-inline: 0.5rem;
  transform: translateY(0.5rem);
}
@media screen and (max-width: 768px) {
  .p-top__approach-contact-title img {
    width: 17.5rem;
    margin-inline: 0.5rem 0;
  }
}
.p-top__approach-contact-button-wrap {
  margin-top: 2.5rem;
  text-align: center;
}
.p-top__approach-contact-button-wrap .c-button-icon {
  --button-color: var(--accent-red);
  margin-inline: auto;
  width: 38rem;
  height: 5.4rem;
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-contact-button-wrap .c-button-icon {
    width: 29rem;
    height: 7.3rem;
  }
}
.p-top__approach-contact-button-wrap .c-button-icon__icon {
  width: 3.4rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-contact-button-wrap .c-button-icon__icon {
    width: 5rem;
  }
}
.p-top__approach-contact-button-wrap .c-button-icon__icon svg {
  width: 1.9rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-contact-button-wrap .c-button-icon__icon svg {
    width: 2.7rem;
  }
}
.p-top__approach-contact-button-wrap .c-button-icon__text {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-top__approach-contact-button-wrap .c-button-icon__text {
    text-align: center;
  }
}
.p-top__approach-contact-button-wrap .c-button-icon__angle {
  right: 2.2rem;
}
.p-top__approach-contact-button-wrap .c-button-icon__angle svg {
  width: 0.9rem;
}
.p-top__voice {
  padding-block: 7rem;
}
@media screen and (max-width: 768px) {
  .p-top__voice {
    padding-block: 4.8rem;
  }
}
.p-top__voice-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-top__voice-ready {
  margin-top: 2rem;
}
.p-top__voice-swiper {
  margin-top: 3rem;
  padding-inline: 10rem !important;
}
@media screen and (max-width: 768px) {
  .p-top__voice-swiper {
    padding-inline: 1rem !important;
  }
}
.p-top__voice-swiper .swiper-slide {
  width: 49rem;
  padding-inline: 1.5rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-top__voice-swiper .swiper-slide {
    width: 34.1rem;
    padding-inline: 1.2rem;
  }
}
.p-top__voice-swiper .swiper-slide .c-card-voice {
  height: 100%;
}
.p-top__voice-nav {
  margin-top: 5rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__voice-nav {
    margin-top: 3rem;
    flex-direction: column;
    gap: 2.4rem;
  }
}
.p-top__voice-nav .c-button-simple-angle {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .p-top__voice-nav .c-button-simple-angle {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
  }
}
.p-top__voice-progressbar {
  position: relative !important;
  width: 36rem !important;
  --swiper-theme-color: var(--main-color);
  --swiper-pagination-progressbar-bg-color: #D9D9D9;
  border-radius: 1rem;
}
.p-top__job-post {
  padding-block: 7rem 6rem;
  background: linear-gradient(to bottom, rgba(224, 233, 129, 0.1490196078), rgba(224, 233, 129, 0.4));
}
@media screen and (max-width: 768px) {
  .p-top__job-post {
    padding-block: 4.8rem;
  }
}
.p-top__job-post-list {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__job-post-list {
    justify-content: flex-start;
    gap: 0;
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  .p-top__job-post-list .swiper-slide {
    width: 34rem;
    padding-inline: 0.6rem;
  }
}
.p-top__job-post-list .c-card-job-post {
  width: 37rem;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .p-top__job-post-list .c-card-job-post {
    width: 100%;
  }
}
.p-top__job-post-swiper-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: var(--main-color);
  position: absolute;
  top: 50%;
  z-index: 10;
  transform: translate(0, -50%);
  transition: opacity 0.3s;
}
.p-top__job-post-swiper-button.swiper-button-disabled {
  opacity: 0.2;
  pointer-events: none;
}
.p-top__job-post-swiper-button img {
  width: 0.7rem;
}
.p-top__job-post-swiper-button--prev {
  left: 1rem;
}
.p-top__job-post-swiper-button--prev img {
  transform: rotate(180deg);
}
.p-top__job-post-swiper-button--next {
  right: 1rem;
}
.p-top__job-post-button-wrap {
  margin-top: 4rem;
  text-align: center;
}
.p-top__support-banner {
  padding-block: 7rem 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top__support-banner {
    padding-top: 3rem;
  }
}
.p-top__support-banner img {
  width: 90rem;
}
@media screen and (max-width: 768px) {
  .p-top__support-banner img {
    width: 38rem;
  }
}
.p-top__support-banner a {
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-top__support-banner a:hover {
    opacity: 0.6;
  }
}
.p-top__logo-swiper-wrap {
  padding-top: 6rem;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-top__logo-swiper-wrap {
    padding-top: 4.8rem;
  }
}
.p-top__logo-swiper:last-of-type {
  margin-bottom: 0;
}
.p-top__logo-swiper .c-marquee-swiper__item {
  width: 14rem;
  padding-inline: 3rem;
  display: flex;
  align-items: center;
  height: auto;
}
.p-top__flow {
  padding-block: 6rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow {
    padding-block: 4.8rem;
  }
}
.p-top__flow-content {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
  background-image: url(../images/top/flow-banner-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 5rem 4.3rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-content {
    background-image: url(../images/top/sp-flow-banner-bg.png);
    padding: 3.8rem 2rem 3rem;
  }
}
.p-top__flow-icon-wrap {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .p-top__flow-icon-wrap {
    gap: 0;
    justify-content: center;
  }
}
.p-top__flow-icon {
  width: 11rem;
  margin-inline: auto;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-icon {
    flex-shrink: 0;
    margin-bottom: 0;
  }
}
.p-top__flow-desc {
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-desc {
    font-size: 1.5rem;
    margin-top: -0.5rem;
  }
}
.p-top__flow-title {
  font-size: 3.6rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-title {
    font-size: 2.4rem;
  }
}
.p-top__flow-list-wrap {
  background-color: white;
  padding: 3rem 2rem 4rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-list-wrap {
    padding: 2rem 1.2rem;
  }
}
.p-top__flow-list-title {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-list-title {
    font-size: 1.6rem;
  }
}
.p-top__flow-list-title > .in-num {
  font-size: 2.8rem;
  font-weight: 500;
  color: var(--main-color);
  font-family: var(--alex);
  margin-inline: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-list-title > .in-num {
    font-size: 2.1rem;
  }
}
.p-top__flow-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-list {
    flex-wrap: wrap;
    gap: 2rem 0.4rem;
  }
}
.p-top__flow-item {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-item {
    gap: 0.4rem;
  }
}
.p-top__flow-item > .in-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-item > .in-inner {
    gap: 0;
    min-width: 8rem;
  }
}
.p-top__flow-item > .in-inner > .in-icon {
  width: 8.8rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-item > .in-inner > .in-icon {
    width: 5.2rem;
  }
}
.p-top__flow-item > .in-inner > .in-text {
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-item > .in-inner > .in-text {
    font-size: 1.4rem;
  }
}
.p-top__flow-item > .in-angle {
  margin-top: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__flow-item > .in-angle {
    margin-top: 1.5rem;
  }
}
.p-top__flow-item > .in-angle img {
  width: 1.5rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-top__flow-item > .in-angle img {
    width: 0.7rem;
  }
}
.p-top__about-bansou {
  width: 100rem;
  padding-block: 4rem;
  background: linear-gradient(to bottom, #F8FAE4, #F3F7CF);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  max-width: calc(100% - 4rem);
  padding-inline: 2rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-top__about-bansou {
    padding-block: 2rem;
  }
}
.p-top__about-bansou::after {
  content: "";
  border: solid transparent 2rem;
  border-top: solid #F3F7CF 2rem;
  border-bottom: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
}
.p-top__about-bansou > .in-shien {
  position: absolute;
  width: 12rem;
  right: -1rem;
  bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-top__about-bansou > .in-shien {
    width: 8rem;
    bottom: -1rem;
  }
}
.p-top__about-bansou p {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-top__about-bansou p {
    text-align: left;
  }
}
.p-top__about-bansou-title {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  border-bottom: solid 4px #E0E981;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__about-bansou-title {
    font-size: 2.4rem;
  }
}
.p-top__about-ryoiku {
  padding-top: 3rem;
  display: grid;
  align-content: center;
  grid-template-columns: 42.3rem 1fr;
  gap: 5rem;
  width: 100rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .p-top__about-ryoiku {
    grid-template-columns: 1fr;
  }
}
.p-top__about-ryoiku-image-wrapper {
  height: 26.8rem;
}
.p-top__about-ryoiku-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top__about-ryoiku-desc-wrapper p {
  color: #33353C;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .p-top__about-ryoiku-desc-wrapper p {
    margin-top: 1rem;
  }
}
.p-top__about-ryoiku-title {
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.08rem;
  margin-bottom: 1.5rem;
  line-height: 1.8;
}
.p-top__about-ryoiku-title img {
  width: 16rem;
  margin-right: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__about-ryoiku-title img {
    width: 12rem;
  }
}
.p-top__faq {
  padding-block: 6rem;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .p-top__faq {
    padding-block: 4.8rem;
  }
}
.p-top__faq-inner {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
.p-top__faq-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .p-top__faq-list {
    margin-top: 2rem;
  }
}
.p-top__faq-more {
  margin-top: 2rem;
  text-align: right;
}
.p-top__column {
  padding-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-top__column {
    padding-top: 4.8rem;
  }
}
.p-top__column-inner {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
.p-top__column-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-top__column-tab-list {
  margin-top: 4rem;
  display: flex;
  gap: 1rem 1.6rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-top__column-tab-list {
    gap: 1.2rem;
  }
}
.p-top__column-tab-list .c-tab {
  width: 15rem;
}
@media screen and (max-width: 768px) {
  .p-top__column-tab-list .c-tab {
    width: auto;
    padding-inline: 1rem;
  }
}
.p-top__column-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.7rem;
}
@media screen and (max-width: 768px) {
  .p-top__column-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
.p-top__column-no-data {
  text-align: center;
  grid-column: span 4;
  padding-block: 3rem;
}
.p-top__news {
  padding-block: 6rem 10rem;
}
@media screen and (max-width: 768px) {
  .p-top__news {
    padding-block: 4.8rem;
  }
}
.p-top__news-inner {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
}
.p-top__news-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-top__news-list {
  margin-top: 2rem;
}
.p-top__consulting {
  padding-bottom: 11rem;
}
@media screen and (max-width: 768px) {
  .p-top__consulting {
    padding-bottom: 5rem;
  }
}
.p-top__consulting-content {
  width: 116rem;
  max-width: calc(100% - 4rem);
  margin-inline: auto;
  border: solid 0.4rem #FA9023;
  border-radius: 0.6rem;
  position: relative;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-top__consulting-content:hover {
    opacity: 0.6;
  }
}
.p-top__consulting-title {
  background-color: #FA9023;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  height: 4.6rem;
  font-size: 2.3rem;
  font-weight: bold;
  padding-bottom: 0.5rem;
}
.p-top__consulting-inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-inner {
    flex-direction: column;
  }
}
.p-top__consulting-desc-wrap {
  padding: 2.2rem 4.4rem 3.4rem 2rem;
  flex-shrink: 0;
  flex-grow: 0;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-desc-wrap {
    padding: 1rem;
  }
}
.p-top__consulting-icon-list {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-icon-list {
    flex-wrap: wrap;
  }
}
.p-top__consulting-icon {
  width: 19rem;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-icon {
    width: 11.7rem;
  }
}
.p-top__consulting-list {
  padding: 2.6rem 2rem;
  background-color: #FFF6ED;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-list {
    width: 100%;
    margin-top: 1.5rem;
    padding: 1.2rem 6rem;
  }
}
.p-top__consulting-item {
  position: relative;
  padding-left: 3.6rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-item {
    font-size: 1.3rem;
    padding-left: 2rem;
  }
}
.p-top__consulting-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 58%;
  display: block;
  width: 2rem;
  aspect-ratio: 1/1;
  background-image: url(../images/common/ic-check-orange.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .p-top__consulting-item::before {
    width: 1.3rem;
  }
}
.p-top__consulting-item > .in-large {
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-item > .in-large {
    font-size: 1.8rem;
  }
}
.p-top__consulting-item > .in-accent {
  color: #FA9023;
}
.p-top__consulting-item > .in-num {
  font-family: var(--alex);
}
.p-top__consulting-copy {
  margin-top: 1rem;
  font-size: 3.4rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-copy {
    font-size: 2.4rem;
  }
}
.p-top__consulting-image {
  width: 55rem;
  flex-shrink: 0;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-image {
    width: 100%;
    height: 19.3rem;
  }
}
.p-top__consulting-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top__consulting-more {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  background-color: #FA9023;
  color: white;
  display: flex;
  width: 21rem;
  height: 4.7rem;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  border-radius: 0.6rem 0 0 0/0.6rem 0 0 0;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-top__consulting-more {
    width: 17rem;
    height: 3.7rem;
    font-size: 1.6ren;
  }
}
.p-top__consulting-more svg path {
  stroke: white;
  stroke-width: 2px;
}

.p-404__content {
  text-align: center;
  margin-top: 2rem;
  line-height: 1.8;
}
.p-404__home-button {
  margin-top: 5rem;
  text-align: center;
}

body.p-search {
  opacity: 1;
  transition: none;
}

.p-search {
  padding-top: 4.5rem;
  padding-bottom: 12rem;
}
@media screen and (max-width: 768px) {
  .p-search {
    padding-top: 4.5rem;
    padding-bottom: 10rem;
  }
}
.p-search .c-subpage__head {
  height: 13rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-search .c-subpage__head {
    height: 10rem;
    padding-bottom: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-search .c-subpage__wrapper {
    padding-inline: 1.6rem;
  }
}
.p-search .c-subpage__main {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-search .l-inner--xl {
    padding-inline: 0;
  }
}
.p-search__layout {
  display: grid;
  grid-template-columns: 32rem minmax(0, 1fr);
  gap: 3rem;
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .p-search__layout {
    grid-template-columns: 1fr;
  }
}
.p-search__layout--single {
  grid-template-columns: 1fr;
  gap: 2.4rem;
}
.p-search__filter-panel {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.p-search__filter-panel .c-modal-search__item {
  grid-template-columns: 12rem 1fr 7rem;
}
@media screen and (max-width: 768px) {
  .p-search__filter-panel .c-modal-search__item {
    grid-template-columns: 1fr 6.5rem;
  }
}
.p-search__filter-panel .c-modal-search__item-title {
  padding: 1.5rem 1.6rem;
  gap: 0.8rem;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .p-search__filter-panel .c-modal-search__item-title {
    padding: 1rem 1.2rem;
  }
}
.p-search__filter-panel .c-modal-search__item-title .in-icon {
  width: 2rem;
  height: auto;
  flex-shrink: 0;
}
.p-search__filter-panel .c-modal-search__item-this-select {
  padding: 1.2rem 1.6rem;
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  .p-search__filter-panel .c-modal-search__item-this-select {
    padding: 1rem 1.2rem;
  }
}
.p-search__filter-panel .c-modal-search__item-change-button {
  padding: 1.2rem 1.6rem;
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  .p-search__filter-panel .c-modal-search__item-change-button {
    padding: 1rem 1.2rem;
  }
}
.p-search__filter-panel .c-modal-search__item-change-button::before {
  height: calc(100% - 1.2rem);
  top: 0.6rem;
}
.p-search__filter-list {
  width: 100%;
}
.p-search__filter-list .c-modal-search__inner {
  border-radius: 1.2rem;
  overflow: hidden;
}
.p-search__filter-item {
  width: 100%;
  border: none;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
  appearance: none;
}
.p-search__filter-summary {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  font-size: 1.3rem;
}
.p-search__filter-summary-text {
  line-height: 1.5;
  word-break: break-word;
}
.p-search__filter-summary-line {
  display: flex;
  gap: 0.4rem;
  padding-bottom: 0.2rem;
  border-bottom: 1px solid rgba(35, 53, 95, 0.12);
  line-height: 1.5;
  word-break: break-word;
}
.p-search__filter-summary--areas .p-search__filter-summary-line:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.p-search__filters {
  background: #fff;
  border: 1px solid rgba(39, 52, 91, 0.08);
  border-radius: 1.4rem;
  padding: 0;
  box-shadow: 0 24px 60px rgba(5, 22, 60, 0.08);
  display: flex;
  flex-direction: column;
  overflow: visible;
}
@media screen and (max-width: 1024px) {
  .p-search__filters {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    max-height: none;
    z-index: 1000;
    overflow: hidden;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }
  .p-search__filters.is-open {
    transform: translateX(0);
    border-radius: 0;
  }
  .p-search__filters {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.p-search__filters button,
.p-search__filters .c-checkbox-label,
.p-search__filters .c-radio-label {
  touch-action: manipulation;
  transition: none;
}
.p-search__filters-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(7, 12, 32, 0.55);
  z-index: 999;
}
@media screen and (max-width: 1024px) {
  .p-search__filters-overlay {
    display: block;
  }
  .p-search__filters-overlay[x-cloak] {
    display: none !important;
  }
}
.p-search__filters-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: 0;
  scrollbar-gutter: stable;
}
@media screen and (max-width: 1024px) {
  .p-search__filters-body {
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1rem 1.4rem 8rem;
    position: relative;
  }
}
.p-search__filters-scroll {
  flex: 1 1 auto;
  overflow: visible;
  padding: 2.4rem;
  padding-bottom: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  scrollbar-gutter: stable;
}
@media screen and (max-width: 1024px) {
  .p-search__filters-scroll {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 1rem;
  }
}
.p-search__filters-close {
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-search__filters-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 1rem;
    right: 1rem;
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 999px;
    border: none;
    background: rgb(83, 83, 83);
    font-size: 2.4rem;
    line-height: 1;
    color: #ffffff;
    z-index: 1400;
  }
}
.p-search__filter-card {
  border: 1px solid rgba(35, 53, 95, 0.08);
  border-radius: 1.2rem;
  padding: 1.6rem 1.8rem;
  background: #fdfdff;
}
.p-search__filter-card--desktop-actions {
  display: block;
}
@media screen and (max-width: 1024px) {
  .p-search__filter-card--desktop-actions {
    display: none;
  }
}
.p-search .c-input-text {
  width: 100%;
}
.p-search .c-input-text input {
  width: 100%;
  padding: 1.2rem 1.6rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(38, 56, 112, 0.25);
  font-size: 1.5rem;
  min-height: 4.4rem;
  line-height: 1.4;
  background: #fff;
}
.p-search .c-input-text input::placeholder {
  color: #9aa4c0;
}
.p-search__filter-card-head {
  margin-bottom: 1.2rem;
}
.p-search__filter-card-head h2 {
  font-size: 1.5rem;
  margin: 0;
  color: #243152;
}
.p-search__filter-card-head p {
  font-size: 1.2rem;
  margin: 0.2rem 0 0;
  color: #7f8aa8;
}
.p-search .p-search__filter-card-body--actions {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.p-search .p-search__filter-card-body--actions .c-button-simple-angle {
  width: 100%;
}
.p-search__checkbox-grid {
  display: flex;
  gap: 1.4rem;
}
@media screen and (max-width: 640px) {
  .p-search__checkbox-grid {
    flex-direction: column;
  }
}
.p-search__checkbox-col {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.p-search__city-accordion {
  margin-top: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.p-search__area-accordion {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.p-search__area-panel {
  border: 1px solid rgba(38, 57, 96, 0.14);
  border-radius: 1.1rem;
  background: #f6f9ff;
}
.p-search__area-panel summary {
  padding: 1.2rem 1.4rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  color: #1f2e53;
  list-style: none;
}
.p-search__area-panel summary::-webkit-details-marker {
  display: none;
}
.p-search__area-panel-body {
  padding: 1rem 1.4rem 1.4rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.8rem;
}
.p-search__area-label {
  font-size: 1.4rem;
}
.p-search__area-icon {
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid rgba(24, 41, 74, 0.3);
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}
.p-search__area-icon::before, .p-search__area-icon::after {
  content: "";
  position: absolute;
  background: rgba(24, 41, 74, 0.6);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-search__area-icon::before {
  width: 0.9rem;
  height: 0.12rem;
}
.p-search__area-icon::after {
  width: 0.12rem;
  height: 0.9rem;
  transition: opacity 0.2s ease;
}
.p-search details[open] .p-search__area-icon::after {
  opacity: 0;
}
.p-search__area-panel-body .p-search__city-panel {
  grid-column: 1/-1;
}
.p-search .p-search__city-panel-body .c-checkbox-label,
.p-search .p-search__area-panel-body > .c-checkbox-label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.4rem;
  border-radius: 0.9rem;
  background: #f1f3f9;
  border: 1px solid rgba(33, 51, 94, 0.18);
  color: #273457;
  font-weight: 600;
  width: 100%;
}
.p-search .p-search__city-panel-body .c-checkbox-label.is-checked,
.p-search .p-search__area-panel-body > .c-checkbox-label.is-checked {
  background: var(--main-color);
  color: #fff;
  border-color: var(--main-color);
  box-shadow: 0 4px 10px rgba(32, 52, 108, 0.12);
}
.p-search .p-search__city-panel-body .c-checkbox-label:has(input:checked),
.p-search .p-search__area-panel-body > .c-checkbox-label:has(input:checked) {
  background: var(--main-color);
  color: #fff;
  border-color: var(--main-color);
  box-shadow: 0 4px 10px rgba(32, 52, 108, 0.12);
}
.p-search .p-search__city-panel-body .c-checkbox-label--pref {
  background: #f3f6ff;
  border-color: rgba(32, 71, 168, 0.25);
}
.p-search__city-panel {
  border: 1px solid rgba(39, 52, 91, 0.12);
  border-radius: 1rem;
  background: #fff;
}
.p-search__city-panel summary {
  padding: 0.9rem 1.2rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  color: #223055;
  list-style: none;
}
.p-search__city-panel summary::-webkit-details-marker {
  display: none;
}
.p-search__city-count {
  font-size: 1.1rem;
  background: #f0f4ff;
  padding: 0.1rem 0.8rem;
  border-radius: 999px;
}
.p-search__city-panel-body {
  padding: 0 1.2rem 1.2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.6rem;
}
.p-search__city-panel-body .p-search__city-panel-group {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 0.4rem 0;
  border-top: 1px dashed rgba(39, 52, 91, 0.12);
}
.p-search__city-panel-body .p-search__city-panel-group:first-child {
  border-top: none;
  padding-top: 0;
}
.p-search__city-panel-body .p-search__city-panel-body--children {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.5rem;
  padding-left: 0.6rem;
}
.p-search__city-panel-body--flat {
  padding: 0;
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.6rem;
}
.p-search__filter-group {
  margin-bottom: 1.2rem;
}
.p-search__filter-group-title {
  font-size: 1.3rem;
  font-weight: 600;
  color: #566283;
  margin-bottom: 0.6rem;
}
.p-search__filter-group-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.p-search__filter-scroll {
  max-height: 26rem;
  overflow-y: auto;
  padding-right: 0.4rem;
}
.p-search__salary {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.p-search__salary-tabs {
  display: inline-flex;
  border: 1px solid rgba(34, 49, 87, 0.12);
  border-radius: 999px;
  padding: 0.2rem;
  background: #f5f7ff;
  gap: 0.4rem;
  width: 100%;
}
.p-search__salary-tabs button {
  border: none;
  background: none;
  font-size: 1.3rem;
  padding: 1rem 1.6rem;
  border-radius: 999px;
  color: #6a7594;
  flex: 1 1 0;
  text-align: center;
}
.p-search__salary-tabs button.is-active {
  background: var(--main-color);
  color: #fff;
}
.p-search__salary-panel {
  width: 100%;
}
.p-search__results-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.6rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 640px) {
  .p-search__results-head {
    flex-direction: column;
  }
}
.p-search__results-count {
  font-size: 1.6rem;
  color: #1f2c49;
  font-weight: 700;
  margin: 0;
}
.p-search__results-meta {
  margin: 0.4rem 0 0;
  font-size: 1.2rem;
  color: #74809b;
}
.p-search__results-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.p-search__selected-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: 2rem;
}
.p-search__selected-empty {
  font-size: 1.3rem;
  color: #7a859f;
}
.p-search__job-list-wrapper {
  margin-top: 1rem;
}
.p-search__list-type-list {
  display: flex;
  justify-content: flex-end;
  gap: 1.2rem;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 640px) {
  .p-search__list-type-list {
    display: none;
  }
}
.p-search__list-type {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  color: #8893af;
  font-weight: 600;
}
.p-search__list-type .in-icon {
  display: inline-flex;
}
.p-search__list-type .in-icon svg {
  width: 1.5rem;
  height: 1.5rem;
}
.p-search__list-type .in-icon svg path, .p-search__list-type .in-icon svg rect, .p-search__list-type .in-icon svg circle, .p-search__list-type .in-icon svg line {
  stroke: currentColor;
  fill: currentColor;
}
.p-search__list-type.is-current {
  color: var(--main-color);
}
.p-search__job-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
}
.p-search__job-list--col2 {
  grid-template-columns: repeat(auto-fit, minmax(38rem, 1fr));
}
.p-search__job-list--col2 .c-card-job__body {
  flex-direction: column;
}
.p-search__job-list--col2 .c-card-job__visual {
  width: 100%;
  order: 0;
}
.p-search__job-list--col2 .c-card-job__visual .c-card-job__summary {
  display: none;
}
.p-search__job-list--col2 .c-card-job__content {
  order: 1;
}
.p-search__job-list--col2 .c-card-job__mobile-summary {
  display: block;
}
.p-search__job-list--col2 .c-card-job__excerpt {
  display: none;
}
.p-search__job-list--col2 .c-card-job__tag-list--desktop {
  display: none;
}
.p-search__job-list--col2 .c-card-job__tag-list--mobile {
  display: block;
}
.p-search__banner {
  margin-top: 4rem;
  text-align: center;
}
.p-search__banner img {
  max-width: 100%;
  border-radius: 1.2rem;
}
.p-search__selection-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid rgba(12, 28, 68, 0.12);
  box-shadow: 0 -12px 36px rgba(8, 18, 46, 0.14);
  backdrop-filter: blur(6px);
  z-index: 940;
  padding: 1.1rem clamp(1rem, 3vw, 2rem) max(1.2rem, env(safe-area-inset-bottom));
}
.p-search__selection-bar-inner {
  max-width: 118rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1.4rem;
  min-height: 6.2rem;
}
.p-search__selection-bar-inner.is-empty {
  gap: 0.8rem;
  align-items: center;
  justify-content: space-between;
}
.p-search__selection-bar-inner.is-empty .p-search__selection-groups {
  display: none;
}
.p-search__selection-meta {
  min-width: 14rem;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  white-space: nowrap;
}
.p-search__selection-count {
  font-size: 1.5rem;
  margin: 0;
  font-weight: 700;
  color: #15254a;
}
.p-search__selection-hint {
  margin: 0;
  font-size: 1.2rem;
  color: #6e7ca1;
}
.p-search__selection-groups {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0.6rem;
  align-items: center;
  flex-wrap: wrap;
  max-height: 8.8rem;
  overflow-y: auto;
  padding: 0.2rem 0.1rem;
  scrollbar-gutter: stable;
}
.p-search__selection-label {
  font-weight: 700;
  color: #1b2340;
  white-space: nowrap;
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-search__selection-label {
    display: inline-flex;
    align-items: center;
  }
}
.p-search__selection-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(41, 65, 118, 0.18);
  color: #203359;
  font-size: 1.25rem;
  line-height: 1.3;
  box-shadow: 0 6px 14px rgba(8, 20, 48, 0.08);
  max-width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  flex-shrink: 0;
}
.p-search__selection-chip--areas {
  background: #e8f0ff;
  border-color: rgba(70, 110, 188, 0.35);
  color: #28437a;
}
.p-search__selection-chip--job_types {
  background: #e5f7f3;
  border-color: rgba(33, 140, 121, 0.34);
  color: #1d6a5b;
}
.p-search__selection-chip--employment {
  background: #fff2e3;
  border-color: rgba(204, 128, 52, 0.32);
  color: #9a5817;
}
.p-search__selection-chip--industries {
  background: #efe9ff;
  border-color: rgba(108, 82, 185, 0.36);
  color: #4c3b92;
}
.p-search__selection-chip--particulars {
  background: #ffe9f1;
  border-color: rgba(193, 91, 126, 0.32);
  color: #a34764;
}
.p-search__selection-chip--keyword {
  background: #eef2f8;
  border-color: rgba(94, 116, 154, 0.3);
  color: #3f4d6a;
}
.p-search__selection-actions {
  display: flex;
  gap: 0.8rem;
  align-items: stretch;
  flex-shrink: 0;
}
.p-search__selection-actions .c-button-simple-angle {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  padding: 1rem 2.6rem;
  white-space: nowrap;
  box-shadow: 0 10px 22px rgba(9, 30, 86, 0.12);
}
.p-search__selection-actions--mobile {
  display: none;
}
.p-search__selection-actions--desktop {
  display: flex;
}
@media screen and (max-width: 1024px) {
  .p-search__selection-bar-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  .p-search__selection-meta {
    display: none;
  }
  .p-search__selection-actions {
    flex-direction: row;
    gap: 0;
  }
  .p-search__selection-groups {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0.4rem;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    max-height: none;
  }
}
@media screen and (max-width: 640px) {
  .p-search__selection-bar {
    padding: 0.7rem 0 0 0;
  }
  .p-search__selection-groups {
    gap: 0.7rem;
    padding-left: 1rem;
  }
  .p-search__selection-group {
    min-height: auto;
    min-width: 12rem;
    max-width: 18rem;
  }
  .p-search__selection-chip {
    font-size: 1.2rem;
    padding: 0.28rem 0.72rem;
  }
  .p-search__selection-actions--desktop {
    display: none;
  }
  .p-search__selection-actions--mobile {
    display: flex;
    flex-direction: row;
    width: 100%;
  }
  .p-search__selection-actions--mobile .c-button-simple-angle {
    flex: 1 1 0;
    width: 100%;
    min-width: 0;
    border-radius: 0;
  }
}
.p-search .c-checkbox-label--pref {
  font-weight: 600;
  background: #eef3ff;
  border-color: rgba(42, 74, 138, 0.35);
  color: #2a3c66;
}
.p-search__city-panel-empty {
  font-size: 1.2rem;
  color: #7e89a6;
  margin-top: 0.6rem;
}
.p-search__drawer-submit {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1300;
  padding: 0.8rem 1rem max(1.1rem, env(safe-area-inset-bottom));
  display: none;
}
.p-search__drawer-submit-inner {
  background: rgba(255, 255, 255, 0.98);
  border-radius: 1.2rem;
  box-shadow: 0 -10px 36px rgba(8, 18, 46, 0.25);
  border: 1px solid rgba(20, 38, 86, 0.12);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-search__drawer-submit-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  max-height: 7.4rem;
  overflow-y: auto;
}
.p-search__drawer-submit-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.8rem;
  border-radius: 999px;
  background: #eef2f9;
  color: #1f2f55;
  font-size: 1.25rem;
}
.p-search__drawer-submit-empty {
  font-size: 1.2rem;
  color: #6a7693;
}
.p-search__drawer-submit-actions {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.p-search__drawer-submit-actions .c-button-simple-angle {
  width: 100%;
}
html.is-search-filter-open .p-search__drawer-submit {
  display: block;
}
.p-search__drawer-actions {
  display: none;
}
@media screen and (max-width: 1024px) {
  .p-search__drawer-actions {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1350;
    pointer-events: none;
  }
}
.p-search__filters.is-open .p-search__drawer-actions {
  display: block;
}
.p-search__drawer-actions-inner {
  background: rgba(255, 255, 255, 0.98);
  border-radius: 1.2rem 1.2rem 0.6rem 0.6rem;
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 0;
  pointer-events: auto;
}
.p-search__drawer-actions-inner .c-button-simple-angle {
  width: 100%;
  border: 0;
  border-radius: 0;
}

:root.is-search-filter-open body {
  overflow: hidden;
}

.p-detail .c-subpage__main {
  margin-top: 5rem;
}
.p-detail :where(p) {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.p-detail :where(p):last-child {
  margin-bottom: 0;
}
.p-detail :where(ul) {
  margin-bottom: 1.5rem;
}
.p-detail :where(ul):last-child {
  margin-bottom: 0;
}
.p-detail__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 2rem;
}
.p-detail__info {
  font-size: 1.5rem;
  opacity: 0.7;
}
.p-detail__favorite {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 4.4rem;
  padding-inline: 2.5rem 2rem;
  background-color: #E0E981;
  border-radius: 3rem;
  gap: 1rem;
  font-size: 1.5rem;
  transition: opacity 0.3s;
  color: var(--font-color);
}
@media screen and (max-width: 768px) {
  .p-detail__favorite {
    height: 3.5rem;
    font-size: 1.3rem;
    padding-inline: 1.5rem;
  }
}
@media (hover: hover) {
  .p-detail__favorite:hover {
    opacity: 0.7;
  }
}
.p-detail__favorite > .in-icon {
  display: flex;
  align-items: centers;
}
.p-detail__favorite > .in-icon svg {
  width: 2.1rem;
}
@media screen and (max-width: 768px) {
  .p-detail__favorite > .in-icon svg {
    width: 1.6rem;
  }
}
.p-detail__favorite > .in-icon svg path {
  fill: white;
}
.p-detail__favorite.is-favorite {
  background-color: #FFDFE0;
}
.p-detail__favorite-count {
  font-size: 1.1rem;
  font-weight: 600;
  opacity: 0.85;
}
.p-detail__favorite-count.is-zero {
  opacity: 0.45;
}
.p-detail__heading {
  color: #996b00;
}
.p-detail__container {
  margin-top: 5rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-detail__container {
    margin-top: 3rem;
    flex-direction: column;
    gap: 3rem;
  }
}
.p-detail__sub-content {
  width: 34.5rem;
  flex-shrink: 0;
  position: sticky;
  top: 10rem;
}
@media screen and (max-width: 768px) {
  .p-detail__sub-content {
    width: 100%;
    position: relative;
    top: auto;
  }
}
.p-detail__swiper .swiper-slide {
  aspect-ratio: 4/3;
}
.p-detail__swiper .swiper-slide img {
  border-radius: 0.6rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-detail__swiper-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  aspect-ratio: 1/1;
  background-color: white;
  border-radius: 100%;
  position: absolute;
  top: calc(50% - 1rem);
  transform: translateY(-50%);
  z-index: 11;
  cursor: pointer;
}
.p-detail__swiper-navigation img {
  width: 1rem;
}
.p-detail__swiper-prev {
  left: 1rem;
  transform: translateY(-50%) rotate(180deg);
  cursor: pointer;
}
.p-detail__swiper-next {
  right: 1rem;
}
.p-detail__swiper-pagination {
  display: flex;
  position: relative !important;
  justify-content: center;
  top: auto !important;
  left: auto !important;
  bottom: auto !important;
  margin-top: 1.5rem;
  gap: 1.5rem;
  --swiper-pagination-bullet-inactive-color: var(--main-color);
  --swiper-pagination-color: var(--main-color);
  --swiper-pagination-bullet-inactive-opacity: 0.4;
  --swiper-pagination-bullet-horizontal-gap: 0;
}
.p-detail__tag-list {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.p-detail__main-content {
  flex: auto;
}
@media screen and (max-width: 768px) {
  .p-detail__main-content {
    width: 100%;
  }
}
.p-detail__main-content :where(p) {
  font-size: 1.6rem;
}
.p-detail__detail-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-bottom: 5rem;
}
.p-detail__detail-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}
.p-detail__detail-item-title {
  width: 10rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.6rem;
  color: var(--main-color);
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-detail__detail-item-title {
    font-size: 1.4rem;
    width: 9rem;
  }
}
.p-detail__detail-item-title > .in-icon {
  width: 1.5rem;
}
.p-detail__detail-item-maplink {
  color: var(--main-color);
  text-decoration: underline;
}
.p-detail__detail-item-data {
  flex-grow: 1;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-detail__detail-item-data {
    font-size: 1.4rem;
  }
}
.p-detail__editor {
  margin-bottom: 5rem;
}
.p-detail__editor *:first {
  margin-top: 0;
}
.p-detail__editor :where(h2) {
  font-size: 2.3rem;
  margin: 2.5rem 0rem 1rem;
}
.p-detail__editor :where(h3) {
  margin-block: 2rem 1.6rem;
  font-size: 1.8rem;
  font-weight: 500;
}
.p-detail__entry-button {
  text-align: center;
  margin-bottom: 5rem;
}
.p-detail__entry-button .c-button-simple-angle {
  width: 32rem;
  height: 7rem;
}
.p-detail__entry-button .c-button-simple-angle__text {
  font-size: 2rem;
}
.p-detail__entry-button .c-button-simple-angle__angle svg {
  width: 1.2rem;
}
.p-detail__overview-list {
  margin-block: 3rem;
}
.p-detail__overview-map {
  width: 100%;
  aspect-ratio: 5/2;
}
.p-detail__overview-map iframe {
  width: 100%;
  height: 100%;
}
.p-detail__gallery {
  margin-block: 4rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-detail__gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.p-detail__gallery-item {
  aspect-ratio: 4/3;
}
.p-detail__gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-detail__comment {
  border: solid 3px var(--main-color);
  border-radius: 0.6rem;
  position: relative;
  overflow: hidden;
  padding: 6.4rem 5rem 3.2rem;
}
@media screen and (max-width: 768px) {
  .p-detail__comment {
    padding-block: 6rem 2rem;
    padding-inline: 1.5rem;
  }
}
.p-detail__advisor-comment-title {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.6rem 4rem;
  background-color: var(--main-color);
  font-size: 2rem;
  color: white;
  border-radius: 0 0 0.6rem 0/0 0 0.6rem 0;
}
@media screen and (max-width: 768px) {
  .p-detail__advisor-comment-title {
    padding: 0.6rem 2rem;
    font-size: 1.6rem;
  }
}
.p-detail__comment-container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .p-detail__comment-container {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
.p-detail__advisor {
  width: 12rem;
  flex-shrink: 0;
  text-align: center;
}
.p-detail__advisor-image {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 100%;
  overflow: hidden;
}
.p-detail__advisor-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-detail__advisor-name {
  font-size: 2rem;
}
.p-detail__advisor-comment {
  flex-grow: 1;
}
.p-detail__advisor-comment p {
  font-size: 1.5rem;
}
.p-detail__page-nav {
  margin-top: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.6rem;
}
.p-detail__page-prev, .p-detail__page-next {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.5rem;
  color: var(--main-color);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-detail__page-prev:hover, .p-detail__page-next:hover {
    opacity: 0.6;
  }
}
.p-detail__page-prev > .in-angle svg, .p-detail__page-next > .in-angle svg {
  width: 0.6rem;
}
.p-detail__page-prev > .in-angle svg path, .p-detail__page-next > .in-angle svg path {
  stroke: var(--main-color);
}
.p-detail__page-prev > .in-angle svg {
  transform: rotateY(180deg);
}
.p-detail__archive-link {
  padding: 1rem 2.5rem;
  border: solid 2px var(--main-color);
  border-radius: 3rem;
  color: white;
  background-color: var(--main-color);
  font-size: 1.6rem;
  transition: background-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .p-detail__archive-link:hover {
    background-color: white;
    color: var(--main-color);
  }
}
.p-detail__banner {
  margin-top: 5rem;
  text-align: center;
}
.p-detail__banner img {
  width: 90rem;
  max-width: 100%;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-detail__banner img:hover {
    opacity: 0.6;
  }
}
.p-detail__related {
  margin-top: 8rem;
  padding: 5rem 0;
  background: #f4f5f8;
  border-radius: 2.4rem;
}
.p-detail__related .c-heading-center {
  margin-bottom: 2.4rem;
}
.p-detail__related .c-related-job-list {
  max-width: 92rem;
  margin-inline: auto;
}
.p-detail__conditions-search {
  margin-top: 8rem;
  border: solid 4px var(--main-color);
  border-radius: 0.4rem;
  padding: 5rem 2rem;
}
.p-detail__conditions-search .c-heading-center {
  margin-bottom: 1.5rem;
}
.p-detail__conditions-search-attention {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 4rem;
}
.p-detail__search-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-inline: auto;
  width: 67rem;
  max-width: 100%;
}
.p-detail__search-item {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .p-detail__search-item {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-detail__search-item-title {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.8rem;
  width: 11rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-detail__search-item-title {
    width: 100%;
  }
}
.p-detail__search-item-title > .in-icon {
  width: 1.5rem;
}
.p-detail__search-item-data {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-detail__search-item-data {
    gap: 1rem;
    width: 100%;
  }
}
.p-detail__search-item-data .c-button-simple {
  min-width: 16rem;
  height: 4rem;
}
@media screen and (max-width: 768px) {
  .p-detail__search-item-data .c-button-simple {
    min-width: calc(50% - 0.5rem);
  }
}
.p-detail__stop-container {
  background-color: rgba(224, 233, 129, 0.5019607843);
  margin-top: 5rem;
  padding: 6rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-detail__stop-container {
    padding: 3rem 2rem;
  }
}
.p-detail__stop-container .c-heading-center {
  margin-bottom: 1rem;
}
.p-detail__stop-button-wrapper {
  margin-top: 5rem;
}
.p-detail__stop-button-wrapper .c-bubble {
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-detail__stop-button-wrapper .c-button-simple-angle {
    height: 5.5rem;
  }
}
.p-detail__mobile-float-menu {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-detail__mobile-float-menu {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 1rem;
    z-index: 100;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
  }
}
.p-detail__mobile-float-menu .p-detail__favorite {
  border-radius: 0;
  height: 4rem;
  font-size: 1.4rem;
}
.p-detail__mobile-float-menu .c-button-simple-angle {
  border-radius: 0;
  height: 4rem;
  padding-inline: 2rem;
  font-size: 1.4rem;
  font-weight: normal;
}

.p-reason .c-subpage__main {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-reason .c-subpage__main .l-inner {
    padding-inline: 0;
  }
}
.p-reason .c-subpage__main .c-heading-center > .in-logo img {
  width: 13rem;
}
@media screen and (max-width: 768px) {
  .p-reason .c-subpage__main .c-heading-center > .in-logo img {
    width: 11rem;
  }
}
.p-reason .c-bg-gradient {
  padding-block: 7rem;
  width: calc(100% + 10.4rem);
  margin-inline: -5.7rem;
}
@media screen and (max-width: 768px) {
  .p-reason .c-bg-gradient {
    width: calc(100% + 4rem);
    margin-inline: -2rem;
    padding-inline: 2rem;
  }
}
.p-reason__intro-container {
  margin-top: 4rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4.8rem;
}
@media screen and (max-width: 768px) {
  .p-reason__intro-container {
    flex-direction: column;
    gap: 2rem;
  }
}
.p-reason__intro-image {
  width: 38rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-reason__intro-image {
    width: 100%;
  }
}
.p-reason__intro-content {
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .p-reason__intro-content {
    width: 100%;
  }
}
.p-reason__intro-title {
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-reason__intro-title {
    font-size: 2rem;
  }
}
.p-reason__intro-overview {
  margin-top: 9.8rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-reason__intro-overview {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.p-reason__overview-item {
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  padding: 3rem 3.5rem 3.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-reason__overview-item {
    padding: 2rem;
  }
}
.p-reason__overview-item img {
  height: 10rem;
}
.p-reason__overview-item > .in-title {
  font-size: 2rem;
  margin-block: 2rem;
  font-weight: 500;
}
.p-reason__overview-item p {
  text-align: left;
  font-size: max(14px, 1.5rem);
}
.p-reason__aproach {
  margin-top: 8rem;
}
.p-reason__aproach-title {
  font-size: 2.8rem;
  text-align: center;
  margin-bottom: 2rem;
}
.p-reason__aproach-title > .in-bubble {
  width: 10rem;
  margin-right: 1rem;
  transform: translate(0, -1rem);
}
@media screen and (max-width: 768px) {
  .p-reason__aproach-title > .in-bubble {
    width: 8rem;
    margin-right: 0.5rem;
  }
}
.p-reason__aproach-title > .in-logo img {
  width: 13rem;
}
@media screen and (max-width: 768px) {
  .p-reason__aproach-title > .in-logo img {
    width: 12rem;
  }
}
.p-reason__aproach-title > .in-small {
  font-size: 2.4rem;
}
.p-reason__aproach-description {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-reason__aproach-description {
    text-align: left;
  }
}
.p-reason__aproach-container {
  margin-top: 7.5rem;
  display: flex;
  align-items: flex-start;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-reason__aproach-container {
    margin-top: 4rem;
    gap: 2rem;
    flex-direction: column;
  }
}
.p-reason__aproach-image {
  width: 35.3rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-reason__aproach-image {
    width: 100%;
  }
}
.p-reason__aproach-content {
  padding-top: 1rem;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .p-reason__aproach-content {
    width: 100%;
  }
}
.p-reason__aproach-content .c-heading-left {
  margin-bottom: 2rem;
}
.p-reason__reason {
  margin-top: 8rem;
}
.p-reason__reason .c-heading-center {
  margin-bottom: 5rem;
}
.p-reason__reason .c-heading-center > .in-logo img {
  width: 13rem;
}
@media screen and (max-width: 768px) {
  .p-reason__reason .c-heading-center > .in-logo img {
    width: 11rem;
  }
}
.p-reason__reason .c-heading-center > .in-num {
  font-size: 4.2rem;
  font-weight: bold;
  color: var(--main-color);
  font-family: var(--alex);
}
@media screen and (max-width: 768px) {
  .p-reason__reason .c-heading-center > .in-num {
    font-size: 3.4rem;
  }
}
.p-reason__reason-list {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
.p-reason__reason-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4.8rem;
  counter-increment: listCount;
}
@media screen and (max-width: 768px) {
  .p-reason__reason-item {
    flex-direction: column;
    gap: 2rem;
  }
}
.p-reason__reason-item:nth-of-type(even) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .p-reason__reason-item:nth-of-type(even) {
    flex-direction: column;
  }
}
.p-reason__reason-item-image {
  width: 36.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-reason__reason-item-image {
    width: 100%;
    margin-bottom: 1rem;
  }
}
.p-reason__reason-item-image img {
  border-radius: 0.6rem;
}
.p-reason__reason-item-desc {
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .p-reason__reason-item-desc {
    width: 100%;
  }
}
.p-reason__reason-item-desc > .in-title {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-reason__reason-item-desc > .in-title {
    font-size: 2rem;
    align-items: center;
  }
}
.p-reason__reason-item-desc > .in-title::before {
  content: counter(listCount);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.3rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: var(--main-color);
  color: white;
  font-size: 2rem;
  font-family: var(--alex);
}
.p-reason__reason-item-desc > .in-button {
  margin-top: 2rem;
}
.p-reason__cta {
  margin-top: 8rem;
}
.p-reason__cta-heading-wrapper {
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .p-reason__cta-heading-wrapper {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__cta-heading-wrapper .c-heading-center--small {
    font-size: 2.3rem;
  }
}
.p-reason__cta-heading-bubble {
  width: 37.2rem;
  max-width: 100%;
  text-align: center;
  padding-block: 1.8rem 4rem;
  font-size: 1.7rem;
  background-image: url(../images/reason/cta-bubble.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-reason__cta-heading-bubble {
    padding-block: 2rem 3.8rem;
  }
}
.p-reason__cta-heading-bubble > .in-logo img {
  width: 10rem;
}
.p-reason__cta-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 6rem;
  flex-wrap: wrap;
  width: 72rem;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-reason__cta-list {
    gap: 2rem;
    padding-inline: 0;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-reason__cta-item {
  text-align: center;
}
.p-reason__cta-item > .in-icon {
  width: 10.6rem;
}
.p-reason__cta-item > .in-text {
  margin-top: 1rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-reason__cta-item > .in-text {
    font-size: 1.5rem;
  }
}
.p-reason__cta-button-wrapper {
  margin-top: 5rem;
  text-align: center;
}
.p-reason__cta-button-wrapper .c-bubble::before, .p-reason__cta-button-wrapper .c-bubble::after {
  color: var(--accent-red);
}
.p-reason__cta-button-wrapper .c-button-simple-angle {
  margin-top: 1rem;
  height: 5.7rem;
}
@media screen and (max-width: 768px) {
  .p-reason__cta-button-wrapper .c-button-simple-angle {
    flex-wrap: wrap;
    gap: 0 1rem;
    height: 8rem;
    text-align: center;
    width: 100%;
    justify-content: space-between;
  }
}
.p-reason__cta-button-wrapper .c-button-simple-angle > .in-free-label {
  margin-right: -1rem;
  padding: 0.3rem 1.6rem;
  background-color: white;
  border-radius: 0.6rem;
  font-size: 1.3rem;
  color: var(--accent-red);
  transition: color 0.3s, background-color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-reason__cta-button-wrapper .c-button-simple-angle > .in-free-label {
    margin-right: 0;
  }
}
@media (hover: hover) {
  .p-reason__cta-button-wrapper .c-button-simple-angle:hover > .in-free-label {
    color: white;
    background-color: var(--accent-red);
  }
}
.p-reason__select {
  margin-top: 8rem;
}
.p-reason__select .c-heading-center {
  margin-bottom: 4rem;
}
.p-reason__select .c-heading-center > .in-icon {
  width: 19.6rem;
}
@media screen and (max-width: 768px) {
  .p-reason__select .c-heading-center > .in-icon {
    width: 14rem;
  }
}
.p-reason__select-copy {
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 1.5rem;
}
.p-reason__select-intro {
  text-align: center;
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .p-reason__select-intro {
    margin-bottom: 4rem;
    text-align: left;
  }
}
.p-reason__select-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-reason__select-list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.p-reason__select-item.c-bg-gradient {
  width: auto;
  margin-inline: 0;
  padding: 3rem;
}
.p-reason__select-item > .in-title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
}
.p-reason__select-item > .in-title > .in-blue {
  color: var(--main-color);
}
.p-reason__select-item > .in-image {
  width: 20rem;
  aspect-ratio: 10/7;
  overflow: hidden;
  margin-inline: auto;
  margin-bottom: 1rem;
  border-radius: 0.4rem;
}
.p-reason__select-item > .in-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-reason__select-item p {
  font-size: max(14px, 1.5rem);
}
.p-reason__select-outro {
  margin-top: 6rem;
  text-align: center;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .p-reason__select-outro {
    margin-top: 4rem;
    font-size: 1.8rem;
    text-align: left;
  }
}
.p-reason__banner {
  text-align: center;
  margin-top: 8rem;
}
.p-reason__banner img {
  width: 90rem;
  max-width: 100%;
}

@media screen and (max-width: 768px) {
  .p-company .c-subpage .l-inner {
    padding-inline: 0;
  }
}
.p-company .c-subpage__main {
  margin-top: 7rem;
}
.p-company .c-bg-gradient {
  width: calc(100% + 10.4rem);
  margin-inline: -5.7rem;
}
@media screen and (max-width: 768px) {
  .p-company .c-bg-gradient {
    width: calc(100% + 4rem);
    margin-inline: -2rem;
  }
}
.p-company__overview {
  display: flex;
  align-items: flex-start;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-company__overview {
    flex-direction: column;
  }
}
.p-company__overview-image {
  width: 34rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-company__overview-image {
    width: 100%;
  }
}
.p-company__overview-image img {
  border-radius: 0.6rem;
}
.p-company__overview-list {
  flex-grow: 1;
}
.p-company__overview-list .c-dl-item {
  padding-block: 1.8rem;
}
.p-company__overview-list .c-dl-item__data > .in-company-link {
  display: inline-flex;
  margin-left: 2rem;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  color: var(--main-color);
  border-bottom: solid 1px var(--main-color);
}
@media screen and (max-width: 768px) {
  .p-company__overview-list .c-dl-item__data > .in-company-link {
    margin-left: 0;
    font-size: 1.4rem;
  }
}
.p-company__overview-list .c-dl-item__data > .in-company-link svg {
  width: 1.3rem;
}
.p-company__overview-list .c-dl-item__data > .in-company-link svg path {
  stroke: var(--main-color);
}
.p-company__access {
  margin-top: 5rem;
}
.p-company__access .c-heading-center {
  margin-bottom: 2rem;
}
.p-company__map {
  width: 100%;
  aspect-ratio: 110/36;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-company__map {
    aspect-ratio: 16/9;
  }
}
.p-company__map iframe {
  width: 100%;
  height: 100%;
}
.p-company__vision {
  margin-top: 8rem;
  padding-block: 8rem;
}
@media screen and (max-width: 768px) {
  .p-company__vision {
    padding-inline: 2rem;
  }
}
.p-company__vision-item {
  display: flex;
  align-items: center;
  gap: 3.5rem;
  flex-shrink: 0;
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .p-company__vision-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.p-company__vision-item:last-of-type {
  margin-bottom: 0;
}
.p-company__vision-title {
  line-height: 1;
  transform: translate(0, -1rem);
}
@media screen and (max-width: 768px) {
  .p-company__vision-title {
    transform: none;
  }
}
.p-company__vision-title > .in-sub {
  font-size: 1.8rem;
  background: linear-gradient(to bottom, #96B4E7, #527FCE);
  background-clip: text;
  color: transparent;
}
.p-company__vision-title > .in-main {
  font-size: 4.8rem;
  font-weight: bold;
  background: linear-gradient(to bottom, #96B4E7, #527FCE);
  background-clip: text;
  color: transparent;
}
.p-company__vision-line {
  flex-grow: 1;
  background: linear-gradient(to right, #96B4E7, #527FCE);
  height: 0.2rem;
}
.p-company__vision-data {
  flex-shrink: 0;
  width: 72rem;
}
@media screen and (max-width: 768px) {
  .p-company__vision-data {
    width: 100%;
  }
}
.p-company__vision-data p {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .p-company__vision-data p {
    font-size: 1.6rem;
  }
}
.p-company__vision-data > .in-vision {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  .p-company__vision-data > .in-vision {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-company__vision-data > .in-vision > .in-icon {
  width: 24.5rem;
}
@media screen and (max-width: 768px) {
  .p-company__vision-data > .in-vision > .in-icon {
    width: 20rem;
  }
}
.p-company__vision-data > .in-value {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.9rem 1.1rem;
}
@media screen and (max-width: 768px) {
  .p-company__vision-data > .in-value {
    grid-template-columns: 1fr;
  }
}
.p-company__value-item {
  display: flex;
  align-items: center;
  background-color: white;
  padding: 1.5rem 3rem;
  border-radius: 0.6rem;
  gap: 1rem;
}
.p-company__value-item > .in-icon {
  width: 3rem;
}
.p-company__message {
  margin-top: 8rem;
}
.p-company__message .c-heading-center {
  margin-bottom: 3.5rem;
}
.p-company__message-container {
  display: flex;
  align-items: flex-start;
  gap: 4.6rem;
}
@media screen and (max-width: 768px) {
  .p-company__message-container {
    flex-direction: column;
    gap: 2rem;
  }
}
.p-company__message-image {
  width: 37.7rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-company__message-image {
    width: 100%;
  }
}
.p-company__message-image img {
  border-radius: 0.6rem;
}
.p-company__message-content > .in-copy {
  margin-bottom: 5rem;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
.p-company__message-content p {
  font-size: 1.6rem;
}
.p-company__president {
  margin-top: 3rem;
  text-align: right;
  font-size: 1.6rem;
}

.p-archive-advisor .c-subpage__main {
  margin-top: 5rem;
}
.p-archive-advisor .c-heading-center {
  margin-bottom: 1.5rem;
}
.p-archive-advisor__intro {
  text-align: center;
  font-size: 1.8rem;
}
.p-archive-advisor__list-wrapper {
  margin-top: 6rem;
}
.p-archive-advisor__list-wrapper .c-heading-left {
  margin-bottom: 1.5rem;
}
.p-archive-advisor__list-intro {
  font-size: 1.4rem;
}
.p-archive-advisor__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-archive-advisor__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.p-archive-advisor__item {
  padding-bottom: 5rem;
  border-bottom: solid 1px #CCCCCC;
}
@media screen and (max-width: 768px) {
  .p-archive-advisor__item {
    padding-bottom: 3rem;
  }
}
.p-archive-advisor__item:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .p-archive-advisor__item:nth-last-of-type(2):nth-of-type(odd) {
    padding-bottom: 0;
    border-bottom: none;
  }
}

.p-flow .c-subpage__main {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-flow .c-subpage__main .l-inner {
    padding-inline: 0;
  }
}
.p-flow__list {
  display: flex;
  flex-direction: column;
  gap: 7rem;
}
.p-flow__item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 5rem;
  padding: 4.1rem 5.5rem 3.6rem;
  background: linear-gradient(to bottom, rgba(239, 246, 255, 0.5019607843), #E6F1FF);
  border-radius: 0.6rem;
  counter-increment: listCounter;
}
@media screen and (max-width: 768px) {
  .p-flow__item {
    flex-direction: column;
    padding: 2rem;
    gap: 2rem;
  }
}
.p-flow__item::after {
  content: "";
  border: solid 4.5rem transparent;
  border-top: solid 3.8rem #E6F1FF;
  position: absolute;
  left: 50%;
  top: calc(100% - 1px);
  transform: translate(-50%, 0);
}
.p-flow__item:last-of-type::after {
  display: none;
}
.p-flow__item-image-wrapper {
  position: relative;
  width: 30rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-flow__item-image-wrapper {
    width: 100%;
  }
}
.p-flow__item-image-wrapper img {
  width: 100%;
  border-radius: 0.6rem;
}
.p-flow__item-step {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 7.4rem;
  aspect-ratio: 1/1;
  border: solid 4px var(--main-color);
  border-radius: 100%;
  font-size: 1.3rem;
  position: absolute;
  top: -1.2rem;
  left: -1.5rem;
  font-family: var(--alex);
  background-color: white;
  line-height: 1;
  color: var(--main-color);
  padding-top: 0.5rem;
}
.p-flow__item-step::after {
  content: counter(listCounter, decimal-leading-zero);
  font-size: 3rem;
}
.p-flow__item-content {
  flex-grow: 1;
}
.p-flow__item-content .c-heading-left {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-flow__item-content .c-button-simple-angle {
    flex-wrap: wrap;
    gap: 0 1rem;
    height: 8rem;
    text-align: center;
    width: 100%;
    justify-content: space-between;
  }
}
.p-flow__item-content .c-button-simple-angle > .in-free-label {
  margin-right: -1rem;
  padding: 0.3rem 1.6rem;
  background-color: white;
  border-radius: 0.6rem;
  font-size: 1.3rem;
  color: var(--accent-red);
  transition: color 0.3s, background-color 0.3s;
}
@media screen and (max-width: 768px) {
  .p-flow__item-content .c-button-simple-angle > .in-free-label {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-flow__item-content .c-button-simple-angle__text {
    font-size: 1.5rem;
  }
}
@media (hover: hover) {
  .p-flow__item-content .c-button-simple-angle:hover > .in-free-label {
    color: white;
    background-color: var(--accent-red);
  }
}
.p-flow__banner {
  margin-top: 8rem;
  text-align: center;
}
.p-flow__banner img {
  width: 86rem;
  max-width: 100%;
}

.p-faq .c-subpage__main {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-faq .c-subpage__main .l-inner {
    padding-inline: 0;
  }
}
.p-faq__anchor-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-faq__anchor-list {
    gap: 1.3rem;
    justify-content: flex-start;
  }
}
.p-faq__anchor {
  display: inline-flex;
  align-items: center;
  gap: 2.4rem;
  height: 5.1rem;
  padding-inline: 3rem;
  background-color: var(--main-color);
  border-radius: 3rem;
  font-size: 1.6rem;
  color: white;
}
@media screen and (max-width: 768px) {
  .p-faq__anchor {
    gap: 1.5rem;
    padding-inline: 2rem;
    height: 4.4rem;
    font-size: 1.4rem;
  }
}
.p-faq__anchor > .in-angle svg {
  width: 0.7rem;
  transform: rotate(90deg);
}
.p-faq__anchor > .in-angle svg path {
  stroke: white;
}
.p-faq__list-container {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
.p-faq__list-wrapper .c-heading-left {
  margin-bottom: 2rem;
}
.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p-faq__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  --button-color: var(--accent-red);
}
.p-faq__button .c-bubble {
  letter-spacing: 0;
  gap: 0.5rem;
  font-size: 1.45rem;
  --button-color: var(--font-color);
}
@media screen and (max-width: 768px) {
  .p-faq__button .c-button-icon {
    width: 27rem;
  }
}
.p-faq__button .c-button-icon__icon svg {
  width: 3rem;
}
@media screen and (max-width: 768px) {
  .p-faq__button .c-button-icon__icon svg {
    width: 2.2rem;
  }
}
.p-faq__button .c-button-icon__icon svg path {
  fill: var(--button-color);
  transition: stroke 0.3s, fill 0.3s;
}
@media (hover: hover) {
  .p-faq__button .c-button-icon:hover .c-button-icon__icon svg path {
    fill: white;
  }
}

.p-archive-contents .c-subpage__main {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-archive-contents .c-subpage__main .l-inner {
    padding-inline: 0;
  }
}
.p-archive-contents__tab-list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.6rem;
  padding-inline: 3rem;
}
@media screen and (max-width: 768px) {
  .p-archive-contents__tab-list {
    grid-template-columns: repeat(2, 1fr);
    padding-inline: 0;
    gap: 1rem;
  }
}
.p-archive-contents__tab-list .c-tab {
  letter-spacing: 0;
}
.p-archive-contents__list {
  margin-top: 5rem;
}
.p-archive-contents__list .c-card-content:first-of-type {
  padding-top: 0;
}

.p-contents {
  font-size: max(15px, 1.5rem);
}
.p-contents .c-subpage__main {
  margin-top: 5rem;
}
.p-contents__head {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.p-contents__time {
  font-size: 1.4rem;
  opacity: 0.5;
  font-family: var(--alex);
  flex-shrink: 0;
  margin-top: 0.3rem;
}
.p-contents__cat-list {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.p-contents__cat {
  padding: 0.2rem 1rem;
  font-size: max(12px, 1.2rem);
  color: var(--main-color);
  border: solid 1px var(--main-color);
  border-radius: 3rem;
}
.p-contents__title {
  padding-bottom: 2rem;
  border-bottom: solid 1px var(--main-color);
  margin-bottom: 3rem;
}
.p-contents__thumbnail {
  margin-bottom: 3rem;
}
.p-contents__thumbnail img {
  width: 100%;
  height: auto;
}
.p-contents__toc {
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  padding: 2rem 4rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-contents__toc {
    padding: 2rem;
  }
}
.p-contents__toc-title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.7rem;
  height: 2.6rem;
  background-color: var(--main-color);
  color: white;
  font-size: max(15px, 1.5rem);
  border-radius: 0.6rem;
  margin-bottom: 1rem;
}
.p-contents__toc-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.p-contents__toc-item {
  counter-increment: listCount;
  font-size: max(16px, 1.6rem);
}
.p-contents__toc-item::before {
  content: counter(listCount) ".";
  margin-right: 0.5rem;
  font-size: max(22px, 2.2rem);
  color: var(--main-color);
  font-weight: bold;
  transform: translate(0, 0.2rem);
  display: inline-block;
}
.p-contents__toc-item--l {
  counter-reset: childCount;
}
.p-contents__toc-item--m {
  counter-increment: childCount;
  padding-left: 1.5em;
}
.p-contents__toc-item--m::before {
  content: counter(listCount) "-" counter(childCount) ".";
  font-size: max(18px, 1.8rem);
  font-weight: normal;
  color: var(--font-color);
}
.p-contents__toc-item--s {
  padding-left: 3em;
  counter-increment: smallCount;
  font-size: max(14px, 1.4rem);
}
.p-contents__toc-item--s::before {
  content: counter(listCount) "-" counter(childCount) "-" counter(smallCount) ".";
  font-weight: normal;
  color: var(--font-color);
  font-size: max(16px, 1.6rem);
}
.p-contents__editor *:first-child {
  margin-top: 0;
}
.p-contents__editor :where(h2) {
  margin-block: 3rem 1.5rem;
  font-size: max(20px, 2rem);
  font-weight: 500;
  border-bottom: solid 1px var(--main-color);
  padding-bottom: 1rem;
}
.p-contents__editor :where(h3) {
  margin-block: 3rem 1.5rem;
  font-size: max(18px, 1.8rem);
  font-weight: 500;
  padding-left: 2rem;
  position: relative;
}
.p-contents__editor :where(h3)::before {
  content: "";
  display: block;
  width: 1rem;
  aspect-ratio: 1/1;
  background-color: var(--main-color);
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 1rem;
}
.p-contents__editor :where(h4) {
  font-size: max(18px, 1.8rem);
  margin-block: 3rem 1.5rem;
}
.p-contents__editor :where(p) {
  font-size: max(15px, 1.5rem);
  font-weight: 500;
}
.p-contents__editor :where(figure) {
  margin-block: 1.5rem;
}
.p-contents__editor :where(figcaption) {
  text-align: center;
}
.p-contents__editor a:not([class]) {
  color: var(--main-color);
}
.p-contents__block--boxed {
  background-color: #f5f8dd;
  padding: 2rem;
  border-radius: 1.2rem;
  margin-block: 3rem;
}
.p-contents__list {
  background-color: #FCFAF7;
  padding: 2rem;
  margin-block: 3rem;
}
@media screen and (max-width: 768px) {
  .p-contents__list {
    padding-left: 1rem;
  }
}
.p-contents__list li {
  padding-left: 1.5em;
  position: relative;
  margin-bottom: 0.5rem;
  font-size: max(15px, 1.5rem);
}
.p-contents__list li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0.2rem;
}
.p-contents__list li:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-contents__list li {
    padding-left: 1.2em;
  }
}
.p-contents__cta {
  margin-block: 3rem;
}
.p-contents__cta--image img {
  display: block;
  width: 100%;
  height: auto;
}
.p-contents__cta-image-link {
  display: block;
}
.p-contents__cta--link {
  background-color: #FDE1E1;
  border-radius: 1.2rem;
  padding: 3rem 4rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contents__cta--link {
    padding: 2rem;
    opacity: 0;
    transition: opacity 0.3s;
    animation: ctaShow 0s 2s forwards;
  }
}
@media screen and (max-width: 768px) {
  .p-contents__cta--link.is-ready {
    opacity: 1;
    animation: none;
  }
}
.p-contents__cta-text {
  font-size: max(15px, 1.5rem);
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-contents__cta-text {
    text-align: left;
  }
}
.p-contents__cta-text p {
  margin: 0;
}
@media screen and (max-width: 768px) {
  .p-contents__cta-text p {
    margin-bottom: 1.5rem;
    line-height: 1.6;
  }
}
.p-contents__cta-text p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .p-contents__cta-text br.is-comma-break {
    display: none;
  }
}
.p-contents__cta-gap {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-contents__cta-gap {
    display: block;
    height: 1.5rem;
  }
}
.p-contents__cta-button {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}
.p-contents__cta-button .c-button-simple-angle {
  min-height: 5rem;
}
@media screen and (max-width: 768px) {
  .p-contents__cta-button .c-button-simple-angle {
    position: relative;
    justify-content: center;
    width: 100%;
    padding-inline: 3rem;
    container-type: inline-size;
  }
}
@media screen and (max-width: 768px) {
  .p-contents__cta-button .c-button-simple-angle .c-button-simple-angle__text {
    font-size: min(1.5rem, (100cqi - 0.75rem) / 15);
    text-align: center;
    white-space: normal;
  }
}
@media screen and (max-width: 768px) {
  .p-contents__cta-button .c-button-simple-angle .c-button-simple-angle__angle {
    position: absolute;
    top: 50%;
    right: 1.2rem;
    display: flex;
    transform: translateY(-50%);
  }
}
.p-contents__cta-button-break {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-contents__cta-button-break {
    display: inline;
  }
}
.p-contents__page-nav {
  margin-top: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.6rem;
}
.p-contents__page-prev, .p-contents__page-next {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: max(15px, 1.5rem);
  color: var(--main-color);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-contents__page-prev:hover, .p-contents__page-next:hover {
    opacity: 0.6;
  }
}
.p-contents__page-prev > .in-angle svg, .p-contents__page-next > .in-angle svg {
  width: 0.6rem;
}
.p-contents__page-prev > .in-angle svg path, .p-contents__page-next > .in-angle svg path {
  stroke: var(--main-color);
}
.p-contents__page-prev > .in-angle svg {
  transform: rotateY(180deg);
}
.p-contents__archive-link {
  padding: 1rem 2.5rem;
  border: solid 2px var(--main-color);
  border-radius: 3rem;
  font-size: max(16px, 1.6rem);
  background-color: var(--main-color);
  color: white;
  transition: background-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .p-contents__archive-link:hover {
    color: var(--main-color);
    background-color: white;
  }
}

@keyframes ctaShow {
  to {
    opacity: 1;
  }
}
.p-archive-voice .c-subpage__main {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-archive-voice .c-subpage__main .l-inner {
    padding-inline: 0;
  }
}
.p-archive-voice__heading-wrapper {
  text-align: center;
  margin-bottom: 4rem;
}
.p-archive-voice__heading-wrapper > .in-sub {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .p-archive-voice__heading-wrapper > .in-sub {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-archive-voice__heading-wrapper .c-heading-center {
    font-size: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-archive-voice__heading-wrapper .c-heading-center {
    margin-top: 1rem;
  }
}
.p-archive-voice__intro-image {
  text-align: center;
  margin-bottom: 5rem;
}
.p-archive-voice__intro-image img {
  width: 74.7rem;
  max-width: 100%;
}
.p-archive-voice__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-archive-voice__list {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.p-voice .c-subpage__main {
  margin-top: 9rem;
}
@media screen and (max-width: 768px) {
  .p-voice .c-subpage__main {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-voice .c-subpage__main .l-inner {
    padding-inline: 0;
  }
}
.p-voice__title {
  margin-bottom: 3rem;
  font-size: max(24px, 2.8rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-voice__title {
    font-size: max(22px, 2.4rem);
    text-align: left;
  }
}
.p-voice__interviewee {
  padding: 5rem 4rem;
  border-radius: 0.6rem;
  background: linear-gradient(to bottom, rgba(239, 246, 255, 0.5019607843), #E6F1FF);
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee {
    padding: 2rem;
  }
}
.p-voice__interviewee-head {
  display: flex;
  align-items: flex-start;
  gap: 5rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-head {
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 2rem;
  }
}
.p-voice__interviewee-overview {
  flex-grow: 1;
}
.p-voice__interviewee-name-wrapper {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-name-wrapper {
    gap: 1.2rem;
  }
}
.p-voice__interviewee-thumb {
  width: 8.8rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  overflow: hidden;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-thumb {
    width: 7.2rem;
  }
}
.p-voice__interviewee-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-voice__interviewee-head-desc {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.8rem;
  flex: 1;
  min-width: 0;
}
.p-voice__interviewee-cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 1.6rem;
  font-size: max(13px, 1.3rem);
  font-weight: bold;
  line-height: 1.2;
  color: white;
  background-color: var(--main-color);
  border-radius: 0.6rem;
}
.p-voice__interviewee-person {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.2rem;
}
.p-voice__interviewee-name {
  margin-bottom: 0;
  font-size: max(24px, 2.4rem);
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-name {
    font-size: max(20px, 2rem);
  }
}
.p-voice__interviewee-divider {
  display: block;
  flex-shrink: 0;
  width: 1px;
  height: 2rem;
  padding-top: 0.2rem;
  background-color: #CCCCCC;
  transform: translateY(2px);
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-divider {
    height: 1.6rem;
  }
}
.p-voice__interviewee-profile {
  margin-bottom: 0;
  padding-top: 0.2rem;
  font-size: max(14px, 1.4rem);
  line-height: 1;
  color: var(--font-color);
  opacity: 0.7;
  transform: translateY(2px);
}
.p-voice__interviewee-overview-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 5rem;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-overview-list {
    gap: 0.5rem;
    flex-wrap: nowrap;
    flex-direction: column;
  }
}
.p-voice__interviewee-overview-item {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  width: 33.3rem;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-overview-item {
    gap: 1rem;
  }
}
.p-voice__interviewee-overview-title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.7rem;
  height: 2.6rem;
  font-size: max(15px, 1.5rem);
  color: var(--main-color);
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-overview-title {
    display: inline-flex;
    width: auto;
    height: auto;
    padding: 0rem 1rem;
    font-size: max(12px, 1.2rem);
    line-height: 1.5;
  }
}
.p-voice__interviewee-overview-data {
  font-size: max(16px, 1.6rem);
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-overview-data {
    font-size: max(12px, 1.2rem);
  }
}
.p-voice__interviewee-overview-data a {
  color: var(--main-color);
  text-decoration: underline;
}
.p-voice__interviewee-content {
  margin-bottom: 3rem;
}
.p-voice__interviewee-content p {
  font-size: max(15px, 1.5rem);
}
.p-voice__interviewee-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-voice__interviewee-gallery {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.p-voice__interviewee-gallery img {
  border-radius: 0.6rem;
}
.p-voice__editor {
  font-size: max(15px, 1.5rem);
}
.p-voice__editor > *:first-child {
  margin-top: 0;
}
.p-voice__editor :where(h2) {
  margin-block: 5rem 2rem;
  font-size: max(20px, 2rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-voice__editor :where(h2) {
    text-align: left;
  }
}
.p-voice__editor :where(figure) {
  width: 330px;
  max-width: 100%;
  margin-block: 3rem;
  margin-inline: auto;
  border-radius: 0.6rem;
  overflow: hidden;
}
.p-voice__editor :where(figure) img {
  border-radius: 0.6rem;
}
.p-voice__editor :where(p) {
  font-size: max(15px, 1.5rem);
}
.p-voice__movie-wrapper {
  margin-top: 6rem;
}
.p-voice__movie-wrapper .c-heading-center {
  margin-bottom: 2rem;
  font-size: max(20px, 2rem);
}
.p-voice__movie {
  width: 57.6rem;
  max-width: 100%;
  aspect-ratio: 16/9;
  margin-inline: auto;
  background-color: #cccccc;
}
.p-voice__movie iframe {
  width: 100%;
  height: 100%;
}
.p-voice__movie video {
  width: 100%;
  height: 100%;
}
.p-voice__comment-wrapper {
  border: solid 3px var(--main-color);
  border-radius: 0.6rem;
  position: relative;
  overflow: hidden;
  padding: 6.4rem 2.8rem 2.8rem;
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-voice__comment-wrapper {
    padding-block: 6rem 2rem;
    padding-inline: 1.5rem;
  }
}
.p-voice__comment-title {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.6rem 4rem;
  font-size: max(20px, 2rem);
  color: white;
  background-color: var(--main-color);
  border-radius: 0 0 0.6rem 0/0 0 0.6rem 0;
}
@media screen and (max-width: 768px) {
  .p-voice__comment-title {
    padding: 0.6rem 2rem;
  }
}
.p-voice__comment-container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .p-voice__comment-container {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
.p-voice__staff {
  width: 12rem;
  flex-shrink: 0;
  text-align: center;
}
.p-voice__staff > .in-img {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 100%;
  overflow: hidden;
  margin-bottom: 1rem;
}
.p-voice__staff > .in-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-voice__staff-name {
  font-size: max(15px, 1.5rem);
}
.p-voice__comment {
  flex-grow: 1;
}
.p-voice__comment p {
  font-size: max(15px, 1.5rem);
}
.p-voice__page-nav {
  margin-top: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.6rem;
}
.p-voice__page-prev, .p-voice__page-next {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: max(15px, 1.5rem);
  color: var(--main-color);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-voice__page-prev:hover, .p-voice__page-next:hover {
    opacity: 0.6;
  }
}
.p-voice__page-prev > .in-angle svg, .p-voice__page-next > .in-angle svg {
  width: 0.6rem;
}
.p-voice__page-prev > .in-angle svg path, .p-voice__page-next > .in-angle svg path {
  stroke: var(--main-color);
}
.p-voice__page-dummy {
  opacity: 0;
  pointer-events: none;
}
.p-voice__page-prev > .in-angle svg {
  transform: rotateY(180deg);
}
.p-voice__archive-link {
  padding: 1rem 2.5rem;
  font-size: max(16px, 1.6rem);
  color: white;
  background-color: var(--main-color);
  border: solid 2px var(--main-color);
  border-radius: 3rem;
  transition: background-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .p-voice__archive-link:hover {
    color: var(--main-color);
    background-color: white;
  }
}
.p-voice__consulting-banner {
  margin-top: 6rem;
  text-align: center;
}
.p-voice__consulting-banner img {
  width: 90rem;
}
.p-voice__job-banner {
  margin-top: 6rem;
  text-align: center;
}
.p-voice__job-banner img {
  width: 86rem;
}

.single-voice .c-subpage__head .c-heading-center {
  font-size: 36px;
}
@media screen and (max-width: 768px) {
  .single-voice .c-subpage__head .c-heading-center {
    font-size: 24px;
  }
}

.p-archive-news .c-subpage__main {
  margin-top: 5rem;
}

.p-news .c-subpage__main {
  margin-top: 5rem;
}
.p-news__head {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.p-news__time {
  font-size: 1.4rem;
  opacity: 0.5;
  font-family: var(--alex);
  flex-shrink: 0;
  margin-top: 0.3rem;
}
.p-news__title {
  padding-bottom: 2rem;
  border-bottom: solid 1px var(--main-color);
  margin-bottom: 3rem;
}
.p-news__thumbnail {
  margin-bottom: 3rem;
}
.p-news__editor *:first-child {
  margin-top: 0;
}
.p-news__editor :where(h2) {
  margin-block: 3rem 1.5rem;
  font-size: max(20px, 2rem);
  font-weight: 500;
}
.p-news__editor :where(h3) {
  margin-block: 3rem 1.5rem;
  font-size: max(18px, 1.8rem);
  font-weight: 500;
}
.p-news__page-nav {
  margin-top: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.6rem;
}
.p-news__page-prev, .p-news__page-next {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.5rem;
  color: var(--main-color);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-news__page-prev:hover, .p-news__page-next:hover {
    opacity: 0.6;
  }
}
.p-news__page-prev > .in-angle svg, .p-news__page-next > .in-angle svg {
  width: 0.6rem;
}
.p-news__page-prev > .in-angle svg path, .p-news__page-next > .in-angle svg path {
  stroke: var(--main-color);
}
.p-news__page-prev > .in-angle svg {
  transform: rotateY(180deg);
}
.p-news__archive-link {
  padding: 1rem 2.5rem;
  border: solid 2px var(--main-color);
  border-radius: 3rem;
  font-size: 1.6rem;
  background-color: var(--main-color);
  color: white;
  transition: background-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .p-news__archive-link:hover {
    color: var(--main-color);
    background-color: white;
  }
}

.p-policy .c-subpage__main {
  margin-top: 5rem;
}
.p-policy__editor *:first-child {
  margin-top: 0;
}
.p-policy__editor :where(h2) {
  margin-block: 5rem 1.5rem;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .p-policy__editor :where(h2) {
    font-size: 2.4rem;
  }
}
.p-policy__editor :where(p:has(+ .c-list-num)) {
  margin-bottom: 0;
}

.p-kiyaku .c-subpage__main {
  margin-top: 5rem;
}
.p-kiyaku__editor *:first-child {
  margin-top: 0;
}
.p-kiyaku__editor :where(h2) {
  margin-block: 5rem 1.5rem;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .p-kiyaku__editor :where(h2) {
    font-size: 2.4rem;
  }
}
.p-kiyaku__editor :where(p:has(+ .c-list-num, + .c-list-dot)) {
  margin-bottom: 0;
}

.p-sitemap .c-subpage__main {
  margin-top: 9rem;
}
@media screen and (max-width: 768px) {
  .p-sitemap .c-subpage__main {
    margin-top: 5rem;
  }
}
.p-sitemap__container {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-sitemap__container {
    flex-direction: column;
    align-items: center;
    gap: 3rem;
  }
}
.p-sitemap__logo-wrapper {
  width: 18rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-sitemap__logo-wrapper {
    width: 100%;
    text-align: center;
  }
}
.p-sitemap__site-copy {
  font-size: 1.4rem;
}
.p-sitemap__logo {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-sitemap__logo {
    width: 20rem;
    margin-inline: auto;
  }
}
.p-sitemap__content {
  display: flex;
  align-items: flex-start;
  gap: 10rem;
}
@media screen and (max-width: 768px) {
  .p-sitemap__content {
    gap: 3rem;
    flex-direction: column;
  }
}
.p-sitemap__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .p-sitemap__list {
    gap: 3rem;
  }
}
.p-sitemap__item a {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  border-bottom: solid 1px var(--main-color);
}
.p-sitemap__item a > .in-angle {
  display: flex;
  align-items: center;
  padding-top: 0.2rem;
}
.p-sitemap__item a > .in-angle svg {
  width: 0.6rem;
}
.p-sitemap__item a > .in-angle svg path {
  stroke: var(--main-color);
}
.p-sitemap__item-parent {
  margin-bottom: 2.4rem;
  display: block;
}
@media screen and (max-width: 768px) {
  .p-sitemap__item-parent {
    margin-bottom: 1rem;
  }
}
.p-sitemap__child-list {
  display: flex;
  flex-direction: column;
  gap: 2.6rem;
  padding-left: 1rem;
}
@media screen and (max-width: 768px) {
  .p-sitemap__child-list {
    gap: 1rem;
  }
}
.p-sitemap__child-item a::before {
  content: "-";
  margin-right: -0.5rem;
}

.p-consultant .c-subpage {
  padding-top: 0;
}
.p-consultant .c-subpage__wrapper {
  padding-top: 0rem;
}
@media screen and (max-width: 768px) {
  .p-consultant .c-subpage .l-inner {
    padding-inline: 0;
  }
}
.p-consultant .c-subpage__main {
  margin-top: 5rem;
}
.p-consultant .c-subpage__wrapper {
  padding-bottom: 10rem;
}
@media screen and (max-width: 768px) {
  .p-consultant .c-subpage__wrapper {
    padding-bottom: 5rem;
  }
}
.p-consultant .c-step-form {
  width: 40rem;
  max-width: 100%;
  margin-inline: auto;
}

.p-contact .c-subpage__main {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-contact .c-subpage__main .l-inner {
    padding-inline: 0;
  }
}
.p-contact__head {
  text-align: center;
  margin-bottom: 2rem;
}
.p-contact__bubble {
  font-size: 1.8rem;
}
.p-contact__bubble::before, .p-contact__bubble::after {
  content: "";
  display: inline-block;
  width: 1.8rem;
  height: 2px;
  background-color: var(--main-color);
  margin-bottom: 0.5rem;
}
.p-contact__bubble::before {
  transform: rotate(45deg);
}
.p-contact__bubble::after {
  transform: rotate(-45deg);
}
.p-contact__intro {
  text-align: center;
  margin-bottom: 5rem;
}
.p-contact__form {
  padding: 6rem 10rem;
}
@media screen and (max-width: 768px) {
  .p-contact__form {
    padding: 4rem 2rem;
  }
}
.p-contact__form-list {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.p-contact__form-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: max(14px, 1.6rem);
}
@media screen and (max-width: 768px) {
  .p-contact__form-item {
    flex-direction: column;
    font-size: 1.7rem;
  }
}
.p-contact__form-title {
  width: max(210px, 21rem);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-top: max(0.5rem, 5px);
}
@media screen and (max-width: 768px) {
  .p-contact__form-title {
    width: 100%;
  }
}
.p-contact__form-required {
  padding: 0.2rem 1.6rem;
  background-color: #8C4588;
  border-radius: 2rem;
  color: white;
  font-size: max(12px, 1.2rem);
}
.p-contact__form-data {
  flex-grow: 1;
}
.p-contact__form-data input[type=text], .p-contact__form-data input[type=tel], .p-contact__form-data input[type=email], .p-contact__form-data textarea {
  width: 100%;
  padding: 1rem 1.5rem;
  border: solid 1px rgba(17, 17, 17, 0.1);
  border-radius: 0.4rem;
  font-size: max(16px, 1.7rem);
  font-family: var(--zen);
}
.p-contact__form-data input[type=text]::placeholder, .p-contact__form-data input[type=tel]::placeholder, .p-contact__form-data input[type=email]::placeholder, .p-contact__form-data textarea::placeholder {
  color: var(--main-color);
  opacity: 0.5;
}
.p-contact__form-data--address {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .p-contact__form-data--address {
    width: 100%;
  }
}
.p-contact__form-data--address > .in-box {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.p-contact__form-data--address > .in-box input[name=post-number1] {
  width: calc(3em + 3rem);
}
.p-contact__form-data--address > .in-box input[name=post-number2] {
  width: calc(4em + 3rem);
}
.p-contact__form-data--address > .in-box .wpcf7-form-control-wrap[data-name=prefecture] {
  width: 15rem;
}
.p-contact__form-data--address > .in-box .wpcf7-form-control-wrap[data-name=municipality] {
  width: 20rem;
}
.p-contact__form-data--address > .in-box .wpcf7-form-control-wrap[data-name=address] {
  width: 100%;
}
.p-contact__select-wrapper {
  position: relative;
  display: inline-block;
}
.p-contact__select-wrapper::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 1.6rem;
  background-image: url(../images/common/ic-angle.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 1.9rem;
  right: 1.5rem;
  transform: translate(0, -50%) rotate(90deg);
  pointer-events: none;
}
.p-contact__select-wrapper select {
  border-radius: 0.6rem;
  border: solid 1px rgba(17, 17, 17, 0.1);
  background-color: white;
  padding: 1rem 1.5rem;
  padding-right: 4rem;
  appearance: none;
}
@media screen and (max-width: 768px) {
  .p-contact__select-wrapper select {
    padding-left: 1rem;
    padding-right: 3rem;
    font-size: 1.7rem;
  }
}
.p-contact__accept {
  margin-top: 5rem;
  padding-left: 22rem;
}
@media screen and (max-width: 768px) {
  .p-contact__accept {
    padding-left: 0;
  }
}
.p-contact__accept a {
  text-decoration: underline;
  color: var(--main-color);
}
.p-contact__kiyaku {
  margin-top: 1rem;
  padding-left: 22rem;
}
@media screen and (max-width: 768px) {
  .p-contact__kiyaku {
    padding-left: 0;
  }
}
.p-contact__kiyaku a {
  text-decoration: underline;
  color: var(--main-color);
}
.p-contact__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  background-color: var(--main-color);
  border-radius: 3rem;
  width: 28.3rem;
  height: 5.2rem;
  color: white;
  font-size: 1.6rem;
  margin-inline: auto;
  margin-top: 5rem;
}
.p-contact__submit > .in-angle svg {
  width: 0.7rem;
}
.p-contact__submit > .in-angle svg path {
  stroke: white;
}

.p-login .c-subpage__main {
  margin-top: 5rem;
}
.p-login__intro {
  border: solid 5px var(--main-color);
  border-radius: 0.6rem;
  padding: 3rem 2rem 2rem;
}
.p-login__intro .c-heading-center {
  font-size: 2rem;
  margin-bottom: 2rem;
}
.p-login__intro-inner {
  display: flex;
  align-items: flex-end;
  gap: 3rem;
  width: 47rem;
  margin-inline: auto;
  max-width: 100%;
  margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
  .p-login__intro-inner {
    position: relative;
  }
}
.p-login__intro-inner > .in-illust {
  width: 13.6rem;
}
@media screen and (max-width: 768px) {
  .p-login__intro-inner > .in-illust {
    position: absolute;
    right: -4rem;
    bottom: -2rem;
  }
}
.p-login__intro-inner .c-list-check {
  gap: 1rem;
}
.p-login__intro-inner .c-list-check__item {
  font-size: 1.6rem;
}
.p-login__intro-inner .c-list-check__item::before {
  top: -0.1rem;
}
.p-login__intro-footer {
  width: 51rem;
  margin-inline: auto;
  max-width: 100%;
  position: relative;
  padding: 0.9rem 1rem 0.9rem 5rem;
}
.p-login__intro-footer > .in-illust {
  width: 7.4rem;
  position: absolute;
  bottom: -2rem;
  left: -4rem;
  max-height: none;
}
@media screen and (max-width: 768px) {
  .p-login__intro-footer > .in-illust {
    bottom: -2.5rem;
  }
}
.p-login__container {
  margin-top: 7rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .p-login__container {
    grid-template-columns: 1fr;
    margin-top: 5rem;
    gap: 5rem;
  }
}
.p-login__entry {
  border-right: solid 1px #AAAAAA;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  text-align: center;
  padding-block: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-login__entry {
    padding-block: 0;
    border-right: none;
    gap: 2rem;
  }
}
.p-login__entry p {
  margin-bottom: 0;
}
.p-login__entry .c-button-simple-angle {
  width: 41.2rem;
  height: 5.2rem;
}
@media screen and (max-width: 768px) {
  .p-login__entry .c-button-simple-angle {
    width: 100%;
    height: 6rem;
  }
}
.p-login__entry .c-button-simple-angle__text {
  font-family: var(--zen);
}
.p-login__sign-in {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.p-login__form-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 46rem;
  margin-bottom: 5rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .p-login__form-list {
    width: 100%;
    margin-bottom: 2rem;
    gap: 1rem;
  }
}
.p-login__form-item {
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .p-login__form-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    width: 100%;
  }
}
.p-login__form-title {
  width: 7em;
  font-size: 1.8rem;
  flex-shrink: 0;
}
.p-login__form-data {
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .p-login__form-data {
    width: 100%;
  }
}
.p-login__form-data input {
  width: 100%;
  padding: 0.8rem 1.5rem;
  border: solid 1px var(--main-color);
  border-radius: 0.6rem;
  font-size: 1.4rem;
}
.p-login__form-data input::placeholder {
  color: var(--main-color);
  opacity: 0.5;
}
.p-login__form-button-wrap {
  text-align: center;
}
.p-login__form-button-wrap .c-button-simple-angle {
  width: 28.3rem;
  height: 5.2rem;
  margin-bottom: 1rem;
  padding-inline: 0;
}
.p-login__form-button-wrap .c-button-simple-angle__text {
  font-family: var(--zen);
}
.p-login__form-button-wrap > .in-forgot {
  color: var(--main-color);
  font-size: 1.5rem;
}

.p-thanks__text {
  text-align: center;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-thanks__text {
    font-size: 1.5rem;
  }
}
.p-thanks__button-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 4rem;
  width: 70rem;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-thanks__button-list {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.p-thanks__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 10rem;
  border-radius: 1rem;
  border: solid 1px #C3C3C3;
  transition: border-color 0.3s;
}
.p-thanks__button > .in-heading {
  font-size: 1.4rem;
}
.p-thanks__button > .in-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.p-thanks__button > .in-inner > .in-icon {
  width: 2.6rem;
  margin-top: 0.5rem;
}
.p-thanks__button > .in-inner > .in-text {
  font-size: 2rem;
}
@media (hover: hover) {
  .p-thanks__button:hover {
    border-color: var(--main-color);
  }
}
.p-thanks__button-wrap {
  margin-top: 2.4rem;
}
.p-thanks__top-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  font-size: 1.5rem;
  color: var(--main-color);
  transition: opacity 0.3s;
}
.p-thanks__top-link img {
  width: 0.8rem;
  transform: rotate(180deg);
}
@media (hover: hover) {
  .p-thanks__top-link:hover {
    opacity: 0.6;
  }
}

.p-job-apply .c-subpage {
  padding-top: 0;
}
.p-job-apply .c-subpage .l-inner {
  padding-inline: 0;
}
.p-job-apply .c-subpage__wrapper {
  padding-bottom: 15rem;
}
@media screen and (max-width: 768px) {
  .p-job-apply .c-subpage__wrapper {
    padding-bottom: 10rem;
  }
}
.p-job-apply__head {
  margin-bottom: 2rem;
  text-align: center;
  line-height: 2.2;
  margin-top: 8rem;
  width: 60rem;
  max-width: 100%;
  margin-inline: auto;
}
.p-job-apply__entry-name {
  font-size: 2rem;
  font-weight: bold;
  border-bottom: solid 2px var(--main-color);
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-job-apply__entry-name {
    font-size: 1.8rem;
  }
}
.p-job-apply__entry-thanks {
  font-size: 1.6rem;
  font-weight: bold;
}
.p-job-apply__desc {
  text-align: center;
  font-size: 1.5rem;
}
.p-job-apply .c-step-form {
  margin-top: 6rem;
  width: 40rem;
  max-width: 100%;
  margin-inline: auto;
}

.is-quick-apply .p-job-apply__head,
.is-quick-apply .p-job-apply__desc {
  display: none;
}
.is-quick-apply .c-step-form {
  margin-top: 0;
}
.is-quick-apply .c-step-form__step-list {
  display: none;
}

.p-job__hero {
  background: linear-gradient(135deg, #f4f8ff 0%, #ecf3ff 100%);
  border-radius: 2rem;
  padding: 2.8rem 3.2rem;
  margin-bottom: 4rem;
  box-shadow: 0 30px 70px rgba(10, 30, 70, 0.07);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 768px) {
  .p-job__hero {
    padding: 2rem;
  }
}
.p-job__favorite {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1rem 1.6rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 115, 115, 0.4);
  background: #ffecee;
  color: #b7374b;
  font-size: 1.3rem;
  transition: background 0.3s ease;
}
.p-job__favorite svg {
  width: 1.8rem;
  height: 1.8rem;
}
.p-job__favorite svg path {
  fill: currentColor;
}
.p-job__favorite.is-favorite {
  background: #cf4377;
  color: #ffffff;
}
.p-job__favorite .in-icon {
  display: flex;
  align-items: center;
}
.p-job__favorite-count {
  font-size: 1.1rem;
  font-weight: 600;
  opacity: 0.85;
}
.p-job__favorite-count.is-zero {
  opacity: 0.45;
}
.p-job__hero-bar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.6rem;
}
.p-job__hero-meta {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.p-job__hero-number {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #5d6c8d;
}
.p-job__hero-updated {
  font-size: 1.2rem;
  color: #7d8aad;
}
.p-job__title {
  font-size: clamp(2.2rem, 4vw, 3rem);
  line-height: 1.4;
  margin: 0;
  color: #996b00;
}
.p-job__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.p-job__stats {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1.2rem;
}
.p-job__stats--single {
  grid-template-columns: minmax(0, 1fr);
}
.p-job__stats-left {
  display: grid;
  gap: 1.2rem;
}
.p-job__stats-right {
  height: 100%;
}
.p-job__stat {
  background: #fff;
  border-radius: 1rem;
  padding: 1rem 1.4rem;
  border: 1px solid rgba(65, 84, 123, 0.15);
}
.p-job__stat span {
  font-size: 1.2rem;
  color: #8390ac;
  display: block;
  margin-bottom: 0.2rem;
}
.p-job__stat p {
  margin: 0;
  font-size: 1.5rem;
  color: #1d2841;
  font-weight: 600;
  line-height: 1.6;
  word-break: break-word;
}
.p-job__stat--full {
  grid-column: 1/-1;
}
.p-job__stat--salary {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.p-job__stat--salary p {
  white-space: pre-line;
  flex: 1;
}
.p-job__cta-row {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
}
.p-job__cta-row .c-button-simple-angle {
  flex: 1;
  min-width: 20rem;
}
@media screen and (max-width: 640px) {
  .p-job__cta-row .c-button-simple-angle {
    width: 100%;
  }
}
.p-job__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32rem;
  gap: 3rem;
  align-items: start;
}
@media screen and (max-width: 1024px) {
  .p-job__layout {
    grid-template-columns: 1fr;
  }
}
.p-job__section {
  background: #fff;
  border: 1px solid rgba(44, 64, 107, 0.08);
  border-radius: 1.6rem;
  padding: 2.4rem;
  margin-bottom: 2.4rem;
  box-shadow: 0 18px 60px rgba(19, 31, 68, 0.04);
}
@media screen and (max-width: 640px) {
  .p-job__section {
    padding: 1.6rem;
    margin-bottom: 2rem;
  }
}
.p-job__section-title {
  font-size: 1.9rem;
  margin: 0 0 2rem;
  color: #1b2340;
  line-height: 1.4;
  letter-spacing: 0.01em;
  padding: 0 0 1rem;
  border-bottom: 1px solid #527fce;
}
@media screen and (max-width: 640px) {
  .p-job__section-title {
    font-size: 1.7rem;
    margin-bottom: 1.4rem;
    padding-bottom: 0.8rem;
  }
}
.p-job__gallery .swiper {
  border-radius: 1.2rem;
  overflow: hidden;
}
.p-job__gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-job__detail-grid, .p-job__detail-grid--wide {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-top: 2rem;
}
.p-job__detail-grid > div, .p-job__detail-grid--wide > div {
  display: grid;
  grid-template-columns: 12rem 1fr;
  gap: 0.8rem;
  align-items: start;
  padding: 0 0 1.2rem;
  border-bottom: 1px solid rgba(27, 35, 64, 0.08);
}
@media screen and (max-width: 640px) {
  .p-job__detail-grid > div, .p-job__detail-grid--wide > div {
    grid-template-columns: 1fr;
    padding-bottom: 1rem;
    gap: 0.4rem;
  }
}
.p-job__detail-grid dt, .p-job__detail-grid--wide dt {
  font-size: 1.55rem;
  font-weight: 700;
  color: #14213d;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0;
  line-height: 1.5;
}
.p-job__detail-grid dt img, .p-job__detail-grid--wide dt img {
  width: 1.6rem;
}
@media screen and (max-width: 640px) {
  .p-job__detail-grid dt, .p-job__detail-grid--wide dt {
    font-size: 1.45rem;
    gap: 0.5rem;
  }
}
.p-job__detail-grid dd, .p-job__detail-grid--wide dd {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 500;
  color: #222a42;
  line-height: 1.6;
}
@media screen and (max-width: 640px) {
  .p-job__detail-grid dd, .p-job__detail-grid--wide dd {
    font-size: 1.4rem;
    line-height: 1.65;
  }
}
.p-job__richtext {
  font-size: 1.55rem;
  line-height: 1.85;
  color: #2e3750;
}
@media screen and (max-width: 640px) {
  .p-job__richtext {
    font-size: 1.45rem;
    line-height: 1.75;
  }
}
.p-job__richtext .p-job__lead {
  font-weight: 700;
  font-size: 1.65rem;
  line-height: 1.6;
  margin-bottom: 0.6rem;
}
.p-job__richtext p {
  margin: 0 0 1rem;
}
.p-job__richtext .p-job__subheading {
  font-size: 1.7rem;
  font-weight: 700;
  color: #527fce;
  margin: 1.2rem 0 0.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 640px) {
  .p-job__richtext .p-job__subheading {
    font-size: 1.55rem;
    margin-top: 1rem;
  }
}
.p-job__richtext .p-job__pr-group {
  padding: 0 0 2rem;
  margin: 0 0 2rem;
  border-bottom: 1px solid rgba(27, 35, 64, 0.08);
}
.p-job__richtext .p-job__pr-group p {
  line-height: 1.7;
  margin: 0 0 0.2rem;
  font-size: 1.45rem;
}
.p-job__richtext .p-job__pr-group p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .p-job__richtext .p-job__pr-group {
    padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
  }
  .p-job__richtext .p-job__pr-group p {
    font-size: 1.35rem;
    line-height: 1.65;
  }
}
.p-job__richtext .p-job__pr-group:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.p-job__overview-list {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.p-job__overview-item dt {
  font-size: 1.55rem;
  font-weight: 700;
  color: #1b2340;
  margin: 0;
  letter-spacing: 0.01em;
  line-height: 1.6;
}
.p-job__overview-item dd {
  margin: 0;
  font-size: 1.45rem;
  line-height: 1.75;
  color: #2e3750;
}
.p-job__overview-item {
  border-bottom: 1px solid rgba(27, 35, 64, 0.08);
  padding-bottom: 1rem;
  display: grid;
  grid-template-columns: 12rem 1fr;
  gap: 0.8rem;
}
@media screen and (max-width: 640px) {
  .p-job__overview-item {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  .p-job__overview-item dt {
    font-size: 1.45rem;
  }
  .p-job__overview-item dd {
    font-size: 1.35rem;
    line-height: 1.65;
  }
  .p-job__overview-item {
    padding-bottom: 0.8rem;
  }
}
.p-job__page-nav {
  display: flex;
  justify-content: center;
  gap: 1rem;
  align-items: center;
  margin: 2.4rem 0 1.6rem;
}
.p-job__page-nav a {
  color: var(--main-color);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}
.p-job__content-banner {
  margin-top: 1.2rem;
}
.p-job__sidebar {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.p-job__side-card--related .c-related-job-card {
  box-shadow: none;
  border: 1px solid rgba(33, 46, 86, 0.12);
}
.p-job__side-title {
  font-size: 1.6rem;
  margin-bottom: 1.2rem;
  color: #1e2740;
}
.p-job__related-swiper {
  --swiper-pagination-color: var(--main-color);
  --swiper-pagination-bullet-inactive-opacity: 0.3;
}
.p-job__side-card--banner {
  padding: 0;
  overflow: hidden;
}
.p-job__side-card--banner picture, .p-job__side-card--banner img {
  display: block;
  width: 100%;
}
.p-job__stop-container {
  background: #f3f6c8;
  border-radius: 1rem;
  padding: 5.6rem 6rem;
  margin: 6.6rem auto 3rem;
  text-align: center;
  box-shadow: 0 18px 40px rgba(41, 49, 73, 0.06);
  border: 1px solid rgba(154, 162, 93, 0.18);
}
@media screen and (max-width: 768px) {
  .p-job__stop-container {
    padding: 3.2rem 2.2rem;
    margin: 2.4rem auto 4rem;
  }
}
.p-job__stop-title {
  font-size: clamp(2.4rem, 2.6vw, 3.2rem);
  line-height: 1.4;
  margin-bottom: 1.2rem;
  color: #2f344a;
  letter-spacing: 0.02em;
}
.p-job__stop-text {
  margin: 0;
  color: #3e475e;
  font-size: 1.6rem;
  line-height: 1.8;
}
.p-job__stop-cta {
  margin-top: 3.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
.p-job__stop-note {
  margin: 0;
  display: inline-block;
  position: relative;
  padding: 0 3.6rem;
  max-width: 100%;
  text-align: center;
  color: #4d5b80;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
.p-job__stop-note::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.6rem;
  height: 0.2rem;
  background: #6d86c8;
  border-radius: 999px;
  transform: translateY(-50%) rotate(45deg);
}
.p-job__stop-note::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.6rem;
  height: 0.2rem;
  background: #6d86c8;
  border-radius: 999px;
  transform: translateY(-50%) rotate(-45deg);
}
.p-job__stop-note::before {
  left: 0;
}
.p-job__stop-note::after {
  right: 0;
}
.p-job__stop-button {
  width: min(48rem, 100%);
  min-height: 6rem;
  padding-inline: 3rem 2.4rem;
  gap: 1.6rem;
}
.p-job__stop-button .c-button-simple-angle__text {
  white-space: normal;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.4;
}
@media screen and (max-width: 640px) {
  .p-job__stop-title {
    font-size: 2.2rem;
  }
  .p-job__stop-text {
    font-size: 1.4rem;
  }
  .p-job__stop-cta {
    margin-top: 2.4rem;
    gap: 1.4rem;
  }
  .p-job__stop-note {
    font-size: 1.3rem;
    padding: 0 2.6rem;
  }
  .p-job__stop-note::before, .p-job__stop-note::after {
    width: 1.8rem;
  }
  .p-job__stop-button {
    min-height: 5.4rem;
    padding-inline: 2.4rem 2rem;
  }
  .p-job__stop-button .c-button-simple-angle__text {
    font-size: 1.4rem;
  }
}
.p-job__custom-button-wrapper {
  text-align: center;
}
.p-job__custom-button-wrapper--red .c-button-simple-angle {
  --button-simple-angle-color: var(--accent-red);
}
.p-job__custom-button-wrapper--red .c-bubble {
  --button-color: var(--accent-red);
}
.p-job__custom-button-wrapper--blue .c-button-simple-angle {
  --button-simple-angle-color: var(--main-color);
}
.p-job__custom-button-wrapper--blue .c-bubble {
  --button-color: var(--main-color);
}
.p-job__custom-cta-image {
  margin-block: 2.4rem;
}
.p-job__custom-cta-image a,
.p-job__custom-cta-image img {
  display: block;
}
.p-job__custom-cta-image img {
  width: 100%;
  height: auto;
}
.p-job__custom-cta-image-link {
  display: block;
}
.p-job__about-ryoiku {
  padding-top: 5rem;
  width: 100%;
  margin-inline: auto;
  margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
  .p-job__about-ryoiku {
    width: 100%;
    max-width: 100%;
  }
}
.p-job__about-ryoiku-inner {
  display: grid;
  align-content: center;
  grid-template-columns: 35rem 1fr;
  gap: 3rem;
}
@media screen and (max-width: 768px) {
  .p-job__about-ryoiku-inner {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.p-job__about-ryoiku-desc-wrapper p {
  color: #33353C;
  line-height: 1.7;
}
.p-job__about-ryoiku-title {
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.08rem;
  margin-bottom: 1.5rem;
  line-height: 1.8;
}
.p-job__about-ryoiku-title img {
  width: 16rem;
  margin-right: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-job__about-ryoiku-title img {
    width: 12rem;
  }
}

.p-job__advisor {
  position: relative;
  border: 1px solid #4c7adf;
  border-radius: 12px;
  padding: 45px 28px 24px;
  background: #fff;
}
@media screen and (max-width: 640px) {
  .p-job__advisor {
    padding: 34px 16px 18px;
  }
}
.p-job__advisor-label {
  position: absolute;
  top: -14px;
  left: -1px;
  background: #4c7adf;
  color: #fff;
  padding: 10px 16px 8px;
  border-radius: 8px 8px 8px 0;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.3;
}
.p-job__advisor-inner {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .p-job__advisor-inner {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: flex-start;
    gap: 12px;
  }
}
.p-job__advisor-avatar {
  flex: 0 0 auto;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(76, 122, 223, 0.1019607843);
}
@media screen and (max-width: 640px) {
  .p-job__advisor-avatar {
    width: 72px;
    height: 72px;
  }
}
.p-job__advisor-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-job__advisor-body {
  flex: 1 1 auto;
  color: #1a1a1a;
  line-height: 1.8;
}
.p-job__advisor-body p + p {
  margin-top: 12px;
}
.p-job__advisor-body .p-job__advisor-text,
.p-job__advisor-body .p-job__advisor-text_fix {
  margin: 0;
  line-height: 1.8;
  font-size: 1.45rem;
}
@media screen and (max-width: 640px) {
  .p-job__advisor-body .p-job__advisor-text,
  .p-job__advisor-body .p-job__advisor-text_fix {
    font-size: 1.35rem;
    line-height: 1.7;
  }
  .p-job__advisor-body p + p {
    margin-top: 10px;
  }
}
.p-job__advisor-body .p-job__advisor-text:not(:last-of-type) {
  margin-bottom: 1rem;
}

.p-job__map {
  margin-top: 1.2rem;
}

.p-job__map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--main-color, #2a55c2);
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 640px) {
  .p-job__map-link {
    display: flex;
    justify-content: flex-end;
    width: 100%;
  }
}

.p-job__map-frame {
  width: 100%;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(16, 36, 80, 0.08);
  border: 1px solid rgba(16, 36, 80, 0.08);
}
.p-job__map-frame iframe {
  width: 100%;
  height: 260px;
  border: 0;
  display: block;
}

.p-job--revamp {
  background: transparent;
}
.p-job--revamp .p-job__title {
  margin-bottom: 0.6rem;
}
.p-job--revamp .p-job__subline {
  margin: 0;
  font-size: 1.4rem;
  color: #4a5570;
  line-height: 1.7;
}
.p-job--revamp .p-job__summary-card {
  background: #fff;
  border: 1px solid #e6eaf2;
  border-radius: 1.6rem;
  padding: 2.4rem;
  box-shadow: 0 12px 32px rgba(16, 36, 80, 0.06);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__summary-card {
    padding: 0;
    gap: 1.2rem;
    background: transparent;
    border: none;
    box-shadow: none;
    margin-bottom: 2.4rem;
  }
}
.p-job--revamp .p-job__summary-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.2rem;
}
.p-job--revamp .p-job__tag-list {
  gap: 0.8rem;
}
.p-job--revamp .p-job__summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 1.3fr);
  gap: 1.4rem;
  align-items: start;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__summary-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
}
.p-job--revamp .p-job__visual {
  background: #f9fafc;
  border: 1px solid #e6eaf2;
  border-radius: 1.2rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__visual {
    padding: 0.8rem;
  }
}
.p-job--revamp .p-job__visual--single {
  padding: 0;
  border: none;
  background: transparent;
}
.p-job--revamp .p-job__visual-main {
  border-radius: 1rem;
  overflow: hidden;
  background: linear-gradient(135deg, #f1f4f9 0%, #e7ebf4 100%);
}
.p-job--revamp .p-job__visual-main img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__visual-main {
    border-radius: 0.9rem;
  }
}
.p-job--revamp .p-job__summary-right {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  justify-content: space-between;
  min-height: 100%;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__summary-right {
    gap: 1rem;
  }
}
.p-job--revamp .p-job__visual-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.8rem;
}
.p-job--revamp .p-job__thumb {
  background: #eef2f8;
  border: 1px solid #e0e5ee;
  border-radius: 0.8rem;
  overflow: hidden;
}
.p-job--revamp .p-job__thumb img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.p-job--revamp .p-job__summary-panel {
  background: #fff;
  border: 1px solid #e6eaf2;
  border-radius: 1.2rem;
  padding: 1.4rem;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.6);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1 1 auto;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__summary-panel {
    padding: 1.2rem;
    gap: 0.8rem;
  }
}
.p-job--revamp .p-job__summary-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem 0;
  margin: 0;
}
.p-job--revamp .p-job__summary-list div {
  display: grid;
  grid-template-columns: 12rem 1fr;
  align-items: start;
  gap: 0.8rem;
}
.p-job--revamp .p-job__summary-list dt {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.25rem;
  color: var(--main-color, #2a55c2);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
.p-job--revamp .p-job__summary-list dt .in-icon {
  width: 2rem;
  height: auto;
  flex-shrink: 0;
}
.p-job--revamp .p-job__summary-list dd {
  margin: 0;
  font-size: 1.4rem;
  color: #1b2340;
  line-height: 1.6;
  font-weight: 600;
  word-break: break-word;
}
.p-job--revamp .p-job__summary-list .p-job__summary-salary {
  grid-column: 1/-1;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__summary-list {
    row-gap: 0.8rem;
  }
  .p-job--revamp .p-job__summary-list div {
    grid-template-columns: minmax(7.4rem, 32%) 1fr;
    column-gap: 0.8rem;
    align-items: start;
  }
  .p-job--revamp .p-job__summary-list dt {
    font-size: 1.2rem;
  }
  .p-job--revamp .p-job__summary-list dd {
    font-size: 1.35rem;
    line-height: 1.6;
  }
  .p-job--revamp .p-job__summary-list .p-job__summary-salary dd {
    font-size: 1.4rem;
  }
}
.p-job--revamp .p-job__cta-row--stack {
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-job--revamp .p-job__cta-row--stack {
    flex-direction: row;
  }
}
.p-job--revamp .p-job__cta-row--outside {
  margin-top: 1rem;
}
.p-job--revamp .p-job__section {
  border: 1px solid #e6eaf2;
  box-shadow: 0 10px 26px rgba(16, 36, 80, 0.04);
  background: #fff;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__section {
    padding: 1.6rem;
    margin-bottom: 2rem;
  }
}
.p-job--revamp .p-job__section--images {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}
.p-job--revamp .p-job__section--images .p-job__section-title {
  padding: 0;
  margin: 0 0 1rem;
  border-bottom: none;
}
.p-job--revamp .p-job__section--advisor {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}
.p-job--revamp .p-job__section--advisor.p-job__section {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}
.p-job--revamp .p-job__detail-cta {
  border-radius: 1.8rem;
  padding: 2.8rem 3.2rem;
  background: linear-gradient(135deg, #f3f7ff 0%, #eef4ff 100%);
  border: 1px solid rgba(82, 127, 206, 0.18);
  box-shadow: 0 16px 36px rgba(18, 46, 96, 0.08);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__detail-cta {
    padding: 2.2rem 2rem;
    gap: 1.6rem;
  }
}
.p-job--revamp .p-job__detail-cta-title {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #2b3650;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__detail-cta-title {
    font-size: 1.6rem;
  }
}
.p-job--revamp .p-job__detail-cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__detail-cta-actions {
    flex-direction: column;
    gap: 1rem;
  }
}
.p-job--revamp .p-job__detail-cta-button {
  min-width: 24rem;
  min-height: 5.4rem;
  padding-inline: 2.4rem 2rem;
  gap: 1.4rem;
}
.p-job--revamp .p-job__detail-cta-button .c-button-simple-angle__text {
  white-space: nowrap;
  font-size: 1.5rem;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__detail-cta-button {
    width: 100%;
    min-width: 0;
    justify-content: center;
  }
  .p-job--revamp .p-job__detail-cta-button .c-button-simple-angle__text {
    font-size: 1.4rem;
  }
}
.p-job--revamp .p-job__detail-cta-button--outline {
  --button-simple-angle-color: var(--main-color);
  background: #fff;
  color: var(--main-color);
  border-color: rgba(82, 127, 206, 0.6);
}
@media (hover: hover) {
  .p-job--revamp .p-job__detail-cta-button--outline:hover {
    background: var(--main-color);
    color: #fff;
  }
}
.p-job--revamp .p-job__image-grid {
  background: #fff;
  border: 1px solid #e6eaf2;
  border-radius: 1.2rem;
  padding: 1.2rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  box-shadow: 0 8px 20px rgba(16, 36, 80, 0.03);
}
@media screen and (max-width: 1024px) {
  .p-job--revamp .p-job__image-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .p-job--revamp .p-job__image-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__image-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.p-job--revamp .p-job__image-head {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.4rem 0 0.6rem;
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__image-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }
}
.p-job--revamp .p-job__image-head .p-job__section-title {
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  flex-wrap: wrap;
}
.p-job--revamp .p-job__image-note {
  font-size: 1.25rem;
  color: #5c6785;
  line-height: 1.5;
}
.p-job--revamp .p-job__image-cell {
  background: #f3f5fa;
  border: 1px solid #e0e6f0;
  border-radius: 1rem;
  overflow: hidden;
}
.p-job--revamp .p-job__image-cell .p-job__image-link {
  display: block;
  width: 100%;
  height: 100%;
}
.p-job--revamp .p-job__image-cell img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
}
.p-job--revamp .p-job__image-placeholder {
  grid-column: 1/-1;
  border: 1px dashed #cfd6e3;
  border-radius: 1rem;
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: #5a698c;
  font-size: 1.5rem;
  background: #f8f9fc;
}
.p-job--revamp .p-job__image-placeholder img {
  width: 5rem;
  height: 5rem;
  object-fit: contain;
}
.p-job--revamp .p-job__detail-grid--wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__detail-grid--wide {
    grid-template-columns: 1fr;
  }
}
.p-job--revamp .p-job__related-section {
  padding: 0;
  border: none;
  box-shadow: none;
}
.p-job--revamp .p-job__layout {
  display: flex;
  gap: 2.4rem;
  align-items: flex-start;
}
@media screen and (max-width: 1024px) {
  .p-job--revamp .p-job__layout {
    flex-direction: column;
  }
}
.p-job--revamp .p-job__content {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  flex: 1 1 auto;
  min-width: 0;
}
.p-job--revamp .p-job__sidebar {
  position: static;
  top: auto;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  flex: 0 0 30rem;
  width: 30rem;
  max-width: 30rem;
  margin-left: 0;
}
@media screen and (max-width: 1024px) {
  .p-job--revamp .p-job__sidebar {
    position: static;
    flex: none;
    width: 100%;
    max-width: 100%;
  }
}
.c-subpage--job-revamp {
  background: transparent;
  padding-top: 6rem;
}
.c-subpage--job-revamp .c-subpage__wrapper {
  padding-top: 2.7rem;
}
@media screen and (max-width: 640px) {
  .c-subpage--job-revamp {
    padding-top: 5.5rem;
  }
  .c-subpage--job-revamp .c-subpage__wrapper {
    padding-inline: 1.2rem;
    padding-top: 0;
  }
  .c-subpage--job-revamp .l-inner--xl {
    padding-inline: 0;
  }
}

@media screen and (max-width: 640px) {
  .p-job--revamp .p-job__summary-card {
    display: flex;
    flex-direction: column;
  }
  .p-job--revamp .p-job__summary-top {
    order: 0;
  }
  .p-job--revamp .p-job__summary-grid {
    display: contents;
  }
  .p-job--revamp .p-job__summary-right {
    display: contents;
  }
  .p-job--revamp .p-job__visual {
    order: 1;
  }
  .p-job--revamp .p-job__title {
    order: 2;
  }
  .p-job--revamp .p-job__subline {
    order: 3;
  }
  .p-job--revamp .p-job__tag-list {
    order: 4;
  }
  .p-job--revamp .p-job__summary-panel {
    order: 5;
  }
  .p-job--revamp .p-job__cta-row {
    order: 6;
  }
  .p-job--revamp .p-job__hero-meta {
    gap: 0.2rem;
  }
  .p-job--revamp .p-job__hero-number {
    font-size: 1.25rem;
  }
  .p-job--revamp .p-job__hero-updated {
    font-size: 1.15rem;
  }
  .p-job--revamp .p-job__favorite {
    font-size: 1.2rem;
    padding: 0.5rem 1.3rem;
    white-space: nowrap;
  }
  .p-job--revamp .p-job__title {
    font-size: 2rem;
    line-height: 1.45;
  }
  .p-job--revamp .p-job__subline {
    font-size: 1.3rem;
    line-height: 1.7;
    color: #3f4861;
  }
  .p-job--revamp .p-job__tag-list {
    gap: 0.6rem;
  }
  .p-job--revamp .c-tag-item {
    font-size: 1.2rem;
    padding: 0.45rem 0.85rem;
  }
  .p-job--revamp .p-job__cta-row .c-button-simple-angle {
    width: 100%;
    font-size: 1.35rem;
    padding: 1.05rem 1.2rem;
  }
}
.p-job__floating-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 120;
  transform: translateY(100%);
  transition: transform 0.24s ease-out;
  pointer-events: none;
  display: none;
}
@media screen and (max-width: 768px) {
  .p-job__floating-cta {
    display: block;
  }
}
.p-job__floating-cta.is-visible {
  transform: translateY(0);
}
.p-job__floating-cta-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  pointer-events: auto;
}
.p-job__floating-cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.1rem 0.8rem;
  font-weight: 700;
  font-size: 1.35rem;
  color: #fff;
  text-decoration: none;
  line-height: 1.2;
}
.p-job__floating-cta-link:first-child {
  background: #fb685e;
}
.p-job__floating-cta-link:last-child {
  background: #4c7ac7;
}

.glightbox-container .gslide-media {
  max-width: min(90vw, 1200px);
  min-width: clamp(640px, 90vw, 1200px);
  max-height: calc(100vh - 140px);
  background: #0b0f19;
  display: flex;
  align-items: center;
  justify-content: center;
}
.glightbox-container .gslide-image img {
  max-width: 100%;
  height: auto;
  max-height: calc(100vh - 180px);
  object-fit: contain;
  background: #0b0f19;
  margin: 0 auto;
}

.lightboxOverlay {
  background: rgba(0, 0, 0, 0.88);
}

.lb-outerContainer {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: min(800px, 90vw) !important;
  max-width: 800px !important;
  max-height: calc(100vh - 140px) !important;
}

.lb-container {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: calc(100vh - 140px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.lb-image {
  max-width: 100% !important;
  min-width: 0 !important;
  max-height: calc(100vh - 160px) !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
  background: transparent;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block;
}

.lb-nav {
  top: 0;
  height: 100%;
}

.lb-nav a {
  opacity: 1 !important;
  width: 54px;
}

.lb-nav a.lb-prev {
  left: 0;
}

.lb-nav a.lb-next {
  right: 0;
}

@media screen and (max-width: 768px) {
  .lightbox {
    position: fixed !important;
    top: 0 !important;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom) 0;
    box-sizing: border-box;
  }
  .lb-outerContainer {
    width: 80vw !important;
    max-width: 80vw !important;
    max-height: calc(100vh - 120px) !important;
    padding: 0 !important;
  }
  .lb-container {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 120px) !important;
    padding: 0 !important;
  }
  .lb-image {
    min-width: 0 !important;
    max-width: 100% !important;
    max-height: calc(100vh - 160px) !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
  }
  .lb-nav a {
    width: 44px;
  }
}
@media (max-width: 991.98px) and (orientation: landscape) and (max-height: 500px) {
  html {
    font-size: min(2.5vw, 10px);
  }
  .c-header__inner {
    height: auto;
    min-height: 5rem;
  }
  .c-header__label-link-wrap {
    gap: 0;
  }
  .c-header__contact-item {
    display: none !important;
  }
  .c-header__consultant-item {
    flex-direction: row;
    width: auto;
    height: 3rem;
    padding-inline: 0.8rem;
    white-space: nowrap;
  }
  .c-header__consultant-item br {
    display: none !important;
  }
  .c-header__consultant-item > .in-small {
    margin-left: 0.3rem;
  }
  .c-float-contact {
    padding: 8px 12px;
  }
  .c-float-contact__btn {
    height: 44px;
    min-height: 44px;
    padding-inline: 12px;
    font-size: 14px;
  }
  .c-float-contact__icon {
    width: 36px;
  }
  .c-float-contact__icon svg {
    width: 24px;
  }
  .c-float-contact__text {
    font-size: 14px;
  }
  .c-hamburger-menu__outer-inner {
    --drawer-panel-padding-top: calc(5rem + 1.2rem);
    --drawer-menu-item-padding-y: 12px;
  }
  .p-top__mv {
    padding-top: 3rem;
  }
  .p-top__mv-inner {
    flex-direction: column;
    padding-inline: 0;
    gap: 2rem;
  }
  .p-top__mv-heading-wrapper {
    margin-bottom: 2rem;
  }
  .p-top__mv-heading-wrapper > .in-logo {
    width: 21.6rem;
  }
  .p-top__mv-sub-heading {
    font-size: 15px;
    gap: 0.4rem;
  }
  .p-top__mv-sub-heading > .in-label {
    font-size: 14px;
    padding: 0.2rem 0.5rem;
  }
  .p-top__mv-sub-heading .in-large {
    font-size: 25px;
  }
  .p-top__mv-sub-heading > .in-bottom {
    width: 100%;
    text-align: center;
  }
  .p-top__mv-statement-wrapper {
    flex-direction: column;
    flex-wrap: wrap;
    gap: 2rem;
  }
  .p-top__mv-statement {
    font-size: 14px;
    text-align: center;
  }
  .p-top__mv-statement > .in-num {
    font-size: 30px;
  }
  .p-top__mv-feature-wrapper {
    width: 36rem;
  }
  .p-top__mv-feature-annotation {
    font-size: 8px;
  }
  .p-top__mv-bubble-wrapper {
    display: none;
  }
  .p-top__mv-form-wrapper {
    margin-inline: auto;
    padding: 4rem 2.2rem 2.9rem;
    margin-top: 3rem;
  }
  .p-top__mv-form-heading-wrapper {
    justify-content: center;
  }
  .p-top__mv-form-heading {
    font-size: 18px;
    text-align: center;
  }
  .p-top__mv-form-detail-search-button {
    margin-inline: auto;
    justify-content: center;
    margin-top: 1.5rem;
    margin-bottom: 3rem;
    gap: 0.5rem;
  }
  .p-top__mv-form-detail-search-button > .in-angle img {
    width: 0.8rem;
  }
  .p-top__mv-location-type-wrapper > .in-cross {
    margin-inline: auto;
  }
  .p-top__mv-select-wrapper {
    width: calc(50% - 2rem);
    font-size: 1.6rem;
  }
  .p-top__mv-simple-form-submit > .in-text {
    font-size: 1.4rem;
  }
  .p-top__mv-word-search {
    grid-template-columns: 1fr 6.3rem;
  }
  .p-top__mv-keywords-list {
    padding-bottom: 2.6rem;
    margin-bottom: 2.8rem;
  }
  .p-top__mv-keyword a {
    padding: 0.5rem 0.8rem;
  }
  .p-top__mv-contact-list {
    gap: 1rem;
  }
  .p-top__mv-history-button,
  .p-top__mv-favorite-button {
    width: 15.4rem;
  }
  .p-top__mv-consultant-button {
    width: 100%;
    height: auto;
    min-height: 6rem;
    padding: 0.8rem 1rem;
  }
  .p-top__mv-consultant-button > .in-top, .p-top__mv-consultant-button > .in-bottom {
    white-space: normal;
    text-align: center;
    line-height: 1.4;
  }
  .p-top__mv-consultant-button > .in-top {
    font-size: 14px;
  }
  .p-top__mv-consultant-button > .in-bottom {
    font-size: 12px;
  }
  .p-top__mv-shien {
    bottom: auto;
    left: 50%;
    right: auto;
    transform: translate(-50%, 0);
    top: -3.5rem;
    width: 7.5rem;
  }
  .p-top__mv .pc {
    display: none !important;
  }
  .p-top__mv .p-top__mv-form-detail-search-button.sp {
    display: flex !important;
  }
  .p-top__mv .p-top__mv-word-search.sp {
    display: grid !important;
  }
}
