@charset "UTF-8";
/*///////////////////////////////////////////////////
//
//            ▼ ベース設定 ▼
//
///////////////////////////////////////////////////*/
html {
  color: #111;
  font-size: calc(12px + 4 * (100vw - 768px) / 912);
  font-family: "Noto Serif JP", serif;
  line-height: 2;
}

@media screen and (min-width: 1680px) {
  html {
    font-size: 16px;
  }
}
a {
  color: #111;
  display: block;
}

#wrapper {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  height: auto;
  overflow: hidden;
}

section,
.section {
  width: 100%;
  height: auto;
  position: relative;
}

.l_container {
  width: 95%;
  margin: 0 auto;
  max-width: 1680px;
}

.container {
  width: 90%;
  margin: 0 auto;
  max-width: 1280px;
}

.m_container {
  width: 90%;
  margin: 0 auto;
  max-width: 1080px;
}

.s_container {
  width: 90%;
  margin: 0 auto;
  max-width: 960px;
}

/* @media screen and (min-width:1540px) {
	.l_container {
		max-width: 1680px;
	}

	.container {
		max-width: 1480px;
	}
}

@media screen and (min-width:1280px) and (max-width:1539px) {
	html {
		font-size: 15px;
	}

	.container {
		max-width: 1280px;
	}
}

@media screen and (min-width:768px) and (max-width:1279px) {
	html {
		font-size: 14px;
	}

	.container {
		max-width: none;
	}
} */
.is_sp {
  display: none;
}

.is_tab {
  display: none;
}

@media screen and (min-width: 751px) and (max-width: 1025px) {
  /* html {
  	font-size: 13px;
  } */
  .is_hidden_tab {
    display: none;
  }
  .is_tab {
    display: block;
  }
}
.objectCover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: "object-fit: cover;object-position: 50% 50%;";
}

.objectContain {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  font-family: "object-fit: contain;object-position: 50% 50%;";
}

.point_reader {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.preload * {
  transition: none;
}

a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ アニメーション ▼
//
///////////////////////////////////////////////////*/
.fadein {
  transition: transform 0.6s, opacity 0.6s;
  transform: translate(0, 50px);
  opacity: 0;
}
.fadein.active {
  transform: translate(0, 0);
  opacity: 1;
}

@keyframes circleanime {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}
@keyframes circleanime02 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.03, 1.06);
    opacity: 0;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ 共通 ▼
//
///////////////////////////////////////////////////*/
.en01 {
  font-family: "Cormorant Garamond", serif;
}

.en02 {
  font-family: "Monsieur La Doulaise", cursive;
}

.section_ttl {
  text-align: center;
}
.section_ttl figure {
  display: inline-block;
  width: 17rem;
}
.section_ttl span {
  font-size: 6.875rem;
  color: #e4007f;
  line-height: 100%;
  margin: 2rem 0;
  display: block;
  font-weight: 700;
}
.section_ttl h2 {
  font-size: 1.375rem;
  font-weight: 700;
}

.box_shadow {
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
}

s {
  text-decoration: line-through;
  text-decoration-color: red;
}

.red {
  color: #ff0000;
}

.btn,
.btn02 {
  width: 26.25rem;
  margin: 0 auto;
}
.btn a,
.btn02 a {
  background: #e4007f;
  padding: 0.5rem;
  border-radius: 10px;
  transition: 0.3s;
  position: relative;
}
.btn a:hover,
.btn02 a:hover {
  background: #ec4da5;
}
.btn a:hover::after,
.btn02 a:hover::after {
  opacity: 1;
  animation: 1.5s circleanime02 forwards;
}
.btn a:hover .inner::before,
.btn02 a:hover .inner::before {
  right: 0.25rem;
}
.btn a:hover .inner span,
.btn02 a:hover .inner span {
  letter-spacing: 0.025rem;
}
.btn a::after,
.btn02 a::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  border-radius: 10px;
  border: solid 1px #e4007f;
  opacity: 0;
}
.btn a .inner,
.btn02 a .inner {
  padding: 2.5rem 0;
  border: solid 1px #fff;
  border-radius: 10px;
  position: relative;
  text-align: center;
}
.btn a .inner::before,
.btn02 a .inner::before {
  position: absolute;
  z-index: 3;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 0.5rem;
  width: 0.8125rem;
  height: 1.25rem;
  background: url(../images/common/btn_arrow.png) no-repeat center;
  transition: 0.3s;
}
.btn a .inner span,
.btn02 a .inner span {
  color: #fff;
  font-size: 1.25rem;
  display: inline-block;
  transition: 0.8s;
}

.btn02 {
  animation: btn 3.5s ease infinite;
}

@keyframes btn {
  0% {
    transform: translateX(0);
  }
  5% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-15px);
  }
  25% {
    transform: translateX(0);
  }
  30% {
    transform: translateX(-15px);
  }
  50% {
    transform: translateX(0);
  }
  70% {
    transform: translateX(-15px);
  }
  75% {
    transform: translateX(0);
  }
  80% {
    transform: translateX(-15px);
  }
  100% {
    transform: translateX(0);
  }
}
.side {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 18.125rem;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
}
.side.active {
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}
.side.hidden {
  opacity: 0;
  visibility: hidden;
}
.side a {
  background: #fff;
  border: solid 2px #8a6f11;
  position: relative;
  padding: 0.25rem;
}
.side a::before {
  position: absolute;
  content: "";
  top: -1.631875rem;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 11.0625rem;
  height: 1.631875rem;
  background: url(../images/common/aside_icon01.png) no-repeat center/contain;
}
.side a::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 4.875rem;
  height: 3.5rem;
  background: url(../images/common/aside_icon02.png) no-repeat center/cover;
}
.side a .inner {
  border: solid 1px #8a6f11;
  color: #8a6f11;
  text-align: center;
  width: 100%;
}
.side a .inner .txt_wrap {
  width: 85%;
  margin: 0 auto;
  padding: 0.625rem 0 1.125rem 0;
}
.side a .inner .txt_wrap .ttl_wrap {
  margin: 0 0 0.625rem;
}
.side a .inner .txt_wrap .ttl_wrap .en02 {
  font-size: 1.375rem;
}
.side a .inner .txt_wrap .ttl_wrap h2 {
  font-weight: 900;
  font-size: 1rem;
  line-height: 1.5;
}
.side a .inner .txt_wrap .line_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.625rem 0;
  background: linear-gradient(268.36deg, #8a6f11 1.84%, #b6a159 49.15%, #8a6f11 98.48%);
  border-radius: 5px;
}
.side a .inner .txt_wrap .line_btn .icon {
  font-size: 1.25rem;
  color: #fff;
  margin: 0 0.25rem 0 0;
}
.side a .inner .txt_wrap .line_btn p {
  font-size: 1rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}

