@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Paytone+One&display=swap");
/* アニメーション */
/* 動きを控えたいユーザーへの配慮 */
@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* デフォルト値 */
.anim {
  --x: 0;
  --y: 0;
  --scale: 1;
  --blur: 0px;
  --dur: 0.8s;
  --delay: 0.4ms;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --dist: 24px; /* 距離のデフォルト */
  transform: translate(var(--x), var(--y)) scale(var(--scale));
  filter: blur(var(--blur));
  will-change: opacity, transform, filter;
}

/* 表示時：まずはメインのrevealアニメを1本 */
.anim.is-inview {
  animation: revealIn var(--dur) var(--ease) var(--delay) both;
}

/* 方向・効果（初期状態を変えるだけ） */
.anim[data-anim*=fade-up] {
  --y: var(--dist);
}

.anim[data-anim*=fade-down] {
  --y: calc(var(--dist) * -1);
}

.anim[data-anim*=fade-left] {
  --x: var(--dist);
}

.anim[data-anim*=fade-right] {
  --x: calc(var(--dist) * -1);
}

.anim[data-anim*=zoom-in] {
  --scale: 0.96;
}

.anim[data-anim*=blur-up] {
  --blur: 8px;
}

/* バウンスを“追加”したいとき（2本目のアニメを重ねる） */
.anim.is-inview[data-anim*=bounce] {
  animation: revealIn var(--dur) var(--ease) var(--delay) both, bounceBack calc(var(--dur) * 0.9) cubic-bezier(0.22, 1, 0.36, 1) calc(var(--delay) + var(--dur) * 0.8) both;
}

/* バウンス大を適用する条件 */
.anim.is-inview[data-anim*=bounce-big] {
  animation: revealIn var(--dur) var(--ease) var(--delay) both, bounceBig calc(var(--dur) * 1.4) cubic-bezier(0.22, 1, 0.36, 1) calc(var(--delay) + var(--dur) * 0.6) both;
}

/* 下からせり上がる（移動＆ちょい弾力） */
.anim.is-inview[data-anim*=pop-up] {
  animation: popUp var(--dur, 0.8s) var(--ease, cubic-bezier(0.22, 1, 0.36, 1)) var(--delay, 0ms) both;
}

/* 親でクリップして中身だけ持ち上げる */
.anim[data-anim*=text-rise] {
  overflow: hidden; /* 下側でクリップ */
  vertical-align: bottom; /* ベースライン付近で自然に */
}

.anim[data-anim*=text-rise] > .anim__inner {
  display: inline-block;
  margin-inline: auto;
  transform: translate(1em);
  opacity: 0;
  will-change: transform, opacity;
}

.anim.is-inview[data-anim*=text-rise] > .anim__inner {
  animation: textRise 0.7s ease-out 0.4s both;
}

/* キーフレーム */
@keyframes revealIn {
  0% {
    opacity: inherit; /* ← ここで親の値を尊重 */
    transform: translate(var(--x), var(--y)) scale(var(--scale));
    filter: blur(var(--blur));
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1);
    filter: blur(0);
  }
}
@keyframes bounceBack {
  0% {
    transform: translate(0, 0) scale(1);
  }
  55% {
    transform: translate(0, -4px) scale(1.03);
  }
  80% {
    transform: translate(0, 2px) scale(0.985);
  }
  100% {
    transform: translate(0, 0) scale(1);
  }
}
@keyframes bounceBig {
  0% {
    transform: translate(0, 0) scale(1);
  }
  40% {
    transform: translate(0, -30px) scale(1.15);
  } /* ←高さ＆スケール大きく */
  70% {
    transform: translate(0, 10px) scale(0.95);
  }
  85% {
    transform: translate(0, -10px) scale(1.05);
  }
  100% {
    transform: translate(0, 0) scale(1);
  }
}
@keyframes popUp {
  0% {
    opacity: 0;
    transform: translateY(var(--dist, 40px)) scale(0.98);
  }
  60% {
    opacity: 1;
    transform: translateY(0) scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes textRise {
  0% {
    transform: translateY(1em);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* 動きを控えたいユーザー配慮 */
@media (prefers-reduced-motion: reduce) {
  .anim {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }
}
/* バウンスのキーフレーム */
@keyframes hoverBounce {
  0%, 80%, 100% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.08);
  }
  60% {
    transform: scale(0.96);
  }
}
html {
  position: relative;
}
html::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: inherit;
  background-size: inherit;
  background-position: inherit;
  filter: blur(40px); /* ブラー効果 */
  z-index: -1;
}

body,
a {
  color: #43453d;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 18px;
  position: relative;
}
@media screen and (max-width: 599px) {
  body,
  a {
    font-size: 16px;
  }
}

body {
  max-width: 1920px;
  margin-inline: auto !important;
  background-color: #fff;
}
body.open {
  height: 100vh;
  overflow: hidden;
}

main {
  background-color: #fff;
}

header {
  max-width: 1920px;
  margin-inline: auto;
}

a {
  transition: 0.3s;
}
a:hover {
  transition: 0.3s;
  opacity: 0.7;
}

p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%;
  color: #43453d;
}

li {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%;
  color: #43453d;
}

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

.sp-br {
  display: none;
}
@media screen and (max-width: 599px) {
  .sp-br {
    display: block;
  }
}

.tb-br {
  display: none;
}
@media screen and (max-width: 991px) {
  .tb-br {
    display: block;
  }
}

.fixed-container {
  max-width: 1400px;
  width: 100%;
  margin-inline: auto;
  padding-inline: 4%;
}
@media screen and (max-width: 1520px) {
  .fixed-container {
    max-width: 1136px;
  }
}

