@charset "UTF-8";
/*
Theme Name: Scarelay
*/
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1&display=swap");
:root {
  --gold-gradation: linear-gradient( 180deg, rgb(183,150,113) 0%, rgb(188,162,113) 30%, rgb(255,243,220) 70%, rgb(176,141,104) 100%);
  --gold-text:#5e4c0c;
  --gold-border:#b79671;
  --black:#000;
  --white:#fff;
  --blue1:#455993;
  --blue2:#2e3c63;
  --blue3:#f4fafb;
  --blue-gradation:linear-gradient( 180deg, rgba(46,60,99,0.99608) 0%, rgb(69,89,147) 100%);
  --yellow1:#be9d28;
  --yellow2:#c9ae1c;
  --yellow3:#5e4c0c;
  --yellow4:#fcf8ed;
  --yellow5:#faf8f2;
  --yellow6:#e6c74a;
  --gray1:#686868;
  --gray2:#343434;
  --boac1:#eca821;
  --boac2:#332613;
  --brown1:#ac6724;
  --red-transparent:rgba(235,209,209,.27);
  --red1:#802a38;
  --red2:#fdf1f6;
  --red3:#f3d5da;
  --green1:#7b7700;
  --green2:#f0f8ec;
  --marginL:clamp(30px,5vw,80px);
  --marginM:clamp(25px,4.5vw,60px);
  --marginS:clamp(20px,3.5vw,40px);
  --qIcon:#e6c74a;
  --qBody:#fffad4;
  --aIcon:#455993;
  --aBody:#e3ebff;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-size: 100%;
  font-style: normal;
}

html {
  scroll-behavior: smooth;
  background: var(--white);
}
@media screen and (max-width: 767px) {
  html {
    padding-bottom: 50px;
  }
}

body {
  overflow-wrap: anywhere;
  line-break: strict;
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
  line-height: 1;
  color: var(--black);
  -webkit-text-size-adjust: 100%;
  background: var(--white);
  padding-bottom: env(safe-area-inset-bottom);
}
body.is-locked {
  overflow: hidden;
}
body:not(.home) {
  background: linear-gradient(rgba(255, 255, 255, 0) 0, rgb(255, 255, 255) 49vw), url(assets/img/bg_1.webp) no-repeat top center/100% 50vw, var(--white);
  padding-top: 150px;
}
@media screen and (max-width: 767px) {
  body:not(.home) {
    padding-top: 80px;
  }
}

h1, h2, h3, h4, h5, th, dt {
  font-weight: normal;
}

table {
  border-collapse: collapse;
}

th, td {
  text-align: left;
}

li {
  list-style-type: none;
}

img {
  border: none;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
}

button {
  cursor: pointer;
  border: none;
  background: none;
  appearance: none;
  color: inherit;
  font-weight: inherit;
  line-height: 1;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  display: flex;
  column-gap: 20px;
  padding-bottom: 10px;
  transition: 0.5s;
}
@media screen and (max-width: 767px) {
  .header {
    position: absolute;
  }
}
.header.is-start {
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
  text-shadow: 0 0px 2px rgb(255, 255, 255);
}
@media screen and (max-width: 767px) {
  .header.is-start {
    background: none;
    box-shadow: none;
    text-shadow: none;
  }
}
.header_logo {
  flex-shrink: 0;
  margin-top: 20px;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .header_logo {
    margin-top: 15px;
    margin-left: 10px;
  }
}
.header_logo_inner {
  display: flex;
  flex-direction: column;
  row-gap: 5px;
  justify-content: center;
  text-decoration: none;
}
.header_logo_img {
  width: 181px;
}
@media screen and (max-width: 767px) {
  .header_logo_img {
    width: 120px;
  }
}
.header_logo_text {
  display: block;
  color: var(--blue2);
  font-size: 16px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .header_logo_text {
    font-size: 10px;
  }
}
.header_nav {
  margin-top: 40px;
  flex-grow: 1;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .header_nav {
    display: none;
  }
}
.header_nav_list {
  display: inline-flex;
  flex-wrap: wrap;
  row-gap: 10px;
}
.header_nav_list a {
  text-decoration: none;
  display: inline-block;
  margin: 0 15px;
  position: relative;
  transition: 0.6s;
}
.header_nav_list a::before, .header_nav_list a::after {
  position: absolute;
  top: calc(50% - 6px);
  content: "";
  width: 4px;
  height: 13px;
  display: block;
  background: url("assets/img/nav_deco.svg") no-repeat center center/contain;
  opacity: 0;
  transition: 0.6s;
}
.header_nav_list a::before {
  left: -5px;
}
.header_nav_list a::after {
  right: -5px;
  transform: scaleX(-1);
}
@media (hover: hover) {
  .header_nav_list a:hover {
    color: var(--yellow3);
  }
  .header_nav_list a:hover::before {
    left: -10px;
    opacity: 1;
  }
  .header_nav_list a:hover::after {
    right: -10px;
    opacity: 1;
  }
}
.menu .header_nav_list a[href*=menu] {
  color: var(--yellow3);
}
.menu .header_nav_list a[href*=menu]::before {
  left: -10px;
  opacity: 1;
}
.menu .header_nav_list a[href*=menu]::after {
  right: -10px;
  opacity: 1;
}
.reservation .header_nav_list a[href*=reservation] {
  color: var(--yellow3);
}
.reservation .header_nav_list a[href*=reservation]::before {
  left: -10px;
  opacity: 1;
}
.reservation .header_nav_list a[href*=reservation]::after {
  right: -10px;
  opacity: 1;
}
.qa .header_nav_list a[href*=qa] {
  color: var(--yellow3);
}
.qa .header_nav_list a[href*=qa]::before {
  left: -10px;
  opacity: 1;
}
.qa .header_nav_list a[href*=qa]::after {
  right: -10px;
  opacity: 1;
}
.access .header_nav_list a[href*=access] {
  color: var(--yellow3);
}
.access .header_nav_list a[href*=access]::before {
  left: -10px;
  opacity: 1;
}
.access .header_nav_list a[href*=access]::after {
  right: -10px;
  opacity: 1;
}
.recruit .header_nav_list a[href*=recruit] {
  color: var(--yellow3);
}
.recruit .header_nav_list a[href*=recruit]::before {
  left: -10px;
  opacity: 1;
}
.recruit .header_nav_list a[href*=recruit]::after {
  right: -10px;
  opacity: 1;
}
.school .header_nav_list a[href*=school] {
  color: var(--yellow3);
}
.school .header_nav_list a[href*=school]::before {
  left: -10px;
  opacity: 1;
}
.school .header_nav_list a[href*=school]::after {
  right: -10px;
  opacity: 1;
}
.header_contact {
  display: flex;
  column-gap: 10px;
  margin-right: 10px;
}
@media screen and (max-width: 1024px) {
  .header_contact {
    margin-right: 80px;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .header_contact {
    display: none;
  }
}
.header_button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 5px;
  width: min(16vw, 220px);
  height: 80px;
  border-radius: 0 0 15px 15px;
  box-shadow: 0px -9px 29px 0px rgba(0, 0, 0, 0.43);
  background: var(--gold-gradation);
  background-size: 100% 120%;
  border: 1px solid var(--gold-border);
  color: var(--gold-text);
  font-size: 20px;
  font-weight: 500;
  text-shadow: 0 -2px 0 rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: 0.3s;
}
@media (hover: hover) {
  .header_button:hover {
    background-position: center -30%;
    text-shadow: 0 -3px 0 rgba(255, 255, 255, 0.6);
    transform: translateY(1px);
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.43);
  }
}
@media screen and (max-width: 1024px) {
  .header_button {
    width: 200px;
    height: 80px;
    border-radius: 15px;
    margin-top: 10px;
  }
}
.header_button_text1 {
  font-size: min(1.2vw, 16px);
}
.header_button_text2 {
  font-size: 24px;
}