.disabled-link {
  pointer-events: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ ローディングアニメーション ▼
//
///////////////////////////////////////////////////*/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 55000;
  background: linear-gradient(253.03deg, #eed5f6 0%, #ffffff 52.25%, #eed5f6 100.55%);
  transition: 1.5s 2.8s;
  opacity: 1;
  visibility: visible;
}
.loading.loaded {
  opacity: 0;
  visibility: hidden;
}
.loading.loaded .box {
  opacity: 0;
  transform: scale(1.05);
}
.loading .box {
  margin: 0 auto;
  text-align: center;
  transition: 1s 2.5s;
  opacity: 1;
}
.loading .box .logo {
  width: 7.5rem;
  margin: 0 auto;
}
.loading .box .txt {
  font-size: 1.75rem;
  line-height: 1;
  color: #e4007f;
  margin: 2.5rem 0 0;
  font-weight: 700;
  letter-spacing: 0.1rem;
}
.loading .box .txt span {
  opacity: 0;
  animation: txt_fade 1s normal forwards;
}
.loading .box .txt span:first-of-type {
  animation-delay: 0.1s;
}
.loading .box .txt span:nth-of-type(2) {
  animation-delay: 0.3s;
}
.loading .box .txt span:nth-of-type(3) {
  animation-delay: 0.4s;
}
.loading .box .txt span:nth-of-type(4) {
  animation-delay: 0.5s;
}
.loading .box .txt span:nth-of-type(5) {
  animation-delay: 0.6s;
}
.loading .box .txt span:nth-of-type(6) {
  animation-delay: 0.7s;
}
.loading .box .txt span:nth-of-type(7) {
  animation-delay: 0.8s;
}
.loading .box .txt span:nth-of-type(8) {
  animation-delay: 0.9s;
}
.loading .box .txt span:nth-of-type(9) {
  animation-delay: 1s;
}
.loading .box .txt span:nth-of-type(10) {
  animation-delay: 1.1s;
}
.loading .box .txt span:nth-of-type(11) {
  animation-delay: 1.3s;
}
.loading .box .txt span:nth-of-type(12) {
  animation-delay: 1.4s;
}

@keyframes txt_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.loading_lower {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 55000;
  background: linear-gradient(253.03deg, #ecd1d7 0%, #ffffff 52.25%, #ecd1d7 100.55%);
  transition: 1s 0.4s;
  opacity: 1;
  visibility: visible;
}
.loading_lower.loaded {
  opacity: 0;
  visibility: hidden;
}
.loading_lower.loaded .box {
  opacity: 0;
  transform: scale(1.05);
}
.loading_lower .box {
  margin: 0 auto;
  text-align: center;
  transition: 1s 0.3s;
  opacity: 1;
}
.loading_lower .box .logo {
  width: 7.5rem;
  margin: 0 auto;
}
.loading_lower .box .txt {
  font-size: 1.75rem;
  line-height: 1;
  color: #e4007f;
  margin: 2.5rem 0 0;
  font-weight: 700;
  letter-spacing: 0.1rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ ナビ ▼
//
///////////////////////////////////////////////////*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50000;
}
header .header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 8.375rem;
  z-index: 50000;
  transition: 0.3s;
  width: 97.3%;
  margin: 0 0 0 auto;
}
header .header_inner .logo_top,
header .header_inner .logo_lower {
  line-height: 1;
  max-width: 3.5rem;
  display: flex;
  align-items: center;
}
header .header_inner .logo_top a,
header .header_inner .logo_lower a {
  width: 100%;
}
header .header_inner .logo_top a img,
header .header_inner .logo_lower a img {
  display: block;
  width: 100%;
  height: auto;
}
header .header_inner .logo_top {
  opacity: 0;
}
header .header_inner .logo_lower {
  opacity: 1;
}
header .header_inner .box_r {
  display: flex;
  margin: 0 0 0 auto;
  height: 100%;
}
header .header_inner .box_r .phone {
  width: 350px;
  color: #e4007f;
  margin: 0 1.75rem 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  transition: 0.3s;
}
header .header_inner .box_r .phone .flex {
  display: flex;
  align-items: baseline;
  width: 100%;
  justify-content: right;
}
header .header_inner .box_r .phone .flex .fa-phone {
  margin: 0 0 0.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header_inner .box_r .phone .flex .fa-phone:before {
  font-weight: 900;
  font-size: 2.4rem;
  transition: 0.3s;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header .header_inner .box_r .phone .flex .fa-phone:before {
    font-size: 2rem;
  }
}
header .header_inner .box_r .phone .flex .num {
  font-size: 3rem;
  margin: 0 0 0 0.5rem;
  letter-spacing: 0.02rem;
  text-wrap: nowrap;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header .header_inner .box_r .phone .flex .num {
    font-size: 2.5rem;
  }
}
header .header_inner .box_r .phone .small {
  text-align: right;
  margin: -1.5rem 0 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header .header_inner .box_r .phone .small {
    font-size: 0.9rem;
    margin: -1rem 0 0;
  }
}
header .header_inner .box_r .insta {
  width: 8.375rem;
  margin: 0 0.0625rem 0 0;
  transition: 0.3s;
}
header .header_inner .box_r .insta a {
  background: #e4007f;
  width: 100%;
  height: 100%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s;
}
header .header_inner .box_r .insta a:hover {
  background: #ec4da5;
}
header .header_inner .box_r .insta a .txt_wrap .fa-instagram {
  position: absolute;
  top: 22.63%;
  transform: translateX(-50%);
  margin: 0 auto;
  transition: 0.3s;
  font-weight: 100;
}
header .header_inner .box_r .insta a .txt_wrap .fa-instagram:before {
  font-weight: 400;
  font-size: 3rem;
  transition: 0.3s;
}
header .header_inner .box_r .insta a .txt_wrap .icon {
  position: absolute;
  top: 24.63%;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 3rem;
  transition: 0.3s;
  font-weight: 100;
}
header .header_inner .box_r .insta a .txt_wrap .contact_txt {
  position: absolute;
  bottom: 24.63%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  line-height: 1;
  text-align: center;
  transition: 0.3s;
}
header .header_inner .box_r .contact {
  width: 8.375rem;
  transition: 0.3s;
}
header .header_inner .box_r .contact a {
  background: #e4007f;
  width: 100%;
  height: 100%;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s;
}
header .header_inner .box_r .contact a:hover {
  background: #ec4da5;
}
header .header_inner .box_r .contact a .txt_wrap .fa-envelope {
  position: absolute;
  top: 24.63%;
  transform: translateX(-50%);
  margin: 0 auto;
  transition: 0.3s;
}
header .header_inner .box_r .contact a .txt_wrap .fa-envelope:before {
  transition: 0.3s;
  font-size: 2.875rem;
  font-weight: 400;
}
header .header_inner .box_r .contact a .txt_wrap .contact_txt {
  position: absolute;
  bottom: 24.63%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  line-height: 1;
  text-align: center;
  transition: 0.3s;
}
header .header_inner .box_r .menu_open {
  background: #fff;
  width: 8.375rem;
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}
header .header_inner .box_r .menu_open .span_wrap {
  position: absolute;
  top: 20%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 32.83%;
  height: 3.625rem;
}
header .header_inner .box_r .menu_open .span_wrap span {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #111;
  width: 100%;
  height: 1px;
  transition: 0.3s;
}
header .header_inner .box_r .menu_open .span_wrap span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(15px);
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header .header_inner .box_r .menu_open .span_wrap span:nth-of-type(1) {
    transform: translate(-50%, -50%) translateY(10px);
  }
}
header .header_inner .box_r .menu_open .span_wrap span:nth-of-type(2) {
  transform: translate(-50%, -50%);
}
header .header_inner .box_r .menu_open .span_wrap span:nth-of-type(3) {
  transform: translate(-50%, -50%) translateY(-15px);
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header .header_inner .box_r .menu_open .span_wrap span:nth-of-type(3) {
    transform: translate(-50%, -50%) translateY(-10px);
  }
}
header .header_inner .box_r .menu_open.active span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
header .header_inner .box_r .menu_open.active span:nth-of-type(2) {
  opacity: 0;
}
header .header_inner .box_r .menu_open.active span:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
header .header_inner .box_r .menu_open .menu_txt {
  position: absolute;
  bottom: 24.63%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  line-height: 1;
  text-align: center;
  transform: 0.5s;
}
header .header_inner nav {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: linear-gradient(253.03deg, #ecd1d7 0%, #ffffff 52.25%, #ecd1d7 100.55%);
  transition: 0.3s;
  visibility: hidden;
  opacity: 0;
  display: flex;
  justify-content: center;
  overflow: scroll;
}
header .header_inner nav.active {
  visibility: visible;
  opacity: 1;
}
header .header_inner nav ul {
  margin: 10rem 0 0;
}
header .header_inner nav ul li {
  margin: 0 0 0.625rem;
  text-align: center;
}
header .header_inner nav ul li a {
  color: #e4007f;
  display: flex;
  flex-direction: column;
  align-items: center;
  display: inline-block;
}
header .header_inner nav ul li a .en01 {
  font-size: 3.625rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) and (max-width: 1540px) {
  header .header_inner nav ul li a .en01 {
    font-size: 3rem;
  }
}
header .header_inner nav ul li a .jp {
  font-size: 1.125rem;
  font-weight: 700;
  display: block;
  margin: -2rem 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1520px) {
  header .header_inner nav ul li a .jp {
    font-size: 1rem;
  }
}
header.active .header_inner {
  height: 6.5625rem;
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  header.active .header_inner {
    padding: 0 0 0 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header.active .header_inner {
    padding: 0 0 0 1.25rem;
  }
}
header.active .header_inner .logo_top,
header.active .header_inner .loading_lower {
  opacity: 1;
}
header.active .header_inner .box_r {
  display: flex;
}
header.active .header_inner .box_r .phone .flex .icon {
  font-size: 2.625rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header.active .header_inner .box_r .phone .flex .icon {
    font-size: 2rem;
  }
}
header.active .header_inner .box_r .phone .flex .fa-phone:before {
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header.active .header_inner .box_r .phone .flex .fa-phone:before {
    font-size: 2rem;
  }
}
header.active .header_inner .box_r .phone .flex .num {
  font-size: 2.625rem;
}
header.active .header_inner .box_r .phone .small {
  font-size: 0.9rem;
  text-align: right;
  margin: -1.5rem 0 0;
}
header.active .header_inner .box_r .insta {
  width: 6.5625rem;
}
header.active .header_inner .box_r .insta a .txt_wrap .fa-instagram:before {
  font-size: 2.125rem;
}
header.active .header_inner .box_r .contact {
  width: 6.5625rem;
}
header.active .header_inner .box_r .contact a .txt_wrap .fa-envelope:before {
  font-size: 2rem;
}
header.active .header_inner .box_r .menu_open {
  width: 6.5625rem;
}
header.active .header_inner .box_r .menu_open .span_wrap {
  top: 10%;
}
header.active .header_inner .box_r .menu_open .span_wrap span:nth-of-type(1) {
  transform: translate(-50%, -50%) translateY(9px);
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header.active .header_inner .box_r .menu_open .span_wrap span:nth-of-type(1) {
    transform: translate(-50%, -50%) translateY(5px);
  }
}
header.active .header_inner .box_r .menu_open .span_wrap span:nth-of-type(2) {
  transform: translate(-50%, -50%);
}
header.active .header_inner .box_r .menu_open .span_wrap span:nth-of-type(3) {
  transform: translate(-50%, -50%) translateY(-9px);
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  header.active .header_inner .box_r .menu_open .span_wrap span:nth-of-type(3) {
    transform: translate(-50%, -50%) translateY(-5px);
  }
}
header.active .header_inner .box_r .menu_open.active span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
header.active .header_inner .box_r .menu_open.active span:nth-of-type(2) {
  opacity: 0;
}
header.active .header_inner .box_r .menu_open.active span:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
header.active .header_inner .box_r .menu_open .menu_txt {
  position: absolute;
  bottom: 24.63%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  line-height: 1;
  text-align: center;
  transform: 0.5s;
}

/*///////////////////////////////////////////////////
//
//            ▼ フッター ▼
//
///////////////////////////////////////////////////*/
footer {
  margin: 8.25rem 0 0;
  padding: 5.3125rem 0 1.375rem;
  background: url(../images/common/footer_bg.jpg) no-repeat center/cover;
  position: relative;
}
footer::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: #e4007f;
}
footer .box {
  text-align: center;
  font-weight: 700;
  font-size: 1.25rem;
  color: #e4007f;
  margin: 0 0 6.875rem;
}
footer .box .logo {
  width: 5.0625rem;
  margin: 0 auto;
}
footer .box .ttl {
  margin: 1.625rem 0 2.25rem;
}
footer .box .ttl .company_name {
  font-size: 2.25rem;
}
footer .box .footer_info {
  margin: 0 0 3rem;
}
footer .box .footer_info p {
  margin: 0 0 2rem;
}
footer .box .nav {
  display: flex;
  justify-content: space-between;
}
footer .box .nav li a {
  font-size: 1rem;
  color: #e4007f;
  transition: 0.3s;
}
footer .box .nav li a:hover {
  opacity: 0.5;
}
footer .copyright p {
  font-size: 0.75rem;
  color: #e4007f;
  text-align: center;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ01 ▼
//
///////////////////////////////////////////////////*/
.top01::before, .top01::after {
  position: absolute;
  content: "";
  z-index: 2;
  width: 3.23%;
  height: 27.4375rem;
}
.top01::before {
  bottom: 1.85%;
  left: 0;
  background: url(../images/top/mv_rose_l.png) no-repeat center bottom/contain;
}
.top01::after {
  top: 16.85%;
  right: 0;
  background: url(../images/top/mv_rose_r.png) no-repeat center bottom/contain;
}
.top01 .mv {
  width: 100%;
  height: 100vh;
  min-height: 64rem;
  position: relative;
}
.top01 .mv img {
  object-position: 50% 1%;
}
.top01 .mv::before, .top01 .mv::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.top01 .mv::before {
  width: 98.96%;
  height: 98.96%;
  border: solid 2px #8a6f11;
}
.top01 .mv::after {
  width: calc(98.96% - 10px);
  height: calc(98.96% - 10px);
  border: solid 1px #8a6f11;
}
.top01 h1 {
  position: absolute;
  top: 15%;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  width: 5.3125rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top01 h1 {
    top: 20%;
  }
}
.top01 .copy {
  position: absolute;
  top: 26%;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  color: #e4007f;
  line-height: 1.45;
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .top01 .copy {
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top01 .copy {
    top: 34%;
    line-height: 1.5;
  }
}
.top01 .copy .copy_in {
  display: inline-block;
  padding: 0 0 0 18rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top01 .copy .copy_in {
    padding: 0 0 0 5rem;
  }
}
.top01 .copy .copy_in .line {
  display: flex;
  justify-content: left;
}
.top01 .copy .copy_in .line:nth-of-type(2) {
  align-items: baseline;
}
.top01 .copy .copy_in .line:nth-of-type(2) .large {
  letter-spacing: 3.4px;
}
.top01 .copy .copy_in .line:nth-of-type(3) {
  align-items: flex-end;
}
.top01 .copy .copy_in .line:nth-of-type(3) .large {
  letter-spacing: 3.8px;
  margin: 0 1.03125rem 0 0;
}
.top01 .copy .copy_in .line .large {
  font-size: 5rem;
}
.top01 .copy .copy_in .line .small {
  font-size: 1.875rem;
  margin: 0 0 0 0.5rem;
  letter-spacing: 0.15em;
}
.top01 .copy .copy_in .line .middle {
  font-size: 3rem;
  letter-spacing: 0.15em;
}
.top01 .copy .copy_in .line .span_wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin: 0 0 0.125rem;
  padding-bottom: 0.7rem;
}
.top01 .news {
  position: absolute;
  top: 4%;
  left: 6.25%;
  width: 23.5rem;
  height: 24.9375rem;
  background: url(../images/top/news_bg.png) no-repeat center/contain;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #e4007f;
  text-align: center;
}
@media screen and (min-width: 1440px) and (max-width: 1700px) {
  .top01 .news {
    top: 2%;
    left: 2%;
  }
}
@media screen and (min-width: 1280px) and (max-width: 1439.999px) {
  .top01 .news {
    width: 18.75rem;
    top: -1%;
    left: 2%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .top01 .news {
    width: 16.75rem;
    top: -1%;
    left: 2%;
  }
}
.top01 .news .news_in .ttl {
  padding: 0 0 0.53625rem;
  margin: 0 0 0.875rem;
  position: relative;
}
.top01 .news .news_in .ttl::before {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 10%;
  height: 1px;
  background: #8a6f11;
}
.top01 .news .news_in .ttl .en02 {
  font-size: 3.25rem;
  line-height: 1;
}
@media screen and (min-width: 1280px) and (max-width: 1439.999px) {
  .top01 .news .news_in .ttl .en02 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .top01 .news .news_in .ttl .en02 {
    font-size: 2rem;
  }
}
.top01 .news .news_in .ttl .jp {
  font-size: 1rem;
  font-weight: 900;
}
.top01 .news .news_in .txt {
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: -0.05rem;
}
@media screen and (min-width: 1280px) and (max-width: 1439.999px) {
  .top01 .news .news_in .txt {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .top01 .news .news_in .txt {
    font-size: 0.9rem;
  }
}
.top01 .news .news_in .txt span {
  position: relative;
}
.top01 .news .news_in .txt span::before {
  transform: translateY(2px);
}
.top01 .news .news_in .txt span::after {
  transform: translateY(-2px);
}
.top01 .circle_wrap {
  position: absolute;
  top: 70%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 39.625rem;
}
.top01 .circle_wrap .item {
  width: 11.9375rem;
  height: 11.9375rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  border: solid 1px #8a6f11;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #8a6f11;
  font-weight: 900;
  position: relative;
}
.top01 .circle_wrap .item::before {
  position: absolute;
  content: "";
  top: 1.375rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 2.25rem;
  height: 2.25rem;
  background: url(../images/top/rose.png) no-repeat center/contain;
}
.top01 .circle_wrap .item:after {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 11.3125rem;
  height: 11.3125rem;
  border-radius: 50%;
  border: solid 0.5px #8a6f11;
}
.top01 .circle_wrap .item:nth-of-type(1) {
  font-size: 1.125rem;
}
.top01 .circle_wrap .item:nth-of-type(1) span {
  font-size: 1.25rem;
}
.top01 .circle_wrap .item:nth-of-type(2) p {
  font-size: 1.25rem;
}
.top01 .circle_wrap .item:nth-of-type(2) p span {
  font-size: 1.25rem;
}
.top01 .circle_wrap .item:nth-of-type(3) {
  font-size: 1.125rem;
}
.top01 .circle_wrap .item:nth-of-type(3) p {
  margin: 1.2rem 0 0;
}
.top01 .circle_wrap .item p {
  margin: 1.5rem 0 0;
  line-height: 1.75;
}
.top01 .circle_wrap .item p span {
  font-size: 1.25rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ02 ▼
//
///////////////////////////////////////////////////*/
.top02 {
  margin: 7.8125rem 0;
}
.top02 .box_outer .video_wrap_outer .video_wrap {
  width: 100%;
  overflow: hidden;
  padding: 1.375rem 1.375rem 0.8rem 1.375rem;
  background: #fff;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
  position: relative;
}
.top02 .box_outer .video_wrap_outer .video_wrap video {
  width: 100%;
}
.top02 .box_outer .video_wrap_outer .txt {
  margin: 1rem 0 0 auto;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: end;
}
.top02 .box_outer .video_wrap_outer .txt span {
  font-size: 1.2rem;
}
.top02 .box_outer .video_wrap_outer .txt a {
  color: #e4007f;
  transition: 0.3s;
  line-height: 100%;
  font-size: 1.2rem;
}
.top02 .box_outer .video_wrap_outer .txt a:hover {
  opacity: 0.7;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ02_追加 ▼
//
///////////////////////////////////////////////////*/
.top02_add {
  margin: 0 0 7.8125rem;
}
.top02_add .box {
  text-align: center;
}
.top02_add .box h2 {
  color: #e4007f;
  font-size: 3rem;
  line-height: 1.8;
  margin: 0 0 2rem;
}
.top02_add .box h3 {
  font-size: 2.25rem;
  line-height: 1.8;
  margin: 0 0 1.75rem;
}
.top02_add .box p {
  font-size: 1.1875rem;
  margin: 0 0 1.25rem;
}
.top02_add .box p .is_large {
  display: none;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .top02_add .box p .is_large {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top02_add .box p .is_large {
    display: block;
  }
}
.top02_add .box .large {
  font-weight: 700;
  font-size: 1.5rem;
}
.top02_add .box .large02 {
  font-size: 1.75rem;
  font-weight: 700;
}
.top02_add .box .line {
  border-bottom: solid 1px #e4007f;
}
.top02_add .box .note {
  color: #e4007f;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ02_追加受講生の声 ▼
//
///////////////////////////////////////////////////*/
.top02_add02 {
  margin: 0 0 8.44rem;
  padding: 8.75rem 0 9.1rem;
  background: linear-gradient(253.03deg, #faedfe 0%, rgba(236, 209, 215, 0) 52.25%, #faedfe 100.55%);
}
.top02_add02 .box {
  margin: 3.75rem 0 0;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 3.44rem;
}
.top02_add02 .box .item {
  width: 47%;
  position: relative;
  z-index: 1;
  filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.25));
}
.top02_add02 .box .item .inner_wrap {
  padding: 2.44rem 3.69rem;
  width: 100%;
  position: relative;
  z-index: 1;
}
.top02_add02 .box .item .inner_wrap .inner01 {
  display: flex;
  padding-bottom: 1.25rem;
  align-items: center;
  gap: 2.125rem;
  align-self: stretch;
  border-bottom: 1px solid #8a6f11;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top02_add02 .box .item .inner_wrap .inner01 {
    gap: 1.25rem;
  }
}
.top02_add02 .box .item .inner_wrap .inner01 figure {
  width: 29.0598290598%;
}
.top02_add02 .box .item .inner_wrap .inner01 .txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.0625rem;
  flex-shrink: 0;
  width: 70.9401709402%;
}
.top02_add02 .box .item .inner_wrap .inner01 .txt .name {
  color: var(--TextColor, #111);
  font-weight: 400;
  line-height: 100%; /* 1rem */
}
.top02_add02 .box .item .inner_wrap .inner01 .txt h3 {
  color: #e4007f;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 150%; /* 2.4375rem */
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top02_add02 .box .item .inner_wrap .inner01 .txt h3 {
    font-size: 1.2rem;
  }
}
.top02_add02 .box .item .inner_wrap p {
  margin: 1rem 0 0;
  color: var(--TextColor, #111);
  font-size: 1rem;
  font-weight: 400;
  line-height: 2rem; /* 200% */
}
.top02_add02 .box .item .bg_img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.top02_add02 .box .item .bg_img img {
  width: 100%;
  height: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ03 ▼
//
///////////////////////////////////////////////////*/
.top03::before {
  position: absolute;
  z-index: -2;
  content: "";
  bottom: -13rem;
  left: 0;
  width: 68.49%;
  height: 100%;
  background: linear-gradient(253.03deg, #faedfe 0%, rgba(236, 209, 215, 0) 52.25%, #faedfe 100.55%);
}
.top03::after {
  position: absolute;
  content: "Lesson Video";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 11.25rem;
  line-height: 1;
  color: #e4007f;
  bottom: -11rem;
  left: 6.25%;
}
.top03 .video_wrap {
  width: 100%;
  overflow: hidden;
  padding: 1.375rem;
  background: #fff;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
  position: relative;
}
.top03 .video_wrap video {
  width: 100%;
  display: block;
}
.top03 .video_wrap .play_btn {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.top03 .video_wrap .play_btn.playActive {
  display: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ04 ▼
//
///////////////////////////////////////////////////*/
.top04 {
  margin: 22rem 0 0;
}
.top04 .section_ttl {
  margin: 0 0 1.25rem;
}
.top04 .intro {
  text-align: center;
  font-weight: 600;
  margin: 0 0 4.1875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
}
.top04 .intro .intro_in {
  height: 11.875rem;
}
.top04 .fade_scale {
  overflow: hidden;
  position: relative;
  width: 2rem;
  height: 4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* 文字ごとの遅延時間を設定 */
}
.top04 .fade_scale .fade_scale_in {
  position: relative;
  font-size: 0rem;
  transition: 0.5s ease-in-out;
  transform-origin: center;
  opacity: 0; /* 初期状態では非表示 */
  transform: translateY(100%);
  color: #e4007f;
}
.top04 .fade_scale.active .fade_scale_in {
  opacity: 1;
  font-size: 2rem;
  transform: translateY(0);
}
.top04 .fade_scale:nth-child(1) .fade_scale_in {
  transition-delay: 0.1s;
}
.top04 .fade_scale:nth-child(2) .fade_scale_in {
  transition-delay: 0.2s;
}
.top04 .fade_scale:nth-child(3) .fade_scale_in {
  transition-delay: 0.3s;
}
.top04 .fade_scale:nth-child(4) .fade_scale_in {
  transition-delay: 0.4s;
}
.top04 .fade_scale:nth-child(5) .fade_scale_in {
  transition-delay: 0.5s;
}
.top04 .fade_scale:nth-child(6) .fade_scale_in {
  transition-delay: 0.6s;
}
.top04 .fade_scale:nth-child(7) .fade_scale_in {
  transition-delay: 0.7s;
}
.top04 .fade_scale:nth-child(8) .fade_scale_in {
  transition-delay: 0.8s;
}
.top04 .fade_scale:nth-child(9) .fade_scale_in {
  transition-delay: 0.9s;
}
.top04 .fade_scale:nth-child(10) .fade_scale_in {
  transition-delay: 1s;
}
.top04 .fade_scale:nth-child(11) .fade_scale_in {
  transition-delay: 1.1s;
}
.top04 .fade_scale:nth-child(12) .fade_scale_in {
  transition-delay: 1.2s;
}
.top04 .fade_scale:nth-child(13) .fade_scale_in {
  transition-delay: 1.3s;
}
.top04 .fade_scale:nth-child(14) .fade_scale_in {
  transition-delay: 1.4s;
}
.top04 .fade_scale:nth-child(15) .fade_scale_in {
  transition-delay: 1.5s;
}
.top04 .fade_scale:nth-child(16) .fade_scale_in {
  transition-delay: 1.6s;
}
.top04 .fade_scale:nth-child(17) .fade_scale_in {
  transition-delay: 1.7s;
}
.top04 .fade_scale:nth-child(18) .fade_scale_in {
  transition-delay: 1.8s;
}
.top04 .fade_scale:nth-child(19) .fade_scale_in {
  transition-delay: 1.9s;
}
.top04 .fade_scale:nth-child(20) .fade_scale_in {
  transition-delay: 2s;
}
.top04 .fade_scale:nth-child(21) .fade_scale_in {
  transition-delay: 2.1s;
}
.top04 .fade_scale:nth-child(22) .fade_scale_in {
  transition-delay: 2.2s;
}
.top04 .fade_scale:nth-child(23) .fade_scale_in {
  transition-delay: 2.3s;
}
.top04 .fade_scale:nth-child(24) .fade_scale_in {
  transition-delay: 2.4s;
}
.top04 .fade_scale:nth-child(25) .fade_scale_in {
  transition-delay: 2.5s;
}
.top04 .fade_scale:nth-child(26) .fade_scale_in {
  transition-delay: 2.6s;
}
.top04 .fade_scale:nth-child(27) .fade_scale_in {
  transition-delay: 2.7s;
}
.top04 .fade_scale:nth-child(28) .fade_scale_in {
  transition-delay: 2.8s;
}
.top04 .fade_scale:nth-child(29) .fade_scale_in {
  transition-delay: 2.9s;
}
.top04 .fade_scale:nth-child(30) .fade_scale_in {
  transition-delay: 3s;
}
.top04 .fade_scale:nth-child(31) .fade_scale_in {
  transition-delay: 3.1s;
}
.top04 .fade_scale:nth-child(32) .fade_scale_in {
  transition-delay: 3.2s;
}
.top04 .fade_scale:nth-child(33) .fade_scale_in {
  transition-delay: 3.3s;
}
.top04 .fade_scale:nth-child(34) .fade_scale_in {
  transition-delay: 3.4s;
}
.top04 .fade_scale:nth-child(35) .fade_scale_in {
  transition-delay: 3.5s;
}
.top04 .fade_scale:nth-child(36) .fade_scale_in {
  transition-delay: 3.6s;
}
.top04 .fade_scale:nth-child(37) .fade_scale_in {
  transition-delay: 3.7s;
}
.top04 .fade_scale:nth-child(38) .fade_scale_in {
  transition-delay: 3.8s;
}
.top04 .fade_scale:nth-child(39) .fade_scale_in {
  transition-delay: 3.9s;
}
.top04 .fade_scale:nth-child(40) .fade_scale_in {
  transition-delay: 4s;
}
.top04 .fade_scale:nth-child(41) .fade_scale_in {
  transition-delay: 4.1s;
}
.top04 .fade_scale:nth-child(42) .fade_scale_in {
  transition-delay: 4.2s;
}
.top04 .fade_scale:nth-child(43) .fade_scale_in {
  transition-delay: 4.3s;
}
.top04 .fade_scale:nth-child(44) .fade_scale_in {
  transition-delay: 4.4s;
}
.top04 .fade_scale:nth-child(45) .fade_scale_in {
  transition-delay: 4.5s;
}
.top04 .fade_scale:nth-child(46) .fade_scale_in {
  transition-delay: 4.6s;
}
.top04 .fade_scale:nth-child(47) .fade_scale_in {
  transition-delay: 4.7s;
}
.top04 .fade_scale:nth-child(48) .fade_scale_in {
  transition-delay: 4.8s;
}
.top04 .fade_scale:nth-child(49) .fade_scale_in {
  transition-delay: 4.9s;
}
.top04 .fade_scale:nth-child(50) .fade_scale_in {
  transition-delay: 5s;
}
.top04 .fade_scale:nth-child(51) .fade_scale_in {
  transition-delay: 5.1s;
}
.top04 .fade_scale:nth-child(52) .fade_scale_in {
  transition-delay: 5.2s;
}
.top04 .fade_scale:nth-child(53) .fade_scale_in {
  transition-delay: 5.3s;
}
.top04 .fade_scale:nth-child(54) .fade_scale_in {
  transition-delay: 5.4s;
}
.top04 .fade_scale:nth-child(55) .fade_scale_in {
  transition-delay: 5.5s;
}
.top04 .fade_scale:nth-child(56) .fade_scale_in {
  transition-delay: 5.6s;
}
.top04 .fade_scale:nth-child(57) .fade_scale_in {
  transition-delay: 5.7s;
}
.top04 .fade_scale:nth-child(58) .fade_scale_in {
  transition-delay: 5.8s;
}
.top04 .fade_scale:nth-child(59) .fade_scale_in {
  transition-delay: 5.9s;
}
.top04 .fade_scale:nth-child(60) .fade_scale_in {
  transition-delay: 6s;
}
.top04 .fade_scale:nth-child(61) .fade_scale_in {
  transition-delay: 6.1s;
}
.top04 .fade_scale:nth-child(62) .fade_scale_in {
  transition-delay: 6.2s;
}
.top04 .fade_scale:nth-child(63) .fade_scale_in {
  transition-delay: 6.3s;
}
.top04 .fade_scale:nth-child(64) .fade_scale_in {
  transition-delay: 6.4s;
}
.top04 .fade_scale:nth-child(65) .fade_scale_in {
  transition-delay: 6.5s;
}
.top04 .fade_scale:nth-child(66) .fade_scale_in {
  transition-delay: 6.6s;
}
.top04 .fade_scale:nth-child(67) .fade_scale_in {
  transition-delay: 6.7s;
}
.top04 .fade_scale:nth-child(68) .fade_scale_in {
  transition-delay: 6.8s;
}
.top04 .fade_scale:nth-child(69) .fade_scale_in {
  transition-delay: 6.9s;
}
.top04 .fade_scale:nth-child(70) .fade_scale_in {
  transition-delay: 7s;
}
.top04 .fade_scale:nth-child(71) .fade_scale_in {
  transition-delay: 7.1s;
}
.top04 .fade_scale:nth-child(72) .fade_scale_in {
  transition-delay: 7.2s;
}
.top04 .fade_scale:nth-child(73) .fade_scale_in {
  transition-delay: 7.3s;
}
.top04 .fade_scale:nth-child(74) .fade_scale_in {
  transition-delay: 7.4s;
}
.top04 .fade_scale:nth-child(75) .fade_scale_in {
  transition-delay: 7.5s;
}
.top04 .fade_scale:nth-child(76) .fade_scale_in {
  transition-delay: 7.6s;
}
.top04 .fade_scale:nth-child(77) .fade_scale_in {
  transition-delay: 7.7s;
}
.top04 .fade_scale:nth-child(78) .fade_scale_in {
  transition-delay: 7.8s;
}
.top04 .fade_scale:nth-child(79) .fade_scale_in {
  transition-delay: 7.9s;
}
.top04 .fade_scale:nth-child(80) .fade_scale_in {
  transition-delay: 8s;
}
.top04 .fade_scale:nth-child(81) .fade_scale_in {
  transition-delay: 8.1s;
}
.top04 .fade_scale:nth-child(82) .fade_scale_in {
  transition-delay: 8.2s;
}
.top04 .fade_scale:nth-child(83) .fade_scale_in {
  transition-delay: 8.3s;
}
.top04 .fade_scale:nth-child(84) .fade_scale_in {
  transition-delay: 8.4s;
}
.top04 .fade_scale:nth-child(85) .fade_scale_in {
  transition-delay: 8.5s;
}
.top04 .fade_scale:nth-child(86) .fade_scale_in {
  transition-delay: 8.6s;
}
.top04 .fade_scale:nth-child(87) .fade_scale_in {
  transition-delay: 8.7s;
}
.top04 .fade_scale:nth-child(88) .fade_scale_in {
  transition-delay: 8.8s;
}
.top04 .fade_scale:nth-child(89) .fade_scale_in {
  transition-delay: 8.9s;
}
.top04 .fade_scale:nth-child(90) .fade_scale_in {
  transition-delay: 9s;
}
.top04 .fade_scale:nth-child(91) .fade_scale_in {
  transition-delay: 9.1s;
}
.top04 .fade_scale:nth-child(92) .fade_scale_in {
  transition-delay: 9.2s;
}
.top04 .fade_scale:nth-child(93) .fade_scale_in {
  transition-delay: 9.3s;
}
.top04 .fade_scale:nth-child(94) .fade_scale_in {
  transition-delay: 9.4s;
}
.top04 .fade_scale:nth-child(95) .fade_scale_in {
  transition-delay: 9.5s;
}
.top04 .fade_scale:nth-child(96) .fade_scale_in {
  transition-delay: 9.6s;
}
.top04 .fade_scale:nth-child(97) .fade_scale_in {
  transition-delay: 9.7s;
}
.top04 .fade_scale:nth-child(98) .fade_scale_in {
  transition-delay: 9.8s;
}
.top04 .fade_scale:nth-child(99) .fade_scale_in {
  transition-delay: 9.9s;
}
.top04 .fade_scale:nth-child(100) .fade_scale_in {
  transition-delay: 10s;
}
.top04 .box .item_outer {
  width: 100%;
  position: relative;
}
.top04 .box .item_outer::before {
  position: absolute;
  z-index: -1;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 85%;
  background: url(../images/common/bg02.png) no-repeat center bottom/cover;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top04 .box .item_outer::before {
    height: 90%;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .top04 .box .item_outer {
    margin: -1.25rem 0 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top04 .box .item_outer {
    margin: -1.25rem 0 0;
  }
}
.top04 .box .item_outer:nth-of-type(2n) .item .item_in {
  flex-direction: row-reverse;
  margin: 0 0 0 6.25rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .top04 .box .item_outer:nth-of-type(2n) .item .item_in {
    width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top04 .box .item_outer:nth-of-type(2n) .item .item_in {
    width: 100%;
    margin: 0;
  }
}
.top04 .box .item_outer .item {
  width: 87.5%;
  margin: 0 auto;
  padding: 0 0 2.625rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top04 .box .item_outer .item {
    padding: 0 0 1.375rem;
  }
}
.top04 .box .item_outer .item .item_in {
  width: 82.14%;
  margin: 0 0 0 12.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .top04 .box .item_outer .item .item_in {
    width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top04 .box .item_outer .item .item_in {
    width: 100%;
    margin: 0;
  }
}
.top04 .box .item_outer .item .item_in .txt_box {
  width: 50%;
  max-width: 640px;
  margin: 2.375rem 0 0;
}
.top04 .box .item_outer .item .item_in .txt_box .ttl_txt {
  display: flex;
  align-items: baseline;
  color: #e4007f;
}
.top04 .box .item_outer .item .item_in .txt_box .ttl_txt .en02 {
  font-size: 7.5rem;
  line-height: 1;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top04 .box .item_outer .item .item_in .txt_box .ttl_txt .en02 {
    font-size: 3.125rem;
  }
}
.top04 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
  font-size: 2rem;
  margin: 0 0 0 1.375rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top04 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
    font-size: 1.5rem;
  }
}
.top04 .box .item_outer .item .item_in .txt_box p {
  margin: 2rem 0 1.375rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .top04 .box .item_outer .item .item_in .txt_box p {
    margin: 1.25rem 0 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top04 .box .item_outer .item .item_in .txt_box p {
    margin: 0.625rem 0 0.625rem;
  }
}
.top04 .box .item_outer .item .item_in .txt_box .link_btn {
  font-size: 1.375rem;
  text-align: right;
}
.top04 .box .item_outer .item .item_in .txt_box .link_btn a {
  display: inline;
  padding: 0 5.625rem 0 0;
  position: relative;
  transition: 0.4s;
}
.top04 .box .item_outer .item .item_in .txt_box .link_btn a:hover {
  color: #e4007f;
}
.top04 .box .item_outer .item .item_in .txt_box .link_btn a:hover::after {
  opacity: 1;
  animation: 1.5s circleanime forwards;
}
.top04 .box .item_outer .item .item_in .txt_box .link_btn a::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: 3.75rem;
  height: 3.75rem;
  background: url(../images/top/top04_arrow.png) no-repeat #e4007f center/1.25rem;
  border-radius: 50%;
  transition: 0.3s;
}
.top04 .box .item_outer .item .item_in .txt_box .link_btn a::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  border: solid 1px #e4007f;
  transition: 0.3s;
  opacity: 0;
}
.top04 .box .item_outer .item .item_in figure {
  width: 42.17%;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ05 ▼
//
///////////////////////////////////////////////////*/
.top05 {
  margin: 8.75rem 0 0;
}
.top05 .section_ttl {
  margin: 0 0 3.5rem;
}
.top05 .swiper_outer {
  background: url(../images/top/top05_bg01.png) repeat-x center bottom/contain;
  padding: 0 0 11rem;
}
.top05 .swiper_outer .swiper {
  width: 100%;
  position: relative;
}
.top05 .swiper_outer .swiper .swiper-wrapper {
  transition-timing-function: linear;
  width: 100%;
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide {
  width: 23.44%;
  padding: 0 0 1.25rem;
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide:nth-of-type(even) {
  padding: 3.75rem 0 1.25rem;
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item {
  padding: 1.25rem 1.25rem 2.25rem;
  background: #fff;
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item figcaption {
  display: flex;
  flex-direction: column;
  text-align: right;
  color: #b78f29;
  margin: -3rem 0 0;
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item figcaption .en02 {
  font-size: 5rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item figcaption .en02 {
    font-size: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item figcaption .en02 {
    font-size: 3.5rem;
  }
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item figcaption .jp {
  font-size: 1.25rem;
  display: block;
  margin: -2.5rem 1.25rem 0 0;
  font-weight: 700;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item figcaption .jp {
    font-size: 1rem;
    margin: -1.5rem 0.625rem 0 0;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ06 ▼
//
///////////////////////////////////////////////////*/
.top06 {
  margin: 8.75rem 0 0;
}
.top06 .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top06 .box .section_ttl {
  width: 47.34%;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .top06 .box .section_ttl .en01 {
    font-size: 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top06 .box .section_ttl .en01 {
    font-size: 5rem;
  }
}
.top06 .box .swiper {
  width: 47.34%;
  text-align: center;
  --add-bottom: 80px;
  padding-bottom: var(--add-bottom);
  position: relative;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide {
  width: 100%;
  padding: 0 1.375rem 1.375rem 0.25rem;
  height: 100%;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide:nth-of-type(1) .item::before {
  position: absolute;
  content: "01";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 13.75rem;
  line-height: 1;
  color: #e4007f;
  top: -2%;
  left: 0;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide:nth-of-type(2) .item::before {
  position: absolute;
  content: "02";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 13.75rem;
  line-height: 1;
  color: #e4007f;
  top: -2%;
  left: 0;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide:nth-of-type(3) .item::before {
  position: absolute;
  content: "03";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 13.75rem;
  line-height: 1;
  color: #e4007f;
  top: -2%;
  left: 0;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide:nth-of-type(4) .item::before {
  position: absolute;
  content: "04";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 13.75rem;
  line-height: 1;
  color: #e4007f;
  top: -2%;
  left: 0;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item {
  padding: 3rem 1.75rem 4.8125rem;
  height: 100%;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item {
    padding: 3rem 1.75rem 3.75rem;
  }
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt {
  margin: 1.25rem 0 0;
  text-align: left;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt h3 {
  font-size: 1.75rem;
  color: #e4007f;
  text-align: center;
  margin: 0 0 1rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt h3 {
    font-size: 1.25rem;
  }
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt .txt_center {
  text-align: center;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt .txt_center .is_tab {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt .txt_center .is_tab {
    display: block;
  }
}
.top06 .box .swiper .btn_group_outer {
  position: absolute;
  width: 100%;
  bottom: 0;
}
.top06 .box .swiper .btn_group_outer .btn_group {
  width: 64%;
  margin: 0 auto;
  position: relative;
}
.top06 .box .swiper .btn_group_outer .btn_group .swiper-pagination {
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.top06 .box .swiper .btn_group_outer .btn_group .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  margin: 0 0.625rem !important;
  background: #9b9b9b;
  opacity: 1;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .top06 .box .swiper .btn_group_outer .btn_group .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
}
.top06 .box .swiper .btn_group_outer .btn_group .swiper-pagination-bullet-active {
  background: #e4007f;
}
.top06 .box .swiper .btn_group_outer .btn_group .swiper-button-prev {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 3.125rem;
  height: 5rem;
  background: url(../images/top/top06_arrow_prev.png) no-repeat center/contain;
}
.top06 .box .swiper .btn_group_outer .btn_group .swiper-button-next {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: 3.125rem;
  height: 5rem;
  background: url(../images/top/top06_arrow_next.png) no-repeat center/contain;
}

/*///////////////////////////////////////////////////
//
//            ▼ 講師紹介02 ▼
//
///////////////////////////////////////////////////*/
.lecturer02 {
  margin: 8.125rem 0;
}
.lecturer02 .item_outer {
  margin: 0.875rem 0 0;
  width: 100%;
  position: relative;
}
.lecturer02 .item_outer::before {
  position: absolute;
  z-index: -1;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 85%;
  background: url(../images/common/bg02.png) no-repeat center bottom/cover;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer::before {
    height: 90%;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer02 .item_outer {
    margin: -1.25rem 0 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer {
    margin: -1.25rem 0 0;
  }
}
.lecturer02 .item_outer .item {
  width: 87.5%;
  margin: 0 auto;
  padding: 0 0 2.625rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer .item {
    padding: 0 0 1.375rem;
    width: 90%;
  }
}
.lecturer02 .item_outer .item .item_in {
  width: 82.14%;
  margin: 0 0 0 12.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer02 .item_outer .item .item_in {
    width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer .item .item_in {
    width: 100%;
    margin: 0;
  }
}
.lecturer02 .item_outer .item .item_in .txt_box {
  width: 60%;
  max-width: 640px;
  transform: translateY(20%);
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer .item .item_in .txt_box {
    transform: translateY(15%);
  }
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .en02 {
  font-size: 4.25rem;
  line-height: 1;
  color: #8a6f11;
  display: block;
  margin: 0 0 1rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .en02 {
    font-size: 3.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .en02 {
    font-size: 3.125rem;
  }
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .copy {
  font-size: 1.375rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .copy {
    font-size: 1.125rem;
  }
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt h3 {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer .item .item_in .txt_box .ttl_txt h3 {
    font-size: 1.375rem;
  }
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .tag_group .tag01 {
  line-height: 1;
  font-weight: 700;
  color: #fff;
  padding: 0.25rem 0.625rem;
  background: #e4007f;
  border-radius: 5px;
  margin: 0 1rem 0 0;
}
.lecturer02 .item_outer .item .item_in .txt_box p {
  margin: 1.25rem 0 1.375rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer02 .item_outer .item .item_in .txt_box p {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer02 .item_outer .item .item_in .txt_box p {
    font-size: 0.9rem;
  }
}
.lecturer02 .item_outer .item .item_in figure {
  width: 42.17%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 講師紹介03 ▼
//
///////////////////////////////////////////////////*/
.lecturer03 .note {
  margin: 0 0 3rem;
  text-align: center;
  font-size: 2rem;
  color: #e4007f;
  font-weight: 700;
}
.lecturer03 .box {
  margin: 0.875rem 0 0;
}
.lecturer03 .box .item_outer {
  margin: -2.625rem 0 0;
  width: 100%;
  position: relative;
}
.lecturer03 .box .item_outer:nth-of-type(8) {
  padding: 0 0 5rem;
}
.lecturer03 .box .item_outer::before {
  position: absolute;
  z-index: -1;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 85%;
  background: url(../images/common/bg02.png) no-repeat center bottom/cover;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer::before {
    height: 90%;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer03 .box .item_outer {
    margin: -1.25rem 0 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer {
    margin: -1.25rem 0 0;
  }
}
.lecturer03 .box .item_outer:nth-of-type(odd) .item .item_in {
  flex-direction: row-reverse;
  margin: 0 0 0 6.25rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer03 .box .item_outer:nth-of-type(odd) .item .item_in {
    width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer:nth-of-type(odd) .item .item_in {
    width: 100%;
    margin: 0;
  }
}
.lecturer03 .box .item_outer .item {
  width: 87.5%;
  margin: 0 auto;
  padding: 0 0 2.625rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer .item {
    padding: 0 0 1.375rem;
    width: 90%;
  }
}
.lecturer03 .box .item_outer .item .item_in {
  width: 82.14%;
  margin: 0 0 0 12.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer03 .box .item_outer .item .item_in {
    width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer .item .item_in {
    width: 100%;
    margin: 0;
  }
}
.lecturer03 .box .item_outer .item .item_in .txt_box {
  width: 55%;
  max-width: 640px;
  transform: translateY(20%);
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer .item .item_in .txt_box {
    transform: translateY(10%);
  }
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .en02 {
  font-size: 4.25rem;
  line-height: 1;
  color: #8a6f11;
  display: block;
  margin: 0 0 0.7rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .en02 {
    font-size: 3.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .en02 {
    font-size: 3.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .en02 {
    font-size: 2.5rem;
  }
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .copy {
  font-size: 1.375rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .copy {
    font-size: 1.125rem;
  }
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
  font-size: 1.75rem;
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 span {
  font-size: 1rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
    font-size: 1.375rem;
  }
  .lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 span {
    font-size: 0.9rem;
  }
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .tag_group .tag01 {
  line-height: 1;
  font-weight: 700;
  color: #fff;
  padding: 0.25rem 0.625rem;
  background: #e4007f;
  border-radius: 5px;
  margin: 0 1rem 0 0;
}
.lecturer03 .box .item_outer .item .item_in .txt_box p {
  margin: 1.25rem 0 1.375rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lecturer03 .box .item_outer .item .item_in .txt_box p {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lecturer03 .box .item_outer .item .item_in .txt_box p {
    font-size: 0.9rem;
  }
}
.lecturer03 .box .item_outer .item .item_in figure {
  width: 42.17%;
}

/*///////////////////////////////////////////////////
//
//            ▼ レッスン・スケジュール02 ▼
//
///////////////////////////////////////////////////*/
.schedule02 {
  margin: 8.125rem 0 0;
}
.schedule02 .box {
  margin: 4.5rem 0 0;
  display: flex;
  justify-content: space-between;
  font-weight: 700;
}
.schedule02 .box .box_in01 {
  width: 19.5%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.schedule02 .box .box_in01 .item01 .item01_in {
  color: #e4007f;
  background: #eed5f6;
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin: 0 0 4.375rem;
}
.schedule02 .box .box_in01 .item01 .item01_in .en01 {
  font-size: 2.625rem;
  margin: 0 0.75rem 0 0;
}
.schedule02 .box .box_in01 .item02 {
  height: 454px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule02 .box .box_in01 .item02 {
    height: 400px;
  }
}
.schedule02 .box .box_in01 .item02 .item_in {
  text-align: center;
  position: relative;
}
.schedule02 .box .box_in01 .item02 .item_in .time {
  position: absolute;
  top: -2rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.schedule02 .box .box_in01 .item02 .item_in .time p {
  font-size: 1.375rem;
  color: #e4007f;
  font-size: 1.375rem;
  font-weight: 900;
  line-height: 1;
  padding: 1rem 2rem;
  display: inline-block;
  background: #eed5f6;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .schedule02 .box .box_in01 .item02 .item_in .time p {
    font-size: 1.125rem;
    padding: 1rem 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule02 .box .box_in01 .item02 .item_in .time p {
    font-size: 0.9rem;
    padding: 1rem 1rem;
  }
}
.schedule02 .box .box_in01 .item02 .item_in .lesson {
  padding: 4.75rem 0 4.5rem;
  border: solid 3px #eed5f6;
  font-size: 1.25rem;
}
@media screen and (min-width: 1025px) and (max-width: 1610px) {
  .schedule02 .box .box_in01 .item02 .item_in .lesson {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule02 .box .box_in01 .item02 .item_in .lesson {
    font-size: 0.9rem;
  }
}
.schedule02 .box .box_in02 {
  width: 19.5%;
}
.schedule02 .box .box_in02 .item01 .item01_in {
  color: #e4007f;
  background: #eed5f6;
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin: 0 0 4.375rem;
}
.schedule02 .box .box_in02 .item01 .item01_in .en01 {
  font-size: 2.625rem;
  margin: 0 0.75rem 0 0;
}
.schedule02 .box .box_in02 .item02 {
  text-align: center;
  position: relative;
  border: solid 3px #eed5f6;
  height: 454px;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule02 .box .box_in02 .item02 {
    height: 400px;
  }
}
.schedule02 .box .box_in02 .item02 .time {
  position: absolute;
  top: -2rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.schedule02 .box .box_in02 .item02 .time p {
  color: #e4007f;
  font-size: 1.2rem;
  font-weight: 900;
  line-height: 1;
  padding: 1rem 2rem;
  display: inline-block;
  background: #eed5f6;
}
@media screen and (min-width: 1280px) and (max-width: 1439.999px) {
  .schedule02 .box .box_in02 .item02 .time p {
    padding: 0.8rem 0.8rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .schedule02 .box .box_in02 .item02 .time p {
    padding: 0.7rem 0.7rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule02 .box .box_in02 .item02 .time p {
    padding: 0.8rem 0.8rem;
  }
}
.schedule02 .box .box_in02 .item02 .lesson {
  padding: 4.375rem 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule02 .box .box_in02 .item02 .lesson {
    padding: 3.125rem 0 0;
  }
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in {
  width: 86.77%;
  margin: 0 auto;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in .ttl {
  height: 135px;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in .ttl .name {
  font-size: 1.25rem;
  margin: 0 0 1rem;
}
@media screen and (min-width: 1025px) and (max-width: 1610px) {
  .schedule02 .box .box_in02 .item02 .lesson .lesson_in .ttl .name {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule02 .box .box_in02 .item02 .lesson .lesson_in .ttl .name {
    font-size: 0.9rem;
  }
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in .ttl .tag_group .tag {
  font-size: 0.9rem;
  color: #e4007f;
  border: solid 1px #e4007f;
  border-radius: 5px;
  padding: 0 0.625rem;
  display: inline-block;
  margin: 0 0 0.25rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule02 .box .box_in02 .item02 .lesson .lesson_in .ttl .tag_group .tag {
    font-size: 0.75rem;
  }
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in ul {
  margin: 1.375rem 0 0;
  padding: 1.875rem 0 0;
  border-top: solid 1px #eed5f6;
  text-align: left;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in ul li {
  padding: 0 0 0 1.125rem;
  position: relative;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in ul li::before {
  position: absolute;
  content: "";
  top: 10px;
  left: 0;
  width: 0.625rem;
  height: 0.625rem;
  background: #eed5f6;
  border-radius: 50%;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in .small {
  font-size: 0.75rem;
  text-align: left;
  padding: 0 0 0 1.125rem;
  margin: 1.25rem 0 0;
  position: relative;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in .small::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
  font-size: 0.75rem;
  color: #ecd1d7;
}
.schedule02 .box .box_in02 .flag {
  position: relative;
}
.schedule02 .box .box_in02 .flag::before {
  position: absolute;
  z-index: 2;
  content: "";
  bottom: 0%;
  right: 0%;
  transform: translate(3%, 49%);
  width: 5.50006rem;
  height: 5.13813rem;
  flex-shrink: 0;
  background: url(../images/schedule/schedule02_flag01.png) no-repeat top center/contain;
}
.schedule02 .note {
  text-align: center;
  margin: 2rem 0 0;
}
.schedule02 .note p {
  display: inline-block;
  font-weight: 700;
  font-size: 1.3rem;
}
.schedule02 .note p span {
  color: #eed5f6;
}

/*///////////////////////////////////////////////////
//
//            ▼ レッスン・スケジュール03 ▼
//
///////////////////////////////////////////////////*/
.schedule03 {
  margin: 8.125rem 0 0;
}
.schedule03 .intro {
  text-align: center;
  margin: 3rem 0 0;
  font-size: 1.125rem;
  font-weight: 600;
}
.schedule03 .box {
  margin: 1.5rem 0 0;
}
.schedule03 .box .item_outer {
  width: 100%;
  position: relative;
}
.schedule03 .box .item_outer::before {
  position: absolute;
  z-index: -1;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 85%;
  background: url(../images/common/bg02.png) no-repeat center bottom/cover;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule03 .box .item_outer::before {
    height: 90%;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .schedule03 .box .item_outer {
    margin: -1.25rem 0 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule03 .box .item_outer {
    margin: -1.25rem 0 0;
  }
}
.schedule03 .box .item_outer:nth-of-type(2n) .item .item_in {
  flex-direction: row-reverse;
  margin: 0 0 0 6.25rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .schedule03 .box .item_outer:nth-of-type(2n) .item .item_in {
    width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule03 .box .item_outer:nth-of-type(2n) .item .item_in {
    width: 100%;
    margin: 0;
  }
}
.schedule03 .box .item_outer .item {
  width: 87.5%;
  margin: 0 auto;
  padding: 0 0 2.625rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule03 .box .item_outer .item {
    padding: 0 0 1.375rem;
  }
}
.schedule03 .box .item_outer .item .item_in {
  width: 82.14%;
  margin: 0 0 0 12.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .schedule03 .box .item_outer .item .item_in {
    width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule03 .box .item_outer .item .item_in {
    width: 100%;
    margin: 0;
  }
}
.schedule03 .box .item_outer .item .item_in .txt_box {
  width: 55%;
  max-width: 520px;
  transform: translateY(10%);
}
.schedule03 .box .item_outer .item .item_in .txt_box .ttl_txt .en01 {
  font-size: 6.875rem;
  font-weight: 700;
  line-height: 1;
  color: #eed5f6;
  display: block;
  width: 142%;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule03 .box .item_outer .item .item_in .txt_box .ttl_txt .en01 {
    font-size: 5rem;
  }
}
.schedule03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
  font-size: 2rem;
  margin: -3.25rem 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
    font-size: 1.5rem;
  }
}
.schedule03 .box .item_outer .item .item_in .txt_box p {
  margin: 2rem 0 1.375rem;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .schedule03 .box .item_outer .item .item_in .txt_box p {
    margin: 1.25rem 0 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .schedule03 .box .item_outer .item .item_in .txt_box p {
    margin: 0.625rem 0 0.625rem;
  }
}
.schedule03 .box .item_outer .item .item_in .txt_box .link_btn {
  font-size: 1.375rem;
  text-align: right;
}
.schedule03 .box .item_outer .item .item_in .txt_box .link_btn a {
  display: inline;
  padding: 0 5.625rem 0 0;
  position: relative;
  transition: 0.4s;
}
.schedule03 .box .item_outer .item .item_in .txt_box .link_btn a:hover {
  color: #e4007f;
}
.schedule03 .box .item_outer .item .item_in .txt_box .link_btn a:hover::after {
  opacity: 1;
  animation: 1.5s circleanime forwards;
}
.schedule03 .box .item_outer .item .item_in .txt_box .link_btn a::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: 3.75rem;
  height: 3.75rem;
  background: url(../images/top/top04_arrow.png) no-repeat #e4007f center/0.96875rem;
  border-radius: 50%;
  transition: 0.3s;
}
.schedule03 .box .item_outer .item .item_in .txt_box .link_btn a::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 50%;
  border: solid 1px #e4007f;
  transition: 0.3s;
  opacity: 0;
}
.schedule03 .box .item_outer .item .item_in figure {
  width: 42.17%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 料金02 ▼
//
///////////////////////////////////////////////////*/
.fee02 {
  margin: 8.125rem 0 7.5rem;
}
.fee02 .box {
  text-align: center;
}
.fee02 .box h2 {
  font-size: 2rem;
  color: #e4007f;
  margin: 0 0 0.75rem;
}
.fee02 .box p {
  font-size: 1.375rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 料金03 ▼
//
///////////////////////////////////////////////////*/
.fee03 {
  margin: 0 0 9.25rem;
}
.fee03 .box {
  display: flex;
  justify-content: space-between;
  margin: 5.5rem 0 0;
}
.fee03 .box .item {
  width: 47%;
  padding: 1rem;
}
.fee03 .box .item .item_in {
  border: solid 1px #8a6f11;
  text-align: center;
  padding: 1.25rem 0 1.75rem;
}
.fee03 .box .item .item_in .ttl .en02 {
  font-size: 2.5rem;
  color: #8a6f11;
}
.fee03 .box .item .item_in .ttl h3 {
  font-size: 1.25rem;
}
.fee03 .box .item .item_in p {
  font-size: 2rem;
  color: #e4007f;
}

/*///////////////////////////////////////////////////
//
//            ▼ 料金04 ▼
//
///////////////////////////////////////////////////*/
.fee04 {
  background: #faedfe;
  padding: 6.25rem 0;
}
.fee04 .intro {
  text-align: center;
  margin: 1.75rem 0 2.5rem;
}
.fee04 .intro .intro_price {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}
.fee04 .intro .intro_price p + p {
  margin-top: 1rem;
}
.fee04 .box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.75rem 2%;
}
.fee04 .box .card_outer:nth-of-type(1) .fee_card {
  position: relative;
}
.fee04 .box .card_outer:nth-of-type(1) .fee_card::before {
  position: absolute;
  z-index: 2;
  content: "";
  top: 0;
  left: 2.6%;
  width: 27.9%;
  height: 143px;
  background: url(../images/fee/fee04_flag02.png) no-repeat top center/contain;
}
.fee04 .box .card_outer:nth-of-type(2) .fee_card {
  position: relative;
}
.fee04 .box .card_outer:nth-of-type(2) .fee_card::before {
  position: absolute;
  z-index: 2;
  content: "";
  top: 0;
  left: 2.6%;
  width: 27.9%;
  height: 143px;
  background: url(../images/fee/fee04_flag01.png) no-repeat top center/contain;
}
.fee04 .box .card_outer:nth-of-type(2) .fee_card .item_in .ttl .en02::before {
  background: url(../images/fee/fee04_icon02.png) no-repeat center/contain;
}
.fee04 .box .card_outer:nth-of-type(3) .fee_card .item_in .ttl .en02::before {
  background: url(../images/fee/fee04_icon03.png) no-repeat center/contain;
}
.fee04 .box .card_outer:nth-of-type(4) .fee_card .item_in .ttl .en02 {
  padding: 1.75rem 0 0;
}
.fee04 .box .card_outer:nth-of-type(4) .fee_card .item_in .ttl .en02::before {
  background: url(../images/fee/fee04_icon04.png) no-repeat center/contain;
}
.fee04 .box .card_outer .fee_card .item_in {
  padding: 5rem 0 3rem;
}
.fee04 .box .card_outer .fee_card .item_in .ttl .en02 {
  position: relative;
  padding: 2.625rem 0 0;
}
.fee04 .box .card_outer .fee_card .item_in .ttl .en02::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0%;
  margin: 0 auto;
  width: 2.125rem;
  height: 2.125rem;
  background: url(../images/fee/fee04_icon01.png) no-repeat center/contain;
}

/*///////////////////////////////////////////////////
//
//            ▼ 料金05 ▼
//
///////////////////////////////////////////////////*/
.fee05 {
  background: #eed5f6;
  padding: 6.25rem 0;
}
.fee05 .box {
  margin: 3rem 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.75rem 2%;
}
.fee05 .box .card_outer:first-of-type .fee_card .item_in .txt_box p {
  font-size: 1.5rem;
}
.fee05 .box .fee_card .item_in {
  padding: 2rem 0 3rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 料金06 ▼
//
///////////////////////////////////////////////////*/
.fee06 {
  background: #faedfe;
  padding: 6.25rem 0;
}
.fee06 .box01 {
  display: flex;
  justify-content: space-between;
  margin: 5.5rem 0 0;
}
.fee06 .box01 .item {
  width: 47%;
  padding: 1rem;
  background: #fff;
}
.fee06 .box01 .item:nth-of-type(1) {
  position: relative;
}
.fee06 .box01 .item .item_in {
  border: solid 1px #8a6f11;
  text-align: center;
  padding: 1.25rem 0 1.75rem;
}
.fee06 .box01 .item .item_in .ttl .en02 {
  font-size: 2.5rem;
  color: #8a6f11;
}
.fee06 .box01 .item .item_in .ttl h3 {
  font-size: 1.25rem;
}
.fee06 .box01 .item .item_in p {
  font-size: 2rem;
  color: #e4007f;
}
.fee06 .box01 .item .item_in p span {
  font-size: 1.375rem;
  display: inline-block;
  margin: 0 1rem;
}
.fee06 .box02 {
  margin: 4.5rem 0 0;
}
.fee06 .box02 h3 {
  font-size: 1.375rem;
  text-align: center;
  padding: 3.875rem 0 0;
  background: url(../images/fee/fee06_rose.png) no-repeat center top/2.5rem;
}
.fee06 .box02 .phone_wrap {
  margin: 4rem 0 3rem;
}
.fee06 .box02 .phone_wrap a {
  display: inline;
}
.fee06 .box02 .phone_wrap a .inner {
  display: flex;
  justify-content: center;
  align-items: initial;
  color: #e4007f;
}
.fee06 .box02 .phone_wrap a .inner .icon {
  font-size: 2.875rem;
  margin: 0 0.8rem 0 0;
}
.fee06 .box02 .phone_wrap a .inner .fa-phone {
  padding: 0.4rem 0 0;
  margin: 0 0.8rem 0 0;
}
.fee06 .box02 .phone_wrap a .inner .fa-phone:before {
  font-size: 2.5rem;
  font-weight: 900;
}
.fee06 .box02 .phone_wrap a .inner .txt .num {
  font-size: 3rem;
  line-height: 1;
}
.fee06 .box02 .btn_group {
  width: 100%;
  max-width: 888px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.fee06 .box02 .btn_group .btn {
  margin: 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 体験レッスン02 ▼
//
///////////////////////////////////////////////////*/
.trial02 {
  margin: 8.125rem 0 0;
}
.trial02 .box {
  margin: 3.875rem 0 0;
}
.trial02 .box .box_in {
  width: 88%;
  margin: 0 0 5rem auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-items: flex-start;
}
.trial02 .box .box_in:nth-of-type(2) {
  flex-direction: row-reverse;
  margin: 5rem auto 0 0;
}
.trial02 .box .box_in:nth-of-type(2) figure {
  transform: rotate(-4.77deg);
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .trial02 .box .box_in {
    width: 100%;
    margin: 0;
  }
}
.trial02 .box .box_in .txt {
  width: 44%;
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .trial02 .box .box_in .txt {
    width: 55%;
  }
}
.trial02 .box .box_in .txt .ttl_txt {
  display: flex;
  align-items: baseline;
  color: #e4007f;
}
.trial02 .box .box_in .txt .ttl_txt .en02 {
  font-size: 7.5rem;
  line-height: 1;
}
@media screen and (min-width: 1280px) and (max-width: 1439.999px) {
  .trial02 .box .box_in .txt .ttl_txt .en02 {
    font-size: 6.25rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .trial02 .box .box_in .txt .ttl_txt .en02 {
    font-size: 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .trial02 .box .box_in .txt .ttl_txt .en02 {
    font-size: 2.8125rem;
  }
}
.trial02 .box .box_in .txt .ttl_txt h3 {
  font-size: 1.8rem;
  line-height: 1.6;
}
.trial02 .box .box_in .txt .ttl_txt h3 span {
  font-size: 1.2rem;
}
@media screen and (min-width: 1280px) and (max-width: 1439.999px) {
  .trial02 .box .box_in .txt .ttl_txt h3 {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .trial02 .box .box_in .txt .ttl_txt h3 {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .trial02 .box .box_in .txt .ttl_txt h3 {
    font-size: 1.2rem;
  }
}
.trial02 .box .box_in .txt .bold {
  font-weight: 700;
}
.trial02 .box .box_in .txt p {
  margin-top: 1rem;
  font-size: 1.25rem;
}
.trial02 .box .box_in .txt p + p {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .trial02 .box .box_in .txt p {
    font-size: 1rem;
  }
}
.trial02 .box .box_in .txt p .c_pink {
  color: #e4007f;
}
.trial02 .box .box_in figure {
  width: 45%;
  padding: 1.375rem;
  transform: rotate(4.77deg);
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .trial02 .box .box_in figure {
    width: 40%;
  }
}
.trial02 .box .box_in .video_wrap {
  width: 45%;
  padding: 1.375rem;
  transform: rotate(4.77deg);
}
@media screen and (min-width: 768px) and (max-width: 1279.999px) {
  .trial02 .box .box_in .video_wrap {
    width: 40%;
  }
}
.trial02 .box .box_in .video_wrap video {
  width: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 体験レッスン03 ▼
//
///////////////////////////////////////////////////*/
.trial03 {
  margin: 6.875rem 0 0;
}
.trial03 .box {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60.93%;
  background: #faedfe;
  padding: 5rem 0;
  position: relative;
}
.trial03 .box::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: calc(100% - 1.25rem);
  height: calc(100% - 1.25rem);
  border: solid 1px #fff;
}
.trial03 .box .txt_box {
  width: 33.125rem;
}
.trial03 .box .txt_box .list_box {
  margin: 3rem 0 0;
}
.trial03 .box .txt_box .list_box dl {
  margin: 0 0 1.25rem;
}
.trial03 .box .txt_box .list_box dl dd {
  font-size: 1.25rem;
  padding: 0 0 0 1.875rem;
  background: url(../images/trial/trial03_check01.png) no-repeat center left/1.25rem;
}
.trial03 .box .txt_box .list_box dl dt {
  margin: 0.625rem 0 0;
}
.trial03 .box .txt_box .list_box dl dt ul li {
  padding: 0 0 0 1.5625rem;
  position: relative;
}
.trial03 .box .txt_box .list_box dl dt ul li::before {
  position: absolute;
  content: "・";
  top: 0;
  left: 0;
}
.trial03 .right_pic {
  width: 37.76%;
  padding: 1.25rem;
  background: #fff;
  position: absolute;
  bottom: -20%;
  right: 6.5%;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .trial03 .right_pic {
    width: 45%;
    bottom: -10%;
    right: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .trial03 .right_pic {
    width: 44%;
    bottom: -10%;
    right: 0;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ 体験レッスン04 ▼
//
///////////////////////////////////////////////////*/
.trial04 {
  margin: 19.375rem 0 0;
  background: #faedfe;
  padding: 7.5rem 0 23.125rem;
}
.trial04 .intro {
  text-align: center;
  margin: 3rem 0 0;
}
.trial04 .box {
  margin: 5.125rem 0 0;
}
.trial04 .box .box_in {
  display: flex;
  justify-content: space-between;
}
.trial04 .box .box_in:nth-of-type(1) {
  margin: 0 0 7.9375rem;
}
.trial04 .box .box_in:nth-of-type(1) .item:first-of-type::before {
  position: absolute;
  content: "01";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 10rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 4.11%;
}
.trial04 .box .box_in:nth-of-type(1) .item:nth-of-type(2)::before {
  position: absolute;
  content: "02";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 10rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 4.11%;
}
.trial04 .box .box_in:nth-of-type(2) .item:first-of-type::before {
  position: absolute;
  content: "03";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 10rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 4.11%;
}
.trial04 .box .box_in:nth-of-type(2) .item:nth-of-type(2)::before {
  position: absolute;
  content: "04";
  font-family: "Monsieur La Doulaise", cursive;
  font-size: 10rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 4.11%;
}
.trial04 .box .box_in .item {
  width: 45.54%;
  padding: 2.5rem 1.75rem;
  background: #fff;
  position: relative;
}
.trial04 .box .box_in .item:nth-of-type(2) {
  margin-top: 15%;
  margin-bottom: -15%;
}
.trial04 .box .box_in .item .txt {
  margin: 0.75rem 0 0;
}
.trial04 .box .box_in .item .txt h3 {
  font-size: 1.25rem;
  text-align: center;
  color: #e4007f;
}

/*///////////////////////////////////////////////////
//
//            ▼ 体験レッスン05 ▼
//
///////////////////////////////////////////////////*/
.trial05,
.contact03 {
  margin: 5rem 0 0;
}
.trial05 .intro,
.contact03 .intro {
  font-size: 1.375rem;
  color: #e4007f;
  text-align: center;
  margin: 3rem 0 4.6875rem;
}
.trial05 .box .item,
.contact03 .box .item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 2.375rem;
}
.trial05 .box .item:last-of-type,
.contact03 .box .item:last-of-type {
  align-items: flex-start;
}
.trial05 .box .item:last-of-type .inner01,
.contact03 .box .item:last-of-type .inner01 {
  margin: 1rem 0 0;
}
.trial05 .box .item .inner01,
.contact03 .box .item .inner01 {
  width: 20%;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .trial05 .box .item .inner01,
.contact03 .box .item .inner01 {
    width: 25%;
  }
}
.trial05 .box .item .inner01 span,
.contact03 .box .item .inner01 span {
  background: #e4007f;
  color: #fff;
  font-size: 0.9rem;
  line-height: 1;
  padding: 0.5rem 0.625rem;
  border-radius: 5px;
  display: inline-block;
  margin: 0 0 0 2rem;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .trial05 .box .item .inner01 span,
.contact03 .box .item .inner01 span {
    margin: 0 0 0 0.75rem;
  }
}
.trial05 .box .item .inner02,
.contact03 .box .item .inner02 {
  width: 76%;
}
.trial05 .box .item .inner02 ::-webkit-input-placeholder,
.contact03 .box .item .inner02 ::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #bcbcbc;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
}
.trial05 .box .item .inner02 :-ms-input-placeholder,
.contact03 .box .item .inner02 :-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #bcbcbc;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
}
.trial05 .box .item .inner02 ::placeholder,
.contact03 .box .item .inner02 ::placeholder {
  /* Others */
  color: #bcbcbc;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
}
.trial05 .box .item .inner02 input,
.contact03 .box .item .inner02 input {
  width: 100%;
  padding: 1.5rem;
  background: #f9f9f9;
  border: 1px solid #ecd1d7;
  border-radius: 5px;
  color: #111;
}
.trial05 .box .item .inner02 select,
.contact03 .box .item .inner02 select {
  width: 40%;
  padding: 1.5rem;
  border: 1px solid #ecd1d7;
  border-radius: 5px;
  font-size: 1rem;
  color: #111;
  -webkit-appearance: none;
  appearance: none;
  background: url(../images/common/select_arrow.png) no-repeat #f9f9f9 95% center;
}
.trial05 .box .item .inner02 textarea,
.contact03 .box .item .inner02 textarea {
  width: 100%;
  padding: 1.5rem;
  background: #f9f9f9;
  border: 1px solid #ecd1d7;
  border-radius: 5px;
  color: #111;
}
.trial05 .box .item .inner02_radio,
.contact03 .box .item .inner02_radio {
  width: 76%;
}
.trial05 .box .item .inner02_radio input,
.contact03 .box .item .inner02_radio input {
  display: none;
}
.trial05 .box .item .inner02_radio input:checked + span::after,
.contact03 .box .item .inner02_radio input:checked + span::after {
  display: block;
}
.trial05 .box .item .inner02_radio span,
.contact03 .box .item .inner02_radio span {
  padding: 0 0 0 2rem;
  margin: 0 3.75rem 0 0;
  position: relative;
  cursor: pointer;
}
.trial05 .box .item .inner02_radio span::before,
.contact03 .box .item .inner02_radio span::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 1px solid #4f4034;
  background: #fff;
}
.trial05 .box .item .inner02_radio span::after,
.contact03 .box .item .inner02_radio span::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0.25rem;
  transform: translate(0, -50%);
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #e4007f;
  display: none;
}
.trial05 .privacy_policy,
.contact03 .privacy_policy {
  text-align: center;
  margin: 5rem 0 1.25rem;
}
.trial05 .privacy_policy label,
.contact03 .privacy_policy label {
  position: relative;
}
.trial05 .privacy_policy label input,
.contact03 .privacy_policy label input {
  position: absolute;
  top: 0;
  left: 0.3rem;
  opacity: 0;
}
.trial05 .privacy_policy label input:checked + span::after,
.contact03 .privacy_policy label input:checked + span::after {
  display: block;
}
.trial05 .privacy_policy label .txt,
.contact03 .privacy_policy label .txt {
  padding: 0 0 0 2.375rem;
  font-weight: 500;
  color: #111;
  position: relative;
  cursor: pointer;
}
.trial05 .privacy_policy label .txt::before,
.contact03 .privacy_policy label .txt::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 1.375rem;
  height: 1.375rem;
  border: 1px solid #111;
}
.trial05 .privacy_policy label .txt::after,
.contact03 .privacy_policy label .txt::after {
  position: absolute;
  z-index: 2;
  content: "";
  top: -0.5rem;
  left: 0.2rem;
  width: 1.625rem;
  height: 1.625rem;
  background: url(../images/common/privacy_check.png) no-repeat center/contain;
  display: none;
}
.trial05 .submit,
.contact03 .submit {
  width: 300px;
  margin: 0 auto;
  cursor: pointer;
  position: relative;
  opacity: 1;
  transition: 0.3s;
}
.trial05 .submit:hover,
.contact03 .submit:hover {
  opacity: 0.7;
}
.trial05 .submit::after,
.contact03 .submit::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 1rem;
  margin: auto 0;
  width: 0.5625rem;
  height: 0.875rem;
  background: url(../images/common/submit_arrow.png) no-repeat center right/contain;
}
.trial05 .submit input,
.contact03 .submit input {
  width: 100%;
  padding: 1.375rem 0;
  border-radius: 10px;
  color: #fff;
  font-size: 0.9rem;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  background: url(../images/contact/contact03_btn_bg.png) no-repeat #e4007f center/97% 90%;
}

/*///////////////////////////////////////////////////
//
//           ▼ 模擬試験02・模擬試験03共通 ▼
//
///////////////////////////////////////////////////*/
.exam02,
.exam03 {
  margin: 6.875rem 0;
}
.exam02 .intro,
.exam03 .intro {
  font-size: 2rem;
  color: #e4007f;
  text-align: center;
  font-weight: 700;
  margin: 0 0 1.25rem;
}
.exam02 .intro .is_tab,
.exam03 .intro .is_tab {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .exam02 .intro .is_tab,
.exam03 .intro .is_tab {
    display: block;
  }
}
.exam02 .box01,
.exam03 .box01 {
  margin: 7.5rem 0 0;
}
.exam02 .box01 .box_in,
.exam03 .box01 .box_in {
  width: 87%;
  max-width: 960px;
  margin: 3rem auto 5rem;
}
.exam02 .box01 .box_in .item,
.exam03 .box01 .box_in .item {
  margin: 0 0 3rem;
}
.exam02 .box01 .box_in .item .s_ttl,
.exam03 .box01 .box_in .item .s_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin: 0 0 3rem;
  padding: 0 0 0.625rem;
  border-bottom: 1px solid #e4007f;
}
.exam02 .box01 .box_in .item .s_ttl span,
.exam03 .box01 .box_in .item .s_ttl span {
  font-size: 7.5rem;
  color: #e4007f;
  line-height: 1;
}
.exam02 .box01 .box_in .item .s_ttl h3,
.exam03 .box01 .box_in .item .s_ttl h3 {
  font-size: 2rem;
  font-weight: 600;
}
.exam02 .box01 .box_in .item p,
.exam03 .box01 .box_in .item p {
  font-size: 1.25rem;
  text-align: center;
}
.exam02 .box01 .box_in .item p .is_tab,
.exam03 .box01 .box_in .item p .is_tab {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .exam02 .box01 .box_in .item p .is_tab,
.exam03 .box01 .box_in .item p .is_tab {
    display: block;
  }
}
.exam02 .box01 .video_wrap_outer .video_wrap,
.exam03 .box01 .video_wrap_outer .video_wrap {
  width: 100%;
  overflow: hidden;
  padding: 1.375rem;
  background: #fff;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
  position: relative;
}
.exam02 .box01 .video_wrap_outer .video_wrap video,
.exam03 .box01 .video_wrap_outer .video_wrap video {
  width: 100%;
  display: block;
}
.exam02 .box01 .video_wrap_outer .video_wrap .play_btn,
.exam03 .box01 .video_wrap_outer .video_wrap .play_btn {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.exam02 .box01 .video_wrap_outer .video_wrap .play_btn.playActive,
.exam03 .box01 .video_wrap_outer .video_wrap .play_btn.playActive {
  display: none;
}
.exam02 .box01 .video_wrap_outer p,
.exam03 .box01 .video_wrap_outer p {
  text-align: right;
  margin: 1.25rem 0 0;
}
.exam02 .box01 .video_wrap_outer p span,
.exam03 .box01 .video_wrap_outer p span {
  color: #ecd1d7;
}

/*///////////////////////////////////////////////////
//
//                 ▼ 模擬試験04 ▼
//
///////////////////////////////////////////////////*/
.exam04 .box .box_in01 {
  margin: 3rem 0 0;
  text-align: center;
}
.exam04 .box .box_in01 h3 {
  display: inline-block;
  font-size: 1.5rem;
  padding: 0 2.1875rem;
  margin: 0 0 3rem;
  position: relative;
}
.exam04 .box .box_in01 h3::before, .exam04 .box .box_in01 h3::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 1.5625rem;
  height: 1.5625rem;
  background: url(../images/exam/rose.svg) no-repeat center/contain;
}
.exam04 .box .box_in01 h3::before {
  left: 0;
}
.exam04 .box .box_in01 h3::after {
  right: 0;
}
.exam04 .box .box_in01 .table_wrap table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 3px;
}
.exam04 .box .box_in01 .table_wrap table tbody tr.t_head td {
  font-size: 1.375rem;
  color: #e4007f;
  background: #eed5f6;
  padding: 0.5rem 0;
}
.exam04 .box .box_in01 .table_wrap table tbody tr th {
  width: 24.76%;
  width: 17.76%;
  font-size: 1.375rem;
  color: #e4007f;
  background: #eed5f6;
  padding: 1.75rem 0;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .exam04 .box .box_in01 .table_wrap table tbody tr th {
    width: 13.76%;
  }
}
.exam04 .box .box_in01 .table_wrap table tbody tr td {
  font-size: 1.25rem;
  font-weight: 700;
  background: #eed5f6;
}
.exam04 .box .box_in02 {
  margin: 5.125rem 0 0;
  text-align: center;
}
.exam04 .box .box_in02 h3 {
  display: inline-block;
  font-size: 1.5rem;
  padding: 0 2.1875rem;
  margin: 0 0 3rem;
  position: relative;
}
.exam04 .box .box_in02 h3::before, .exam04 .box .box_in02 h3::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 1.5625rem;
  height: 1.5625rem;
  background: url(../images/exam/rose.svg) no-repeat center/contain;
}
.exam04 .box .box_in02 h3::before {
  left: 0;
}
.exam04 .box .box_in02 h3::after {
  right: 0;
}
.exam04 .box .box_in02 .item_wrap {
  display: flex;
  justify-content: space-between;
}
.exam04 .box .box_in02 .item_wrap .item {
  width: 49.6%;
  background: #fff;
  padding: 1rem;
}
.exam04 .box .box_in02 .item_wrap .item .item_in {
  border: solid 1px #8a6f11;
  display: flex;
  align-items: center;
  justify-content: center;
}
.exam04 .box .box_in02 .item_wrap .item .item_in .txt {
  padding: 4.375rem 0;
}
.exam04 .box .box_in02 .item_wrap .item .item_in .txt h4 {
  font-size: 1.25rem;
  margin: 0 0 1.75rem;
  line-height: 1.6;
}
.exam04 .box .box_in02 .item_wrap .item .item_in .txt p {
  font-size: 2rem;
  color: #e4007f;
  line-height: 1.6;
}
.exam04 .box .box_in02 .note {
  margin: 3.75rem 0 0;
  font-weight: 700;
  text-align: center;
}
.exam04 .box .box_in02 .note p {
  padding: 0 0 0 1rem;
  display: inline-block;
  position: relative;
}
.exam04 .box .box_in02 .note p::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
  color: #ecd1d7;
}
.exam04 .box .box_in02 .note .c_pink {
  color: #e4007f;
}
.exam04 .box .box_in02 .note .c_pink::before {
  color: #e4007f;
}

/*///////////////////////////////////////////////////
//
//                 ▼ 模擬試験05 ▼
//
///////////////////////////////////////////////////*/
.exam05 {
  margin: 7.5rem 0 0;
  padding: 5rem 0 7.5rem;
  background: #eed5f6;
}
.exam05 .box h3 {
  font-size: 1.375rem;
  text-align: center;
  padding: 3.875rem 0 0;
  background: url(../images/fee/fee06_rose.png) no-repeat center top/2.5rem;
}
.exam05 .box .phone_wrap {
  margin: 4rem 0 3rem;
}
.exam05 .box .phone_wrap a {
  display: inline;
}
.exam05 .box .phone_wrap a .inner {
  display: flex;
  justify-content: center;
  align-items: initial;
  color: #e4007f;
}
.exam05 .box .phone_wrap a .inner .icon {
  font-size: 2.875rem;
  margin: 0 0.8rem 0 0;
}
.exam05 .box .phone_wrap a .inner .fa-phone {
  padding: 0.4rem 0 0;
  margin: 0 0.8rem 0 0;
}
.exam05 .box .phone_wrap a .inner .fa-phone:before {
  font-size: 2.5rem;
  font-weight: 900;
}
.exam05 .box .phone_wrap a .inner .txt .num {
  font-size: 3rem;
  line-height: 1;
}
.exam05 .box .btn_group {
  width: 100%;
  max-width: 888px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.exam05 .box .btn_group .btn {
  margin: 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ01▼
//
///////////////////////////////////////////////////*/
.contact01 .contact_mv {
  position: relative;
}
.contact01 .contact_mv .ttl {
  position: absolute;
  top: 30%;
  left: 6.25%;
}
.contact01 .contact_mv .ttl span {
  font-size: 7.5rem;
  color: #e4007f;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .contact01 .contact_mv .ttl span {
    font-size: 6.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .contact01 .contact_mv .ttl span {
    font-size: 5rem;
  }
}
.contact01 .contact_mv .ttl h1 {
  font-size: 1.375rem;
  margin: -1rem 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .contact01 .contact_mv .ttl h1 {
    font-size: 1.125rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ02▼
//
///////////////////////////////////////////////////*/
.contact02 {
  margin: 5.5rem 0 7.5rem;
}
.contact02 p {
  text-align: center;
  font-size: 1.75rem;
  padding: 3.75rem 0 0;
  background: url(../images/contact/contact02_rose.png) no-repeat center top/2.5rem;
  font-weight: 700;
}
.contact02 .phone_wrap {
  margin: 2.5rem 0 0;
}
.contact02 .phone_wrap a {
  display: inline;
  color: #e4007f;
}
.contact02 .phone_wrap a .inner {
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact02 .phone_wrap a .inner .icon {
  font-size: 3.375rem;
  margin: 0 1.625rem 0 0;
}
.contact02 .phone_wrap a .inner .fa-phone {
  padding: 0.3rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 1rem 0 0;
}
.contact02 .phone_wrap a .inner .fa-phone:before {
  font-size: 3rem;
  font-weight: 900;
}
.contact02 .phone_wrap a .inner .num {
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0.08rem;
}
.contact02 .phone_wrap a .small {
  font-size: 1.5rem;
  text-align: center;
  margin: 1.25rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ完了01▼
//
///////////////////////////////////////////////////*/
.thanks01 {
  width: 100%;
  height: 100vh;
  background: linear-gradient(226deg, #eed5f6 0%, #fff 51.97%, #eed5f6 100%);
  display: flex;
  justify-content: center;
  align-items: center;
}
.thanks01 .txt h1 {
  font-size: 3rem;
  text-align: center;
  color: #e4007f;
  margin: 0 0 2rem;
  padding: 3.125rem 0 0;
  background: url(../images/common/thanks01_rose.png) no-repeat center top/3.75rem;
}
.thanks01 .txt p {
  text-align: center;
  font-size: 1.25rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA インフォメーション▼
//
///////////////////////////////////////////////////*/
.cta_info {
  margin: 11rem 0 0;
}
.cta_info .box {
  position: relative;
}
.cta_info .box figure {
  width: 97.66%;
  margin: 0 0 0 auto;
  position: relative;
}
.cta_info .box figure::before {
  position: absolute;
  content: "";
  z-index: -1;
  top: -2rem;
  left: -2rem;
  width: 100%;
  height: 100%;
  background: #e4007f;
}
.cta_info .box .txt_box {
  position: absolute;
  top: 50%;
  right: 5.125rem;
  transform: translate(0, -50%);
  margin: auto 0;
  color: #e4007f;
  text-align: center;
}
.cta_info .box .txt_box .en {
  font-size: 6.875rem;
  font-weight: 700;
  position: relative;
}
.cta_info .box .txt_box .en::before {
  position: absolute;
  content: "Please Check";
  font-family: "Monsieur La Doulaise", cursive;
  font-weight: 300;
  font-size: 3.75rem;
  color: #b78f29;
  top: -30%;
  left: -15%;
  transform: rotate(-7.43deg);
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .cta_info .box .txt_box .en {
    font-size: 5rem;
  }
  .cta_info .box .txt_box .en::before {
    font-size: 2.5rem;
  }
}
.cta_info .box .txt_box h2 {
  font-size: 1.375rem;
  margin: -3rem 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .cta_info .box .txt_box h2 {
    margin: -1.5rem 0 0;
  }
}
.cta_info .box .txt_box p {
  margin: 2.375rem 0 3.5rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .cta_info .box .txt_box p {
    margin: 1.5rem 0 2.5rem;
  }
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA コンタクト▼
//
///////////////////////////////////////////////////*/
.cta_contact {
  margin: 7.5rem 0;
}
.cta_contact .box {
  border: solid 20px #faedfe;
  padding: 6.6875rem 0 10.625rem;
  background: url(../images/common/cta_contact_bg.png), linear-gradient(253.03deg, #faedfe 0%, rgba(236, 209, 215, 0) 52.25%, #faedfe 100.55%);
}
.cta_contact .box .box_in .section_ttl p {
  font-size: 2rem;
  color: #e4007f;
}
.cta_contact .box .box_in .btn_group {
  display: flex;
  justify-content: space-between;
  gap: 2%;
  width: 90%;
  max-width: 882px;
  margin: 5rem auto 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA アクセス▼
//
///////////////////////////////////////////////////*/
.access .gmap {
  margin: 6.375rem 0 0;
  padding: 0.625rem;
  border: solid 3px #8a6f11;
  position: relative;
}
.access .gmap::before {
  position: absolute;
  content: "";
  top: -3.75rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 7.625rem;
  height: 3.78125rem;
  background: url(../images/common/access_icon.png) no-repeat center/contain;
}
.access .gmap .inner {
  padding: 0.625rem;
  border: solid 1px #8a6f11;
  overflow: hidden;
}
.access .gmap .inner .iframe_wrap {
  height: 0;
  overflow: hidden;
  position: relative;
  padding-bottom: 53.13%;
}
.access .gmap .inner .iframe_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.access .txt_box {
  display: flex;
  justify-content: space-between;
  color: #e4007f;
  font-size: 1.25rem;
  margin: 2rem 0 0;
}
.access .txt_box li {
  padding: 0 0 0 2.3125rem;
  background: url(../images/common/list_icon.png) no-repeat 0 0.45rem, 1.5625rem;
  margin: 0 0 0.5rem;
}
.access .txt_box li span {
  display: block;
  font-size: 1rem;
  margin: -0.5rem 0 0;
}
.access .btn {
  margin: 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 下層共通 ▼
//
///////////////////////////////////////////////////*/
.lower_mv {
  width: 100%;
  padding: 8.375rem 0 0;
  position: relative;
}
.lower_mv::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 84.53%;
  background: #faedfe;
}
.lower_mv .ttl {
  margin: 3.125rem 0 3.125rem 6.25%;
}
.lower_mv .ttl span {
  font-size: 7.5rem;
  color: #e4007f;
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 1026px) and (max-width: 1279.999px) {
  .lower_mv .ttl span {
    font-size: 6.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lower_mv .ttl span {
    font-size: 5rem;
  }
}
.lower_mv .ttl h1 {
  font-size: 1.375rem;
  margin: -1rem 0 0;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lower_mv .ttl h1 {
    font-size: 1.125rem;
  }
}
.lower_mv figure {
  width: 93.75%;
  margin: 0 auto 0 0;
}

.lower_mv02 {
  width: 100%;
  padding: 13.375rem 0 12.25rem;
  position: relative;
}
.lower_mv02::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 69.3%;
  background: #faedfe;
}
.lower_mv02 .ttl {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 80%;
  max-width: 952px;
  background: linear-gradient(265deg, #faedfe 0%, #fff 27.08%, #faedfe 98.44%);
  padding: 2.5rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lower_mv02 .ttl .ttl_in {
  width: 75%;
  color: #e4007f;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1025.999px) {
  .lower_mv02 .ttl .ttl_in {
    width: 90%;
  }
}
.lower_mv02 .ttl .ttl_in p {
  width: 58.42%;
  margin: 0 auto;
  font-size: 1.25rem;
  padding: 0.375rem 0;
  border-top: solid 1px #e4007f;
  border-bottom: solid 1px #e4007f;
}
.lower_mv02 .ttl .ttl_in h1 {
  font-size: 3.75rem;
  letter-spacing: 3px;
  line-height: 1.5;
}
.lower_mv02 .ttl .ttl_in h1 span {
  font-size: 2.5rem;
  letter-spacing: 2px;
}
.lower_mv02 .ttl .ttl_in h1 span.large {
  font-size: 3.75rem;
  display: inline-block;
  margin: 0 -1rem 0 0;
}
.lower_mv02 figure {
  width: 93.75%;
  margin: 0 auto 0 0;
}

.card_outer {
  width: 48.44%;
  position: relative;
}
.card_outer::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}
.card_outer::after {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border: solid 1px #8a6f11;
}
.card_outer .fee_card {
  text-align: center;
}
.card_outer .fee_card .item_in .txt_box {
  width: 78%;
  margin: 0 auto;
}
.card_outer .fee_card .item_in .txt_box .ttl {
  text-align: center;
}
.card_outer .fee_card .item_in .txt_box .ttl .en02 {
  font-size: 1.875rem;
  color: #8a6f11;
  padding: 2.625rem 0 0;
}
.card_outer .fee_card .item_in .txt_box .ttl h3 {
  font-size: 1.25rem;
}
.card_outer .fee_card .item_in .txt_box .txt {
  margin: 1.375rem 0 1.375rem;
}
.card_outer .fee_card .item_in .txt_box table {
  text-align: left;
}
.card_outer .fee_card .item_in .txt_box table tbody tr:last-of-type td {
  color: #e4007f;
}
.card_outer .fee_card .item_in .txt_box table tbody tr th {
  padding: 0.3125rem 2rem 0.3125rem 1.5rem;
  background: url(../images/fee/fee04_check01.png) no-repeat center left/1rem;
  line-height: 1;
  white-space: nowrap;
}
.card_outer .fee_card .item_in .txt_box table tbody tr td {
  padding: 0.3125rem 0 0.625rem;
}
.card_outer .fee_card .item_in .txt_box table tbody tr td span {
  font-size: 0.9rem;
  line-height: 1;
  color: #e4007f;
  padding: 0.2rem 0.3rem;
  border-radius: 5px;
  border: solid 1px #e4007f;
  white-space: nowrap;
}

/*///////////////////////////////////////////////////
//
//            ▼ 投稿エリア ▼
//
///////////////////////////////////////////////////*/
.post_area {
  letter-spacing: 0.25rem;
}
.post_area p {
  margin: 1.5rem 0;
}
.post_area h2 {
  font-size: 1.8rem;
  margin: 3rem 0 2.5rem;
}
.post_area h3 {
  font-size: 1.5rem;
  margin: 2, 5rem 0 2rem;
}
.post_area h4 {
  font-size: 1.25rem;
  margin: 2rem 0 1.5rem;
}
.post_area h5 {
  font-size: 1.1rem;
  margin: 1rem 0;
  margin: 1.5rem 0;
}
.post_area h6 {
  font-size: 1rem;
  margin: 1.5rem 0;
}
.post_area ul {
  margin: 1.5rem 0 1.5rem 2rem;
}
.post_area ul.blocks-gallery-grid {
  margin: 3rem 0 0;
}
.post_area ul li {
  list-style: disc;
}
.post_area ol {
  margin: 1.5rem 0 1.5rem 2rem;
}
.post_area ol li {
  list-style: decimal;
}
.post_area strong {
  font-weight: bold;
}
.post_area blockquote {
  background: #eee;
  padding: 2rem;
  position: relative;
}
.post_area blockquote::before, .post_area blockquote::after {
  position: absolute;
  content: "“";
  font-size: 3rem;
}
.post_area blockquote::before {
  top: 0;
  left: 0;
}
.post_area blockquote::after {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
.post_area blockquote cite {
  font-size: 0.8rem;
  color: #999;
}
.post_area a {
  display: inline;
  color: #aaa;
}
.post_area img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 3rem auto 2rem;
}
.post_area table {
  width: 100%;
  margin: 1.5rem 0 2rem;
}
.post_area table th,
.post_area table td {
  border: solid 1px #e2e2e2;
  padding: 0.25rem 1rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ（Contactform7） ▼
//
///////////////////////////////////////////////////*/
.wpcf7 {
  position: relative;
}
.wpcf7 span.wpcf7-not-valid-tip {
  position: absolute;
  bottom: -20px;
  left: 10px;
  font-size: 12px;
}
.wpcf7 .your_msg span.wpcf7-not-valid-tip {
  bottom: -15px;
}
.wpcf7 div.wpcf7-response-output {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  color: #f00;
  font-size: 14px;
}

.ajax-loader {
  position: absolute;
  top: 50%;
  left: 110%;
  transform: translate(-50%, -50%);
}

/*///////////////////////////////////////////////////
//
//            ▼ プライバシーポリシー ▼
//
///////////////////////////////////////////////////*/
.privacypolicy01 {
  margin: 5rem 0 0;
}
.privacypolicy01 h2 {
  font-size: 2rem;
  text-align: center;
  margin: 0 0 2rem;
}
.privacypolicy01 .box {
  max-width: 1080px;
  height: 320px;
  width: 100%;
  margin: 0 auto;
  border: 1px solid #111;
  border-radius: 5px;
  padding: 3.3125rem 5rem;
  overflow: scroll;
}
.privacypolicy01 .box h3 {
  font-size: 1.5rem;
  margin: 3rem 0 1rem;
}
.privacypolicy01 .box ol {
  margin: 1rem 0 1rem 2rem;
}
.privacypolicy01 .box ol li {
  list-style: decimal;
  margin: 0.5rem 0;
}
.privacypolicy01 .box ul {
  margin: 1rem 0 1rem 2rem;
}
.privacypolicy01 .box ul li {
  list-style: disc;
}
.privacypolicy01 .box ul li ol {
  margin: 0rem 0 1.5rem 2rem;
}
.privacypolicy01 .box ul li ol li {
  list-style: decimal;
}
.privacypolicy01 .box .right {
  text-align: right;
}

/*///////////////////////////////////////////////////
//
//            ▼ エラー ▼
//
///////////////////////////////////////////////////*/
.error01 {
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.error01 h1 {
  font-size: 2.5rem;
  margin-bottom: 5rem;
}
.error01 .btn a .inner {
  padding: 1rem 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 404 ▼
//
///////////////////////////////////////////////////*/
.page404 .catch_copy {
  height: 100vh;
  min-height: 750px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page404 .catch_copy .ttl {
  font-size: 3rem;
  margin-bottom: 0.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 検索フォーム ▼
//
///////////////////////////////////////////////////*/
.search {
  width: 100%;
  border: 1px solid #ddd;
}
.search form .search_inner {
  display: flex;
  justify-content: space-between;
  height: 3rem;
  align-items: center;
}
.search form .search_inner .input {
  width: calc(100% - 3rem);
  height: 100%;
}
.search form .search_inner .input input {
  border: none;
  padding: 0 1rem;
  width: 100%;
  height: 100%;
}
.search form .search_inner .submit {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 3rem;
  height: 3rem;
  color: #000;
}
.search form .search_inner .submit span {
  font-size: 1.2rem;
}

.post_none {
  text-align: center;
}

/*///////////////////////////////////////////////////
//
//            ▼ IE対策 ▼
//
///////////////////////////////////////////////////*/

/*# sourceMappingURL=desktop.css.map */