@import url("https://fonts.googleapis.com/css2?family=Monomaniac+One&family=Noto+Sans+JP:wght@100..900&display=swap");
:root {
  --black: #333;
  --white: #fff;
  --blue: #004098;
  --yellow: #fff000;
  --green: #6db24a;
  --purple: #7489c4;
  --easing: cubic-bezier(0.25, 0.78, 0.33, 1);
}

*,
*::before,
*::after {
  box-sizing: border-box;
  min-inline-size: 0;
}

html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

article,
header,
footer,
main,
aside,
figure,
figcaption,
nav,
section {
  display: block;
}

html {
  scrollbar-gutter: stable;
}
@media screen and (max-width: 1460px) {
  html {
    font-size: 1.1111111111vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 3.7470725995vw;
  }
}

body {
  color: var(--black);
  margin: 0;
  padding: 0;
  line-height: 1;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  text-size-adjust: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
body.is-open {
  position: fixed;
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin: 0;
}

strong {
  font-weight: bold;
}

hr {
  border: solid 1px #E6E6E6;
  margin: 1.875rem 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border: 0;
  outline: 0;
  transition: all 300ms var(--easing);
}

figure,
picture {
  padding: 0;
  margin: 0;
  display: block;
}

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

ul {
  list-style-type: "";
}

input,
textarea,
button {
  margin: 0;
  padding: 0;
  border-radius: 0;
  outline: 0;
  background: none;
}

button {
  border: 0;
  color: var(--black);
}

table {
  border-collapse: collapse;
}

main {
  overflow: hidden;
}

a {
  color: var(--black);
  text-decoration: none;
  transition: all 400ms var(--easing);
}
a img {
  backface-visibility: hidden;
  overflow: hidden;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.7;
  }
}
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
}
body,
input,
select,
textarea,
button {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.monomaniac-one {
  font-family: "Monomaniac One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* animation-name: fadein;
animation-delay: 200ms;
animation-duration: 400ms;
animation-timing-function: ease;
animation-fill-mode: both; */
.p-mv {
  position: relative;
  overflow: hidden;
  max-width: 120rem;
  margin: 0 auto;
}
.p-mv__stickers {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
}
.p-mv__stickers svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}
.p-mv__people {
  position: relative;
  opacity: 0;
  pointer-events: none;
}
.p-mv__people::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  height: auto;
  aspect-ratio: 1920/467;
  background: url(../img/home/bg_mv.png) 0 0/100% auto no-repeat;
  z-index: 0;
  transform: translateX(-50%);
}
.p-mv__people::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  backdrop-filter: blur(8px);
}
.p-mv.is-people .p-mv__people {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.p-mv.is-people .p-mv__people::after {
  animation: blur 1s ease-in-out forwards;
}
@keyframes blur {
  0% {
    backdrop-filter: blur(8px);
  }
  100% {
    backdrop-filter: none;
  }
}
.p-mv__obi {
  position: absolute;
  top: 0;
  left: 0;
}
.p-mv__img {
  width: 119.6875rem;
}
@media screen and (max-width: 767px) {
  .p-mv__img {
    width: 100%;
  }
}
.p-mv .st-bg {
  filter: drop-shadow(5px 8px 5px rgba(0, 0, 0, 0.3));
}
.p-mv [id^=sticker-] {
  opacity: 0;
}
.p-mv [id^=sticker-].is-on {
  opacity: 1;
  transition: opacity 0.18s ease;
}
.p-mv [id^=sticker-].is-soft {
  filter: blur(2px);
  opacity: 0.6;
  transition: filter 0.6s ease, opacity 0.6s ease;
}
.p-mv [id^=sticker-] {
  transform-box: fill-box;
  transform-origin: center;
}
@media (prefers-reduced-motion: reduce) {
  .p-mv [id^=sticker-] {
    opacity: 0 !important;
  }
  .p-mv__people {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
.p-mv-content {
  position: relative;
  margin-top: -15rem;
}
@media screen and (max-width: 767px) {
  .p-mv-content {
    margin-top: -2.6875rem;
  }
}
.p-mv-content__inner {
  max-width: 70rem;
  margin: 0 auto;
  padding: 9.375rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-mv-content__inner {
    padding: 0 1.125rem;
  }
}
.p-mv-content__txt {
  position: relative;
  font-size: 2rem;
  line-height: 2;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-mv-content__txt {
    font-size: 0.875rem;
  }
}
.p-mv-content__catch {
  display: inline-block;
  width: 19.75rem;
  letter-spacing: 0.15em;
  font-weight: 700;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-mv-content__catch {
    width: 7.5rem;
    font-size: 1rem;
    margin-top: 0.625rem;
  }
}

.p-about {
  background: url(../img/home/bg_about.png) center 0/120rem auto no-repeat;
  margin-top: 6.25rem;
  padding: 0 0 28.75rem;
}
@media screen and (max-width: 767px) {
  .p-about {
    background: url(../img/home/bg_about_sp.png) center 0/100% auto no-repeat;
    margin-top: 3.125rem;
    padding: 0 0 8.75rem;
  }
}
.p-about__wrap {
  position: relative;
  max-width: 114.375rem;
  margin: 0 auto;
  position: relative;
  padding: 7.5rem 5rem 0;
}
@media screen and (max-width: 767px) {
  .p-about__wrap {
    padding: 5.625rem 1.25rem 0;
  }
}
.p-about__en {
  position: absolute;
  top: 2rem;
  right: 3.75rem;
}
@media screen and (max-width: 1920px) {
  .p-about__en {
    top: 2.5rem;
    width: 37.5rem;
  }
}
@media screen and (max-width: 1460px) {
  .p-about__en {
    top: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about__en {
    top: 1.5625rem;
    right: 1.25rem;
    width: 13.5rem;
  }
}
.p-about-content {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  max-width: 75rem;
  margin: 7.1875rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-about-content {
    flex-flow: column;
    gap: 2.25rem 0;
    margin: 2.25rem 0 0;
    padding: 0 2.25rem;
  }
}
.p-about-content__item {
  width: 33.8125rem;
}
@media screen and (max-width: 767px) {
  .p-about-content__item {
    width: 100%;
  }
}
.p-about-content__item:first-child {
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-about-content__item:first-child {
    margin-top: 0;
  }
}
.p-about-content__ttl {
  position: relative;
  display: inline-block;
  font-size: 2.25rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 1.125rem;
  padding: 0 5.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-about-content__ttl {
    font-size: 1.25rem;
    padding: 0 3.125rem 0 0;
  }
}
.p-about-content__ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 3.375rem;
  height: 2.8125rem;
  background: url(../img/common/icn_arrow.svg) 0 0/100% auto no-repeat;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-about-content__ttl::after {
    width: 1.875rem;
    height: 1.5625rem;
  }
}

.p-interview {
  background: url(../img/home/bg_interview.png) center 0/121rem auto no-repeat;
  margin-top: -25rem;
  padding: 0 0 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-interview {
    background: url(../img/home/bg_interview_sp.png) center 0/100% auto no-repeat;
    margin-top: -5.625rem;
    padding: 0 0 3.75rem;
  }
}
.p-interview__wrap {
  position: relative;
  max-width: 114.375rem;
  margin: 0 auto;
  position: relative;
  text-align: right;
  padding: 7.375rem 5rem 0;
}
@media screen and (max-width: 767px) {
  .p-interview__wrap {
    padding: 6.25rem 3.125rem 0;
  }
}
.p-interview__wrap .c-heading {
  display: inline-block;
  text-align: left;
}
.p-interview__en {
  position: absolute;
  top: 13.75rem;
  left: 3.75rem;
  width: 30rem;
}
@media screen and (max-width: 1920px) {
  .p-interview__en {
    top: 11.25rem;
  }
}
@media screen and (max-width: 1460px) {
  .p-interview__en {
    top: 9.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-interview__en {
    top: 2.625rem;
    left: 1.625rem;
    width: 10.3125rem;
  }
}
.p-interview-list {
  display: flex;
  justify-content: center;
  align-items: start;
  gap: 0 3.75rem;
  margin-top: 12.5rem;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-interview-list {
    flex-flow: column;
    align-items: center;
    gap: 2.8125rem 0;
    margin-top: 3.125rem;
  }
}
.p-interview-list__item {
  position: relative;
  width: 23.75rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-interview-list__item {
    width: 16rem;
  }
}
.p-interview-list__post {
  position: absolute;
  bottom: 4.625rem;
  left: 1rem;
  display: inline-block;
  font-size: 2.75rem;
  background: #008fd9;
  line-height: 1;
  font-weight: 700;
  padding: 0.375rem 0.9375rem 0.9375rem;
  transform: rotate(-5deg);
}
@media screen and (max-width: 767px) {
  .p-interview-list__post {
    font-size: 1.875rem;
    bottom: 3.25rem;
    padding: 0.1875rem 0.625rem 0.5rem;
  }
}
.p-interview-list__post.-gr {
  background: #6db24a;
}
.p-interview-list__post.-pk {
  background: #ec7291;
}
.p-interview-list__name {
  text-align: center;
  font-weight: 700;
  font-size: 3rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-interview-list__name {
    font-size: 1.9375rem;
    margin-top: 0.625rem;
  }
}

.p-talk {
  background: url(../img/home/bg_talk.png) center 0/120rem auto no-repeat;
  margin-top: 0rem;
  padding: 0 0 32.5rem;
}
@media screen and (max-width: 767px) {
  .p-talk {
    background: url(../img/home/bg_talk_sp.png) center 0/100% auto no-repeat;
    padding: 0 0 10rem;
  }
}
.p-talk__wrap {
  position: relative;
  max-width: 114.375rem;
  margin: 0 auto;
  position: relative;
  padding: 7.5rem 5rem 0;
}
@media screen and (max-width: 767px) {
  .p-talk__wrap {
    padding: 6.25rem 3rem 0;
  }
}
.p-talk__en {
  position: absolute;
  top: 2rem;
  right: 3.75rem;
}
@media screen and (max-width: 1920px) {
  .p-talk__en {
    top: 2.5rem;
    width: 37.5rem;
  }
}
@media screen and (max-width: 1460px) {
  .p-talk__en {
    top: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-talk__en {
    top: 0.9375rem;
    right: 1.25rem;
    width: 12.3125rem;
  }
}
.p-talk-content {
  display: flex;
  justify-content: space-between;
  align-items: start;
  max-width: 90rem;
  margin: 6.25rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-talk-content {
    gap: 4.5rem 0;
    flex-flow: column;
    margin: 2.5rem 0 0;
    padding: 0 3rem;
  }
}
.p-talk-content__item {
  position: relative;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-talk-content__item {
    width: 100%;
  }
}
.p-talk-content__ttl {
  position: absolute;
  top: calc(100% - 0.75rem);
  left: 2rem;
  background: var(--black);
  color: var(--white);
  font-weight: 700;
  font-size: 2rem;
  padding: 0.25rem 0.625rem 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-talk-content__ttl {
    top: calc(100% - 0.3125rem);
    left: 0;
    font-size: 0.875rem;
    padding: 0.25rem 0.3125rem 0.25rem;
  }
}

.p-benefits {
  background: url(../img/home/bg_benefits.png) center 0/121rem auto no-repeat;
  margin-top: -25rem;
  padding: 0 0 8.75rem;
}
@media screen and (max-width: 767px) {
  .p-benefits {
    background: url(../img/home/bg_benefits_sp.png) center 0/100% auto no-repeat;
    margin-top: -5.625rem;
    padding: 0 0 5rem;
  }
}
.p-benefits__wrap {
  position: relative;
  max-width: 100rem;
  margin: 0 auto;
  position: relative;
  text-align: right;
  padding: 7.375rem 5rem 0;
}
@media screen and (max-width: 767px) {
  .p-benefits__wrap {
    padding: 2.5rem 3.125rem 0;
  }
}
.p-benefits__wrap .c-heading {
  display: inline-block;
  text-align: left;
}
.p-benefits-content {
  max-width: 90rem;
  margin: 5rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-benefits-content {
    margin: 2.5rem 0 0;
  }
}
.p-benefits-content a {
  display: flex;
  justify-content: end;
  align-items: center;
  flex-flow: row-reverse;
  gap: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-benefits-content a {
    flex-flow: column;
  }
}
.p-benefits-content__ttl {
  position: relative;
  writing-mode: vertical-rl;
  font-size: 2.25rem;
  font-weight: 700;
  padding: 0 5rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-benefits-content__ttl {
    display: inline-block;
    writing-mode: horizontal-tb;
    font-size: 1.0625rem;
    padding: 0 0 0 1.875rem;
  }
}
.p-benefits-content__ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 3.375rem;
  height: 2.8125rem;
  background: url(../img/common/icn_arrow.svg) 0 0/100% auto no-repeat;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-benefits-content__ttl::after {
    right: auto;
    left: 0;
    width: 1.625rem;
    height: 1.375rem;
  }
}
.p-benefits-content__img {
  width: 74.5rem;
}
@media screen and (max-width: 767px) {
  .p-benefits-content__img {
    width: 100%;
    margin: 0 0 1.125rem;
  }
}

.p-recruit {
  background: url(../img/home/bg_recruit.png) center 0/120rem auto no-repeat;
  padding: 0 0 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit {
    background: url(../img/home/bg_recruit_sp.png) center 0/100% auto no-repeat;
    padding: 0 0 3.125rem;
  }
}
.p-recruit__wrap {
  position: relative;
  max-width: 114.375rem;
  margin: 0 auto;
  position: relative;
  padding: 14.375rem 5rem 0;
}
@media screen and (max-width: 767px) {
  .p-recruit__wrap {
    padding: 3.75rem 3.125rem 0;
  }
}
.p-recruit__en {
  position: absolute;
  top: -5rem;
  right: 3.75rem;
}
@media screen and (max-width: 1920px) {
  .p-recruit__en {
    top: -5rem;
    width: 37.5rem;
  }
}
@media screen and (max-width: 1460px) {
  .p-recruit__en {
    top: -3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit__en {
    top: -1.875rem;
    right: 1.25rem;
    width: 12.875rem;
  }
}
.p-recruit__ttl .ja {
  display: block;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  margin: 1.25rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-recruit__ttl .ja {
    font-size: 1.25rem;
    margin: 0.875rem 0 0;
  }
}
.p-recruit__ttl .en {
  display: block;
  width: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-recruit__ttl .en {
    width: 5rem;
  }
}
.p-recruit-content {
  display: flex;
  justify-content: end;
  align-items: center;
  flex-flow: row-reverse;
  gap: 0 4rem;
  max-width: 58.75rem;
  margin: -6.25rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-content {
    flex-flow: column;
    width: 13.75rem;
    margin: 1.875rem auto 0;
  }
}
.p-recruit-content__ttl {
  display: inline-block;
  font-size: 2.25rem;
  line-height: 1.4;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-recruit-content__ttl {
    font-size: 1.0625rem;
    margin-top: 1.5rem;
  }
}
.p-recruit-content__ttl a {
  position: relative;
  display: block;
  padding: 0 5rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-recruit-content__ttl a {
    padding: 0 0 0 2.5rem;
  }
}
.p-recruit-content__ttl a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 3.375rem;
  height: 2.8125rem;
  background: url(../img/common/icn_arrow.svg) 0 0/100% auto no-repeat;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-recruit-content__ttl a::after {
    top: 0.125rem;
    right: auto;
    left: 0;
    width: 1.5625rem;
    height: 1.375rem;
    transform: none;
  }
}
.p-recruit-content-list {
  display: flex;
  justify-content: end;
  align-items: start;
  gap: 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-content-list {
    gap: 0;
    justify-content: space-between;
  }
}
.p-recruit-content-list__item {
  width: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-recruit-content-list__item {
    width: 31%;
  }
}