h3 {
  font-size: 1.2rem;
}

#sec-41e8 {
  background: #fff;
}
.footer02 {
  color: #fff;
  text-align: center;
  padding: 10px;
  padding-top: 30px;
}
.footer02 a {
  color: #fff;
  text-decoration: none;
}
.footer02 a:hover {
  text-decoration: none;
}
.footer02 .menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.footer02 .menu li {
  margin: 0;
  padding: 0 8px;
  font-size: 0.75rem;
}
.footer02 .copyright {
  margin: 0;
  padding: 15px 0 0 0;
}

.u-section-7 .u-image-1 {
  background-image: url("images/inbody_image.jpg");
  min-height: 220px;
  background-position: 50% 50%;
}

.u-section-7 .u-image-2 {
  background-image: url("images/on-image00.png");
  min-height: 220px;
  background-position: 50% 50%;
}

.u-section-7 .u-image-3 {
  background-image: url("images/witty_image.jpg");
  min-height: 220px;
  background-position: 50% 50%;
}

.u-section-7 .u-image-4 {
  background-image: url("images/jump_image.jpg");
  min-height: 220px;
  background-position: 50% 50%;
}

.u-section-7 .u-image-5 {
  background-image: url("images/rapsodo.jpg");
  min-height: 220px;
  background-position: 50% 50%;
}

.u-section-7 .u-image-6 {
  background-image: url("images/Blast-image.jpg");
  min-height: 220px;
  background-position: 50% 50%;
}

.u-section-7 .u-image-7 {
  background-image: url("images/Pluse_image.jpg");
  min-height: 220px;
  background-position: 50% 50%;
}

.u-section-7 .u-image-8 {
  background-image: url("images/speed&tester.jpg");
  min-height: 220px;
  background-position: 50% 50%;
}

.u-section-7 .u-image-10 {
  width: 192px;
  height: 10px;
  margin: 24px auto 0;
}

.about_image {
  width: 100%;
  height: auto;
  padding: 10px 10px 0px 10px;
}

#use-h4 {
  text-align: center;
  line-height: 1;
  font-size: 1.3rem;
}

.use-span {
  font-size: 0.875rem;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
  /*   リセットCSS（適用するサイトで定義済なら不要） */
}

.company-overview {
  border-top: 1px solid #ddd;
}

.company-overview .item {
  padding: 24px 0;
  border-bottom: 1px solid #ddd;
  align-items: center;
}

@media screen and (min-width: 560px) {
  .company-overview .item {
    display: grid;
    /*項目名：名称の横幅比率*/
    grid-template-columns: 1fr 5fr;
    /*項目名：名称の間の余白*/
    column-gap: 32px;
    -webkit-column-gap: 32px;
    -moz-column-gap: 32px;
  }
}

.price-th {
  background: #f9f9f9;
  border: 1px solid #ddd;
  padding: 5px;
  text-align: center;
}

.price-td {
  border: 1px solid #ddd;
  padding: 5px;
  text-align: center;
}

.u-section-12 .u-table-1 {
  margin: 0px auto 90px 0;
  padding: 0px;
}

.company-profile {
  margin: 0 auto;
  /* width: 80%;
  max-width: 1000px; */
}

.company-profile .access {
  background-color: #fff;
  padding: 0px 90px;
  display: flex;
}

.company-profile .access h2 {
  text-align: center;
  margin: 0;
}

.company-profile .access .map {
  text-align: center;
  flex: 1;
}

.company-profile .access .info {
  margin-top: 0px;
  padding: 0px 0px;
  flex: 1;
}

@media (max-width: 768px) {
  .company-profile .access .map,
  .company-profile .access .info {
    display: block;
    width: 100%;
  }

  .company-profile .access {
    background-color: #fff;
    padding: 0px;
    display: block;
  }
  .u-section-7 .u-image-2 {
    min-height: 440px !important;
  }
}

.company-info {
  width: 80%;
  margin: 0 auto;
  border-collapse: collapse;
  border: 1px solid #ddd;
}

.company-info th,
.company-info td {
  padding: 10px;
  border: 1px solid #ddd;
  text-align: left;
}

.company-info th {
  background-color: #f5f5f5;
}

.table {
  width: 100%;
  border-collapse: collapse;
}

.header-row {
  background-color: #f2f2f2;
  border-bottom: 1px solid #000;
}