.parent-text {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.common-title {
  text-align: center;
  color: #b04974;
  font-size: 54px;
  font-weight: 700;
  line-height: 100%;
}
.common-title--white {
  color: #fff;
}

.common-subtitle {
  color: #b04974;
  text-align: center;
  font-weight: 500;
  letter-spacing: 3.84px;
}
.common-subtitle--white {
  color: #fff;
}
@media screen and (min-width: 1520px) {
  .common-subtitle {
    font-size: 18px;
    letter-spacing: 4.32px;
  }
}

.h2-title {
  color: #b04974;
  font-size: 40px;
  letter-spacing: 9.6px;
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
  font-weight: 700;
  margin-top: -12px;
}
.h2-title::before {
  content: "";
  display: inline-block;
  width: 9.6px; /* letter-spacingと同値 */
}
@media screen and (max-width: 599px) {
  .h2-title {
    font-size: 32px;
    letter-spacing: 7.68;
    margin-top: -10px;
  }
  .h2-title::before {
    width: 7.68px; /* letter-spacingと同値 */
  }
}

.h3-title {
  color: #fff;
  font-size: 24px;
  letter-spacing: 5.76px;
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
  font-weight: 500;
  margin-top: -4px;
}
.h3-title::before {
  content: "";
  display: inline-block;
  width: 5.76px; /* letter-spacingと同値 */
}
@media screen and (min-width: 1520px) {
  .h3-title {
    font-size: 28px;
    letter-spacing: 6.72px;
  }
  .h3-title::before {
    width: 6.72px; /* letter-spacingと同値 */
  }
}

.common-btn {
  background-color: #b04974;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-radius: 100px;
  margin-inline: auto;
  transition: all 0.3s;
}
.common-btn:hover {
  background-color: #c25d8b;
}
.common-btn p {
  color: #fff;
  font-weight: 500;
}
.common-btn--white {
  background-color: #fff;
}
.common-btn--white:hover {
  background-color: #fdf8f9;
}
.common-btn--white:hover p {
  color: #b04974;
}
.common-btn--white p {
  color: #43453d;
}
.common-btn--m {
  width: 360px;
  height: 102px;
}
@media screen and (max-width: 599px) {
  .common-btn--m {
    width: 320px;
  }
}
.common-btn--m p {
  font-size: 22px;
}

.purple {
  color: #b04974;
  display: inline-block;
}

.top-button {
  width: 60px;
  aspect-ratio: 1/1;
  background-color: #fff;
  display: block;
  position: fixed;
  right: 2.5%;
  bottom: 4%;
  background-image: url(../../assets/image/common/to-top-img.svg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 100px;
  z-index: 1000;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease;
}
.top-button.is-visible {
  opacity: 1;
  visibility: visible;
}
.top-button.is-visible:hover {
  background-color: #fdf8f9;
}

.btn-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80%;
  aspect-ratio: 1/1;
  padding: 4%; /* アイコンと背景の間隔 */
  border-radius: 50%; /* 丸くする */
  background-color: #fff; /* 白背景 */
  object-fit: contain; /* アイコン比率を維持して収める */
  margin-left: 3%;
  margin-right: 7%;
}
@media screen and (max-width: 599px) {
  .btn-icon {
    margin-right: 5%;
  }
}
.btn-icon--white {
  background-color: #b04974;
}
.btn-icon img {
  height: 75%;
  width: auto;
}

.grecaptcha-badge {
  display: none;
}

.grecaptcha-logo {
  display: none;
}

header {
  background-color: #fff;
  width: 100%;
  z-index: 100000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-inline: 4%;
  height: 80px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  /* アニメーション設定 */
  transform: translateY(0);
  transition: transform 0.5s ease;
  will-change: transform;
  /* 隠れる状態 */
}
@media screen and (max-width: 599px) {
  header {
    padding-left: 2%;
  }
}
header.hide {
  transform: translateY(-100%);
}
header .header__logo {
  height: 85%;
}
@media screen and (max-width: 599px) {
  header .header__logo {
    height: 70%;
  }
}
header .header__logo img {
  width: auto;
  height: 100%;
}
header .header__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 80%;
  height: 100%;
}
@media screen and (max-width: 991px) {
  header .header__right {
    width: 40%;
  }
}
header .header__right ul {
  display: flex;
  column-gap: 6%;
  list-style-type: none;
  width: 100%;
  justify-content: flex-end;
  align-items: center;
  margin-right: 6%;
}
@media screen and (max-width: 991px) {
  header .header__right ul {
    display: none;
  }
}
header .header__right ul li a {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  color: #43453d;
}
header .header__right__icon {
  display: block;
  width: 20px;
}
header .header__right__contact {
  background-color: #b04974;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 75%;
  border-radius: 100px;
  width: 280px;
}
header .header__right__contact:hover {
  background-color: #c25d8b;
  opacity: 1;
}
@media screen and (max-width: 991px) {
  header .header__right__contact {
    display: none;
  }
}
header .header__right__contact p {
  color: #fff;
  font-weight: 700;
}
header .header__sp {
  display: none;
}
@media screen and (max-width: 991px) {
  header .header__sp {
    display: block;
  }
}
header .header__sp__btn {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
header .header__sp__btn__hamburger {
  position: relative;
  width: 48px;
  height: 32px;
}
header .header__sp__btn__hamburger span {
  height: 5px;
  background-color: #b04974;
  position: absolute;
  left: 0;
  right: 0;
  transition: 0.3s;
  border-radius: 50px;
}
@media screen and (max-width: 599px) {
  header .header__sp__btn__hamburger span {
    height: 3px;
  }
}
header .header__sp__btn__hamburger span:first-child {
  top: 0;
}
header .header__sp__btn__hamburger span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
header .header__sp__btn__hamburger span:last-child {
  bottom: 0;
}
header .header__sp__btn.open span {
  transition: 0.3s;
}
header .header__sp__btn.open span:first-child {
  top: calc(50% - 1px);
  transform: rotateZ(45deg);
}
header .header__sp__btn.open span:nth-child(2) {
  display: none;
}
header .header__sp__btn.open span:last-child {
  top: calc(50% - 1px);
  transform: rotateZ(-45deg);
}

.header-menu {
  z-index: 20;
  position: fixed;
  top: 0;
  right: -320px;
  width: 320px;
  height: 100%;
  background-color: #b04974;
  transition: 0.3s;
  z-index: 10000;
  overflow-y: auto;
  padding: 120px 4% 40px 4%;
}
.header-menu .common-subtitle {
  text-align: left;
  font-size: 14px;
  margin-bottom: 4px;
}
.header-menu ul {
  width: 100%;
  height: auto;
  list-style-type: none;
  padding-left: 0;
}
.header-menu ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  padding-bottom: 20px;
  padding-top: 20px;
}
.header-menu ul li:first-of-type {
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}
.header-menu ul li a {
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 4.32px;
  padding-left: 4%;
}
@media screen and (max-width: 599px) {
  .header-menu ul li a {
    font-size: 16px;
  }
}
.header-menu__icon {
  display: block;
  margin-top: 24px;
  width: 24px;
  margin-left: 4%;
  margin-bottom: 56px;
}
.header-menu__logo {
  height: auto;
  width: 100%;
}
.header-menu__name {
  color: #fff;
  font-size: 16px;
  margin-top: 12px;
  font-weight: 700;
}
.header-menu__info {
  color: #fff;
  font-size: 14px;
}
.header-menu__info a {
  color: #fff;
  font-size: 14px;
}
.header-menu__info a:hover {
  opacity: 0.8;
}
.header-menu__char {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-top: 40px;
}
.header-menu__char img {
  width: 92px;
  height: auto;
}
.header-menu__char p {
  color: #fff;
  font-size: 10px;
  line-height: 140%;
  margin-bottom: 2.5px;
}
.header-menu.open {
  right: 0;
  transition: 0.3s;
}

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 10;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
}
.black-bg.open {
  opacity: 0.3;
  visibility: visible;
}

