.fv {
  background: url(../img/top/fv_bg.png) no-repeat center center/cover;
  height: 100vh;
  min-height: 53.2vw;
  max-height: 100vw;
  position: relative;
  z-index: 0;
}
@media (max-width: 768px) {
  .fv {
    max-height: inherit;
    height: auto;
  }
}
.fv:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #7ED8F7;
  opacity: 0.12;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
}
.fv__inner {
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 768px) {
  .fv__inner {
    padding-bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media (max-width: 768px) {
  .fv__contents {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    width: 100%;
  }
}
.fv__title {
  width: clamp(200px, 37.847222vw, 545px);
  margin-bottom: 6.25em;
}
@media (max-width: 768px) {
  .fv__title {
    width: 310px;
    margin: -1em auto 0;
  }
}
.fv__lead {
  font-size: 1.5625em;
  font-weight: bold;
  letter-spacing: 0.25em;
}
@media (max-width: 768px) {
  .fv__lead {
    font-size: 1.25em;
    letter-spacing: 0.25em;
    text-align: center;
  }
}
.fv__lead span {
  font-size: 1.28em;
  display: block;
  margin-top: 14px;
}
@media (max-width: 768px) {
  .fv__lead span {
    margin-top: 4px;
  }
}
.fv__image {
  position: absolute;
  bottom: -1px;
  right: -1px;
  z-index: -1;
  width: 43.6111vw;
  margin-right: calc(50% - 50vw);
}
@media (max-width: 768px) {
  .fv__image {
    margin-top: -2em;
    position: relative;
    bottom: inherit;
    left: 50%;
    right: inherit;
    z-index: 0;
    -webkit-transform: translateX(-45%);
            transform: translateX(-45%);
    margin-right: inherit;
    width: 134.667vw;
  }
}
.fv__image img {
  width: 100%;
}
.introduce {
  background: url(../img/top/introduce_bg.png) no-repeat center center/cover;
  color: #fff;
  position: relative;
  z-index: 0;
}
.introduce::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.27);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.about {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 3.5em;
}
@media (max-width: 768px) {
  .about {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-bottom: 2em;
  }
}
.about__contents {
  width: 33.8%;
}
@media (max-width: 768px) {
  .about__contents {
    width: 100%;
  }
}
.about__title {
  padding-top: 5em;
}
@media (max-width: 768px) {
  .about__title {
    padding-top: 1.5em;
    position: initial;
  }
}
.about__title-en {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
@media (max-width: 768px) {
  .about__title-en {
    -webkit-transform: inherit;
            transform: inherit;
    -webkit-transform: translate(6%, 72%);
            transform: translate(6%, 72%);
  }
}
@media (max-width: 768px) {
  .about__title-jp {
    text-align: left;
  }
}
.about__lead {
  margin-bottom: 1.375em;
}
.about__image {
  width: 59.138%;
  border-radius: 10px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .about__image {
    width: 90.769vw;
    margin-right: calc(50% - 50vw);
    border-radius: 10px 0 0 10px;
  }
}

.shop {
  position: relative;
  padding-top: 3.5em;
}
@media (max-width: 768px) {
  .shop {
    padding-top: 2em;
  }
}
.shop__upper {
  margin-bottom: 2.1875em;
}
@media (max-width: 768px) {
  .shop__upper {
    margin-bottom: 1.5em;
  }
}
.shop__title-en {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: translateX(120%);
          transform: translateX(120%);
}
@media (max-width: 768px) {
  .shop__title-en {
    -webkit-transform: translateY(-70%);
            transform: translateY(-70%);
  }
}
@media (max-width: 768px) {
  .shop__lead {
    text-align: center;
  }
}
.shop__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.4375em 4.375em;
  margin-bottom: 3.8125em;
}
@media (max-width: 1024px) {
  .shop__list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .shop__list {
    gap: 1.875em;
    margin-bottom: 2.1875em;
  }
}
.shop__item-cat {
  color: #000;
  background-color: #fff;
}
.shop__item-reserve {
  display: none;
}
.shop__btn {
  margin: 0 auto;
}
.shop__name {
  position: absolute;
  bottom: 3.1825em;
  right: 2.63889%;
}
@media (max-width: 768px) {
  .shop__name {
    display: none;
  }
}

.recruit {
  position: relative;
}
.recruit::before {
  content: "";
  display: block;
  width: 73.889vw;
  height: 100%;
  background-color: #7ED8F7;
  opacity: 0.23;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.recruit__title-en {
  font-size: 7.4375em;
  letter-spacing: 0.05em;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  -webkit-transform: translate(94%, 89%);
          transform: translate(94%, 89%);
}
@media (max-width: 1024px) {
  .recruit__title-en {
    font-size: 2.875em;
    -webkit-transform: translate(-50%, -70%);
            transform: translate(-50%, -70%);
    left: 50%;
  }
}
@media (max-width: 1024px) {
  .recruit__title-jp {
    text-align: center;
  }
}
.recruit__lead {
  margin-bottom: 2em;
}
@media (max-width: 1024px) {
  .recruit__lead {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .recruit__lead {
    margin-bottom: 1em;
  }
}
.recruit__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media (max-width: 768px) {
  .recruit__list {
    gap: 1.875em;
  }
}
.recruit__item {
  width: 60.0862%;
}
@media (max-width: 768px) {
  .recruit__item {
    width: 100%;
  }
}
.recruit__item:first-child {
  padding-right: 53px;
  margin-bottom: 4em;
}
@media (max-width: 768px) {
  .recruit__item:first-child {
    padding-right: 0;
    margin-bottom: 0;
  }
}
@media (max-width: 768px) {
  .recruit__item:first-child .recruit__item-img {
    margin-left: calc(50% - 50vw);
  }
}
.recruit__item:nth-child(2) {
  width: 35.862%;
  position: absolute;
  right: 0;
  top: 13%;
}
@media (max-width: 768px) {
  .recruit__item:nth-child(2) {
    position: initial;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .recruit__item:nth-child(2) img {
    -o-object-position: top;
       object-position: top;
    aspect-ratio: 354/389;
  }
}
.recruit__item-img {
  margin-bottom: 1.25em;
}
@media (max-width: 768px) {
  .recruit__item-img {
    margin-bottom: 0.625em;
    width: 90.76923vw;
  }
}
@media (max-width: 768px) {
  .recruit__item-img img {
    aspect-ratio: 354/230;
  }
}
.recruit__item-title {
  font-size: 1.5625em;
  letter-spacing: 0.19em;
  font-weight: 600;
  line-height: 1.44;
  margin-bottom: 0.875rem;
}
@media (max-width: 768px) {
  .recruit__item-title {
    font-size: 1.125em;
    margin-bottom: 0.625rem;
  }
}
.recruit__item-title .num {
  color: #7ED8F7;
}
.recruit__item-text {
  letter-spacing: 0.17em;
  line-height: 2.2857;
  max-width: 602px;
}
@media (max-width: 768px) {
  .recruit__item-text {
    line-height: 2;
  }
}

.voice {
  background: url(../img/top/voice_bg.png) no-repeat center center/cover;
  color: #fff;
  position: relative;
  z-index: 0;
}
.voice::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.27);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 768px) {
  .voice__title {
    margin-bottom: 1.25em;
  }
}
.voice__title-en {
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transform: translate(0.35em, -19%);
          transform: translate(0.35em, -19%);
  font-size: 7.4375em;
  letter-spacing: 0.05em;
  z-index: 1;
}
@media (max-width: 768px) {
  .voice__title-en {
    font-size: 2.875em;
    -webkit-transform: translate(50%, -70%);
            transform: translate(50%, -70%);
    right: 50%;
  }
}
.voice__item {
  background-color: rgba(255, 255, 255, 0.29);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 2.5926%;
  padding: 2em 2.5em;
}
@media (max-width: 768px) {
  .voice__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.25em 1.6875em;
  }
}
.voice__item:nth-child(n+2) {
  margin-top: 2.875em;
}
@media (max-width: 768px) {
  .voice__item:nth-child(n+2) {
    margin-top: 1.875em;
  }
}
.voice__item-img {
  width: 27.778%;
}
@media (max-width: 768px) {
  .voice__item-img {
    width: 100%;
    margin-bottom: 0.625em;
  }
}
.voice__item-contents {
  width: 62.222%;
}
@media (max-width: 768px) {
  .voice__item-contents {
    width: 100%;
  }
}
.voice__item-address {
  font-size: 0.8125em;
  letter-spacing: 0.12em;
  line-height: 1.4615;
  margin-bottom: 1.3em;
}
.voice__item-title {
  font-size: 1.25em;
  font-weight: 600;
  letter-spacing: 0.19em;
  margin-bottom: 1em;
}
@media (max-width: 768px) {
  .voice__item-title {
    font-size: 1em;
    margin-bottom: 0.75em;
  }
}
.voice__item-text {
  font-size: 0.875em;
  letter-spacing: 0.17em;
  line-height: 2.5;
}
@media (max-width: 768px) {
  .voice__item-text {
    line-height: 2;
  }
}

.column {
  position: relative;
  z-index: 0;
}
.column::before {
  content: "";
  display: block;
  width: 100%;
  height: 52.43%;
  background-color: #7ED8F7;
  opacity: 0.11;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.column__inner {
  padding-bottom: 4em;
}
.column__title {
  margin-bottom: 2.1875em;
}
@media (max-width: 768px) {
  .column__title {
    margin-bottom: 1.5em;
  }
}
.column__title-en {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 4.875em;
}
@media (max-width: 768px) {
  .column__title-en {
    font-size: 2.875em;
    left: 50%;
    letter-spacing: 0.05em;
    top: 0;
    -webkit-transform: translate(-50%, -60%);
            transform: translate(-50%, -60%);
  }
}
.column__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.625em 2.25em;
  margin-bottom: 2.125em;
}
@media (max-width: 1024px) {
  .column__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .column__list {
    grid-template-columns: 1fr;
    gap: 1.5em;
    margin-bottom: 1.75em;
  }
}
.column__btn {
  margin: 0 auto;
}