.header-cell,
.data-cell {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: center;
}

.data-cell {
  background-color: #fff;
}

#service-wrap {
  gap: 10%;
}

#service-content {
  max-width: 45%;
  min-width: 45%;
}

.u-clearfix.u-sheet.u-valign-middle.u-sheet-1 {
  margin-top: 40px;
}

.speci-02 {
  font-size: 0.875rem;
  /* margin: 0px 10px 0 129px; */
  margin-top: 0px !important;
  text-align: left;
  /* margin: 0px 10px 0px 193px; */
  padding: 0px 10px;
}

.speci-01 {
  font-size: 0.875rem;
  /* margin: 0px 10px 0 129px; */
  margin-top: 0px !important;
  text-align: left;
  padding: 0px 10px;
  /* margin: 0px 10px 0px 193px; */
}

.speci-03 {
  font-size: 0.875rem;
  /* margin: 0px 10px 0 129px; */
  margin-top: 0px !important;
  text-align: left;
  padding: 0px 10px;
  /* margin: 0px 10px 0px 193px; */
}

.speci-04 {
  font-size: 0.875rem;
  /* margin: 0px 10px 0 129px; */
  margin-top: 0px !important;
  padding: 0px 10px;
  text-align: left;
  /* margin: 0px 10px 0px 193px; */
}

.section-ma {
  padding-top: 90px;
}

.u-section-12 {
  background: #707070;
  color: #fff;
}

.access {
  padding-bottom: 90px;
}

.item:last-of-type {
  margin-bottom: 0px;
}

.top-wrap img {
  vertical-align: bottom;
  object-fit: cover;
  width: 100%;
}

#sec-add6 {
  padding-top: 50px;
}

.about-m {
  margin-top: 0px !important;
  margin-bottom: 20px !important;
}

#service-wrap {
  align-items: start;
}

@media (max-width: 768px) {
  #service-wrap {
    display: block;
  }

  #service-content {
    max-width: 100%;
  }
}

#sec-41e8 {
  position: fixed;
  box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}
@media (max-width: 768px) {
  .u-header .u-logo-image-1 {
    width: 60%;
    height: 60%;
  }
  .u-image.u-logo.u-image-1 {
    margin-top: 0px;
  }
  #sec-add6 {
    padding-top: 80px;
  }
  #sec-41e8 .u-clearfix.u-sheet.u-sheet-1 {
    display: flex;
    align-items: center;
  }
}

.img-cicre {
  width: 100%;
  border-radius: 50%;
}

#atten {
  color: #a1fcf7;
}

#atten::hover {
  opacity: 0.5;
}

.policy_container {
  color: #000;
  font-family: sans-serif;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
}
#p_title {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  color: #1d96a1;
  text-align: left;
}
.list {
  list-style: none;
  padding: 0;
  line-height: 1.5;
  text-align: left;
}
.item {
  margin-bottom: 10px;
}
.signature {
  text-align: right;
  font-size: 12px;
}

#policy_wrap {
  width: var(--theme-sheet-width-xl);
  margin: 0 auto;
}

#h_title {
  font-weight: bold;
}

#company_wrap {
  width: 90%;
  padding: 0px 90px;
}

#reserva a {
  font-size: 1rem;
  padding: 10px 40px !important;
  border-radius: 1000px;
  background: #00b1a9;
  color: white;
}

