@charset "utf-8";

/*===== #mv =====*/
#mv {
  position: relative;
  margin-bottom: 10px;
}
#mv .swiper {
  position: relative;
}
#mv .swiper .text-hx {
  width: 40%;
  position: absolute;
  z-index: 10;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

/*===== .nayami =====*/
.nayami .hx {
    border-bottom: 3px solid #0a39a1;
    margin-bottom: 20px;
    padding-bottom: 10px;
    text-align: center;
}
.nayami .hx img {
    max-width: 450px;
    text-align: center;
}
.nayami ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.nayami ul li {
    width: calc((100% - 30px) / 4);
}

/*===== .voice_list =====*/
.voice_list {
  background: #fff0d3;
  padding: 15px 20px 20px;
  margin-bottom: 30px;
}
.voice_list li {
  background: #fff none repeat scroll 0 0;
  border: 1px solid #ddd;
  box-sizing: border-box;
  height: auto;
  line-height: 1.5;
  padding: 10px;
  margin-top: 5px;
}
.voice_list li a {
  color: #555;
  font-weight: bold;
}

/* kuchikomi */
#kchkm .kchkm-box {
    background: #fff9cd;
    padding: 2%;
}
#kchkm .kchkm-box .kchkm-inner {
  background-color: #fff;
  padding: 3% 5%;
  margin: 16px 0;
  height: 300px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap {
  margin: 22px 0;
  border-bottom: dashed 1px #3c3c3c;
  position: relative;
  padding-bottom: 20px;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap:last-child {
  border-bottom: none;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .kchkm-info {
  margin-bottom: 8px;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .kchkm-content .kchkm-star {
  color: #fc3;
  display: inline-block;
  margin-right: 0.5em;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .kchkm-content .kchkm-name {
  font-weight: bold;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .hide {
  display: none;
  margin-bottom: 40px;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap .show:before {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0;
  content: "";
  width: 100%;
  height: 70px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap button.kchkm-btn {
  position: absolute;
  height: 30px;
  width: 100px;
  margin: 20px auto;
  background-color: #414141;
  color: #fff;
  padding: 5px;
  border: none;
  border-radius: 5px;
  outline: 0;
  right: 0;
  left: 0;
  bottom: -10px;
  font-size: 12px;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap button.kchkm-btn:hover {
  cursor: pointer;
}
#kchkm .kchkm-box .kchkm-inner .kchkm-wrap button.kchkm-btn:hover::after {
  top: 10px;
}
#kchkm .kchkm-box .btn {
  display: block;
  padding: 20px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  text-decoration: none;
  border-radius: 10px;
  background-color: #0a39a1;
}
#kchkm .tab {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
}
#kchkm .tab::after {
  width: 24%;
  display: block;
  content:"";
}
#kchkm .tab li {
  width: 49%;
  background-color: #0a39a1;
  border-top: 1px solid #0a39a1;
  border-left: 1px solid #0a39a1;
  border-right: 1px solid #0a39a1;
}
#kchkm .tab li a {
  color: #fff;
  display: block;
  text-align: center;
  padding: 10px 1%;
}
#kchkm .tab li a:hover,
#kchkm .tab .active a {
  border-bottom: 1px solid #fff;
  background-color: #fff;
  cursor: pointer;
  text-decoration: none;
}
#kchkm .tab li a:hover,
#kchkm .tab li.active a {
  color: #0a39a1;
}
#kchkm .tab-content {
  display: none;
}
#kchkm .tab-content.active {
  display: block;
}