.footer-upper {
  width: 100%;
  background-color: #b04974;
  padding-block: 102px 60px;
  border-radius: 300px 0 0 0;
}
@media screen and (max-width: 1200px) {
  .footer-upper {
    border-radius: 200px 0 0 0;
  }
}
@media screen and (max-width: 599px) {
  .footer-upper {
    border-radius: 40px 0 0 0;
    padding-block: 80px 40px;
  }
}
.footer-upper__btns {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 180px;
  column-gap: 4%;
}
@media screen and (max-width: 1200px) {
  .footer-upper__btns {
    column-gap: 2%;
  }
}
@media screen and (max-width: 768px) {
  .footer-upper__btns {
    flex-direction: column;
    height: auto;
    row-gap: 24px;
    height: auto;
  }
}
@media screen and (max-width: 599px) {
  .footer-upper__btns {
    row-gap: 20px;
  }
}
.footer-upper__btns a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 48px 60px;
  background-color: #fff;
  border-radius: 100px;
  width: 50%;
}
.footer-upper__btns a:hover {
  background-color: #fdf8f9;
}
.footer-upper__btns a:hover p {
  color: #b04974;
}
@media screen and (max-width: 1200px) {
  .footer-upper__btns a {
    padding: 40px 20px;
  }
}
@media screen and (max-width: 991px) {
  .footer-upper__btns a {
    padding: 28px 20px;
  }
}
@media screen and (max-width: 768px) {
  .footer-upper__btns a {
    width: 80%;
    height: 156px;
  }
}
@media screen and (max-width: 599px) {
  .footer-upper__btns a {
    width: 80%;
    padding: 20px 12px;
    height: 124px;
  }
}
@media screen and (max-width: 500px) {
  .footer-upper__btns a {
    width: 100%;
  }
}
.footer-upper__btns a .btn-icon {
  background-color: #b04974;
}
.footer-upper__btns a p {
  font-size: 28px;
}
@media screen and (max-width: 599px) {
  .footer-upper__btns a p {
    font-size: 24px;
  }
}
.footer-upper__btns a p span {
  display: block;
  font-size: 16px;
  margin-top: -12px;
}

footer {
  background-color: #b04974;
  padding-top: 60px;
  padding-bottom: 20px;
}
@media screen and (max-width: 599px) {
  footer {
    padding-top: 40px;
  }
}
footer .fixed-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  footer .fixed-container {
    flex-direction: column;
    align-items: flex-start;
  }
}
footer .footer__left__logo {
  height: 45px;
  width: auto;
}
@media screen and (max-width: 599px) {
  footer .footer__left__logo {
    width: 100%;
    height: auto;
  }
}
footer .footer__left__name {
  color: #fff;
  font-size: 24px;
  margin-top: 36px;
  font-weight: 700;
}
@media screen and (max-width: 599px) {
  footer .footer__left__name {
    margin-top: 12px;
    font-size: 20px;
  }
}
footer .footer__left__info {
  color: #fff;
}
footer .footer__left__info a {
  color: #fff;
  font-size: 16px;
}
footer .footer__left__info a:hover {
  opacity: 0.8;
}
footer .footer__right {
  width: 200px;
}
@media screen and (max-width: 768px) {
  footer .footer__right {
    margin-top: 40px;
  }
}
footer .footer__right .common-subtitle {
  text-align: left;
}
footer .footer__right ul {
  list-style-type: none;
  padding-left: 4%;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  margin-top: 10px;
  padding-top: 20px;
}
footer .footer__right ul li {
  margin-top: 20px;
}
footer .footer__right ul li:first-of-type {
  margin-top: 0;
}
footer .footer__right ul li a {
  color: #fff;
  font-size: 16px;
}
footer .footer__right__icon {
  display: block;
  margin-top: 28px;
  margin-left: 4%;
  width: 24px;
}
footer .copyright {
  margin-top: 80px;
  color: #fff;
  font-size: 14px;
  text-align: center;
}