@media (max-width: 768px) {
  #company_wrap {
    width: 90%;
    padding: 0px;
  }
  .map {
    height: 300px;
  }

  #policy_wrap {
    width: 90%;
    margin: 0 auto;
  }

  #p_title {
    margin-top: 15px;
    margin-bottom: 10px;
    font-size: 1rem;
  }

  .item {
    margin-bottom: 10px;
    font-size: 0.875rem;
  }

  .list {
    margin-top: 10px !important;
    margin-bottom: 15px !important;
  }

  .u-section-4 .u-layout-wrap-1 {
    margin: 25px auto 0px 0;
  }

  #section-ma {
    margin-top: 30px;
  }
  .about_image {
    width: 100%;
    padding: 10px 0px;
  }

  .footer02 .menu li {
    margin: 0;
    padding: 5px 20px;
    font-size: 0.875rem;
  }
  th.header-cell {
    font-size: 0.55rem;
  }
  td.data-cell {
    font-size: 0.55rem;
  }

  #l_w {
    width: 40%;
  }

  #s_w {
    width: 15%;
  }
  .u-text.u-text-2 {
    font-size: 16px;
  }

  #b-h {
    font-size: 1.5rem !important;
  }

  #title-h {
    font-size: 1.4rem;
    font-weight: bold;
    margin: 0 auto;
  }

  #footer-p {
    font-size: 1.4rem;
    font-weight: bold;
  }

  .te-p {
    margin: 0px 10px 0 10px;
  }
  .u-section-9 .u-image-5 {
    /* width: 30%;
    height: 35%;
    margin-top: -58px;
    margin-right: auto;
    margin-left: 0; */
  }

  .u-section-9 .u-image-3 {
    /* width: 30%;
    height: 38%;
    margin-top: -64px;
    margin-right: auto;
    margin-left: 0; */
  }

  .u-section-9 .u-image-5 {
    /* width: 30%;
    height: 30%;
    margin-top: -80px;
    margin-right: auto;
    margin-left: 0; */
  }
}

.u-section-14 {
  background-color: #fff;
  margin-top: 90px;
}

.sp_flex {
}

.sp_flex .content {
  display: flex;
}

.sp_flex .wrap {
  width: 50%;
  display: flex;
}

.sp_flex .wrap img {
  width: 100%;
}

.imag_wrap {
  flex: 1;
}

.p_wrap {
  flex: 1;
}

.banner {
  width: 100%;
  position: fixed;
  margin: 0px;
  /* margin: 15px 20px; */
  z-index: 99998;
  bottom: 0;
  right: 0;
}
.banner a {
  text-decoration: none;
}

.banner-icon {
  color: #f8f8f8;
  font-size: 40px;
}

.banner-back {
  width: 100%;
  /* width: 270px; */

  /* background-color: #fff; */
  border-radius: 25px;
}

.banner-top {
  padding: 20px;
  border-radius: 25px 25px 0px 0px;
  background: -moz-radial-gradient(#0ab0c7, #006eb0 70%);
  background: -webkit-radial-gradient(#0ab0c7, #006eb0 70%);
  background: radial-gradient(#0ab0c7, #006eb0 70%);
}

.banner-copy {
  font-size: 18px;
  position: relative;
}
/* .banner-copy::after {
  font-family: "Font Awesome 6 Free";
  font-size: 20px;
  content: "\f054";
  color: #006eb0;
  position: absolute;
  margin-top: 11px;
  top: 0;
  right: 18px;
} */

.banner-bottom {
  padding: 10px 0px 10px 0px;
  line-height: 1.6;
}

.banner-body {
  /* width: 270px; */
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  /* background: #f8f8f8; */
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 0px;
  /* border-radius: 25px; */
  -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
  box-shadow: 0 0 7px rgb(0 0 0 / 40%);
}
/* .banner-body:hover {
  transition: opacity 0.3s ease;
  opacity: 0.7;
} */

.banner-close {
  font-weight: bold;
  position: absolute;
  top: -2px;
  right: -4px;
  z-index: 99999;
  padding: 3px 15px;
  border: none;
  background-color: #f8f8f8;
  border-radius: 100%;
  cursor: pointer;
  -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
  box-shadow: 0 0 7px rgb(0 0 0 / 40%);
}

/* .spe-flex {
  display: flex;
} */
/* .banner-copy {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
} */

.banner-wrap {
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  gap: 0px 10px;
}

.btn-wrap {
  padding: 10px;
  color: #fff;
  border-radius: 45px;
}

.phone {
  background: #c72b2c;
  gap: 0px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mail {
  width: 100%;
  background: #269fa0;
  gap: 0px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.svg-banner {
  height: 30px;
}

.banner-btn {
  flex: 1;
}

#copy-email {
  padding: 10px;
  border: 1px solid #ccc;
}

#email-address {
  font-size: 16px;
  font-weight: bold;
}

#copy-button {
  margin-top: 10px;
  padding: 5px 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  cursor: pointer;
}

#copyTarget {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  background: none;
  border: none;
  max-width: 115px;
}

#copy-button:hover {
  background-color: #ddd;
}