.navMenuButton {
  position: fixed;
  top: 40px;
  right: 20px;
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 24px;
  cursor: pointer;
  border: none;
  padding: 0;
  z-index: 103;
}
@media screen and (max-width: 1024px) {
  .navMenuButton {
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .navMenuButton {
    top: 25px;
  }
}
.navMenuButton span {
  display: block;
  height: 3px;
  width: 100%;
  background: var(--blue2);
  border-radius: 2px;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .navMenuButton span {
    box-shadow: 0 0 3px rgba(255, 255, 255, 0.5);
  }
}
.navMenuButton.is-active span:nth-child(1) {
  transform: translate(0, 11px) rotate(45deg);
}
.navMenuButton.is-active span:nth-child(2) {
  opacity: 0;
}
.navMenuButton.is-active span:nth-child(3) {
  transform: translate(0, -10px) rotate(-45deg);
}

.navMenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background: url(assets/img/bg_2.webp) no-repeat top right/cover var(--white);
  z-index: 102;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
  overflow-y: auto;
}
.navMenu.is-open {
  opacity: 1;
  pointer-events: auto;
}
.navMenu_inner {
  padding: 80px 20px 0;
}
.navMenu_nav_list {
  display: grid;
  row-gap: 20px;
  text-align: center;
}
.navMenu_nav_list a {
  position: relative;
  display: flex;
  height: 40px;
  margin-left: 10px;
  margin-right: 10px;
  align-items: center;
  justify-content: center;
  border-top: 1px solid var(--yellow3);
  border-bottom: 1px solid var(--yellow3);
  text-decoration: none;
  color: var(--yellow3);
}
.navMenu_nav_list a::before, .navMenu_nav_list a::after {
  content: "";
  width: 10px;
  height: 40px;
  background: url(assets/img/nav_deco) no-repeat center/auto 100%;
  position: absolute;
  top: 0;
}
.navMenu_nav_list a::before {
  left: -10px;
}
.navMenu_nav_list a::after {
  transform: scaleX(-1);
  right: -10px;
}

.bottomNav {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 90;
  display: none;
  grid-template-columns: repeat(2, 1fr);
  height: 50px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .bottomNav {
    display: grid;
  }
}
.bottomNav_button {
  background: var(--gold-gradation);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border: 1px outset var(--gold-border);
  border-top: none;
  border-bottom: none;
  font-size: 12px;
  font-weight: 600;
  color: var(--yellow3);
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -2px 3px rgba(0, 0, 0, 0.3);
}