.fv {
  width: 100%;
  height: auto;
  padding-top: 80px;
  position: relative;
  background: linear-gradient(to bottom, rgba(176, 73, 116, 0.08) 0%, #fff 100%);
  overflow: hidden;
}
.fv__message {
  text-align: center;
  padding-block: 56px;
  position: relative;
}
@media screen and (min-width: 1520px) {
  .fv__message {
    padding-block: 102px;
  }
}
@media screen and (max-width: 599px) {
  .fv__message {
    padding-block: 80px 160px;
    background-image: url(../../assets/image/company/company-mission-img.webp);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
  }
}
.fv__message p {
  font-size: 24px;
  letter-spacing: 2.88px;
  line-height: 200%;
  font-weight: 700;
  color: #645d5c;
}
@media screen and (min-width: 1520px) {
  .fv__message p {
    font-size: 28px;
    letter-spacing: 3.36px;
  }
}
@media screen and (max-width: 599px) {
  .fv__message p {
    font-size: 16px;
  }
}
.fv__img {
  width: 100%;
  height: auto;
  margin-inline: auto;
  /* ★ 上端固定で拡大：初期位置がズレない */
  transform-origin: top center; /* ← ここだけ変更（以前は center bottom） */
  transform: scale(0.8); /* 0.8 → 1.0 へ拡大（JSで更新） */
  will-change: transform, clip-path;
  backface-visibility: hidden;
  z-index: 10;
  /* 角丸は clip-path の round で（パフォーマンス良） */
  clip-path: inset(0 0 0 0 round 50px 50px 0 0);
}
.fv__left, .fv__right {
  will-change: transform, opacity;
  transition: opacity 0.2s linear;
  backface-visibility: hidden;
}
.fv__left {
  width: 4%;
  height: auto;
  position: absolute;
  top: 40%;
  left: 3%;
  transform: translateY(-50%);
  z-index: 5;
}
@media screen and (max-width: 1024px) {
  .fv__left {
    top: 60%;
  }
}
@media screen and (max-width: 991px) {
  .fv__left {
    top: 64%;
  }
}
@media screen and (max-width: 599px) {
  .fv__left {
    width: 6%;
    top: 80%;
    left: 2%;
  }
}
.fv__right {
  width: 6%;
  height: auto;
  position: absolute;
  top: 43%;
  right: 2%;
  transform: translateY(-50%);
  z-index: 5;
}
@media screen and (max-width: 1024px) {
  .fv__right {
    top: 63%;
  }
}
@media screen and (max-width: 991px) {
  .fv__right {
    top: 66%;
  }
}
@media screen and (max-width: 599px) {
  .fv__right {
    width: 8%;
    top: 81%;
    right: 1%;
  }
}

.top-about {
  padding-block: 102px;
}
@media screen and (max-width: 991px) {
  .top-about {
    padding-block: 80px;
  }
}
.top-about .fixed-container {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 6%;
}
@media screen and (max-width: 991px) {
  .top-about .fixed-container {
    flex-direction: column;
  }
}
.top-about__left, .top-about__right {
  width: 50%;
}
@media screen and (max-width: 991px) {
  .top-about__left, .top-about__right {
    width: 80%;
  }
}
@media screen and (max-width: 599px) {
  .top-about__left, .top-about__right {
    width: 100%;
  }
}
@media screen and (max-width: 991px) {
  .top-about__left {
    margin-bottom: 32px;
  }
}
.top-about__left .common-subtitle {
  text-align: left;
  padding-right: 2px;
  margin-top: 0;
}
.top-about__left__title {
  font-size: 32px;
  letter-spacing: 7.68px;
  font-weight: 700;
  margin-top: 4px;
  color: #b04974;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 140%;
}
@media screen and (min-width: 1520px) {
  .top-about__left__title {
    font-size: 40px;
    letter-spacing: 9.6px;
  }
}
@media screen and (max-width: 450px) {
  .top-about__left__title {
    font-size: 7vw;
  }
}
.top-about__left p {
  margin-top: 24px;
}

.top-service {
  padding-block: 102px 60px;
  background-color: #b04974;
  border-radius: 80px 80px 0 0;
}
@media screen and (max-width: 991px) {
  .top-service {
    padding-block: 80px 40px;
  }
}
@media screen and (max-width: 599px) {
  .top-service {
    border-radius: 20px 20px 0 0;
  }
}
.top-service .fixed-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  column-gap: 6%;
}
@media screen and (max-width: 991px) {
  .top-service .fixed-container {
    flex-direction: column;
    align-items: center;
  }
}
.top-service__left, .top-service__right {
  width: 50%;
}
@media screen and (max-width: 991px) {
  .top-service__left, .top-service__right {
    width: 80%;
  }
}
@media screen and (max-width: 599px) {
  .top-service__left, .top-service__right {
    width: 100%;
  }
}
@media screen and (max-width: 991px) {
  .top-service__right {
    margin-top: 32px;
  }
}
.top-service__right .common-subtitle {
  text-align: left;
  padding-right: 2px;
  color: #fff;
}
.top-service__right__title {
  font-size: 40px;
  letter-spacing: 9.6px;
  font-weight: 700;
  margin-top: 4px;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 140%;
}
@media screen and (min-width: 1520px) {
  .top-service__right__title {
    font-size: 48px;
    letter-spacing: 11.52px;
  }
}
.top-service__right__sentence {
  margin-top: 24px;
  color: #fff;
}
.top-service__right__area {
  background-color: #fff;
  border-radius: 30px;
  padding: 20px 6%;
  margin-top: 48px;
  width: 100%;
}
@media screen and (max-width: 599px) {
  .top-service__right__area {
    margin-top: 32px;
  }
}
.top-service__right__area h3 {
  color: #b04974;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 4.8px;
  font-weight: 700;
  font-size: 20px;
}
.top-service__right__area__column {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 12px;
  width: 100%;
  column-gap: 6%;
}
.top-service__right__area__column img {
  width: 53px;
  height: auto;
}
.top-service__right__area__column__right {
  width: calc(100% - 53px);
}
.top-service__right__area__column__right__prefecture {
  font-size: 14px;
  font-weight: 500;
  color: #43453d;
}
.top-service__right__area__column__right__region {
  font-size: 18px;
  font-weight: 500;
  color: #43453d;
  line-height: 140%;
  letter-spacing: 1.2px;
}