.email-copy {
  display: flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.email-copy i {
  font-size: 1.5rem;
  margin-right: 0.5rem;
}

.email-copy .email-address {
  font-size: 1rem;
  color: #333;
}

@media screen and (max-width: 750px) {
  #copyTarget {
    width: 7em;
    max-width: 100%;
    font-size: 10px;
  }
  .spe-flex {
    display: block;
  }
  .banner {
    /* width: 58%; */
    width: 100%;
    margin: 0px;
    bottom: 0px;
    /* bottom: 30px; */
  }
  .banner-icon {
    font-size: 28px;
  }
  .banner-body {
    width: 100%;
    border-radius: 0px;
    /* border-radius: 30px; */
  }
  .banner-back {
    width: 100%;
    margin: 0px;
    /* border-radius: 30px; */
  }
  .banner-top {
    padding: 5px;
    border-radius: 0px;
    background: -moz-linear-gradient(#006eb0 50%, #0ab0c7);
    background: -webkit-linear-gradient(#006eb0 50%, #0ab0c7);
    background: linear-gradient(#006eb0 50%, #0ab0c7);
  }
  .banner-bottom {
    padding: 10px 10px 10px 10px;
  }
  .banner-copy {
    font-size: 10px;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
  /* .banner-copy::after {
    font-size: 12px;
    margin-top: 1.4px;
    margin-left: 12px;
    top: initial;
    right: initial;
  } */
  .banner-close {
    top: -15px;
    right: 15px;
  }
  .banner-copy-br {
    display: none;
  }

  .u-section-14 {
    margin-top: 100px;
    margin-bottom: 50px;
  }

  .mail {
    font-size: 14px;
    padding: 5px 0px;
  }

  .phone {
    font-size: 14px;
    padding: 5px 0px;
  }
}

.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #00b1a9;
  padding: 15px;
  border-radius: 100vh;
}
.btn--orange:hover,
a.btn--orange:hover {
  opacity: 0.7;
}

.fa-position-left {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 1rem;
}

.btn--radius,
a.btn--radius,
button.btn--radius {
  border-radius: 100vh;
}

.contact {
  background: #333;
  color: #fff;
  text-align: center;
  padding: 90px 0px;
  border-bottom: 1px solid #fff;
}

.contact_btnwrap {
  margin: 0px 0px;
  width: 100%;
  height: 100%;
}

#s_w {
  width: 15%;
  border-top: 0;
  border-left: 1px solid;
  border-bottom: 1px solid;
  border-right: 1px solid;
}

#l_w {
  width: 40%;
  border-bottom: 1px solid;
  border-left: 0;
  border-right: 1px solid;
  border-top: 0;
  vertical-align: middle;
}

.circle-wrap {
  padding: 3px;
  border: 1px solid #00b1a9;
  border-radius: 25px;
  color: #333;
  font-size: 0.75rem;
}

.svg-logo {
  width: 50px;
  margin: 0 auto;
  margin-bottom: 10px;
}
.svg-wrap {
  margin: 0 auto;
}

@media screen and (max-width: 750px) {
  .contact_btnwrap {
    margin: 40px 0px 12px 0px;
    width: 100%;
    height: 100%;
  }
  .circle-wrap {
    font-size: 0.5rem;
  }
}

.card {
  margin-bottom: 10px;
}

.row {
  display: flex;
  justify-content: center;
}

#sec-add6 {
  padding-top: 50px;
  display: none;
}

@media screen and (max-width: 750px) {
  #sec-add6 {
    padding-top: 90px;
    display: block;
  }

  #pc {
    display: none;
  }
}

.menu-list {
  display: flex;
  justify-content: center; /* メニューアイテムを中央揃えに */
}
.menu-item {
  border-left: 1px solid #fff; /* メニューアイテムの左ボーダー */
  position: relative;
  padding: 0px 12px;
}

#use_margin {
  margin-bottom: 40px;
}

.use_container {
  margin-bottom: 90px;
}

.menu-item:last-child {
  border-right: 1px solid #fff; /* 最後のメニューアイテムの右ボーダー */
}

/* メニューアイテムのホバースタイル */
.menu-item:hover .drop-menu-list {
  opacity: 1 !important; /* 不透明度を最大に */
  transition: opacity 0.3s, visibility 0.3s; /* アニメーション設定 */
  visibility: visible; /* 下層メニューを表示 */
}

.menu-item a {
  align-items: center;
  color: #000; /* メニューアイテム内のリンクテキストの色 */
  display: flex;
  height: 50px;
  justify-content: center;
  text-decoration: none; /* リンクの下線を非表示 */
  padding: 0px 8px;
}