.footer {
  background: var(--blue2);
  padding-top: var(--marginM);
}
.footer_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .footer_inner {
    grid-template-columns: 1fr;
  }
}
.footer_shop {
  padding: 30px;
  background: var(--white);
}
@media screen and (max-width: 1024px) {
  .footer_shop {
    padding: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .footer_shop {
    padding: 4vw 3vw;
  }
}
.footer_shop_title_inner {
  display: flex;
  column-gap: 15px;
  align-items: flex-end;
  text-decoration: none;
}
@media screen and (max-width: 1340px) {
  .footer_shop_title_inner {
    flex-direction: column;
    row-gap: 15px;
    align-items: flex-start;
  }
}
.footer_shop_title_inner img {
  height: min(4vw, 68px);
}
@media screen and (max-width: 1340px) {
  .footer_shop_title_inner img {
    height: 60px;
  }
}
.footer_shop_title_text {
  font-size: min(1.3vw, 24px);
  color: var(--blue1);
}
@media screen and (max-width: 1340px) {
  .footer_shop_title_text {
    font-size: min(2.2vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .footer_shop_title_text {
    font-size: min(4.5vw, 24px);
  }
}
.footer_shop_body {
  margin-top: 30px;
  display: flex;
  column-gap: 20px;
}
@media screen and (max-width: 1340px) {
  .footer_shop_body {
    flex-direction: column-reverse;
    row-gap: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .footer_shop_body {
    margin-top: 20px;
  }
}
.footer_shop_text {
  line-height: 1.6;
}
.footer_shop_text a {
  text-decoration: none;
}
.footer_shop_buttons {
  margin-top: 20px;
  display: flex;
  column-gap: 15px;
}
.footer_shop_photos {
  flex: 1 1 auto;
  display: flex;
  column-gap: 10px;
}
.footer_shop-boac {
  background: var(--boac2);
  color: var(--white);
}
.footer_shop-boac .footer_shop_title_text {
  color: var(--white);
}
.footer_shop-boac .button {
  background: var(--boac1);
  color: var(--boac2);
}
.footer_nav {
  padding: 30px 0;
}
@media screen and (max-width: 767px) {
  .footer_nav {
    padding: 20px 0;
  }
}
.footer_nav_list {
  display: flex;
  justify-content: center;
  column-gap: 1em;
}
@media screen and (max-width: 767px) {
  .footer_nav_list {
    flex-direction: column;
  }
}
.footer_nav a {
  color: var(--white);
  text-decoration: none;
}
@media (hover: hover) {
  .footer_nav a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .footer_nav a {
    display: block;
    padding: 7px 20px;
    font-size: 12px;
  }
}
.footer_copyright {
  padding: min(4vw, 30px) 0;
  background: var(--white);
  text-align: center;
  color: var(--blue2);
  font-size: 12px;
}

.top_main {
  background: url(assets/img/bg_1.webp) no-repeat top center/cover;
  padding-top: max(140px, 9vw);
}
@media screen and (max-width: 767px) {
  .top_main {
    background-size: auto 60%;
    padding-top: 70px;
  }
}
.top_main_inner {
  padding-top: 60px;
  padding-left: 50%;
  padding-right: 2%;
  background: linear-gradient(0deg, rgb(255, 255, 255), rgba(255, 255, 255, 0) 20%), url(assets/img/top_main_1.webp) no-repeat top left/47% auto;
  transition: 2s;
}
@media screen and (max-width: 1920px) {
  .top_main_inner {
    background-size: auto 100%;
  }
}
@media screen and (max-width: 1400px) {
  .top_main_inner {
    background-position: top left -160px;
  }
}
@media screen and (max-width: 767px) {
  .top_main_inner {
    background: linear-gradient(0deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 70%), url(assets/img/top_main_1.webp) no-repeat top left/85% auto;
    padding-top: 45vw;
    padding-left: 2vw;
    padding-right: 2vw;
  }
}
.top_main_content {
  width: min(100%, 800px);
}
.top_main_text1 {
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 10px;
  color: var(--gray2);
  font-size: min(3vw, 30px);
}
@media screen and (max-width: 767px) {
  .top_main_text1 {
    font-size: 4vw;
    row-gap: 5px;
  }
}
.top_main_text1::before {
  content: "";
  display: block;
  width: 93px;
  height: 48px;
  background: url(assets/img/deco_1_blue.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .top_main_text1::before {
    width: 60px;
    height: 30px;
  }
}
.top_main_text2 {
  text-align: center;
  margin-top: 0.5em;
  font-size: min(3.9vw, 66px);
  font-weight: 400;
  line-height: 1.3;
  color: var(--yellow1);
  letter-spacing: -2px;
}
@media screen and (max-width: 767px) {
  .top_main_text2 {
    margin-top: 0.3em;
    font-size: 6vw;
  }
}
.top_main_features {
  margin-top: min(3vw, 40px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(2vw, 30px);
}
.top_main_feature_image img {
  width: 100%;
}
.top_main_feature_text {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  text-align: center;
  font-size: min(1.1vw, 18px);
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .top_main_feature_text {
    font-size: 2.4vw;
  }
}
.top_main_points {
  margin-top: min(3vw, 40px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
}
@media screen and (max-width: 767px) {
  .top_main_points {
    column-gap: 2.5vw;
  }
}
.top_main_point {
  background: var(--blue1);
  mask: radial-gradient(circle 10px at 0 0, transparent 99%, black 100%) top left, radial-gradient(circle 10px at 100% 0, transparent 99%, black 100%) top right, radial-gradient(circle 10px at 100% 100%, transparent 99%, black 100%) bottom right, radial-gradient(circle 10px at 0 100%, transparent 99%, black 100%) bottom left;
  mask-size: 50% 50%;
  mask-repeat: no-repeat;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: min(1.5vw, 20px);
}
@media screen and (max-width: 767px) {
  .top_main_point {
    mask: radial-gradient(circle 6px at 0 0, transparent 99%, black 100%) top left, radial-gradient(circle 6px at 100% 0, transparent 99%, black 100%) top right, radial-gradient(circle 6px at 100% 100%, transparent 99%, black 100%) bottom right, radial-gradient(circle 6px at 0 100%, transparent 99%, black 100%) bottom left;
    mask-size: 50% 50%;
    mask-repeat: no-repeat;
    height: 10vw;
    font-size: 3vw;
  }
}
.top_news {
  margin-top: var(--marginL);
  padding: 20px 15px;
  background: var(--blue-gradation);
  text-align: center;
}
.top_news_content {
  margin: 1em auto 0;
  display: inline-block;
  padding: 1em;
  border-radius: 10px;
  border: 2px solid var(--yellow1);
  background: var(--white);
  text-align: left;
}
.top_news_list {
  display: grid;
  row-gap: 5px;
}
.top_news_list li {
  line-height: 1.6;
}
.top_news_list li + li {
  border-top: 1px solid var(--black);
  padding-top: 5px;
}
.top_news_list a {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 1em;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .top_news_list a {
    grid-template-columns: 1fr;
  }
}
.top_about {
  padding: var(--marginL) 0;
  background: url(assets/img/bg_2.webp) no-repeat top right/cover;
}
.top_about_body {
  position: relative;
  padding-top: 4%;
}
@media screen and (max-width: 767px) {
  .top_about_body {
    padding-top: 0;
  }
}
.top_about_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 78%;
  background: url(assets/img/top_about_1.webp) no-repeat top center/cover;
}
@media screen and (max-width: 1024px) {
  .top_about_image {
    width: 40%;
    height: 50%;
  }
}
@media screen and (max-width: 767px) {
  .top_about_image {
    position: relative;
    z-index: 2;
    width: auto;
    height: 100%;
    aspect-ratio: 760/507;
    margin-right: 5%;
  }
}
.top_about_content {
  margin-left: 43%;
  padding: 3% 2% 3% 10%;
  background: var(--red-transparent);
}
@media screen and (max-width: 1024px) {
  .top_about_content {
    margin-left: 33%;
  }
}
@media screen and (max-width: 767px) {
  .top_about_content {
    margin-top: -50vw;
    margin-left: 5%;
    padding: 55vw 3vw 5vw 5vw;
  }
}
.top_about_text {
  line-height: 1.6;
  max-width: 620px;
}
.top_menu {
  padding: var(--marginM) 2vw;
  background: url(assets/img/deco_4_tl.svg) no-repeat top 20px left 20px/90px, url(assets/img/deco_4_tr.svg) no-repeat top 20px right 20px/90px, url(assets/img/deco_4_bl.svg) no-repeat bottom 20px left 20px/90px, url(assets/img/deco_4_br.svg) no-repeat bottom 20px right 20px/90px, url(assets/img/bg_3.webp) no-repeat top right/cover;
}
@media screen and (max-width: 767px) {
  .top_menu {
    background-position: top 10px left 10px, top 10px right 10px, bottom 10px left 10px, bottom 10px right 10px, top right;
    background-size: 50px, 50px, 50px, 50px, cover;
  }
}

.notes {
  margin-top: var(--margiinL);
  background: var(--blue-gradation);
  padding: 20px 15px;
  text-align: center;
  color: var(--white);
}
.notes_content {
  display: inline-block;
  text-align: left;
}

.pay {
  border-top: 1px solid var(--blue1);
  padding: var(--marginM) 15px;
}
.pay .title {
  font-size: min(3.3vw, 20px);
}

.menu_list {
  display: grid;
  gap: clamp(25px, 4vw, 40px);
  grid-template-columns: repeat(auto-fit, 300px);
  grid-auto-flow: dense;
  justify-content: center;
}
.menu_item {
  transition: 0.3s;
}
@media (hover: hover) {
  .menu_item:hover {
    transform: translateY(-2px) scale(1.05);
  }
}
.menu_item_inner {
  display: block;
  text-decoration: none;
}
.menu_item_image img {
  width: 100%;
}
.menu_item_title {
  margin-top: 10px;
}
.menu_item_title_text1 {
  display: flex;
  justify-content: center;
  font-size: 20px;
  color: var(--blue2);
}
.menu_item_title_text1::before, .menu_item_title_text1::after {
  content: "";
  width: 58px;
  column-gap: 5px;
  background: url(assets/img/deco_2_blue.svg) no-repeat center/contain;
}
.menu_item_title_text1::before {
  transform: scaleX(-1);
}
.menu_item_title_text2 {
  display: block;
  margin-top: 10px;
  text-align: center;
  text-decoration: underline;
}
.menu .menu_nav {
  padding: 0 2vw;
}
@media screen and (max-width: 767px) {
  .menu .menu_nav .menu_list {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}
.menu .menu_nav .menu_item_inner {
  padding-bottom: 30px;
  background: url(assets/img/arrow_blue.svg) no-repeat center bottom/26px 13px;
}
@media screen and (max-width: 767px) {
  .menu .menu_nav .menu_item_inner {
    padding-bottom: 0;
    background: none;
  }
}
@media screen and (max-width: 767px) {
  .menu .menu_nav .menu_item_image {
    display: none;
  }
}
.menu_section {
  padding: var(--marginL) 0;
}
.menu_block {
  overflow: hidden;
  padding: 0 3vw;
}
@media screen and (max-width: 1024px) {
  .menu_block {
    padding-bottom: 30px;
  }
}
.menu_block_inner {
  position: relative;
  margin: auto;
  max-width: 1370px;
}
.menu_block_inner::before {
  content: "";
  position: absolute;
  top: 40px;
  left: -50px;
  display: block;
  width: 110vw;
  height: 80%;
  background: var(--yellow4);
}
@media screen and (max-width: 1024px) {
  .menu_block_inner::before {
    height: 100%;
  }
}
.menu_block_main {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(2vw, 30px);
}
@media screen and (max-width: 1024px) {
  .menu_block_main {
    grid-template-columns: 1fr;
  }
}
.menu_block_main_image img {
  width: 100%;
}
.menu_block_main_content {
  margin-top: 60px;
}
@media screen and (max-width: 1024px) {
  .menu_block_main_content {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .menu_block_main_content {
    margin-top: 20px;
  }
}
.menu_block_photos {
  position: relative;
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(2vw, 30px);
}
@media screen and (max-width: 1024px) {
  .menu_block_photos {
    margin-top: 30px;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .menu_block_photos {
    margin-top: 20px;
    gap: 15px;
  }
}
.menu_block_photos-6 {
  grid-template-columns: repeat(6, 1fr);
}
@media screen and (max-width: 1024px) {
  .menu_block_photos-6 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .menu_block_photos-6 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.menu_block_photo img {
  width: 100%;
}
.menu_block_photo_text {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .menu_block_photo_text {
    margin-top: 5px;
  }
}
.menu_silk {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .menu_silk {
    margin-top: 20px;
  }
}
.menu_silk_inner {
  max-width: 1370px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  background: url(assets/img/deco_4_tl.svg) no-repeat top 10px left 10px/40px, url(assets/img/deco_4_tr.svg) no-repeat top 10px right 10px/40px, url(assets/img/deco_4_bl.svg) no-repeat bottom 10px left 10px/40px, url(assets/img/deco_4_br.svg) no-repeat bottom 10px right 10px/40px, var(--blue3);
}
@media screen and (max-width: 1024px) {
  .menu_silk_inner {
    flex-direction: column;
  }
}
.menu_silk_title {
  display: flex;
  column-gap: 3px;
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 0.8em;
  color: var(--blue2);
  text-align: center;
  line-height: 1.3;
}
@media screen and (max-width: 1024px) {
  .menu_silk_title {
    justify-content: center;
  }
}
.menu_silk_title::before, .menu_silk_title::after {
  content: "";
  width: min(11vw, 44px);
  background: url(assets/img/deco_2_blue.svg) no-repeat center/contain;
}
.menu_silk_title::before {
  transform: scaleX(-1);
}
.menu_silk_image {
  flex: 0 0 auto;
  margin-top: 30px;
}
@media screen and (max-width: 1024px) {
  .menu_silk_image {
    display: none;
  }
}
.menu_silk_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right bottom;
}
.menu_silk_content {
  margin: 30px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .menu_silk_content {
    margin: 30px 20px 50px;
  }
}
.menu_price {
  margin-top: 30px;
  padding: 0 3vw;
  text-align: center;
}
.menu_price_table {
  margin: auto;
  color: var(--yellow3);
  line-height: 1.3;
  border-top: 1px solid var(--yellow3);
  table-layout: auto;
}
@media screen and (max-width: 767px) {
  .menu_price_table {
    display: block;
    line-height: 1.6;
  }
}
@media screen and (max-width: 767px) {
  .menu_price_table > tbody {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .menu_price_table > tbody > tr {
    padding: 10px;
    display: block;
    border-bottom: 1px solid var(--yellow3);
  }
}
.menu_price_table > tbody > tr > th, .menu_price_table > tbody > tr > td {
  padding: 1em 0;
  border-bottom: 1px solid var(--yellow3);
}
@media screen and (max-width: 767px) {
  .menu_price_table > tbody > tr > th, .menu_price_table > tbody > tr > td {
    display: block;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
}
.menu_price_table > tbody > tr > th {
  white-space: nowrap;
  width: 10px;
}
@media screen and (max-width: 767px) {
  .menu_price_table > tbody > tr > th {
    width: auto;
    font-size: 18px;
  }
}
.menu_price_table > tbody > tr > td {
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .menu_price_table > tbody > tr > td {
    padding-left: 0;
  }
}
.menu_price_table > tbody > tr > td:nth-of-type(1) {
  white-space: nowrap;
}
.menu_price_table > tbody > tr > td[colspan] {
  white-space: wrap;
  padding-left: 0;
}
.menu_section-facial .menu_block_inner::before {
  background: var(--red2);
  left: auto;
  right: -50px;
  height: 75%;
}
@media screen and (max-width: 1024px) {
  .menu_section-facial .menu_block_inner::before {
    height: 100%;
  }
}
.menu_section-facial .menu_block_main_image img {
  border-radius: 35px;
}
.menu_kako {
  margin: clamp(20px, 3vw, 50px) 0 min(2vw, 40px);
  border-radius: 25px;
  background: var(--red3);
  color: var(--red1);
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .menu_kako {
    margin: 40px 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .menu_kako {
    align-items: stretch;
    margin: 20px 0 0;
  }
}
.menu_kako_image {
  flex: 0 0 auto;
  margin: -5% 15px;
}
@media screen and (max-width: 767px) {
  .menu_kako_image {
    flex: 0 1 auto;
    margin: 10px 10px 0;
  }
}
.menu_kako_image img {
  border: 1px solid var(--red1);
  border-radius: 100%;
}
.menu_kako_content {
  flex: 1 1 auto;
  margin: 30px 30px 30px 0;
}
@media screen and (max-width: 767px) {
  .menu_kako_content {
    margin: 20px 20px 20px 0;
  }
}
.menu_kako_title {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--red1);
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 500;
  line-height: 1.3;
  color: var(--red1);
}
.menu_kako_title > span {
  display: inline-block;
}
.menu_kako_text {
  line-height: 1.6;
}
.menu_section-oil .menu_block_inner::before {
  background: var(--green2);
  left: auto;
  right: -50px;
  height: 83%;
}
@media screen and (max-width: 1024px) {
  .menu_section-oil .menu_block_inner::before {
    height: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .menu_section-oil .menu_block_main {
    grid-template-columns: 1fr;
  }
}
.menu_section-oil .menu_block_main_lead {
  margin-bottom: 1em;
  letter-spacing: -1.5px;
  font-size: 19px;
  line-height: 1.6;
  color: var(--green1);
}
.menu_lymph_title {
  margin-bottom: 0.5em;
  display: flex;
  column-gap: 3px;
  font-size: min(4.4vw, 20px);
  justify-content: center;
  color: var(--black);
  line-height: 1.3;
}
.menu_lymph_title::before, .menu_lymph_title::after {
  content: "";
  width: min(11vw, 44px);
  background: url(assets/img/deco_2_black.svg) no-repeat center/contain;
}
.menu_lymph_title::before {
  transform: scaleX(-1);
}
.menu_lymph_content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--black);
  border-bottom: 1px solid var(--black);
  padding: 20px 0;
  padding: 15px 0;
}
@media screen and (max-width: 767px) {
  .menu_lymph_content {
    grid-template-columns: 1fr;
  }
}
.menu_lymph_item + .menu_lymph_item {
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid var(--black);
}
@media screen and (max-width: 767px) {
  .menu_lymph_item + .menu_lymph_item {
    margin-top: 15px;
    margin-left: 0;
    padding-top: 15px;
    padding-left: 0;
    border-top: 1px solid var(--black);
    border-left: none;
  }
}
.menu_lymph_item_title {
  margin-bottom: 5px;
  line-height: 1.3;
  font-size: 18px;
}
.menu_lymph_item_title rt {
  font-size: 10px;
}
.menu_lymph_item_text {
  line-height: 1.6;
  color: var(--gray2);
}

.form table {
  width: 100%;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .form table > tbody {
    display: grid;
    row-gap: 1em;
  }
}
@media screen and (max-width: 767px) {
  .form table > tbody > tr {
    display: block;
  }
}
.form table > tbody > tr > th, .form table > tbody > tr > td {
  padding-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--yellow3);
}
@media screen and (max-width: 767px) {
  .form table > tbody > tr > th, .form table > tbody > tr > td {
    display: block;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
}
.form table > tbody > tr:first-child > th, .form table > tbody > tr:first-child > td {
  padding-top: 0;
}
.form table > tbody > tr > th {
  width: 10px;
  white-space: nowrap;
  padding-right: 20px;
  color: var(--yellow3);
}
@media screen and (max-width: 767px) {
  .form table > tbody > tr > th {
    padding-bottom: 5px;
  }
}
.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form input[type=radio],
.form select,
.form textarea {
  padding: 5px;
  border: 1px solid var(--yellow3);
  background: var(--white);
}
.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form textarea {
  width: 100%;
}
.form textarea {
  height: 14em;
}
.form option {
  background: var(--white);
}
.form .required {
  padding: 0 3px;
  display: inline-block;
  border-radius: 3px;
  background: var(--yellow1);
  color: var(--white);
  font-size: 12px;
  margin-left: 10px;
}
.form input[type=submit] {
  margin-top: min(3vw, 40px);
  display: inline-block;
  width: min(100%, 310px);
  height: 63px;
  background: var(--yellow1);
  color: var(--white);
  font-size: 20px;
  border-radius: 40px;
  border: none;
  cursor: pointer;
  transition: 0.3s;
}
.form input[type=submit] + .wpcf7-spinner {
  display: none;
}
@media (hover: hover) {
  .form input[type=submit]:hover {
    opacity: 0.8;
  }
}

.qa_section {
  padding-left: 2vw;
  padding-right: 2vw;
  margin-bottom: var(--marginL);
}
.qa_section_inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 874px;
}
.qa_list dt, .qa_list dd {
  display: flex;
  justify-content: flex-start;
  max-width: 90%;
  position: relative;
}
.qa_list dt::before, .qa_list dd::before {
  flex: 0 0 auto;
  content: "Q";
  position: relative;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--qIcon);
  border-radius: 100%;
  color: var(--white);
  line-height: 1;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .qa_list dt::before, .qa_list dd::before {
    width: 30px;
    height: 30px;
    font-size: 18px;
  }
}
.qa_list dt::after, .qa_list dd::after {
  content: "";
  position: absolute;
  left: 55px;
  top: 15px;
  z-index: 1;
  display: block;
  width: 30px;
  height: 20px;
  transform: skewX(45deg);
  background: var(--qBody);
}
@media screen and (max-width: 767px) {
  .qa_list dt::after, .qa_list dd::after {
    left: 40px;
  }
}
.qa_list dt > span, .qa_list dd > span {
  margin-top: 5px;
  margin-left: 20px;
  position: relative;
  z-index: 3;
  border-radius: 30px;
  padding: 15px 20px;
  background: var(--qBody);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .qa_list dt > span, .qa_list dd > span {
    border-radius: 20px;
    margin-left: 10px;
    padding: 10px;
  }
}
.qa_list dd {
  margin-top: 30px;
  flex-direction: row-reverse;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .qa_list dd {
    margin-top: 15px;
  }
}
.qa_list dd::before {
  content: "A";
  background: var(--aIcon);
}
.qa_list dd::after {
  content: "";
  position: absolute;
  left: auto;
  right: 55px;
  transform: skewX(-45deg);
  background: var(--aBody);
}
@media screen and (max-width: 767px) {
  .qa_list dd::after {
    right: 40px;
  }
}
.qa_list dd > span {
  margin-left: auto;
  margin-right: 20px;
  background: var(--aBody);
}
@media screen and (max-width: 767px) {
  .qa_list dd > span {
    margin-right: 10px;
  }
}
.qa_list dd + dt {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .qa_list dd + dt {
    margin-top: 15px;
  }
}

.access_section {
  overflow: hidden;
  margin-bottom: var(--marginM);
}
.access_section_inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1370px;
  position: relative;
  background: transparent;
}
.access_section_inner::before {
  content: "";
  position: absolute;
  top: 40px;
  right: -50px;
  display: block;
  width: 110vw;
  height: 80%;
  background: var(--yellow4);
}
@media screen and (max-width: 1024px) {
  .access_section_inner::before {
    height: 100%;
  }
}
.access_section_body {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .access_section_body {
    padding-bottom: 30px;
  }
}
.access_section-style2 {
  padding-left: 3vw;
  padding-right: 3vw;
}
.access_section-style2 .access_section_inner::before {
  right: auto;
  left: -50px;
  background: var(--blue3);
  height: 100%;
}
@media screen and (max-width: 767px) {
  .access_section-style2 .access_section_inner::before {
    left: -3vw;
  }
}
.access_section-style2 .access_section_body {
  padding-bottom: 30px;
}
.access_photos {
  padding-top: min(2vw, 30px);
}
@media screen and (max-width: 1370px) {
  .access_photos {
    padding-left: min(2vw, 30px);
    padding-right: min(2vw, 30px);
  }
}
.access_photos_inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1370px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(2vw, 30px);
}
@media screen and (max-width: 767px) {
  .access_photos_inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
.access_photos_inner > img {
  width: 100%;
}
.access_content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2vw, 30px);
}
@media screen and (max-width: 900px) {
  .access_content {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.access_content_body {
  margin-top: 60px;
}
@media screen and (max-width: 900px) {
  .access_content_body {
    margin-top: 15px;
  }
}
@media screen and (max-width: 900px) {
  .access_googlemap {
    aspect-ratio: 16/9;
  }
}
.access_googlemap iframe {
  width: 100%;
  height: 90%;
}
@media screen and (max-width: 900px) {
  .access_googlemap iframe {
    height: 100%;
  }
}

.boac_section {
  margin-bottom: var(--marginM);
  padding-left: 3vw;
  padding-right: 3vw;
  padding-bottom: min(4vw, 40px);
  overflow: hidden;
  position: relative;
}
.boac_section::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--boac1);
  position: absolute;
  top: 40px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .boac_section::before {
    top: 30px;
  }
}
.boac_section_inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1620px;
}
.boac_section_body {
  position: relative;
}
.boac_section-style2 .boac_section_inner {
  max-width: 1340px;
}
.boac_photos {
  overflow: hidden;
  margin-top: calc(min(2vw, 30px) * -1);
  margin-left: calc(min(2vw, 30px) * -1);
}
@media screen and (max-width: 767px) {
  .boac_photos {
    margin-left: 0;
  }
}
.boac_photos img {
  display: block;
  float: left;
  width: calc(50% - min(2vw, 30px));
  margin-left: min(2vw, 30px);
  margin-top: min(2vw, 30px);
}
@media screen and (max-width: 767px) {
  .boac_photos img {
    float: none;
    margin-left: 0;
    width: 100%;
  }
}
.boac_content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(2vw, 30px);
}
@media screen and (max-width: 900px) {
  .boac_content {
    grid-template-columns: 1fr;
  }
}
.boac_content_body {
  margin-top: 70px;
}
@media screen and (max-width: 900px) {
  .boac_content_body {
    margin-top: 20px;
  }
}
.boac_googlemap {
  aspect-ratio: 4/3;
}
@media screen and (max-width: 900px) {
  .boac_googlemap {
    aspect-ratio: 16/9;
  }
}
.boac_googlemap iframe {
  width: 100%;
  height: 100%;
}

.title-style1 {
  text-align: center;
  font-size: 20px;
  color: var(--white);
}
.title-style2 {
  margin-bottom: var(--marginM);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.title-style2::before {
  content: "";
  width: 69px;
  height: 35px;
  background: url(assets/img/deco_1_blue.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .title-style2::before {
    height: 28px;
  }
}
.title-style2 .title_text1 {
  display: flex;
  column-gap: 5px;
  font-size: min(7vw, 70px);
  color: var(--yellow2);
}
.title-style2 .title_text1::before, .title-style2 .title_text1::after {
  content: "";
  margin-top: 0.5ex;
  width: min(11vw, 112px);
  background: url(assets/img/deco_2_yellow.svg) no-repeat center/contain;
}
.title-style2 .title_text1::before {
  transform: scaleX(-1);
}
.title-style2 .title_text2 {
  margin-top: 0.8em;
  display: flex;
  column-gap: 10px;
  color: var(--gray);
  font-size: min(4vw, 24px);
}
.title-style2 .title_text2::before, .title-style2 .title_text2::after {
  content: "";
  width: min(10vw, 78px);
  background: url(assets/img/deco_3.svg) no-repeat center/contain;
}
.title-style2 .title_text2::before {
  transform: scaleX(-1);
}
.title-style3 {
  display: flex;
  column-gap: 3px;
  font-size: 20px;
  justify-content: center;
  margin-bottom: 1em;
  color: var(--blue2);
  text-align: center;
  line-height: 1.3;
}
.title-style3::before, .title-style3::after {
  content: "";
  width: min(11vw, 44px);
  background: url(assets/img/deco_2_blue.svg) no-repeat center/contain;
}
.title-style3::before {
  transform: scaleX(-1);
}
.title-style3-white {
  color: var(--white);
}
.title-style3-white::before, .title-style3-white::after {
  background-image: url(assets/img/deco_2_white.svg);
}
.title-style3-yellow {
  color: var(--yellow3);
}
.title-style3-yellow::before, .title-style3-yellow::after {
  background-image: url(assets/img/deco_2_yellow2.svg);
}
.title-style4 {
  margin-bottom: var(--marginM);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.title-style4::before {
  content: "";
  width: 69px;
  height: 35px;
  background: url(assets/img/deco_1_yellow.svg) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .title-style4::before {
    height: 28px;
  }
}
.title-style4 .title_text1 {
  display: flex;
  column-gap: 5px;
  font-size: min(7vw, 50px);
  color: var(--yellow2);
}
.title-style4 .title_text1::before, .title-style4 .title_text1::after {
  content: "";
  margin-top: 0.5ex;
  width: min(11vw, 112px);
  background: url(assets/img/deco_2_yellow.svg) no-repeat center/contain;
}
.title-style4 .title_text1::before {
  transform: scaleX(-1);
}
.title-style4 .title_text2 {
  margin-top: 0.8em;
  font-size: min(4vw, 24px);
  color: var(--yellow2);
}
.title-style5 {
  margin-bottom: var(--marginS);
  display: flex;
  column-gap: 3px;
  font-size: min(4.5vw, 20px);
  justify-content: center;
  padding: 15px 10px;
  background: var(--blue-gradation);
  color: var(--white);
  text-align: center;
  line-height: 1.3;
}
.title-style5::before, .title-style5::after {
  content: "";
  width: min(11vw, 44px);
  background: url(assets/img/deco_2_white.svg) no-repeat center/contain;
}
.title-style5::before {
  transform: scaleX(-1);
}
.title-style6 {
  font-size: clamp(20px, 4vw, 24px);
  line-height: 1.3;
  color: var(--blue1);
  margin-bottom: 0.8em;
}
.title-style6-boac {
  color: var(--boac2);
}

.text {
  line-height: 1.6;
}
.text-mt {
  margin-top: 1em;
}
.text-mb {
  margin-bottom: 1em;
}
.text-l {
  font-size: clamp(18px, 4vw, 20px);
}
.text-ll {
  font-size: 24px;
}
.text-s {
  font-size: 13px;
}
.text-bold {
  font-weight: bold;
}
.text-brown {
  color: var(--brown1);
}
.text-blue {
  color: var(--blue2);
}
.text-yellow {
  color: var(--yellow3);
}

.list-style1 li {
  display: block;
  position: relative;
  margin-left: 1em;
}
.list-style1 li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: -1em;
}
.list-style2 li {
  display: block;
  position: relative;
  margin-left: 1em;
}
.list-style2 li::before {
  content: "●";
  position: absolute;
  top: 0;
  left: -1em;
}
.list-style3 li {
  display: block;
  position: relative;
  margin-left: 1.2em;
}
.list-style3 li::before {
  content: "◆";
  position: absolute;
  top: 0;
  left: -1.2em;
  color: var(--yellow1);
}
.list-style3-blue li::before {
  color: var(--blue2);
}
.list-style3-yellow2 li::before {
  color: var(--yellow3);
}

.button-style1 {
  margin-top: var(--marginM);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 220px;
  height: 80px;
  border-radius: 15px;
  box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.22);
  background: var(--gold-gradation);
  background-size: 100% 120%;
  border: 1px solid var(--gold-border);
  color: var(--gold-text);
  font-size: 20px;
  font-weight: 500;
  text-shadow: 0 -2px 0 rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .button-style1 {
    height: 60px;
  }
}
@media (hover: hover) {
  .button-style1:hover {
    background-position: center -30%;
    text-shadow: 0 -3px 0 rgba(255, 255, 255, 0.6);
    transform: translateY(1px);
    box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.4);
  }
}
.button-style2 {
  width: 120px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--blue1);
  color: var(--white);
  text-decoration: none;
  transition: 0.3s;
}
@media (hover: hover) {
  .button-style2:hover {
    opacity: 0.8;
  }
}
.button-style2-boac1 {
  background: var(--boac1);
  color: var(--boac2);
}
.button-style2-boac2 {
  background: var(--boac2);
  color: var(--boac1);
}
.button-style3 {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(100%, 440px);
  height: 66px;
  background: var(--yellow3);
  color: var(--white);
  text-decoration: none;
  border-radius: 40px;
  font-size: min(3.5vw, 16px);
  transition: 0.3s;
}
@media (hover: hover) {
  .button-style3:hover {
    opacity: 0.8;
  }
}

.section {
  padding: 0 3vw var(--marginL);
}
.section_inner {
  margin: auto;
  max-width: 920px;
}

.block-mt {
  margin-top: var(--marginS);
}
.block-style1 {
  padding: 15px;
  border: 1px solid var(--blue2);
}
.block-style1-inline {
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
.block-style1-yellow {
  border-color: var(--yellow3);
}
.block-style2 {
  border-radius: min(4vw, 40px);
  padding: min(4vw, 40px) min(3vw, 40px);
  background: var(--yellow4);
}
.block-style3 {
  border-radius: min(4vw, 40px);
  padding: min(3vw, 20px) min(3vw, 40px);
  background: var(--yellow4);
}

.table-style1 {
  table-layout: auto;
  width: 100%;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .table-style1 > tbody {
    display: grid;
    row-gap: 1em;
  }
}
@media screen and (max-width: 767px) {
  .table-style1 > tbody > tr {
    display: block;
  }
}
.table-style1 > tbody > tr > th, .table-style1 > tbody > tr > td {
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 1px solid var(--yellow3);
}
@media screen and (max-width: 767px) {
  .table-style1 > tbody > tr > th, .table-style1 > tbody > tr > td {
    display: block;
    padding-top: 0;
    padding-bottom: 0;
    border-top: none;
  }
}
.table-style1 > tbody > tr > th {
  width: 10px;
  white-space: nowrap;
  color: var(--yellow3);
}
@media screen and (max-width: 767px) {
  .table-style1 > tbody > tr > th {
    padding-bottom: 5px;
  }
}
.table-style1 > tbody > tr > td {
  padding-left: 2em;
}
@media screen and (max-width: 767px) {
  .table-style1 > tbody > tr > td {
    padding-left: 0;
  }
}
.table-style1 > tbody > tr:first-child > th, .table-style1 > tbody > tr:first-child > td {
  padding-top: 0;
  border-top: 0;
}
.table-style1 > tbody > tr:last-child > th, .table-style1 > tbody > tr:last-child > td {
  padding-bottom: 0;
}
.school .table-style1 > tbody > tr > th:not(:last-child), .school .table-style1 > tbody > tr > td:not(:last-child) {
  width: 10px;
  white-space: nowrap;
}
.school .table-style1 > tbody > tr > th:last-child, .school .table-style1 > tbody > tr > td:last-child {
  width: auto;
}

.align-center {
  text-align: center;
}
.align-left {
  text-align-last: left;
}
.align-right {
  text-align: right;
}

.action1 {
  opacity: 0;
  filter: blur(10px);
  transition: 2s;
  transition-delay: 0.1s;
  will-change: opacity, filter;
}
.action1.is-in {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}
.action2 {
  transition: 1s;
  transform: translateY(100px);
  filter: blur(5px);
  opacity: 0;
  will-change: transform, filter, opacity;
}
.action2.is-in {
  transform: translateY(0);
  filter: blur(0);
  opacity: 1;
}
.action3::before {
  transition: 0.75s;
  transform: translateX(100%);
  will-change: transform;
}
@media screen and (max-width: 1024px) {
  .action3::before {
    transform: none;
  }
}
.action3.is-in::before {
  transform: translateX(0);
}
.action4::before {
  transition: 0.75s;
  transform: translateX(-100%);
  will-change: transform;
}
@media screen and (max-width: 1024px) {
  .action4::before {
    transform: none;
  }
}
.action4.is-in::before {
  transform: translateX(0);
}
.action-delay:nth-child(1) {
  transition-delay: 0.2s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(1) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(2) {
  transition-delay: 0.4s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(2) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(3) {
  transition-delay: 0.6s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(3) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(4) {
  transition-delay: 0.8s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(4) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(5) {
  transition-delay: 1s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(5) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(6) {
  transition-delay: 1.2s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(6) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(7) {
  transition-delay: 1.4s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(7) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(8) {
  transition-delay: 1.6s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(8) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(9) {
  transition-delay: 1.8s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(9) {
    transition-delay: 0s;
  }
}
.action-delay:nth-child(10) {
  transition-delay: 2s;
}
@media screen and (max-width: 767px) {
  .action-delay:nth-child(10) {
    transition-delay: 0s;
  }
}