.top-support {
  background-color: #b04974;
  padding-block: 60px;
}
@media screen and (max-width: 599px) {
  .top-support {
    padding-block: 40px;
  }
}
@media screen and (max-width: 991px) {
  .top-support .fixed-container {
    padding-inline: 0;
  }
}
.top-support__column {
  margin-top: 56px;
  margin-inline: auto;
  display: flex;
  max-width: 1120px;
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  position: relative;
}
@media screen and (max-width: 991px) {
  .top-support__column {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    flex-wrap: nowrap;
    justify-content: flex-start;
    max-width: none;
    width: auto;
    /* 先頭が切れないための内側余白＋スナップ基準 */
    padding-inline: 16px;
    scroll-padding-left: 16px;
    padding-bottom: 16px;
  }
}
.top-support__column__content {
  width: 300px;
  background-color: #fff;
  border-radius: 30px;
  padding: 32px 28px;
}
@media screen and (max-width: 991px) {
  .top-support__column__content {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}
.top-support__column__content h4 {
  color: #b04974;
  text-align: center;
  font-size: 19px;
  font-weight: 500;
  letter-spacing: 4.8px;
  font-family: "Zen Maru Gothic", sans-serif;
}
.top-support__column__content img {
  margin-top: 16px;
  height: 92px;
  width: auto;
  margin-inline: auto;
}
.top-support__column__content p {
  margin-top: 16px;
}

.top-faq {
  background-color: #b04974;
  padding-block: 60px;
}
@media screen and (max-width: 599px) {
  .top-faq {
    padding-block: 40px;
  }
}
.top-faq__list {
  width: fit-content;
  margin-inline: auto;
  margin-top: 45px;
}
.top-faq__list__content {
  width: auto;
  background-color: #fff;
  border-radius: 100px;
  padding-block: 16px;
  padding-inline: 28px;
  margin-top: 20px;
}
.top-faq__list__content:first-of-type {
  margin-top: 0;
}
.top-faq__list__content p {
  color: #43453d;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 768px) {
  .top-faq__list__content p {
    padding-left: 32px;
  }
}
.top-faq__list__content p::before {
  content: "";
  background-image: url(../../assets/image/top/top-faq-check-icon.svg);
  background-size: cover;
  width: 20px;
  height: 20px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: sub;
}
@media screen and (max-width: 768px) {
  .top-faq__list__content p::before {
    position: absolute;
    top: 53%;
    left: 0;
    transform: translateY(-50%);
  }
}

.top-explanation {
  background-color: #b04974;
  padding-block: 60px;
}
@media screen and (max-width: 599px) {
  .top-explanation {
    padding-block: 40px;
  }
}
.top-explanation__column {
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 8%;
  padding: 48px 2%;
  background-color: #fff;
  border-radius: 30px;
  max-width: 856px;
}
@media screen and (max-width: 991px) {
  .top-explanation__column {
    column-gap: 3%;
  }
}
@media screen and (max-width: 768px) {
  .top-explanation__column {
    flex-direction: column;
    row-gap: 32px;
  }
}
.top-explanation__column__left {
  height: 186px;
  width: auto;
}
@media screen and (max-width: 599px) {
  .top-explanation__column__left {
    height: 160px;
  }
}
.top-explanation__column__left img {
  height: 100%;
  width: auto;
}
.top-explanation__column__right h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #b04974;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 5.76px;
  padding-left: 40px;
}
@media screen and (max-width: 768px) {
  .top-explanation__column__right h3 {
    text-align: center;
    padding-left: 0;
  }
}
.top-explanation__column__right ul {
  margin-top: 16px;
}

.top-fee {
  background-color: #b04974;
  padding-block: 60px 102px;
  border-radius: 0 0 80px 80px;
  position: relative;
}
@media screen and (max-width: 599px) {
  .top-fee {
    padding-block: 40px 80px;
    border-radius: 0 0 20px 20px;
  }
}
.top-fee::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(176, 73, 116, 0.08);
  position: absolute;
  top: 0;
  left: 0;
}
.top-fee__sentence {
  text-align: center;
  color: #fff;
  padding-block: 42px;
}
.top-fee__column {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}
.top-fee__column .common-btn {
  margin-inline: 0;
}