.drop-menu-list a:hover {
  opacity: 0.5;
}

/* ドロップダウンメニュー */
.drop-menu {
  position: relative;
}
.drop-menu-list {
  background-color: #fff; /* ドロップダウンメニューの背景色 */
  left: 0;
  opacity: 0; /* 不透明度を最小に */
  position: absolute;
  top: 100%;
  transition: opacity 0.3s, visibility 0.3s; /* アニメーション設定 */
  visibility: hidden; /* 下層メニューを非表示 */
  width: max-content;
  z-index: 1;
  list-style: none;
  box-shadow: #000;
  margin-top: 0 !important;
  padding: 0px 10px !important;
}

.dli-chevron-down {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 8px;
  height: 8px;
  border: 2px solid #000;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  margin-left: 4px;
}

.menu-item:hover {
  background: rgb(0, 177, 169);
  color: #fff;
  opacity: 1;
  border-color: #fff;
}

.qa-7 {
  margin-bottom: 10px;
  border: none;
  border-radius: 5px;
  box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
  background-color: #fff;
}

.qa-7 summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 2em 1em 3em;
  color: #333333;
  font-weight: 600;
  cursor: pointer;
}

.qa-7 summary::before,
.qa-7 p::before {
  position: absolute;
  left: 1em;
  font-weight: 600;
  font-size: 1.3em;
}

.qa-7 summary::before {
  color: #75bbff;
  content: "Q";
}

.qa-7 summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid #333333b3;
  border-right: 3px solid #333333b3;
  content: "";
  transition: transform 0.5s;
}

.qa-7[open] summary::after {
  transform: rotate(225deg);
}

.qa-7 p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 0.3em 3em 1.5em;
  color: #333;
  transition: transform 0.5s, opacity 0.5s;
}

.qa-7[open] p {
  transform: none;
  opacity: 1;
}

.qa-7 p::before {
  color: #ff8d8d;
  line-height: 1.2;
  content: "A";
}

#FAQ {
  margin: 0 auto;
  background: #00b1a9;
  padding-top: 90px;
  padding-bottom: 90px;
}

.qa_wrap {
  width: var(--theme-sheet-width-xl);
  margin: 0 auto;
  padding: 0px 7%;
  margin-top: 45px;
}

@media screen and (max-width: 1200px) {
  .qa_wrap {
    width: 90%;
    margin: 0 auto;
    padding: 0px 7%;
    margin-top: 45px;
  }
}

.teacher-ruby {
  margin-top: 0px !important;
  line-height: 100%;
  font-weight: bold;
  font-size: 0.75rem;
}

.teacher-name {
  margin-top: 0px !important;
}

.teacher-span {
  font-weight: bold;
  font-size: 3rem;
  line-height: 140%;
}

.teacher-wrap {
  display: flex;
  gap: 0px 15px;
}

.teacher {
  background-image: url(images/te-back.png);
  background-size: cover;
  position: relative;
  width: 47%;
  height: 540px;
  /* max-width: 550px;
  max-height: 550px; */
  /* min-height: 566px;
  height: 100%; */
  padding: 11px 0px 0px 0px;
}

.te-image {
  margin: 0 auto;
  width: fit-content;
  position: relative;
  right: 0px;
  top: 10px;
}

.te-image img {
  width: 320px;
  height: 320px;
}

.bord_wrap {
  background-image: url(images/bord.png);
  background-size: cover;
  position: absolute;
  bottom: 19%;
  left: 5%;
  width: 153px;
  height: 19%;
  padding: 8px 0px;
  color: #fff;
  display: grid;
  justify-content: center;
  align-items: center;
}

.ma_none {
  margin-top: 0 !important;
  font-size: 0.8rem;
}

.te-text {
  font-size: 0.86rem;
  padding: 10px 100px 10px 20px;
  line-height: 140%;
}

.te-content {
  display: grid;
  flex: 1;
  justify-content: end;
  align-items: center;
}

.teacher-section {
  display: flex;
  gap: 0px 62px;
  margin-top: 40px;
}

.about_span {
  font-size: 1rem;
  font-weight: 700;
}

.ruby-font {
  font-size: 1.4rem;
  font-weight: 300;
}

