@import url('https://fonts.googleapis.com/css2?family=Cardo:ital,wght@0,400;0,700;1,400&display=swap');

:root {
  --green: #79A476;
  --blue: #649db7;
  --green2: #8cb28a;
  --blue2: #BBCFEE;
  --yellow: #EFE6BD;
  --mizuiro: #88D4D0;
  --gray: #f4f4f4;
  --gray2: #1d393f3e;
  --border: #c0bab581;
  --black: #36453a;
  --black2: #808981;
  --black3: #a5b1a7;
  --shibuya-main1: #c6c3bf;
  --shibuya-main2: #e0ded8;
  --shibuya-main3: #edece9;
  --gra4: linear-gradient(to bottom, var(--shibuya-main2) 0%, var(--shibuya-main3) 15%, var(--shibuya-main3) 85%, var(--shibuya-main2) 100%);
  --gra5: linear-gradient(to bottom, var(--shibuya-main1) 0%, var(--shibuya-main2) 30%, var(--shibuya-main2) 70%, var(--shibuya-main1) 100%);
  --padding-top-bottom: 16rem;
  --sp-pad: 10rem;
  --transition: .6s;
  --sp_inner: 8%;
  --in: 84%;
  --font: "outfit", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Sans";
  --letter: .05em;
  --letter2: .1em;
  --radius: 1rem;
  --radius2: .5rem;
  --gra: linear-gradient(to right, var(--blue) 0%, var(--green) 100%);
  --gra1: linear-gradient(135deg, var(--yellow) 0%, var(--green2) 100%);
  --gra2: linear-gradient(135deg, var(--blue2) 0%, var(--mizuiro) 100%);
  --gra3: linear-gradient(135deg, #b0d8ea 0%, #93cc93 70%);
  --haba: 400px;
  --grade5: linear-gradient(135deg, #4a7b91 0%, #7bb2cb 80%);
}

a {
  text-decoration: none;
  color: revert;
  color: var(--black);
}

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

body,
h1,
h2,
h3,
h4,
h5,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
  border: none;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

a,
ul,
ol {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

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

input,
button,
textarea,
select {
  font: inherit;
}

html,
body {
  overscroll-behavior-y: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

* {
  letter-spacing: var(--letter2);
  margin: 0;
  padding: 0;
}

.blue {
  --green: var(--blue);
  --gra1: var(--gra2);
}

body.blue {
  background: url("/recruit/images/back-blue.webp");
  background-size: cover;
  background-attachment: fixed;
}

body.blue p,
body.blue main p {
  letter-spacing: .05em !important;
  line-height: 2 !important;
  font-size: 1.4rem !important;
}

.blue .before-after-bottom-posi p {
  line-height: 1 !important;
  font-size: 2.2rem !important;
}

body.blue .fv p {
  font-size: 2rem !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}

.blue .top p {
  font-size: 1.6rem !important;
}

body.blue .fv p .box {
  letter-spacing: .1em !important;
  line-height: 1 !important;
}

body.blue .manager .name {
  font-size: 2rem !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

body.blue h1,
body.blue h2,
body.blue h3 {
  font-family: "Cardo", "Zen Old Mincho", sans-serif !important;
  font-weight: 600 !important;
}

body.blue .title {
  font-size: 2rem !important;
  letter-spacing: .2em !important;
  line-height: 1.8 !important;
}

body.blue .title .title-en {
  display: block !important;
  font-family: "Cardo", serif !important;
  line-height: 1.2 !important;
  letter-spacing: .28em !important;
  font-weight: 500 !important;
  margin: 0 auto .6rem !important;
  width: fit-content !important;
  text-align: center !important;
  font-size: 5.4rem !important;
}

body.blue .promise-3 .title,
body.blue .promise-3 .title .title-en {
  text-align: left !important;
  margin-left: 0 !important;
}

.blue .cta {
  background: url("/recruit/images/cta-back-blue.webp");
  background-size: cover;
  padding-bottom: 10rem;
}

.blue .before-after-box .number {
  background: url("/recruit/images/blue-big-sizuku.webp");
  background-size: cover;
  width: 12rem;
  height: 12rem;
}

.blue .your-work-box-1 {
  background: #e3f7ffa0;
}

.blue .your-work-box-2 {
  background: #d5fcffa8;
}

.blue .your-work-box-3 {
  background: #d5edff9a;
}

.blue .before {
  background: #35b3dd6d;
}

.blue .before-box::after {
  background: url("/recruit/images/before-arrow-blue.webp");
  background-size: cover;
}

.blue .first-step-box::after,
.blue .flow-box::after {
  background: url("/recruit/images/siki-flow-arrow.webp");
  background-size: cover;
  height: 3rem;
}

.blue .first .button {
  margin-top: 4rem !important;
}

.blue .hyou p {
  width: 20%;
}

.blue .hyou .kantei {
  width: 30%;
}

.hyou .big {
  width: 40% !important;
}

.kantei.big {
  width: 60% !important;
}

.blue .before-box .before-after-bottom-posi p .big {
  color: #0e6aa2;
}

.blue .your-box h3 {
  font-size: 1.8rem;
}

.blue .your-work-box-1::after {
  background: linear-gradient(225deg, #bbdaee 0%, #EEF5FF 100%);
}

.blue .your-work-box-1 {
  --green: #174ea0;
}

.blue .your-work-box-2::after {
  background: linear-gradient(225deg, #BDF0FF 0%, #F2FDFC 100%);
}

.blue .your-work-box-2 {
  --green: rgb(23, 135, 160);
}

.blue .your-work-box-3::after {
  background: linear-gradient(225deg, #bdcaed 0%, #e9f0ff 100%);
}

.blue .your-work-box-3 {
  --green: #3b51bd;
}

.blue .page-column-top,
.blue .single-column-top {
  background: url("/recruit/images/page-top-column-back-blue.webp");
  background-size: cover;
}

.blue .feature-top {
  background: url("/recruit/images/feature-top-back-blue.webp");
  background-size: cover;
}

.blue .feature-link {
  background: url("/recruit/images/feature-top-back-blue.webp");
  background-size: cover;
}

.blue .cta {
  background: url("/recruit/images/cta-back-back.webp");
  background-size: cover;
}

.blue .voice {
  background: url("/recruit/images/voice-back-blue.webp");
  background-size: cover;
}

.blue .page-voice-top {
  background: url("/recruit/images/page-voice-top-back-blue.webp");
  background-size: cover;
}

.blue .btn-inner span {
  background: var(--blue) !important;
}

@media (max-width:480px) {}

html {
  font-size: 62.5%;
}

main,
body {
  width: 100%;
}

body {
  width: 100%;
  min-height: 100dvh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  color: var(--black);
  position: relative;
  z-index: 100000;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background: linear-gradient(rgba(0, 0, 0, .08), rgba(0, 0, 0, .08)), url("/recruit/images/back.webp");
  background-size: cover;
  background-attachment: fixed;
}

@media (max-width:480px) {
  body {
    background: url("/recruit/images/back-sp.webp");
    background-attachment: fixed;
    background-size: cover;
  }
}

main {
  overflow: clip;
  display: flow-root;
}

.sec_inner {
  width: var(--in);
  margin: 0 auto;
}

p {
  letter-spacing: .05em;
  line-height: 2;
  font-size: 1.4rem;
  color: var(--black2);
}

h1,
h2,
h3,
.serif {
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  font-weight: 600;
}

h2 {
  letter-spacing: 0;
}

.ani-zoom-in,
.ani-zoom-in.is-animated {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

.ani-zoom-in::before,
.ani-zoom-in.is-animated::before {
  content: none !important;
  display: none !important;
}

.fade {
  opacity: 0;
  transform: translateY(1.2rem) scale(1.02);
  filter: blur(.4rem) brightness(1.35);
  transition: opacity .9s ease-out, transform 1s cubic-bezier(.22, 1, .36, 1), filter .9s ease-out;
  will-change: opacity, transform, filter;
}

.fade.is-animated {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0) brightness(1);
}

.fade:nth-child(2) {
  transition-delay: .2s;
}

.fade:nth-child(3) {
  transition-delay: .4s;
}

.fade:nth-child(4) {
  transition-delay: .6s;
}

#body-hikari-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -999;
  overflow: hidden;
}

@media (max-width:480px) {
  #body-hikari-container {
    display: none;
  }
}

.cta-button {
  display: block;
  width: fit-content;
  background: linear-gradient(135deg, #405c2f 0%, #7ab07a 90%);
  color: #fff;
  text-align: center;
  padding: 2rem 4rem;
  font-size: 1.5rem;
  font-weight: 500;
  border-radius: 40rem;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: 1s;
  line-height: 1;
  box-shadow: 0 .6rem 1.4rem rgba(47, 92, 49, .32), 0 .2rem .4rem rgba(47, 92, 49, .22);
}

.cta-button:hover {
  box-shadow: 0 .9375rem 2.5rem rgba(47, 92, 49, .55);
  filter: brightness(1.1);
  transition: .4s cubic-bezier(.23, 1, .32, 1);
}

.cta-button::after {
  content: "";
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  background: url("/recruit/images/button-arrow.webp");
  background-size: cover;
  width: .9rem !important;
  height: 1.1rem !important;
}

.cta-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .55) 50%, transparent 100%);
  transform: translateX(-250%) skewX(-20deg);
  pointer-events: none;
  animation: ctaShine 4.5s ease-in-out infinite;
  will-change: transform;
}

@keyframes ctaShine {
  0% {
    transform: translateX(-250%) skewX(-20deg);
  }

  35%,
  100% {
    transform: translateX(400%) skewX(-20deg);
  }
}

@media (prefers-reduced-motion:reduce) {
  .cta-button::before {
    animation: none !important;
    display: none !important;
  }
}

#page-cloud-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9999;
  pointer-events: none;
  opacity: 1;
  transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1), transform 1.2s ease-out;
}

#page-cloud-overlay.is-loaded {
  opacity: 0;
  transform: scale(1.05);
}

.breadcrumb-container {
  padding: 2rem 0;
  position: relative;
  z-index: 10;
  width: 100%;
  margin-top: 2rem;
}

.single-voice-top .breadcrumb-container {
  position: absolute;
  top: 56rem;
  padding-left: 3rem;
  padding-right: 3rem;
}

.footer-kasou .breadcrumb-container {
  margin-top: -3rem;
}

.breadcrumb-list {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: .95rem;
  letter-spacing: 0;
  overflow: hidden;
  white-space: nowrap;
  max-width: 100%;
}

.breadcrumb-item {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.breadcrumb-item:last-child {
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
}

.breadcrumb-item:not(:last-child)::after {
  content: "/";
  margin: 0 .5rem;
  color: #ccc;
  font-family: sans-serif;
  font-weight: 400;
}

.breadcrumb-item a {
  text-decoration: none;
  color: var(--black2);
  transition: color .3s ease;
  font-weight: 400;
}

.breadcrumb-item a:hover {
  color: var(--green);
}

.breadcrumb-item[aria-current="page"] {
  color: var(--black);
  font-weight: 500;
}

@media (min-width:480px) {
  html {
    font-size: 12.5px;
  }

  .contents {
    max-width: 480px;
    min-height: 100dvh;
    margin: 0 auto;
    box-shadow: 0 0 40px #aaaaaa41;
    position: relative;
    width: 100%;
    background: rgba(255, 255, 255, .25);
    backdrop-filter: blur(.4rem);
    -webkit-backdrop-filter: blur(.4rem);
    position: relative;
    z-index: 2;
  }
}

body {
  background-color: #fff;
}

.contents {
  max-width: 480px;
  min-height: 100dvh;
  margin: 0 auto;
  box-shadow:
    0 0 4rem rgba(255, 255, 255, .55),
    0 0 12rem rgba(255, 255, 255, .3),
    0 0 24rem rgba(255, 255, 255, .18);
  position: relative;
  width: 100%;
  background: rgba(255, 255, 255, .15);
  backdrop-filter: blur(.4rem);
  -webkit-backdrop-filter: blur(.4rem);
  position: relative;
  z-index: 2;
}

.title {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 2.8rem;
  letter-spacing: .1em;
  line-height: 1.4;
  font-weight: 500;
}

.section {
  padding: 12rem 0;
}

.pc-header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100dvh;
  z-index: 1;
}

.header-nav {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
  height: 100dvh;
  width: 60%;
  max-width: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
}

.header-nav ul li {
  width: 100%;
}

.header-nav ul li a {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  position: relative;
  font-family: "Zen Old Mincho", sans-serif;
  letter-spacing: .15em;
}

.header-nav ul li.has-sub>a {
  pointer-events: none;
  cursor: default;
}

.header-nav ul li.has-sub .sub-links a {
  pointer-events: auto;
  cursor: pointer;
}

.header-nav .sub-links {
  list-style: none;
  padding: 0;
  margin: .4rem 0 0 1.2rem;
  display: flex;
  flex-direction: column;
  gap: .1rem;
}

.header-nav .sub-links li {
  width: auto;
}

.header-nav .sub-links a {
  font-size: 1.1rem;
  letter-spacing: .05em;
  opacity: 1;
  color: var(--black);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
}

.header-nav .sub-links a::before {
  content: "";
  width: .4rem;
  height: .4rem;
  border-radius: 50%;
  background: currentColor;
  opacity: .6;
  flex-shrink: 0;
}

.header-nav .sub-links a:hover {
  opacity: 1;
}

.header-nav ul li:has(>.button:not(.header-guide-btn)) {
  display: none !important;
}

.header-nav ul li .button:not(.header-guide-btn) {
  display: none !important;
}

@media (max-width:1279px) {

  .header-nav ul li:has(>.cta-button),
  .header-nav ul li:has(>.header-guide-btn) {
    display: none !important;
  }

  .header-nav ul li .cta-button,
  .header-nav ul li .header-guide-btn {
    display: none !important;
  }
}

@media (min-width:1280px) {
  .header-nav ul li:has(>.cta-button) {
    display: flex !important;
    width: auto !important;
    align-items: center;
    margin-top: 0 !important;
    margin-left: -.5rem !important;
    order: 100;
  }

  .header-nav ul li .cta-button {
    display: inline-block !important;
    width: 22rem;
    text-align: center;
  }

  .header-nav ul li:has(>.header-guide-btn) {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center;
    width: auto !important;
    margin-top: 1.6rem;
    order: 99;
  }

  .header-nav ul li .header-guide-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start;
    gap: .6rem;
    width: auto !important;
    margin: 0 !important;
    padding: 2rem 2.4rem 2rem 3rem !important;
    color: var(--green) !important;
    -webkit-text-fill-color: var(--green) !important;
    border: none !important;
    border-radius: 40rem !important;
    font-size: 1.6rem !important;
    font-weight: 500 !important;
    letter-spacing: .1em !important;
    line-height: 1 !important;
    text-decoration: none !important;
    font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
    transition: filter .3s ease !important;
    position: relative !important;
    overflow: visible !important;
    margin-top: -1rem !important;
  }

  .header-nav ul li .header-guide-btn::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  .header-nav ul li .header-guide-btn::after {
    content: "＋" !important;
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 1.6rem !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    color: var(--green) !important;
    -webkit-text-fill-color: var(--green) !important;
    margin-left: 0 !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .header-nav ul li .header-guide-btn:hover {
    filter: brightness(1.05);
  }
}

@media (min-width:1280px) and (max-width:1920px) {
  .header-nav ul li .header-guide-btn {
    padding: 1.9rem 6rem !important;
    margin-bottom: -1rem !important;
    margin-left: -0.5rem !important;
    padding-left: 6.5rem !important;
  }
}

/* contact / comfilm / thanks ページはヘッダーの応募/募集要項ボタンを非表示 */
@media (min-width:1280px) {

  body:has(.page-contact-top) .header-nav ul li:has(>.cta-button),
  body:has(.page-contact-top) .header-nav ul li:has(>.header-guide-btn) {
    display: none !important;
  }
}

.logo-top {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24rem;
  text-align: center;
}

.logo-top img {
  width: 100%;
}

.logo-top::after {
  content: "採用サイト";
  display: block;
  box-sizing: border-box;
  width: 95%;
  margin: .4rem 0 0;
  margin-left: 2%;
  padding: .4rem .8rem .6rem;
  background: var(--black2);
  color: #fff;
  font-size: 1.5rem;
  letter-spacing: .25em;
  text-indent: .25em;
  text-align: center;
  font-weight: 500;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}

.pc-head-left {
  width: calc(50% - 240px);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
}

.pc-head-right {
  width: calc(50% - 240px);
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
}

.logo-sp-top {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  position: absolute;
  top: .8rem;
  left: max(.6rem, calc(50vw - 21rem + .6rem));
  z-index: 100000;
}

.logo-sp-top img {
  width: 6rem;
  height: auto;
  object-fit: contain;
}

.sp-header:has(.full-nav.is-open) .logo-sp-top img {
  content: url("/recruit/images/logo-meet-white-sp.webp");
}

.sp-header:has(.full-nav.is-open) {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

.grade .logo-sp-top.logo-grade-sp::after {
  display: none !important;
  content: none !important;
}

@media (max-width:1280px) {
  .logo-sp-top img {
    width: 22rem;
  }

  .logo-sp-top::after {
    content: "採用サイト";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--green);
    color: #fff;
    font-size: 1.4rem;
    padding: .2rem 1.2rem;
    font-weight: 600;
    letter-spacing: .12em;
    white-space: nowrap;
    font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
    margin-left: -1rem;
  }

  .grade .logo-sp-top::after {
    background: var(--black2);
  }
}

.fv {
  background: url("/recruit/images/fv-back.webp");
  background-size: cover;
  background-position: right center;
  padding: 12rem 0;
  height: 80rem;
  position: relative;
}

.grade .fv {
  background-position: center center;
}

.blue .fv {
  background: url("/recruit/images/fv-back-blue.webp");
  background-size: cover;
  background-position: right center;
}

.fv h1 {
  font-size: 2.8rem;
  letter-spacing: .15em;
  line-height: 1.6;
  position: absolute;
  bottom: 29rem;
  left: 3rem;
}

.top .title {
  font-size: 2.8rem;
}

.top .title span {
  display: block;
  margin-bottom: 1rem !important;
}

.fv h1 .box {
  display: inline-block;
  opacity: 0;
  clip-path: inset(0 100% 0 -.4em);
  filter: blur(.25rem);
  text-shadow: 0 0 1.4rem rgba(255, 245, 220, .85), 0 0 3rem rgba(255, 235, 190, .55);
  animation: fvTitleSweep 1.1s cubic-bezier(.33, 1, .68, 1) forwards;
  will-change: clip-path, opacity, filter, text-shadow;
}

.fv h1 .box:nth-child(1) {
  animation-delay: .15s;
}

.fv h1 .box:nth-child(2) {
  animation-delay: .6s;
}

h1 .sep {
  display: inline-block;
  width: 0;
  height: 0.9em;
  border-left: 0.1rem solid currentColor;
  margin: 0 0.6em;
  vertical-align: -0.05em;
  opacity: 0.45;
  padding-right: 0.2em;
}

.fv p {
  opacity: 0;
  filter: blur(.8rem);
  transform: translateY(1rem);
  animation: fvParaFadeIn 1.6s cubic-bezier(.19, 1, .22, 1) 1.3s forwards;
  will-change: opacity, filter, transform;
}

@keyframes fvParaFadeIn {
  0% {
    opacity: 0;
    filter: blur(.8rem);
    transform: translateY(1rem);
  }

  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion:reduce) {
  .fv p {
    animation: none;
    opacity: 1;
    filter: none;
    transform: none;
  }
}

@keyframes fvTitleSweep {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 -.4em);
    filter: blur(.25rem);
    text-shadow: 0 0 1.4rem rgba(255, 245, 220, .85), 0 0 3rem rgba(255, 235, 190, .55);
  }

  45% {
    opacity: 1;
    text-shadow: 0 0 1.8rem rgba(255, 250, 230, .95), 0 0 4rem rgba(255, 240, 200, .7);
  }

  100% {
    opacity: 1;
    clip-path: inset(0 -.4em 0 -.4em);
    filter: blur(0);
    text-shadow: 0 0 0 rgba(255, 245, 220, 0), 0 0 0 rgba(255, 235, 190, 0);
  }
}

@media (prefers-reduced-motion:reduce) {
  .fv h1 .box {
    animation: none;
    opacity: 1;
    clip-path: none;
    filter: none;
    transform: none;
    text-shadow: none;
  }
}

@media (max-width:768px) {
  .fv h1 .box {
    filter: none !important;
    text-shadow: none !important;
    will-change: clip-path, opacity;
  }

  .fv h1 {
    bottom: 31rem;
  }

  .fv p {
    filter: none !important;
    will-change: opacity, transform;
    bottom: 21rem !important;
  }
}

.blue .fv h1 {
  bottom: 30rem;
}

.fv p {
  font-size: 2.2rem;
  position: absolute;
  bottom: 19rem;
  left: 3rem;
  letter-spacing: .1em;
  color: var(--black);
}

.box {
  background: var(--green);
  color: #fff;
  padding: .3rem 1.2rem 0;
  display: block;
  width: fit-content;
  margin-bottom: 1rem;
}

.blue .fv p .box-1 {
  margin-bottom: -2rem;
}

.top {
  background: #fff;
  padding-top: 4rem;
  padding-bottom: 0;
  position: relative;
}

.top-title,
.top .title .title-en {
  text-align: left;
  margin: 0;
}

.top .sec_inner {
  position: relative;
  z-index: 5;
}

.grade .top h2 {
  font-size: 2.8rem;
  letter-spacing: .1em;
  margin-bottom: 2.4rem;
  line-height: 1.9;
}

.top p {
  font-size: 1.6rem;
  letter-spacing: .1em;
  line-height: 2.4;
  margin-top: 4rem;
}

.top-people-box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 6.4rem;
  gap: 4rem;
}

.top-people-box img {
  width: 80%;
}

.top-2 {
  margin-left: 20%;
}

.grade .top-people-box {
  margin-top: 4.8rem;
  margin-bottom: 0;
}

.first-cta {
  position: relative;
  padding-top: 24rem;
}

.first-cta::after {
  content: "";
  position: absolute;
  top: -18rem;
  left: -10%;
  background: url("/recruit/images/kemuri.webp");
  background-size: cover;
  width: 110%;
  height: 32rem;
  rotate: 180deg;
}

.about {
  background: #fff;
  position: relative;
  padding-top: 12rem;
  padding-bottom: 0;
  overflow: hidden;
  z-index: 10;
}

.about .right {
  letter-spacing: .1em;
}

.about-ripple-system {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.about>.sec_inner,
.about>.shizuku,
.about>.shizuku-2,
.about>.shizuku-3 {
  position: relative;
  z-index: 1;
}

.about img {
  margin-bottom: 2rem;
  border-radius: 1rem;
}

.about .button {
  margin-top: 4rem;
  margin-bottom: 4rem !important;
}

.about p {
  font-size: 1.45rem;
  letter-spacing: .1em;
  line-height: 2.4;
  margin-top: 2.8rem;
  text-align: center;
}

.about .big {
  font-size: 2.4rem;
  letter-spacing: .2em;
  color: var(--black);
  font-weight: 600;
  text-align: center;
  line-height: 1.8;
  margin-top: -2.8rem;
}

.about .button {
  margin-top: 4rem !important;
}

.manager {
  background: url("/recruit/images/manager-back.webp");
  background-size: cover;
  background: #fff;
  position: relative;
  z-index: 6;
  padding-top: 8rem;
  padding-bottom: 1rem;
  margin-bottom: -12rem;
}

.manager h2 {
  line-height: 1.2;
  margin-bottom: 4rem;
}

.manager h2 .smallll {
  margin-bottom: -7rem;
}

.manager-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 12rem;
  margin-top: 8rem;
}

.more-top {
  display: inline-block !important;
  visibility: visible !important;
  cursor: pointer;
  text-align: center;
}

.message-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transition: max-height .8s ease, opacity .8s ease, visibility .8s;
}

.message-content p {
  font-family: "Zen Old Mincho", sans-serif;
  letter-spacing: .1em;
  font-weight: 600;
}

.message-content.is-open {
  max-height: 1000px;
  opacity: 1;
  visibility: visible;
  margin-top: -2.4rem;
  background: rgb(247 247 247 / 85%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: .1rem solid rgb(255, 255, 255);
  padding: 4rem 2.8rem;
}

.more-top.is-hide {
  opacity: 0;
  pointer-events: none;
  display: none !important;
}

.manager .name {
  background: var(--green);
  color: #fff;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  padding: 1.6rem 2rem .6rem;
  width: fit-content;
  margin: 0 auto;
  margin-top: -2.8rem;
  position: relative;
  z-index: 5;
}

.manager .name .small {
  margin-right: 1rem;
}

.manager-box h3 {
  text-align: center;
  font-size: 1.6rem;
  margin-top: 4rem;
  letter-spacing: .1em;
  line-height: 1.6;
  width: 130%;
  margin-left: -15%;
}

.manager-box h3 .green {
  font-size: 2.6rem;
  color: var(--green);
  letter-spacing: .1em;
}

.manager-box .more-top {
  margin-top: 4rem;
}

.manager-box .more::after {
  transform: translateX(8.4rem);
}

.grade .more::after {
  background: var(--black2);
}

.grade .manager .name {
  background: var(--black2);
}

.store {
  background: var(--shibuya-main3);
  position: relative;
  padding: 32rem 0 14rem;
}
.store .title{
  margin-bottom: -4rem;
}
.store .store-other-wrap h3 {
  text-align: center;
  font-size: 2.4rem;
  letter-spacing: .1em;
  font-weight: 500;
  margin-top: 2.8rem;
}

.store-section {
  background: #fff;
}

.store-section::after {
  display: none;
}

.manager-box {
  position: relative;
  z-index: 5;
  width: 100%;
}

.manager-box::after {
  content: "";
  position: absolute;
  background: var(--gra1);
  top: -3rem;
  left: -3.4rem;
  width: 34.5rem;
  height: 34.5rem;
  z-index: -1;
}

.store-other-box {
  position: relative;
}

.section.feature {
  background: #fff;
  padding-top: 8rem;
  padding-bottom: 0;
}

.grade .section.feature {
  background: linear-gradient(to bottom, #fff 0%, var(--shibuya-main3) 100%);
  padding-bottom: 24rem;
  padding-top: 8rem;
}

.section.feature .button {
  position: relative;
  z-index: 5;
  margin-top: 4rem !important;
}

.page-feature .feature-wrap {
  gap: 12rem;
}

.page-feature {
  padding-bottom: 4rem !important;
  background: #fff;
}

.page-feature h2 {
  font-size: 2.4rem;
  text-align: center;
}

.feature-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
  margin-top: 4.8rem;
}

.page-feature .feature-wrap {
  background: linear-gradient(to bottom, #fff 30%, var(--shibuya-main3) 100%);
}

.page-feature .feature-wrap .feature-box:last-of-type {
  padding-bottom: 16rem;
}

.feature-box {
  width: 100%;
  position: relative;
}

.feature-box h3 {
  font-size: 2.2rem;
  margin-top: 2.4rem;
  margin-bottom: 1.6rem;
  font-weight: 600;
  letter-spacing: .1em;
}

.feature-box h3 .green {
  font-weight: 600;
}

.feature-box h3 .small {
  font-size: inherit;
}

.feature .number {
  position: absolute;
  top: -2rem;
  left: -3rem;
  width: 12rem;
  height: 12rem;
  font-size: 4.8rem;
  letter-spacing: 0;
  text-align: center;
  padding-top: 2.4rem;
  padding-left: 1rem;
  color: var(--green);
  font-family: "Cardo", serif;
}

.feature .number.shizuku {
  background: rgba(255, 255, 255, .85);
}

.feature .order4 .number {
  left: initial;
  right: -3rem;
  padding-right: 2.8rem;
}

.feature .button {
  margin-top: -2rem;
}

.feature {
  position: relative;
  overflow: visible;
}

.feature::after {
  content: "";
  position: absolute;
  bottom: -20rem;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 0;
}

.feature>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
  font-size: 2rem;
  letter-spacing: .15em;
  line-height: 1.75;
}

.page-feature {
  padding-top: 8rem;
}

.blue .button::after {
  background: url("/recruit/images/blue-arrow.webp");
  background-size: cover;
}

.blue .cta-button {
  background: linear-gradient(135deg, #4a7b91 0%, #7bb2cb 80%);
}

.cta {
  background: url("/recruit/images/cta-back.webp");
  background-size: cover;
  padding: 28rem 0 0;
  overflow: hidden;
  position: relative;
  z-index: 5;
}

.hikari-ball {
  position: absolute;
  bottom: -2rem;
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .4) 40%, rgba(255, 255, 255, 0) 80%);
  box-shadow: 0 0 1rem rgba(255, 255, 255, .6), 0 0 2.5rem rgba(255, 255, 255, .3);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  filter: blur(.0625rem);
}

@media (max-width:480px) {
  .hikari-ball {
    filter: none;
    box-shadow: 0 0 .8rem rgba(255, 255, 255, .5);
  }
}

.cta>.hikari-ball {
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .55) 42%, rgba(255, 255, 255, 0) 82%);
  box-shadow: 0 0 1.2rem rgba(255, 255, 255, .7), 0 0 2.7rem rgba(255, 255, 255, .4);
}

@media (max-width:480px) {
  .cta>.hikari-ball {
    box-shadow: 0 0 1rem rgba(255, 255, 255, .65);
  }
}

@keyframes riseUpWithSway {
  0% {
    transform: translateY(0) translateX(0) scale(.3);
    opacity: 0;
  }

  20% {
    opacity: .8;
  }

  50% {
    transform: translateY(-20rem) translateX(3rem) scale(1);
  }

  80% {
    opacity: .8;
  }

  100% {
    transform: translateY(-50rem) translateX(-2rem) scale(1.5);
    opacity: 0;
  }
}

.cta .sec_inner {
  position: relative;
  z-index: 2;
}

.cta h2 {
  font-size: 3.6rem;
  text-align: center;
  letter-spacing: .1em;
  line-height: 1.4;
  margin-bottom: 2.4rem;
}

.cta h2 .small {
  font-size: 2rem;
  display: block;
  margin-top: 1.6rem;
}

.cta-people {
  width: 84%;
  margin: 2rem auto 0;
}

.blue .cta-people {
  width: 85%;
}

.blue footer .cta-people {
  width: 100%;
}

.cta .button {
  background: rgba(255, 255, 255, .8) !important;
}

.cta .button-box {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  transform: translateY(-30rem);
  margin-bottom: -14rem;
}

.blue .cta .button-box {
  transform: translateY(-20rem);
}

footer .cta .button-box {
  transform: translateY(1.5rem);
  margin-bottom: 4rem;
  position: relative;
  z-index: 20 !important;
}

footer .cta-people {
  width: 100%;
  position: relative;
  z-index: 20 !important;
}

footer.footer-kasou .cta>.sec_inner {
  position: relative;
  z-index: 20 !important;
}

.cta .button-box .small {
  font-size: 1.2rem;
  display: inline-block;
  margin-top: -.2rem;
}

.cta .flex {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: .6rem;
}

.cta .flex a {
  display: block;
  font-size: 1.4rem;
  letter-spacing: .02em;
  position: relative;
  padding: 1.8rem 0;
}

.tell img {
  width: 1.4rem;
  position: absolute;
  top: 2rem;
  left: 1.4rem;
}

.line img {
  width: 2rem;
  position: absolute;
  top: 1.7rem;
  left: 1.2rem;
}

.cta .flex a::after {
  right: 1.2rem;
}

.line,
.tell {
  padding-left: 1rem !important;
}

.news .splide__arrow img,
.column .splide__arrow img,
.news .splide__arrow svg,
.column .splide__arrow svg {
  display: none !important;
}

.news .splide__arrow--next::before,
.column .splide__arrow--next::before {
  content: "＞";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.news .splide__arrow--prev::before,
.column .splide__arrow--prev::before {
  content: "＜";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.news .splide__arrow,
.column .splide__arrow {
  top: 16rem !important;
}

.news .splide__arrow--prev,
.column .splide__arrow--prev {
  left: 2.2rem !important;
}

.news .splide__arrow--next,
.column .splide__arrow--next {
  right: 2.2rem !important;
}

.news .splide__pagination {
  bottom: 8rem !important;
  padding: 0;
}

.column .splide__pagination {
  bottom: -3.6rem !important;
  padding: 0;
}

.splide__pagination__page {
  background: var(--gray2);
  border: none;
  margin: .6rem !important;
  border-radius: 50%;
  display: inline-block;
  height: .5rem !important;
  margin: 0 .3rem;
  padding: 0;
  width: .5rem !important;
  transition: background-color .3s, transform .3s;
  opacity: 1;
}

.splide__pagination__page.is-active {
  background: var(--green) !important;
  transform: scale(1.2);
}

.splide__pagination__page:hover {
  background: #666;
}

.news .button {
  margin-top: -6rem !important;
}

.column .button {
  margin-top: -6rem !important;
}

.rank.section {
  background: linear-gradient(to bottom, #fff 0%, var(--shibuya-main3) 100%);
  padding-bottom: 22rem;
  padding-top: 12rem;
  position: relative;
  z-index: 10;
}

.rank.section::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20rem;
  width: 100%;
  height: 40rem;
  background: url(/recruit/images/kumo.webp) center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.small-p {
  font-size: 1.2rem;
  text-align: center;
  margin-top: .8rem;
  letter-spacing: .1em;
}

.rank-menu-box {
  background: url("/recruit/images/first-time-back.webp");
  background-size: cover;
  display: flex;
  flex-wrap: wrap;
  padding: 4rem 3rem;
  margin-top: 2.4rem;
  position: relative;
}

.rank-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #ccc;
}

.minutes,
.rank-menu .price {
  font-size: 1.6rem;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  letter-spacing: .1em;
}

.minutes .big,
.rank-menu .price .big {
  font-size: 2.8rem;
  letter-spacing: .1em;
}

.minutes {
  position: relative;
}

.minutes::after {
  content: "・・・";
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  left: 11.8rem;
  font-size: 1.2rem;
  color: var(--black2);
}

.rank-section h3 {
  font-size: 2.4rem;
  text-align: center;
  letter-spacing: .15em;
}

.rank-section h3 .small {
  font-size: 1.4rem;
  display: block;
  letter-spacing: .15em;
  margin-top: .4rem;
}

.rank-wrap {
  margin-top: 6.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 10rem;
}

.rank-menu-box h4 {
  font-size: 2rem;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  position: absolute;
  top: -1.4rem;
  left: 0;
  width: 100%;
  text-align: center;
  letter-spacing: .15em;
}

.rank-menu-box.bottom {
  margin-bottom: 4.8rem;
}

.rank-section {
  width: 100%;
}

.rank-price-box {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4rem;
  border: 1px solid #eee;
  position: relative;
}

.rank-price-box::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #eee;
  position: absolute;
  top: 0;
  left: calc(50% - .5px);
}

.rank-price-box-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem 0;
}

.rank-price-box-box p {
  width: 50%;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  color: var(--black);
}

.rank-price-box-box .rank {
  font-size: 1.6rem;
  text-align: center;
  background: none;
  letter-spacing: .1em;
}

.rank-price-box-box .price {
  font-size: 1.4rem;
  letter-spacing: .1em;
}

.rank-price-box-box .price .big {
  font-size: 2.4rem;
  letter-spacing: .1em;
}

.rank-price-box-box .price .big-2 {
  font-size: 1.6rem;
  padding-right: .8rem;
  letter-spacing: .1em;
}

.gold {
  background: linear-gradient(to right, #FFF2D9 0%, #fff 50%, #FFF2D9 100%);
}

.pratina {
  background: linear-gradient(to right, #C6E3DA 0%, #fff 50%, #C6E3DA 100%);
}

.crystal {
  background: linear-gradient(to right, #bacdbe 0%, #fff 50%, #bbcdbe 100%);
}

.daiya {
  background: url("/recruit/images/daiya.webp");
  background-size: cover;
}

.eme {
  background: url("/recruit/images/eme.webp");
  background-size: cover;
  padding: 1.4rem 0;
}

.siro {
  padding: 1.4rem 0;
  border-bottom: 1px solid #eee;
}

.rank-about-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.4rem;
}

.rank-about-wrap .green {
  font-weight: 600;
}

.rank-about-box {
  background: url("/recruit/images/first-time-back.webp");
  background-size: cover;
  width: 100%;
  padding: 4rem 3rem;
  position: relative;
}

.rank-about-box::after {
  content: "";
  position: absolute;
  bottom: -2rem;
  left: 50%;
  transform: translateX(-50%);
  background: url("/recruit/images/purasu.webp");
  background-size: cover;
  width: 3rem;
  height: 3rem;
  z-index: 5;
}

.rank-about-box:last-of-type:after {
  background: url("/recruit/images/first-arrow.webp");
  background-size: cover;
  width: 6.4rem;
  height: 2.78rem;
}

.rank-about-box h4 {
  font-size: 2.2rem;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  text-align: center;
  border-bottom: 1px solid #eee;
  padding-bottom: .6rem;
  margin-bottom: 1.4rem;
  letter-spacing: .15em;
}

.rank-about-box p {
  text-align: center;
  font-weight: 500;
}

.eme-p {
  background: var(--green);
  background-size: cover;
  color: #fff !important;
  padding: 1.4rem 0;
  width: 100%;
  font-size: 2.2rem;
  letter-spacing: .15em;
  font-weight: 600;
  text-align: center;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  margin-top: 2.4rem;
}

.rank-about-box .green {
  font-size: 1.6rem;
}

.rank-about-box .big {
  font-size: 2.4rem;
  display: inline-block;
  margin-left: .2rem;
  margin-right: .2rem;
  line-height: 1;
  font-weight: 500;
}

.rank-example-box .small-p {
  opacity: .5;
}

.price-end {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  border-bottom: 1px solid var(--black3);
  line-height: 1.4;
}

.price-end .big {
  font-size: 3.2rem;
  display: inline-block;
  margin-left: .2rem;
  letter-spacing: 0;
}

.example-img-box img {
  width: 30%;
  margin: 0 auto;
}

.example-img-box .name {
  font-weight: 500;
  margin-top: .4rem;
  font-size: 1.2rem;
}

.example-img-box .name .big {
  font-size: 2rem;
}

.example-img-box .name-2 {
  text-align: center;
  font-weight: 500;
  margin-top: -1rem;
  margin-bottom: 2rem;
}

.rank-example-box {
  background: url("/recruit/images/first-time-back.webp");
  background-size: cover;
  background-position: center;
  padding: 4rem 2.5rem;
  margin-top: 2rem;
  box-shadow: 0 0 40px #ddddddaf;
  border-radius: 1rem;
}

.rank-example-box .box {
  display: none;
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity .8s ease, transform .8s ease;
}

.rank-example {
  margin-top: 8rem;
}

.rank-example-box .box.is-show {
  display: block;
}

.rank .more.is-hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity .4s ease;
}

.rank .more {
  margin-top: 4rem;
}

.voice {
  background: url("/recruit/images/voice-back.webp");
  background-size: cover;
  padding-top: 27rem;
  padding-bottom: 22rem;
  position: relative;
  overflow: hidden;
}

.voice>.hikari-ball,
.store-voice>.hikari-ball {
  z-index: 1;
}

.voice>*:not(.hikari-ball),
.store-voice>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.voice::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 24rem;
  background: url("/recruit/images/kemuri.webp");
  background-size: cover;
}

.green {
  color: var(--green);
}

.smallll {
  font-size: 1.6rem;
  display: block;
  margin-bottom: -5.4rem;
}

.voice .name {
  text-align: center;
  padding: 0;
  width: fit-content;
  margin: 0 auto;
  margin-top: -8rem;
  margin-bottom: .4rem;
  position: relative;
  z-index: 5;
  font-size: 2.2rem;
  line-height: 1;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  font-weight: 600;
  color: var(--black);
  letter-spacing: .1em;
  white-space: nowrap;
}

.voice .name .small {
  display: inline;
  margin-bottom: 0;
}

.voice .mini {
  text-align: center;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  color: var(--black);
  letter-spacing: 0;
}


.voice h3 {
  margin-top: 4rem;
  font-size: 1.8rem;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 4rem;
  font-weight: 600;
}

.voice h3 span {
  font-weight: 700;
  letter-spacing: 0;
  display: block;
  line-height: 1.4;
  margin-top: .4rem;
}

.voice .title {
  margin-bottom: 4rem;
}

.voice .splide__slide img {
  padding: 0 1.2rem;
}

.voice-wrap {
  margin-bottom: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  margin-top: 6.4rem;
}

.voice .splide__arrow {
  top: 19rem !important;
}

.voice .splide__arrow--next,
.before-after .splide__arrow--next {
  right: -.5rem !important;
}

.voice .splide__arrow--prev,
.before-after .splide__arrow--prev {
  left: -.5rem !important;
}

.voice .splide__pagination {
  bottom: .5rem !important;
}

.voice .voice-box {
  width: 80%;
  display: block;
  position: relative;
}

.voice .voice-box .number {
  font-size: 4rem;
  color: var(--green);
  letter-spacing: .1em;
  position: absolute;
  top: -3rem;
  left: 50%;
  transform: translateX(-50%);
}

.voice-box-2 {
  margin-left: 20%;
}

.voice-box-2 .shizuku {
  right: initial;
  left: -35rem;
}

.shizuku {
  position: absolute;
  right: -35rem;
  top: 0;
  display: inline-block;
  width: 40rem;
  height: 40rem;
  border-radius: 50% 50% 45% 65% / 60% 50% 65% 45%;
  background: rgba(255, 255, 255, .05);
  box-shadow: inset .625rem 1.25rem 1.875rem rgba(0, 0, 0, .05), inset -.3125rem -.625rem 1.25rem rgba(255, 255, 255, .6), 0 1.25rem 2.5rem rgba(0, 0, 0, .05);
  backdrop-filter: blur(.3125rem);
  -webkit-backdrop-filter: blur(.3125rem);
  animation: shizukuMove 8s ease-in-out infinite;
  transform-style: preserve-3d;
}

.shizuku::before {
  content: "";
  position: absolute;
  top: 15%;
  left: 20%;
  width: 2.5rem;
  height: 1.875rem;
  background: rgba(255, 255, 255, .9);
  border-radius: 50%;
  filter: blur(.125rem);
  transform: rotate(-15deg);
  z-index: 2;
}

.shizuku::after {
  content: "";
  position: absolute;
  bottom: 20%;
  right: 25%;
  width: 1.25rem;
  height: 1.25rem;
  background: rgba(255, 255, 255, .3);
  border-radius: 50%;
  filter: blur(.25rem);
  z-index: 1;
}

@keyframes shizukuMove {

  0%,
  100% {
    border-radius: 50% 50% 45% 65% / 60% 50% 65% 45%;
    transform: translate(0, 0) rotate(0deg);
  }

  25% {
    border-radius: 60% 40% 55% 50% / 50% 60% 45% 60%;
    transform: translate(.125rem, .3125rem) rotate(1deg);
  }

  50% {
    border-radius: 45% 65% 50% 50% / 65% 45% 60% 50%;
    transform: translate(-.125rem, .625rem) rotate(-1deg);
  }

  75% {
    border-radius: 55% 50% 60% 45% / 45% 65% 50% 60%;
    transform: translate(.3125rem, .3125rem) rotate(.5deg);
  }
}

.before-after {
  background: #fff;
  position: relative;
  padding-top: 10rem;
  padding-bottom: 0;
  z-index: 10;
}

.before-after-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6.4rem;
  margin-top: 4rem;
}

.before-after-box {
  position: relative;
}

.before-after-box .number {
  position: absolute;
  top: -4.5rem;
  left: -4rem;
  background: url(/recruit/images/green-big-sizuku.webp);
  background-size: cover;
  width: 12rem;
  height: 12.4rem;
  scale: .6;
  color: #fff;
  font-size: 4.8rem;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 5;
}

.before-after-bottom-posi {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 17.5rem;
}

.before-after-bottom-posi h3 {
  font-size: 1.48rem;
  letter-spacing: .1em;
}

.before-after-bottom-posi p {
  font-size: 2rem;
  color: var(--black);
  line-height: 1;
  margin-top: 1rem;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  font-weight: 600;
  letter-spacing: 0;
}

.before-after-bottom-posi p .big {
  font-size: 4rem;
  letter-spacing: 0;
  display: inline-block;
  margin-left: .3rem;
  margin-right: .3rem;
  font-weight: 400;
}

.before-after-bottom-posi p .big2 {
  font-size: 3.2rem;
  font-weight: 600;
}

.before-box .before-after-bottom-posi p .big {
  color: var(--black2);
}

.after-box .before-after-bottom-posi p .big {
  color: var(--green);
}

.before-box .before {
  background: #EDEDED;
  font-size: 1.8rem;
  text-align: center;
  padding: 1rem 0;
  line-height: 1;
  letter-spacing: .3em;
  display: block;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
}

.after-box .after {
  background: var(--gra1);
  font-size: 1.8rem;
  letter-spacing: .3em;
  text-align: center;
  padding: 1rem 0;
  line-height: 1;
  display: block;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
}

.before-bottom {
  position: relative;
}

.before-bottom .coment-wrap-none {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
  margin-top: 4rem;
}

.coment-box.none {
  background: none;
  width: 100%;
  padding: 0;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
}

.coment-box.none .coment-box-left {
  width: 7rem;
  flex-shrink: 0;
  text-align: center;
}

.coment-box.none .coment-box-left img {
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto .6rem;
  border: .2rem solid rgba(255, 255, 255, .9);
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), 0 .2rem .4rem rgba(0, 0, 0, .04);
}

.coment-box.none .coment-box-left .name2 {
  margin-top: .2rem;
  display: block;
  font-size: 1.15rem;
  letter-spacing: .05em;
  color: var(--black2);
}

.coment-box.none .coment-box-right {
  width: calc(100% - 8.6rem);
  padding: 1.8rem 2rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, .55) 100%);
  backdrop-filter: blur(1.2rem) saturate(180%);
  -webkit-backdrop-filter: blur(1.2rem) saturate(180%);
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: 1.6rem;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, .06), inset 0 1px 0 rgba(255, 255, 255, .6);
}

.coment-box.none .coment-box-right::after {
  content: "";
  position: absolute;
  top: 2rem;
  left: -.7rem;
  width: 1.4rem;
  height: 1.4rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, .7) 100%);
  background-image: linear-gradient(135deg, rgba(255, 255, 255, .85) 0%, rgba(255, 255, 255, .7) 100%);
  border-left: 1px solid rgba(255, 255, 255, .85);
  border-bottom: 1px solid rgba(255, 255, 255, .85);
  border-radius: 0 0 0 .3rem;
  transform: rotate(45deg);
  backdrop-filter: blur(1.2rem) saturate(180%);
  -webkit-backdrop-filter: blur(1.2rem) saturate(180%);
  box-shadow: -.2rem .2rem .6rem rgba(0, 0, 0, .03);
}

.coment-box.none .coment-box-right p {
  font-size: 1.35rem;
  line-height: 1.85;
  letter-spacing: .04em;
  color: var(--black);
  font-weight: 400;
  margin: 0;
}

.coment-box.none.order .coment-box-right::after {
  left: initial;
  right: -.7rem;
  top: 2rem;
  transform: rotate(225deg);
  border-radius: 0 0 0 .3rem;
}

.order .coment-box-right {
  order: 1;
}

.order .coment-box-left {
  order: 2;
}

.order .coment-box-right::after {
  rotate: 180deg;
  left: initial;
  right: -2.5rem;
  top: 27%;
}

.name2 .small {
  font-size: .8rem;
}

.your {
  background: var(--gray);
  position: relative;
  padding-top: 8rem;
}

.your .sec_inner {
  position: relative;
  z-index: 5;
}

.your-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 4rem;
}

.your-box {
  position: relative;
}

.your-box h3 {
  position: absolute;
  left: 3rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.8rem;
  letter-spacing: 0;
}

.your-box-2 h3 {
  left: initial;
  right: 3rem;
}

.your .coment-box {
  margin-top: 4rem;
}

.your-work {
  margin-top: 8rem;
}

.your-work .title {
  line-height: 1;
  margin-bottom: 4rem;
}

.your-work .title .small {
  font-size: 2.4rem;
}

.your-work .title .big {
  font-size: 2.8rem;
  font-weight: 400;
  display: inline-block;
  line-height: 1.2;
  margin-right: .2rem;
}

.your-work-box {
  position: relative;
  padding: 8rem 2.8rem 7.2rem;
  z-index: 5;
}

.your-work-box>* {
  position: relative;
  z-index: 10;
}

.your-work-box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, .5);
  backdrop-filter: blur(1.25rem);
  -webkit-backdrop-filter: blur(1.25rem);
  border: .2rem solid rgba(255, 255, 255, 1);
  box-shadow: 0 .5rem 2rem rgba(0, 0, 0, .08);
  z-index: 2;
}

.your-work-box::after {
  content: "";
  background: linear-gradient(225deg, #fff5dc 0%, #fff2c9 100%);
  width: 100%;
  height: calc(100% + 6rem);
  position: absolute;
  top: -3rem;
  left: -3rem;
  z-index: -1;
  opacity: .8;
}

.your-work-box-2::after {
  content: "";
  background: linear-gradient(135deg, #ebffdc80 0%, #97c07e47 100%);
  width: 100%;
  height: calc(100% + 6rem);
  position: absolute;
  top: -3rem;
  left: initial;
  right: -3rem;
  z-index: -1;
}

.your-work-box-3::after {
  background: linear-gradient(135deg, #d9e4e8 0%, #aad4e3 100%);
}

.your-work-box-1 {
  --green: #e3b426;
}

.your-work-box-3 {
  --green: #49a8be;
}

.your-work-box .number {
  font-size: 4rem;
  letter-spacing: .1em;
  position: absolute;
  top: -3rem;
  left: 0;
  font-family: "Cardo", serif;
}

.your-work-box .img-box {
  position: relative;
}

.cate-name {
  display: block;
  background: var(--green);
  text-align: center;
  color: #fff;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  font-size: 1.8rem;
  width: fit-content;
  padding: .4rem 2rem 0;
  margin: 0 auto;
  margin-top: 2.4rem;
  margin-bottom: -2.8rem;
}

.your-work-box h3 {
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: .1em;
  margin-bottom: 1.4rem;
}

.price {
  font-size: 2rem;
  text-align: center;
  color: var(--green);
  letter-spacing: .1em;
}

.your .price {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}

.price .big {
  font-size: 3.6rem;
  letter-spacing: .1em;
  font-family: "Cardo", serif;
}

.your-sche {
  padding-top: 4.8rem;
  margin-top: 4rem;
  border-top: 1px solid #aaa;
}

.gray {
  text-align: center;
}

.hyou {
  display: flex;
  justify-content: space-between;
}

.hyou p {
  font-size: 1.2rem;
  background: #fff;
  height: 8rem;
  width: 16.6%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
}

.hyou .kantei {
  width: 25%;
  background: var(--green);
  color: #fff;
  text-align: center;
}

.gray {
  font-size: 1.4rem;
  margin-bottom: .4rem;
  margin-top: 2rem;
}

.gray2 {
  font-size: 1.4rem;
  text-align: center;
  margin-top: .4rem;
}

.your .coment-box-right p {
  font-size: 1.3rem;
}

.your .coment-box-right {
  padding: 1rem !important;
}

.your-sche {
  display: none;
  opacity: 0;
  height: 0;
  overflow: hidden;
}

.more-button {
  cursor: pointer;
  transition: opacity .3s ease;
}

.your .more {
  margin-top: 4.8rem;
}

.your .more::after {
  transform: translateX(9rem);
}

.your-work-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10rem;
  margin-top: 6.8rem;
}

.first-first {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  margin-bottom: 12rem;
  position: relative;
  z-index: 2;
}

.first-link-button-2 {
  margin-top: 4rem;
}

.first-first .shizuku {
  right: -18rem;
  top: 10rem;
  display: inline-block;
  width: 30rem;
  height: 30rem;
}

.first-first .shizuku-2 {
  width: 30rem;
  height: 30rem;
  right: initial;
  left: -18rem;
  top: 32rem;
}

.first-first img {
  width: 90%;
}

.first-first .img-2 {
  margin-left: 10%;
}

.first-first::after {
  content: "";
  width: 40rem;
  height: 45rem;
  background: var(--gra1);
  position: absolute;
  top: 4rem;
  left: 0;
  z-index: -1;
}

.first {
  background: #fff;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
  z-index: 5;
}

.first-p {
  margin-top: 2rem;
  text-align: center;
  line-height: 1.6;
}

.first h3 {
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: .1em;
  position: relative;
}

.first-step-box {
  position: relative;
}

.first-step-box:last-of-type:after {
  display: none;
}

.first-step-box-left {
  position: relative;
}

.first-step-box-left .number {
  font-size: 2.4rem;
  position: absolute;
  top: -1rem;
  left: -1rem;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, .45);
  box-shadow: inset .625rem 1.25rem 1.875rem rgba(0, 0, 0, .08), inset -.3125rem -.625rem 1.25rem rgba(255, 255, 255, .85), 0 1.25rem 2.5rem rgba(0, 0, 0, .08);
}

.first-step-box-left .shizuku {
  width: 5rem;
  height: 5rem;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
}

.first-step-box-left .shizuku::before {
  width: 1.2rem;
  height: .875rem;
}

.first-step-section {
  background: var(--gra1);
  margin-top: 4rem;
  padding: 4.8rem 2.5rem 0;
}

.first-step-wrap {
  margin-top: 2.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 6.4rem;
}

.first-step-right h4 {
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  font-size: 2.2rem;
  letter-spacing: .1em;
  margin-top: 2rem;
  text-align: center;
}

.first-step-right p {
  line-height: 1.7;
  text-align: center;
  margin-top: .5rem;
  color: var(--black);
  opacity: .7;
}

.first-time-box {
  background: url("/recruit/images/first-time-back.webp");
  background-size: cover;
  padding: 4rem 0;
  margin-top: 4rem;
}

.first-time-box h4 {
  font-size: 2rem;
  text-align: center;
}

.first-time {
  font-size: 2.4rem;
  text-align: center;
  color: var(--green);
  margin-top: -2rem;
  letter-spacing: .15em;
}

.first-time .big {
  font-size: 4.4rem;
  font-weight: 400;
}

.first-time-box .small {
  font-size: 1.2rem;
  text-align: center;
  margin-top: -.8rem;
}

.first .coment-wrap-none {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 4rem;
}

.first .coment-box-right p {
  font-size: 1.3rem;
}

.coment-box {
  align-items: center;
}

.center {
  text-align: center;
}

.requirements h2 {
  margin-bottom: 1rem;
}

.requirements-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
  margin-top: 6.4rem;
}

.promise-3 {
  position: relative;
  padding-top: 8rem;
}

.promise-3 .small {
  font-size: 2.8rem;
  margin-left: .5rem;
  margin-right: .3rem;
}

.promise-3-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  margin-bottom: 0rem;
}

.mainasu {
  margin-top: -4rem;
}

.promise-box-3 {
  width: 100%;
  padding: 4rem 2.5rem;
}

.promise-box-3 h3 {
  font-size: 2.4rem;
  margin-bottom: .8rem;
  letter-spacing: .1em;
}

.promise-box-3 p {
  font-size: 1.5rem;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  letter-spacing: .05em;
  line-height: 1.8;
  font-weight: 600;
}

.requirements-box::after,
.requirements-box::before,
.requirements-ul::after,
.requirements-ul::before,
.no-box::before,
.no-box::after,
.no-box-content::before,
.no-box-content::after {
  content: "";
  width: 8rem;
  height: 8rem;
  background: url("/recruit/images/kira.webp");
  background-size: cover;
  position: absolute;
}

.requirements-box::after {
  top: 0;
  left: 0;
}

.requirements-box::before {
  top: 0;
  right: 0;
  rotate: 90deg;
}

.requirements-ul::after {
  rotate: 270deg;
  bottom: -4.8rem;
  left: -2.8rem;
}

.requirements-ul::before {
  rotate: 180deg;
  bottom: -4.8rem;
  right: -2.4rem;
}

.requirements-box {
  background: rgba(255, 255, 255, .1);
  backdrop-filter: blur(4rem);
  -webkit-backdrop-filter: blur(4rem);
  box-shadow: 0 .5rem 2rem rgba(0, 0, 0, .08);
  padding: 4.8rem 2.4rem;
  padding-left: 2.8rem;
  position: relative;
}

.requirements-box h3 {
  display: block;
  width: fit-content;
  background: var(--green);
  font-size: 2.2rem;
  color: #fff;
  margin: 0 auto;
  margin-top: -6.5rem;
  padding: .6rem 2rem .2rem;
  letter-spacing: .1em;
  margin-bottom: 4rem;
}

/* 必須条件（1つ目）だけ濃い緑にして強調 */
.requirements-box:first-of-type h3 {
  background: #55734d;
}

.requirements-ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  position: relative;
}

.requirements-box li {
  font-size: 1.4rem;
  padding-left: 2rem;
  position: relative;
  line-height: 1.8;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  font-weight: 400;
  letter-spacing: .07em;
  width: 100%;
}

.requirements-box li::after {
  content: "";
  width: 1.1rem;
  height: 1.4rem;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background: conic-gradient(from 45deg at 50% 50%, #b6d5b2 0deg, #6a9a6c 90deg, #3f6c40 180deg, #6a9a6c 270deg, #b6d5b2 360deg);
  filter: drop-shadow(0 .15rem .35rem rgba(86, 137, 88, .5));
  position: absolute;
  top: .55rem;
  left: 0;
}

.origin p {
  font-size: 1.6rem;
}

.message-2 p {
  font-size: 1.6rem;
}

.flow {
  background: #fff;
  position: relative;
  z-index: 12;
  padding-bottom: 10rem;
  padding-top: 10rem;
}

.flow-cate-box {
  display: flex;
  border-radius: 40rem;
  overflow: hidden;
  width: 100%;
  position: relative;
  z-index: 10;
}

.flow-cate {
  padding: 1.4rem 2rem 1rem;
  cursor: pointer;
  background: #eee;
  color: #979797;
  font-size: 1.6rem;
  width: 50%;
  text-align: center;
}

.flow-cate.active {
  background: var(--green);
  color: #fff;
}

.flow-wrap {
  padding: 4rem 0 0;
  gap: 1rem;
  display: none;
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity .6s ease, transform .6s ease;
  flex-wrap: wrap;
}

.flow-wrap.is-show {
  display: flex;
  opacity: 1;
  transform: translateY(0);
}

#flow-normal.is-show {
  display: flex;
}

.flow-box {
  display: flex;
  margin-bottom: 2rem;
  align-items: center;
  position: relative;
  width: 100%;
}

.flow-box:last-of-type:after {
  display: none;
}

.flow-left {
  margin-right: 2rem;
  position: relative;
}

.flow-right {
  width: calc(100% - 15rem);
  position: relative;
}

.flow-right .number {
  width: 5rem;
  height: 5rem;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: .4rem;
  color: var(--green);
  margin: 0 auto;
  margin-bottom: 1.6rem;
  margin-top: -1.2rem;
  right: 7rem;
  top: -1rem;
  font-family: "Cardo", serif;
}

.flow-right .shizuku::before {
  width: 1.5rem;
  height: .875rem;
}

.flow-left img {
  width: 15rem;
  height: auto;
  border-radius: 1rem;
}

.flow-right h3 {
  font-size: 2rem;
  letter-spacing: .05em;
  text-align: center;
  margin-top: 4.8rem;
}

.flow-right p {
  font-size: 1.2rem;
  line-height: 1.7;
  margin-top: .5rem;
  text-align: center;
}

.flow-right a {
  display: inline-block;
  color: var(--green);
  border-bottom: 1px solid var(--green);
  line-height: 1.2;
}

.flow-small-font {
  font-size: 1.2rem;
  text-align: center;
  margin-top: 4rem;
}

.faq {
  position: relative;
  z-index: 10;
  background: var(--shibuya-main3);
  padding: 22rem 0 24rem;
}

.faq::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url(/recruit/images/kumo.webp) center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.grade .faq {
  background: linear-gradient(to bottom, var(--shibuya-main3) 0%, #fff 100%);
  padding: 32rem 0 4rem;
}

.grade .faq::after {
  display: none;
}

.faq::before {
  content: "";
  position: absolute;
  top: -20rem;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 0;
  transform: scaleY(-1);
}

/* FAQ ページ（.page-faq-top を持つページ）専用：背景を下に向かってグレー、::before の kumo を非表示 */
.page-faq-top~.faq,
.page-faq-top+.faq {
  background: linear-gradient(to bottom, #fff 0%, #f2f0ec 100%);
  padding-top: 0;
}

.page-faq-top~.faq::before,
.page-faq-top+.faq::before {
  content: none;
  display: none;
}

.faq>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.faq-wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  margin-top: 4rem;
}

/* FAQ グループ見出し（3分割用） */
.faq-group-title {
  font-size: 2rem;
  letter-spacing: .12em;
  text-align: center;
  color: var(--black);
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 500;
  margin: 12rem auto 0;
  position: relative;
  width: fit-content;
}

.faq-group-title::after {
  content: "";
  display: block;
  width: 3.6rem;
  height: 1px;
  background: var(--green);
  margin: 1rem auto 0;
}

.faq-group-title:first-of-type {
  margin-top: 2rem;
}

.faq-group-title+.faq-wrap {
  margin-top: 2rem;
}

.faq-box {
  background: #fff;
  width: 100%;
  padding: 1.2rem 2rem 1rem;
  position: relative;
  background: rgba(255, 255, 255, .3);
  backdrop-filter: blur(1rem) saturate(180%);
  -webkit-backdrop-filter: blur(1rem) saturate(180%);
  border: .0625rem solid rgb(255, 255, 255);
  box-shadow: 0 .5rem .5rem rgba(0, 0, 0, .05), inset 0 .0625rem 0 rgba(255, 255, 255, .05), inset 0 -.0625rem .125rem rgba(0, 0, 0, .005);
}

.faq-q {
  display: flex;
  align-items: center;
  padding: 1.25rem .5rem;
  cursor: pointer;
  font-size: 1.4rem;
}

.q-txt {
  font-size: 3.2rem;
  position: absolute;
  top: -2rem;
  left: -1rem;
  font-family: "Cardo", serif;
}

.faq-q p {
  flex: 1;
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.7;
  color: var(--black);
  font-weight: 500;
  letter-spacing: .1em;
}

.icon {
  position: relative;
  width: 2.8rem;
  height: 2.8rem;
  background: var(--green);
  border-radius: 50%;
  padding: 1rem;
  transform: translateX(.8rem);
}

.icon::before,
.icon::after {
  content: "";
  position: absolute;
  background-color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform .3s ease, opacity .3s ease;
}

.icon::before {
  width: 30%;
  height: .0625rem;
}

.icon::after {
  width: .0625rem;
  height: 30%;
}

.faq-box.is-open .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.faq-a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .4s ease;
  overflow: hidden;
}

.faq-box.is-open .faq-a {
  grid-template-rows: 1fr;
  border-top: .0625rem solid var(--gray2);
  padding-top: 1.6rem;
}

.faq-a-inner {
  min-height: 0;
}

.faq-a-inner p {
  padding: 0 .5rem 1rem .5rem;
  font-size: 1.35rem;
  line-height: 2;
}

.faq-more-content {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  width: 100%;
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  padding-top: 0;
  transform: translateY(-1rem);
  transition: max-height .9s cubic-bezier(.22, 1, .36, 1), opacity .7s ease, margin-top .6s ease, padding-top .6s ease, transform .7s cubic-bezier(.22, 1, .36, 1);
}

.faq-more-content.is-open {
  max-height: 300rem;
  opacity: 1;
  margin-top: 2.4rem;
  padding-top: 3rem;
  transform: translateY(0);
}

#faq-more-btn {
  margin: 0 auto 0;
  cursor: pointer;
  text-align: center;
  transition: opacity .3s ease;
  position: relative;
}

#faq-more-btn::before {
  content: "" !important;
  position: absolute !important;
  top: -.3rem !important;
  right: 50% !important;
  transform: translateX(7rem) !important;
  width: 2.4rem !important;
  height: 2.4rem !important;
  background: var(--green) !important;
  border-radius: 50% !important;
  display: block !important;
  z-index: 1 !important;
}

#faq-more-btn::after {
  content: "" !important;
  position: absolute !important;
  top: .45rem !important;
  right: 50% !important;
  transform: translateX(6.15rem) rotate(45deg) !important;
  width: .7rem !important;
  height: .7rem !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-right: .22rem solid #fff !important;
  border-bottom: .22rem solid #fff !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  z-index: 2 !important;
}

.message {
  background: #fff;
  background-size: cover;
  position: relative;
  z-index: 10;
  padding: 8rem 0 0;
}

.message h3 {
  font-size: 2.4rem;
  font-weight: 600;
  margin-top: 2.8rem;
  margin-bottom: 1.6rem;
  margin-top: 4.8rem;
  letter-spacing: .1em;
  line-height: 1.7;
}

.message-p {
  margin-bottom: 4rem;
  position: relative;
  z-index: 5;
  margin-top: 4rem;
  line-height: 2.4;
  letter-spacing: .1em;
  font-size: 1.45rem;
}

.right {
  display: flex;
  justify-content: flex-end;
  font-weight: 700;
}

.link {
  width: 1.2rem;
  height: 1.2rem;
  display: inline-block;
  vertical-align: -.15em;
  margin-left: .3rem;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svgxmlns='http://www.w3.org/2000/svg'viewBox='002424'fill='none'stroke='black'stroke-width='2'stroke-linecap='round'stroke-linejoin='round'><pathd='M143h7v7'/><pathd='M1014L213'/><pathd='M2114v5a22001-22H5a22001-2-2V5a220012-2h5'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svgxmlns='http://www.w3.org/2000/svg'viewBox='002424'fill='none'stroke='black'stroke-width='2'stroke-linecap='round'stroke-linejoin='round'><pathd='M143h7v7'/><pathd='M1014L213'/><pathd='M2114v5a22001-22H5a22001-2-2V5a220012-2h5'/></svg>") center/contain no-repeat;
}

.company {
  background: linear-gradient(to bottom, #fff 0%, var(--shibuya-main2) 100%);
  position: relative;
  z-index: 1;
  padding: 12rem 0 24rem;
}

.company::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 0;
}

.company::before {
  top: -10rem;
  transform: scaleY(-1);
}

.company::after {
  bottom: -20rem;
}

.company>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.company-wrap {
  gap: 2rem 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 4rem;
}

.company-box {
  display: flex;
  border-bottom: 1px solid var(--gray2);
  padding-bottom: 1.4rem;
  width: 100%;
}

.company-box h3 {
  width: 12rem;
  font-size: 1.5rem;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  letter-spacing: .1em;
}

.company-box p {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.4rem;
  letter-spacing: .1em;
  margin-top: -.3rem;
}

.company-box a {
  color: var(--green);
}

.news {
  background: #fff;
  position: relative;
  z-index: 10;
  padding-top: 8rem;
  padding-bottom: 0;
}

.news .splide__slide,
.news .splide__slide.page-column-box,
.column .splide__slide,
.column .splide__slide.page-column-box {
  transition: opacity .35s ease, transform .35s ease !important;
  transform-origin: center center;
}

.news .splide__slide:not(.is-active),
.news .splide__slide.page-column-box:not(.is-active),
.column .splide__slide:not(.is-active),
.column .splide__slide.page-column-box:not(.is-active) {
  opacity: .25 !important;
  transform: scale(.9) !important;
}

.news .splide__slide.is-active,
.news .splide__slide.page-column-box.is-active,
.column .splide__slide.is-active,
.column .splide__slide.page-column-box.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.splide__slide img {
  border-radius: 1rem;
}

.column {
  background: var(--gra4);
  padding-bottom: 22rem;
  position: relative;
  z-index: 1;
  padding-top: 32rem;
}

.column::before {
  content: "";
  position: absolute;
  left: 0;
  top: -10rem;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  transform: scaleY(-1);
  pointer-events: none;
  z-index: 0;
}

.column>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.column .page-column-wrap {
  gap: 0;
}

.page-tittle {
  font-size: 2.4rem !important;
  text-align: center !important;
  letter-spacing: .1em !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  margin-bottom: 2.8rem !important;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
}

.page-tittle .title-en {
  display: block !important;
  font-family: "Cardo", serif !important;
  font-size: 5.4rem !important;
  line-height: 1.2 !important;
  letter-spacing: .28em !important;
  font-weight: 500 !important;
  color: var(--black3) !important;
  margin: 0 auto .6rem !important;
  width: fit-content !important;
  text-align: center !important;
}

.page-tittle .green {
  color: var(--green) !important;
  font-size: 1.4rem !important;
  display: block !important;
  font-weight: 400 !important;
  letter-spacing: .15em !important;
  margin-bottom: .4rem !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
}

.page-top {
  position: relative;
}

.page-top::after {
  content: "";
  background: url("/recruit/images/kemuri.webp");
  background-size: cover;
  width: 100%;
  height: 30rem;
  position: absolute;
  bottom: 0rem;
  left: 0;
}
.single-voice-top::after{
  bottom: 8rem !important;
}

.page {
  padding-bottom: var(--padding-top-bottom);
}

.store-single-top {
  background: url("/recruit/images/page-store-top-back.webp");
  background-size: cover;
  padding-top: 12rem;
  padding-bottom: 24rem;
  position: relative;
  overflow: hidden;
}

.store-hero-marquee {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-top: 14rem;
  width: 100%;
  overflow: hidden;
  margin-bottom: 4rem;
}

.store-hero-marquee-row {
  width: 100%;
  overflow: hidden;
}

.store-hero-marquee-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  will-change: transform;
}

.store-hero-marquee-track img {
  display: block;
  width: 15rem;
  height: 15rem;
  object-fit: cover;
  border-radius: .8rem;
  flex-shrink: 0;
}

.store-hero-marquee-row--right .store-hero-marquee-track {
  animation: storeMarqueeRight 40s linear infinite;
}

.store-hero-marquee-row--left .store-hero-marquee-track {
  animation: storeMarqueeLeft 40s linear infinite;
}

@keyframes storeMarqueeRight {
  0% {
    transform: translateX(-50%);
  }

  100% {
    transform: translateX(0);
  }
}

@keyframes storeMarqueeLeft {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion:reduce) {
  .store-hero-marquee-track {
    animation: none !important;
  }
}

.store-single-top h1 .box {
  display: block;
  margin: 0 auto;
  width: fit-content;
  padding: 0;
  background: none;
  opacity: 0;
  clip-path: inset(0 100% 0 -.4em);
  filter: blur(.25rem);
  color: var(--black);
  animation: storeTitleSweep 1.1s cubic-bezier(.33, 1, .68, 1) forwards;
  will-change: clip-path, opacity, filter;
}

@keyframes storeTitleSweep {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 -.4em);
    filter: blur(.25rem);
  }

  45% {
    opacity: 1;
  }

  100% {
    opacity: 1;
    clip-path: inset(0 -.4em 0 -.4em);
    filter: blur(0);
  }
}

.store-single-top h1 .box:nth-child(1) {
  animation-delay: .15s;
}

.store-single-top h1 .box:nth-child(2) {
  animation-delay: .6s;
}

.store-single-top h1 .recruit-badge {
  background: var(--green);
  color: #fff;
  -webkit-text-fill-color: #fff;
  padding: .2rem 2.4rem 0.6rem;
  font-size: 3.6rem;
  margin-top: 1.8rem;
  letter-spacing: .18em;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-weight: 700;
  line-height: 1.4;
}

@media (prefers-reduced-motion:reduce) {
  .store-single-top h1 .box {
    animation: none;
    opacity: 1;
    clip-path: none;
    filter: none;
  }
}

@media (max-width:768px) {
  .store-single-top h1 .box {
    filter: none !important;
    will-change: clip-path, opacity;
  }
}

.page-top-tittle {
  font-size: 2rem !important;
  text-align: center !important;
  letter-spacing: .2em !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  margin-bottom: 2.8rem !important;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}

.page-top-tittle .title-en,
.page-top .title-en.page-top-en {
  display: block !important;
  font-family: "Cardo", serif !important;
  font-size: 5.4rem !important;
  line-height: 1.2 !important;
  letter-spacing: .28em !important;
  font-weight: 500 !important;
  color: var(--black3) !important;
  margin: 0 auto .6rem !important;
  width: fit-content !important;
  text-align: center !important;
}

.page-top-tittle .green {
  color: var(--green) !important;
  font-size: 1.4rem !important;
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: .8rem !important;
  font-weight: 500 !important;
  letter-spacing: .15em !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
}

.ameterasu {
  position: relative;
}

.ameterasu::after {
  content: "アメテラス";
  font-size: .25em;
  position: absolute;
  top: -1.5em;
  left: 1.4em;
}

.store-img h3 {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  letter-spacing: .1em;
  margin-top: 1rem;
}

.store-img-wrap {
  margin-top: 4rem;
}

.store-img-wrap.splide .splide__slide.store-img {
  text-align: center;
}

.store-img-wrap.splide .splide__arrow {
  top: 16rem !important;
}

.store-img-wrap.splide .splide__arrow svg {
  display: none !important;
}

.store-img-wrap.splide .splide__arrow--next::before {
  content: "＞";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.store-img-wrap.splide .splide__arrow--prev::before {
  content: "＜";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.store-img-wrap.splide .splide__slide,
.store-img-wrap.splide .splide__slide.fade,
.store-img-wrap.splide .splide__slide--clone {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1) !important;
  transform-origin: center center !important;
  transition: opacity .35s ease, transform .35s ease !important;
}

.store-img-wrap.splide .splide__slide:not(.is-active) {
  opacity: .4 !important;
  transform: scale(.88) !important;
}

.store-img-wrap.splide .splide__slide.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.store-feature {
  margin-top: 10rem;
  margin-bottom: 4rem;
  position: relative;
  z-index: 10;
}

.store-feature-wrap {
  background: none;
  padding: 0;
  margin-top: 0;
}

.store-feature-list {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  max-width: 60rem;
  margin: 4rem auto 0;
  padding: 0 3rem;
  counter-reset: feature-num;
}

.store-feature-list h3 {
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-top: 1rem;
}

.store-feature-list .store-feature-box>p {
  font-size: 1.5rem;
  line-height: 1.8;
  margin-top: 1.2rem;
}

.store-feature-list .store-feature-box img {
  aspect-ratio: 9 / 7;
  object-fit: cover;
  margin-bottom: 1.6rem;
}

.store-feature-list .store-feature-box {
  width: 100%;
  counter-increment: feature-num;
  position: relative;
}

.store-feature-list .store-feature-box::before {
  content: counter(feature-num, decimal-leading-zero);
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
  width: 8rem;
  height: 8rem;
  border-radius: 50% 50% 45% 65% / 60% 50% 65% 45%;
  background: rgba(255, 255, 255, .85);
  box-shadow: inset .3rem .6rem 1rem rgba(0, 0, 0, .05), inset -.15rem -.3rem .6rem rgba(255, 255, 255, .6), 0 .6rem 1.2rem rgba(0, 0, 0, .05);
  backdrop-filter: blur(.3rem);
  -webkit-backdrop-filter: blur(.3rem);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 3.4rem;
  font-weight: 500;
  color: var(--green);
  letter-spacing: .05em;
  line-height: 1;
  z-index: 3;
  pointer-events: none;
  animation: shizukuMove 8s ease-in-out infinite;
}

.store-feature-list .store-feature-box img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1rem;
}

.store-feature-wrap.splide .splide__slide.store-feature-box,
.store-feature-wrap.splide .splide__slide,
.store-feature-wrap.splide .splide__slide.fade,
.store-feature-wrap.splide .splide__slide--clone {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1) !important;
  transform-origin: center center !important;
  transition: opacity .35s ease, transform .35s ease !important;
}

.store-feature-wrap.splide .splide__slide:not(.is-active) {
  opacity: .4 !important;
  transform: scale(.88) !important;
}

.store-feature-wrap.splide .splide__slide.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.store-feature-wrap.splide .splide__arrow {
  top: 16rem !important;
}

.store-feature-wrap.splide .splide__arrow svg {
  display: none !important;
}

.store-feature-wrap.splide .splide__arrow--next::before {
  content: "＞";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.store-feature-wrap.splide .splide__arrow--prev::before {
  content: "＜";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.store-feature-wrap h3 {
  font-size: 2rem;
  letter-spacing: .1em;
  text-align: center;
  margin-top: 1.6rem;
  margin-bottom: .8rem;
}

/* =============================
   渋谷店所属占い師の紹介（store-tellers）
   ============================= */
.store-tellers {
  background: linear-gradient(to bottom, #e0ddd8 0%, #fff 100%);
  padding: 22rem 0 6rem;
  position: relative;
  z-index: 3;
  overflow: visible;
}


.store-1-1-1 {
  position: relative;
  z-index: 5;
  padding-bottom: 10rem;
}

/* 店舗詳細ページの h2 (page-tittle) を少し小さめに */
.store-section .page-tittle {
  font-size: 1.8rem !important;
  letter-spacing: 0.2em !important;
}

.store-tellers::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  width: 100% !important;
  height: 40rem !important;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

.store-tellers::before {
  top: -20rem !important;
  transform: scaleY(-1) !important;
}


.store-tellers>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.store-tellers .page-tittle {
  position: relative;
  z-index: 5;
}

/* .store-tellers スライダー：デザインは既存の .your-slider-container デフォルトに任せる */
/* 名前だけ 2.2rem に、"先生"（suffix）は元サイズ */
.store-tellers .your-slider-container .your-wrap .your-box h3 {
  font-size: 2.2rem !important;
}

.store-tellers .your-slider-container .your-wrap .your-box h3 .store-tellers-suffix {
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  margin-left: .3rem;
}

.store-interior-view-title {
  margin-top: 8rem;
}

/* =============================
   店内ビュー（Google Street View）
   ============================= */
.store-interior-view-frame {
  aspect-ratio: 1 / 1;
  width: calc(100% - 8rem);
  max-width: 96rem;
  margin: 4rem auto 0;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 .6rem 2rem rgba(0, 0, 0, .12);
}

.gm-iv-address {
  display: none !important;
}

.store-interior-view-frame iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

.store-interior-view-lead {
  text-align: center;
  margin: 1.2rem auto 0;
  font-size: 1.3rem;
  color: var(--black2);
  letter-spacing: .08em;
}

/* =============================
   数字で見る渋谷店（store-numbers）
   数字を主役にしたデザイン
   ============================= */
.store-numbers {
  background: linear-gradient(to bottom, #fff 0%, #dcdad6 100%);
  padding-top: 8rem;
  padding-bottom: 22rem;
  margin-bottom: 8rem;
  position: relative;
  z-index: 5;
  overflow: visible;
}

.store-numbers::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -20rem !important;
  width: 100% !important;
  height: 40rem !important;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

.store-numbers-lead {
  text-align: center;
  margin: 1rem auto 4rem;
  font-size: 1.4rem;
  color: var(--black2);
  letter-spacing: .08em;
}

.store-numbers-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  max-width: 100%;
  margin: 0 auto;
}

.store-numbers-card {
  background: rgba(255, 255, 255, .35);
  backdrop-filter: blur(1.4rem) saturate(140%);
  -webkit-backdrop-filter: blur(1.4rem) saturate(140%);
  border: 1px solid rgba(255, 255, 255, .55);
  padding: 4rem 2rem 4rem;
  border-radius: 1.2rem;
  box-shadow: 0 .8rem 2.4rem rgba(60, 80, 60, .08), inset 0 1px 0 rgba(255, 255, 255, .6);
}

.store-numbers-card h3 {
  font-size: 1.9rem;
  letter-spacing: .12em;
  margin-bottom: 2.4rem;
  text-align: center;
  color: var(--black);
  font-weight: 700;
  position: relative;
  padding-bottom: 1rem;
}

.store-numbers-card h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 3rem;
  height: .1rem;
  background: var(--green);
}

/* ご来店人数 横棒＋人型アイコン */
.visitor-groups {
  list-style: none;
  padding: 0;
  margin: 1.8rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.visitor-groups>li {
  display: grid;
  grid-template-columns: 6.5rem 1fr auto;
  column-gap: 1.6rem;
  align-items: center;
}

.visitor-group-icons {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: .4rem;
  min-height: 3.2rem;
}

.visitor-group-icons svg {
  width: 2rem;
  height: 2.6rem;
  fill: var(--green);
  flex-shrink: 0;
}

.visitor-group-icons--female svg {
  fill: #6e9d6a;
}

.visitor-group-icons--male svg {
  fill: #47624a;
}

.visitor-group-icons--couple .icon-female {
  fill: #6e9d6a;
}

.visitor-group-icons--couple .icon-male {
  fill: #47624a;
}

.visitor-group-body {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  min-width: 0;
}

.visitor-group-label {
  font-size: 1.3rem;
  color: var(--black2);
  letter-spacing: .05em;
  font-weight: 500;
}

.visitor-group-bar {
  height: .8rem;
  background: rgba(121, 164, 118, 0.15);
  border-radius: .4rem;
  overflow: hidden;
}

.visitor-group-bar>span {
  display: block;
  height: 100%;
  width: var(--w);
  background: linear-gradient(90deg, #b9d3b5, var(--green));
  border-radius: .4rem;
}

.visitor-group-value {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-weight: 700;
  font-size: 2.6rem;
  color: var(--green);
  line-height: 1;
  white-space: nowrap;
}

.visitor-group-unit {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 1.3rem;
  font-weight: 500;
  vertical-align: .2em;
  margin-left: .1rem;
}

/* store-numbers-card の中のグラフを表示時にアニメーション */
/* 年齢層 縦棒: 下から伸びる */
.store-numbers-card .store-numbers-histogram .hist-bar {
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 1.8s cubic-bezier(.22, .68, 0, 1);
  will-change: transform;
}

.store-numbers-card.is-animated .store-numbers-histogram .hist-bar {
  transform: scaleY(1);
}

.store-numbers-card.is-animated .store-numbers-histogram li:nth-child(1) .hist-bar {
  transition-delay: .1s;
}

.store-numbers-card.is-animated .store-numbers-histogram li:nth-child(2) .hist-bar {
  transition-delay: .25s;
}

.store-numbers-card.is-animated .store-numbers-histogram li:nth-child(3) .hist-bar {
  transition-delay: .4s;
}

.store-numbers-card.is-animated .store-numbers-histogram li:nth-child(4) .hist-bar {
  transition-delay: .55s;
}

.store-numbers-card.is-animated .store-numbers-histogram li:nth-child(5) .hist-bar {
  transition-delay: .7s;
}

.store-numbers-card.is-animated .store-numbers-histogram li:nth-child(6) .hist-bar {
  transition-delay: .85s;
}

/* ご来店人数・お二人組の内訳 横棒: 左から伸びる */
.store-numbers-card .visitor-group-bar>span {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.8s cubic-bezier(.22, .68, 0, 1);
  will-change: transform;
}

.store-numbers-card.is-animated .visitor-group-bar>span {
  transform: scaleX(1);
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(1) .visitor-group-bar>span {
  transition-delay: .1s;
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(2) .visitor-group-bar>span {
  transition-delay: .45s;
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(3) .visitor-group-bar>span {
  transition-delay: .8s;
}

/* ご来店人数 人型アイコン: フェードイン＋少し下から */
.store-numbers-card .visitor-group-icons svg {
  opacity: 0;
  transform: translateY(.6rem);
  transition: opacity .8s ease, transform .8s cubic-bezier(.22, .68, 0, 1);
}

.store-numbers-card.is-animated .visitor-group-icons svg {
  opacity: 1;
  transform: translateY(0);
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(1) .visitor-group-icons svg:nth-child(1) {
  transition-delay: .15s;
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(2) .visitor-group-icons svg:nth-child(1) {
  transition-delay: .35s;
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(2) .visitor-group-icons svg:nth-child(2) {
  transition-delay: .45s;
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(3) .visitor-group-icons svg:nth-child(1) {
  transition-delay: .55s;
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(3) .visitor-group-icons svg:nth-child(2) {
  transition-delay: .65s;
}

.store-numbers-card.is-animated .visitor-groups>li:nth-child(3) .visitor-group-icons svg:nth-child(3) {
  transition-delay: .75s;
}

/* ご来店エリア 同心円: 中→外へ順次拡大 */
.store-numbers-card .area-ring {
  opacity: 0;
  transition: transform 1.6s cubic-bezier(.22, .68, 0, 1), opacity 1s ease;
  will-change: transform, opacity;
}

.store-numbers-card .area-ring--1 {
  transform: translate(-50%, -50%) scale(0);
}

.store-numbers-card .area-ring--2 {
  transform: translate(-50%, -50%) scale(0);
}

.store-numbers-card .area-ring--3 {
  transform: translate(-50%, -50%) scale(0);
}

.store-numbers-card.is-animated .area-ring {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.store-numbers-card.is-animated .area-ring--1 {
  transition-delay: 0s;
}

.store-numbers-card.is-animated .area-ring--2 {
  transition-delay: .4s;
}

.store-numbers-card.is-animated .area-ring--3 {
  transition-delay: .8s;
}

/* 男女比 円: スケールアップで出現 */
.store-numbers-card .gender-circle {
  opacity: 0;
  transform: scale(.5);
  transition: transform 1.4s cubic-bezier(.22, .68, 0, 1), opacity .9s ease;
  will-change: transform, opacity;
}

.store-numbers-card.is-animated .gender-circle {
  opacity: 1;
  transform: scale(1);
}

.store-numbers-card.is-animated .gender-circle--female {
  transition-delay: .1s;
}

.store-numbers-card.is-animated .gender-circle--male {
  transition-delay: .5s;
}

/* お客様の男女比 円面積レイアウト */
.gender-circles {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  margin: 1.5rem auto 0;
  min-height: 18rem;
}

.gender-circle {
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.1;
  color: #ffffff;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, 0.12);
  flex-shrink: 0;
}

.gender-circle--female {
  width: 16rem;
  height: 16rem;
  background: radial-gradient(circle at 30% 30%, #a8c9a3, #6e9d6a);
}

.gender-circle--male {
  width: 10.5rem;
  height: 10.5rem;
  background: radial-gradient(circle at 30% 30%, #8ba687, #47624a);
}

.gender-circle-title {
  font-size: 1.4rem;
  letter-spacing: .1em;
  opacity: .95;
}

.gender-circle--male .gender-circle-title {
  font-size: 1.2rem;
}

.gender-circle-value {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1;
  margin-top: .4rem;
}

.gender-circle--male .gender-circle-value {
  font-size: 2.6rem;
}

.gender-circle-unit {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  vertical-align: .2em;
  margin-left: .1rem;
}

.gender-circle--male .gender-circle-unit {
  font-size: 1.2rem;
}

/* ご来店エリア 同心円レイアウト */
.area-rings {
  position: relative;
  width: min(34rem, 100%);
  aspect-ratio: 1 / 1;
  margin: 1.5rem auto 0;
}

.area-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.1;
}

.area-ring--3 {
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(121, 164, 118, 0.08) 60%, rgba(121, 164, 118, 0.22));
  border: 1px solid rgba(121, 164, 118, 0.35);
  padding-top: 1.6rem;
}

.area-ring--2 {
  width: 65%;
  height: 65%;
  background: radial-gradient(circle, rgba(121, 164, 118, 0.18) 55%, rgba(121, 164, 118, 0.4));
  border: 1px solid rgba(121, 164, 118, 0.55);
  padding-top: 1.4rem;
}

.area-ring--1 {
  width: 32%;
  height: 32%;
  background: radial-gradient(circle, var(--green), #5a8558);
  border: 1px solid rgba(121, 164, 118, 0.9);
  justify-content: center;
  gap: .2rem;
  box-shadow: 0 .4rem 1.2rem rgba(90, 133, 88, 0.35);
}

.area-ring-title {
  font-size: 1.2rem;
  color: var(--black2);
  letter-spacing: .05em;
}

.area-ring-value {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 2rem;
  font-weight: 700;
  color: var(--green);
  line-height: 1;
  margin-top: .2rem;
}

.area-ring-unit {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 1.1rem;
  font-weight: 500;
  vertical-align: .2em;
  margin-left: .1rem;
}

.area-ring--1 .area-ring-title {
  color: #ffffff;
  font-size: 1.3rem;
}

.area-ring--1 .area-ring-value {
  color: #ffffff;
  font-size: 2.4rem;
}

.area-ring--1 .area-ring-unit {
  color: #ffffff;
  font-size: 1.3rem;
}

/* 年齢層 縦棒グラフ（数字を大きく） */
.store-numbers-card--wide {
  padding: 3rem 2rem;
}

.store-numbers-histogram {
  list-style: none;
  padding: 0;
  margin: .5rem 0 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: .6rem;
  align-items: end;
  height: 18rem;
}

.store-numbers-histogram li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  gap: .6rem;
}

.store-numbers-histogram .hist-val {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--green);
  line-height: 1;
}

.store-numbers-histogram .hist-unit {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 1.2rem;
  font-weight: 500;
  vertical-align: .2em;
  margin-left: .1rem;
}

.store-numbers-histogram .hist-bar {
  width: 80%;
  height: calc(var(--h) * 3);
  min-height: 1rem;
  background: linear-gradient(to top, #5a8558, var(--green) 55%, #b9d3b5);
  border-radius: .4rem .4rem 0 0;
}

.store-numbers-histogram .hist-label {
  font-size: 1.2rem;
  color: var(--black2);
  letter-spacing: .03em;
  white-space: nowrap;
  font-weight: 500;
}


.store-instruction-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 4rem;
  margin-bottom: 6.4rem;
}

/* 電話番号のリンク */
.store-instruction-box .tel-link {
  color: var(--green);
  -webkit-text-fill-color: var(--green);
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 1.6em;
  font-weight: 600;
  letter-spacing: .03em;
  text-decoration: underline;
  text-underline-offset: .3em;
  transition: opacity .2s ease;
}

.store-instruction-box .tel-link:hover {
  opacity: .7;
}

.store-instruction-box {
  width: 100%;
  display: flex;
  border-bottom: .5px solid var(--border);
  padding: 2rem 0 1.6rem;
}

.store-instruction-box h4 {
  width: 14rem;
  flex-shrink: 0;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}

.store-instruction-box p {
  flex: 1 1 0;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.store-instruction-box p .small {
  display: block;
  word-break: break-all;
  overflow-wrap: anywhere;
  font-size: 1.1rem;
  line-height: 1.5;
  margin-top: .2rem;
}

.map-container {
  width: 84%;
  padding-top: 80%;
  position: relative;
  margin: 0 8% 1.6rem;
  border-radius: 1rem;
  overflow: hidden;
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.map-p {
  font-size: 1.4rem;
  margin-bottom: 4rem;
}

.button {
  width: 100% !important;
  padding: 1.8rem 0;
  text-align: center;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .1em;
  position: relative;
  border-radius: 40rem;
  cursor: pointer;
  overflow: hidden;
  transition: all .4s cubic-bezier(.23, 1, .32, 1);
  color: var(--green) !important;
  background: rgba(255, 255, 255, .25);
  backdrop-filter: blur(30px) saturate(200%) brightness(1.1) contrast(1.1);
  -webkit-backdrop-filter: blur(30px) saturate(200%) brightness(1.1) contrast(1.1);
  border: 1.5px solid #fff;
  backdrop-filter: blur(2rem) saturate(90%) brightness(.95);
  box-shadow: 0 15px 35px rgba(0, 0, 0, .08), inset 0 1px 2px rgba(255, 255, 255, .5), inset 0 -1px 2px rgba(0, 0, 0, .05);
}

.button:hover {
  background: rgba(255, 255, 255, .4);
  box-shadow: 0 20px 40px rgba(0, 0, 0, .12), inset 0 1px 2px rgba(255, 255, 255, .8);
}

.button:active {
  transform: translateY(1px) scale(.97);
  transition: all .1s;
}

.button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 40%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .6) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-20deg);
  transition: .7s cubic-bezier(.4, 0, .2, 1);
}

.button:hover::before {
  left: 150%;
}

.button::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.5rem;
  background: url("/recruit/images/green-arrow.webp");
  background-size: cover;
  width: 1rem;
  height: 1.2rem;
}

.button.back::after {
  transform: scaleX(-1);
  top: 36%;
  right: initial;
  left: 2.5rem;
}

.page-not::after {
  display: none;
}

.store-instruction {
  background: #fff;
  padding: 8rem 0 0rem;
  position: relative;
  z-index: 5;
  overflow: visible;
}

/* 店舗ページ内のよくある質問ピックアップ */
.store-faq-section {
  background: #f2f0ec;
  padding: 20rem 0 20rem;
  margin: 8rem 0 0;
  position: relative;
  z-index: 4;
}

.store-faq-section .button {
  margin: 4rem auto 0 !important;
}

/* 渋谷店のコンセプト（雨のアニメーション付き） */
.store-concept {
  background: url(/recruit/images/page-store-top-back.webp);
  background-size: cover;
  padding: 20rem 0 20rem;
  margin: 6rem 0 0;
  position: relative;
  z-index: 4;
  overflow: visible;
  color: #fff;
}

.store-concept::before,
.store-concept::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  width: 100% !important;
  height: 40rem !important;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

.store-concept::before {
  top: -20rem !important;
  transform: scaleY(-1) !important;
}

.store-concept::after {
  bottom: -20rem !important;
}

.store-concept .sec_inner {
  position: relative;
  z-index: 3;
}

.store-concept .page-tittle {
  color: #fff !important;
}

/* Concept の英字だけは他ページの h2 と同じ色 */
.store-concept .page-tittle .title-en {
  color: var(--black3) !important;
  -webkit-text-fill-color: var(--black3) !important;
}

.store-concept-text {
  max-width: 44rem;
  margin: 4rem auto 4rem;
  padding: 0 2rem;
  text-align: center;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.4rem;
  line-height: 2.2;
  letter-spacing: .12em;
  color: #fff;
}

.store-concept-text p {
  font-size: 1.45rem;
  font-weight: 500;
  color: var(--black);
  opacity: 0.8;
  letter-spacing: 0.08em;
  line-height: 2.4;
}

.store-concept-text p {
  margin: 0 0 2.4rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

.store-concept-text p:last-child {
  margin-bottom: 0;
}

.store-concept-button {
  display: block;
  margin: 4rem auto 0;
  position: relative;
  z-index: 3;
}

/* 雨のアニメーション（2層で速度と密度に変化を持たせる） */
.store-concept-rain {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.store-concept-rain::before,
.store-concept-rain::after {
  content: "";
  position: absolute;
  inset: -20% 0 -20% 0;
  background-repeat: repeat;
  will-change: transform;
}

.store-concept-rain::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="260" height="260" viewBox="0 0 260 260"><defs><linearGradient id="r1" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="rgba(255,255,255,0)"/><stop offset="30%" stop-color="rgba(255,255,255,0.5)"/><stop offset="100%" stop-color="rgba(255,255,255,1)"/></linearGradient></defs><g stroke="url(%23r1)" stroke-width="1.8" stroke-linecap="round"><line x1="40" y1="0" x2="30" y2="70"/><line x1="140" y1="60" x2="130" y2="130"/><line x1="200" y1="170" x2="190" y2="240"/><line x1="80" y1="190" x2="70" y2="260"/></g></svg>');
  background-size: 26rem 26rem;
  animation: storeConceptRain1 1s linear infinite;
  opacity: .8;
}

.store-concept-rain::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="360" height="360" viewBox="0 0 360 360"><defs><linearGradient id="r2" x1="0%" y1="0%" x2="0%" y2="100%"><stop offset="0%" stop-color="rgba(255,255,255,0)"/><stop offset="30%" stop-color="rgba(255,255,255,0.55)"/><stop offset="100%" stop-color="rgba(255,255,255,1)"/></linearGradient></defs><g stroke="url(%23r2)" stroke-width="2.2" stroke-linecap="round"><line x1="70" y1="0" x2="58" y2="90"/><line x1="220" y1="110" x2="208" y2="200"/><line x1="140" y1="250" x2="128" y2="340"/></g></svg>');
  background-size: 36rem 36rem;
  animation: storeConceptRain2 1.7s linear infinite;
  opacity: .6;
}

@keyframes storeConceptRain1 {
  from {
    transform: translateY(-22rem);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes storeConceptRain2 {
  from {
    transform: translateY(-32rem);
  }

  to {
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion:reduce) {

  .store-concept-rain::before,
  .store-concept-rain::after {
    animation: none;
  }
}

.store-instruction::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  width: 100% !important;
  height: 40rem !important;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

.store-instruction::before {
  top: -20rem !important;
  transform: scaleY(-1) !important;
}

.store-instruction::after {
  display: none !important;
}

.store-instruction .sec_inner {
  position: relative;
  z-index: 5;
}

.store-voice {
  background: url(/recruit/images/page-store-top-back.webp);
  background-size: cover;
  padding: 30rem 0 22rem;
  position: relative;
  z-index: 3;
  overflow: visible;
}

.store-voice::before,
.store-voice::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 0;
}

.store-voice::before {
  top: -10rem;
  transform: scaleY(-1);
}

.store-voice::after {
  bottom: -20rem;
}

.store-voice>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.store-voice h2 {
  position: relative;
  z-index: 5;
}

.store-voice-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 6.4rem;
}

.store-voice-box {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  width: 100%;
  gap: 1.6rem;
  padding-bottom: 2.8rem;
  margin-bottom: 2.8rem;
  border-bottom: .1rem solid rgb(54 69 58 / 12%);
}

.store-voice-box:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

.store-voice .page-tittle {
  margin-bottom: 4.8rem !important;
}

.store-voice-box-left {
  width: 8.4rem;
  flex-shrink: 0;
  text-align: center;
}

.store-voice-box-left img {
  width: 8.4rem !important;
  height: 8.4rem !important;
  border-radius: 50% !important;
  object-fit: cover;
  border: .2rem solid rgba(255, 255, 255, .9);
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), 0 .2rem .4rem rgba(0, 0, 0, .04);
  margin-bottom: .8rem;
}

.store-voice-box-left .voice-name {
  font-size: 1.15rem !important;
  font-weight: 500;
  color: var(--black2);
  letter-spacing: .05em;
  text-align: center;
  margin: 0;
  line-height: 1.3;
}

.store-voice-box-left .green {
  color: var(--green);
  font-weight: 500;
  font-size: 1.15rem;
  text-align: center;
  margin-top: 0;
  letter-spacing: .05em;
}

.store-voice-box-right {
  position: relative;
  width: calc(100% - 10rem);
  background: linear-gradient(135deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .6) 100%);
  backdrop-filter: blur(1.2rem) saturate(180%);
  -webkit-backdrop-filter: blur(1.2rem) saturate(180%);
  border: 1px solid rgba(255, 255, 255, .85);
  border-radius: 1.6rem;
  padding: 1.8rem 2rem;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, .06), inset 0 1px 0 rgba(255, 255, 255, .6);
}

.store-voice-box-right::before {
  content: "";
  position: absolute;
  top: 2.4rem;
  left: -.7rem;
  width: 1.4rem;
  height: 1.4rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .7) 100%);
  border-left: 1px solid rgba(255, 255, 255, .85);
  border-bottom: 1px solid rgba(255, 255, 255, .85);
  border-radius: 0 0 0 .3rem;
  transform: rotate(45deg);
  backdrop-filter: blur(1.2rem) saturate(180%);
  -webkit-backdrop-filter: blur(1.2rem) saturate(180%);
  box-shadow: -.2rem .2rem .6rem rgba(0, 0, 0, .03);
}

.name {
  text-align: center;
  font-size: 1.6rem;
  margin-top: -.4rem;
  font-weight: 500;
}

.name .small {
  font-size: 1.3rem;
  display: inline-block;
  margin-bottom: .8rem;
}

.store-voice-box-right p {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
  font-size: 1.3rem !important;
  letter-spacing: .1em;
  line-height: 1.85;
  color: var(--black2);
  margin: 0;
}

.store-mane {
  background: #fff;
  padding-top: 8rem;
  padding-bottom: 0 !important;
  position: relative;
  z-index: 10;
}

.store-mane .green {
  margin-bottom: -6rem;
}

.store-mane .page-tittle {
  margin-bottom: 4rem;
}

.store-mane h3 {
  background: var(--green);
  color: #fff;
  width: fit-content;
  padding: .6rem 2.8rem;
  font-size: 2rem;
  letter-spacing: 0;
  font-weight: 700;
  margin: 0 auto;
  margin-top: -2.8rem;
  position: relative;
  z-index: 5;
}

.store-mane h3 .small {
  font-size: 1.4rem;
  margin-right: 1em;
  letter-spacing: 0;
}

.store-mane p {
  margin-top: 2.4rem;
  margin-bottom: 4rem;
}

.store-mane-box {
  margin-top: 6.4rem;
  position: relative;
  z-index: 5;
}

.store-mane .button,
.store-mane .cta-button {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.store-mane-box::after {
  content: "";
  position: absolute;
  background: var(--gra1);
  top: -3rem;
  left: -3.4rem;
  width: 35rem;
  height: 35rem;
  z-index: -1;
}

.store-other {
  padding: 32rem 0 16rem;
  background: var(--gra4);
  position: relative;
  z-index: 1;
}

.store-other::before {
  content: "";
  position: absolute;
  left: 0;
  top: -10rem;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  transform: scaleY(-1);
  pointer-events: none;
  z-index: 0;
}

.store-other>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.store-other-wrap {
  margin-top: 4rem;
}

.store-other-wrap.splide .splide__slide.store-other-box,
.store-other-wrap.splide .splide__slide,
.store-other-wrap.splide .splide__slide.fade,
.store-other-wrap.splide .splide__slide--clone {
  opacity: 1 !important;
  filter: none !important;
  transform: scale(1) !important;
  transform-origin: center center !important;
  transition: opacity .35s ease, transform .35s ease !important;
}

.store-other-wrap.splide .splide__slide:not(.is-active) {
  opacity: .4 !important;
  transform: scale(.88) !important;
}

.store-other-wrap.splide .splide__slide.is-active {
  opacity: 1 !important;
  transform: scale(1) !important;
}

.store-other-wrap.splide .splide__arrow {
  top: 15rem !important;
}

.store-other-wrap.splide .splide__arrow svg {
  display: none !important;
}

.store-other-wrap.splide .splide__arrow--next::before {
  content: "＞";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.store-other-wrap.splide .splide__arrow--prev::before {
  content: "＜";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}

.store-other h3 {
  font-size: 3.2rem;
  text-align: center;
  margin-top: 4rem;
}

.store-other-box p {
  text-align: center;
}

.store-other-ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2.8rem;
}

.store-other-ul li {
  width: 32%;
  background: rgba(255, 255, 255, .05);
  backdrop-filter: blur(4rem);
  -webkit-backdrop-filter: blur(1.25rem);
  border: .0625rem solid rgba(255, 255, 255, 1);
  box-shadow: 0 .5rem 2rem rgba(0, 0, 0, .05);
  text-align: center;
  padding: 1rem;
  font-size: 1.4rem;
  color: var(--black2);
}

.page-voice-top {
  background: url("/recruit/images/page-store-top-back.webp");
  background-size: cover;
  padding-bottom: 24rem;
  padding-top: 12rem;
}

.page-voice-top h1 {
  margin-top: 0;
}

.page-top-tittle .green {
  margin-top: 0;
  margin-bottom: 0;
}

.page-voice-top p {
  text-align: center;
  margin-bottom: 4rem;
  margin-top: 1rem;
}

.page-voice {
  padding-top: 0;
  padding-bottom: 24rem;
  background: linear-gradient(to bottom, #fff 0%, var(--shibuya-main2) 100%);
}

.page-voice-box {
  transition: opacity .4s ease, transform .4s ease;
  display: block;
  height: fit-content;
}

.page-voice-box.is-hide {
  display: none;
  opacity: 0;
  transform: translateY(10px);
}

.cate-button-box li.active {
  color: #fff;
  background: var(--green);
  border-color: var(--green);
}

.page-voice-wrap {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 6.4rem;
}

.cate-button-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .8rem;
  position: relative;
  z-index: 5;
  margin-bottom: 4rem;
  background: #fffffff0;
  padding: 1rem 0;
}

.page-voice .cate-button-box {
  grid-template-columns: repeat(3, 1fr);
}

.cate-button-box li {
  min-width: 0;
  font-size: 1.35rem;
  letter-spacing: .1em;
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem .8rem .8rem;
  border: .1rem solid var(--gray2);
  border-radius: 40rem;
  background: #fff;
  color: var(--black2);
  cursor: pointer;
  transition: color .25s ease, background .25s ease, border-color .25s ease;
}

.cate-button-box li:hover {
  color: var(--green);
  border-color: var(--green);
}

.cate-button-box li.active,
.cate-button-box li.active:hover {
  color: #fff !important;
  background: var(--green) !important;
  border-color: var(--green) !important;
}

.page-voice-box,
.other-voice-box {
  position: relative;
}

.page-voice-box h3,
.page-voice-box .name,
.other-voice-box h3,
.other-voice-box .name {
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
}

.page-voice-box .name,
.other-voice-box .name {
  font-size: 3.2rem;
  font-weight: 600;
  margin-top: -8.4rem;
}

.other-voice-box .name {
  margin-top: -12rem;
}

.page-voice-box .name2,
.other-voice-box .name2 {
  font-size: 1.2rem;
  text-align: center;
  margin-top: -1rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.page-voice-box h3,
.other-voice-box h3 {
  font-size: 1.6rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 1rem;
  text-align: center;
}

.page-voice-box h3 {
  margin-top: 2.4rem;
}

.other-voice-wrap.js-column-slider {
  width: 100%;
  max-width: 45rem;
  margin: 0 auto;
  padding-bottom: 3rem;
}

.other-voice-wrap .splide__list {
  display: flex !important;
}

.other-voice-box {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 2rem 1.5rem;
  box-sizing: border-box;
  width: 100%;
}

.other-voice-box h3 {
  margin-top: 6rem;
  font-size: 2rem;
}

.other-voice .other-voice-box .cate {
  top: .6rem;
  left: 1rem;
}

.other-voice .splide__arrow {
  top: 20rem !important;
  right: -.8rem !important;
}

.other-voice .splide__arrow--prev {
  left: -.8rem !important;
}

.other-voice .splide__pagination {
  bottom: 1rem !important;
}

.page-voice-top.single-voice-top .cate {
  background: var(--black2);
  color: #fff;
  -webkit-text-fill-color: #fff;
  border-radius: 0;
  width: auto;
  height: auto;
  padding: .4rem 1.2rem;
  text-align: center;
  display: inline-block;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.4;
  position: absolute;
  top: 41.4rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  white-space: nowrap;
}

.page-voice-box {
  display: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(2rem);
  transition: opacity .6s ease, transform .6s ease;
}

.page-voice-box.is-show {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  display: grid;
}

.post-search-box {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 3rem auto 4rem;
  max-width: 52rem;
}

.post-search-box label {
  flex: 0 0 auto;
  color: var(--black2);
  font-size: 1.3rem;
  letter-spacing: .08em;
}

.post-search-box input {
  width: 100%;
  min-width: 0;
  padding: 1.2rem 1.6rem;
  border: .1rem solid rgba(128, 137, 129, .35);
  border-radius: 10rem;
  background: rgba(255, 255, 255, .85);
  color: var(--black2);
  font: inherit;
  font-size: 1.3rem;
  outline: none;
}

.post-search-box input:focus {
  border-color: var(--green);
  box-shadow: 0 0 0 .2rem rgba(90, 144, 101, .12);
}

.post-list-status {
  margin: 4rem auto 0;
  color: var(--black2);
  font-size: 1.3rem;
  letter-spacing: .08em;
  text-align: center;
}

.more {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  text-align: center;
  cursor: pointer;
  font-weight: 400;
  letter-spacing: var(--letter2);
  font-size: 1.3rem;
  transition: all .3s;
  margin-top: 8rem;
  position: relative;
  margin-left: -1rem;
  letter-spacing: .15em;
}

.more[hidden] {
  display: none;
}

.more:disabled {
  cursor: wait;
  opacity: .65;
}

.more::after {
  content: "+";
  background: var(--green);
  color: #fff;
  text-align: center;
  border-radius: 50%;
  width: 2.4rem;
  height: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  padding-bottom: .2rem;
  position: absolute;
  top: -.3rem;
  right: 50%;
  transform: translateX(7rem);
}

.more:hover {
  color: var(--green);
}

.more.is-hide {
  display: none !important;
}

.single-voice {
  position: relative;
  margin-top: -4rem;
  padding-bottom: 24rem;
  background: #fff !important;
}

.single-voice-top {
  background: #fff;
  padding-top: 0;
  padding-bottom: 12rem;
  position: relative;
  overflow: hidden;
}

.single-voice-box {
  position: relative;
}

.single-voice-box .reki,
.single-voice-box .voice-store {
  position: absolute;
  top: 1.6rem;
  right: 1.6rem;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .45);
  backdrop-filter: blur(.8rem) saturate(160%);
  -webkit-backdrop-filter: blur(.8rem) saturate(160%);
  border: 1px solid rgba(255, 255, 255, .6);
  box-shadow: inset .1rem .2rem .5rem rgba(0, 0, 0, .05), inset -.1rem -.15rem .4rem rgba(255, 255, 255, .7), 0 .2rem .6rem rgba(0, 0, 0, .08);
  color: var(--black);
  -webkit-text-fill-color: var(--black);
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: .03em;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}

/* 店舗名バッジは .single-voice-box の .reki の下に */
.single-voice-box .voice-store {
  top: 8.4rem;
}

.single-voice-top h1 {
  font-size: 2rem;
  letter-spacing: .1em;
  text-align:left;
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding-left: 3rem;
  padding-right: 3rem;
  position: absolute;
  top: 45rem;
  width: 100%;
  z-index: 100;
}

.lead-text {
  font-size: 1.4rem;
  text-align: left !important;
}

.page-voice-box .strong {
  color: var(--green);
}

.single-voice-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
}

.single-voice-wrap h2 {
  font-size: 2.2rem;
  letter-spacing: .1em;
  text-align: center;
  margin-top: 2.4rem;
  margin-bottom: 1rem;
}

.time-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2rem;
}

.time-box {
  width: 100%;
  display: flex;
  gap: 4rem;
  align-items: center;
}

.time-box .time {
  color: var(--green);
  width: 11rem;
  font-size: 1.3rem;
  padding-left: 2.8rem;
  position: relative;
}

.time-box .time::after {
  content: "";
  position: absolute;
  top: .3rem;
  left: 0;
  border-radius: 50%;
  background: var(--green);
  width: 1.6rem;
  height: 1.6rem;
}

.time-box .time::before {
  content: "";
  position: absolute;
  top: 1.8rem;
  left: .7rem;
  background: var(--green);
  width: .1rem;
  height: 180%;
}

.time-box:last-of-type .time::before {
  display: none;
}

.single-voice-message {
  background: url("/recruit/images/single-store-feature-back.webp");
  background-size: cover;
  padding: 8rem 0;
  margin-top: 8rem;
  position: relative;
  z-index: 10;
}

.ma-top {
  margin-top: -16rem;
}

.single-voice-message h2 {
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: .1em;
  margin-bottom: 1rem;
}

.single-voice-message h2 .big {
  font-size: 2.8rem;
}

.single-voice-message h3 {
  background: var(--green);
  color: #fff;
  text-align: center;
  width: fit-content;
  padding: 0.8rem 2rem 0.6rem;
  margin: 0 auto;
  margin-top: -2.2rem;
  position: relative;
  z-index: 5;
  margin-bottom: 2.8rem;
  font-size: 1.8rem;
  white-space: nowrap;
}

.other-voice {
  padding-top: 32rem;
}

.other-voice h2 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 2.4rem;
}

.other-voice .button {
  margin-top: 14rem !important;
}

.strong {
  color: var(--green);
}

.trim-container {
  width: 100%;
  height: 62rem;
  overflow: hidden;
  display: block;
}

.page-column-top {
  background: url("/recruit/images/page-top-column-back.webp") !important;
  background-size: cover !important;
  background-position: right !important;
  padding: 12rem 0 24rem;
}

.column-column {
  background-position: center;
  background-size: cover !important;
}

.page-column-top .lead-text {
  text-align: center !important;
  margin-bottom: 2rem;
}

.page-column-box h2,
.column .splide__slide h3 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .02em;
  color: var(--black);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-bottom: .6rem;
  transition: color .25s ease;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  animation: none !important;
}

.page-column-box:hover h2 {
  color: var(--green);
}

.other-column .page-column-box h3 {
  font-size: 2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-bottom: .4rem;
}

.other-column .page-column-box img {
  aspect-ratio: auto;
  object-fit: initial;
  border-radius: 1rem;
}

.other-column .page-column-box::after {
  display: none;
}

.other-column .page-column-box>img {
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
  overflow: hidden;
  border-radius: .5rem;
}

.other-column .page-column-box {
  overflow: hidden;
  border-radius: .5rem;
}

.other-column .page-column-box:hover>img {
  transform: scale(1.06);
}

.page-column-box p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 1.2rem;
  color: var(--black2);
  line-height: 1.65;
}

.page-column-box-top {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-top: 1.4rem;
  margin-bottom: .6rem;
}

.page-column-box-top .time {
  font-size: 1.15rem;
  color: var(--black2);
  letter-spacing: .04em;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
}

.page-column-box-top .cate {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--green);
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  padding: .5rem .7rem .2rem;
  border: .1rem solid var(--green);
  border-radius: 40rem;
  letter-spacing: .06em;
  line-height: 1.4;
}

/* 店舗名カテゴリー：cate と対になる位置。色味を差別化＋クリック可能 */
.page-column-box-top .cate-store {
  color: var(--black2);
  border-color: var(--black2);
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}

.page-column-box-top .cate-store:hover {
  background-color: var(--black2);
  color: #fff;
  -webkit-text-fill-color: #fff;
}


/* h2 の下に配置される日付 */
.page-column-box>.time {
  display: block;
  margin-top: .8rem;
  font-size: 1.15rem;
  color: var(--black2);
  letter-spacing: .04em;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
}

.page-column-box img,
.page-column-box {
  position: relative;
  overflow: hidden;
}

.page-column-box .page-column-box-img {
  position: relative;
  overflow: hidden;
  border-radius: .5rem;
  display: block;
  line-height: 0;
}

.page-column-box .page-column-box-img img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}

.page-column-box:hover .page-column-box-img img {
  transform: scale(1.06);
}

.page-column .page-column-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem 1.6rem;
}

.news .page-column-box,
.column .page-column-box {
  overflow: visible;
}

.news .page-column-box::after,
.column .page-column-box::after {
  display: none !important;
}

.news .page-column-box:hover img,
.column .page-column-box:hover img {
  transform: none;
}

.news .page-column-box img,
.column .page-column-box img {
  border-radius: 1rem;
  object-fit: initial;
  transition: none;
}

.news .page-column-box:hover h2,
.news .page-column-box:hover h3,
.column .page-column-box:hover h2,
.column .page-column-box:hover h3 {
  color: inherit;
}

.page-column-box {
  display: none;
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity .5s ease, transform .5s ease;
}

.page-column-box.is-show {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.page-column-box>img {
  overflow: hidden;
  border-radius: .5rem;
}

.page-column-box::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: .1rem;
  background: linear-gradient(to right, transparent 0%, var(--gray2) 50%, transparent 100%);
  opacity: 0;
  transition: opacity .3s ease;
}

.page-column-box:hover::after {
  opacity: 1;
}

.pagination-container {
  display: flex;
  justify-content: center;
  margin: 6rem 0;
  width: 100%;
  margin-top: 8rem;
}

.pagination-list {
  display: flex;
  align-items: center;
  gap: .6rem;
  list-style: none;
  padding: 0;
}

.pagination-item {
  display: flex;
  align-items: center;
}

.pagination-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  text-decoration: none;
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--black2);
  font-family: "Cardo", "Zen Old Mincho", serif;
  letter-spacing: .04em;
  border-radius: 50%;
  border: 1px solid rgba(54, 69, 58, .18);
  background: transparent;
  transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}

.pagination-link:hover {
  color: var(--green);
  border-color: rgba(121, 164, 118, .45);
  background: rgba(121, 164, 118, .08);
}

.pagination-link.is-current {
  color: #fff;
  background: linear-gradient(135deg, #568958 0%, #89b585 90%);
  border-color: transparent;
  box-shadow: 0 .3rem .8rem rgba(86, 137, 88, .28);
  position: relative;
  z-index: 5;
}

.pagination-link.is-current::after {
  content: none;
}

.pagination-ellipsis {
  color: var(--black2);
  padding: 0 .4rem;
  font-size: 1.2rem;
  letter-spacing: .15em;
  opacity: .6;
}

.single-column-top h1 {
  font-size: 2.4rem;
}

.single-column-top img {
  border-radius: 1rem;
}

.page-column {
  padding-bottom: var(--padding-top-bottom);
  background: linear-gradient(to bottom, #fff 0%, var(--shibuya-main2) 100%);
  margin-top: -4rem;
}

.single-column-top {
  padding-bottom: 26rem;
}

.single-column-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
}

.single-column-wrap h2 {
  font-size: 2.2rem;
  letter-spacing: .08em;
  color: var(--green);
  padding-left: 2.8rem;
  position: relative;
  margin-bottom: 1.8rem;
  line-height: 1.5;
}

.single-column-wrap h2::after {
  content: "";
  position: absolute;
  top: .4rem;
  bottom: .4rem;
  left: 0;
  width: 1.1rem;
  height: auto;
  background: linear-gradient(150deg, var(--green) 0%, var(--green2) 55%, rgba(255, 255, 255, .65) 100%);
  clip-path: polygon(28% 0, 100% 0, 72% 100%, 0 100%);
  filter: drop-shadow(0 .3rem .7rem rgba(121, 164, 118, .35));
}

.single-column-wrap h3,
.single-voice-wrap h3 {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .1em;
  color: var(--black);
  line-height: 1.5;
  padding: .9rem 1.6rem;
  margin-bottom: 1.6rem;
  background: linear-gradient(90deg, rgba(140, 178, 138, .22) 0%, rgba(140, 178, 138, .08) 60%, rgba(140, 178, 138, 0) 100%);
  border-left: .4rem solid var(--green);
  border-radius: 0 .6rem .6rem 0;
}

.single-column-box p {
  margin-bottom: 4rem;
}

.mini-section {
  margin-bottom: 4rem;
}

.single-column-wrap .g,
.single-voice-wrap .g {
  color: var(--green);
  font-weight: 500;
}

.single-column-box-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border-top: .1rem solid rgba(121, 164, 118, .25);
}

.single-column-box-list li {
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.6;
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 1.2rem .6rem;
  border-bottom: .1rem solid rgba(121, 164, 118, .25);
}

.single-column-box-list li .number {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-style: italic;
  font-weight: 400;
  font-size: 2.6rem;
  letter-spacing: .05em;
  width: 4.4rem;
  flex-shrink: 0;
  text-align: center;
  line-height: 1;
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--green);
}

.coment-box {
  width: 100%;
  display: flex;
  padding: 4rem 0 4rem;
  gap: 1rem;
}

.coment-box-left .name2 {
  text-align: center;
  font-size: 1.2rem;
}

.coment-box-left .name {
  color: var(--green);
  font-size: 1.5rem;
}

.coment-box-left .name .small {
  font-size: 1.2rem;
}

.single-column-voice .coment-box-left {
  width: auto;
  min-width: 12rem;
}

.single-column-voice .coment-box-left .name {
  white-space: nowrap;
}

.single-column-voice .coment-box-left .name .small {
  display: inline;
  margin-bottom: 0;
}

.coment-box-left {
  width: 12rem;
}

.coment-box-left img {
  width: 90%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 50%;
  margin: 0 auto;
  margin-bottom: .4rem;
}

.coment-box-right {
  width: calc(100% - 12rem);
  background: rgba(255, 255, 255, .2);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
  border: .15rem solid rgb(255, 255, 255);
  border-radius: .5rem;
  box-shadow: 0 .8rem 3.2rem 0 rgba(0, 0, 0, .058);
  padding: 3.2rem 2rem;
  position: relative;
  height: fit-content;
}

.coment-box-right p {
  font-size: 1.2rem;
}

.coment-box-right::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.4rem;
  background: url("/recruit/images/sankaku.webp");
  background-size: cover;
  width: 2.6rem;
  height: 2.6rem;
}

.single-column-box-ul {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 4rem;
}

.single-column-box-ul section {
  width: 100%;
  position: relative;
  padding: 2.8rem 2.4rem 2.4rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .4) 100%);
  backdrop-filter: blur(1.2rem) saturate(180%);
  -webkit-backdrop-filter: blur(1.2rem) saturate(180%);
  border: .1rem solid rgba(255, 255, 255, .8);
  border-radius: 1.4rem;
  box-shadow: 0 .8rem 2.4rem rgba(0, 0, 0, .05);
  overflow: hidden;
  transition: transform .4s ease, box-shadow .4s ease;
}

.single-column-box-ul section:hover {
  transform: translateY(-.3rem);
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, .08);
}

.single-column-box-ul section::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 14rem;
  height: 14rem;
  background: radial-gradient(circle at top right, rgba(140, 178, 138, .22) 0%, transparent 70%);
  pointer-events: none;
  rotate: 0deg;
}

.single-column-box-ul section .number {
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-style: italic;
  font-weight: 400;
  font-size: 3.6rem;
  line-height: 1;
  letter-spacing: .05em;
  text-align: left;
  margin: 0 0 .6rem;
  display: block;
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--green);
}

.single-column-box {
  width: 100%;
}

/* =============================
   記事内の <table>（比較表など）
   ============================= */
.single-column-wrap .table-wrap,
.single-voice-wrap .table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 2rem 0;
  border-radius: .6rem;
  box-shadow: 0 .2rem .8rem rgba(0, 0, 0, .05);
}

.single-column-wrap .table-wrap::-webkit-scrollbar,
.single-voice-wrap .table-wrap::-webkit-scrollbar {
  height: .5rem;
}

.single-column-wrap .table-wrap::-webkit-scrollbar-thumb,
.single-voice-wrap .table-wrap::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, .15);
  border-radius: 40rem;
}

.single-column-wrap table,
.single-voice-wrap table {
  width: 100%;
  min-width: 40rem;
  border-collapse: collapse;
  background: #fff;
  font-size: 1.4rem;
  line-height: 1.7;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
}

.single-column-wrap table caption,
.single-voice-wrap table caption {
  padding: .6rem 0 1rem;
  font-size: 1.3rem;
  color: var(--black2);
  text-align: left;
  caption-side: bottom;
}

.single-column-wrap table th,
.single-column-wrap table td,
.single-voice-wrap table th,
.single-voice-wrap table td {
  padding: 1.2rem 1.4rem;
  border: 1px solid rgba(0, 0, 0, .08);
  text-align: left;
  vertical-align: top;
  letter-spacing: .03em;
}

.single-column-wrap table thead th,
.single-voice-wrap table thead th {
  background: var(--green);
  color: #fff;
  -webkit-text-fill-color: #fff;
  font-weight: 500;
  letter-spacing: .06em;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  white-space: nowrap;
}

.single-column-wrap table tbody th,
.single-voice-wrap table tbody th {
  background: #f4f7f2;
  color: var(--green);
  font-weight: 500;
  white-space: nowrap;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  width: auto;
}

.single-column-wrap table tbody td,
.single-voice-wrap table tbody td {
  color: var(--black);
}

.single-column-wrap table tbody tr:nth-child(even) td,
.single-voice-wrap table tbody tr:nth-child(even) td {
  background: #fafaf7;
}

.single-column-wrap table tbody tr:nth-child(even) th,
.single-voice-wrap table tbody tr:nth-child(even) th {
  background: #eff3ec;
}

.single-column-wrap table tbody tr:hover td,
.single-column-wrap table tbody tr:hover th,
.single-voice-wrap table tbody tr:hover td,
.single-voice-wrap table tbody tr:hover th {
  background: #f0f5ec;
}

.single-column-box-ul section h3 {
  text-align: left;
  border-bottom: none;
  padding: 0 0 .5rem;
  background: none;
  border-left: none;
  border-radius: 0;
  margin: 0 0 1rem;
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--black);
  letter-spacing: .06em;
  position: relative;
  display: inline-block;
}

.single-column-box-ul section h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: .15rem;
  background: var(--green);
  border-radius: .15rem;
}

.single-column-box-ul section p {
  margin-bottom: 0;
  margin-top: 1rem;
  font-size: 1.35rem;
  line-height: 1.8;
  color: var(--black);
}

.single-column-box img {
  margin-bottom: 2rem;
  border-radius: 1rem;
}

.single-column-box .list {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0;
  padding: 1.6rem 2rem;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .4) 100%);
  backdrop-filter: blur(1.2rem) saturate(180%);
  -webkit-backdrop-filter: blur(1.2rem) saturate(180%);
  border: .1rem solid rgba(255, 255, 255, .8);
  border-radius: 1.4rem;
  box-shadow: 0 .8rem 2.4rem rgba(0, 0, 0, .05);
}

.single-column-box .list::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 12rem;
  height: 12rem;
  background: radial-gradient(circle at top right, rgba(140, 178, 138, .22) 0%, transparent 70%);
  pointer-events: none;
}

.single-column-box .list li {
  font-size: 1.4rem;
  line-height: 1.65;
  padding: 1.1rem 0 1.1rem 2.8rem;
  position: relative;
  border-bottom: .1rem solid rgba(121, 164, 118, .2);
  color: var(--black);
  width: 100%;
}

.single-column-box .list li:last-child {
  border-bottom: none;
}

.single-column-box .list li::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 1.4rem;
  box-shadow: 0 .2rem .5rem rgba(121, 164, 118, .35);
}

.single-column-box .list li::before {
  content: "";
  position: absolute;
  left: .45rem;
  top: 1.95rem;
  width: .7rem;
  height: .35rem;
  border-left: .18rem solid #fff;
  border-bottom: .18rem solid #fff;
  transform: rotate(-45deg);
  z-index: 1;
}

.other-column {
  padding-top: 10rem;
  padding-bottom: 12rem;
}

.other-column h2 {
  font-size: 2.2rem;
  letter-spacing: .1em;
  margin-bottom: 4rem;
}

.other-column .page-column-box h3 {
  font-size: 1.6rem;
}

.other-column-wrap {
  padding: 0;
  margin: 0 auto;
}

.splide__slide .page-column-box,
.splide__slide.page-column-box {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
  margin: 0;
}

.splide__list {
  display: flex;
  padding: 0;
  margin: 0;
}

.splide__slide {
  flex-shrink: 0;
  width: 100%;
}

.splide__pagination {
  display: none !important;
}

.splide__arrow {
  width: 4rem !important;
  height: 4rem !important;
  top: 10rem !important;
  transform: translateY(-50%) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .45) !important;
  backdrop-filter: blur(10px) saturate(150%);
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, .6) !important;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .6) !important;
  opacity: 1 !important;
  transition: background .25s ease !important;
}

.splide__arrow:hover {
  background: rgba(255, 255, 255, .65) !important;
}

.splide__arrow--next {
  right: 2.5rem !important;
}

.splide__arrow--prev {
  left: 2.5rem !important;
}

.splide__arrow svg {
  fill: var(--black2) !important;
  width: 1.4rem !important;
  height: 1.4rem !important;
}

.other-column .button {
  margin-top: -2rem !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem !important;
}

/* 渋谷店ページ：column-section の下に kumo.webp */
.store-column-section {
  position: relative;
  z-index: 3;
  overflow: visible;
  padding-top: 30rem;
  padding-bottom: 22rem;
}

.store-news-section {
  padding-bottom: 0;
  padding-top: 10rem;
}

.store-column-section::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -20rem !important;
  width: 100% !important;
  height: 40rem !important;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat !important;
  pointer-events: none !important;
  z-index: 10 !important;
}

/* .other-column：スライダーではなく2列グリッド表示 */
.other-column .other-column-slider-container {
  padding: 0 3rem;
  overflow: visible;
  margin-bottom: 8rem;
}

.other-column .other-column-slider-container .other-column-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem 1.6rem;
  overflow: visible !important;
  padding: 0 !important;
  scroll-snap-type: none !important;
  width: 100% !important;
  max-width: 90rem;
  margin: 0 auto !important;
}

/* 6件目までのみ表示 */
.other-column .other-column-slider-container .other-column-wrap>.page-column-box:nth-child(n+7) {
  display: none;
}

/* 個別カードの制約解除（既存の .your-slider-container 用サイズ縛りを打ち消す） */
.other-column .other-column-slider-container .other-column-wrap>.page-column-box {
  flex: initial !important;
  width: 100% !important;
  max-width: none !important;
  scroll-snap-align: none !important;
}

/* 念のためスライダーボタンは非表示に */
.other-column .other-column-slider-container .slider-prev,
.other-column .other-column-slider-container .slider-next {
  display: none !important;
}

/* 非アクティブカードのテキスト系子要素：透明にしつつ touch は受け取る。
   visibility: hidden や pointer-events: none にすると touch が親要素に
   素通りして、そこには pan-y 制限がないため文字部分でも横スワイプが
   有効になってしまうため、opacity のみで隠す。 */
.your-slider-container .your-wrap .your-box:not(.is-active)>:not(img):not(.page-column-box-img) {
  opacity: 0 !important;
  pointer-events: auto !important;
  transition: opacity .3s ease !important;
}

.your-slider-container .your-wrap .your-box.is-active>:not(img):not(.page-column-box-img) {
  opacity: 1 !important;
  transition: opacity .35s ease !important;
}

.other-column-wrap.splide .splide__arrow {
  top: 15rem !important;
}

.page-news-top,
.single-news-top {
  background: url("/recruit/images/page-store-top-back.webp");
  background-size: cover;
  background-position: center;
}

.page-news-top img,
.single-news-top img {
  border-radius: 1rem;
}

.contact-section {
  margin-top: -8rem;
  position: relative;
  z-index: 5;
  padding: 6rem 0 0;
  background: #fff;
}

.contact-form {
  max-width: 80rem;
  margin: 0 auto;
}

.form-group {
  display: flex;
  flex-wrap: wrap;
  padding: 2.4rem 0;
  border-bottom: .1rem solid rgba(121, 164, 118, .18);
  width: 100%;
  position: relative;
  z-index: 1;
}

.form-group-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.2rem;
  row-gap: 0;
  border-bottom: .1rem solid rgba(121, 164, 118, .18);
}

.form-group-row .form-group {
  min-width: 0;
  border-bottom: none;
}

.form-group-row:has(> .form-group-row-hint) .form-group {
  padding-bottom: .8rem;
}

.form-group-row-hint {
  grid-column: 1 / -1;
  margin: .5rem 0 2.4rem;
  color: var(--black2);
  font-size: 1.05rem;
  line-height: 1.5;
}

.form-group:last-of-type {
  border-bottom: none;
}

.form-group label {
  width: 100%;
  font-weight: 600;
  font-size: 1.4rem;
  letter-spacing: .1em;
  color: var(--black);
  display: flex;
  align-items: center;
  padding-right: 0rem;
  margin-bottom: .8rem;
}

.form-group .small {
  font-size: 1.05rem;
  color: var(--black2);
  line-height: 1.5;
  margin-top: .5rem;
}

.required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  color: #fff;
  border-radius: 40rem;
  width: auto;
  height: auto;
  padding: .4rem 1rem .45rem;
  margin-left: .7rem;
  font-size: .95rem;
  font-weight: 500;
  letter-spacing: .05em;
  transform: none;
  line-height: 1.2;
}

.required::before {
  content: "必須";
  font-weight: 500;
}

.input-area {
  width: 100%;
}

.split-date-fields {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.split-date-fields select {
  min-width: 0;
}

.input-area .sub-label {
  display: block;
  margin: 1.4rem 0 .6rem;
  font-size: 1.2rem;
  color: var(--black2);
  letter-spacing: .06em;
  font-weight: 500;
}

/* 面談希望日: 時間帯プリセットボタン（複数選択可） */
.time-slot-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .8rem;
  margin-top: 1rem;
}

.time-slot {
  position: relative;
  display: block;
  cursor: pointer;
}

.time-slot input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.time-slot span {
  display: block;
  padding: 1.4rem 3rem;
  width: 100%;
  border: .1rem solid rgba(121, 164, 118, .35);
  border-radius: .8rem;
  background: rgba(255, 255, 255, .85);
  color: var(--black2);
  font-size: 1.4rem;
  letter-spacing: .04em;
  text-align: center;
  font-family: "Cardo", "Zen Old Mincho", serif;
  transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.time-slot:hover span {
  border-color: var(--green);
  background: rgba(121, 164, 118, .08);
}

.time-slot input[type="checkbox"]:checked+span {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
  box-shadow: 0 .2rem .6rem rgba(121, 164, 118, .25);
}

.time-slot input[type="checkbox"]:focus-visible+span {
  outline: .2rem solid var(--green);
  outline-offset: .2rem;
}

.time-slot-group.is-invalid .time-slot span {
  border-color: #d64d4d;
  background: rgba(214, 77, 77, .06);
}

/* flatpickr: サイトのテーマ色（緑）に寄せる */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: #fff !important;
}

.flatpickr-day.today {
  border-color: var(--green) !important;
}

.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  background: rgba(121, 164, 118, .12) !important;
  color: var(--black) !important;
}

.flatpickr-months .flatpickr-month,
.flatpickr-current-month,
.flatpickr-weekdays,
.flatpickr-weekday {
  color: var(--black) !important;
  fill: var(--black) !important;
}

.flatpickr-calendar {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  box-shadow: 0 .8rem 2.4rem rgba(60, 80, 60, .18) !important;
}

.input-area input,
.input-area textarea,
.input-area select {
  width: 100%;
  padding: 1.4rem 1.6rem;
  border: .1rem solid rgba(121, 164, 118, .25);
  border-radius: .8rem;
  font-size: 1.4rem;
  background: rgba(255, 255, 255, .85);
  color: var(--black);
  letter-spacing: .04em;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.input-area input:focus,
.input-area textarea:focus,
.input-area select:focus {
  outline: none;
  border-color: var(--green);
  background: #fff;
  box-shadow: 0 0 0 .3rem rgba(121, 164, 118, .15);
}

.input-area input::placeholder,
.input-area textarea::placeholder {
  color: var(--black3);
  font-weight: 300;
}

.input-area select {
  cursor: pointer;
}

select {
  -webkit-appearance: none;
  appearance: none;
  color: var(--black) !important;
  background-color: #fff;
  opacity: 1;
}

select:invalid {
  color: var(--black);
}

.form-submit {
  text-align: center;
  margin-top: 3.2rem;
  padding-top: 2.4rem;
  border-top: .1rem solid rgba(121, 164, 118, .18);
  position: relative;
  z-index: 1;
}

.page-contact-top {
  background: url("/recruit/images/page-store-top-back.webp");
  background-size: cover;
}

.page-contact-top h1 {
  margin-top: 4rem;
}

.page-contact-top .coment-box {
  margin-top: 2.8rem;
}

.checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  padding: .6rem 0;
  width: 100%;
}

.checkbox-group label {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  font-weight: 500 !important;
  font-size: 1.3rem !important;
  cursor: pointer;
  white-space: nowrap;
  padding: .7rem 1.4rem .7rem 3rem;
  border: .1rem solid rgba(121, 164, 118, .35);
  border-radius: 40rem;
  background: #fff;
  color: var(--black2);
  letter-spacing: .05em;
  transition: background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
  margin: 0 !important;
}

.checkbox-group label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  border: .1rem solid rgba(121, 164, 118, .5);
  background: #fff;
  transform: translateY(-50%);
  transition: background .25s ease, border-color .25s ease, transform .25s cubic-bezier(.22, 1, .36, 1);
}

.checkbox-group label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.35rem;
  width: .75rem;
  height: .4rem;
  border-left: .15rem solid #fff;
  border-bottom: .15rem solid #fff;
  transform: translateY(-70%) rotate(-45deg) scale(.6);
  opacity: 0;
  transition: opacity .25s ease, transform .3s cubic-bezier(.22, 1, .36, 1);
  pointer-events: none;
}

.checkbox-group label:hover {
  border-color: var(--green);
  color: var(--green);
}

.checkbox-group label:hover::before {
  border-color: var(--green);
}

.checkbox-group label:has(input:checked) {
  background: rgba(121, 164, 118, .08);
  border-color: var(--green);
  color: var(--green);
  box-shadow: none;
}

.checkbox-group label:has(input:checked)::before {
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  border-color: var(--green);
  transform: translateY(-50%) scale(1.05);
}

.checkbox-group label:has(input:checked)::after {
  opacity: 1;
  transform: translateY(-70%) rotate(-45deg) scale(1);
}

.checkbox-group input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none;
}

.checkbox-group label:has(input:focus-visible) {
  outline: .2rem solid rgba(121, 164, 118, .35);
  outline-offset: .2rem;
}

.form-group-consent {
  padding-top: 3.2rem;
}

.form-group-consent .consent-field-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.consent-checkbox-group {
  display: block;
  padding: 0;
}

.consent-checkbox-group label {
  width: 100% !important;
  min-height: 5.6rem;
  padding: 1.6rem 1.6rem 1.6rem 4.5rem;
  border: none;
  border-radius: .8rem;
  background: rgba(121, 164, 118, .08);
  white-space: normal;
  line-height: 1.6;
}

.consent-checkbox-group label::before {
  left: 1.6rem;
  border-radius: .2rem;
}

.consent-checkbox-group label::after {
  left: 1.95rem;
}

.consent-checkbox-group label:has(input:checked) {
  background: rgba(121, 164, 118, .12);
}

.consent-checkbox-group a,
.consent-checkbox-group .privacy-consent-trigger {

  color: var(--green);
  text-decoration: underline;
  text-underline-offset: .2em;
}

.consent-checkbox-group .privacy-consent-trigger {
  display: inline;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
}

.consent-checkbox-group .required {
  flex: 0 0 auto;
}

.form-group .consent-form-note {
  margin-top: 1.6rem;
}

.confirm-consent {
  max-width: 60rem;
  margin: 3.2rem auto 0;
}

.confirm-consent .consent-form-note {
  margin-top: 1.6rem;
}

input[type="datetime-local"] {
  padding: 2rem;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

.input-area select {
  padding-right: 3rem;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23333%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-size: 2rem;
  background-position: right 1rem center;
}

.form-submit .cta-button {
  border: none !important;
  width: 100%;
}

.feature-top {
  background: url(/recruit/images/page-store-top-back.webp);
  background-size: cover;
  background-position: left;
  padding-top: 12rem;
  position: relative;
}

.feature-top .shizuku {
  display: none !important;
}

.feature-top .shizuku-2 {
  width: 25rem;
  height: 25rem;
  right: initial;
  left: -15rem;
  top: 22rem;
}

.feature-top::after {
  bottom: -13rem;
}

.feature-top h1,
.feature-top .sec_inner {
  position: relative;
  z-index: 5;
}

.feature-top .lead-text {
  font-size: 2rem;
  line-height: 1.6;
  margin-top: 2rem;
  letter-spacing: 0;
  text-align: center !important;
  margin-bottom: 2rem;
}

.feature-top h1 {
  font-size: 4.8rem;
}

.feature-top h1 .green {
  margin-bottom: 2rem;
}

.feature-top h1 .small {
  font-size: 3.2rem;
}

.feature-box h4 {
  font-size: 2.4rem;
  letter-spacing: 0;
  margin-top: 4rem;
  margin-bottom: 1rem;
}

.feature-box-2 {
  background: url(/recruit/images/grade-feature-back.webp);
  background-size: cover;
  padding: 4rem 3rem 4rem;
  margin-bottom: 4rem;
}

.feature-box-2 h4 {
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  text-align: center;
  font-size: 2rem;
  margin-bottom: 1.4rem;
  margin-top: 0;
}

.feature-box-2-wrap {
  margin-top: 6.4rem;
}

.feature-box-2-wrap .feature-box-2:last-of-type {
  margin-bottom: 0;
}

.feature-6-img {
  margin: 2rem 0;
}

.bottom {
  margin-bottom: 4rem;
}

.feature-top {
  padding-bottom: 12rem;
}

.feature-box-2-wrap-8 .feature-box-2 {
  padding-top: 6.4rem;
}

.feature-box-2-wrap-8 .feature-box-2 h5 {
  font-size: 2rem;
  text-align: center;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  margin-bottom: 1rem;
  letter-spacing: .1em;
}

.feature-box-2-wrap-8 .feature-box-2 h5 span {
  display: block;
  background: var(--green);
  width: fit-content;
  margin: 0 auto;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  padding: .2rem 2rem 0;
  margin-bottom: .8rem;
}

.feature-box-2-wrap-8 .feature-box-2 p {
  margin-top: 2rem;
}

.smalll {
  font-size: 1.2rem;
  display: inline-block;
  margin-left: -1rem;
}

.feature-box-2-wrap .feature-box-2:last-of-type h5 span {
  margin-bottom: -.6rem;
}

.first-link {
  padding: 8rem 0 4rem;
  margin-top: 2rem;
}

.first-link h3 {
  font-size: 2.8rem;
  margin-top: 0;
  text-align: center;
}

.first-link h3 span {
  display: block;
  color: var(--green);
  font-size: 1.6rem;
  text-align: center;
}

.first-link p {
  text-align: center;
}

.first-link .button {
  margin-top: 2rem;
}

.space {
  letter-spacing: -.05em;
}

.first-about-page-top {
  background: url("/recruit/images/first-about-top-back.webp");
  background-size: cover;
  padding-top: 8rem;
  padding-bottom: 24rem;
}

.first-about-page-top .lead-text {
  font-size: 2.4rem;
  line-height: 1.5;
  margin-top: 2rem;
  text-align: center !important;
  margin-bottom: 2rem;
}

.first-about-page-top .top {
  margin-top: 2rem;
  background: none;
  padding-top: 0;
}

.mizu {
  position: relative;
  display: inline-block;
  width: 12rem;
  height: 12rem;
  border-radius: 50% 50% 40% 60% / 60% 40% 60% 40%;
  background: rgba(255, 255, 255, .1);
  box-shadow: inset .625rem .625rem 1.25rem rgba(0, 0, 0, .05), inset -.3125rem -.3125rem .9375rem rgba(255, 255, 255, .5), .625rem 1.25rem 1.5625rem rgba(0, 0, 0, .05);
  animation: waterFluid 6s ease-in-out infinite;
}

.mizu::after {
  content: "";
  position: absolute;
  top: 15%;
  left: 20%;
  width: 1.25rem;
  height: .9375rem;
  background: rgba(255, 255, 255, .8);
  border-radius: 50%;
  filter: blur(.0625rem);
}

@keyframes waterFluid {

  0%,
  100% {
    border-radius: 50% 50% 40% 60% / 60% 40% 60% 40%;
  }

  50% {
    border-radius: 40% 60% 50% 50% / 50% 50% 40% 60%;
  }
}

.mizu-ul {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
}

.mizu-ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
}

.page-first-about {
  position: relative;
  z-index: 5;
  margin-top: -6rem;
}

.page-first-about .title {
  line-height: 1.2;
}

.first-about-want {
  background: #fff;
}

.want-box {
  position: relative;
}

.want-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4rem;
}

.want-box h3 {
  font-size: 2rem;
  position: absolute;
  top: 52%;
  transform: translateY(-50%);
  left: 3rem;
}

.order-3 h3 {
  left: initial;
  right: 3rem;
}

.sikumi p.small {
  font-size: 1.2rem;
  opacity: .5;
  line-height: 1.6;
  margin-top: 2rem;
  margin-bottom: 12rem;
}

.sikumi {
  padding-top: 12rem;
  padding-bottom: 12rem;
  background: #fff;
}

.list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
}

.list li {
  font-size: 1.4rem;
  padding-left: 2rem;
  position: relative;
  line-height: 1.7;
}

.list li::after {
  content: "";
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background: var(--green);
  position: absolute;
  top: .6rem;
  left: 0;
}

.sikumi .list {
  margin-bottom: 4rem;
  background: url(/recruit/images/grade-feature-back.webp);
  background-size: cover;
  padding: 4rem 2.5rem;
}

.page-first-about .title .smallll {
  margin-bottom: -4rem;
}

.sikumi .sikumi-title .smallll {
  margin-bottom: -5rem;
}

.siki {
  padding-top: 10rem;
  padding-bottom: 12rem;
  background: var(--gra1);
}

.siki .title .big {
  font-size: 5.6rem;
  font-weight: 400;
}

.siki-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6.4rem;
  margin-top: 6.4rem;
  margin-bottom: 4rem;
}

.siki-box {
  background: rgba(255, 255, 255, .5);
  backdrop-filter: blur(.4rem);
  -webkit-backdrop-filter: blur(.4rem);
  padding: 6.4rem 2rem 4rem;
  position: relative;
}

.siki-box .number {
  display: block;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  width: 5rem;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: -2.4rem;
  left: 50%;
  transform: translateX(-50%);
}

.siki-box h3 span {
  display: block;
  margin: 0 auto;
  background: var(--green);
  text-align: center;
  padding: .2rem 2rem 0;
  color: #fff;
  width: fit-content;
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}

.siki-box h3 {
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.35;
  margin-bottom: 1.5rem;
}

.siki-box img {
  margin-bottom: 2rem;
}

.siki-box .small {
  font-size: 1.2rem;
  opacity: .5;
  margin-top: .5rem;
}

.siki-flow {
  background: #fff;
  padding: 12rem 0;
}

.siki-flow-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10rem;
  margin-top: 6.4rem;
  margin-bottom: 4rem;
}

.siki-flow-box {
  padding-left: 6%;
  position: relative;
}

.siki-flow-box::after {
  content: "";
  position: absolute;
  bottom: -6.4rem;
  left: 50%;
  transform: translateX(-50%);
  width: 8rem;
  height: 4rem;
  background: url("/recruit/images/siki-flow-arrow.webp");
  background-size: cover;
}

.siki-flow-box:last-of-type:after {
  display: none;
}

.siki-flow-box .number {
  display: block;
  color: #fff;
  background: var(--green);
  border-radius: 50%;
  width: 5rem;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  top: -2.4rem;
  left: 5%;
}

.siki-flow-box h3 {
  font-size: 2.4rem;
  letter-spacing: 0;
  margin-top: 2rem;
  margin-bottom: .6rem;
}

.siki-flow-box p {
  width: 94%;
}

.tigai {
  background: url("/recruit/images/first-about-top-back.webp");
  background-size: cover;
  padding: 8rem 0;
}

.tigai .ggg {
  color: #21BCAC;
}

.mizu-table {
  display: grid;
  grid-template-columns: .7fr 1.15fr 1.15fr;
  width: 100%;
  margin: 4rem auto;
}

.table-cell {
  padding: 1.5rem 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  background: rgba(255, 255, 255, .4);
}

.table-cell.empty {
  background: transparent;
}

.table-cell.header-top {
  background: #21BCAC;
  font-weight: 500;
  font-size: 1.4rem;
  color: #fff;
}

.table-cell.header-top-2 {
  background: var(--blue);
}

.table-cell {
  font-size: 1.2rem;
  text-align: center;
  border-right: 1px solid #ddd;
}

.table-cell-2 {
  background: #ffffff93;
}

.header-left {
  border-left: 1px solid #ddd;
}

.kemuri::after {
  top: -30rem !important;
  z-index: 100;
  height: 30rem !important;
}

.kemuri .sec_inner {
  z-index: 1000 !important;
  position: relative !important;
}

.blue .feature-link {
  padding-bottom: 18rem;
}

.merit-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
  margin-top: 6.4rem;
}

.merit-box h3 {
  font-size: 2.4rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.merit-box .img-box {
  position: relative;
}

.merit-box .img-box .number {
  background: url(/recruit/images/blue-big-sizuku.webp);
  background-size: cover;
  position: absolute;
  top: -2rem;
  left: -3rem;
  width: 10rem;
  height: 10rem;
  color: #fff;
  font-size: 4rem;
  letter-spacing: 0;
  text-align: center;
  padding-top: 2rem;
  padding-left: 1rem;
}

.feature-link .title .small {
  font-size: 2.2rem;
  display: inline-block;
  margin-top: 4rem;
  letter-spacing: 0;
}

.feature-link {
  background: url("/recruit/images/feature-top-back.webp");
  background-size: cover;
}

.feature-link p {
  text-align: center;
  margin-bottom: 2.4rem;
}

footer {
  padding-bottom: 4rem;
  background: #fff;
}

.footer {
  padding-top: 11rem;
}

.p-mark {
  font-size: .8rem;
  padding-left: 3.6rem;
  position: relative;
  margin-top: .6rem;
  line-height: 1.6;
}

.p-mark::after {
  content: "";
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: -.2rem;
  left: 0;
  background: url("/recruit/images/p-mark.webp");
  background-size: cover;
}

.p-mark img {
  width: 3rem;
}

.footer-inner {
  background: var(--gra4);
  position: relative;
  z-index: 0 !important;
}

.footer-top {
  position: relative;
}

.footer-top::after {
  content: "";
  position: absolute;
  top: -5rem;
  left: 0;
  width: 100%;
  height: 5rem;
  background: linear-gradient(to top, #fff 0%, #ffffff00 100%);
  z-index: 100;
}

.footer-top-nav-box {
  display: flex;
  justify-content: center;
  gap: 4rem;
  padding: 3.2rem 0;
}

.footer-top-nav-box-box {
  width: 45%;
  padding: 0 1rem;
}

/* 片方のnavだけ残った場合に中央寄せ＋2カラム化 */
.footer-top-nav-box-box:only-child {
  width: auto;
  max-width: 56rem;
  padding: 0 2rem;
}

.footer-top-nav-box-box:only-child h3 {
  width: fit-content;
  min-width: 14rem;
  margin: 0 auto;
}

.footer-top-nav-box-box:only-child ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 2.4rem;
  row-gap: 1.4rem;
  padding-top: 2.4rem;
}

.footer-top-nav-box-box:only-child ul li {
  width: auto;
}

.footer-top-nav-box-phone {
  position: relative;
}

.footer-top-nav-box-phone::after {
  content: "";
  background: #ccc;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: -2rem;
}

.footer-top-nav-box-box ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem;
  padding-top: 3.2rem;
}

.footer-top-nav-box-box ul li {
  width: 100%;
  line-height: 1.8;
  font-size: 1.15rem;
  letter-spacing: .08em;
}

.footer-top-nav-box-box h3 {
  display: block;
  color: #fff;
  text-align: center;
  padding: .8rem 1.4rem .6rem;
  font-size: 1.6rem;
  letter-spacing: .15em;
  border-radius: .4rem;
}

.footer-top-nav-box-box h3 a {
  color: inherit;
  text-decoration: none;
  display: block;
}

.footer-top-nav-box-meet h3 {
  background: var(--green);
}

.footer-top-nav-box-phone h3 {
  background: var(--blue);
}

.footer-logo {
  width: 20rem;
  margin: 0 auto;
}

.footer-bottom {
  padding-top: 4rem;
}

.footer-bottom .sec_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-bottom-left {
  width: 50%;
}

.footer-bottom-left img {
  width: 12rem;
}

.footer-bottom-right {
  width: 50%;
  padding-top: 1.6rem;
}

.footer-bottom-right p {
  font-size: 1rem;
  line-height: 2.2;
}

.gogon {
  width: 10rem !important;
}

.footer-kasou .cta {
  padding-bottom: 0;
  background: #fff;
}

.footer-kasou {
  background: none;
  padding-top: 6.4rem;
  padding-bottom: 0;
  z-index: 2;
}

.footer-kasou .footer-top {
  padding-top: 26rem;
  position: relative;
  z-index: 1;
}

.footer-kasou .footer-top::before {
  content: "";
  position: absolute;
  left: 0;
  top: -14rem;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  transform: scaleY(-1);
  pointer-events: none;
  z-index: 0;
  display: block;
}

.footer-kasou .footer-top::after {
  display: none !important;
}

.footer-kasou .footer-top>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.footer-kasou .footer-bottom {
  padding-bottom: 4rem;
}

.footer-kasou .footer {
  padding-top: 0;
}

.footer-kasou {
  position: relative;
}

.footer-kasou::after {
  content: "";
  background: url("/recruit/images/kemuri.webp");
  background-size: cover;
  position: absolute;
  top: -20rem;
  left: 0;
  width: 100%;
  height: 40rem;
  pointer-events: none;
}

.page-not {
  padding: 12rem 0 12rem;
}

.page-not h1 {
  font-size: 12rem;
  text-align: center;
  font-weight: 500;
}

.page-not h1 span {
  display: block;
  font-size: 1.4rem;
}

.comfilm {
  padding-top: 12rem;
}

.thanks {
  padding-top: 12rem;
}

.thanks::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -10rem;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.thanks h1 {
  font-size: 3rem;
  margin-bottom: 4rem;
}

.grade .header-nav ul li {
  width: 100%;
}

.grade .header-nav {
  right: -39.5rem;
  width: 30rem;
}

.grade .header-nav ul {
  width: 100%;
}

.grade .about {
  background: url("/recruit/images/about-top.webp");
  background-size: cover;
  background-position: bottom;
  padding-bottom: 30rem;
  padding-top: 32rem;
  position: relative;
  overflow: visible;
}

.grade .about::before,
.grade .about::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 5;
}

.grade .about::before {
  top: -10rem;
  transform: scaleY(-1);
}

.grade .about::after {
  bottom: -10rem;
}

.grade {
  background: url("/recruit/images/back-grade.webp");
  background-size: cover;
  background-attachment: fixed;
}

.grade .shizuku:empty {
  display: none !important;
}

.reason-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6.4rem;
  margin-top: 6.4rem;
}

.reason-box h3 {
  font-size: 2rem;
  margin-top: 1.6rem;
  margin-bottom: 1rem;
}

.reason-box {
  width: 100%;
}

.grade .cta h2 {
  font-size: 4rem;
  letter-spacing: .1em;
  font-weight: 600;
}

.grade .small-5 {
  margin-bottom: 2.8rem;
}

.grade .small-6 {
  margin-top: 0 !important;
  display: inline-block;
}

.reason .shizuku {
  position: absolute;
  right: 33rem;
  top: -2rem;
  display: inline-block;
  width: 12rem;
  height: 12rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Cardo", "Zen Old Mincho", serif;
  font-size: 4rem;
  letter-spacing: 0;
  padding-left: 1rem;
}

.grade .logo-sp-top img {
  width: 13rem;
  margin-left: 1rem;
  margin-top: .2rem;
}

.grade .manager-box::after {
  background: var(--gra3);
}

.manager-wrap .green-font {
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0;
  background: var(--gra);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: inline-block;
}

.grade .money {
  position: relative;
  overflow: visible;
  padding: 32rem 0 28rem;
  background: var(--shibuya-main3);
}

.grade .money::before,
.grade .money::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 5;
}

.grade .money::before {
  top: -10rem;
  transform: scaleY(-1);
}

.grade .money::after {
  bottom: -10rem;
}

.money-wrap {
  margin-top: 6.4rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.money-slider-section {
  position: relative;
  text-align: center;
}

.money-slider-title {
  display: inline-block;
  background: var(--green);
  color: #fff;
  text-align: center;
  padding: .6rem 2.8rem .4rem;
  font-size: 2rem;
  letter-spacing: .12em;
  font-weight: 500;
  margin: 0 auto 3.2rem;
  position: relative;
  z-index: 5;
}

.money-slider-section.blue .money-slider-title {
  background: var(--blue);
  color: #fff;
  position: relative;
  z-index: 5;
}

.money-slider {
  position: relative;
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
  text-align: left;
}

.money-slider-track {
  display: flex;
  gap: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 2.4rem 0 3.2rem;
  scrollbar-width: none;
  margin-top: -7.6rem;
}

.money-slider-track::-webkit-scrollbar {
  display: none;
}

.money-slider-track>.money-box {
  flex: 0 0 80%;
  max-width: 32rem;
  scroll-snap-align: center;
  width: auto;
  transform: scale(.85);
  transform-origin: center center;
  opacity: .7;
  transition: transform .35s ease, opacity .35s ease;
}

.money-slider-track>.money-box.is-active {
  transform: scale(1);
  opacity: 1;
}

.money-slider .slider-prev,
.money-slider .slider-next {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .55);
  backdrop-filter: blur(10px) saturate(150%);
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, .7);
  color: var(--black2) !important;
  -webkit-text-fill-color: var(--black2) !important;
  font-size: 1.8rem;
  font-weight: 500;
  cursor: pointer;
  z-index: 5;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .6);
  align-items: center;
  justify-content: center;
  transition: background .25s ease, box-shadow .25s ease;
}

.money-slider .slider-prev:hover,
.money-slider .slider-next:hover {
  background: rgba(255, 255, 255, .75);
  box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .14), inset 0 1px 0 rgba(255, 255, 255, .7);
}

@media (min-width:769px) {

  .money-slider .slider-prev,
  .money-slider .slider-next {
    display: flex;
  }

  .money-slider .slider-prev {
    left: calc(50% - 19.5rem);
  }

  .money-slider .slider-next {
    right: calc(50% - 19.5rem);
  }
}

.money-box {
  background: url("/recruit/images/first-time-back.webp");
  background-position: center;
  background-size: cover;
  padding: 4.8rem 2rem 4rem;
  position: relative;
  width: 100%;
}

.money-box .img-box {
  width: 30%;
  margin: 0 auto;
}

.money-box .name {
  font-weight: 500;
  margin-top: .4rem;
  font-size: 1.2rem;
}

.money-box .name-2 {
  text-align: center;
  font-weight: 500;
  margin-top: -1rem;
  margin-bottom: 2rem;
}

.money-box .name .big {
  font-size: 2.4rem;
}

.money-box h3 {
  display: none;
}

.for {
  background: #fff;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
  z-index: 10;
}

.for .title {
  line-height: 1.3;
}

.for-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 6.4rem;
  gap: 6.4rem;
}

.for-box {
  width: 100%;
  padding: 6rem 2.5rem 4rem;
  position: relative;
  background: url(/recruit/images/first-time-back.webp);
  background-position: center;
  background-size: cover;
}

.for-box h3 {
  background: var(--green);
  color: #fff;
  text-align: center;
  padding: .4rem 2rem .2rem;
  display: inline-block;
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.4rem;
}

.for-box ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.for-box li {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  padding-left: 5.6rem;
  position: relative;
}

.for-box li::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url("/recruit/images/for-green-list.webp");
  background-size: cover;
  width: 4.4rem;
  height: 4.4rem;
}

.blue.for-box li::after {
  background: url("/recruit/images/for-blue-list.webp");
  background-size: cover;
}

.for-box ul {
  counter-reset: number-count;
}

.for-box ul li::before {
  counter-increment: number-count;
  content: counter(number-count, decimal-leading-zero);
  position: absolute;
  left: 1.2rem;
  letter-spacing: 0;
  top: 46%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 2rem;
  z-index: 5;
}

.grade .before-after {
  padding: 6.4rem 0 0;
}

.grade .before-after .cate {
  background: var(--green);
  text-align: center;
  color: #fff;
  padding: .2rem 2rem 0;
  padding-right: 1.6rem;
  line-height: 1.7;
  display: block;
  margin: 4.8rem auto 0;
  width: fit-content;
  font-size: 2.4rem;
}

.grade .before-after-wrap {
  margin-top: 2rem;
}

.grade .before-after-wrap.blue {
  margin-bottom: 9.6rem;
}

.b {
  font-weight: 600 !important;
  font-size: 2.6rem !important;
}

.no {
  background: linear-gradient(to bottom, var(--shibuya-main3) 0%, #fff 100%);
  padding-bottom: 0;
  padding-top: 34rem;
  position: relative;
}

.no .sec_inner {
  position: relative;
  z-index: 11;
}

.no h2 .title-en {
  font-size: 5rem;
}

.no::before {
  content: "";
  position: absolute;
  left: 0;
  top: -10rem;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
  transform: scaleY(-1);
}

.no>* {
  position: relative;
  z-index: 2;
}

.no h3 {
  background: var(--gra);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: block;
  font-size: 2.2rem;
  letter-spacing: .1em;
  text-align: center;
  margin-top: 2.4rem;
  margin-bottom: 1rem;
  font-weight: 700;
}

.no-p {
  text-align: center;
  line-height: 1.7;
  letter-spacing: .1em;
}

.no-wrap {
  margin-top: 4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  position: relative;
}

.no-box {
  background: url("/recruit/images/first-time-back.webp");
  background-position: center;
  background-size: cover;
  padding: 6.4rem 2.5rem;
  position: relative;
}

.no-box .cate {
  display: block;
  width: fit-content;
  background: var(--green);
  color: #fff;
  font-size: 2rem;
  padding: .4rem 2rem .2rem;
  padding-right: 1.6rem;
  margin: 0 auto;
}

.no-box h4 {
  font-size: 2.8rem;
  text-align: center;
  margin-top: 1rem;
  margin-bottom: 2rem;
}

.no-box ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}

.no-box ul li {
  padding-left: 3rem;
  position: relative;
  font-size: 1.45rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 1.75;
}

.no-box ul li::after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: url("/recruit/images/for-green-list.webp");
  background-size: cover;
  position: absolute;
  top: .5rem;
  left: 0;
  border-radius: 50%;
}

.blue .no-box ul li::after {
  background: url("/recruit/images/for-blue-list.webp");
  background-size: cover;
}

.no-box-content {
  position: relative;
}

.no-box::after {
  top: 0;
  left: 0;
}

.no-box::before {
  top: 0;
  right: 0;
  rotate: 90deg;
}

.no-box-content::before {
  rotate: 270deg;
  bottom: 0;
  left: 0;
  z-index: 5;
}

.no-box-content::after {
  rotate: 180deg;
  bottom: 0;
  right: 0;
}

.no-wrap .shizuku {
  width: 30rem;
  height: 30rem;
  right: -20rem;
  top: -8rem;
}

.no-wrap .shizuku-2 {
  right: initial;
  left: -10rem;
  top: 30rem;
}

.no-wrap .shizuku-3 {
  right: initial;
  right: -20rem;
  top: 70rem;
}

.grade .title {
  margin-top: -1.6rem;
}

.grade .icon {
  background: var(--gra3);
}

.grade .message h3 {
  margin-top: 2.8rem;
}

.grade .message {
  position: relative;
  z-index: 20;
}

.grade .message .sec_inner {
  position: relative;
  z-index: 20;
}

.grade .footer-top::after {
  top: -10rem;
}

.grade .footer-top {
  margin-top: 5rem;
}

.grade .reason {
  background: #fff;
  padding-top: 0;
  position: relative;
  z-index: 10;
  padding-bottom: 0;
}

.grade .manager {
  position: relative;
  z-index: 10;
  padding-bottom: 8rem;
}

.grade .cta {
  background: url("/recruit/images/cta-grade.webp") center center / contain no-repeat !important;
  background-color: #fff !important;
  background-attachment: scroll !important;
  height: auto;
  position: relative;
  padding: 28rem 0 16rem;
}

.grade .cta .sec_inner {
  position: relative;
  z-index: 2;
}

.grade .cta .flex {
  position: static;
  width: 100%;
  margin-top: 22rem;
  gap: 1rem;
  display: flex;
}

.grade .cta .flex a {
  flex: 1 1 0;
  min-width: 0;
  padding: 1.8rem 1.6rem;
  text-align: center;
  white-space: nowrap;
}

.grade .cta-button::after {
  width: 1rem;
  height: 1.25rem;
}

.grade .cta .blue {
  background: var(--grade5);
}

.grade header ul .blue {
  margin-bottom: -3.6rem;
}

.srasyu {
  width: 6rem;
  height: 1px;
  background: var(--black);
  display: inline-block;
  margin-right: 1.4rem;
  transform: translateY(-1.4rem);
}

.grade .fv h1 {
  top: initial;
  bottom: 29rem;
}

.grade .fv p {
  top: initial;
  bottom: 18rem;
}

.grade .box-1 {
  margin-bottom: 0.8rem !important;
}

.grade .fv {
  background: url("/recruit/images/fv-back-grade.webp");
  background-size: cover;
  background-position: center;
}

.grade .fv .box {
  background: var(--gra);
  margin-bottom: -3rem;
}

.pc-head {
  position: fixed;
  width: 100%;
  height: 100dvh;
  top: 0;
  left: 0;
}

.pc-head .head-left {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: calc(50% - 240px);
}

.pc-head .head-right {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  height: 100%;
  width: calc(50% - 240px);
}

.pc-head .logo {
  width: 14rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 12rem;
}

.pc-head .people {
  width: 55dvh;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media (min-width:769px) {
  .pc-head .people {
    display: none;
  }
}

.pc-head .head-left .people {
  width: 49dvh;
  left: 50%;
  transform: translateX(-50%) scaleX(-1);
}

.grade .pc-head .head-left .logo-top {
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20rem;
  text-align: center;
}

.grade .pc-head .head-left .logo-top .logo {
  position: static;
  transform: none;
  top: auto;
  left: auto;
  width: 100%;
}

.grade .pc-head .head-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 4rem 2rem;
  gap: 3rem;
}

.grade .pc-head .head-right .head-nav {
  width: 100%;
  max-width: 26rem;
}

.grade .pc-head .head-right .head-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  margin-bottom: 2rem;
}

.grade .pc-head .head-right .head-nav-list li {
  list-style: none;
}

.grade .pc-head .head-right .head-nav-link {
  display: block;
  padding: .4rem 0;
  color: var(--black);
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Zen Old Mincho", sans-serif;
  letter-spacing: .15em;
}

.grade .pc-head .head-right .head-nav-ja {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  position: relative;
  font-family: "Zen Old Mincho", sans-serif;
  letter-spacing: .15em;
  padding-left: 1rem;
}

.grade .pc-head .head-right .head-cta-group {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
  max-width: 26rem;
  align-items: center;
}

.grade .pc-head .head-right .head-cta-group li {
  list-style: none;
  width: 100%;
  display: flex;
  justify-content: center;
}

.grade .pc-head .head-right .head-cta-group .cta-button {
  position: relative;
  left: auto;
  bottom: auto;
  width: 100%;
  max-width: 26rem;
  text-align: center;
}

.pc-head .cta-button {
  width: 22rem;
  position: absolute;
  left: 20%;
  bottom: 15%;
}

.cta .cta-button {
  padding: 2.4rem 4rem;
}

#ripple-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: 9999;
}

.ripple {
  position: absolute;
  border-radius: 50%;
  border: .5px solid rgba(160, 160, 160, .12);
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  pointer-events: none;
  animation: ripple-animation 3s cubic-bezier(.16, 1, .3, 1) forwards;
  box-shadow: none;
}

@keyframes ripple-animation {
  0% {
    transform: translate(-50%, -50%) scale(0);
    opacity: .35;
  }

  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0;
  }
}

#ripple-system {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

.ripple-group {
  position: absolute;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.ripple-group span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 1rem;
  margin: -.5rem 0 0 -.5rem;
  border-radius: 50%;
  border: .5px solid rgba(160, 160, 160, .08);
  transform: scale(0);
  opacity: 0;
  animation: multi-ripple-out 6.5s ease-out forwards;
}

.ripple-group span:nth-child(1) {
  animation-delay: 0s;
}

.ripple-group span:nth-child(2) {
  animation-delay: .6s;
}

.ripple-group span:nth-child(3) {
  animation-delay: 1.2s;
}

.ripple-group span:nth-child(4) {
  animation-delay: 1.8s;
}

@keyframes multi-ripple-out {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  20% {
    opacity: .22;
  }

  100% {
    transform: scale(20);
    opacity: 0;
  }
}

.opening-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  background: #fff;
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1), visibility 1.2s;
}

.opening-overlay.is-loaded {
  opacity: 0;
  visibility: hidden;
}

.opening-content {
  position: relative;
  z-index: 20;
  text-align: center;
}

.opening-logo-area {
  position: relative;
  display: inline-block;
  opacity: 0;
  transform: translateY(.5rem);
  animation: fadeInSoft 1.2s ease forwards .4s;
  overflow: hidden;
}

.opening-logo {
  display: block;
  width: 16rem;
  height: auto;
}

.cosme-shimmer {
  position: absolute;
  top: 0;
  left: -150%;
  width: 200%;
  height: 100%;
  background: linear-gradient(105deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .4) 45%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, .4) 55%, rgba(255, 255, 255, 0) 80%);
  animation: elegantShine 2.5s cubic-bezier(.4, 0, .2, 1) forwards 1.2s;
}

@keyframes elegantShine {
  0% {
    left: -150%;
  }

  100% {
    left: 150%;
  }
}

.opening-copy {
  margin-top: 1.5rem;
  font-family: "Shippori Mincho", "MS PMincho", serif;
  font-size: 1.6rem;
  letter-spacing: .4rem;
  color: #333;
  opacity: 0;
  animation: fadeInSoft 1.5s ease forwards 1.8s;
}

@keyframes fadeInSoft {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.opening-mist-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10;
  filter: blur(5rem);
  opacity: .5;
  pointer-events: none;
  overflow: hidden;
}

.mist {
  position: absolute;
  background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(240, 242, 245, .6) 70%, rgba(255, 255, 255, 0) 100%);
  border-radius: 50%;
}

.mist-1 {
  width: 50rem;
  height: 50rem;
  top: -10%;
  left: -10%;
  animation: drift 15s infinite alternate;
}

.mist-2 {
  width: 60rem;
  height: 40rem;
  bottom: -10%;
  right: -10%;
  animation: drift 20s infinite alternate-reverse;
}

@keyframes drift {
  from {
    transform: translate(0, 0);
  }

  to {
    transform: translate(2rem, 1rem);
  }
}

body.opening-active {
  overflow: hidden;
}

.sp-header {
  display: none;
}

@media (max-width:1280px) {
  .pc-header {
    display: none;
  }

  .pc-head {
    display: none;
  }

  .sp-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1.5rem;
    height: 6rem;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    transition: background .5s ease, backdrop-filter .5s ease, box-shadow .5s ease, transform .4s ease, opacity .4s ease;
    background: rgba(255, 255, 255, 0);
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    box-shadow: none;
  }

  .sp-header.is-scrolled {
    background: linear-gradient(to bottom, rgba(255, 255, 255, .75) 0%, rgba(255, 255, 255, .35) 55%, rgba(255, 255, 255, 0) 100%);
    backdrop-filter: blur(1.25rem);
    -webkit-backdrop-filter: blur(1.25rem);
    border: none;
    box-shadow: none;
  }

  .sp-header .logo {
    height: 2.25rem;
    width: auto;
  }

  .hamburger-btn {
    background: none;
    border: none;
    outline: none;
    width: 4rem;
    height: 4rem;
    position: relative;
    z-index: 10002;
    cursor: pointer;
    padding: 0;
    margin-right: -.5rem;
    position: absolute;
    right: max(2.5rem, calc(50vw - 21rem + 2.5rem));
    top: .4rem;
  }

  .btn-inner span {
    display: block;
    position: absolute;
    right: 0;
    width: 6rem;
    height: .15rem;
    background-color: var(--green);
    transition: transform .4s cubic-bezier(.25, 1, .5, 1), opacity .3s;
  }

  .btn-inner span:nth-child(1) {
    top: 1rem;
  }

  .btn-inner span:nth-child(2) {
    top: 1.9rem;
    width: 4.5rem;
  }

  .btn-inner span:nth-child(3) {
    top: 2.8rem;
    width: 3rem;
  }

  .active .btn-inner span:nth-child(1) {
    transform: rotate(30deg);
    width: 3.5rem;
    top: 2.4rem;
  }

  .active .btn-inner span:nth-child(2) {
    transform: rotate(-30deg);
    width: 2.5rem;
    width: 3.5rem;
    top: 2.4rem;
  }

  .active .btn-inner span:nth-child(3) {
    opacity: 0;
  }

  .full-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    z-index: 10001;
    visibility: hidden;
    opacity: 0;
    transition: opacity .5s, visibility .5s;
  }

  .full-nav::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .95);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    transform: scale(1.1);
    transition: transform .6s ease;
  }

  .full-nav.is-open {
    visibility: visible;
    opacity: 1;
  }

  .full-nav.is-open::before {
    transform: scale(1);
  }

  .nav-inner {
    position: relative;
    width: 86%;
    margin: 0 auto;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .nav-list li {
    margin: 1.875rem 0;
    overflow: hidden;
    width: 100%;
  }

  .nav-list li a {
    display: block;
    font-size: 1.5rem;
    letter-spacing: .05em;
    text-decoration: none;
    transform: translateY(3rem);
    opacity: 0;
    transition: transform .6s cubic-bezier(.25, 1, .5, 1), opacity .6s;
    width: 100%;
  }

  .nav-list li:last-of-type {
    margin-top: -1rem;
  }

  .nav-list li:last-of-type a {
    box-shadow: none;
    border: none;
  }

  .is-open .nav-list li a {
    transform: translateY(0);
    opacity: 1;
  }

  .nav-list li:nth-child(1) a {
    transition-delay: .2s;
  }

  .nav-list li:nth-child(2) a {
    transition-delay: .25s;
  }

  .nav-list li:nth-child(3) a {
    transition-delay: .3s;
  }

  .nav-list li:nth-child(4) a {
    transition-delay: .35s;
  }

  .nav-list li:nth-child(5) a {
    transition-delay: .4s;
  }

  .nav-list li:nth-child(6) a {
    transition-delay: .45s;
  }

  .nav-list li:nth-child(7) a {
    transition-delay: .5s;
  }

  .nav-list li:nth-child(8) a {
    transition-delay: .55s;
  }

  .nav-list li:nth-child(9) a {
    transition-delay: .6s;
  }

  .nav-list li:nth-child(10) a {
    transition-delay: .65s;
  }

  .bu a {
    max-width: 400px;
    margin: 0 auto;
  }

  .fix-cta-button {
    position: fixed;
    bottom: 1.2rem;
    left: 6%;
    width: 88%;
    z-index: 10000000;
    max-width: 440px;
    z-index: 5;
  }

  .sp-header,
  .fix-cta-button {
    transition: transform .8s cubic-bezier(.25, 1, .5, 1), opacity .8s !important;
    will-change: transform, opacity;
  }

  .is-hidden {
    opacity: 0;
    pointer-events: none;
  }

  .sp-header.is-hidden {
    transform: translateY(-100%);
  }
}

@media (min-width:480px) {
  .sp-header {
    background: none;
    backdrop-filter: initial;
    -webkit-backdrop-filter: initial;
    mask-image: initial;
    -webkit-mask-image: initial;
    box-shadow: initial;
  }

  .fix-cta-button {
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (min-width:1280px) {
  .fix-cta-button-2 {
    display: none !important;
  }
}

.grade .btn-inner span {
  background: var(--black);
}

.grade .full-nav {
  background: url("/recruit/images/cta-grade.webp") center bottom / 100% auto no-repeat !important;
  background-color: #fff !important;
  background-attachment: scroll !important;
}

.grade .reason .shizuku {
  right: 31.5rem;
}

.grade .full-nav::before {
  display: none !important;
}

.grade .full-nav .sec_inner {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: none !important;
  height: 100dvh;
  margin: 0 !important;
  padding: 8rem 6% 4rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  box-sizing: border-box;
}

.grade .full-nav h2 {
  font-size: 4rem;
  text-align: center;
  letter-spacing: .1em;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 2.4rem;
}

.grade .full-nav h2 .small {
  font-size: 2rem;
  display: block;
  margin-top: 1.6rem;
}

.grade .full-nav h2 .small-5 {
  margin-bottom: 2.8rem;
}

.grade .full-nav h2 .small-6 {
  margin-top: 1rem !important;
  display: block;
}

.grade .sp-header .hamburger-btn.active {
  background: var(--black2) !important;
}

.grade .full-nav .flex {
  margin-top: auto;
  width: 100%;
  gap: 1rem;
  display: flex;
}

.grade .full-nav .flex a {
  flex: 1 1 0;
  min-width: 0;
  padding: 1.8rem 1.6rem;
  text-align: center;
  white-space: nowrap;
  font-size: 1.35rem;
}

.grade .full-nav .flex a::after {
  right: 1.4rem !important;
}

.grade .full-nav .flex .blue {
  background: var(--grade5);
}

#open-incognito-widget {
  display: none !important;
}

.grade .fix-cta-button-2 {
  display: flex;
  justify-content: center;
  position: fixed;
  z-index: 1000;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 1rem 4%;
  gap: .5rem;
  background: rgba(255, 255, 255, .5);
  backdrop-filter: blur(1.25rem);
  -webkit-backdrop-filter: blur(1.25rem);
  border: none;
  box-shadow: 0 .25rem 2.5rem rgba(255, 255, 255, .8), 0 1rem 4rem rgba(255, 255, 255, .6), 0 2rem 6rem rgba(255, 255, 255, .4);
}

.grade .fix-cta-button-2 li {
  flex: 1 1 0;
  min-width: 0;
  max-width: 26rem;
}

.grade .fix-cta-button-2 li a {
  display: block;
  width: 100%;
  max-width: none;
  font-size: 1.5rem;
  font-weight: 600;
  padding: 2rem 0 2rem;
  text-align: center;
}

.grade .fix-cta-button-2 a::after {
  right: 1.2rem;
}

.fix-cta-button,
.fix-cta-button-2 {
  transition: opacity .3s ease;
  opacity: 1;
  visibility: visible;
}

.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rank-2-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10rem;
  margin-top: 8rem;
}

.rank-2-box::after {
  content: "";
  background: url("/recruit/images/purasu-2.webp");
  background-size: cover;
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  bottom: -5rem;
  left: 50%;
  transform: translateX(-50%);
}

.rank-2-box {
  position: relative;
  padding: 4.2rem 2.5rem 3rem;
  width: 100%;
}

.blue .rank-2-box {
  border-radius: 1rem;
}

.rank-2-box h3 {
  position: absolute;
  top: -1.4rem;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: .15em;
}

.rank-2-box p {
  text-align: center;
}

.rank-2-box-1 .green {
  font-weight: 600;
}

.rank-2-box-1 {
  background: #cae7ee94;
}

.rank-2-box-2 {
  background: #cae7ee94;
  padding-top: 6rem;
}

.rank-2-box-3 {
  background: #cae7ee94;
}

.rank-2-box-box {
  background: url(/recruit/images/rank-back-small.webp);
  background-size: cover;
  padding: 4rem 2.5rem 3rem;
  margin-bottom: 6rem;
  position: relative;
}

.rank-2-box-box::after {
  content: "";
  background: url("/recruit/images/purasu-2.webp");
  background-size: cover;
  width: 2.6rem;
  height: 2.6rem;
  position: absolute;
  bottom: -4.4rem;
  left: 50%;
  transform: translateX(-50%);
}

.rank-2-box-box:last-of-type::after {
  display: none;
}

.rank-2-box-box h4 {
  text-align: center;
  font-size: 2rem;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  font-weight: 600;
  border-bottom: 1px solid #ccc;
  padding-bottom: .4rem;
  letter-spacing: .15em;
}

body.blue .rank-2-box-box p {
  font-size: 1.35rem !important;
  margin-top: .8rem;
  letter-spacing: .02em;
}

.rank-2-box-2 .green {
  font-weight: 500;
}

.blue .rank-2-box-box {
  background: rgba(255, 255, 255, .32) !important;
  backdrop-filter: blur(14px) saturate(150%);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 1.6rem;
  box-shadow: 0 .8rem 2.4rem rgba(53, 179, 221, .12), inset 0 1px 0 rgba(255, 255, 255, .65);
}

body.blue .meet-message-modal-head .modal-total-price,
body.blue .meet-message-modal-body .modal-total-price {
  margin-top: 1.6rem;
  padding-top: 1.6rem;
  text-align: center;
}

body.blue .meet-message-modal-body .modal-total-price {
  margin-top: 3rem;
  padding-top: 2.4rem;
}

body.blue .meet-message-modal-head .modal-total-price .price-end,
body.blue .meet-message-modal-body .modal-total-price .price-end {
  margin: 0 !important;
  font-family: "Cardo", "Zen Old Mincho", sans-serif !important;
  font-size: 1.6rem !important;
  letter-spacing: .12em !important;
  line-height: 1.4 !important;
  border-bottom: none !important;
}

body.blue .meet-message-modal-head .modal-total-price .price-end .big,
body.blue .meet-message-modal-body .modal-total-price .price-end .big {
  font-size: 3.2rem !important;
  font-weight: 600;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  margin: 0 .2rem;
}

body.blue .meet-message-modal-inner {
  padding-bottom: 6rem !important;
}

.rank-2-box-3 .green {
  font-weight: 600;
}

.rank-2-box-3::after {
  rotate: 45deg;
}

.rank-2-box-4 {
  background: #cae7ee94;
  font-size: 2.2rem;
  letter-spacing: .15em;
  text-align: center;
  margin-top: -4rem;
  padding: 2rem;
}

.rank-2-box-4::after {
  background: url(/recruit/images/siki-flow-arrow.webp);
  background-size: cover;
  width: 6rem;
  height: 3rem;
}

.rank-2-box-5::after {
  display: none;
}

.rank-2-box-5 {
  padding: 4rem 0;
  background: url(/recruit/images/rank-back-small.webp);
  background-size: cover;
  font-size: 2.2rem;
  letter-spacing: .15em;
  text-align: center;
  margin-top: -2.4rem;
}

.blue .rank-section {
  margin-top: 6.4rem;
}

.total-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
  margin-top: 6.4rem;
  margin-bottom: 6.4rem;
}

.total-wrap .total-box {
  position: relative;
  width: 100%;
  background: rgba(255, 255, 255, .5);
  backdrop-filter: blur(1.25rem);
  -webkit-backdrop-filter: blur(1.25rem);
  border: .2rem solid rgba(255, 255, 255, 1);
  box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05);
  padding-top: 1rem;
  border-radius: 1rem;
}

.total-wrap .total-box::after {
  content: "";
  background: url("/recruit/images/purasu-2.webp");
  background-size: cover;
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  bottom: -4.4rem;
  left: 50%;
  transform: translateX(-50%);
}

.total-wrap .total-box h3 {
  text-align: center;
  font-size: 2rem;
  letter-spacing: .15em;
  position: absolute;
  top: -2rem;
  left: 0;
  width: 100%;
}

.total-wrap .total-box p {
  color: var(--green);
  text-align: center;
  font-size: 1.2rem;
}

.total-wrap .total-box p .big {
  font-size: 3.2rem;
  font-weight: 500;
  margin-right: .4rem;
  letter-spacing: 0;
}

.total-box-3::after {
  rotate: 45deg;
}

.total-box-4::after {
  background: url(/recruit/images/siki-flow-arrow.webp) !important;
  background-size: cover !important;
  width: 6rem !important;
  height: 3rem !important;
  bottom: -5rem !important;
}

.blue .price-end {
  margin-bottom: 2rem;
}

.rank-example-wrap-2.is-active {
  display: block;
}

.rank-example-wrap-2 .splide__slide {
  height: auto;
}

.rank-example-wrap-2 .rank-example-box {
  box-shadow: none;
}

.rank-example-wrap-2 .splide__arrow {
  top: 20rem !important;
}

.rank-example-wrap-2 .splide__arrow--next {
  right: 2.2rem !important;
}

.rank-example-wrap-2 .splide__arrow--prev {
  left: 2.2rem !important;
}

.footer-back {
  display: none !important;
}

.footer-back-box::before {
  content: "＜";
  color: var(--black2);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  display: inline-block;
  transform: rotate(90deg);
}

.footer-back-box {
  position: absolute;
  z-index: 1000;
  top: -15rem;
  right: 3rem;
  rotate: 360deg;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, .25);
  backdrop-filter: blur(30px) saturate(200%) brightness(1.1) contrast(1.1);
  -webkit-backdrop-filter: blur(30px) saturate(200%) brightness(1.1) contrast(1.1);
  border: 1.5px solid #fff;
  backdrop-filter: blur(2rem) saturate(90%) brightness(.95);
  box-shadow: 0 15px 35px rgba(0, 0, 0, .08), inset 0 1px 2px rgba(255, 255, 255, .5), inset 0 -1px 2px rgba(0, 0, 0, .05);
}

.footer-back-box::after {
  content: "TOP";
  font-size: 1rem;
  letter-spacing: .2em;
  color: var(--black);
  position: absolute;
  bottom: -2rem;
  left: .6rem;
}

.grade .footer.cta {
  overflow: initial;
  background: url("/recruit/images/cta-grade-footer.webp") center / cover no-repeat !important;
  margin-bottom: -5.02rem;
  padding: 18rem 0 19rem;
}

.grade footer {
  background: var(--shibuya-main2);
}

.grade .footer-back-box {
  top: -2.4rem;
}

.fix-cta-button,
.fix-cta-button-2 {
  transition: opacity .3s ease, visibility .3s ease;
  opacity: 1;
  visibility: visible;
}

.is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .3s ease, visibility .3s ease !important;
  pointer-events: none;
}

body.is-at-footer .fix-cta-button,
body.is-at-footer .fix-cta-button-2 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(1.6rem) !important;
  transition: opacity .3s ease, visibility .3s ease, transform .3s ease !important;
}

/* .grade（TOP）ページでは .fix-cta-button-2 を常時表示
   （下スクロール / フッター接近時にも隠さない） */
body.grade .fix-cta-button-2,
body.grade .fix-cta-button-2.is-hidden,
body.grade.is-at-footer .fix-cta-button-2 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

.miss-link {
  position: absolute;
  bottom: 2rem;
  right: 3rem;
  font-size: 1.2rem;
}

.pc-header .miss-link {
  position: fixed !important;
  top: auto !important;
  bottom: 2rem !important;
  right: 2.4rem !important;
  left: auto !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  text-align: right !important;
  z-index: 100 !important;
  animation: none !important;
  white-space: nowrap !important;
}

.pc-header .miss-link::before,
.pc-header .miss-link::after {
  display: none !important;
  content: none !important;
}

.pc-header .miss-link br {
  display: none !important;
}

.pc-header .miss-link p {
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-size: 1.3rem !important;
  letter-spacing: .1em !important;
  color: var(--black2) !important;
  text-decoration: underline !important;
  text-underline-offset: .6rem !important;
  margin: 0 !important;
  line-height: 1.6 !important;
  display: inline-block !important;
  z-index: auto !important;
  white-space: nowrap !important;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
}

@font-face {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Hiragino Sans";
  src: local("Hiragino Sans"), local("Hiragino Kaku Gothic ProN"), local("Hiragino Kaku Gothic Pro");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

.cta-button,
.button,
.fix-cta-button,
.fix-cta-button-2,
button,
[role="button"],
.cta-button *,
.button *,
.fix-cta-button *,
.fix-cta-button-2 * {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
}

h2 {
  background-image: linear-gradient(110deg, #36453a 0%, #36453a 42%, #b88a3a 47%, #fff3b8 50%, #b88a3a 53%, #36453a 58%, #36453a 100%);
  background-size: 220% 100%;
  background-position: 100% 0;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  animation: meetTitleShimmer 5s linear infinite;
}

h2 .title-en,
h2 .small,
h2 .smallll,
h2 .green,
h2 .space,
h2 .ameterasu {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: initial !important;
  animation: none !important;
}

h2 .title-en {
  color: #36453a !important;
}

@keyframes meetTitleShimmer {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: 0% 0;
  }
}

@media (prefers-reduced-motion:reduce) {
  h2 {
    animation: none !important;
  }
}

@supports not ((background-clip:text) or (-webkit-background-clip:text)) {
  h2 {
    color: #36453a;
    -webkit-text-fill-color: initial;
    background-image: none;
    animation: none;
  }
}

.title {
  font-size: 2rem;
  letter-spacing: .2em !important;
  line-height: 1.8 !important;
}

.title .smallll {
  font-weight: 500;
}

.title .title-en {
  display: block;
  font-family: "Cardo", serif;
  line-height: 1.2;
  letter-spacing: .28em;
  font-weight: 500;
  color: var(--black3) !important;
  margin: 0 auto .6rem;
  width: fit-content;
  text-align: center;
  font-size: 5.4rem;
}

@media (max-width:480px) {
  .title .title-en {
    font-size: 5.4rem;
    letter-spacing: .25em;
  }
}

.about .title,
.about .title .title-en {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.grade .about .title,
.grade .about .title .title-en {
  text-align: center !important;
  width: 100%;
}

.grade .about h2 {
  margin-bottom: 8rem;
}

.button {
  width: fit-content !important;
  padding: 2rem 4rem !important;
  text-align: center !important;
  display: block !important;
  margin: 0 auto !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  line-height: 1 !important;
  position: relative !important;
  border-radius: 40rem !important;
  cursor: pointer !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transition: all .4s cubic-bezier(.23, 1, .32, 1) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  outline: none !important;
  text-decoration: none !important;
  color: var(--green) !important;
  background: rgba(255, 255, 255, .35) !important;
  backdrop-filter: blur(1.4rem) saturate(180%);
  -webkit-backdrop-filter: blur(1.4rem) saturate(180%);
  border: 1px solid #fff !important;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .06), inset 0 1px 0 rgba(255, 255, 255, .6) !important;
}

.button:hover {
  background: rgba(255, 255, 255, .55) !important;
  box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .09), inset 0 1px 0 rgba(255, 255, 255, .75) !important;
}

.button::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 60% !important;
  aspect-ratio: 1 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .35) 30%, rgba(255, 255, 255, .15) 60%, rgba(255, 255, 255, .04) 85%, rgba(255, 255, 255, 0) 100%) !important;
  filter: blur(.4rem) !important;
  transform: translate(-50%, -50%) scale(.2) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
  mix-blend-mode: screen !important;
}

.button:hover::before {
  animation: meetBtnLightBloom 1.5s cubic-bezier(.33, 0, .2, 1) infinite !important;
}

@keyframes meetBtnLightBloom {
  0% {
    transform: translate(-50%, -50%) scale(.2);
    opacity: 0;
  }

  35% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 1;
  }

  100% {
    transform: translate(-50%, -50%) scale(2.5);
    opacity: 0;
  }
}

.button::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: 1.2rem !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  background: url("/recruit/images/arrow-green.webp") center / contain no-repeat !important;
  width: 2rem !important;
  height: 1.8rem !important;
  pointer-events: none !important;
}

.button.back::after {
  transform: translateY(-50%) scaleX(-1) !important;
  right: auto !important;
  left: 1.5rem !important;
}

.promise-3 {
  background: #fff;
  padding-bottom: 2rem;
  position: relative;
  z-index: 1000;
}

.promise-3-wrap {
  counter-reset: promise;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin-bottom: -4rem;
}

.promise-box-3 {
  width: 100%;
  counter-increment: promise;
  position: relative;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(54, 69, 58, .25);
  border-radius: 0;
  padding: 4.4rem .4rem 3rem 9.6rem !important;
  box-shadow: none;
}

.promise-box-3:last-of-type,
.promise-3 .promise-box-3:last-child {
  border-bottom: none !important;
}

.promise-3,
.promise-3 .sec_inner,
.promise-3 .promise-3-wrap {
  border-bottom: none !important;
  box-shadow: none !important;
}

.promise-3-wrap .promise-box-3+.promise-box-3 {
  border-top: none;
  margin-top: -1.6rem;
}

.promise-box-3 h3 {
  font-size: 1.9rem !important;
  margin-bottom: .6rem !important;
  letter-spacing: .08em !important;
  line-height: 1.6;
  position: relative;
  z-index: 1;
}

.promise-box-3::before {
  content: "0"counter(promise);
  position: absolute;
  top: 5.4rem;
  left: .4rem;
  font-family: "Cardo", serif;
  font-size: 4.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .1em;
  color: var(--green);
  filter: drop-shadow(0 2px 4px rgba(121, 164, 118, .15));
  pointer-events: none;
}

.promise-box-3::after {
  content: "";
  position: absolute;
  top: 3.2rem;
  left: 7.2rem;
  width: 1px;
  height: calc(100% - 6.4rem);
  background: var(--green);
  pointer-events: none;
}

@media (min-width:769px) {
  .promise-3-wrap {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .promise-box-3 {
    flex: 1 1 calc((100% - 3.2rem) / 3);
    padding: 5rem 1rem 3.4rem 9rem !important;
  }

  .promise-3-wrap .promise-box-3+.promise-box-3 {
    border-top: 1px solid rgba(54, 69, 58, .25);
    margin-top: 0;
  }

  .promise-box-3::before {
    font-size: 5.4rem;
  }

  .promise-box-3::after {
    left: 8rem;
  }
}

@media (max-width:1279.98px) {
  .sp-header .hamburger-btn {
    display: block !important;
    position: fixed !important;
    top: .8rem !important;
    right: max(1.6rem, calc(50vw - 21rem + 1.6rem)) !important;
    left: auto !important;
    width: 4.2rem !important;
    height: 4.2rem !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .85) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 .4rem 1.2rem rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
    cursor: pointer !important;
    z-index: 1001 !important;
    transition: background .2s ease !important;
  }

  .sp-header .hamburger-btn:hover {
    background: rgba(255, 255, 255, .95) !important;
    box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .7) !important;
  }

  .sp-header .hamburger-btn .btn-inner {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 1.9rem !important;
    height: .65rem !important;
    display: block !important;
  }

  .sp-header .hamburger-btn .btn-inner span {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    height: 1px !important;
    background: #808981 !important;
    border-radius: 1px !important;
    transition: width .4s cubic-bezier(.22, 1, .36, 1), transform .4s cubic-bezier(.22, 1, .36, 1), top .4s cubic-bezier(.22, 1, .36, 1), opacity .3s ease !important;
  }

  .sp-header .hamburger-btn .btn-inner span:nth-child(1) {
    top: 0 !important;
    width: 100% !important;
  }

  .sp-header .hamburger-btn .btn-inner span:nth-child(2) {
    top: 100% !important;
    transform: translateY(-100%) !important;
    width: 75% !important;
  }

  .sp-header .hamburger-btn .btn-inner span:nth-child(3) {
    display: none !important;
  }

  .sp-header .hamburger-btn.active {
    background: rgba(121, 164, 118, .85) !important;
    backdrop-filter: blur(1rem) saturate(160%) !important;
    -webkit-backdrop-filter: blur(1rem) saturate(160%) !important;
  }

  .sp-header .hamburger-btn.active .btn-inner span {
    background: #fff !important;
  }

  .sp-header .hamburger-btn.active .btn-inner span:nth-child(1) {
    top: 50% !important;
    width: 90% !important;
    right: 5% !important;
    left: auto !important;
    opacity: 1 !important;
    transform: translateY(-50%) rotate(45deg) !important;
  }

  .sp-header .hamburger-btn.active .btn-inner span:nth-child(2) {
    top: 50% !important;
    width: 90% !important;
    right: 5% !important;
    left: auto !important;
    opacity: 1 !important;
    transform: translateY(-50%) rotate(-45deg) !important;
  }

  .sp-header .hamburger-btn.active .btn-inner span:nth-child(3) {
    opacity: 0 !important;
  }

  .full-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    transform: none !important;
    background: #fff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: var(--black) !important;
    border: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    transition: opacity .2s ease, visibility .2s ease !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding-top: 0 !important;
    z-index: 999 !important;
    pointer-events: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .full-nav.is-open {
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .full-nav>* {
    position: relative;
    z-index: 2;
  }

  .full-nav::before {
    content: none !important;
    display: none !important;
  }

  .full-nav.is-open::before {
    display: none !important;
  }

  .full-nav .nav-inner {
    padding: 0 2rem 6rem;
    max-width: 36rem;
    text-align: left;
    width: 100%;
  }

  .full-nav .nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.2rem !important;
  }

  .full-nav .cta-button {
    display: block !important;
    position: absolute !important;
    bottom: 8rem !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    width: 26rem !important;
    margin: 0 auto !important;
  }

  .full-nav .nav-list a {
    color: #fff !important;
    font-size: 1.7rem !important;
    letter-spacing: .15em !important;
    font-weight: 500 !important;
    text-decoration: none;
    text-shadow: 0 .1rem .6rem rgba(0, 0, 0, .25);
    transition: color .3s ease, opacity .3s ease !important;
    transform: none !important;
    opacity: 1 !important;
    transition-delay: 0s !important;
  }

  .full-nav .nav-list li a {
    transform: none !important;
    opacity: 1 !important;
    transition-delay: 0s !important;
  }

  .full-nav .nav-list a:hover {
    opacity: .75;
  }

  .full-nav .nav-list li:not(.bu) {
    position: relative;
  }

  .full-nav .nav-list li:not(.bu) a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -.4rem;
    transform: scaleX(0);
    transform-origin: left center;
    width: 2rem;
    height: 1px;
    background: rgba(255, 255, 255, .7);
    transition: transform .4s cubic-bezier(.22, 1, .36, 1);
  }

  .full-nav .nav-list li:not(.bu) a:hover::before {
    transform: scaleX(1);
  }

  .full-nav .nav-list li.bu {
    margin-top: 1rem;
  }

  .full-nav .nav-list li.bu+li.bu {
    margin-top: .6rem;
  }

  .full-nav .nav-list li.bu a.cta-button,
  .full-nav .nav-list li.bu a.button {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .7);
    width: 26rem;
    padding: 1.6rem 2rem !important;
    text-align: center;
    border-radius: 40rem;
    font-size: 1.4rem !important;
    letter-spacing: .2em !important;
  }

  .full-nav .miss-link {
    position: absolute;
    bottom: 4rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.2rem;
    letter-spacing: .2em;
    color: #fff !important;
    opacity: .75;
    text-decoration: underline;
    text-underline-offset: .4rem;
  }

  .full-nav .miss-link:hover {
    opacity: 1;
  }

  .full-nav .nav-list li {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    transition-delay: 0s !important;
  }

  .full-nav.is-open .nav-list li {
    opacity: 1 !important;
    transform: none !important;
    transition-delay: 0s !important;
  }

  .full-nav.is-open .nav-list li:nth-child(1) {
    transition-delay: .25s;
  }

  .full-nav.is-open .nav-list li:nth-child(2) {
    transition-delay: .30s;
  }

  .full-nav.is-open .nav-list li:nth-child(3) {
    transition-delay: .35s;
  }

  .full-nav.is-open .nav-list li:nth-child(4) {
    transition-delay: .40s;
  }

  .full-nav.is-open .nav-list li:nth-child(5) {
    transition-delay: .45s;
  }

  .full-nav.is-open .nav-list li:nth-child(6) {
    transition-delay: .50s;
  }

  .full-nav.is-open .nav-list li:nth-child(7) {
    transition-delay: .55s;
  }

  .full-nav.is-open .nav-list li:nth-child(8) {
    transition-delay: .60s;
  }

  .full-nav.is-open .nav-list li:nth-child(9) {
    transition-delay: .65s;
  }

  .full-nav.is-open .nav-list li:nth-child(10) {
    transition-delay: .70s;
  }
}

.fix-cta-button {
  position: fixed !important;
  bottom: 1.6rem !important;
  right: 1.6rem !important;
  left: auto !important;
  width: auto !important;
  max-width: none !important;
  padding: 2.2rem 3rem 2rem 2.6rem !important;
  font-size: 1.5rem !important;
  letter-spacing: .2em !important;
  z-index: 999 !important;
  box-shadow: 0 .8rem 1.8rem rgba(0, 0, 0, .22) !important;
  transform: none !important;
  display: inline-block !important;
}

.fix-cta-button::after {
  right: 1.4rem !important;
}

@media (min-width:1280px) {
  .fix-cta-button {
    display: inline-block !important;
  }
}

body:not(.is-in-fv):not(.is-at-footer) .fix-cta-button {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  visibility: visible !important;
}

body.is-in-fv .fix-cta-button {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(1.6rem);
}

body.is-at-footer .fix-cta-button,
body.is-at-footer .fix-cta-button-2 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(1.6rem) !important;
  transition: opacity .3s ease, visibility .3s ease, transform .3s ease !important;
}

@media (min-width:1280px) {
  body.is-in-fv .fix-cta-button {
    display: none !important;
  }
}

/* 768〜1280px: ハンバーガーメニュー内を SP (≤768) と同じ体験に統一 */
@media (min-width:768px) and (max-width:1279.98px) {
  .full-nav {
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    overflow-y: auto !important;
  }

  .full-nav .nav-inner {
    max-width: 36rem !important;
    padding: 4rem 2rem 14rem !important;
    text-align: left !important;
    width: 100% !important;
  }

  .full-nav .nav-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2rem !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .full-nav .nav-list li {
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    width: auto !important;
  }

  .full-nav .nav-list a {
    display: inline-block !important;
    font-size: 1.6rem !important;
    letter-spacing: .1em !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
  }

  .full-nav .sub-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: .5rem 1.6rem !important;
    margin: .8rem 0 0 !important;
    padding: 0 !important;
  }

  .full-nav .cta-button {
    position: absolute !important;
    bottom: 8rem !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 26rem !important;
    margin: 0 !important;
  }

  .full-nav .miss-link {
    position: absolute !important;
    bottom: 4rem !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

.cta {
  position: relative;
  z-index: 1;
  background-position: center center !important;
  background-size: cover !important;
}

.cta::before,
.cta::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.cta::before {
  top: -10rem;
  transform: scaleY(-1);
}

.cta::after {
  bottom: -20rem;
}

.footer.cta::after {
  display: none !important;
}

.cta>*:not(.hikari-ball) {
  position: relative;
  z-index: 1;
}

.cta .cta-button {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

.store {
  position: relative;
  z-index: 1;
  background: var(--gra4);
}

.store::before,
.store::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.store::before {
  top: -10rem;
  transform: scaleY(-1);
}

.store::after {
  bottom: -20rem;
}

.store>*:not(.hikari-ball) {
  position: relative;
  z-index: 1;
}

.store-other-slider {
  position: relative;
  width: 100%;
}

.store-other-wrap:not(.splide) {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 0 0% 2rem;
  scrollbar-width: none;
}

.store-other-wrap:not(.splide)::-webkit-scrollbar {
  display: none;
}

.store-other-wrap:not(.splide) .store-other-box {
  flex: 0 0 80%;
  max-width: 32rem;
  scroll-snap-align: center;
  background: transparent;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  padding: 0;
  transition: opacity .35s ease;
}

.store-other-wrap:has(>.store-other-box:only-child),
.manager-wrap:has(>.manager-box:only-child),
.your-wrap:has(>.your-box:only-child),
.your-work-wrap:has(>.your-work-box:only-child),
.first-step-wrap:has(>.first-step-box:only-child),
.money-slider-track:has(>.money-box:only-child) {
  justify-content: center !important;
  overflow-x: hidden !important;
  scroll-snap-type: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.store-other-wrap:has(>.store-other-box:only-child)>.store-other-box,
.manager-wrap:has(>.manager-box:only-child)>.manager-box,
.your-wrap:has(>.your-box:only-child)>.your-box,
.your-work-wrap:has(>.your-work-box:only-child)>.your-work-box,
.first-step-wrap:has(>.first-step-box:only-child)>.first-step-box,
.money-slider-track:has(>.money-box:only-child)>.money-box {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 36rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: scale(1) !important;
  opacity: 1 !important;
}

.voice-wrap:has(>.voice-box:only-child)>.voice-box {
  width: 24rem !important;
  max-width: 24rem !important;
  left: 50% !important;
  margin-left: -12rem !important;
  margin-right: 0 !important;
  opacity: 1 !important;
}

.your-slider-container .your-wrap:has(>.your-box:only-child)>.your-box.is-active {
  transform: scale(1) !important;
  opacity: 1 !important;
}

.store-other-slider:has(.store-other-box:only-child) .slider-prev,
.store-other-slider:has(.store-other-box:only-child) .slider-next,
.voice-slider-container:has(.voice-box:only-child) .slider-prev,
.voice-slider-container:has(.voice-box:only-child) .slider-next,
.manager-slider-container:has(.manager-box:only-child) .slider-prev,
.manager-slider-container:has(.manager-box:only-child) .slider-next,
.your-slider-container:has(.your-box:only-child) .slider-prev,
.your-slider-container:has(.your-box:only-child) .slider-next,
.your-work-slider-container:has(.your-work-box:only-child) .slider-prev,
.your-work-slider-container:has(.your-work-box:only-child) .slider-next,
.first-step-slider-container:has(.first-step-box:only-child) .slider-prev,
.first-step-slider-container:has(.first-step-box:only-child) .slider-next,
.money-slider:has(.money-box:only-child) .slider-prev,
.money-slider:has(.money-box:only-child) .slider-next {
  display: none !important;
}

.money-slider:has(.money-box:only-child) {
  width: auto !important;
  margin-left: 0 !important;
  transform: none !important;
}

.store-other-wrap .store-other-box img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: 1rem;
}

.store-other-wrap .store-other-box h3 {
  font-size: 1.8rem;
  font-weight: 500;
  margin-top: 1.2rem;
  margin-bottom: .4rem;
  letter-spacing: .1em;
  text-align: left;
}

.store-other-wrap .store-other-box p {
  font-size: 1.3rem;
  color: var(--black2);
  line-height: 1.7;
  margin-bottom: 1.6rem;
  text-align: left;
}

.store-other-wrap .store-other-box .store-other-ul {
  display: flex;
  flex-wrap: nowrap;
  gap: .6rem;
  list-style: none;
  padding: 0;
  margin: 0 0 2.4rem;
}

.store-other-wrap .store-other-box .store-other-ul li {
  flex: 0 0 auto;
  font-size: 1.25rem;
  padding: .8rem .5rem .6rem;
  background: var(--shibuya-main3);
  color: var(--black2);
  border-radius: 0;
  letter-spacing: .05em;
  white-space: nowrap;
}

.store-other-wrap .store-other-box .button {
  margin-top: auto !important;
  width: 100% !important;
}

.store-other-slider .slider-prev,
.store-other-slider .slider-next {
  position: absolute;
  top: 15rem;
  transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .45);
  backdrop-filter: blur(10px) saturate(150%);
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, .6);
  color: var(--black2) !important;
  -webkit-text-fill-color: var(--black2) !important;
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
  z-index: 5;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .6);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease, box-shadow .25s ease;
}

.store-other-slider .slider-prev {
  left: 2.5rem;
}

.store-other-slider .slider-next {
  right: 2.5rem;
}

.store-other-wrap.splide .splide__arrow--prev {
  left: 2.5rem !important;
}

.store-other-wrap.splide .splide__arrow--next {
  right: 2.5rem !important;
}

.store-other-slider .slider-prev:hover,
.store-other-slider .slider-next:hover {
  background: rgba(255, 255, 255, .65);
  box-shadow: 0 .8rem 2rem rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .7);
}

@media (min-width:769px) {
  .store-other-wrap .store-other-box {
    flex-basis: 38rem;
  }
}

html {
  font-size: 62.5% !important;
}

@media (min-width:480px) {
  html {
    font-size: 62.5% !important;
  }

  .contents {
    max-width: 420px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
}

.contents {
  max-width: 420px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.meet-message-modal {
  position: fixed;
  inset: 0;
  z-index: 100002;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease, visibility 0s .35s;
}

.meet-message-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity .35s ease, visibility 0s;
}

.meet-message-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(54, 69, 58, .55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.meet-message-modal-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  border-radius: 1.6rem 1.6rem 0 0;
  padding: 8rem 2.4rem 3.6rem;
  max-width: 42rem;
  max-height: 85dvh;
  margin: 0 auto;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(110%);
  transition: transform .45s cubic-bezier(.22, 1, .36, 1);
  box-shadow:
    0 0 8rem rgba(255, 255, 255, .35),
    0 -1rem 3rem rgba(0, 0, 0, .12);
}

.meet-message-modal.is-open .meet-message-modal-content {
  transform: translateY(0);
}

.meet-message-modal-close {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: var(--green);
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  padding-bottom: .4rem;
}

.meet-message-modal-body {
  font-size: 1.4rem;
  line-height: 1.85;
  letter-spacing: .05em;
  color: var(--black);
}

.meet-message-modal-body p {
  margin: 0;
}

body.meet-modal-open {
  overflow: hidden;
}

.meet-message-modal-content::before {
  content: "";
  position: absolute;
  top: .8rem;
  left: 50%;
  width: 4rem;
  height: .4rem;
  background: rgba(0, 0, 0, .18);
  border-radius: .4rem;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 10;
}

.meet-message-modal-content.is-dragging {
  transition: none !important;
}

.meet-message-modal-head {
  margin: -1.6rem -2.4rem 4rem;
  padding: 0 2.4rem 4rem;
  border-bottom: 1px solid rgba(54, 69, 58, .12);
}

.meet-message-modal-head .manager-people-box {
  display: block;
  margin: 0;
  padding: 0;
  text-align: center;
}

.meet-message-modal-head .manager-people-box img {
  width: 100%;
  height: auto;
  max-height: 38rem;
  object-fit: cover;
  margin: 0;
  display: block;
}

body.grade .meet-message-modal-head .manager-people-box img {
  max-height: none;
  height: auto;
  object-fit: contain;
}

.meet-message-modal-head .manager-people-box .name {
  background: var(--green);
  color: #fff;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1;
  text-align: center;
  font-family: "Cardo", "Zen Old Mincho", sans-serif;
  padding: 1rem 2.8rem .8rem;
  width: fit-content;
  margin: -2rem auto 0;
  position: relative;
  z-index: 5;
}

.meet-message-modal-head .manager-people-box .name .small {
  margin-right: 1rem;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  display: inline;
  letter-spacing: .05em;
  vertical-align: middle;
}

.rank-info-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 1.6rem auto 0;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--green);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: .05em;
  text-decoration: underline;
  text-underline-offset: .4rem;
  cursor: pointer;
  width: fit-content;
}

.rank-info-link::before,
.rank-info-link::after {
  display: none !important;
  content: none !important;
}

.rank-info-link:hover {
  opacity: .75;
}

.rank-info-link+.message-content {
  display: none;
}

.rank-price.rank-section,
.rank-section:has(>.rank-info-link.more-top.more) {
  text-align: center !important;
}

.rank-info-link.more-top.more {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 1.6rem auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
  float: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
}

.rank-info-content {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.3rem;
  line-height: 1.9;
  color: #3a3a38;
  counter-reset: rank-step;
}

.meet-message-modal-body:has(.rank-info-item) {
  counter-reset: rank-step;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
}

.meet-message-modal-body:has(.rank-info-item)::before,
.rank-info-content::before {
  content: "指名料について" !important;
  display: block !important;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 2rem !important;
  letter-spacing: .1em !important;
  text-align: center !important;
  color: var(--black) !important;
  margin: 0 0 2rem !important;
  padding: 0 0 1.4rem !important;
  border-bottom: 1px solid rgba(54, 69, 58, .15) !important;
  text-indent: 0 !important;
  background: none !important;
}

.meet-message-modal-body:has(.rank-info-item)::after,
.rank-info-content::after {
  content: none !important;
  display: none !important;
  content: "ランク制度について";
  display: block;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 500;
  font-size: 1.9rem;
  letter-spacing: .24em;
  text-indent: .24em;
  text-align: center;
  color: #2f322f;
  padding-bottom: 2rem;
  margin: 0 auto 2.4rem;
  position: relative;
  background-image: linear-gradient(90deg, transparent, #b8b8b3 25%, #b8b8b3 75%, transparent);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 6rem 1px;
}

.meet-message-modal-inner .meet-message-modal-body .rank-info-intro,
.rank-info-content .rank-info-intro {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 400;
  text-align: center;
  font-size: 1.3rem;
  line-height: 2.1 !important;
  letter-spacing: .1em;
  color: var(--black) !important;
  margin: 2rem auto 0 !important;
  padding: 2.4rem .8rem 0 !important;
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  border-top: 1px solid rgba(155, 155, 148, .22) !important;
  max-width: 30rem !important;
  order: 999 !important;
}

.meet-message-modal-body .rank-info-item,
.rank-info-content .rank-info-item {
  counter-increment: rank-step;
  position: relative;
  margin: 0 0 1.6rem;
  padding: 2rem 1.8rem 1.8rem;
  border-radius: 0;
  border: none;
  border-top: 1px solid rgba(155, 155, 148, .25);
  border-bottom: 1px solid rgba(155, 155, 148, .25);
  background: transparent !important;
  box-shadow: none;
  transition: background .4s ease;
}

.meet-message-modal-body .rank-info-item+.rank-info-item,
.rank-info-content .rank-info-item+.rank-info-item {
  margin-top: -1px;
}

.meet-message-modal-body .rank-info-item:hover,
.rank-info-content .rank-info-item:hover {
  background: rgba(250, 248, 242, .4) !important;
  transform: none;
  box-shadow: none;
}

.meet-message-modal-body .rank-info-item::before,
.rank-info-content .rank-info-item::before {
  content: counter(rank-step, upper-roman);
  position: static;
  display: block;
  width: auto;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-style: italic;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: .15em;
  color: #b8a67a;
  text-align: left;
  line-height: 1;
  margin-bottom: .6rem;
}

.meet-message-modal-body .rank-info-item:not(:last-of-type)::after,
.rank-info-content .rank-info-item:not(:last-of-type)::after {
  content: none;
}

.meet-message-modal-body .rank-info-badge,
.rank-info-content .rank-info-badge {
  display: inline-block;
  padding: 0;
  border-radius: 0;
  border: none;
  background: transparent !important;
  box-shadow: none;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 1.9rem !important;
  font-weight: 500;
  letter-spacing: .15em;
  color: #2f322f !important;
  white-space: nowrap;
  line-height: 1.2;
}

.meet-message-modal-body .rank-info-price,
.rank-info-content .rank-info-price {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 400;
  letter-spacing: .06em;
  color: #6a6a66;
  white-space: nowrap;
  font-variant-numeric: lining-nums proportional-nums;
}

.meet-message-modal-body .rank-info-item p,
.rank-info-content .rank-info-item p {
  margin: 0;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: .06em;
  color: #4a4a48;
}

.meet-message-modal-body .rank-info-item.gold::before,
.rank-info-content .rank-info-item.gold::before {
  color: #b89545;
}

.meet-message-modal-body .rank-info-item.pratina::before,
.rank-info-content .rank-info-item.pratina::before {
  color: #7a9a94;
}

.meet-message-modal-body .rank-info-item.daiya::before,
.rank-info-content .rank-info-item.daiya::before {
  color: #7c8aa8;
}

.meet-message-modal-body .rank-info-item.eme::before,
.rank-info-content .rank-info-item.eme::before {
  color: #4f8e7a;
}

.meet-message-modal-body .rank-info-item.gold .rank-info-badge,
.rank-info-content .rank-info-item.gold .rank-info-badge {
  border-bottom: 1px solid rgba(184, 149, 69, .4);
  padding-bottom: .2rem;
}

.meet-message-modal-body .rank-info-item.pratina .rank-info-badge,
.rank-info-content .rank-info-item.pratina .rank-info-badge {
  border-bottom: 1px solid rgba(122, 154, 148, .4);
  padding-bottom: .2rem;
}

.meet-message-modal-body .rank-info-item.daiya .rank-info-badge,
.rank-info-content .rank-info-item.daiya .rank-info-badge {
  border-bottom: 1px solid rgba(124, 138, 168, .4);
  padding-bottom: .2rem;
}

.meet-message-modal-body .rank-info-item.eme .rank-info-badge,
.rank-info-content .rank-info-item.eme .rank-info-badge {
  border-bottom: 1px solid rgba(79, 142, 122, .5);
  padding-bottom: .2rem;
}

.rank-about-box p,
.rank-about-box .big {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
  letter-spacing: .05em;
}

.price-end .big {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  letter-spacing: .05em;
}

.meet-message-modal-content,
.meet-message-modal-content * {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
}

.meet-message-modal-body:has(.rank-info-item),
.meet-message-modal-body:has(.rank-info-item) .rank-info-intro,
.meet-message-modal-body:has(.rank-info-item) .rank-info-item,
.meet-message-modal-body:has(.rank-info-item) .rank-info-item p,
.meet-message-modal-body:has(.rank-info-item) .rank-info-badge {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
}

.meet-message-modal-body:has(.rank-info-item) .rank-info-price {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
}

.meet-message-modal-head {
  margin: -.6rem -2.4rem 1.6rem;
  padding: 0 2.4rem 1.6rem;
  border-bottom: 1px solid rgba(54, 69, 58, .1);
}

.meet-message-modal-head .manager-people-box {
  display: block;
  text-align: center;
  margin: 0;
  padding: 0;
}

.meet-message-modal-head .manager-people-box img {
  width: 100%;
  height: auto;
  max-height: 28rem;
  object-fit: cover;
  display: block;
  margin: 0;
}

.meet-message-modal-head .manager-people-box .name {
  background: var(--green);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  padding: 1rem 2.4rem .9rem;
  width: fit-content;
  margin: -1.8rem auto 0;
  position: relative;
  z-index: 5;
  box-shadow: 0 .4rem 1.2rem rgba(121, 164, 118, .3);
}

.meet-message-modal-head .manager-people-box .name .small {
  font-size: 1.4rem;
  font-weight: 400;
  margin-right: .6rem;
  display: inline;
  vertical-align: middle;
  letter-spacing: .05em;
  opacity: .85;
}

.meet-message-modal-head .example-img-box {
  text-align: center;
  margin: 0 0 1.4rem;
  position: relative;
}

.meet-message-modal-head .example-img-box img {
  width: 100%;
  height: auto;
  max-height: 20rem;
  border-radius: 1rem;
  object-fit: cover;
  display: block;
  margin: 0;
}

.meet-message-modal-head .example-img-box .name {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 1rem 0 .2rem;
  letter-spacing: .05em;
  background: transparent;
  color: var(--black);
  padding: 0;
}

.meet-message-modal-head .example-img-box .name .big {
  font-size: 2.2rem;
  margin-right: .3rem;
  color: var(--green);
  font-weight: 700;
}

.meet-message-modal-head .example-img-box .name-2 {
  font-size: 1.2rem;
  color: var(--black2);
  margin: 0 0 .4rem;
  letter-spacing: .05em;
}

.meet-message-modal-head>.price-end {
  background: linear-gradient(135deg, #568958 0%, #89b585 90%);
  color: #fff;
  text-align: center;
  padding: 1.4rem 1.6rem;
  border-radius: 1rem;
  font-size: 1.3rem;
  font-weight: 500;
  margin: 1.2rem 0 0;
  letter-spacing: .06em;
  line-height: 1.4;
  box-shadow: 0 .6rem 1.6rem rgba(86, 137, 88, .25);
}

.meet-message-modal-head>.price-end .green {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.meet-message-modal-head>.price-end .big {
  font-size: 2.6rem;
  font-weight: 700;
  margin: 0 .2rem;
  letter-spacing: .02em;
}

.meet-message-modal-body {
  font-size: 1.3rem;
  line-height: 1.85;
  color: var(--black);
}

.meet-message-modal-body>p {
  margin: 0 0 1.4rem;
}

.meet-message-modal-body .box {
  display: block !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}

.meet-message-modal-body .box::before,
.meet-message-modal-body .box::after,
.meet-message-modal-body .box *::before,
.meet-message-modal-body .box *::after {
  display: none !important;
  content: none !important;
}

.meet-message-modal-body .sim-section {
  margin: 0 0 1.4rem;
}

.meet-message-modal-body .sim-section-label {
  font-size: 1.15rem;
  letter-spacing: .18em;
  font-weight: 600;
  color: var(--green);
  text-transform: uppercase;
  margin: 0 0 1rem;
  padding-left: .8rem;
  border-left: 3px solid var(--green);
  line-height: 1.3;
}

.meet-message-modal-body .sim-step {
  position: relative;
  background: #fff;
  border: 1px solid rgba(54, 69, 58, .1);
  border-radius: 1rem;
  padding: 1.6rem 1.4rem 1.4rem;
  margin: 0 0 .8rem;
  box-shadow: 0 .2rem .8rem rgba(0, 0, 0, .03);
}

.meet-message-modal-body .sim-step-num {
  position: absolute;
  top: -.8rem;
  left: 1.2rem;
  background: var(--green);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .1em;
  padding: .3rem .8rem;
  border-radius: 999px;
  line-height: 1;
}

.meet-message-modal-body .sim-step-title {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black);
  margin: .2rem 0 .8rem;
  letter-spacing: .05em;
}

.meet-message-modal-body .sim-step-detail {
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--black);
  margin: 0 0 .6rem;
}

.meet-message-modal-body .sim-num {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--green);
  margin: 0 .15rem;
  letter-spacing: 0;
}

.meet-message-modal-body .sim-step-calc {
  font-size: 1.2rem;
  color: var(--black2);
  margin: 0 0 .8rem;
  padding: .5rem .8rem;
  background: rgba(54, 69, 58, .04);
  border-radius: .4rem;
  letter-spacing: .03em;
  display: inline-block;
}

.meet-message-modal-body .sim-step-result {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: .4rem;
  margin-top: .6rem;
  padding-top: .8rem;
  border-top: 1px dashed rgba(54, 69, 58, .15);
}

.meet-message-modal-body .sim-step-result .sim-yen {
  color: var(--green);
  font-size: 1.5rem;
  font-weight: 500;
}

.meet-message-modal-body .sim-step-result .sim-yen-num {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin: 0 .1rem;
}

.meet-message-modal-body .sim-step-result .sim-unit {
  font-size: 1.1rem;
  color: var(--black2);
  margin-left: .2rem;
}

.meet-message-modal-body .sim-step-highlight {
  background: linear-gradient(135deg, #f3f8f4 0%, #fff 100%);
  border-color: var(--green);
}

.meet-message-modal-body .sim-step-highlight .sim-step-num {
  background: linear-gradient(135deg, #568958 0%, #89b585 100%);
}

.meet-message-modal-body .sim-step-result-big {
  align-items: center;
  justify-content: space-between;
}

.meet-message-modal-body .sim-step-result-big .sim-step-result-label {
  font-size: 1.15rem;
  color: var(--black2);
  letter-spacing: .1em;
}

.meet-message-modal-body .sim-step-result-big .sim-yen-num {
  font-size: 2.8rem;
}

.meet-message-modal-body .sim-arrow {
  position: relative;
  text-align: center;
  font-size: 1.1rem;
  color: var(--black2);
  letter-spacing: .06em;
  margin: .4rem 0;
  padding: 1.4rem 0 .6rem;
}

.meet-message-modal-body .sim-arrow::before {
  content: "↓";
  display: block !important;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.4rem;
  color: var(--green);
  opacity: .5;
  line-height: 1;
}

.meet-message-modal-body .sim-percent {
  font-weight: 700;
  color: var(--green);
  font-size: 1.3rem;
  margin: 0 .2rem;
}

.meet-message-modal-body .sim-divider {
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(54, 69, 58, .2), transparent);
  margin: 2rem 0;
}

.meet-message-modal-body .sim-summary {
  background: linear-gradient(135deg, rgba(86, 137, 88, .05) 0%, rgba(137, 181, 133, .08) 100%);
  border: 1px solid rgba(86, 137, 88, .18);
  border-radius: 1.2rem;
  padding: 1.6rem 1.6rem 1.4rem;
  margin: 1.8rem 0 1rem;
}

.meet-message-modal-body .sim-summary-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: .6rem 0;
  font-size: 1.25rem;
}

.meet-message-modal-body .sim-summary-row+.sim-summary-row {
  border-top: 1px solid rgba(54, 69, 58, .08);
}

.meet-message-modal-body .sim-summary-label {
  color: var(--black2);
  letter-spacing: .08em;
  font-weight: 500;
}

.meet-message-modal-body .sim-summary-row .sim-yen {
  color: var(--green);
  font-weight: 500;
  font-size: 1.4rem;
}

.meet-message-modal-body .sim-summary-row .sim-yen-num {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin: 0 .1rem;
}

.meet-message-modal-body .sim-summary-total {
  margin-top: .4rem;
  padding-top: 1rem !important;
  border-top: 2px solid var(--green) !important;
  font-size: 1.4rem !important;
}

.meet-message-modal-body .sim-summary-total .sim-summary-label {
  color: var(--black);
  font-weight: 700;
  font-size: 1.4rem;
}

.meet-message-modal-body .sim-summary-total .sim-yen-total {
  font-size: 1.6rem !important;
  font-weight: 700;
}

.meet-message-modal-body .sim-summary-total .sim-yen-num {
  font-size: 2.8rem !important;
  color: var(--green);
}

.meet-message-modal-body .sim-summary-total .sim-unit {
  font-size: 1.2rem;
  color: var(--black2);
  margin-left: .2rem;
}

.meet-message-modal-body .sim-note {
  font-size: 1.1rem;
  color: var(--black2);
  text-align: center;
  margin: .6rem 0 0;
  letter-spacing: .06em;
  line-height: 1.6;
}

.voice {
  position: relative;
  z-index: 1;
}

.voice::before,
.voice::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.voice::before {
  top: -12rem;
  transform: scaleY(-1);
}

.voice::after {
  bottom: -20rem;
}

.voice>*:not(.hikari-ball) {
  position: relative;
  z-index: 1;
}

.meet-message-modal-content {
  padding: 4.4rem 2rem 4rem !important;
  max-width: 44rem !important;
  background: #fafafa !important;
  border-radius: 2rem 2rem 0 0 !important;
}

.meet-message-modal-content::before {
  top: 1rem !important;
  width: 5rem !important;
  height: .4rem !important;
  background: rgba(0, 0, 0, .12) !important;
}

.meet-message-modal-head {
  margin: 0 -.4rem 2.4rem !important;
  padding: 0 .4rem !important;
  border: none !important;
}

.meet-message-modal-head .manager-people-box .name {
  font-size: 3.4rem !important;
  padding: 1.4rem 3rem 1.2rem !important;
  margin-top: -2.4rem !important;
}

.meet-message-modal-head .example-img-box {
  text-align: center !important;
  margin: 0 0 1.6rem !important;
}

.meet-message-modal-head .example-img-box img {
  width: 30% !important;
  max-width: 12rem !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  border-radius: 0 !important;
  display: block !important;
  object-fit: contain !important;
}

.meet-message-modal-head .example-img-box .name {
  font-weight: 500 !important;
  font-size: 1.2rem !important;
  margin: .4rem 0 0 !important;
  text-align: center !important;
  background: transparent !important;
  color: var(--black) !important;
  padding: 0 !important;
  width: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.meet-message-modal-head .example-img-box .name .big {
  font-size: 2rem !important;
  color: var(--green) !important;
  margin-right: .2rem !important;
  font-weight: 700 !important;
}

.meet-message-modal-head .example-img-box .name-2 {
  text-align: center !important;
  font-weight: 500 !important;
  font-size: 1.15rem !important;
  margin: -.4rem 0 0 !important;
  color: var(--black) !important;
  letter-spacing: .05em !important;
}

.meet-message-modal-content {
  display: flex !important;
  flex-direction: column !important;
}

.meet-message-modal-close {
  position: sticky !important;
  top: .4rem !important;
  right: 0 !important;
  margin: 0 0 0 auto !important;
  flex: 0 0 auto !important;
  z-index: 20 !important;
}

.meet-message-modal-head>.price-end {
  padding: 1.2rem 1.4rem !important;
  font-size: 1.2rem !important;
  border-radius: 1.2rem !important;
  letter-spacing: .08em !important;
  margin-top: 1.6rem !important;
}

.meet-message-modal-head>.price-end .big {
  font-size: 2.4rem !important;
}

.meet-message-modal-body .sim-section {
  margin: 0 0 2rem !important;
}

.meet-message-modal-body .sim-section-label {
  font-size: 1.1rem !important;
  letter-spacing: .22em !important;
  margin: 0 0 1.4rem !important;
  padding-left: 1rem !important;
  border-left-width: 2px !important;
}

.meet-message-modal-body .sim-step {
  background: #fff !important;
  border: none !important;
  border-radius: 1.2rem !important;
  padding: 1.8rem 1.6rem 1.4rem !important;
  margin: 0 0 1rem !important;
  box-shadow: 0 .4rem 1.6rem rgba(54, 69, 58, .06) !important;
}

.meet-message-modal-body .sim-step-num {
  top: -1rem !important;
  left: 1.4rem !important;
  background: var(--black) !important;
  color: #fff !important;
  font-size: 1.05rem !important;
  letter-spacing: .14em !important;
  padding: .35rem .9rem !important;
  border-radius: .4rem !important;
}

.meet-message-modal-body .sim-step-title {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  margin: .4rem 0 1rem !important;
  padding-bottom: .8rem !important;
  border-bottom: 1px solid rgba(54, 69, 58, .08) !important;
}

.meet-message-modal-body .sim-step-detail {
  font-size: 1.3rem !important;
  line-height: 1.85 !important;
  margin: 0 0 .8rem !important;
  color: var(--black) !important;
}

.meet-message-modal-body .sim-num {
  font-size: 1.9rem !important;
  font-weight: 700 !important;
  color: var(--green) !important;
  margin: 0 .2rem !important;
}

.meet-message-modal-body .sim-step-calc {
  font-size: 1.15rem !important;
  color: var(--black2) !important;
  background: rgba(86, 137, 88, .06) !important;
  padding: .5rem 1rem !important;
  border-radius: 999px !important;
  letter-spacing: .04em !important;
  margin: 0 0 1rem !important;
  display: inline-block !important;
}

.meet-message-modal-body .sim-step-result {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  gap: .3rem !important;
  margin: 0 !important;
  padding: .8rem 0 0 !important;
  border-top: 1px dashed rgba(54, 69, 58, .15) !important;
}

.meet-message-modal-body .sim-step-result .sim-yen {
  color: var(--green) !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
}

.meet-message-modal-body .sim-step-result .sim-yen-num {
  font-size: 2.6rem !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
}

.meet-message-modal-body .sim-step-result .sim-unit {
  font-size: 1.1rem !important;
  color: var(--black2) !important;
}

.meet-message-modal-body .sim-step-highlight {
  background: linear-gradient(135deg, #568958 0%, #6da76e 100%) !important;
  box-shadow: 0 .6rem 2rem rgba(86, 137, 88, .25) !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-num {
  background: rgba(255, 255, 255, .25) !important;
  color: #fff !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-title {
  color: #fff !important;
  border-bottom-color: rgba(255, 255, 255, .3) !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-calc {
  background: rgba(255, 255, 255, .18) !important;
  color: #fff !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result {
  border-top-color: rgba(255, 255, 255, .3) !important;
  justify-content: space-between !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-step-result-label {
  font-size: 1.15rem !important;
  color: rgba(255, 255, 255, .8) !important;
  letter-spacing: .12em !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-yen,
.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-yen-num {
  color: #fff !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-yen-num {
  font-size: 3rem !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-unit {
  color: rgba(255, 255, 255, .7) !important;
}

.meet-message-modal-body .sim-arrow {
  text-align: center !important;
  font-size: 1.15rem !important;
  color: var(--black2) !important;
  letter-spacing: .06em !important;
  padding: 1.8rem 0 .6rem !important;
  margin: 0 !important;
  position: relative !important;
}

.meet-message-modal-body .sim-arrow::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 1px !important;
  height: 1.4rem !important;
  background: rgba(54, 69, 58, .25) !important;
  border-radius: 999px !important;
  font-size: 0 !important;
  color: transparent !important;
  opacity: 1 !important;
}

.meet-message-modal-body .sim-percent {
  font-weight: 700 !important;
  color: var(--green) !important;
  margin: 0 .2rem !important;
}

.meet-message-modal-body .sim-divider {
  height: 1px !important;
  background: rgba(54, 69, 58, .08) !important;
  margin: 2rem 0 !important;
}

.meet-message-modal-body .sim-summary {
  background: #fff !important;
  border: 1px solid rgba(54, 69, 58, .1) !important;
  border-radius: 1.4rem !important;
  padding: 1.8rem 1.6rem 1.6rem !important;
  margin: 2rem 0 .8rem !important;
  box-shadow: 0 .4rem 1.6rem rgba(54, 69, 58, .05) !important;
}

.meet-message-modal-body .sim-summary-row {
  padding: .7rem 0 !important;
  font-size: 1.25rem !important;
}

.meet-message-modal-body .sim-summary-row+.sim-summary-row {
  border-top: 1px solid rgba(54, 69, 58, .06) !important;
}

.meet-message-modal-body .sim-summary-label {
  font-size: 1.2rem !important;
  letter-spacing: .12em !important;
}

.meet-message-modal-body .sim-summary-row .sim-yen-num {
  font-size: 1.9rem !important;
}

.meet-message-modal-body .sim-summary-total {
  margin-top: .6rem !important;
  padding-top: 1.2rem !important;
  border-top: 2px solid var(--green) !important;
}

.meet-message-modal-body .sim-summary-total .sim-summary-label {
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: var(--black) !important;
}

.meet-message-modal-body .sim-summary-total .sim-yen-num {
  font-size: 3.2rem !important;
}

.meet-message-modal-body .sim-summary-total .sim-unit {
  font-size: 1.25rem !important;
}

.meet-message-modal-body .sim-note {
  font-size: 1.1rem !important;
  text-align: center !important;
  margin: 1.2rem 0 0 !important;
  padding: .6rem 1rem !important;
  background: rgba(54, 69, 58, .04) !important;
  border-radius: .6rem !important;
  letter-spacing: .05em !important;
}

.voice-slider-container {
  position: relative;
  width: 100%;
  margin: 6rem 0;
}

.voice-slider-container .voice-box,
.voice-slider-container .voice-box img {
  -webkit-user-drag: none;
  user-select: none;
}

.voice-wrap .voice-box .shizuku {
  display: none !important;
}

.voice-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: 38rem;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.voice-wrap::-webkit-scrollbar {
  display: none;
}

.voice-wrap .voice-box {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24rem;
  margin-left: -12rem;
  flex: none;
  text-align: center;
  cursor: pointer;
  transform-origin: 50% 50%;
  transform: translate(0, 0) rotate(0deg) scale(1);
  transition: transform .9s cubic-bezier(.22, 1, .36, 1), opacity .7s ease;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.voice-wrap .voice-box.is-active {
  z-index: 10;
}

.voice-wrap .voice-box .voice-img-box img {
  border-radius: 1rem;
  display: block;
  width: 100%;
  height: auto;
}

.voice-slider-container .slider-prev,
.voice-slider-container .slider-next {
  position: absolute;
  top: 18rem;
  transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .45);
  backdrop-filter: blur(10px) saturate(150%);
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  border: 1px solid rgba(255, 255, 255, .6);
  color: var(--black2) !important;
  -webkit-text-fill-color: var(--black2) !important;
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
  z-index: 20;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .6);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease;
}

.voice-slider-container .slider-prev {
  left: .4rem;
}

.voice-slider-container .slider-next {
  right: .4rem;
}

.voice-slider-container .slider-prev:hover,
.voice-slider-container .slider-next:hover {
  background: rgba(255, 255, 255, .65);
}

.voice-wrap .voice-box:not(.is-active)>:not(.voice-img-box) {
  visibility: hidden;
  pointer-events: none;
}

.voice-wrap .voice-box:not(.is-active) .voice-img-box>:not(img) {
  visibility: hidden;
}

.voice-wrap .voice-box:not(.is-active) .voice-img-box img {
  opacity: .5;
  transition: opacity .5s ease;
}

.voice-wrap .voice-box.is-active .voice-img-box img {
  opacity: 1;
  clip-path: inset(1rem 0 0 0 round 1rem);
  -webkit-clip-path: inset(1rem 0 0 0 round 1rem);
}

.voice-slider-container+.button {
  margin-top: 16.5rem !important;
}

.page-voice-wrap {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 4rem 1.6rem;
  width: 100%;
  max-width: 100%;
  margin: 3rem 0 0;
  padding: 0;
  position: static;
  overflow: visible;
  border-top: none;
  box-sizing: border-box;
}

.page-voice-wrap .voice-box.is-show {
  display: block !important;
  width: auto;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  background: transparent;
  border: none;
  border-radius: 0;
  transform: none !important;
  opacity: 1 !important;
  box-sizing: border-box;
  overflow: visible;
}

.page-voice-wrap .voice-box-2 {
  margin-left: 0 !important;
}

.page-voice-wrap .voice-box .shizuku {
  display: none !important;
}

.page-voice-wrap .voice-box .voice-img-box {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  text-align: center;
  position: relative;
}

.page-voice-wrap .voice-box .voice-img-box img {
  order: 1 !important;
}

.page-voice-wrap .voice-box .voice-img-box .cate {
  order: 2 !important;
}

.page-voice-wrap .voice-box .voice-img-box .name {
  order: 3 !important;
}

.page-voice-wrap .voice-box .voice-img-box .mini {
  order: 4 !important;
}

.page-voice-wrap .voice-box .voice-img-box h3 {
  order: 5 !important;
}

.page-voice-wrap .voice-box h3,
.page-voice-wrap .voice-box .voice-img-box h3 {
  position: absolute !important;
  top: 24rem !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  max-width: calc(100% - 2rem) !important;
  margin: 0 !important;
  padding: .3rem 1rem !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  z-index: 2 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

.page-voice-wrap .voice-box img {
  width: 100% !important;
  height: auto !important;
  border-radius: 1rem !important;
  object-fit: cover !important;
  opacity: 1 !important;
  display: block !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  clip-path: inset(3rem 0 0 0 round 1rem) !important;
  -webkit-clip-path: inset(3rem 0 0 0 round 1rem) !important;
}

.page-voice-wrap .voice-box .name {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  width: 100% !important;
  margin: .8rem 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
  color: var(--black);
  letter-spacing: .05em;
  visibility: visible !important;
  white-space: normal !important;
}

.page-voice-wrap .voice-box .name .small {
  font-size: 1rem;
  color: var(--black2);
  font-weight: 400;
  margin-left: .2rem;
}

.page-voice-wrap .voice-box .mini {
  font-size: 1.05rem;
  color: var(--black3);
  margin: .5rem 1rem 0 !important;
  text-align: center;
  line-height: 1.5;
  letter-spacing: .03em;
  visibility: visible !important;
}

.page-voice-wrap .voice-box h3 {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.25rem !important;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .03em;
  color: var(--black);
  width: 100% !important;
  max-width: 100% !important;
  margin: 1rem 0 0 !important;
  padding: 0 1.2rem !important;
  border: none;
  text-align: center;
  visibility: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  overflow: hidden !important;
  word-break: break-word;
  overflow-wrap: anywhere;
  box-sizing: border-box !important;
}

.page-voice-wrap .voice-box h3 .green {
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  font-weight: 600 !important;
}

.page-voice-wrap .voice-box h3,
.page-voice-wrap .voice-box .voice-img-box h3 {
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
}

.meet-message-modal-content {
  padding: 4.4rem 2.2rem 3.6rem !important;
  background: #f6f4ef !important;
  border-radius: 2.4rem 2.4rem 0 0 !important;
  box-shadow:
    0 0 8rem rgba(255, 255, 255, .35),
    0 -2rem 5rem rgba(54, 69, 58, .18) !important;
}

.meet-message-modal-content::before {
  width: 4.4rem !important;
  height: .4rem !important;
  background: rgba(54, 69, 58, .18) !important;
  top: 1.2rem !important;
  border-radius: 999px !important;
}

.meet-message-modal-close {
  width: 3.4rem !important;
  height: 3.4rem !important;
  background: rgba(54, 69, 58, .06) !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  font-size: 1.8rem !important;
  font-weight: 300 !important;
  top: .4rem !important;
  margin-bottom: .4rem !important;
  transition: background .2s ease !important;
}

.meet-message-modal-close:hover {
  background: rgba(54, 69, 58, .12) !important;
}

.meet-message-modal-head {
  margin: 0 -.4rem 2.8rem !important;
  padding: 0 .4rem 0 !important;
  border: none !important;
  position: relative !important;
}

.meet-message-modal-head::after {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  background: linear-gradient(to right, transparent, rgba(54, 69, 58, .15), transparent) !important;
  margin: 2rem auto 0 !important;
  max-width: 70% !important;
}

.meet-message-modal-head .manager-people-box img {
  max-height: 38rem !important;
}

.meet-message-modal-head .manager-people-box .name {
  background: var(--green) !important;
  color: #fff !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  padding: .9rem 2rem .8rem !important;
  margin-top: -1.8rem !important;
  box-shadow: 0 .4rem 1.4rem rgba(54, 69, 58, .18) !important;
}

.meet-message-modal-head .manager-people-box .name .small {
  font-size: 1.4rem !important;
  opacity: .7 !important;
  margin-right: .5rem !important;
  letter-spacing: .1em !important;
}

.meet-message-modal-head .example-img-box img {
  width: 12rem !important;
  max-width: 12rem !important;
  margin: 0 auto .4rem !important;
}

.meet-message-modal-head .example-img-box .name {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  margin-top: .2rem !important;
}

.meet-message-modal-head .example-img-box .name .big {
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: var(--green) !important;
}

.meet-message-modal-head .example-img-box .name-2 {
  font-size: 1.15rem !important;
  color: var(--black2) !important;
  letter-spacing: .08em !important;
  margin: -.2rem 0 0 !important;
}

.meet-message-modal-head>.price-end {
  background: var(--black) !important;
  color: #fff !important;
  padding: 1.4rem 2rem !important;
  border-radius: 1rem !important;
  font-size: 1.15rem !important;
  letter-spacing: .18em !important;
  font-weight: 400 !important;
  margin: 2rem 0 0 !important;
  text-align: center !important;
  position: relative !important;
}

.meet-message-modal-head>.price-end::before {
  content: "TOTAL" !important;
  position: absolute !important;
  top: -.8rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--green) !important;
  color: #fff !important;
  font-size: .95rem !important;
  letter-spacing: .25em !important;
  font-weight: 600 !important;
  padding: .25rem .9rem !important;
  border-radius: 999px !important;
}

.meet-message-modal-head>.price-end .green {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.meet-message-modal-head>.price-end .big {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  margin: 0 .3rem !important;
  letter-spacing: .02em !important;
}

.meet-message-modal-body {
  font-size: 1.3rem !important;
  line-height: 1.9 !important;
}

.meet-message-modal-body>p {
  font-size: 1.4rem !important;
  line-height: 2 !important;
  letter-spacing: .06em !important;
  color: var(--black) !important;
}

.meet-message-modal-body .sim-section {
  margin: 0 0 2.4rem !important;
}

.meet-message-modal-body .sim-section-label {
  font-size: 1rem !important;
  letter-spacing: .3em !important;
  font-weight: 700 !important;
  color: var(--green) !important;
  text-transform: uppercase !important;
  margin: 0 0 1.6rem !important;
  padding: 0 !important;
  border: none !important;
  text-align: center !important;
  position: relative !important;
  display: block !important;
}

.meet-message-modal-body .sim-section-label::before,
.meet-message-modal-body .sim-section-label::after {
  content: "" !important;
  display: inline-block !important;
  width: 2.4rem !important;
  height: 1px !important;
  background: var(--green) !important;
  vertical-align: middle !important;
  margin: 0 1rem !important;
  opacity: .5 !important;
}

.meet-message-modal-body .sim-step {
  position: relative !important;
  background: #fff !important;
  border: none !important;
  border-radius: 1.4rem !important;
  padding: 1.8rem 1.6rem 1.6rem !important;
  margin: 0 0 1rem !important;
  box-shadow: 0 .2rem .6rem rgba(54, 69, 58, .04) !important;
  overflow: hidden !important;
}

.meet-message-modal-body .sim-step-num {
  position: absolute !important;
  top: 1rem !important;
  right: 1.2rem !important;
  left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3rem !important;
  height: 3rem !important;
  background: var(--green) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border-radius: 50% !important;
  font-family: "Cardo", "Zen Old Mincho", serif !important;
  z-index: 1 !important;
  box-shadow: 0 .2rem .6rem rgba(121, 164, 118, .3) !important;
}

.meet-message-modal-body .sim-step-title {
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  margin: 0 0 1.2rem !important;
  padding: 0 !important;
  border: none !important;
  color: var(--black) !important;
  position: relative !important;
  z-index: 1 !important;
}

.meet-message-modal-body .sim-step-title::before {
  content: none !important;
  display: none !important;
}

.meet-message-modal-body .sim-step-detail {
  font-size: 1.25rem !important;
  line-height: 1.9 !important;
  margin: 0 0 1rem !important;
  color: var(--black) !important;
  letter-spacing: .05em !important;
  position: relative !important;
  z-index: 1 !important;
}

.meet-message-modal-body .sim-num {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--green) !important;
  margin: 0 .2rem !important;
  letter-spacing: -.02em !important;
  display: inline-block !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
}

.meet-message-modal-body .sim-step-calc {
  font-size: 1.1rem !important;
  color: var(--black2) !important;
  background: transparent !important;
  padding: .6rem 0 0 !important;
  border-radius: 0 !important;
  letter-spacing: .08em !important;
  margin: 0 0 .6rem !important;
  display: block !important;
  border-top: 1px dashed rgba(54, 69, 58, .15) !important;
  position: relative !important;
  z-index: 1 !important;
}

.meet-message-modal-body .sim-step-calc::before {
  content: "→" !important;
  margin-right: .5rem !important;
  color: var(--green) !important;
  opacity: .6 !important;
}

.meet-message-modal-body .sim-step-result {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  gap: .3rem !important;
  margin: 0 !important;
  padding: .4rem 0 0 !important;
  border-top: none !important;
  position: relative !important;
  z-index: 1 !important;
}

.meet-message-modal-body .sim-step-result .sim-yen {
  color: var(--green) !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
}

.meet-message-modal-body .sim-step-result .sim-yen-num {
  font-size: 2.8rem !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
}

.meet-message-modal-body .sim-step-result .sim-unit {
  font-size: 1rem !important;
  color: var(--black2) !important;
  margin-left: .3rem !important;
  letter-spacing: .08em !important;
}

.meet-message-modal-body .sim-step-highlight {
  background: var(--black) !important;
  box-shadow: 0 .8rem 2.4rem rgba(54, 69, 58, .25) !important;
  border-radius: 1.4rem !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-num {
  color: rgba(255, 255, 255, .1) !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-title {
  color: #fff !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-title::before {
  content: none !important;
  display: none !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-calc {
  color: rgba(255, 255, 255, .5) !important;
  border-top-color: rgba(255, 255, 255, .2) !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-calc::before {
  color: rgba(255, 255, 255, .5) !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result {
  justify-content: space-between !important;
  align-items: center !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result-label {
  font-size: 1rem !important;
  letter-spacing: .3em !important;
  color: rgba(255, 255, 255, .55) !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-yen,
.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-yen-num {
  color: #fff !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-yen-num {
  font-size: 3.2rem !important;
}

.meet-message-modal-body .sim-step-highlight .sim-step-result .sim-unit {
  color: rgba(255, 255, 255, .6) !important;
}

.meet-message-modal-body .sim-arrow {
  text-align: center !important;
  font-size: 1.05rem !important;
  color: var(--black2) !important;
  letter-spacing: .15em !important;
  padding: 1.6rem 0 .6rem !important;
  position: relative !important;
  margin: 0 !important;
  font-weight: 500 !important;
}

.meet-message-modal-body .sim-arrow::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 1px !important;
  height: 1.2rem !important;
  background: rgba(54, 69, 58, .25) !important;
  border-radius: 0 !important;
}

.meet-message-modal-body .sim-percent {
  font-weight: 700 !important;
  color: var(--green) !important;
  font-size: 1.2rem !important;
  margin: 0 .2rem !important;
  letter-spacing: 0 !important;
}

.meet-message-modal-body .sim-divider {
  height: 1px !important;
  background: linear-gradient(to right, transparent, rgba(54, 69, 58, .18), transparent) !important;
  margin: 2.8rem 0 !important;
  position: relative !important;
}

.meet-message-modal-body .sim-divider::after {
  content: "✦" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  padding: 0 1rem !important;
  color: var(--green) !important;
  opacity: .6 !important;
  font-size: 1.4rem !important;
}

.meet-message-modal-body .sim-summary {
  background: #fff !important;
  border: 1px solid rgba(54, 69, 58, .1) !important;
  border-radius: 1.6rem !important;
  padding: 2rem 1.8rem 1.8rem !important;
  margin: 2.4rem 0 1rem !important;
  box-shadow: 0 .6rem 2rem rgba(54, 69, 58, .06) !important;
  position: relative !important;
}

.meet-message-modal-body .sim-summary::before {
  content: "TOTAL" !important;
  position: absolute !important;
  top: -.9rem !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--green) !important;
  color: #fff !important;
  font-size: .95rem !important;
  letter-spacing: .3em !important;
  font-weight: 600 !important;
  padding: .25rem 1rem !important;
  border-radius: 999px !important;
}

.meet-message-modal-body .sim-summary-row {
  padding: .8rem 0 !important;
  font-size: 1.2rem !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
}

.meet-message-modal-body .sim-summary-row+.sim-summary-row {
  border-top: 1px solid rgba(54, 69, 58, .06) !important;
}

.meet-message-modal-body .sim-summary-label {
  font-size: 1.15rem !important;
  letter-spacing: .16em !important;
  color: var(--black2) !important;
  font-weight: 500 !important;
}

.meet-message-modal-body .sim-summary-row .sim-yen {
  color: var(--black) !important;
  font-weight: 500 !important;
  font-size: 1.3rem !important;
}

.meet-message-modal-body .sim-summary-row .sim-yen-num {
  font-size: 2rem !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}

.meet-message-modal-body .sim-summary-total {
  margin-top: .6rem !important;
  padding-top: 1.4rem !important;
  border-top: 1px solid var(--black) !important;
  position: relative !important;
}

.meet-message-modal-body .sim-summary-total::before {
  content: none !important;
  display: none !important;
}

.meet-message-modal-body .sim-summary-total .sim-summary-label {
  font-size: 1.3rem !important;
  color: var(--black) !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}

.meet-message-modal-body .sim-summary-total .sim-yen-total {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: .2rem !important;
}

.meet-message-modal-body .sim-summary-total .sim-yen-num {
  font-size: 3.4rem !important;
  font-weight: 800 !important;
  color: var(--green) !important;
  letter-spacing: -.02em !important;
}

.meet-message-modal-body .sim-summary-total .sim-unit {
  font-size: 1.1rem !important;
  color: var(--black2) !important;
  letter-spacing: .1em !important;
  margin-left: .3rem !important;
}

.meet-message-modal-body .sim-note {
  font-size: 1.05rem !important;
  text-align: center !important;
  margin: 1.6rem 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  letter-spacing: .1em !important;
  color: var(--black2) !important;
  line-height: 1.7 !important;
}

.meet-message-modal-body:has(.rank-info-item),
.rank-info-content:has(.rank-info-item) {
  display: flex !important;
  flex-direction: column !important;
}

.meet-message-modal-body .rank-info-intro,
.rank-info-content .rank-info-intro {
  text-align: center !important;
  font-size: 1.3rem !important;
  line-height: 1.4 !important;
  letter-spacing: .08em !important;
  color: var(--black) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 2rem 0 0 !important;
  padding: .4rem 0 !important;
  font-weight: 500 !important;
  max-width: none !important;
  border-bottom: none !important;
  order: 999 !important;
}

.meet-message-modal-inner .meet-message-modal-body .rank-info-intro,
.rank-info-content .rank-info-intro,
.meet-message-modal-body .rank-info-intro,
.rank-info-content .rank-info-intro {
  color: var(--black) !important;
}

.meet-message-modal-body .rank-info-intro::before,
.meet-message-modal-body .rank-info-intro::after,
.rank-info-content .rank-info-intro::before,
.rank-info-content .rank-info-intro::after {
  content: none !important;
  display: none !important;
}

.meet-message-modal-body .rank-info-intro .rank-info-highlight,
.rank-info-content .rank-info-intro .rank-info-highlight {
  color: var(--black) !important;
  font-family: "Cardo", "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 700 !important;
  font-size: 2.4rem !important;
  letter-spacing: .03em !important;
  margin-left: .4rem !important;
}

.meet-message-modal-body .rank-info-item,
.rank-info-content .rank-info-item {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 1.4rem !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 1.8rem 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  border-bottom: 1px solid rgba(54, 69, 58, .12) !important;
  counter-increment: none !important;
}

.meet-message-modal-body .rank-info-item+.rank-info-item,
.rank-info-content .rank-info-item+.rank-info-item {
  margin-top: 0 !important;
}

.meet-message-modal-body .rank-info-item:last-of-type,
.rank-info-content .rank-info-item:last-of-type {
  border-bottom: none !important;
}

.meet-message-modal-body .rank-info-item::before,
.meet-message-modal-body .rank-info-item::after,
.rank-info-content .rank-info-item::before,
.rank-info-content .rank-info-item::after {
  content: none !important;
  display: none !important;
}

.meet-message-modal-body .rank-info-badge,
.rank-info-content .rank-info-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 8.4rem !important;
  min-width: 8.4rem !important;
  padding: .6rem .4rem !important;
  border-radius: .4rem !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  white-space: nowrap !important;
  border: none !important;
  box-shadow: none !important;
  text-align: center !important;
  line-height: 1.3 !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  border-bottom: none !important;
  padding-bottom: .6rem !important;
}

.meet-message-modal-body .rank-info-body,
.rank-info-content .rank-info-body {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.meet-message-modal-body .rank-info-price,
.rank-info-content .rank-info-price {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  margin: 0 0 .6rem !important;
  line-height: 1.4 !important;
  white-space: normal !important;
}

.meet-message-modal-body .rank-info-price-num,
.rank-info-content .rank-info-price-num {
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  font-family: "Cardo", "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 600 !important;
  font-size: 2.4rem !important;
  letter-spacing: .05em !important;
  line-height: 1 !important;
}

.meet-message-modal-body .rank-info-price-num .yen,
.rank-info-content .rank-info-price-num .yen,
.meet-message-modal-body .rank-info-highlight .yen,
.rank-info-content .rank-info-highlight .yen {
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  margin-left: .1rem !important;
  letter-spacing: .02em !important;
}

.meet-message-modal-body .rank-info-desc,
.rank-info-content .rank-info-desc {
  margin: 0 !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
  font-size: 1.3rem !important;
  line-height: 1.75 !important;
  letter-spacing: .05em !important;
  color: var(--black2) !important;
  -webkit-text-fill-color: var(--black2) !important;
  font-weight: 400 !important;
  margin-top: 0.6rem !important;
}

.meet-message-modal-body .rank-info-item p,
.rank-info-content .rank-info-item p {
  margin: 0 !important;
}

.meet-message-modal-body .rank-info-item.gold .rank-info-badge,
.rank-info-content .rank-info-item.gold .rank-info-badge {
  background: linear-gradient(to right, #FFF2D9 0%, #fff 50%, #FFF2D9 100%) !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  border-bottom-color: transparent !important;
}

.meet-message-modal-body .rank-info-item.pratina .rank-info-badge,
.rank-info-content .rank-info-item.pratina .rank-info-badge {
  background: linear-gradient(to right, #C6E3DA 0%, #fff 50%, #C6E3DA 100%) !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  border-bottom-color: transparent !important;
}

.meet-message-modal-body .rank-info-item.crystal .rank-info-badge,
.rank-info-content .rank-info-item.crystal .rank-info-badge {
  background: linear-gradient(to right, #bacdbe 0%, #fff 50%, #bbcdbe 100%) !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  border-bottom-color: transparent !important;
}

.meet-message-modal-body .rank-info-item.daiya .rank-info-badge,
.rank-info-content .rank-info-item.daiya .rank-info-badge {
  background: url("/recruit/images/daiya.webp") !important;
  background-size: cover !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  border-bottom-color: transparent !important;
}

.meet-message-modal-body .rank-info-item.eme .rank-info-badge,
.rank-info-content .rank-info-item.eme .rank-info-badge {
  background: url("/recruit/images/eme.webp") !important;
  background-size: cover !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  border-bottom-color: transparent !important;
}

.meet-message-modal-body .rank-info-item.gold,
.meet-message-modal-body .rank-info-item.pratina,
.meet-message-modal-body .rank-info-item.crystal,
.meet-message-modal-body .rank-info-item.daiya,
.meet-message-modal-body .rank-info-item.eme {
  background: transparent !important;
  background-image: none !important;
}

.meet-message-modal-content::before {
  display: none !important;
  content: none !important;
}

.voice .voice-box .number {
  position: absolute;
  top: -3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 5rem;
  height: 5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--green);
  z-index: 5;
  border-radius: 50% 50% 45% 65% / 60% 50% 65% 45%;
  background: rgba(255, 255, 255, .5);
  backdrop-filter: blur(.5rem);
  -webkit-backdrop-filter: blur(.5rem);
  box-shadow: inset .3rem .6rem 1rem rgba(0, 0, 0, .05), inset -.15rem -.3rem .8rem rgba(255, 255, 255, .65), 0 .6rem 1.2rem rgba(54, 69, 58, .08);
  animation: voiceNumberShizuku 8s ease-in-out infinite;
}

.voice .voice-box .number::before {
  content: "";
  position: absolute;
  top: 18%;
  left: 22%;
  width: 1rem;
  height: .75rem;
  background: rgba(255, 255, 255, .85);
  border-radius: 50%;
  filter: blur(.1rem);
  transform: rotate(-15deg);
  z-index: 1;
}

.voice .voice-box .number::after {
  content: "";
  position: absolute;
  bottom: 20%;
  right: 22%;
  width: .5rem;
  height: .5rem;
  background: rgba(255, 255, 255, .4);
  border-radius: 50%;
  filter: blur(.15rem);
  z-index: 1;
}

@keyframes voiceNumberShizuku {

  0%,
  100% {
    border-radius: 50% 50% 45% 65% / 60% 50% 65% 45%;
    transform: translateX(-50%) rotate(0deg);
  }

  25% {
    border-radius: 60% 40% 55% 50% / 50% 60% 45% 60%;
    transform: translateX(-50%) translateY(-.3rem) rotate(2deg);
  }

  50% {
    border-radius: 55% 45% 60% 50% / 65% 45% 55% 50%;
    transform: translateX(-50%) translateY(.2rem) rotate(-1deg);
  }

  75% {
    border-radius: 45% 55% 50% 60% / 50% 65% 50% 55%;
    transform: translateX(-50%) translateY(-.2rem) rotate(1deg);
  }
}

.voice:not(.page-voice) .voice-box .voice-img-box {
  position: relative !important;
  overflow: visible !important;
  transition: filter .55s ease !important;
  will-change: filter;
}

@media (hover:hover) {
  .voice:not(.page-voice) .voice-box .voice-img-box:hover {
    filter: brightness(1.05) saturate(1.05) drop-shadow(0 1.6rem 2.4rem rgba(255, 250, 235, .85)) drop-shadow(0 .6rem 1rem rgba(255, 245, 220, .55)) !important;
  }
}

.voice:not(.page-voice) .voice-box .voice-img-box::after {
  content: "続きを読む";
  position: absolute;
  left: 50%;
  bottom: 1.2rem;
  transform: translateX(-50%);
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: .18em;
  color: var(--black2);
  -webkit-text-fill-color: var(--black2);
  opacity: .7;
  padding-bottom: .2rem;
  border-bottom: 1px solid rgba(128, 137, 129, .4);
  white-space: nowrap;
  z-index: 3;
  pointer-events: none;
  font-family: "Cardo", "Zen Old Mincho", serif;
}

.voice:not(.page-voice) .voice-box .voice-img-box .voice-ripple {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(.3);
  pointer-events: none;
  opacity: 0;
  z-index: 4;
  border: .1rem solid rgba(255, 255, 255, .55);
  box-shadow: 0 0 1.6rem rgba(255, 255, 255, .32), 0 0 3.6rem rgba(255, 255, 255, .18), inset 0 0 1rem rgba(255, 255, 255, .22);
  animation: voiceRipple 9s cubic-bezier(.19, 1, .22, 1) forwards;
}

@keyframes voiceRipple {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.3);
    border-color: rgba(255, 255, 255, .55);
  }

  15% {
    opacity: .55;
  }

  70% {
    opacity: .2;
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(3.4);
    border-color: rgba(255, 255, 255, 0);
    box-shadow: none;
  }
}

@media (prefers-reduced-motion:reduce) {
  .voice:not(.page-voice) .voice-box .voice-img-box .voice-ripple {
    animation: none !important;
    display: none !important;
  }
}

.voice:not(.page-voice) .voice-box h3 {
  position: absolute !important;
  left: 50% !important;
  bottom: 3.6rem !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  max-width: calc(100% - 1.6rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
  color: var(--black);
  -webkit-text-fill-color: var(--black);
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  z-index: 3 !important;
  white-space: nowrap !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  line-height: 1.65 !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* ★ここを表示したい行数（2行）にする */
  overflow: hidden;
}

.voice:not(.page-voice) .voice-box h3 .green {
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  font-weight: 600 !important;
}

.voice:not(.page-voice) .voice-box h3 {
  left: 0 !important;
  right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: fit-content !important;
  transform: none !important;
  white-space: normal !important;
  background-image: linear-gradient(110deg, #36453a 0%, #36453a 42%, #b88a3a 47%, #fff3b8 50%, #b88a3a 53%, #36453a 58%, #36453a 100%) !important;
  background-size: 220% 100% !important;
  background-position: 100% 0;
  background-repeat: no-repeat !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  animation: meetTitleShimmer 5s linear infinite !important;
  padding: 0 2rem !important;
}

@media (prefers-reduced-motion:reduce) {
  .voice:not(.page-voice) .voice-box h3 {
    animation: none !important;
  }
}

.voice:not(.page-voice) .voice-box .reki {
  position: absolute !important;
  top: 2rem !important;
  right: .6rem !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 4.4rem !important;
  height: 4.4rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .45) !important;
  backdrop-filter: blur(.8rem) saturate(160%) !important;
  -webkit-backdrop-filter: blur(.8rem) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, .6) !important;
  box-shadow: inset .15rem .3rem .6rem rgba(0, 0, 0, .05), inset -.1rem -.2rem .5rem rgba(255, 255, 255, .7), 0 .3rem 1rem rgba(0, 0, 0, .08) !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  font-family: "Cardo", "Zen Old Mincho", serif !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.voice:not(.page-voice) .voice-box .name {
  position: static !important;
  margin: 1.8rem auto .8rem !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
  font-size: 2rem !important;
  color: var(--black) !important;
  line-height: 1.3 !important;
}

.voice:not(.page-voice) .voice-box .mini-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .4rem !important;
  margin: .6rem auto 0 !important;
  padding: 0 .4rem !important;
  width: 100% !important;
}

.voice:not(.page-voice) .voice-box .mini {
  position: static !important;
  display: inline-block !important;
  margin: 0 !important;
  padding: .35rem .9rem !important;
  text-align: center !important;
  font-size: 1.1rem !important;
  color: var(--black2) !important;
  line-height: 1.4 !important;
  z-index: auto !important;
  background: rgba(255, 255, 255, .55) !important;
  backdrop-filter: blur(.6rem) saturate(140%);
  -webkit-backdrop-filter: blur(.6rem) saturate(140%);
  border: 1px solid rgba(255, 255, 255, .7) !important;
  border-radius: .4rem !important;
  box-shadow: inset .1rem .2rem .4rem rgba(0, 0, 0, .03), inset -.1rem -.1rem .4rem rgba(255, 255, 255, .7), 0 .2rem .6rem rgba(0, 0, 0, .06) !important;
  letter-spacing: .04em !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
}

.voice .voice-box .number {
  display: none !important;
}

.voice .voice-box .number::before,
.voice .voice-box .number::after {
  display: none !important;
  content: none !important;
}

.before-after-box .number {
  background: rgba(255, 255, 255, .5) !important;
  background-image: none !important;
  width: 7rem !important;
  height: 7rem !important;
  scale: 1 !important;
  top: -3.5rem !important;
  left: -1rem !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 3rem !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
  color: var(--green) !important;
  -webkit-text-fill-color: var(--green) !important;
  font-family: "Cardo", serif !important;
  z-index: 5 !important;
  border-radius: 50% 50% 45% 65% / 60% 50% 65% 45% !important;
  backdrop-filter: blur(.5rem) !important;
  -webkit-backdrop-filter: blur(.5rem) !important;
  box-shadow: inset .3rem .6rem 1rem rgba(0, 0, 0, .05), inset -.15rem -.3rem .8rem rgba(255, 255, 255, .65), 0 .6rem 1.2rem rgba(54, 69, 58, .08) !important;
  animation: voiceNumberShizuku 8s ease-in-out infinite !important;
  position: absolute !important;
}

.before-after-box .number::before {
  content: "" !important;
  position: absolute !important;
  top: 18% !important;
  left: 22% !important;
  width: 1rem !important;
  height: .75rem !important;
  background: rgba(255, 255, 255, .85) !important;
  border-radius: 50% !important;
  filter: blur(.1rem) !important;
  transform: rotate(-15deg) !important;
  z-index: 1 !important;
  display: block !important;
}

.before-after-box .number::after {
  content: "" !important;
  position: absolute !important;
  bottom: 20% !important;
  right: 22% !important;
  width: .5rem !important;
  height: .5rem !important;
  background: rgba(255, 255, 255, .4) !important;
  border-radius: 50% !important;
  filter: blur(.15rem) !important;
  z-index: 1 !important;
  display: block !important;
}

.your {
  background: #fff !important;
  padding-bottom: 6rem !important;
}

.your-work {
  position: relative;
  z-index: 1;
  margin-top: 4rem;
  padding: 32rem 0 16rem;
  background: var(--gra4);
}

.your-work::before,
.your-work::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.your-work::before {
  top: -10rem;
  transform: scaleY(-1);
}

.your-work::after {
  bottom: -20rem;
}

.your-work>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

@media (max-width:768px) {
  .full-nav {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100vw !important;
    height: 100dvh !important;
    margin: 0 !important;
    transform: none !important;
    background: #fff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: var(--black) !important;
    border: none !important;
    overflow: hidden !important;
    visibility: visible !important;
    opacity: 1 !important;
    --nav-mask: 0%;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0%, #000 calc(var(--nav-mask) - 22%), transparent var(--nav-mask)) !important;
    mask-image: radial-gradient(circle at 50% 50%, #000 0%, #000 calc(var(--nav-mask) - 22%), transparent var(--nav-mask)) !important;
    transition: --nav-mask 1s cubic-bezier(.22, 1, .36, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 9999 !important;
    pointer-events: none !important;
  }

  .full-nav.is-open {
    --nav-mask: 165%;
    pointer-events: auto !important;
  }

  .full-nav::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 30rem !important;
    height: 30rem !important;
    margin: -15rem 0 0 -15rem !important;
    border-radius: 50% !important;
    background: radial-gradient(circle, rgba(255, 255, 255, .85) 0%, rgba(245, 248, 252, .35) 40%, transparent 70%) !important;
    filter: blur(2.5rem) !important;
    opacity: 0 !important;
    transform: scale(.3) !important;
    pointer-events: none !important;
    mix-blend-mode: screen !important;
    will-change: transform, opacity !important;
    right: auto !important;
    bottom: auto !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .full-nav.is-open::before {
    animation: storeNavGlowBurst 1.2s cubic-bezier(.22, 1, .36, 1) forwards !important;
  }

  .full-nav>* {
    position: relative;
    z-index: 2;
  }

  .full-nav .nav-inner {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 36rem;
    padding: 0 2rem;
    text-align: left;
  }

  .full-nav .nav-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2rem !important;
    padding-left: 4rem !important;
    margin-top: -5rem !important;
  }

  .full-nav .nav-list li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    position: relative;
  }

  .full-nav .nav-list a {
    display: inline-block !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 1.6rem !important;
    letter-spacing: .15em !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    text-shadow: 0 0 1.2rem rgba(0, 0, 0, .4) !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    position: relative !important;
    transition: color .3s ease, opacity .3s ease !important;
  }

  .full-nav .nav-list a:hover {
    color: #c9e3da !important;
    -webkit-text-fill-color: #c9e3da !important;
  }

  .full-nav .nav-list a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    bottom: -.4rem !important;
    transform: scaleX(0) !important;
    transform-origin: left center !important;
    width: 100% !important;
    height: 1px !important;
    background: rgba(255, 255, 255, .6) !important;
    transition: transform .4s cubic-bezier(.22, 1, .36, 1) !important;
    display: block !important;
  }

  .full-nav .nav-list a:hover::after {
    transform: scaleX(1) !important;
  }

  .full-nav .nav-list a::before {
    content: none !important;
    display: none !important;
  }

  .full-nav .nav-list li.bu {
    margin-top: 1.4rem !important;
  }

  .full-nav .nav-list li.bu+li.bu {
    margin-top: .4rem !important;
  }

  .full-nav .nav-list li.bu a.cta-button,
  .full-nav .nav-list li.bu a.button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26rem !important;
    padding: 1.8rem 4rem 1.8rem 2.2rem !important;
    background: transparent !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .7) !important;
    border-radius: 999px !important;
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    letter-spacing: .18em !important;
    text-decoration: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    text-shadow: none !important;
    margin: 0 !important;
    transition: background .3s ease, color .3s ease, transform .3s ease !important;
    overflow: hidden !important;
  }

  .full-nav .nav-list li.bu a.cta-button::before,
  .full-nav .nav-list li.bu a.button::before {
    display: none !important;
    content: none !important;
  }

  .full-nav .nav-list li.bu a.cta-button::after,
  .full-nav .nav-list li.bu a.button::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    right: 2rem !important;
    left: auto !important;
    width: .9rem !important;
    height: .9rem !important;
    border-top: 1.5px solid #fff !important;
    border-right: 1.5px solid #fff !important;
    transform: translateY(-50%) rotate(45deg) !important;
    background: none !important;
    border-radius: 0 !important;
    transition: right .3s cubic-bezier(.22, 1, .36, 1) !important;
  }

  .full-nav .nav-list li.bu a.cta-button:hover::after,
  .full-nav .nav-list li.bu a.button:hover::after {
    right: 1.4rem !important;
  }

  .full-nav .nav-list li {
    opacity: 0;
    transform: translateY(.6rem);
    transition: opacity .4s ease, transform .5s cubic-bezier(.22, 1, .36, 1);
  }

  .full-nav.is-open .nav-list li {
    opacity: 1;
    transform: translateY(0);
  }

  .full-nav.is-open .nav-list li:nth-child(1) {
    transition-delay: .25s;
  }

  .full-nav.is-open .nav-list li:nth-child(2) {
    transition-delay: .32s;
  }

  .full-nav.is-open .nav-list li:nth-child(3) {
    transition-delay: .39s;
  }

  .full-nav.is-open .nav-list li:nth-child(4) {
    transition-delay: .46s;
  }

  .full-nav.is-open .nav-list li:nth-child(5) {
    transition-delay: .53s;
  }

  .full-nav.is-open .nav-list li:nth-child(6) {
    transition-delay: .60s;
  }

  .full-nav.is-open .nav-list li:nth-child(7) {
    transition-delay: .67s;
  }

  .full-nav.is-open .nav-list li:nth-child(8) {
    transition-delay: .74s;
  }

  .full-nav.is-open .nav-list li:nth-child(9) {
    transition-delay: .81s;
  }

  .full-nav.is-open .nav-list li:nth-child(10) {
    transition-delay: .88s;
  }

  .full-nav .miss-link {
    position: absolute !important;
    bottom: 4rem !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 1.2rem !important;
    letter-spacing: .2em !important;
    text-indent: .2em !important;
    text-align: center !important;
    opacity: .75 !important;
    text-decoration: underline !important;
    text-underline-offset: .4rem !important;
    z-index: 3 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: inline-block !important;
  }

  .full-nav .miss-link:hover {
    opacity: 1 !important;
  }
}

@property --nav-mask {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}

.your-slider-container {
  position: relative !important;
  width: 100% !important;
  margin: 4rem 0 -12rem !important;
  overflow: visible !important;
  height: auto !important;
  z-index: 100;
}

.your.section .your-wrap,
.your-slider-container .your-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  gap: 1.6rem !important;
  padding: 0 8% 2rem !important;
  margin: 0 !important;
  scrollbar-width: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  background: transparent !important;
}

.your.section .your-wrap::-webkit-scrollbar,
.your-slider-container .your-wrap::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.your.section .your-wrap .your-box,
.your-slider-container .your-wrap .your-box {
  position: relative !important;
  flex: 0 0 70% !important;
  width: 70% !important;
  max-width: 32rem !important;
  scroll-snap-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.your.section .your-wrap .your-box img,
.your-slider-container .your-wrap .your-box img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 4 !important;
  max-height: 36rem !important;
  object-fit: cover !important;
  border-radius: 1rem !important;
  margin: 0 0 1.4rem !important;
  padding: 0 !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}

.your.section .your-wrap .your-box h3,
.your-slider-container .your-wrap .your-box h3,
.your.section .your-wrap .your-box.your-box-2 h3,
.your-slider-container .your-wrap .your-box.your-box-2 h3 {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 5.2rem !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  line-height: 1.6 !important;
  text-align: center !important;
  color: var(--black) !important;
  margin: 0 !important;
  padding: 0 .4rem !important;
}

.your-slider-container .slider-prev,
.your-slider-container .slider-next {
  position: absolute !important;
  top: 16rem !important;
  transform: translateY(-50%) !important;
  width: 4rem !important;
  height: 4rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .45) !important;
  backdrop-filter: blur(10px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
  border: 1px solid rgba(255, 255, 255, .6) !important;
  color: var(--black2) !important;
  -webkit-text-fill-color: var(--black2) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .25s ease !important;
}

.your-slider-container .slider-prev {
  left: 2rem !important;
}

.your-slider-container .slider-next {
  right: 2rem !important;
}

.your-slider-container .slider-prev:hover,
.your-slider-container .slider-next:hover {
  background: rgba(255, 255, 255, .65) !important;
}

.your.section .your-wrap .your-box h3,
.your-slider-container .your-wrap .your-box h3,
.your.section .your-wrap .your-box.your-box-2 h3,
.your-slider-container .your-wrap .your-box.your-box-2 h3 {
  min-height: 0 !important;
  height: auto !important;
  display: block !important;
  padding: .4rem .4rem 0 !important;
  overflow: visible !important;
  white-space: normal !important;
  word-break: keep-all !important;
}

.your.section .your-wrap,
.your-slider-container .your-wrap {
  padding-bottom: 8rem !important;
}

.sp-header .hamburger-btn,
.sp-header .hamburger-btn.active {
  z-index: 10001 !important;
}

@media (max-width:1279.98px) {

  .full-nav,
  .full-nav .nav-list a,
  .full-nav .miss-link,
  .full-nav .nav-inner {
    font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
  }

  .full-nav .nav-list li.bu a.cta-button,
  .full-nav .nav-list li.bu a.button {
    font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  }
}

.your.section .your-wrap,
.your-slider-container .your-wrap {
  padding-left: 4% !important;
  padding-right: 4% !important;
  gap: 1rem !important;
}

.your.section .your-wrap .your-box,
.your-slider-container .your-wrap .your-box {
  transition: transform .45s cubic-bezier(.22, 1, .36, 1), opacity .45s ease !important;
  transform-origin: center center !important;
}

.your.section .your-wrap .your-box.is-active,
.your-slider-container .your-wrap .your-box.is-active {
  transform: scale(1.12) !important;
  z-index: 2 !important;
}

.your.section .your-wrap .your-box:not(.is-active),
.your-slider-container .your-wrap .your-box:not(.is-active) {
  opacity: .5 !important;
}

.your.section .your-wrap .your-box:not(.is-active) img,
.your-slider-container .your-wrap .your-box:not(.is-active) img {
  opacity: .7 !important;
}

.page-column-slider-container.your-slider-container {
  margin: 4rem 0 4rem !important;
}

.your-slider-container .your-wrap .your-box.page-column-box,
.your-slider-container .your-wrap .page-column-box {
  display: flex !important;
  opacity: 1 !important;
  transform: none !important;
}

.your-slider-container .your-wrap .your-box.page-column-box.is-active {
  transform: scale(1.12) !important;
}

.meet-message-modal .meet-message-modal-close,
.meet-message-modal.is-open .meet-message-modal-close,
.meet-message-modal.is-open .meet-message-modal-content .meet-message-modal-close,
button.meet-message-modal-close {
  background: var(--green) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none !important;
  width: 3.4rem !important;
  height: 3.4rem !important;
  border-radius: 50% !important;
  font-size: 1.8rem !important;
  font-weight: 300 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 .4rem 1.2rem rgba(54, 69, 58, .18) !important;
}

.meet-message-modal .meet-message-modal-close:hover,
.meet-message-modal.is-open .meet-message-modal-close:hover,
.meet-message-modal.is-open .meet-message-modal-content .meet-message-modal-close:hover,
button.meet-message-modal-close:hover {
  background: #6b9269 !important;
}

.meet-message-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  z-index: 100002 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: visible !important;
  transition: opacity .35s ease !important;
  padding: 0 !important;
  background: none !important;
  margin: 0 !important;
}

.meet-message-modal.is-open {
  opacity: 1 !important;
  pointer-events: auto !important;
}

.meet-message-modal-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(circle at center, rgba(115, 108, 98, .7), rgba(70, 65, 57, .85) 80%) !important;
  backdrop-filter: blur(4px) saturate(110%) !important;
  -webkit-backdrop-filter: blur(4px) saturate(110%) !important;
  cursor: pointer !important;
}

.meet-message-modal-content {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 42rem !important;
  max-height: 85dvh !important;
  background: var(--shibuya-main3) !important;
  border-radius: 1.6rem 1.6rem 0 0 !important;
  box-shadow:
    0 0 8rem rgba(255, 255, 255, .35),
    0 -1rem 3rem rgba(0, 0, 0, .18) !important;
  transform: translateY(110%) !important;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

.meet-message-modal.is-open .meet-message-modal-content {
  transform: translateY(0) !important;
}

.meet-message-modal-inner {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 4rem 3rem 3.6rem !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2.4rem !important;
  background: var(--shibuya-main3) !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(121, 164, 118, .35) transparent;
}

.meet-message-modal-inner::-webkit-scrollbar {
  width: .5rem;
}

.meet-message-modal-inner::-webkit-scrollbar-track {
  background: transparent;
}

.meet-message-modal-inner::-webkit-scrollbar-thumb {
  background: rgba(121, 164, 118, .35);
  border-radius: 999px;
}

.meet-message-modal-inner::-webkit-scrollbar-thumb:hover {
  background: rgba(121, 164, 118, .55);
}

.meet-message-modal-inner>.meet-message-modal-head {
  margin: 0 !important;
  padding: 1.6rem 1.6rem 2rem !important;
  background: #fff !important;
  border: 1px solid rgba(121, 164, 118, .18) !important;
  border-radius: 1.4rem !important;
  box-shadow: 0 .4rem 1.6rem rgba(54, 69, 58, .06) !important;
  position: relative !important;
  overflow: hidden !important;
}

.meet-message-modal-inner>.meet-message-modal-head::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: .4rem !important;
  height: 100% !important;
  background: linear-gradient(180deg, var(--green) 0%, var(--green2) 100%) !important;
  border-radius: .4rem 0 0 .4rem !important;
}

.meet-message-modal-inner>.meet-message-modal-body {
  margin: 0 !important;
  padding: 0 .4rem !important;
  font-size: 1.35rem !important;
  line-height: 1.9 !important;
  letter-spacing: .04em !important;
  color: var(--black) !important;
}

.meet-message-modal-inner>.meet-message-modal-body>p {
  margin: 0 0 1.4rem !important;
}

.meet-message-modal-inner>.meet-message-modal-body>p:last-child {
  margin-bottom: 0 !important;
}

.meet-message-modal-inner>.meet-message-modal-body>h2,
.meet-message-modal-inner>.meet-message-modal-body>h3 {
  font-size: 2.4rem !important;
  font-weight: 600 !important;
  color: var(--black) !important;
  margin: 2rem 0 1rem !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  letter-spacing: .08em !important;
  text-align: center !important;
}

.meet-message-modal-inner>.meet-message-modal-body>h3 {
  font-size: 1.6rem !important;
  letter-spacing: .2em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
}

.meet-message-modal-inner>.meet-message-modal-body>h3::before,
.meet-message-modal-inner>.meet-message-modal-body>h3::after {
  content: "◆" !important;
  display: inline-block !important;
  color: color-mix(in srgb, var(--green) 45%, transparent) !important;
  -webkit-text-fill-color: color-mix(in srgb, var(--green) 45%, transparent) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

.meet-message-modal-inner>.meet-message-modal-body>h2:first-child,
.meet-message-modal-inner>.meet-message-modal-body>h3:first-child {
  margin-top: 0 !important;
}

.meet-message-modal-inner>.meet-message-modal-body>ul,
.meet-message-modal-inner>.meet-message-modal-body>ol {
  margin: 0 0 1.6rem !important;
  padding: 1.4rem 1.6rem 1.4rem 3rem !important;
  background: #fff !important;
  border: 1px solid rgba(121, 164, 118, .15) !important;
  border-radius: 1rem !important;
  list-style-position: outside !important;
}

.meet-message-modal-inner>.meet-message-modal-body>ul li,
.meet-message-modal-inner>.meet-message-modal-body>ol li {
  font-size: 1.3rem !important;
  line-height: 1.8 !important;
  margin: 0 0 .4rem !important;
  color: var(--black) !important;
}

.meet-message-modal-inner>.meet-message-modal-body>ul li:last-child,
.meet-message-modal-inner>.meet-message-modal-body>ol li:last-child {
  margin-bottom: 0 !important;
}

.meet-message-modal-inner>.meet-message-modal-body .green {
  color: var(--green) !important;
  -webkit-text-fill-color: var(--green) !important;
  font-weight: 600 !important;
}

.meet-message-modal-inner>.meet-message-modal-head:empty,
.meet-message-modal-inner>.meet-message-modal-body:empty {
  display: none !important;
}

.meet-message-modal-inner>.meet-message-modal-head .manager-people-box img,
.meet-message-modal-inner>.meet-message-modal-head .example-img-box img {
  border-radius: 1rem !important;
}

.meet-message-modal-inner>.meet-message-modal-head .meet-modal-img-block {
  margin: 0 auto 2rem !important;
  padding: 0 !important;
  text-align: center !important;
}

.meet-message-modal-inner>.meet-message-modal-head .meet-modal-img-block img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  max-width: 100% !important;
  object-fit: initial !important;
  border-radius: 0 !important;
  margin: 0 auto !important;
}

.meet-message-modal-content.is-work-1 {
  --green: #e3b426;
}

.meet-message-modal-content.is-work-2 {
  --green: #79a476;
}

.meet-message-modal-content.is-work-3 {
  --green: #49a8be;
}

body.blue .meet-message-modal-content.is-work-1 {
  --green: #174ea0;
}

body.blue .meet-message-modal-content.is-work-2 {
  --green: rgb(23, 135, 160);
}

body.blue .meet-message-modal-content.is-work-3 {
  --green: #3b51bd;
}

.meet-message-modal-inner>.meet-message-modal-head .meet-modal-title-block {
  text-align: center !important;
  padding: .8rem 1.6rem 2.4rem !important;
  border-bottom: 1px solid rgba(54, 69, 58, .12) !important;
  margin-bottom: 2.4rem !important;
}

.meet-message-modal-inner>.meet-message-modal-head .meet-modal-title-block h3 {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
  font-size: 2.4rem !important;
  font-weight: 600 !important;
  color: var(--black) !important;
  margin: 0 !important;
  letter-spacing: .12em !important;
  line-height: 1.7 !important;
}

.meet-message-modal-inner>.meet-message-modal-head .meet-modal-title-block h3 .cate-name {
  display: inline-block !important;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  letter-spacing: .2em !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: var(--green) !important;
  padding: .4rem 1.4rem !important;
  margin: 0 0 .4rem !important;
  border-radius: 0 !important;
  line-height: 1.4 !important;
}

.meet-message-modal-inner>.meet-message-modal-head .meet-modal-title-block h3 .green {
  color: var(--green) !important;
}

.meet-message-modal-inner>.meet-message-modal-body:has(.hyou),
.meet-message-modal-inner>.meet-message-modal-body:has(>.gray) {
  padding: 0 .4rem 1.6rem !important;
}

.meet-message-modal-inner>.meet-message-modal-body>.gray,
.meet-message-modal-inner>.meet-message-modal-body>.gray2 {
  margin: 1.4rem 0 1.4rem !important;
  text-align: center !important;
  font-size: 1.3rem !important;
  color: var(--black2) !important;
  letter-spacing: .05em !important;
}

.meet-message-modal-inner>.meet-message-modal-body>.hyou {
  margin: 1.6rem 0 !important;
  gap: .4rem !important;
}

.meet-message-modal-inner>.meet-message-modal-body>.coment-box {
  margin-top: 2.4rem !important;
}

.meet-message-modal .meet-message-modal-close,
.meet-message-modal.is-open .meet-message-modal-close,
.meet-message-modal.is-open .meet-message-modal-content .meet-message-modal-close,
button.meet-message-modal-close {
  position: absolute !important;
  top: 1.2rem !important;
  right: 1.2rem !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: none !important;
  width: 3.8rem !important;
  height: 3.8rem !important;
  background: var(--green) !important;
  border: none !important;
  border-radius: 50% !important;
  font-size: 2.4rem !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  cursor: pointer !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important;
  transition: background .2s ease, transform .2s ease !important;
  padding-bottom: .4rem !important;
}

.your.section .your-wrap,
.your-slider-container .your-wrap {
  gap: 1.2rem !important;
}

.your.section .your-wrap .your-box:not(.is-active),
.your-slider-container .your-wrap .your-box:not(.is-active) {
  transform: scale(.8) !important;
  opacity: .5 !important;
}

@media (min-width:769px) {

  .your.section .your-wrap,
  .your-slider-container .your-wrap {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }

  .your.section .your-wrap .your-box,
  .your-slider-container .your-wrap .your-box {
    flex: 0 0 70% !important;
    width: 70% !important;
    max-width: 32rem !important;
  }
}

@media (min-width:769px) {
  .promise-3-wrap {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }

  .promise-box-3 {
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 4.4rem .4rem 3rem 9.6rem !important;
  }

  .promise-3-wrap .promise-box-3+.promise-box-3 {
    border-top: none !important;
    margin-top: -1.6rem !important;
  }

  .promise-box-3::before {
    font-size: 4.4rem !important;
    top: 5.4rem !important;
  }

  .promise-box-3::after {
    left: 7.2rem !important;
  }
}

@media (min-width:769px) {
  .store-other-wrap .store-other-box {
    flex-basis: 80% !important;
    max-width: 32rem !important;
  }
}

@media (min-width:769px) {
  .voice-wrap {
    height: 38rem !important;
  }

  .voice-wrap .voice-box {
    width: 24rem !important;
    margin-left: -12rem !important;
  }
}

.your.section .your-wrap,
.your-slider-container .your-wrap {
  padding-top: 3rem !important;
  padding-bottom: 8rem !important;
}

.your-slider-container,
.your-slider-container .your-wrap {
  overflow-y: visible !important;
}

.your.section {
  overflow: visible !important;
}

.your-work-slider-container {
  position: relative !important;
  width: 100% !important;
  margin: 0 0 1rem !important;
  overflow: visible !important;
}

.your-work-slider-container .your-work-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  gap: 0 !important;
  padding: 3rem 0 6rem !important;
  margin: 0 !important;
  scrollbar-width: none !important;
  width: 100% !important;
  height: auto !important;
  background: transparent !important;
}

.your-work-slider-container .your-work-wrap::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.your-work-slider-container .your-work-wrap .your-work-box {
  position: relative !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: none !important;
  scroll-snap-align: center !important;
  margin: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.your-work-slider-container .slider-prev,
.your-work-slider-container .slider-next {
  position: absolute !important;
  top: 27rem !important;
  transform: translateY(-50%) !important;
  width: 4rem !important;
  height: 4rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .45) !important;
  backdrop-filter: blur(10px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
  border: 1px solid rgba(255, 255, 255, .6) !important;
  color: var(--black2) !important;
  -webkit-text-fill-color: var(--black2) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background .25s ease !important;
}

.your-work-slider-container .slider-prev {
  left: 1.2rem !important;
}

.your-work-slider-container .slider-next {
  right: 1.2rem !important;
}

.your-work-slider-container .slider-prev:hover,
.your-work-slider-container .slider-next:hover {
  background: rgba(255, 255, 255, .65) !important;
}

.your-work-slider-container .your-work-wrap {
  overflow-y: hidden !important;
}

.your-work-slider-container .your-work-box::after,
.your-work-slider-container .your-work-box-2::after,
.your-work-slider-container .your-work-box-3::after {
  width: 100% !important;
  height: calc(100% + 6rem) !important;
  top: -3rem !important;
  left: -3rem !important;
  right: auto !important;
  bottom: auto !important;
  border-radius: 0 !important;
  z-index: -1 !important;
}

.your-work-slider-container .your-work-wrap {
  padding: 4rem 0 8rem 3rem !important;
  gap: 6rem !important;
  scroll-padding-left: 3rem !important;
}

.your-work-slider-container .your-work-wrap .your-work-box {
  flex: 0 0 calc(100% - 3rem) !important;
  width: calc(100% - 3rem) !important;
  max-width: none !important;
  scroll-snap-align: start !important;
  margin: 0 !important;
}

.first-step-slider-container {
  position: relative !important;
  width: 100% !important;
  margin: 2.4rem 0 1rem !important;
  overflow: visible !important;
}

.first-step-slider-container .first-step-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  gap: 0 !important;
  padding: 2rem 0 6rem !important;
  margin: 0 !important;
  margin-top: -2rem !important;
  scrollbar-width: none !important;
  width: 100% !important;
  height: auto !important;
}

.first-step-slider-container .first-step-wrap::-webkit-scrollbar {
  display: none !important;
}

.first-step-slider-container .first-step-wrap .first-step-box {
  position: relative !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: none !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.first-step-slider-container .slider-prev,
.first-step-slider-container .slider-next {
  position: absolute !important;
  top: 16rem !important;
  transform: translateY(-50%) !important;
  width: 4rem !important;
  height: 4rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .45) !important;
  backdrop-filter: blur(10px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
  border: 1px solid rgba(255, 255, 255, .6) !important;
  color: var(--black2) !important;
  -webkit-text-fill-color: var(--black2) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.first-step-slider-container .slider-prev {
  left: -4.4rem !important;
}

.first-step-slider-container .slider-next {
  right: -4.4rem !important;
}

.requirements {
  position: relative;
  z-index: 1;
  padding: 32rem 0 22rem;
  background: var(--gra4) !important;
}

.requirements::before,
.requirements::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 40rem;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat;
  pointer-events: none;
  z-index: 1;
}

.requirements::before {
  top: -10rem;
  transform: scaleY(-1);
}

.requirements::after {
  bottom: -20rem;
}

.requirements>*:not(.hikari-ball) {
  position: relative;
  z-index: 2;
}

.manager-slider-container {
  position: relative !important;
  width: 100% !important;
  margin: 2.4rem 0 1rem !important;
  overflow: visible !important;
}

.manager-box>*:not(.manager-people-box) {
  touch-action: pan-y !important;
}

.your-work-box>*:not(.img-box) {
  touch-action: pan-y !important;
}

.your-slider-container .your-box>*:not(img):not(.img-box):not(.page-column-box-img),
.your-work-slider-container .your-work-box>*:not(.img-box):not(img),
.manager-slider-container .manager-box>*:not(.manager-people-box):not(img),
.first-step-slider-container .first-step-box>*:not(img):not(.img-box):not(.first-step-box-left),
.voice-slider-container .voice-box>*:not(img):not(.img-box):not(.voice-img-box),
.money-slider .money-box>*:not(img):not(.img-box),
.store-other-slider .store-other-box>*:not(img):not(.img-box) {
  touch-action: pan-y !important;
}

.your-work-box .img-box {
  position: relative;
}

.your-work-box .img-box::before,
.your-work-box .img-box::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 33%;
  z-index: 3;
  background: transparent;
  pointer-events: auto;
  touch-action: pan-y;
}

.your-work-box .img-box::before {
  top: 0;
}

.your-work-box .img-box::after {
  bottom: 0;
}

.manager-slider-container .manager-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  gap: 1.2rem !important;
  padding: 4.8rem 4% 8rem !important;
  margin: 0 !important;
  scrollbar-width: none !important;
  width: 100% !important;
  height: auto !important;
}

.manager-slider-container .manager-wrap::-webkit-scrollbar {
  display: none !important;
}

.manager-slider-container .manager-wrap .manager-box {
  position: relative !important;
  flex: 0 0 88% !important;
  width: 88% !important;
  max-width: 38rem !important;
  scroll-snap-align: center !important;
  margin: 0 !important;
  display: block !important;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1), opacity .45s ease !important;
  transform-origin: center center !important;
}

.manager-slider-container .manager-wrap .manager-box.is-active {
  transform: scale(1.05) !important;
  z-index: 2 !important;
}

.manager-slider-container .manager-wrap .manager-box:not(.is-active) {
  transform: scale(.85) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.manager-slider-container .slider-prev,
.manager-slider-container .slider-next {
  position: absolute !important;
  top: 21rem !important;
  transform: translateY(-50%) !important;
  width: 4rem !important;
  height: 4rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .45) !important;
  backdrop-filter: blur(10px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
  border: 1px solid rgba(255, 255, 255, .6) !important;
  color: var(--black2) !important;
  -webkit-text-fill-color: var(--black2) !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .6) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.manager-slider-container .slider-prev {
  left: 1.6rem !important;
}

.manager-slider-container .slider-next {
  right: 1.6rem !important;
}

.contact-form.step-form {
  position: relative;
}

.form-progress {
  margin: 0 auto 3.6rem;
  max-width: 60rem;
  position: relative;
  z-index: 2;
}

.form-progress-steps {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  counter-reset: stepCounter;
}

.form-progress-track {
  position: absolute;
  top: 1.7rem;
  left: 1.8rem;
  right: 1.8rem;
  height: .2rem;
  background: rgba(121, 164, 118, .18);
  border-radius: 1rem;
  overflow: hidden;
  z-index: 0;
}

.form-progress-fill {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, var(--green) 0%, var(--green2) 100%);
  transition: width .4s cubic-bezier(.19, 1, .22, 1);
}

.form-progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
  text-align: center;
}

.form-progress-step .step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  background: #fff;
  border: .2rem solid rgba(121, 164, 118, .3);
  color: var(--black2);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: .02em;
  font-family: "Cardo", serif;
  transition: background .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease;
}

.form-progress-step .step-label {
  font-size: 1.1rem;
  color: var(--black2);
  letter-spacing: .05em;
  transition: color .3s ease;
  white-space: nowrap;
}

.form-progress-step.is-done .step-num {
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  border-color: var(--green);
  color: #fff;
}

.form-progress-step.is-active .step-num {
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  border-color: var(--green);
  color: #fff;
  box-shadow: 0 0 0 .4rem rgba(121, 164, 118, .18);
}

.form-progress-step.is-active .step-label {
  color: var(--green);
  font-weight: 600;
}

.form-step {
  display: none;
  animation: stepFadeIn .4s cubic-bezier(.19, 1, .22, 1);
}

.form-step.is-active {
  display: block;
}

@keyframes stepFadeIn {
  from {
    opacity: 0;
    transform: translateY(.8rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.form-step-title {
  font-size: 2rem;
  font-weight: 500;
  color: var(--green);
  letter-spacing: .15em;
  margin-bottom: .4rem;
  text-align: center;
}

.form-step-sub {
  font-size: 1.2rem;
  color: var(--black2);
  text-align: center;
  margin-bottom: 2rem;
  letter-spacing: .05em;
}

.form-step .form-group:last-of-type {
  border-bottom: none;
}

/* 確認画面: 入力内容の一覧 */
.confirm-list {
  margin: 0 auto;
  padding: 0;
  max-width: 60rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: .1rem solid rgba(121, 164, 118, .18);
}

.confirm-list .confirm-row {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  padding: 1.6rem .4rem;
  border-bottom: .1rem solid rgba(121, 164, 118, .18);
}

.confirm-list .confirm-row dt {
  font-size: 1.2rem;
  color: var(--green);
  letter-spacing: .1em;
  font-weight: 600;
}

.confirm-list .confirm-row dd {
  margin: 0;
  font-size: 1.5rem;
  color: var(--black);
  letter-spacing: .04em;
  line-height: 1.6;
  word-break: break-word;
}

.confirm-empty {
  text-align: center;
  padding: 4rem 1rem;
  color: var(--black2);
  font-size: 1.4rem;
}

.confirm-empty a {
  color: var(--green);
  text-decoration: underline;
}

.form-step-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 3.2rem;
  padding-top: 2.4rem;
  margin-bottom: 2.8rem;
}

.form-step-nav .form-step-prev,
.form-step-nav .form-step-next {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 2rem;
  border-radius: 40rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .08em;
  cursor: pointer;
  border: none;
  line-height: 1;
  transition: filter .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease;
}

.form-step-nav .form-step-prev {
  flex: 0 0 auto;
  min-width: 10rem;
  padding: 2rem 1.4rem;
  font-size: 1.3rem;
}

.form-step-nav .form-step-next {
  flex: 1 1 auto;
}

.form-step-nav .form-step-prev {
  background: rgba(121, 164, 118, .08);
  color: var(--green);
  border: .1rem solid rgba(121, 164, 118, .3);
}

.form-step-nav .form-step-prev:hover {
  background: rgba(121, 164, 118, .16);
  border-color: var(--green);
}

.form-step-nav .form-step-next {
  background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
  color: #fff;
  box-shadow: 0 .6rem 1.4rem rgba(121, 164, 118, .25);
}

.form-step-nav .form-step-next:hover {
  filter: brightness(1.08);
  box-shadow: 0 .8rem 1.8rem rgba(121, 164, 118, .35);
}

.form-step-nav .cta-button {
  flex: 1 1 auto;
  min-width: 22rem;
  max-width: none;
  margin: 0;
  padding-left: 2rem !important;
  padding-right: 3.6rem !important;
  border: none !important;
  white-space: nowrap;
}

.form-step-nav:has(>.form-step-next:only-child) {
  justify-content: stretch;
}

.form-step-nav:has(>.form-step-next:only-child) .form-step-next {
  flex: 1 1 100%;
  width: 100%;
  padding: 2rem 2.4rem;
  font-size: 1.6rem;
  letter-spacing: .12em;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.form-step-nav:has(>.form-step-next:only-child) .form-step-next::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, .55) 50%, transparent 100%);
  transform: translateX(-250%) skewX(-20deg);
  pointer-events: none;
  animation: ctaShine 4.5s ease-in-out infinite;
  will-change: transform;
}

@media (prefers-reduced-motion:reduce) {
  .form-step-nav:has(>.form-step-next:only-child) .form-step-next::before {
    animation: none !important;
    display: none !important;
  }
}


.input-area input.is-invalid,
.input-area textarea.is-invalid,
.input-area select.is-invalid {
  border-color: #d05858 !important;
  box-shadow: 0 0 0 .3rem rgba(208, 88, 88, .12) !important;
}

.input-area.is-invalid input,
.input-area.is-invalid textarea,
.input-area.is-invalid select,
.input-area.is-invalid .checkbox-group {
  border-color: #d05858;
}

.form-step-error {
  display: none;
  margin-top: 1.6rem;
  padding: 1rem 1.4rem;
  background: rgba(208, 88, 88, .08);
  border: .1rem solid rgba(208, 88, 88, .3);
  border-radius: .6rem;
  color: #b34a4a;
  font-size: 1.25rem;
  letter-spacing: .04em;
  line-height: 1.6;
}

.form-step-error.is-visible {
  display: block;
}

@media (max-width:768px) {
  .form-progress {
    margin-bottom: 2.8rem;
  }

  .form-progress-step .step-num {
    width: 3rem;
    height: 3rem;
    font-size: 1.2rem;
  }

  .form-progress-track {
    top: 1.4rem;
    left: 1.5rem;
    right: 1.5rem;
  }

  .form-progress-step .step-label {
    font-size: 1rem;
  }

  .form-step-title {
    font-size: 2rem;
    letter-spacing: .15em;
  }

  .form-step-sub {
    font-size: 1.1rem;
  }

  .form-step-nav {
    gap: .8rem;
    margin-top: 2.4rem;
    padding-top: 1.8rem;
  }

  .form-step-nav .form-step-prev,
  .form-step-nav .form-step-next,
  .form-step-nav .cta-button {
    padding: 2rem 1.6rem;
    font-size: 1.3rem;
  }
}

.meet-message-modal-head,
.meet-message-modal-inner>.meet-message-modal-head {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.meet-message-modal-head::before,
.meet-message-modal-head::after,
.meet-message-modal-inner>.meet-message-modal-head::before,
.meet-message-modal-inner>.meet-message-modal-head::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.meet-message-modal-head .manager-people-box,
.meet-message-modal-head .example-img-box {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  position: static !important;
}

.meet-message-modal-head img,
.meet-message-modal-head .manager-people-box img,
.meet-message-modal-head .example-img-box img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: cover !important;
}

.meet-message-modal-head .manager-people-box .name,
.meet-message-modal-head .manager-people-box .name .small {
  display: none !important;
}

.full-nav,
.full-nav .nav-inner,
.full-nav .nav-list,
.full-nav .nav-list a,
.full-nav .nav-list li,
.full-nav .nav-list li.bu a.cta-button,
.full-nav .nav-list li.bu a.button,
.full-nav .miss-link {
  text-shadow: none !important;
}

.full-nav {
  background: rgba(58, 55, 50, .94) !important;
  backdrop-filter: blur(1rem) saturate(140%) !important;
  -webkit-backdrop-filter: blur(1rem) saturate(140%) !important;
  color: #fff !important;
}

.full-nav::before {
  display: none !important;
  content: none !important;
  background: none !important;
  opacity: 0 !important;
}

.full-nav .nav-list a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}

.full-nav .nav-list li:not(.bu) a::before,
.full-nav .nav-list li:not(.bu) a::after {
  background: rgba(255, 255, 255, .5) !important;
}

.full-nav .sub-links {
  list-style: none !important;
  padding: 0 !important;
  margin: .8rem 0 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: .5rem 1.6rem !important;
}

.full-nav .sub-links li {
  width: auto !important;
}

.full-nav .sub-links li a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 1.3rem !important;
  letter-spacing: .1em !important;
  font-weight: 400 !important;
  opacity: .8 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .6rem !important;
  padding: 0 !important;
  text-shadow: none !important;
}

.full-nav .sub-links li a::after {
  content: none !important;
  display: none !important;
}

.full-nav .sub-links li a::before {
  content: "" !important;
  width: .4rem !important;
  height: .4rem !important;
  border-radius: 50% !important;
  background: currentColor !important;
  opacity: .7 !important;
  flex-shrink: 0 !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
}

.full-nav .sub-links li a:hover {
  opacity: 1 !important;
}

.full-nav .nav-list a:hover {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: .75 !important;
}

.full-nav .miss-link {
  color: rgba(255, 255, 255, .85) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .85) !important;
  text-shadow: none !important;
}

.full-nav .nav-list li.bu a.cta-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  width: 26rem !important;
  padding: 2rem 4rem !important;
  background: linear-gradient(135deg, #568958 0%, #89b585 90%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none !important;
  border-radius: 40rem !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: filter .3s ease, box-shadow .3s ease !important;
}

.full-nav .nav-list li.bu a.cta-button:hover {
  filter: brightness(1.08) !important;
  box-shadow: 0 .9rem 2rem rgba(86, 137, 88, .35) !important;
}

.full-nav .nav-list li.bu a.cta-button::before {
  content: none !important;
  display: none !important;
}

.full-nav .nav-list li.bu a.cta-button::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  right: 2rem !important;
  left: auto !important;
  width: .9rem !important;
  height: .9rem !important;
  background: none !important;
  border: none !important;
  border-top: 1.5px solid #fff !important;
  border-right: 1.5px solid #fff !important;
  border-radius: 0 !important;
  transform: translateY(-50%) rotate(45deg) !important;
  transition: right .3s cubic-bezier(.22, 1, .36, 1) !important;
}


.full-nav .nav-list li.bu a.cta-button:hover::after {
  right: 1.4rem !important;
}

@media (max-width:479px) {
  html {
    font-size: 58% !important;
  }
}

.meet-message-modal-body:has(.sim-section),
.meet-message-modal-body:has(.sim-section) *,
.meet-message-modal-inner>.meet-message-modal-head:has(.example-img-box),
.meet-message-modal-inner>.meet-message-modal-head:has(.example-img-box) * {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
}

.meet-message-modal-body:has(.sim-section) .sim-num,
.meet-message-modal-body:has(.sim-section) .sim-yen,
.meet-message-modal-body:has(.sim-section) .sim-yen-num,
.meet-message-modal-body:has(.sim-section) .sim-unit,
.meet-message-modal-body:has(.sim-section) .sim-percent,
.meet-message-modal-body:has(.sim-section) .sim-step-calc,
.meet-message-modal-body:has(.sim-section) .sim-step-num,
.meet-message-modal-inner>.meet-message-modal-head:has(.example-img-box) .name .big,
.meet-message-modal-inner>.meet-message-modal-head:has(.example-img-box) .price-end .big {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
}

.meet-message-modal-inner>.meet-message-modal-head:has(.example-img-box) {
  display: block !important;
  padding: 0 0 2rem !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(155, 155, 148, .22) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.meet-message-modal-inner>.meet-message-modal-head:has(.example-img-box)::before,
.meet-message-modal-inner>.meet-message-modal-head:has(.example-img-box)::after {
  display: none !important;
  content: none !important;
}

.meet-message-modal-head:has(.example-img-box) .example-img-box {
  display: block !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  position: static !important;
}

.meet-message-modal-head:has(.example-img-box) .example-img-box img {
  display: block !important;
  width: 60% !important;
  max-width: 22rem !important;
  height: auto !important;
  margin: 0 auto 1rem !important;
  border-radius: 50% !important;
  border: none !important;
  box-shadow: 0 .6rem 1.8rem rgba(54, 69, 58, .1) !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1 !important;
}

.meet-message-modal-head:has(.example-img-box) .example-img-box .name {
  display: block !important;
  font-size: 1.5rem !important;
  font-weight: 500 !important;
  color: #2f322f !important;
  margin: 0 auto .4rem !important;
  padding: 0 !important;
  background: transparent !important;
  letter-spacing: .12em !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

.meet-message-modal-head:has(.example-img-box) .example-img-box .name .big {
  display: inline-block !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 2.6rem !important;
  color: var(--green) !important;
  letter-spacing: .05em !important;
  margin-right: .15em !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
}

.meet-message-modal-head:has(.example-img-box) .example-img-box .name-2 {
  display: block !important;
  font-size: 1.15rem !important;
  color: #7d7d78 !important;
  letter-spacing: .12em !important;
  margin: .4rem auto 4rem !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1.7 !important;
}

.meet-message-modal-head>.price-end {
  display: block !important;
  text-align: center !important;
  background: transparent !important;
  color: #4a4a48 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4rem 0 1.6rem !important;
  margin: 1rem 0 0 !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.3rem !important;
  letter-spacing: .1em !important;
  line-height: 1.5 !important;
  border-top: 1px dashed rgba(155, 155, 148, .5) !important;
}

.meet-message-modal-head>.price-end .green {
  color: #568958 !important;
  -webkit-text-fill-color: #568958 !important;
  display: inline-block !important;
  margin: 0 .3rem !important;
  font-weight: 500 !important;
}

.meet-message-modal-head>.price-end .big {
  display: inline-block !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 3.2rem !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
  color: #568958 !important;
  -webkit-text-fill-color: #568958 !important;
  margin: 0 .1em !important;
  line-height: 1 !important;
  font-variant-numeric: lining-nums proportional-nums !important;
}

.meet-message-modal-body:has(.sim-section) {
  color: #2f322f !important;
  padding: 0 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-section {
  margin: 0 0 1.8rem !important;
  padding: 4.8rem 3rem 4.8rem !important;
  background: #fff !important;
  border: 1px solid rgba(54, 69, 58, .12) !important;
  border-radius: 1rem !important;
}

.meet-message-modal-body:has(.sim-section) .sim-section-label {
  display: block !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.5rem !important;
  letter-spacing: .12em !important;
  color: #568958 !important;
  text-transform: none !important;
  text-align: center !important;
  margin: 0 auto 1.6rem !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  line-height: 1.4 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step {
  position: relative !important;
  margin: 0 0 1rem !important;
  padding: 1.4rem 1.2rem !important;
  background: rgba(54, 69, 58, .035) !important;
  border: none !important;
  border-radius: .8rem !important;
  box-shadow: none !important;
  text-align: center !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step:last-child,
.meet-message-modal-body:has(.sim-section) .sim-step:last-of-type {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-calc+.sim-step-result,
.meet-message-modal-body:has(.sim-section) .sim-step-result {
  background: #fff !important;
  border-radius: .6rem !important;
  padding: .8rem 1rem !important;
  margin: .8rem auto 0 !important;
  border: 1px solid rgba(54, 69, 58, .08) !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: .2rem !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-num {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 3rem !important;
  height: 3rem !important;
  padding: 0 !important;
  background: var(--green) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  font-family: "Cardo", "Zen Old Mincho", serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 1.4rem !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 .2rem .6rem rgba(121, 164, 118, .3) !important;
  text-align: center !important;
  margin: 0 auto .8rem !important;
  z-index: 1 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-title {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #2f322f !important;
  letter-spacing: .08em !important;
  margin: 0 auto 1rem !important;
  padding: 0 !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-detail {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.3rem !important;
  color: #4a4a48 !important;
  line-height: 1.9 !important;
  letter-spacing: .05em !important;
  margin: 0 auto .4rem !important;
  text-align: center !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-calc {
  display: block !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
  color: #7d7d78 !important;
  letter-spacing: .05em !important;
  margin: .4rem auto .6rem !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  line-height: 1.6 !important;
  text-align: center !important;
}

.meet-message-modal-body:has(.sim-section) .sim-num,
.meet-message-modal-body:has(.sim-section) .sim-percent {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.3em !important;
  font-weight: 500 !important;
  color: #568958 !important;
  margin: 0 .1em !important;
  letter-spacing: .05em !important;
  line-height: 1 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: .2rem !important;
  margin: 1rem auto 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  color: #2f322f !important;
  text-align: center !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result .sim-yen {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.5rem !important;
  color: #2f322f !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result .sim-yen-num {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 2.4rem !important;
  font-weight: 500 !important;
  color: #2f322f !important;
  letter-spacing: .05em !important;
  margin: 0 !important;
  font-variant-numeric: lining-nums proportional-nums !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result .sim-unit {
  font-size: 1.2rem !important;
  color: #7d7d78 !important;
  letter-spacing: .05em !important;
  margin-left: .2rem !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step.sim-step-highlight {
  background: rgba(140, 178, 138, .1) !important;
  border: 1px solid rgba(86, 137, 88, .2) !important;
  border-radius: .8rem !important;
  padding: 1.4rem !important;
  margin: .4rem 0 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-highlight .sim-step-num {
  display: none !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result-big {
  display: block !important;
  text-align: center !important;
  padding: .8rem 0 0 !important;
  margin-top: .6rem !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result-big .sim-step-result-label {
  display: block !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.15rem !important;
  color: #7d7d78 !important;
  letter-spacing: .12em !important;
  margin-bottom: .2rem !important;
  font-weight: 500 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result-big .sim-yen {
  font-size: 1.6rem !important;
  color: #568958 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result-big .sim-yen-num {
  font-size: 2.8rem !important;
  font-weight: 500 !important;
  color: #568958 !important;
  letter-spacing: .05em !important;
}

.meet-message-modal-body:has(.sim-section) .sim-step-result-big .sim-unit {
  font-size: 1.2rem !important;
  color: #7d7d78 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-arrow {
  position: relative !important;
  display: block !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.2rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  color: #7d7d78 !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  margin: .8rem 0 1.2rem !important;
  padding: 0 !important;
  line-height: 1.5 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  width: auto !important;
}

.meet-message-modal-body:has(.sim-section) .sim-arrow::before {
  content: none !important;
  display: none !important;
}

.meet-message-modal-body:has(.sim-section) .sim-arrow .sim-percent {
  font-size: 1.2em !important;
  color: #568958 !important;
  margin: 0 .15em !important;
}

.meet-message-modal-body:has(.sim-section) .sim-divider {
  height: 0 !important;
  background: transparent !important;
  margin: .4rem 0 !important;
  border: none !important;
}

.meet-message-modal-body:has(.sim-section) .sim-summary {
  margin: 2rem 0 1rem !important;
  padding: 1.6rem 1.6rem 1.4rem !important;
  background: #fbfaf7 !important;
  border: 1px solid rgba(54, 69, 58, .15) !important;
  border-radius: 1rem !important;
  box-shadow: none !important;
}

.meet-message-modal-body:has(.sim-section) .sim-summary-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding: .6rem 0 !important;
  border-bottom: none !important;
}

.meet-message-modal-body:has(.sim-section) .sim-summary-row:last-child {
  border-bottom: none !important;
}

.meet-message-modal-body:has(.sim-section) .sim-summary-label {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.35rem !important;
  color: #2f322f !important;
  letter-spacing: .08em !important;
  font-weight: 500 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-summary-row .sim-yen {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 2rem !important;
  color: #2f322f !important;
  letter-spacing: .05em !important;
  font-weight: 500 !important;
}

.meet-message-modal-body:has(.sim-section) .sim-summary-total {
  margin-top: .8rem !important;
  padding: 1rem 1.2rem !important;
  background: rgba(140, 178, 138, .12) !important;
  border: 1px solid rgba(86, 137, 88, .25) !important;
  border-radius: .6rem !important;
  box-shadow: none !important;
}

.meet-message-modal-body:has(.sim-section) .sim-summary-total .sim-summary-label {
  font-size: 1.5rem !important;
  color: #2f322f !important;
  -webkit-text-fill-color: #2f322f !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
}

.meet-message-modal-body:has(.sim-section) .sim-yen-total {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: .1rem !important;
}

.meet-message-modal-body:has(.sim-section) .sim-yen-total .sim-yen-num {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 3.2rem !important;
  font-weight: 500 !important;
  color: #568958 !important;
  -webkit-text-fill-color: #568958 !important;
  letter-spacing: .05em !important;
  font-variant-numeric: lining-nums proportional-nums !important;
}

.meet-message-modal-body:has(.sim-section) .sim-yen-total .sim-unit {
  font-size: 1.3rem !important;
  color: #7d7d78 !important;
  -webkit-text-fill-color: #7d7d78 !important;
  letter-spacing: .05em !important;
  margin-left: .3rem !important;
}

.meet-message-modal-body:has(.sim-section) .sim-note {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
  font-size: 1.15rem !important;
  color: #8a8f88 !important;
  text-align: center !important;
  letter-spacing: .06em !important;
  line-height: 1.7 !important;
  margin: 1.6rem 0 0 !important;
  padding: 0 !important;
}

.cate-button-box.store-button-box {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: .4rem 1.2rem !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: -2.4rem !important;
  margin-bottom: 3rem !important;
}

.cate-button-box.store-button-box li {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: .6rem .2rem !important;
  color: var(--black2) !important;
  font-size: 1.3rem !important;
  letter-spacing: .1em !important;
  border-bottom: .15rem solid transparent !important;
  transition: color .25s ease, border-color .25s ease !important;
}

.cate-button-box.store-button-box li:hover {
  color: var(--green) !important;
  border-color: transparent !important;
  border-bottom-color: rgba(121, 164, 118, .4) !important;
  background: transparent !important;
}

.cate-button-box.store-button-box li.active {
  color: var(--green) !important;
  background: transparent !important;
  border-color: transparent !important;
  border-bottom-color: var(--green) !important;
  font-weight: 600 !important;
}

footer .cta {
  position: relative !important;
  overflow: hidden !important;
}

footer .cta::before {
  display: none;
}

footer .cta::after,
footer .cta h2::before,
footer .cta h2::after {
  display: none;
}

@keyframes footerRippleExpand {
  0% {
    transform: scale(0);
    opacity: 0;
  }

  10% {
    opacity: .5;
  }

  100% {
    transform: scale(9);
    opacity: 0;
  }
}

@media (prefers-reduced-motion:reduce) {

  footer .cta::before,
  footer .cta::after,
  footer .cta .button-box::before,
  footer .cta .button-box::after {
    animation: none !important;
    display: none !important;
  }
}

.page-voice-wrap .voice-box .voice-img-box {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1), filter .55s ease !important;
  will-change: transform, filter;
}

@media (hover:hover) {
  .page-voice-wrap .voice-box .voice-img-box:hover {
    transform: translateY(-.8rem) !important;
    filter: brightness(1.05) saturate(1.05) drop-shadow(0 1.6rem 2.4rem rgba(255, 250, 235, .85)) drop-shadow(0 .6rem 1rem rgba(255, 245, 220, .55)) !important;
  }
}

.page-voice-wrap .voice-box .voice-img-box img,
.page-voice-wrap .voice-box img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 1rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  clip-path: inset(3rem 0 0 0 round 1rem) !important;
  -webkit-clip-path: inset(3rem 0 0 0 round 1rem) !important;
}

.page-voice-wrap .voice-box .reki {
  position: absolute !important;
  top: 4rem !important;
  right: .8rem !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 4.4rem !important;
  height: 4.4rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .45) !important;
  backdrop-filter: blur(.8rem) saturate(160%) !important;
  -webkit-backdrop-filter: blur(.8rem) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, .6) !important;
  box-shadow: inset .1rem .2rem .5rem rgba(0, 0, 0, .05), inset -.1rem -.15rem .4rem rgba(255, 255, 255, .7), 0 .2rem .6rem rgba(0, 0, 0, .08) !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  font-family: "Cardo", "Zen Old Mincho", serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* 店舗名バッジ：.voice:not(.page-voice) .voice-box .reki と同じサイズ・デザイン */
.voice-box .voice-store {
  position: absolute !important;
  top: 7rem !important;
  right: .6rem !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 4.4rem !important;
  height: 4.4rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .45) !important;
  backdrop-filter: blur(.8rem) saturate(160%) !important;
  -webkit-backdrop-filter: blur(.8rem) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, .6) !important;
  box-shadow: inset .15rem .3rem .6rem rgba(0, 0, 0, .05), inset -.1rem -.2rem .5rem rgba(255, 255, 255, .7), 0 .3rem 1rem rgba(0, 0, 0, .08) !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  font-family: "Cardo", "Zen Old Mincho", serif !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* 一覧ページの .voice-store は .reki のサイズに合わせて 4.4rem に */
.page-voice-wrap .voice-box .voice-store {
  top: 9rem !important;
  right: .8rem !important;
  width: 4.4rem !important;
  height: 4.4rem !important;
  font-size: 1rem !important;
  letter-spacing: .03em !important;
  box-shadow: inset .1rem .2rem .5rem rgba(0, 0, 0, .05), inset -.1rem -.15rem .4rem rgba(255, 255, 255, .7), 0 .2rem .6rem rgba(0, 0, 0, .08) !important;
}

.page-voice-wrap .voice-box .voice-img-box h3,
.page-voice-wrap .voice-box h3 {
  position: absolute !important;
  left: 50% !important;
  top: initial !important;
  bottom: 1rem !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  max-width: calc(100% - 1.2rem) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: center !important;
  color: var(--black) !important;
  -webkit-text-fill-color: var(--black) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  z-index: 3 !important;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  visibility: visible !important;
  display: block !important;
}

.page-voice-wrap .voice-box>.name,
.page-voice-wrap .voice-box .name {
  display: block !important;
  position: static !important;
  width: 100% !important;
  margin: 1.5rem 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 1.9rem !important;
  font-weight: 500 !important;
  color: var(--black) !important;
  letter-spacing: .05em !important;
  line-height: 1.3 !important;
  visibility: visible !important;
  white-space: normal !important;
}

.page-voice-wrap .voice-box .name .small {
  font-size: 1rem !important;
  color: var(--black2) !important;
  font-weight: 400 !important;
  display: inline-block !important;
  margin-left: .2rem !important;
}

.page-voice-wrap .voice-box .mini-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .3rem !important;
  margin: .6rem 0 0 !important;
  padding: 0 .4rem !important;
  width: 100% !important;
}

.page-voice-wrap .voice-box .mini {
  display: inline-block !important;
  position: static !important;
  margin: 0 !important;
  padding: .4rem .8rem .3rem !important;
  text-align: center !important;
  font-size: 1.1rem !important;
  color: var(--black2) !important;
  line-height: 1.3 !important;
  background: rgba(255, 255, 255, .6) !important;
  backdrop-filter: blur(.5rem) saturate(140%) !important;
  -webkit-backdrop-filter: blur(.5rem) saturate(140%) !important;
  border: 1px solid rgba(255, 255, 255, .7) !important;
  border-radius: .4rem !important;
  box-shadow: inset .05rem .1rem .3rem rgba(0, 0, 0, .03), inset -.05rem -.1rem .3rem rgba(255, 255, 255, .7), 0 .15rem .4rem rgba(0, 0, 0, .05) !important;
  letter-spacing: .04em !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  visibility: visible !important;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif !important;
}

.voice-wrap .voice-box .number,
.voice .voice-box .number {
  display: none !important;
}

.thanks .page-top-tittle,
.page-column-top.thanks .page-top-tittle {
  font-size: 2.4rem !important;
  font-weight: 600 !important;
}

.thanks-page {
  background: #fff;
  padding-top: 0rem;
  z-index: 5555555;
  position: relative;
}

.thanks-page .button {
  margin-top: 4rem !important;
  width: 100% !important;
  border: 1px solid var(--green) !important;
}

.page-message {
  background: #fff !important;
  position: relative;
  z-index: 10;
}

.store-gallery {
  padding: 8rem 0;
  background: #fff;
  position: relative;
}

.store-gallery-lead {
  text-align: center;
  font-size: 1.55rem;
  line-height: 2;
  letter-spacing: .08em;
  color: var(--black2);
  margin: 2rem auto 4rem;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
}

.store-gallery-wrap {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}

.store-gallery-box {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.store-gallery-box img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 1.2rem;
  box-shadow: 0 .6rem 1.6rem rgba(54, 69, 58, .08);
  display: block;
}

.store-gallery-box .store-gallery-text {
  padding: 0 .4rem;
}

.store-gallery-box h3 {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.2rem;
  font-weight: 600;
  color: var(--black);
  letter-spacing: .08em;
  margin-bottom: .2rem;
  margin-top: .6rem;
  padding-bottom: .6rem;
  display: inline-block;
}

.store-gallery-box p {
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.45rem;
  line-height: 1.9;
  letter-spacing: .05em;
  color: var(--black2);
  margin: 0;
}

.rogo-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem 1.6rem;
  margin: 3rem 0 4rem;
}

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

.rogo-box img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 1rem;
  box-shadow: 0 .4rem 1.2rem rgba(54, 69, 58, .08);
  display: block;
  margin-bottom: 1rem;
}

.rogo-box h3 {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--black);
  letter-spacing: .1em;
  line-height: 1.3;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}

.page-message .promise-3-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  gap: 2rem !important;
}

.page-message .promise-box-3 {
  padding: 3rem 0 !important;
  flex: 1 1 auto !important;
  position: relative !important;
  text-align: center !important;
  border-top: none !important;
}

.page-message .promise-box-3::before {
  content: "0"counter(promise) !important;
  position: static !important;
  display: block !important;
  top: auto !important;
  left: auto !important;
  font-family: "Cardo", serif !important;
  font-size: 3.6rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .1em !important;
  background: linear-gradient(135deg, #568958 0%, #89b585 90%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  filter: drop-shadow(0 2px 4px rgba(121, 164, 118, .15)) !important;
  margin: 0 auto 1.2rem !important;
  text-align: center !important;
}

.page-message .promise-box-3::after {
  content: none !important;
  display: none !important;
}

.page-message .promise-box-3 h3 {
  text-align: center !important;
  margin: 0 auto 1rem !important;
  font-size: 2.2rem !important;
  letter-spacing: .1em !important;
}

.page-message .promise-box-3 p {
  text-align: center !important;
  margin: 0 auto !important;
}

.logo p {
  font-size: 1.6rem;
}

.page-message .value,
.page-message .logo {
  background: url("/recruit/images/page-top-column-back.webp") !important;
  background-size: cover !important;
  padding: 32rem 0 28rem !important;
  position: relative !important;
  overflow: hidden !important;
}

.page-message .value::before,
.page-message .logo::before {
  content: "" !important;
  position: absolute !important;
  top: -10rem !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 40rem !important;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat !important;
  transform: scaleY(-1) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.page-message .value::after,
.page-message .logo::after {
  content: "" !important;
  position: absolute !important;
  bottom: -10rem !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 40rem !important;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.page-message .value>*,
.page-message .logo>* {
  position: relative;
  z-index: 1;
}

.page-message .message-2,
.page-message .store-gallery {
  background: #fff !important;
  padding: 4rem 0 4rem !important;
}

.message-2 p,
.logo p {
  text-align: center;
}

.page-message .store-gallery {
  background: linear-gradient(to bottom, #fff 0%, var(--shibuya-main3) 100%) !important;
  padding-bottom: 20rem !important;
}

.page-message .store-gallery {
  position: relative !important;
  overflow: hidden !important;
}

.page-message .store-gallery::after {
  content: "" !important;
  position: absolute !important;
  bottom: -22rem !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 40rem !important;
  background: url("/recruit/images/kumo.webp") center / cover no-repeat !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.page-message .store-gallery>* {
  position: relative;
  z-index: 1;
}

.full-nav {
  overflow: hidden !important;
}

.full-nav .nav-aurora {
  position: absolute;
  inset: -20%;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .9s cubic-bezier(.22, 1, .36, 1);
  background: radial-gradient(closest-side at 25% 20%, rgba(255, 240, 210, .28) 0%, rgba(255, 240, 210, 0) 65%), radial-gradient(closest-side at 75% 35%, rgba(200, 220, 255, .22) 0%, rgba(200, 220, 255, 0) 65%), radial-gradient(closest-side at 50% 85%, rgba(255, 220, 240, .20) 0%, rgba(255, 220, 240, 0) 65%);
  filter: blur(3rem) saturate(120%);
  animation: navAurora 18s ease-in-out infinite alternate;
  will-change: transform, opacity;
  mix-blend-mode: screen;
}

.full-nav.is-open .nav-aurora {
  opacity: 1;
}

@keyframes navAurora {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }

  50% {
    transform: translate(3%, -2%) rotate(6deg) scale(1.08);
  }

  100% {
    transform: translate(-2%, 3%) rotate(-4deg) scale(1.02);
  }
}

.full-nav .nav-beam {
  position: absolute;
  top: -30%;
  left: -20%;
  width: 60%;
  height: 160%;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transform: rotate(18deg) translateY(-8%);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .08) 30%, rgba(255, 255, 255, .22) 50%, rgba(255, 255, 255, .08) 70%, rgba(255, 255, 255, 0) 100%);
  filter: blur(2rem);
  mix-blend-mode: screen;
  transition: opacity 1.1s ease;
}

.full-nav.is-open .nav-beam {
  opacity: 1;
  animation: navBeamDrift 14s ease-in-out infinite alternate;
}

@keyframes navBeamDrift {
  0% {
    transform: rotate(18deg) translateX(-6%) translateY(-8%);
  }

  100% {
    transform: rotate(16deg) translateX(8%) translateY(4%);
  }
}

.full-nav .nav-beam-2 {
  position: absolute;
  bottom: -30%;
  right: -20%;
  width: 55%;
  height: 150%;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transform: rotate(-22deg);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 245, 230, .06) 30%, rgba(255, 245, 230, .18) 50%, rgba(255, 245, 230, .06) 70%, rgba(255, 255, 255, 0) 100%);
  filter: blur(2.4rem);
  mix-blend-mode: screen;
  transition: opacity 1.3s ease;
}

.full-nav.is-open .nav-beam-2 {
  opacity: 1;
  animation: navBeamDrift2 16s ease-in-out infinite alternate;
}

@keyframes navBeamDrift2 {
  0% {
    transform: rotate(-22deg) translateX(4%) translateY(-3%);
  }

  100% {
    transform: rotate(-20deg) translateX(-8%) translateY(5%);
  }
}

.full-nav .nav-sweep {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .12) 45%, rgba(255, 255, 255, .32) 50%, rgba(255, 255, 255, .12) 55%, transparent 70%);
  transform: translateX(-100%);
  mix-blend-mode: screen;
  filter: blur(.6rem);
}

.full-nav.is-open .nav-sweep {
  animation: navSweepShine 1.6s cubic-bezier(.22, 1, .36, 1) .3s 1 both;
}

@keyframes navSweepShine {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  80% {
    opacity: 1;
  }

  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}

.full-nav>*:not(.nav-aurora):not(.nav-beam):not(.nav-beam-2):not(.nav-sweep) {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion:reduce) {

  .full-nav .nav-aurora,
  .full-nav .nav-beam,
  .full-nav .nav-beam-2,
  .full-nav .nav-sweep {
    animation: none !important;
  }
}

.fix-guide-button {
  position: fixed !important;
  bottom: 1.6rem !important;
  left: 5% !important;
  width: 33% !important;
  max-width: 180px !important;
  z-index: 10000 !important;
  text-align: center !important;
  transition: opacity .3s ease, visibility .3s ease !important;
  opacity: 1 !important;
  visibility: visible !important;
  padding: 2rem 0 !important;
  font-size: 1.5rem !important;
  display: block !important;
  box-shadow: 0 .2rem 1rem rgba(0, 0, 0, .1) !important;
}

.fix-guide-button::after {
  content: "＋" !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: var(--green) !important;
  -webkit-text-fill-color: var(--green) !important;
  right: 1.2rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

@media (max-width:479.98px) {
  .fix-cta-button {
    left: auto !important;
    right: 5% !important;
    width: 54% !important;
    max-width: 300px !important;
    transform: none !important;
  }
}

@media (min-width:480px) and (max-width:1279.98px) {
  .fix-cta-button {
    left: auto !important;
    right: max(2.1rem, calc(50vw - 21rem + 2.1rem)) !important;
    transform: none !important;
    width: min(22.7rem, calc(42rem * .54)) !important;
    max-width: 22.7rem !important;
  }

  .fix-guide-button {
    display: block !important;
    position: fixed !important;
    left: max(2.1rem, calc(50vw - 21rem + 2.1rem)) !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: min(14rem, calc(42rem * .33)) !important;
    min-width: 0 !important;
    max-width: 14rem !important;
    z-index: 10000 !important;
  }
}

@media (min-width:1280px) {

  .fix-cta-button,
  .fix-guide-button {
    display: none !important;
  }
}

.fix-guide-button.is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease !important;
}

body.is-at-footer .fix-guide-button {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .3s ease, visibility .3s ease, transform .3s ease !important;
}

body.is-in-fv .fix-guide-button {
  opacity: 0 !important;
  pointer-events: none !important;
}

body:not(.is-in-fv):not(.is-at-footer) .fix-guide-button {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.requirements-modal .meet-message-modal-inner {
  padding-top: 8rem !important;
}

.requirements-modal .meet-message-modal-content {
  max-width: 42rem !important;
  width: 100% !important;
}

.requirements-modal .requirements-box li {
  width: 100% !important;
}

.requirements-modal .requirements-box h3 {
  padding: .6rem 2rem .8rem !important;
}

.requirements-modal .requirements-modal-body,
.requirements-modal .requirements-modal-body * {
  font-family: inherit;
}

.requirements-modal .requirements-modal-body h2,
.requirements-modal .requirements-modal-body h3 {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
}

.requirements-modal .requirements-modal-body .title-en {
  font-family: "Cardo", serif !important;
}

.requirements-modal .requirements-modal-body .rank-about.rank-section {
  margin-top: 12rem !important;
}

.requirements-modal .requirements-modal-body .rank-section.rank-example {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important;
}

.requirements-modal .requirements-modal-body .rank-about-box h4 {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
}

.requirements-modal .requirements-modal-body .eme-p,
.requirements-modal .requirements-modal-body .eme-p.ani-zoom-in,
.requirements-modal .requirements-modal-body .eme-p.ani-zoom-in.is-animated {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
}

/* .fix-guide-button 経由の募集要項モーダル内はスクロールアニメーション無効 */
.requirements-modal .requirements-modal-body .fade,
.requirements-modal .requirements-modal-body .fade.is-animated,
.requirements-modal .requirements-modal-body .ani-zoom-in,
.requirements-modal .requirements-modal-body .ani-zoom-in.is-animated {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
}

.requirements-modal .requirements-modal-body .more-top-2.is-accordion-trigger {
  cursor: pointer;
  display: inline-block;
  margin-top: 1.6rem;
}

.requirements-modal .requirements-modal-body .box.is-collapsed {
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  transition: max-height .4s ease, opacity .3s ease, padding .4s ease, margin .4s ease;
}

.requirements-modal .requirements-modal-body .box.is-open {
  max-height: 300rem;
  opacity: 1;
  background: none !important;
  margin-top: 4rem !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  transition: max-height .6s ease, opacity .4s ease .1s;
}

@media (max-width:479.98px) {
  .meet-message-modal-content {
    max-width: 100% !important;
    width: 100% !important;
  }
}

.column .your-slider-container .your-wrap .your-box h3 {
  text-align: left !important;
  justify-content: flex-start !important;
}

.store-other-slider-container .your-wrap .your-box.store-other-box img {
  aspect-ratio: auto !important;
  max-height: none !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 1rem !important;
  margin: 0 0 1.4rem !important;
}

.store-other-slider-container .your-wrap .your-box.store-other-box h3 {
  font-size: 2rem !important;
  min-height: 0 !important;
  letter-spacing: .1em !important;
  font-weight: 500 !important;
  text-align: center !important;
  margin: 1.4rem 0 1rem !important;
  padding: 0 !important;
  color: var(--black) !important;
  display: block !important;
  line-height: 1.4 !important;
  white-space: normal !important;
}

.store-other-slider-container .your-wrap .your-box.store-other-box p,
.store-other-slider-container .your-wrap .your-box.store-other-box .store-other-ul,
.store-other-slider-container .your-wrap .your-box.store-other-box .button {
  display: block !important;
  visibility: visible !important;
}

.store-other-slider-container .your-wrap .your-box.store-other-box .store-other-ul {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: .6rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2rem !important;
  width: 100% !important;
}

.store-other-slider-container .your-wrap .your-box.store-other-box .store-other-ul li {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  font-size: 1.2rem !important;
  padding: .8rem .4rem .6rem !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.store-other-slider-container .your-wrap .your-box.store-other-box:not(.is-active)>:not(img) {
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.rank-invoice-wrap {
  position: relative;
}

.rank-invoice-tabs {
  display: flex;
  justify-content: center;
  gap: .6rem;
  margin: 0 auto 2rem;
  z-index: 10;
}

.requirements-modal .requirements-modal-body .rank-invoice-tabs {
  margin-top: 3.2rem !important;
  margin-bottom: .8rem !important;
}

.requirements-modal .requirements-modal-body .rank-invoice-wrap>h3 {
  font-size: 2.2rem !important;
  text-align: center !important;
  letter-spacing: .1em !important;
  margin: 0 auto !important;
}

.requirements-modal .requirements-modal-body .rank-invoice-wrap {
  margin-top: 8rem !important;
}

.requirements-modal .requirements-modal-body .rank-about-wrap {
  margin-top: -9.6rem !important;
}

.requirements-modal .requirements-modal-body .requirements-modal-cta {
  display: flex;
  justify-content: center;
  margin: 8rem auto 4rem;
}

.requirements-modal .requirements-modal-body .requirements-modal-cta .cta-button {
  width: 100%;
  max-width: 36rem;
  min-height: 6.4rem;
  padding: 2rem 3rem !important;
  font-size: 1.9rem !important;
  letter-spacing: .15em !important;
  font-weight: 600 !important;
  text-align: center;
  box-shadow: 0 1rem 2.4rem rgba(121, 164, 118, .35) !important;
}

.rank-invoice-tab {
  font-size: 1.05rem;
  padding: .5rem .9rem .4rem;
  border: 1px solid rgba(54, 69, 58, .25);
  background: rgba(255, 255, 255, .5);
  color: var(--black2);
  border-radius: 999px;
  cursor: pointer;
  letter-spacing: .06em;
  line-height: 1;
  font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.rank-invoice-tab:hover {
  background: rgba(255, 255, 255, .85);
  color: var(--black);
}

.rank-invoice-tab.is-active {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}

.rank-invoice-panel {
  display: none;
}

.rank-invoice-panel.is-active {
  display: block;
}

.store-other-slider-container.your-slider-container {
  margin: 4rem 0 4rem !important;
}

.about-collage {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 2.0;
  margin: 4rem auto 6rem;
  max-width: 44rem;
}

.about-collage-img {
  position: absolute;
  border-radius: .4rem;
  object-fit: cover;
  display: block;
  box-shadow: 0 1.6rem 3.2rem rgba(54, 69, 58, .12), 0 .4rem .8rem rgba(54, 69, 58, .06);
}

.about-collage .about-collage-img:nth-child(1) {
  top: 0;
  left: 0;
  width: 66%;
  aspect-ratio: 3 / 4;
  z-index: 2;
}

.about-collage .about-collage-img:nth-child(2) {
  top: 22%;
  right: 0;
  width: 46%;
  aspect-ratio: 3 / 4;
  z-index: 3;
}

.about-collage .about-collage-img:nth-child(3) {
  bottom: 7%;
  left: 0;
  width: 62%;
  aspect-ratio: 3 / 4;
  z-index: 3;
}

.about-collage .about-collage-img:nth-child(4) {
  bottom: 0;
  right: 2%;
  width: 56%;
  aspect-ratio: 3 / 4;
  z-index: 2;
}

.about-collage .about-collage-img:nth-child(1) {
  transition-delay: 0s !important;
}

.about-collage .about-collage-img:nth-child(2) {
  transition-delay: .25s !important;
}

.about-collage .about-collage-img:nth-child(3) {
  transition-delay: .5s !important;
}

.about-collage .about-collage-img:nth-child(4) {
  transition-delay: .75s !important;
}

/* 渋谷店コンセプト内のコラージュ（.about-collage と同じレイアウト） */
.shibuya-collage {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 2.0;
  margin: 4rem auto 2rem;
  max-width: 44rem;
}

.shibuya-collage-img {
  position: absolute;
  border-radius: .4rem;
  object-fit: cover;
  display: block;
  box-shadow: 0 1.6rem 3.2rem rgba(54, 69, 58, .22), 0 .4rem .8rem rgba(0, 0, 0, .18);
}

.shibuya-collage .shibuya-collage-img:nth-child(1) {
  top: 0;
  left: 0;
  width: 66%;
  aspect-ratio: 3 / 4;
  z-index: 2;
  transition-delay: 0s !important;
}

.shibuya-collage .shibuya-collage-img:nth-child(2) {
  top: 22%;
  right: 0;
  width: 46%;
  aspect-ratio: 3 / 4;
  z-index: 3;
  transition-delay: .25s !important;
}

.shibuya-collage .shibuya-collage-img:nth-child(3) {
  bottom: 10%;
  left: 0;
  width: 62%;
  aspect-ratio: 3 / 4;
  z-index: 3;
  transition-delay: .5s !important;
}

.shibuya-collage .shibuya-collage-img:nth-child(4) {
  bottom: 5%;
  right: 2%;
  width: 56%;
  aspect-ratio: 3 / 4;
  z-index: 3;
  transition-delay: .75s !important;
}

.full-nav .nav-aurora,
.full-nav .nav-beam,
.full-nav .nav-beam-2,
.full-nav .nav-sweep {
  display: none !important;
  animation: none !important;
  opacity: 0 !important;
}

.full-nav .nav-rain {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: 0 !important;
  opacity: 0;
  transition: opacity .35s ease;
}

.full-nav.is-open .nav-rain {
  opacity: 1;
}

.full-nav .nav-rain .rain-drop {
  position: absolute;
  top: 0;
  left: var(--left, 50%);
  width: 1px;
  height: var(--length, 18px);
  background: linear-gradient(180deg, rgba(120, 145, 165, 0) 0%, rgba(120, 145, 165, var(--opacity, .5)) 100%);
  transform: translateY(-20dvh);
  animation: navRainFall var(--duration, 1.2s) linear var(--delay, 0s) infinite;
  animation-play-state: paused;
  will-change: transform;
}

.full-nav.is-open .nav-rain .rain-drop {
  animation-play-state: running;
}

@keyframes navRainFall {
  0% {
    transform: translateY(-20dvh);
  }

  100% {
    transform: translateY(120dvh);
  }
}

@media (prefers-reduced-motion:reduce) {
  .full-nav .nav-rain .rain-drop {
    animation: none !important;
  }
}

.page-message .fade {
  opacity: 0;
  transform: translateY(1.5rem);
  filter: none !important;
  transition: opacity .9s ease-out, transform 1s cubic-bezier(.22, 1, .36, 1) !important;
  will-change: opacity, transform;
}

.page-message .fade.is-animated {
  opacity: 1;
  transform: translateY(0);
  filter: none !important;
}

.page-message .rogo-box,
.page-message .store-gallery-box {
  transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}

@media (hover:hover) and (pointer:fine) {

  .page-message .rogo-box:hover,
  .page-message .store-gallery-box:hover {
    transform: translateY(-.2rem);
  }
}

@media (prefers-reduced-motion:reduce) {

  .page-message .fade,
  .page-message .fade.is-animated {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* =============================================
     記事・コラム CMS本文（page-column 内 タグ選択）
     .single-column-wrap の直下に生 HTML が入る前提
     （関連記事 .other-column には影響させない）
     ============================================= */

  /* レイアウト：CMS用はブロック流し込み。既存の静的セクションは margin で余白を担保 */
  .page-column .single-column-wrap,
  .page-column .single-voice-wrap {
    display: block;
    gap: 0;
  }
  .page-column .single-column-wrap>.single-column-box,
  .page-column .single-voice-wrap>.single-column-box,
  .page-column .single-column-wrap>.single-column-voice,
  .page-column .single-voice-wrap>.single-column-voice {
    margin-bottom: 8rem;
  }
  .page-column .single-column-wrap>.single-column-box:last-child,
  .page-column .single-voice-wrap>.single-column-box:last-child,
  .page-column .single-column-wrap>.single-column-voice:last-child,
  .page-column .single-voice-wrap>.single-column-voice:last-child {
    margin-bottom: 0;
  }

  /* 段落 */
  .page-column .single-column-wrap>p,
  .page-column .single-voice-wrap>p {
    margin: 0 0 2.4rem;
    font-size: 1.4rem;
    line-height: 2;
    color: var(--black);
  }
  .page-column .single-column-wrap>p:last-child,
  .page-column .single-voice-wrap>p:last-child {
    margin-bottom: 0;
  }

  /* 見出し h2（既存の .single-column-wrap h2 装飾を継承しつつ CMS 用に余白追加） */
  .page-column .single-column-wrap>h2 {
    margin-top: 6rem;
  }
  .page-column .single-column-wrap>h2:first-child {
    margin-top: 0;
  }

  /* 見出し h3（既存装飾を継承しつつ余白追加） */
  .page-column .single-column-wrap>h3,
  .page-column .single-voice-wrap>h3 {
    margin-top: 4rem;
  }

  /* 見出し h4 / h5 / h6 */
  .page-column .single-column-wrap>h4,
  .page-column .single-voice-wrap>h4 {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--green);
    margin: 3rem 0 1.2rem;
    padding-bottom: .6rem;
    border-bottom: .15rem solid rgba(121, 164, 118, .5);
    line-height: 1.5;
  }
  .page-column .single-column-wrap>h5,
  .page-column .single-voice-wrap>h5 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--black);
    margin: 2.4rem 0 1rem;
    padding-left: .8rem;
    border-left: .3rem solid var(--green);
    line-height: 1.5;
  }
  .page-column .single-column-wrap>h6,
  .page-column .single-voice-wrap>h6 {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--black2);
    margin: 2rem 0 .8rem;
    line-height: 1.5;
  }

  /* 画像 */
  .page-column .single-column-wrap>p img,
  .page-column .single-voice-wrap>p img,
  .page-column .single-column-wrap>img,
  .page-column .single-voice-wrap>img,
  .page-column .single-column-wrap>figure img,
  .page-column .single-voice-wrap>figure img {
    max-width: 100%;
    height: auto;
    margin: 2rem 0;
    border-radius: 1rem;
    display: block;
  }

  /* 箇条書き（ul）— 現行 .list デザインを踏襲 */
  .page-column .single-column-wrap>ul,
  .page-column .single-voice-wrap>ul {
    list-style: none;
    padding: 1.6rem 2rem;
    margin: 0 0 2.4rem;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .4) 100%);
    backdrop-filter: blur(1.2rem) saturate(180%);
    -webkit-backdrop-filter: blur(1.2rem) saturate(180%);
    border: .1rem solid rgba(255, 255, 255, .8);
    border-radius: 1.4rem;
    box-shadow: 0 .8rem 2.4rem rgba(0, 0, 0, .05);
  }
  .page-column .single-column-wrap>ul::before,
  .page-column .single-voice-wrap>ul::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 12rem;
    height: 12rem;
    background: radial-gradient(circle at top right, rgba(140, 178, 138, .22) 0%, transparent 70%);
    pointer-events: none;
  }
  .page-column .single-column-wrap ul li,
  .page-column .single-voice-wrap ul li {
    list-style: none;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.65;
    padding: 1.1rem 0 1.1rem 2.8rem;
    border-bottom: .1rem solid rgba(121, 164, 118, .2);
    color: var(--black);
  }
  .page-column .single-column-wrap ul li:last-child,
  .page-column .single-voice-wrap ul li:last-child {
    border-bottom: none;
  }
  .page-column .single-column-wrap ul li::after,
  .page-column .single-voice-wrap ul li::after {
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 1.4rem;
    box-shadow: 0 .2rem .5rem rgba(121, 164, 118, .35);
  }
  .page-column .single-column-wrap ul li::before,
  .page-column .single-voice-wrap ul li::before {
    content: "";
    position: absolute;
    left: .45rem;
    top: 1.95rem;
    width: .7rem;
    height: .35rem;
    border-left: .18rem solid #fff;
    border-bottom: .18rem solid #fff;
    transform: rotate(-45deg);
    z-index: 1;
  }

  /* ネスト ul */
  .page-column .single-column-wrap ul ul,
  .page-column .single-voice-wrap ul ul {
    list-style: none;
    margin: 1rem 0 0;
    padding: .6rem 1.2rem;
    border-radius: .8rem;
    background: rgba(255, 255, 255, .5);
    border: .1rem dashed rgba(121, 164, 118, .3);
    box-shadow: none;
    overflow: visible;
  }
  .page-column .single-column-wrap ul ul::before,
  .page-column .single-voice-wrap ul ul::before {
    display: none;
  }
  .page-column .single-column-wrap ul ul li,
  .page-column .single-voice-wrap ul ul li {
    font-size: 1.3rem;
    padding: .5rem 0 .5rem 2rem;
    border-bottom: .1rem dotted rgba(121, 164, 118, .25);
  }
  .page-column .single-column-wrap ul ul li::after,
  .page-column .single-voice-wrap ul ul li::after {
    width: 1rem;
    height: 1rem;
    top: 1rem;
    background: var(--green);
    box-shadow: none;
  }
  .page-column .single-column-wrap ul ul li::before,
  .page-column .single-voice-wrap ul ul li::before {
    width: .5rem;
    height: .25rem;
    left: .25rem;
    top: 1.4rem;
    border-left-width: .12rem;
    border-bottom-width: .12rem;
  }

  /* 順序付きリスト（ol）— 番号スタイル */
  .page-column .single-column-wrap>ol,
  .page-column .single-voice-wrap>ol {
    list-style: none;
    counter-reset: col-ol;
    padding: 0;
    margin: 0 0 2.4rem;
    border-top: .1rem solid rgba(121, 164, 118, .25);
  }
  .page-column .single-column-wrap ol li,
  .page-column .single-voice-wrap ol li {
    counter-increment: col-ol;
    list-style: none;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.6;
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
    padding: 1.2rem .6rem;
    border-bottom: .1rem solid rgba(121, 164, 118, .25);
    color: var(--black);
  }
  .page-column .single-column-wrap ol li::before,
  .page-column .single-voice-wrap ol li::before {
    content: counter(col-ol, decimal-leading-zero) ".";
    font-family: "Cardo", "Zen Old Mincho", serif;
    font-style: italic;
    font-weight: 400;
    font-size: 2.2rem;
    letter-spacing: .05em;
    min-width: 4.4rem;
    flex-shrink: 0;
    text-align: center;
    line-height: 1.3;
    background: linear-gradient(135deg, var(--green) 0%, var(--green2) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--green);
  }

  /* ネスト ol（アルファベット） */
  .page-column .single-column-wrap ol ol,
  .page-column .single-voice-wrap ol ol {
    counter-reset: col-ol-nest;
    border-top: none;
    border-left: .1rem dashed rgba(121, 164, 118, .3);
    margin: 1rem 0 0 4rem;
    padding: 0 0 0 1rem;
    flex-basis: 100%;
  }
  .page-column .single-column-wrap ol ol li,
  .page-column .single-voice-wrap ol ol li {
    counter-increment: col-ol-nest;
    font-size: 1.3rem;
    padding: .6rem;
    border-bottom: .1rem dotted rgba(121, 164, 118, .25);
  }
  .page-column .single-column-wrap ol ol li::before,
  .page-column .single-voice-wrap ol ol li::before {
    content: counter(col-ol-nest, lower-alpha) ".";
    font-size: 1.6rem;
    min-width: 3rem;
  }
  .page-column mark{
    background: linear-gradient(180deg, #e5eee500 55%, #7ea87b61 70%) !important;
  }
  .page-column font{
    color: var(--green) !important;
  }
.page-column .single-column-wrap table tbody th,
.page-column .single-voice-wrap table tbody th{
  font-size: 1.45rem
}
  /* テーブル（.table-wrap ラッパー無しの CMS 出力に対応） */
  .page-column .single-column-wrap table,
  .page-column .single-voice-wrap table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 1.3rem;
    line-height: 1.7;
    margin: 2rem 0;
    border-radius: .6rem;
    overflow: hidden;
    box-shadow: 0 .2rem .8rem rgba(0, 0, 0, .05);
    font-family: "FOT-ニューセザンヌ ProN M", "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
    table-layout: auto;
  }
  .page-column .single-column-wrap table caption,
  .page-column .single-voice-wrap table caption {
    padding: .6rem 0 1rem;
    font-size: 1.4rem;
    color: var(--black2);
    text-align: left;
    caption-side: bottom;
  }
  .page-column .single-column-wrap table th,
  .page-column .single-voice-wrap table th,
  .page-column .single-column-wrap table td,
  .page-column .single-voice-wrap table td {
    padding: 1.2rem 1.4rem;
    border: 1px solid rgba(0, 0, 0, .08);
    text-align: left;
    vertical-align: top;
    letter-spacing: .03em;
    word-break: break-word;
  }
  /* 1行目の th をヘッダ扱い */
  .page-column .single-column-wrap table thead th,
  .page-column .single-voice-wrap table thead th,
  .page-column .single-column-wrap table tr:first-child th,
  .page-column .single-voice-wrap table tr:first-child th {
    background: var(--green);
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-weight: 500;
    letter-spacing: .06em;
    font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  }
  /* 2行目以降の左端 th（サイドヘッダ） */
  .page-column .single-column-wrap table tbody th,
  .page-column .single-voice-wrap table tbody th,
  .page-column .single-column-wrap table tr:not(:first-child)>th:first-child,
  .page-column .single-voice-wrap table tr:not(:first-child)>th:first-child {
    background: #f4f7f2;
    color: var(--green);
    font-weight: 500;
    font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  }
  .page-column .single-column-wrap table td,
  .page-column .single-voice-wrap table td {
    color: var(--black);
  }
  .page-column .single-column-wrap table tbody tr:nth-child(even) td,
  .page-column .single-voice-wrap table tbody tr:nth-child(even) td,
  .page-column .single-column-wrap table tr:nth-child(even):not(:first-child) td,
  .page-column .single-voice-wrap table tr:nth-child(even):not(:first-child) td {
    background: #fafaf7;
  }
  .page-column .single-column-wrap table tbody tr:hover td,
  .page-column .single-voice-wrap table tbody tr:hover td,
  .page-column .single-column-wrap table tr:hover td,
  .page-column .single-voice-wrap table tr:hover td {
    background: #f0f5ec;
  }

  /* 引用 blockquote */
  .page-column .single-column-wrap blockquote,
  .page-column .single-voice-wrap blockquote {
    position: relative;
    margin: 3rem 0 .8rem;
    padding: 2.4rem 2.4rem 2.4rem 5rem;
    font-size: 1.4rem;
    line-height: 2;
    color: var(--black);
    background: linear-gradient(135deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .4) 100%);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    border-left: .4rem solid var(--green);
    border-radius: 0 1rem 1rem 0;
    box-shadow: 0 .6rem 1.6rem rgba(0, 0, 0, .04);
    font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
  }
  .page-column .single-column-wrap blockquote::before,
  .page-column .single-voice-wrap blockquote::before {
    content: "”";
    position: absolute;
    top: 1.2rem;
    left: 1.4rem;
    font-family: "Cardo", "Zen Old Mincho", serif;
    font-size: 5rem;
    line-height: 1;
    color: var(--green);
    opacity: .45;
  }
  .page-column .single-column-wrap blockquote p,
  .page-column .single-voice-wrap blockquote p {
    margin: 0 0 1.2rem;
    font-size: 1.4rem;
    line-height: 2;
  }
  .page-column .single-column-wrap blockquote p:last-child,
  .page-column .single-voice-wrap blockquote p:last-child {
    margin-bottom: 0;
  }

  /* 引用元 cite */
  .page-column .single-column-wrap cite,
  .page-column .single-voice-wrap cite {
    display: block;
    margin: 0 0 3rem;
    font-size: 1.2rem;
    font-style: normal;
    color: var(--black2);
    text-align: right;
    letter-spacing: .05em;
  }
  .page-column .single-column-wrap cite::before,
  .page-column .single-voice-wrap cite::before {
    content: "— ";
    color: var(--green);
  }

  /* インライン装飾 */
  .page-column .single-column-wrap mark,
  .page-column .single-voice-wrap mark {
    background: linear-gradient(180deg, transparent 55%, rgba(254, 240, 138, .7) 55%);
    padding: 0 .2rem;
    color: inherit;
  }
  .page-column .single-column-wrap b,
  .page-column .single-voice-wrap b,
  .page-column .single-column-wrap strong,
  .page-column .single-voice-wrap strong {
    font-weight: 700;
    color: var(--black);
  }
  .page-column .single-column-wrap a,
  .page-column .single-voice-wrap a {
    color: var(--green);
    text-decoration: underline;
    text-underline-offset: .3rem;
    text-decoration-thickness: .1rem;
    transition: opacity .2s ease;
  }
  .page-column .single-column-wrap a:hover,
  .page-column .single-voice-wrap a:hover {
    opacity: .7;
  }
  /* CMS が出力する font タグ（inline color を尊重） */
  .page-column .single-column-wrap font,
  .page-column .single-voice-wrap font {
    font-family: inherit;
  }
  /* hr 区切り */
  .page-column .single-column-wrap hr,
  .page-column .single-voice-wrap hr {
    border: 0;
    height: .1rem;
    background: linear-gradient(90deg, transparent, rgba(121, 164, 118, .5), transparent);
    margin: 4rem 0;
  }
  /* 関連記事なし表示 */
  .page-column .page-column-empty {
    text-align: center;
    color: var(--black2);
    font-size: 1.4rem;
    padding: 4rem 0;
  }

.privacy-modal {
  position: fixed;
  inset: 0;
  z-index: 100010;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, visibility 0s .25s;
}

.privacy-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity .25s ease, visibility 0s;
}

.privacy-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(54, 69, 58, .7);
}

.privacy-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 64rem);
  max-height: calc(100vh - 4rem);
  max-height: calc(100dvh - 4rem);
  overflow-y: auto;
  padding: 4.8rem 4rem 4rem;
  border-radius: 1.6rem;
  background: #fff;
  box-shadow: 0 1.6rem 4rem rgba(0, 0, 0, .18);
  overscroll-behavior: contain;
}

.privacy-modal-close {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  padding: 0 0 .3rem;
  border: 0;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  cursor: pointer;
}

.privacy-modal-content h2 {
  margin: 0 0 2.4rem;
  color: var(--green);
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-align: center;
}

.privacy-modal-content p,
.privacy-modal-content li {
  color: var(--black);
  font-size: 1.4rem;
  line-height: 1.9;
  letter-spacing: .04em;
}

.privacy-modal-content p {
  margin: 0 0 2rem;
}

.privacy-modal-content p:last-child {
  margin-bottom: 0;
}

.privacy-modal-content ul {
  margin: 0 0 2rem;
  padding-left: 2.2rem;
}

.privacy-modal-content li {
  list-style: disc;
}

.privacy-modal-content a {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: .2em;
}

body.privacy-modal-open {
  overflow: hidden;
}

@media (max-width: 600px) {
  .privacy-modal {
    padding: 1.2rem;
  }

  .privacy-modal-dialog {
    max-height: calc(100vh - 2.4rem);
    max-height: calc(100dvh - 2.4rem);
    padding: 4.8rem 2rem 3.2rem;
  }

  .privacy-modal-content h2 {
    font-size: 2rem;
  }
}




.cta .flex {
  display: none;
}

/* ---------- Footer SNS icons ---------- */
.footer-sns {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.9rem;
  margin: 1rem auto 0;
  padding-top: 0.75rem;
  text-align: center;
}
.footer-sns-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: inherit;
  transition: opacity 0.2s ease, transform 0.2s ease;
  text-decoration: none;
}
.footer-sns-link:hover {
  opacity: 0.7;
  transform: translateY(-1px);
}
.footer-sns-link svg {
  width: 32px;
  height: 32px;
  display: block;
}

.message .button {
  margin-top: 4rem !important;
  margin-bottom: 2rem !important;
}

.news .button {
  margin-bottom: 2rem !important;
}

.full-nav .has-sub > a {
  pointer-events: none;
  cursor: default;
}

/* Footer logo — same "採用サイト" label as .logo-top::after */
.footer-top .sec_inner > a:has(> .footer-logo) {
  display: block;
  width: 20rem;
  margin: 0 auto;
  text-align: center;
}
.footer-top .sec_inner > a:has(> .footer-logo) .footer-logo {
  display: block;
}
.footer-top .sec_inner > a:has(> .footer-logo)::after {
  content: "採用サイト";
  display: block;
  box-sizing: border-box;
  width: 95%;
  margin: .4rem 0 0;
  margin-left: 2%;
  padding: .4rem .8rem .6rem;
  background: var(--black2);
  color: #fff;
  font-size: 1.5rem;
  letter-spacing: .25em;
  text-indent: .25em;
  text-align: center;
  font-weight: 500;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
}

/* Footer service-site banner — transparent style based on .button */
.footer-service-banner {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 1.5rem auto 0;
  padding: 1.3rem 3rem 1.3rem 1.6rem;
  background: rgba(255, 255, 255, .25);
  color: var(--green) !important;
  text-align: center;
  border-radius: 6px;
  border: 1.5px solid #fff;
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-decoration: none;
  position: relative;
  transition: background .3s ease, transform .2s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .04);
}
.footer-service-banner:hover {
  background: rgba(255, 255, 255, .4);
  transform: translateY(-1px);
}
.footer-service-banner::after {
  content: "→";
  position: absolute;
  right: 1.3rem;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 300;
  font-size: 1.4rem;
  opacity: .85;
  transition: transform .2s ease;
}
.footer-service-banner:hover::after {
  transform: translateY(-50%) translateX(3px);
}

.section {
  margin-top: -5px;
}

/* Header external link — 他の nav 項目と同じ黒文字、末尾に外部リンク用 SVG（四角＋矢印）*/
.header-service-link a {
  display: inline-flex;
  align-items: center;
  gap: .4em;
}
.header-service-link .ext-icon {
  flex-shrink: 0;
  opacity: .65;
  transform: translateY(-1px);
}
.pc-header .header-service-link .ext-icon {
  width: 16px;
  height: 16px;
  transform: translateY(2px);
}
.header-service-link a:hover .ext-icon {
  opacity: 1;
}


.single-voice-wrap section{
  margin-bottom: 8rem;
}
.single-voice-wrap section:last-of-type{
  margin-bottom: 0;
}
.single-voice-wrap h2{
  text-align: left;
}
.single-voice-wrap p{
  margin-bottom: 2rem;
}
.voice-date{
  font-size: 1.15rem !important;
}
.single-voice{
  margin-top: -10rem;
}