.top-member {
  background-color: rgba(176, 73, 116, 0.08);
  padding-block: 102px;
  padding-inline: 4%;
}
@media screen and (max-width: 991px) {
  .top-member {
    padding-inline: 0;
  }
}
@media screen and (max-width: 599px) {
  .top-member {
    padding-block: 80px;
  }
}
.top-member__column {
  margin-top: 64px;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 24px;
}
@media screen and (max-width: 991px) {
  .top-member__column {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    flex-wrap: nowrap;
    justify-content: flex-start;
    max-width: none;
    width: auto;
    /* 先頭が切れないための内側余白＋スナップ基準 */
    padding-inline: 12px;
    scroll-padding-left: 12px;
    padding-bottom: 16px;
  }
}
.top-member__column__content {
  width: 362px;
  background-color: #fff;
  border-radius: 30px;
  padding: 32px 40px;
}
@media screen and (max-width: 991px) {
  .top-member__column__content {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}
@media screen and (max-width: 400px) {
  .top-member__column__content {
    width: 340px;
    padding: 32px 24px;
  }
}
@media screen and (max-width: 375px) {
  .top-member__column__content {
    width: 320px;
    padding: 32px 24px;
  }
}
.top-member__column__content img {
  height: 122px;
  width: auto;
  margin-inline: auto;
}
.top-member__column__content__position {
  margin-top: 20px;
  font-size: 12px;
  letter-spacing: 2.88px;
  font-weight: 700;
  color: #b04974;
  text-align: center;
}
.top-member__column__content__name {
  margin-top: -4px;
  font-size: 20px;
  letter-spacing: 4.8px;
  font-weight: 700;
  color: #b04974;
  text-align: center;
}
.top-member__column__content__comment {
  font-size: 14px;
  margin-top: 12px;
}
.top-member__column__content__career {
  border-top: 1px solid #d9d9d9;
  margin-top: 16px;
  padding-top: 16px;
}
.top-member__column__content__career dl {
  display: flex;
  justify-content: flex-start;
  margin-top: 8px;
}
.top-member__column__content__career dl dt,
.top-member__column__content__career dl dd {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.top-member__column__content__career dl dt {
  width: 60px;
}
.top-member__column__content__career dl dd {
  width: calc(100% - 60px);
}

.top-recruit {
  padding-block: 102px;
  background-image: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.7) 20.54%, rgba(255, 255, 255, 0.5) 55.47%, rgba(255, 255, 255, 0.7) 88.58%, #fff 100%), url(../../assets/image/top/top-recruit-img.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  background-size: cover;
}
@media screen and (max-width: 599px) {
  .top-recruit {
    padding-block: 80px;
  }
}
.top-recruit__sentence {
  text-align: center;
  color: #43453d;
  margin-top: 16px;
}
.top-recruit__list {
  background-color: #fff;
  border-radius: 10px;
  padding: 16px 6%;
  width: fit-content;
  margin-inline: auto;
  margin-top: 24px;
  margin-bottom: 48px;
  border: 1px solid #b04974;
}
.top-recruit__list__title {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
.top-recruit__list ul {
  margin-top: 8px;
}

.philosophy__content {
  padding-block: 182px 102px;
}
@media screen and (max-width: 599px) {
  .philosophy__content {
    padding-block: 160px 80px;
  }
}
.philosophy__content__title {
  font-size: 24px;
  line-height: 200%;
  letter-spacing: 2.88px;
  text-align: center;
  font-weight: 500;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (min-width: 1520px) {
  .philosophy__content__title {
    font-size: 28px;
    letter-spacing: 3.36px;
  }
}
@media screen and (max-width: 768px) {
  .philosophy__content__title {
    font-size: 20px;
  }
}
.philosophy__content__title--mission {
  position: relative;
}
.philosophy__content__title--mission::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../../assets/image/company/company-mission-img.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.philosophy__content p {
  margin-top: 32px;
  text-align: center;
}
.philosophy__content .common-subtitle {
  margin-top: 0;
}
.philosophy__content--mission {
  background-color: rgba(176, 73, 116, 0.04);
}
.philosophy__content--vision {
  background-color: rgba(176, 73, 116, 0.08);
  padding-block: 102px;
}
@media screen and (max-width: 599px) {
  .philosophy__content--vision {
    padding-block: 80px;
  }
}
.philosophy__value {
  padding-block: 80px;
  background-color: rgba(176, 73, 116, 0.04);
}
.philosophy__value .common-subtitle {
  text-align: left;
}
@media screen and (max-width: 599px) {
  .philosophy__value .common-subtitle {
    text-align: center;
  }
}
.philosophy__value__content {
  width: 100%;
  margin-top: 16px;
  border-top: 1px solid rgba(67, 69, 61, 0.4);
}
.philosophy__value__content dl {
  border-bottom: 1px solid rgba(67, 69, 61, 0.4);
  padding-block: 40px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 599px) {
  .philosophy__value__content dl {
    flex-direction: column;
    padding-block: 20px 40px;
  }
}
.philosophy__value__content dl dt {
  color: #b04974;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 5.76px;
  margin-right: 20px;
}
@media screen and (min-width: 1520px) {
  .philosophy__value__content dl dt {
    font-size: 64px;
    letter-spacing: 7.68px;
    margin-right: 28px;
  }
}
@media screen and (max-width: 599px) {
  .philosophy__value__content dl dt {
    margin-right: 0;
  }
}
.philosophy__value__content dl dd {
  font-family: "Zen Maru Gothic", sans-serif;
}
.philosophy__value__content dl dd h3 {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 2.4px;
}
@media screen and (min-width: 1520px) {
  .philosophy__value__content dl dd h3 {
    font-size: 24px;
    letter-spacing: 2.88px;
  }
}
@media screen and (max-width: 599px) {
  .philosophy__value__content dl dd h3 {
    text-align: center;
    font-size: 18px;
  }
}
.philosophy__value__content dl dd p {
  margin-top: 8px;
}
.philosophy__char {
  padding-bottom: 102px;
  background-color: rgba(176, 73, 116, 0.04);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 599px) {
  .philosophy__char {
    padding-bottom: 80px;
  }
}
.philosophy__char img {
  width: 120px;
  height: auto;
}
@media screen and (max-width: 599px) {
  .philosophy__char img {
    width: 102px;
  }
}
.philosophy__char p {
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  margin-top: 4px;
  color: #b04974;
  line-height: 140%;
}

.company-information {
  background-color: #fff;
  padding-block: 102px;
}
@media screen and (max-width: 599px) {
  .company-information {
    padding-block: 80px;
  }
}
.company-information__content {
  margin-top: 64px;
  width: 100%;
}
.company-information__content dl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: 1px solid #d9d9d9;
  width: 100%;
  max-width: 856px;
  padding-bottom: 32px;
  margin-bottom: 32px;
  margin-inline: auto;
}
@media screen and (max-width: 599px) {
  .company-information__content dl {
    flex-direction: column;
  }
}
.company-information__content dl dt {
  width: 25%;
  font-family: "Zen Maru Gothic", sans-serif;
  color: rgba(176, 73, 116, 0.6);
  font-size: 16px;
  font-weight: 500;
}
@media screen and (max-width: 599px) {
  .company-information__content dl dt {
    width: 85%;
  }
}
.company-information__content dl dd {
  width: 75%;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (max-width: 599px) {
  .company-information__content dl dd {
    width: 85%;
  }
}
.company-information__content iframe {
  width: 100%;
  max-width: 856px;
  margin-inline: auto;
  display: block;
  max-height: 400px;
  border-radius: 10px;
}

#page-contact .footer-upper {
  position: relative;
}
#page-contact .footer-upper::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(176, 73, 116, 0.1);
}

.contact {
  background-color: rgba(176, 73, 116, 0.1);
  padding-block: 182px 102px;
}
@media screen and (max-width: 599px) {
  .contact {
    padding-block: 160px 80px;
  }
}
.contact__sentence {
  margin-top: 56px;
  margin-bottom: 56px;
  text-align: center;
}
@media screen and (max-width: 599px) {
  .contact__sentence {
    margin-block: 40px;
  }
}
.contact .common-btn p {
  font-family: "Paytone One", sans-serif;
  font-weight: 400;
  font-size: 24px;
  letter-spacing: 2.88px;
}
.contact .common-btn p span {
  display: block;
  font-size: 12px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0;
  margin-top: -24px;
}
.contact__form {
  max-width: 1032px;
  width: 100%;
  margin-inline: auto;
  padding-top: 40px;
  margin-top: 80px;
  border-top: 1px solid rgba(67, 69, 61, 0.4);
}
.contact__form__input {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: 40px;
}
@media screen and (max-width: 991px) {
  .contact__form__input {
    flex-direction: column;
    align-items: flex-start;
  }
}
.contact__form__input--textarea {
  align-items: flex-start;
}
.contact__form__input--textarea .contact__form__input__name {
  margin-top: 17px;
}
.contact__form__input__name {
  width: 25%;
}
@media screen and (max-width: 991px) {
  .contact__form__input__name {
    width: 100%;
    margin-bottom: 8px;
  }
}
.contact__form__input__name span {
  margin-left: 20px;
  font-size: 12px;
  color: #fff;
  background-color: #b04974;
  border-radius: 100px;
  padding: 0px 10px 1px 10px;
  font-weight: 400;
  vertical-align: 1px;
}
@media screen and (max-width: 599px) {
  .contact__form__input__name span {
    margin-left: 16px;
  }
}
.contact__form__input .wpcf7-form-control-wrap {
  width: 75%;
  /* ラジオボタン本体を非表示にする */
  /* ラベルをボタン風に */
  /* 選択状態の見た目 */
  /* チェック済みの状態 */
}
@media screen and (max-width: 991px) {
  .contact__form__input .wpcf7-form-control-wrap {
    width: 100%;
  }
}
.contact__form__input .wpcf7-form-control-wrap .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.contact__form__input .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item {
  margin: 0;
}
.contact__form__input .wpcf7-form-control-wrap input[type=text],
.contact__form__input .wpcf7-form-control-wrap textarea,
.contact__form__input .wpcf7-form-control-wrap input[type=email],
.contact__form__input .wpcf7-form-control-wrap input[type=tel] {
  background-color: #fff;
  border: none;
  border-radius: 8px;
  font-family: "Zen Maru Gothic", sans-serif;
  padding-inline: 20px;
  padding-block: 17px 19px;
}
.contact__form__input .wpcf7-form-control-wrap input::placeholder,
.contact__form__input .wpcf7-form-control-wrap textarea::placeholder {
  color: rgba(67, 69, 61, 0.3);
  font-weight: 400;
  font-size: 16px;
}
.contact__form__input .wpcf7-form-control-wrap .wpcf7-list-item input[type=radio],
.contact__form__input .wpcf7-form-control-wrap .wpcf7-list-item input[type=checkbox] {
  display: none;
}
.contact__form__input .wpcf7-form-control-wrap .wpcf7-list-item-label {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 4px;
  background-color: #fff; /* 初期は白背景 */
  color: #43453d; /* 初期は文字色 #43453D */
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 16px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  padding: 4px 36px;
}
.contact__form__input .wpcf7-form-control-wrap .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label {
  background-color: #b04974; /* 選択時の背景 */
  color: #fff; /* 選択時の文字色 */
}
.contact__form__input .wpcf7-form-control-wrap .wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label {
  background-color: #b04974; /* 選択時背景 */
  color: #fff; /* 選択時文字色 */
}
.contact__form__privacy {
  margin-block: 56px 0px;
  max-width: 970px;
  width: 85%;
  height: 240px;
  background-color: #fff;
  margin-inline: auto;
  padding: 20px 32px;
  position: relative;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .contact__form__privacy {
    width: 100%;
  }
}
.contact__form__privacy__inner {
  overflow-y: scroll;
  width: 100%;
  height: 100%;
}
.contact__form__privacy__inner h2 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 20px;
  z-index: 1;
}
.contact__form__privacy__inner h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 16px;
  margin-top: 12px;
  z-index: 1;
}
.contact__form__privacy__inner p,
.contact__form__privacy__inner li {
  font-size: 14px;
  font-weight: 400;
  z-index: 1;
}
.contact__form__acceptance {
  margin-top: 42px;
  margin-bottom: 60px;
  text-align: center;
  /* デフォルトのチェックボックスを消す */
  /* チェックされた状態 */
  /* チェックマークを擬似要素で描く */
}
@media screen and (max-width: 768px) {
  .contact__form__acceptance {
    margin-top: 24px;
  }
}
.contact__form__acceptance input[type=checkbox] {
  -webkit-appearance: none; /* Safari / Chrome */
  -moz-appearance: none; /* Firefox */
  appearance: none;
  width: 20px;
  height: 20px;
  border: none; /* 枠線 */
  border-radius: 3px; /* 角丸（必要に応じて） */
  background: #fff; /* 平面的に白背景 */
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  vertical-align: -4px;
}
.contact__form__acceptance input[type=checkbox]:checked {
  background-color: #b04974; /* チェック時の塗り */
  border-color: #b04974;
}
.contact__form__acceptance input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  left: 7px;
  top: 2.5px;
  width: 6px;
  height: 12px;
  border: solid #fff; /* 白いチェックマーク */
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.contact__form__acceptance .wpcf7-list-item-label {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 16px;
}
.contact__form .wpcf7-submit p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
}
.contact__form__recruit {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-4px);
  transition: max-height 1s ease, opacity 0.8s ease, transform 1s ease;
}
.contact__form__recruit.is-visible {
  max-height: 1000px; /* 内容より十分大きい値にしておく */
  opacity: 1;
  transform: translateY(0);
}