@media screen and (max-width: 1200px) {
  .teacher {
    width: 50%;
    height: 438px;
  }
  .teacher-span {
    font-size: 2rem;
  }
  .teacher-ruby {
    font-size: 0.65rem;
  }
  .te-image img {
    width: 260px;
    height: 260px;
  }
  .te-image {
    left: -2px;
    top: 16px;
  }
  .bord_wrap {
    position: absolute;
    bottom: 18%;
    left: 3%;
    width: 142px;
    height: 22%;
    padding: 8px 0px;
  }
  .te-text {
    font-size: 0.7rem;
    padding: 10px 75px 0px 15px;
  }
}

@media screen and (max-width: 900px) {
  .bord_wrap {
    bottom: 14%;
    left: 5%;
    width: 204px;
    height: 21%;
    padding: 8px 15px;
    font-size: 12px;
  }
  .teacher {
    width: 90%;
    margin: 0 auto;
    height: 100%;
    /* height: 540px; */
  }
  .te-image img {
    width: 100%;
    height: 100%;
    max-width: 400px;
    max-height: 400px;
  }
  .te-text {
    font-size: 12px;
    padding: 40px 90px 5px 0px;
  }
  .teacher-section {
    display: contents;
  }
  .sp_grid {
    display: grid;
    gap: 40px;
  }
  .te-image {
    margin: 0 auto;
    width: fit-content;
    position: relative;
    left: 0px;
    top: 18px;
  }
}

@media screen and (max-width: 750px) {
  .teacher-wrap {
    gap: 0px 10px;
  }

  .qa_wrap {
    width: 100%;
  }

  .teacher-section {
    display: contents;
  }

  .bord_wrap {
    bottom: 20%;
    left: 3%;
    width: 98px;
    height: 20%;
    padding: 8px 0px;
  }
  .teacher {
    margin: 0 auto;
    min-width: 330px;
    min-height: 330px;
    height: 330px;
    width: 330px;
  }
  .te-image img {
    max-width: 200px;
    max-height: 200px;
  }
  .te-image {
    margin: 0 auto;
    width: fit-content;
    position: relative;
    left: 0%;
    top: 4%;
  }
  .te-text {
    font-size: 9px;
    padding: 9px 60px 5px 10px;
    line-height: 140%;
  }
  .teacher-span {
    font-weight: bold;
    font-size: 1.5rem;
  }
  .teacher-ruby {
    margin-top: 0px !important;
    line-height: 100%;
    font-weight: bold;
    font-size: 0.5rem;
  }
  .ma_none {
    font-size: 0.6rem;
  }
  .sp_grid {
    display: grid;
    gap: 40px;
  }
  p:not(.u-text-variant) {
    margin-top: 6px;
    margin-bottom: 0px;
  }
  .table-scroll {
    overflow-x: scroll;
  }

  .table-cost {
    width: max-content !important;
    white-space: nowrap;
}
}

.Asterisk-span{
  color:#c80000;
  font-weight:bold;
}

.price-red{
  background: #c80000;
    color: #fff !important;
    font-weight: bold !important;
}


.reservation-banner {
  position: fixed;
  bottom: 5%;
  right: 5%;
  width: 150px;
  height: 150px;
  background-color: red;
  color: #fff;
  border-top: 1px solid #ccc;
  padding: 10px;
  border-radius: 100%;
  box-shadow: 0px -2px 5px rgba(0, 0, 0, 0.1);
}

.reservation-content {
  display: flex;
    align-items: baseline;
    justify-content: space-between;
    position: absolute;
    top: 30%;
}

.close-btn {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  color: #000;
  background-color: #fff;
  border-radius: 100%;
  box-shadow: 0px -2px 5px rgba(0, 0, 0, 0.1);10
}

.data-row {
  vertical-align: middle;
}
#contact-font{
  margin-top:0;
  margin-bottom:20px;

}
.attention {
  margin-top: 0;
  font-size: 0.875rem;
}

.price-td {
  width: 100px;
  table-layout: fixed !important;
}


.table_margin {
    margin-bottom: 70px !important;
}

.u-table th, .u-table td {
    padding: 10px;
    font-weight: inherit;
    position: inherit;
    width: fit-content;
}
.cost_title {
    padding: 0.5em !important;
    color: #494949;
    background: #e6f9f8;
    border-left: solid 5px #00b1a9;
    text-align: left;
    font-weight: bold;
}