/* モーダル */
.modal {
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
  transition: all ease .3s;
  opacity: 0;
}
.modal .bg {
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.modal-content {
  background-color: #fefefe;
  padding: 10px 20px 20px;
  border: 1px solid #888888;
  width: 30%;
}
.modal-content .img img {
    width: 100%;
}
.modal-content button {
    background: none;
    border: none;
}
.close-button {
  color: #aaaaaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.close-button:hover,
.close-button:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* モーダル ライン */
.sp-tel-box {
  padding: 10px 3% 0;
  width: 30% !important;
}
.sp-tel-box ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sp-tel-box li {
  width: 49%;
  margin-bottom: 5px;
}
.sp-tel-box li.close-btn {
  width: 100%;
}
.sp-tel-box li.close-btn {
  margin: 0 0 10px;
}
.sp-tel-box li.close-btn button img {
  width: 50px;
  display: block;
}

/* クリックするとバナー表示 */
html.pushbar_locked {
    overflow: hidden;
    -ms-touch-action: none;
    touch-action: none;
}
.pushbar_locked .pushbar_main_content.pushbar_blur {
    filter: blur(15px);
}
.pushbar_overlay {
    z-index: -999;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    will-change: opacity;
    transition: opacity 0.5s ease;
    opacity: 0;
    background: #3c3442;
}
html.pushbar_locked .pushbar_overlay {
    opacity: 0.8;
    z-index: 999;
}
[data-pushbar-id] {
    z-index: 1000;
    position: fixed;
    overflow-y: auto;
    will-change: transform;
    transition: transform 0.5s ease;
    background: #fff;
}
[data-pushbar-direction="left"][data-pushbar-id], [data-pushbar-direction="right"][data-pushbar-id] {
    top: 0;
    width: 256px;
    max-width: 100%;
    height: 100%;
}
[data-pushbar-direction="top"][data-pushbar-id], [data-pushbar-direction="bottom"][data-pushbar-id] {
    left: 0;
    width: 100%;
    min-height: 150px;
}
[data-pushbar-direction="left"][data-pushbar-id] {
    left: 0;
    transform: translateZ(0) translateX(-100%);
}
[data-pushbar-direction="right"][data-pushbar-id] {
    right: 0;
    transform: translateZ(0) translateX(100%);
}
[data-pushbar-direction="top"][data-pushbar-id] {
    top: 0;
    transform: translateZ(0) translateY(-100%);
}
[data-pushbar-direction="bottom"][data-pushbar-id] {
    bottom: 0;
    transform: translateZ(0) translateY(100%);
}
[data-pushbar-id].opened {
    display: block;
    transform: translateX(0px) translateY(0px);
}

/*------- 追加CSS 料金表 -------*/
.price-box .osusume-box {
    float: left;
    width: 66%;
}
.price-box .osusume-box h3 {
    font-size: 25px;
    margin-bottom: 15px;
    text-align: center;
}
.price-box .osusume-box ul li {
    font-size: 16px;
    border-bottom: 1px dotted #333333;
    padding-bottom: 5px;
    margin-bottom: 5px;
    color: red;
    font-weight: bold;
}
.price-box .syojyo-box {
    text-align: center;
    font-weight: bold;
    border: 3px dashed #ff7100;
    padding: 15px 2%;
}
.price-box .syojyo-box h3 {
    font-size: 25px;
    margin-bottom: 10px;
}
.price-box .syojyo-box p {
    font-size: 17px;
}

/*------- 追加CSS -------*/
.about-btn {
    text-align: center;
    margin-bottom: 30px;
}
.about-btn a {
    display: block;
    text-decoration: none;
    background-color: #ff7714;
    border-radius: 100px;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding: 15px;
    max-width: 350px;
    margin: 0 auto;
}

/*===================================
 ▼初めての方へ
===================================*/
/*===== [support] =====*/
#about .support .support-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#about .support .support-flex .img {
}
#about .support .support-flex .text-box {
    width: 48%;
}
#about .support .support-flex .text-box h3 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 20px;
}
/*===== [upbringing] =====*/
#about .upbringing h3 {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 20px;
    margin-top: 10px;
    text-align: center;
}
/*===== [program] =====*/
#about .program .program-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#about .program .program-flex .img {
}
#about .program .program-flex .text-box {
    width: 48%;
}
#about .program .program-flex .text-box h3 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 20px;
}
/*===== [body] =====*/
#about .body .text-center {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    margin: 10px 0;
}
/*===== [info] =====*/
#about .info {
    display: flex;
    justify-content: space-between;
}
#about .info ul {
    width: 49%;
    box-sizing: border-box;
    padding: 5px 0;
    border-radius: 10px;
    border: 3px solid #ddd;
    text-align: center;
    margin-top: 28px;
}
#about .info ul li {
    margin-bottom: 5px;
    margin-top: 5px;
}

.price-point {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
.price-point .box {
    width: 32%;
}
.price-point .box .text {
    text-align: center;
    margin-bottom: 10px;
}
.price-point .box .img img {
    width: 100%;
    height: 153px;
    object-fit: contain;
}