.page-top {
  position: relative;
}
@media screen and (max-width: 1200px) {
  .page-top {
    aspect-ratio: 3/1;
  }
}
@media screen and (max-width: 900px) {
  .page-top {
    aspect-ratio: 2.5/1;
  }
}
@media screen and (max-width: 660px) {
  .page-top {
    aspect-ratio: 2/1;
  }
}
@media screen and (max-width: 450px) {
  .page-top {
    aspect-ratio: 1.5/1;
  }
}
@media screen and (max-width: 1200px) {
  .page-top__img {
    height: 100%;
  }
  .page-top__img img {
    height: 100%;
    object-fit: cover;
  }
}
.page-top__text {
  position: absolute;
  bottom: 15%;
  left: 17.4%;
}
@media screen and (max-width: 1200px) {
  .page-top__text {
    left: 10%;
  }
}
@media screen and (max-width: 900px) {
  .page-top__text {
    left: 4%;
  }
}
.page-top__big {
  color: #FFF;
  font-family: "Montserrat", system-ui;
  font-size: 60px;
  font-weight: 900;
  margin-bottom: 1px;
}
@media screen and (max-width: 900px) {
  .page-top__big {
    font-size: 40px;
  }
}
@media screen and (max-width: 660px) {
  .page-top__big {
    font-size: 32px;
    line-height: 100%;
    margin-bottom: 0;
  }
}
.page-top__small {
  color: #FFF;
  font-weight: 700;
}
@media screen and (max-width: 660px) {
  .page-top__small {
    font-size: 12px;
  }
}
.page-top__breadcrumb {
  position: absolute;
  bottom: -35px;
  right: 5%;
  display: flex;
  align-items: center;
  column-gap: 10px;
}
@media screen and (max-width: 599px) {
  .page-top__breadcrumb {
    bottom: -25px;
    column-gap: 4px;
  }
}
.page-top__breadcrumb p {
  font-weight: 500;
  font-family: "Montserrat", system-ui;
}
@media screen and (max-width: 599px) {
  .page-top__breadcrumb p {
    font-size: 12px;
  }
}

.page-content {
  background: #FFF;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
  padding: 105px 5% 130px;
}
@media screen and (max-width: 599px) {
  .page-content {
    padding: 60px 4% 75px;
  }
}

.footer-before {
  overflow: hidden;
  background-color: #eee;
}
.footer-before--change {
  background-color: transparent;
}
.footer-before__banner {
  display: flex;
  color: rgba(12, 30, 90, 0.1);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .footer-before__banner {
    top: -10px;
  }
}
@media screen and (max-width: 599px) {
  .footer-before__banner {
    top: 0px;
  }
}
.footer-before__banner .marquee-inner {
  animation: marquee 30s linear infinite;
  font-family: "Montserrat", system-ui;
  font-size: 7vw;
  font-weight: 900;
  line-height: 100%;
  white-space: nowrap;
}
@media screen and (max-width: 599px) {
  .footer-before__banner .marquee-inner {
    font-size: 10vw;
  }
}
@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-100% - 1rem));
  }
}/*# sourceMappingURL=style.css.map */