@charset "UTF-8";
/*///////////////////////////////////////////////////
//
//            ▼ ベース設定 ▼
//
///////////////////////////////////////////////////*/
body {
  -webkit-text-size-adjust: 100%;
}

html {
  color: #000;
  font-size: 3.846vw;
  line-height: 2;
  font-family: "Noto Serif JP", serif;
  -webkit-text-size-adjust: 100%;
}

a {
  color: #111;
  display: block;
}

#wrapper {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

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

.l_container {
  width: 100%;
  padding: 0 1rem;
}

.container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.m_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.s_container {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
  padding: 0 1rem;
}

.is_pc {
  display: none;
}

.is_hidden_tab {
  display: none;
}

.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;
}

.inertia {
  -webkit-overflow-scrolling: touch;
}

.preload * {
  transition: none;
}

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

@keyframes typing {
  from {
    width: 0;
  }
}
@keyframes blink {
  50% {
    border-color: transparent;
    /*点滅風に見せる*/
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ 共通 ▼
//
///////////////////////////////////////////////////*/
.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: 6rem;
}
.section_ttl span {
  font-size: 3.25rem;
  color: #e4007f;
  line-height: 100%;
  margin: 0.5rem 0 0.5rem;
  font-weight: 700;
  display: block;
}
.section_ttl h2 {
  font-size: 1rem;
  font-weight: 700;
}

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

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

.red {
  color: #ff0000;
}

.btn,
.btn02 {
  width: 18.75rem;
  margin: 0 auto;
}
.btn a,
.btn02 a {
  background: #e4007f;
  padding: 0.25rem;
  border-radius: 10px;
  transition: 0.3s;
}
.btn a .inner,
.btn02 a .inner {
  padding: 0.875rem 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.75rem;
  width: 0.5625rem;
  height: 0.875rem;
  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: 0.9rem;
  display: inline-block;
}

.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;
  left: 0;
  margin: 0 auto;
  width: 21.375rem;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
}
.side.hidden {
  bottom: -100%;
  transition: 0.3s;
}
.side.active {
  opacity: 1;
  visibility: visible;
  transition: 0.3s;
}
.side .close {
  position: absolute;
  top: -14.5px;
  right: 0;
  width: 0.90625rem;
  height: 11.5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  z-index: 5;
  background: url(../images/common/aside_close.png) no-repeat center/contain;
}
.side a {
  background: #fff;
  border: solid 2px #8a6f11;
  position: relative;
  padding: 0.125rem 0.25rem;
}
.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;
  padding: 0.4rem 3rem 0.5625rem 3.5rem;
  text-align: center;
}
.side a .inner .ttl_wrap {
  margin: 0 0 0.2rem;
}
.side a .inner .ttl_wrap .en02 {
  font-size: 0.9rem;
}
.side a .inner .ttl_wrap h2 {
  font-weight: 900;
  font-size: 1.07rem;
  line-height: 1.5;
}
.side a .inner .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 .line_btn .icon {
  font-size: 1rem;
  color: #fff;
  margin: 0 0.25rem 0 0;
}
.side a .inner .line_btn p {
  font-size: 0.95rem;
  color: #fff;
  line-height: 1;
}

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

/*///////////////////////////////////////////////////
//
//            ▼ ローディングアニメーション ▼
//
///////////////////////////////////////////////////*/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  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 {
  text-align: center;
  transition: 1s 2.5s;
  opacity: 1;
}
.loading .box .logo {
  width: 3.75rem;
  margin: 0 auto;
}
.loading .box .txt {
  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;
  }
}
/*///////////////////////////////////////////////////
//
//            ▼ ナビ ▼
//
///////////////////////////////////////////////////*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50000;
}
header .header_inner {
  width: 96.15%;
  margin: 0 0 0 auto;
  display: flex;
  justify-content: space-between;
  height: 4.1875rem;
  transition: 0.5s;
}
header .header_inner .logo_top,
header .header_inner .logo_lower {
  line-height: 1;
  max-width: 2.875rem;
  display: flex;
  align-items: center;
}
header .header_inner .logo_top a img,
header .header_inner .logo_lower a img {
  display: block;
  width: 100%;
  height: auto;
}
header .header_inner .box_r {
  display: flex;
  margin: 0 0 0 auto;
  height: 100%;
}
header .header_inner .box_r .phone {
  display: none;
}
header .header_inner .box_r .insta {
  width: 4.1875rem;
  margin: 0 0.0625rem 0 0;
}
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 .txt_wrap .fa-instagram {
  position: absolute;
  top: 23.88%;
  transform: translateX(-50%);
  margin: 0 auto;
  font-weight: 100;
}
header .header_inner .box_r .insta a .txt_wrap .fa-instagram:before {
  font-weight: 400;
  font-size: 2rem;
  font-size: 1.4375rem;
}
header .header_inner .box_r .insta a .txt_wrap .icon {
  position: absolute;
  top: 23.88%;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 1.4375rem;
}
header .header_inner .box_r .insta a .txt_wrap .contact_txt {
  position: absolute;
  bottom: 23.88%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
header .header_inner .box_r .contact {
  width: 4.1875rem;
}
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 .txt_wrap .fa-envelope {
  position: absolute;
  top: 23.88%;
  transform: translateX(-50%);
  margin: 0 auto;
}
header .header_inner .box_r .contact a .txt_wrap .fa-envelope:before {
  font-size: 1.4375rem;
  font-weight: 400;
}
header .header_inner .box_r .contact a .txt_wrap .icon {
  position: absolute;
  top: 23.88%;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 1.4375rem;
}
header .header_inner .box_r .contact a .txt_wrap .contact_txt {
  position: absolute;
  bottom: 23.88%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
header .header_inner .box_r .menu_open {
  background: #fff;
  width: 4.1875rem;
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}
header .header_inner .box_r .menu_open .span_wrap {
  position: absolute;
  top: 42.53%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 32.83%;
}
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(7.5px);
}
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(-7.5px);
}
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: 23.88%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  line-height: 1;
  text-align: center;
  transform: 0.5s;
  font-size: 0.625rem;
  font-weight: 600;
}
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%);
  visibility: hidden;
  opacity: 0;
  transition: 0.3s;
  padding: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
header .header_inner nav.active {
  visibility: visible;
  opacity: 1;
}
header .header_inner nav ul li {
  text-align: center;
}
header .header_inner nav ul li a {
  color: #e4007f;
  display: flex;
  flex-direction: column;
  align-items: center;
  display: block;
}
header .header_inner nav ul li a .en01 {
  font-size: 2rem;
  font-weight: 700;
}
header .header_inner nav ul li a .jp {
  font-size: 0.9rem;
  font-weight: 700;
  display: block;
  margin: -0.8rem 0 0;
}
header .header_inner nav .tel_btn {
  width: 18.75rem;
  margin: 1rem auto 0;
}
header .header_inner nav .tel_btn a {
  background: #e4007f;
  padding: 0.25rem;
  border-radius: 10px;
  transition: 0.3s;
}
header .header_inner nav .tel_btn a .inner {
  padding: 0.875rem 0;
  border: solid 1px #fff;
  border-radius: 10px;
  position: relative;
  text-align: center;
}
header .header_inner nav .tel_btn a .inner span {
  color: #fff;
  font-size: 0.9rem;
  display: inline-block;
  padding: 0 0 0 1.2rem;
  background: url(../images/common/menu_open_tel.png) no-repeat center left/0.9375rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ01 ▼
//
///////////////////////////////////////////////////*/
.top01 {
  margin: 4.1875rem 0 0;
}
.top01 .mv {
  width: 100%;
  height: 46rem;
  position: relative;
}
.top01 .mv img {
  object-position: 55% 0%;
}
.top01 h1 {
  display: none;
}
.top01 .copy {
  position: absolute;
  top: 2rem;
  left: 5%;
  right: 0;
  margin: 0 auto;
  text-align: left;
  color: #e4007f;
  line-height: 1.45;
}
.top01 .copy .copy_in {
  display: inline-block;
}
.top01 .copy .copy_in .line {
  display: flex;
  justify-content: left;
}
.top01 .copy .copy_in .line + .line {
  margin-top: 0.25rem;
}
.top01 .copy .copy_in .line:nth-of-type(2) {
  margin-top: 1rem;
  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(4) {
  align-items: flex-end;
}
.top01 .copy .copy_in .line:nth-of-type(4) .large {
  letter-spacing: 3.8px;
}
.top01 .copy .copy_in .line .large {
  font-size: 2.33rem;
}
.top01 .copy .copy_in .line .large_sp {
  font-size: 1.8rem;
}
.top01 .copy .copy_in .line .small {
  font-size: 0.85rem;
  letter-spacing: 0.15em;
}
.top01 .copy .copy_in .line .middle {
  font-size: 1.4375rem;
}
.top01 .copy .copy_in .line .span_wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin: 0 0 0 0.5rem;
}
.top01 .news {
  position: absolute;
  bottom: 0.625rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 96%;
  height: 12.5rem;
  background: url(../images/top/news_bg_sp.png) no-repeat center/contain;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #e4007f;
  text-align: center;
}
.top01 .news .news_in .ttl {
  padding: 0 0 0.25rem;
  margin: 0 0 0.35rem;
  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: 1.64625rem;
  line-height: 1;
}
.top01 .news .news_in .ttl .jp {
  font-size: 0.50625rem;
  font-weight: 900;
}
.top01 .news .news_in .txt {
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1.75;
}
.top01 .news .news_in .txt span {
  position: relative;
}
.top01 .news .news_in .txt .txt_big {
  font-size: 0.87rem;
}
.top01 .circle_wrap {
  position: absolute;
  bottom: 25%;
  bottom: 24%;
  left: 2%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 17rem;
}
.top01 .circle_wrap .sp_margin {
  margin: 0 0 0 4rem;
}
.top01 .circle_wrap .item {
  width: 8rem;
  height: 8rem;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  border: solid 0.65px #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: 0.8125rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0.875rem;
  height: 0.875rem;
  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: 7.6rem;
  height: 7.6rem;
  border-radius: 50%;
  border: solid 0.33px #8a6f11;
}
.top01 .circle_wrap .item:nth-of-type(1) p, .top01 .circle_wrap .item:nth-of-type(3) p {
  margin: 0.4rem 0 0;
}
.top01 .circle_wrap .item:nth-of-type(1) p {
  font-size: 0.75rem;
}
.top01 .circle_wrap .item:nth-of-type(1) p span {
  font-size: 0.9375rem;
}
.top01 .circle_wrap .item:nth-of-type(2) p {
  margin-top: 0.5rem;
  font-size: 0.875rem;
}
.top01 .circle_wrap .item:nth-of-type(2) p span {
  font-size: 0.875rem;
}
.top01 .circle_wrap .item:nth-of-type(3) p {
  font-size: 0.875rem;
}
.top01 .circle_wrap .item p {
  font-size: 0.625rem;
  line-height: 1.5;
}
.top01 .circle_wrap .item p span {
  font-size: 0.875rem;
}

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

/*///////////////////////////////////////////////////
//
//            ▼ トップ02 ▼
//
///////////////////////////////////////////////////*/
.top02_add {
  margin: 0 0 3rem;
}
.top02_add .box {
  text-align: center;
}
.top02_add .box h2 {
  color: #e4007f;
  font-size: 1.5rem;
  line-height: 1.8;
  margin: 0 0 1.25rem;
}
.top02_add .box h3 {
  font-size: 1.375rem;
  line-height: 1.8;
  margin: 0 0 1.125rem;
}
.top02_add .box p {
  font-size: 1rem;
  margin: 0 0 1rem;
}
.top02_add .box .large {
  font-weight: 700;
  font-size: 1.0625rem;
}
.top02_add .box .large02 {
  font-size: 1.25rem;
  font-weight: 700;
}
.top02_add .box .line {
  border-bottom: solid 1px #e4007f;
}
.top02_add .box .note {
  color: #e4007f;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ02_追加受講生の声 ▼
//
///////////////////////////////////////////////////*/
.top02_add02 {
  margin: 0 0 2.67rem;
  padding: 2.72rem 0;
  background: linear-gradient(253.03deg, #faedfe 0%, rgba(236, 209, 215, 0) 52.25%, #faedfe 100.55%);
}
.top02_add02 .box {
  margin: 1.33rem 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  gap: 1.6rem;
}
.top02_add02 .box .item {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 2.27rem 2.23rem;
  filter: drop-shadow(4px 4px 10px rgba(0, 0, 0, 0.25));
}
.top02_add02 .box .item .inner_wrap {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.64rem;
}
.top02_add02 .box .item .inner_wrap .inner01 {
  display: flex;
  padding-bottom: 0.8rem;
  align-items: center;
  gap: 1.36667rem;
  align-self: stretch;
  border-bottom: 1px solid #8a6f11;
}
.top02_add02 .box .item .inner_wrap .inner01 figure {
  width: 5.46667rem;
  height: 5.46667rem;
}
.top02_add02 .box .item .inner_wrap .inner01 .txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.67rem;
  flex-shrink: 0;
}
.top02_add02 .box .item .inner_wrap .inner01 .txt .name {
  color: var(--TextColor, #111);
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 100%; /* 0.8rem */
}
.top02_add02 .box .item .inner_wrap .inner01 .txt h3 {
  color: #e4007f;
  font-size: 1.06667rem;
  font-weight: 700;
  line-height: 150%; /* 1.6rem */
}
.top02_add02 .box .item .inner_wrap p {
  color: var(--TextColor, #111);
  font-size: 0.93333rem;
  font-weight: 400;
  line-height: 1.92rem; /* 205.714% */
}
.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: -3.875rem;
  left: 0;
  width: 77.86%;
  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: 3.25rem;
  color: #e4007f;
  bottom: -3.75rem;
  left: 0.9375rem;
}
.top03 .video_wrap {
  width: 100%;
  height: auto;
  overflow: hidden;
  padding: 0.4375rem;
  background: #fff;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.25);
  position: relative;
}
.top03 .video_wrap video {
  width: 100%;
  overflow: hidden;
}
.top03 .video_wrap .play_btn {
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.625rem;
  height: 2.625rem;
  cursor: pointer;
}
.top03 .video_wrap .play_btn.playActive {
  display: none;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ04 ▼
//
///////////////////////////////////////////////////*/
.top04 {
  margin: 7.625rem 0 0;
}
.top04 .section_ttl {
  margin: 0 0 1.25rem;
}
.top04 .intro {
  text-align: center;
  font-size: 1rem;
  margin: 0 0 4.1875rem;
  font-weight: 600;
}
.top04 .intro {
  text-align: center;
  margin: 0 0 4.1875rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
  color: #e4007f;
}
.top04 .intro .intro_in {
  height: 6.625rem;
}
.top04 .fade_scale {
  overflow: hidden;
  position: relative;
  width: 1.175rem;
  height: 2.35rem;
  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%);
}
.top04 .fade_scale.active .fade_scale_in {
  opacity: 1;
  font-size: 1.25rem;
  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%;
  margin: 0 0 1.25rem;
  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;
}
.top04 .box .item_outer .item {
  padding: 0 0 2.625rem;
}
.top04 .box .item_outer .item .item_in {
  width: 82.05%;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
}
.top04 .box .item_outer .item .item_in .txt_box {
  margin: 1rem 0 0;
}
.top04 .box .item_outer .item .item_in .txt_box .ttl_txt {
  display: flex;
  align-items: baseline;
  color: #e4007f;
  white-space: nowrap;
}
.top04 .box .item_outer .item .item_in .txt_box .ttl_txt .en02 {
  font-size: 3.25rem;
  line-height: 1;
}
.top04 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
  font-size: 1.375rem;
  margin: 0 0 0 1.375rem;
}
.top04 .box .item_outer .item .item_in .txt_box p {
  font-size: 1rem;
  margin: 1rem 0 1.375rem;
}
.top04 .box .item_outer .item .item_in .txt_box .link_btn {
  text-align: right;
}
.top04 .box .item_outer .item .item_in .txt_box .link_btn a {
  display: inline;
  padding: 0 3.5rem 0 0;
  position: relative;
  transition: 0.3s;
}
.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: 2.5rem;
  height: 2.5rem;
  background: url(../images/top/top04_arrow.png) no-repeat #e4007f center/0.645625rem;
  border-radius: 50%;
  transition: 0.3s;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ05 ▼
//
///////////////////////////////////////////////////*/
.top05 {
  margin: 3.75rem 0 0;
}
.top05 .section_ttl {
  margin: 0 0 1.375rem;
}
.top05 .swiper_outer {
  background: url(../images/top/top05_bg01_sp.png) repeat-x center bottom/contain;
  padding: 0 0 3rem;
}
.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: 92.3%;
  padding: 0 0 1.25rem;
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide:nth-of-type(even) {
  padding: 1.58625rem 0 1.25rem;
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item {
  padding: 1rem 1.25rem 2.125rem;
  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: 3.9375rem;
}
.top05 .swiper_outer .swiper .swiper-wrapper .swiper-slide .item figcaption .jp {
  display: block;
  margin: -2rem 1.25rem 0 0;
  font-weight: 700;
}

/*///////////////////////////////////////////////////
//
//            ▼ トップ06 ▼
//
///////////////////////////////////////////////////*/
.top06 {
  margin: 3.125rem 0 0;
}
.top06 .box .section_ttl {
  margin: 0 0 1.25rem;
}
.top06 .box .swiper {
  text-align: center;
  --add-bottom: 50px;
  padding-bottom: var(--add-bottom);
  position: relative;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide {
  width: 100%;
  padding: 0 0.9375rem 0.9375rem 0.9375rem;
  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: 6.25rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 6%;
}
.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: 6.25rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 6%;
}
.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: 6.25rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 6%;
}
.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: 6.25rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 6%;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item {
  padding: 1.375rem 1rem;
  height: 100%;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt {
  margin: 0.75rem 0 0;
  text-align: left;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt h3 {
  font-size: 1.125rem;
  color: #e4007f;
  text-align: center;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt p {
  font-size: 1rem;
  line-height: 1.5;
}
.top06 .box .swiper .swiper-container .swiper-wrapper .swiper-slide .item .txt .txt_small {
  font-size: 0.84375rem;
}
@media screen and (min-width: 420px) {
  .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;
}
.top06 .box .swiper .btn_group_outer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.top06 .box .swiper .btn_group_outer .btn_group {
  width: 31.39%;
  margin: 0 auto;
  position: relative;
}
.top06 .box .swiper .btn_group_outer .btn_group .swiper-pagination {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.top06 .box .swiper .btn_group_outer .btn_group .swiper-pagination-bullets .swiper-pagination-bullet {
  width: 4.75px;
  height: 4.75px;
  margin: 0 0.1875rem !important;
  background: #9b9b9b;
  opacity: 1;
}
.top06 .box .swiper .btn_group_outer .btn_group .swiper-pagination-bullets .swiper-pagination-bullet.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, -40%);
  width: 0.875rem;
  height: 1.375rem;
  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, -40%);
  width: 0.875rem;
  height: 1.375rem;
  background: url(../images/top/top06_arrow_next.png) no-repeat center/contain;
}

/*///////////////////////////////////////////////////
//
//            ▼ 講師紹介02 ▼
//
///////////////////////////////////////////////////*/
.lecturer02 {
  margin: 3.75rem 0 5rem;
}
.lecturer02 .item_outer {
  width: 100%;
  margin: 1.375rem 0 0;
  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;
}
.lecturer02 .item_outer .item {
  padding: 0 0 2.625rem;
}
.lecturer02 .item_outer .item .item_in {
  width: 82.05%;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
}
.lecturer02 .item_outer .item .item_in .txt_box {
  margin: -1.25rem 0 0;
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .en02 {
  position: relative;
  z-index: 1;
  font-size: 2.375rem;
  line-height: 1;
  text-align: right;
  color: #8a6f11;
  margin: 0 0 1rem;
  display: block;
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .copy {
  font-size: 1rem;
  font-weight: 700;
  display: block;
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt h3 {
  font-size: 1.375rem;
  display: inline-block;
  margin: 0 0.875rem 0 0;
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .tag_group {
  display: inline;
}
.lecturer02 .item_outer .item .item_in .txt_box .ttl_txt .tag_group .tag01 {
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  padding: 0.25rem 0.625rem;
  background: #e4007f;
  border-radius: 5px;
  margin: 0 0.5rem 0.25rem 0;
}
.lecturer02 .item_outer .item .item_in .txt_box p {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0.625rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ 講師紹介03 ▼
//
///////////////////////////////////////////////////*/
.lecturer03 .note {
  margin: 0 0 1.5rem;
  text-align: center;
  font-size: 1.2rem;
  color: #e4007f;
  font-weight: 700;
}
.lecturer03 .box {
  margin: 1.375rem 0 0;
}
.lecturer03 .box .item_outer {
  width: 100%;
  margin: 0 0 1.25rem;
  position: relative;
}
.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;
}
.lecturer03 .box .item_outer .item {
  padding: 0 0 2.625rem;
}
.lecturer03 .box .item_outer .item .item_in {
  width: 82.05%;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
}
.lecturer03 .box .item_outer .item .item_in .txt_box {
  margin: -1.25rem 0 0;
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .en02 {
  position: relative;
  z-index: 1;
  font-size: 2.375rem;
  line-height: 1;
  text-align: right;
  color: #8a6f11;
  margin: 0 0 1rem;
  display: block;
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .copy {
  font-size: 1rem;
  font-weight: 700;
  display: block;
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
  font-size: 1.375rem;
  display: inline-block;
  margin: 0 0.5rem 0 0;
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 span {
  font-size: 0.75rem;
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .tag_group {
  display: inline;
}
.lecturer03 .box .item_outer .item .item_in .txt_box .ttl_txt .tag_group .tag01 {
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  padding: 0.25rem 0.625rem;
  background: #e4007f;
  border-radius: 5px;
  margin: 0 0.0625rem 0 0;
}
.lecturer03 .box .item_outer .item .item_in .txt_box p {
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0.625rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ レッスン・スケジュール02 ▼
//
///////////////////////////////////////////////////*/
.schedule02 {
  margin: 3.75rem 0 0;
}
.schedule02 .box {
  margin: 1.5625rem 0 0;
  font-weight: 700;
}
.schedule02 .box .box_in01 {
  margin: 0 0 0.3125rem;
  display: flex;
  justify-content: space-between;
}
.schedule02 .box .box_in01 .item01 {
  color: #e4007f;
  font-weight: 700;
  background: #eed5f6;
  width: 12.78%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.schedule02 .box .box_in01 .item01 .item01_in .en01 {
  font-size: 1rem;
}
.schedule02 .box .box_in01 .item01 .item01_in p {
  font-size: 0.625rem;
  margin: -0.125rem 0 0;
}
.schedule02 .box .box_in01 .item02 {
  width: 85.56%;
  display: flex;
  justify-content: space-between;
}
.schedule02 .box .box_in01 .item02 .item_in {
  width: 48.7%;
  text-align: center;
  position: relative;
}
.schedule02 .box .box_in01 .item02 .item_in .time {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.schedule02 .box .box_in01 .item02 .item_in .time p {
  color: #e4007f;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1;
  padding: 0.625rem;
  display: inline-block;
  background: #eed5f6;
}
.schedule02 .box .box_in01 .item02 .item_in .lesson {
  padding: 2.5rem 0 2.5rem;
  border: solid 2px #eed5f6;
  font-size: 0.9rem;
  margin: 1.125rem 0 0;
}
.schedule02 .box .box_in02 {
  margin: 0 0 0.3125rem;
  display: flex;
  justify-content: space-between;
}
.schedule02 .box .box_in02 .item01 {
  color: #e4007f;
  font-weight: 700;
  background: #eed5f6;
  width: 12.78%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.schedule02 .box .box_in02 .item01 .item01_in .en01 {
  font-size: 1rem;
}
.schedule02 .box .box_in02 .item01 .item01_in p {
  font-size: 0.625rem;
  margin: -0.125rem 0 0;
}
.schedule02 .box .box_in02 .item02 {
  width: 85.56%;
  text-align: center;
  position: relative;
}
.schedule02 .box .box_in02 .item02 .time {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.schedule02 .box .box_in02 .item02 .time p {
  color: #e4007f;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1;
  padding: 0.625rem;
  display: inline-block;
  background: #eed5f6;
}
.schedule02 .box .box_in02 .item02 .lesson {
  margin: 1.125rem 0 0;
  padding: 1.5rem 0;
  border: solid 2px #eed5f6;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in {
  width: 90.3%;
  margin: 0 auto;
}
.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.625rem;
  color: #e4007f;
  border: solid 1px #e4007f;
  border-radius: 5px;
  padding: 0 0.5rem;
  display: inline-block;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in ul {
  margin: 1rem 0 0;
  padding: 1.25rem 0 0;
  border-top: solid 1px #eed5f6;
  text-align: left;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in ul li {
  padding: 0 0 0 0.75rem;
  position: relative;
  font-size: 0.9rem;
  line-height: 182%;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in ul li::before {
  position: absolute;
  content: "";
  top: 0%;
  left: 0;
  transform: translate(0, 200%);
  width: 0.375rem;
  height: 0.375rem;
  background: #eed5f6;
  border-radius: 50%;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in .small {
  font-size: 0.625rem;
  text-align: left;
  padding: 0 0 0 0.9375rem;
  margin: 0.5rem 0 0;
  position: relative;
}
.schedule02 .box .box_in02 .item02 .lesson .lesson_in .small::before {
  position: absolute;
  content: "※";
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 0.625rem;
  color: #ecd1d7;
}
.schedule02 .box .box_in02 .flag {
  position: relative;
}
.schedule02 .box .box_in02 .flag::before {
  position: absolute;
  z-index: 2;
  content: "";
  top: 0%;
  right: 0%;
  transform: translate(14%, -1%);
  width: 4.42447rem;
  height: 4.13333rem;
  flex-shrink: 0;
  background: url(../images/schedule/schedule02_flag01_sp.png) no-repeat top center/contain;
}
.schedule02 .note {
  text-align: center;
}
.schedule02 .note p {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
}
.schedule02 .note p span {
  color: #eed5f6;
}

/*///////////////////////////////////////////////////
//
//            ▼ レッスン・スケジュール03 ▼
//
///////////////////////////////////////////////////*/
.schedule03 {
  margin: 3.125rem 0 0;
}
.schedule03 .intro {
  font-size: 0.9375rem;
  text-align: center;
  margin: 1.125rem 0 0.875rem;
  font-weight: 600;
}
.schedule03 .box .item_outer {
  width: 100%;
  margin: 0 0 1.25rem;
  position: relative;
}
.schedule03 .box .item_outer:last-of-type {
  margin: 0;
}
.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;
}
.schedule03 .box .item_outer .item {
  padding: 0 0 2.25rem;
}
.schedule03 .box .item_outer .item .item_in {
  width: 88%;
  margin: 0 auto;
  display: flex;
  flex-direction: column-reverse;
}
.schedule03 .box .item_outer .item .item_in .txt_box .ttl_txt {
  margin: 0.9375rem 0 0;
}
.schedule03 .box .item_outer .item .item_in .txt_box .ttl_txt .en01 {
  font-size: 4.5rem;
  font-weight: 700;
  color: #eed5f6;
  line-height: 1;
}
.schedule03 .box .item_outer .item .item_in .txt_box .ttl_txt h3 {
  font-size: 1.25rem;
  margin: -2.375rem 0 0;
}
.schedule03 .box .item_outer .item .item_in .txt_box p {
  font-size: 0.9375rem;
  margin: 1rem 0 0;
}
.schedule03 .box .item_outer .item .item_in .txt_box .link_btn {
  text-align: right;
}
.schedule03 .box .item_outer .item .item_in .txt_box .link_btn a {
  display: inline;
  padding: 0 3.5rem 0 0;
  position: relative;
  transition: 0.3s;
}
.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: 2.5rem;
  height: 2.5rem;
  background: url(../images/top/top04_arrow.png) no-repeat #e4007f center/0.645625rem;
  border-radius: 50%;
  transition: 0.3s;
}

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

/*///////////////////////////////////////////////////
//
//            ▼ 料金03 ▼
//
///////////////////////////////////////////////////*/
.fee03 {
  margin: 0 0 3.125rem;
}
.fee03 .box {
  margin: 1.875rem 0 0;
  display: flex;
  justify-content: space-between;
  gap: 8%;
}
.fee03 .box .item {
  width: 46%;
  padding: 0.625rem;
}
.fee03 .box .item .item_in {
  border: solid 1px #8a6f11;
  text-align: center;
  padding: 1.5rem 0;
}
.fee03 .box .item .item_in .ttl .en02 {
  font-size: 1.75rem;
  line-height: 1;
  color: #8a6f11;
}
.fee03 .box .item .item_in .ttl h3 {
  font-size: 0.9375rem;
  line-height: 1;
  margin: 1rem 0;
}
.fee03 .box .item .item_in p {
  font-size: 1.25rem;
  line-height: 1.6;
  color: #e4007f;
}

/*///////////////////////////////////////////////////
//
//            ▼ 料金04 ▼
//
///////////////////////////////////////////////////*/
.fee04 {
  background: #faedfe;
  padding: 2.5rem 0;
}
.fee04 .intro {
  text-align: center;
  margin: 1.75rem 0;
  font-size: 0.9375rem;
}
.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-direction: column;
  gap: 1.25rem 0;
}
.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%;
  width: 27.8%;
  height: 87px;
  background: url(../images/fee/fee04_flag02_sp.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%;
  width: 27.8%;
  height: 87px;
  background: url(../images/fee/fee04_flag01_sp.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/1.375rem;
}
.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/1.375rem;
}
.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/1.375rem;
}
.fee04 .box .card_outer .fee_card .item_in {
  padding: 3.5rem 0 1.5rem;
}
.fee04 .box .card_outer .fee_card .item_in .ttl .en02 {
  position: relative;
  padding: 2rem 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/1.375rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 料金05 ▼
//
///////////////////////////////////////////////////*/
.fee05 {
  background: #eed5f6;
  padding: 2.5rem 0;
}
.fee05 .box {
  margin: 1.75rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem 0;
}
.fee05 .box .card_outer:first-of-type .fee_card .item_in .txt_box p {
  font-size: 1.2rem;
}
.fee05 .box .fee_card .item_in {
  padding: 1.875rem 0 1.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 料金06 ▼
//
///////////////////////////////////////////////////*/
.fee06 {
  background: #faedfe;
  padding: 2.5rem 0;
}
.fee06 .box01 {
  margin: 1.875rem 0 0;
}
.fee06 .box01 .item {
  padding: 0.625rem;
  background: #fff;
}
.fee06 .box01 .item:nth-of-type(1) {
  margin: 0 0 1.25rem;
  position: relative;
}
.fee06 .box01 .item .item_in {
  border: solid 1px #8a6f11;
  text-align: center;
  padding: 1.25rem 0 1.5rem;
}
.fee06 .box01 .item .item_in .ttl .en02 {
  font-size: 1.75rem;
  color: #8a6f11;
}
.fee06 .box01 .item .item_in .ttl h3 {
  font-size: 0.9375rem;
}
.fee06 .box01 .item .item_in p {
  font-size: 1.25rem;
  color: #e4007f;
}
.fee06 .box01 .item .item_in p span {
  font-size: 0.75rem;
  display: inline-block;
  margin: 0 0.2rem;
}
.fee06 .box02 {
  margin: 1.875rem 0 0;
}
.fee06 .box02 h3 {
  font-size: 1rem;
  text-align: center;
  margin: 0 0 1.875rem;
  padding: 1.875rem 0 0;
  background: url(../images/fee/fee06_rose.png) no-repeat center top/1.25rem;
}
.fee06 .box02 .phone_wrap {
  width: 18.75rem;
  margin: 0 auto;
}
.fee06 .box02 .phone_wrap a {
  background: #e4007f;
  padding: 0.25rem;
  border-radius: 10px;
}
.fee06 .box02 .phone_wrap a .inner {
  padding: 0.875rem 0;
  border: solid 1px #fff;
  border-radius: 10px;
  position: relative;
  text-align: center;
}
.fee06 .box02 .phone_wrap a .inner .icon {
  display: none;
}
.fee06 .box02 .phone_wrap a .inner .fa-phone {
  display: none;
}
.fee06 .box02 .phone_wrap a .inner .num {
  color: #fff;
  font-size: 0.9rem;
  display: inline-block;
  padding: 0 0 0 1.2rem;
  background: url(../images/common/menu_open_tel.png) no-repeat center left/0.9375rem;
}
.fee06 .box02 .phone_wrap a .inner .small {
  display: none;
}
.fee06 .box02 .btn_group .btn {
  margin: 0 auto;
}
.fee06 .box02 .btn_group .btn:first-of-type {
  margin: 1.875rem auto;
}

/*///////////////////////////////////////////////////
//
//            ▼ 体験レッスン02 ▼
//
///////////////////////////////////////////////////*/
.trial02 {
  margin: 3.75rem 0 0;
}
.trial02 .section_ttl h2 {
  font-size: 1.3rem;
}
.trial02 .box {
  margin: 2rem 0 0;
}
.trial02 .box .box_in {
  margin: 0 0 1.875rem;
}
.trial02 .box .box_in:nth-of-type(2) {
  margin: 0;
}
.trial02 .box .box_in .txt .ttl_txt {
  display: flex;
  align-items: baseline;
  color: #e4007f;
  justify-content: center;
}
.trial02 .box .box_in .txt .ttl_txt .en02 {
  font-size: 3.25rem;
  line-height: 1;
}
.trial02 .box .box_in .txt .ttl_txt h3 {
  text-align: center;
  font-size: 1.14rem;
}
.trial02 .box .box_in .txt .ttl_txt h3 span {
  font-size: 1rem;
}
.trial02 .box .box_in .txt .bold {
  font-weight: 700;
}
.trial02 .box .box_in .txt .bold span {
  font-size: 1.2rem;
}
.trial02 .box .box_in .txt p {
  font-size: 0.9375rem;
  text-align: center;
  margin: 1rem 0 0.4rem;
}
.trial02 .box .box_in .txt p + p {
  margin: 0.4rem 0;
}
.trial02 .box .box_in .txt p:last-of-type {
  margin-bottom: 1.5rem;
}
.trial02 .box .box_in .txt p .c_pink {
  color: #e4007f;
}
.trial02 .box .box_in figure {
  padding: 0.625rem;
}
.trial02 .box .box_in .video_wrap {
  padding: 0.625rem;
}
.trial02 .box .box_in .video_wrap video {
  width: 100%;
}

/*///////////////////////////////////////////////////
//
//            ▼ 体験レッスン03 ▼
//
///////////////////////////////////////////////////*/
.trial03 {
  margin: 3.125rem 0 0;
  display: flex;
  flex-direction: column-reverse;
}
.trial03 .box {
  display: contents;
}
.trial03 .box .txt_box {
  display: contents;
}
.trial03 .box .txt_box .section_ttl {
  order: 3;
  margin: 0 0 1.875rem;
}
.trial03 .box .txt_box .list_box {
  width: 90%;
  margin: -2rem 0 0 auto;
  background: #faedfe;
  padding: 3.125rem 1.75rem 2.1875rem;
  position: relative;
  z-index: -1;
  order: 2;
  font-weight: 600;
}
.trial03 .box .txt_box .list_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 .list_box dl {
  margin: 0 0 1rem;
}
.trial03 .box .txt_box .list_box dl dd {
  font-size: 1rem;
  padding: 0 0 0 1.625rem;
  background: url(../images/trial/trial03_check01.png) no-repeat center left/1rem;
}
.trial03 .box .txt_box .list_box dl dt {
  font-size: 0.9rem;
}
.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: 92.3%;
  margin: 0 auto;
  padding: 0.625rem;
  background: #fff;
  order: 2;
}

/*///////////////////////////////////////////////////
//
//            ▼ 体験レッスン04 ▼
//
///////////////////////////////////////////////////*/
.trial04 {
  margin: 2rem 0 0;
  background: #faedfe;
  padding: 1.875rem 0;
}
.trial04 .intro {
  text-align: center;
  margin: 1.875rem 0 0;
  font-size: 0.9375rem;
}
.trial04 .box {
  margin: 2.25rem 0 0;
}
.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: 6.25rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 2.77%;
}
.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: 6.25rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 2.77%;
}
.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: 6.25rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 2.77%;
}
.trial04 .box .box_in:nth-of-type(2) .item:nth-of-type(2) {
  margin: 0;
}
.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: 6.25rem;
  line-height: 1;
  color: #e4007f;
  top: 0;
  left: 2.77%;
}
.trial04 .box .box_in .item {
  padding: 1.5rem 1rem;
  background: #fff;
  margin: 0 0 1.625rem;
  position: relative;
}
.trial04 .box .box_in .item figure {
  aspect-ratio: 328/250;
}
.trial04 .box .box_in .item .txt {
  margin: 1rem 0 0;
}
.trial04 .box .box_in .item .txt h3 {
  font-size: 1.125rem;
  text-align: center;
  color: #e4007f;
}
.trial04 .box .box_in .item .txt p {
  font-size: 0.9rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ 体験レッスン05 ▼
//
///////////////////////////////////////////////////*/
.trial05,
.contact03 {
  margin: 5rem 0 0;
}
.trial05 .intro,
.contact03 .intro {
  color: #e4007f;
  text-align: center;
  margin: 1rem 0 1.875rem;
  font-weight: 600;
}
.trial05 .item,
.contact03 .item {
  margin: 0 0 1.75rem;
}
.trial05 .item .inner01,
.contact03 .item .inner01 {
  margin: 0 0 0.75rem;
}
.trial05 .item .inner01 span,
.contact03 .item .inner01 span {
  background: #e4007f;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0.5rem 0.625rem;
  border-radius: 5px;
  display: inline-block;
  margin: 0 0 0 1rem;
}
.trial05 .item .inner02 ::-webkit-input-placeholder,
.contact03 .item .inner02 ::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: #bcbcbc;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
}
.trial05 .item .inner02 :-ms-input-placeholder,
.contact03 .item .inner02 :-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #bcbcbc;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
}
.trial05 .item .inner02 ::placeholder,
.contact03 .item .inner02 ::placeholder {
  /* Others */
  color: #bcbcbc;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
}
.trial05 .item .inner02 input,
.contact03 .item .inner02 input {
  width: 100%;
  padding: 1.25rem;
  background: #f9f9f9;
  border: 1px solid #ecd1d7;
  border-radius: 5px;
  color: #111;
  font-size: 16px;
}
.trial05 .item .inner02 select,
.contact03 .item .inner02 select {
  width: 100%;
  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 .item .inner02 textarea,
.contact03 .item .inner02 textarea {
  width: 100%;
  padding: 1.5rem;
  background: #f9f9f9;
  border: 1px solid #ecd1d7;
  border-radius: 5px;
  color: #111;
  height: 155px;
  font-size: 16px;
}
.trial05 .item .inner02_radio,
.contact03 .item .inner02_radio {
  display: flex;
  flex-direction: column;
}
.trial05 .item .inner02_radio input,
.contact03 .item .inner02_radio input {
  display: none;
}
.trial05 .item .inner02_radio input:checked + span::after,
.contact03 .item .inner02_radio input:checked + span::after {
  display: block;
}
.trial05 .item .inner02_radio span,
.contact03 .item .inner02_radio span {
  padding: 0 0 0 2rem;
  display: inline-block;
  margin: 0 0 0.5rem;
  position: relative;
  cursor: pointer;
}
.trial05 .item .inner02_radio span::before,
.contact03 .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 .item .inner02_radio span::after,
.contact03 .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: 2rem 0 1.625rem;
}
.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: #4f4034;
  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 #4f4034;
}
.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;
}
.trial05 .submit:hover,
.contact03 .submit:hover {
  opacity: 0.5;
}
.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.125rem 0;
  border-radius: 10px;
  background: #e4007f;
  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: 1.25rem 0;
}
.exam02 .intro,
.exam03 .intro {
  font-size: 1.125rem;
  color: #e4007f;
  font-weight: 700;
  text-align: center;
}
.exam02 .box01,
.exam03 .box01 {
  margin: 3.625rem 0 0;
}
.exam02 .box01 .box_in,
.exam03 .box01 .box_in {
  margin: 2rem 0 3rem;
}
.exam02 .box01 .box_in .item,
.exam03 .box01 .box_in .item {
  margin: 0 0 1.5rem;
}
.exam02 .box01 .box_in .item .s_ttl,
.exam03 .box01 .box_in .item .s_ttl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: -0.375rem;
  margin: 0 0 0.75rem;
  padding: 0 0 0.625rem;
  border-bottom: 1px solid #e4007f;
  text-align: center;
}
.exam02 .box01 .box_in .item .s_ttl span,
.exam03 .box01 .box_in .item .s_ttl span {
  font-size: 3.25rem;
  color: #e4007f;
  line-height: 1;
}
.exam02 .box01 .box_in .item .s_ttl h3,
.exam03 .box01 .box_in .item .s_ttl h3 {
  font-size: 1.25rem;
  font-weight: 600;
}
.exam02 .box01 .box_in .item p,
.exam03 .box01 .box_in .item p {
  font-size: 0.9375rem;
  text-align: center;
}
.exam02 .box01 .box_in .item p .is_tab,
.exam03 .box01 .box_in .item p .is_tab {
  display: none;
}
.exam02 .box01 .video_wrap_outer .video_wrap,
.exam03 .box01 .video_wrap_outer .video_wrap {
  width: 100%;
  height: auto;
  overflow: hidden;
  padding: 0.4375rem;
  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;
  overflow: hidden;
}
.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%);
  width: 2.625rem;
  height: 2.625rem;
  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 {
  font-size: 0.625rem;
  text-align: right;
  margin: 0.625rem 0 0;
}
.exam02 .box01 .video_wrap_outer p span,
.exam03 .box01 .video_wrap_outer p span {
  color: #ecd1d7;
}

/*///////////////////////////////////////////////////
//
//                 ▼ 模擬試験04 ▼
//
///////////////////////////////////////////////////*/
.exam04 .box .box_in01 {
  margin: 2rem 0 0;
  text-align: center;
}
.exam04 .box .box_in01 h3 {
  display: inline-block;
  font-size: 1rem;
  padding: 0 1.5rem;
  margin: 0 0 1.25rem;
  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: 1rem;
  height: 1rem;
  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_outer .table_wrap {
  overflow-x: scroll;
}
.exam04 .box .box_in01 .table_wrap_outer .table_wrap table {
  border-collapse: separate;
  border-spacing: 3px;
  white-space: nowrap;
}
.exam04 .box .box_in01 .table_wrap_outer .table_wrap table tbody tr.t_head td {
  font-size: 0.875rem;
  color: #e4007f;
  background: #eed5f6;
  padding: 0.75rem 0.96875rem;
}
.exam04 .box .box_in01 .table_wrap_outer .table_wrap table tbody tr th {
  font-size: 0.875rem;
  color: #e4007f;
  background: #eed5f6;
  padding: 1.75rem 0.96875rem;
  text-align: center;
}
.exam04 .box .box_in01 .table_wrap_outer .table_wrap table tbody tr td {
  font-size: 0.875rem;
  font-weight: 700;
  padding: 1.75rem 0.96875rem;
  background: #eed5f6;
}
.exam04 .box .box_in01 .table_wrap_outer .scroll {
  margin: 0.75rem 0 0;
}
.exam04 .box .box_in01 .table_wrap_outer .scroll p {
  font-size: 0.625rem;
  font-weight: 700;
  margin: 0 0 0.125rem;
}
.exam04 .box .box_in02 {
  margin: 3.125rem 0 0;
  text-align: center;
}
.exam04 .box .box_in02 h3 {
  display: inline-block;
  font-size: 1rem;
  padding: 0 1.5rem;
  margin: 0 0 1.25rem;
  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: 1rem;
  height: 1rem;
  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: 0.625rem;
}
.exam04 .box .box_in02 .item_wrap .item:first-of-type .item_in .txt {
  padding: 3rem 0;
}
.exam04 .box .box_in02 .item_wrap .item:first-of-type .item_in .txt h4 {
  margin: 0 0 1rem;
  line-height: 1;
}
.exam04 .box .box_in02 .item_wrap .item:last-of-type .item_in .txt {
  padding: 1.6875rem 0;
}
.exam04 .box .box_in02 .item_wrap .item:last-of-type .item_in .txt h4 {
  margin: 0 0 0.25rem;
}
.exam04 .box .box_in02 .item_wrap .item .item_in {
  border: solid 1px #8a6f11;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.exam04 .box .box_in02 .item_wrap .item .item_in .txt h4 {
  font-size: 0.9rem;
}
.exam04 .box .box_in02 .item_wrap .item .item_in .txt p {
  font-size: 1.25rem;
  color: #e4007f;
}
.exam04 .box .box_in02 .note {
  margin: 1.25rem 0 0;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: left;
}
.exam04 .box .box_in02 .note p {
  margin: 0.625rem 0 0;
  padding: 0 0 0 1rem;
  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: 3.125rem 0 0;
  padding: 2.5rem 0;
  background: #eed5f6;
}
.exam05 .box h3 {
  font-size: 1rem;
  text-align: center;
  margin: 0 0 1.875rem;
  padding: 1.875rem 0 0;
  background: url(../images/fee/fee06_rose.png) no-repeat center top/1.25rem;
}
.exam05 .box .phone_wrap {
  width: 18.75rem;
  margin: 0 auto;
}
.exam05 .box .phone_wrap a {
  background: #e4007f;
  padding: 0.25rem;
  border-radius: 10px;
}
.exam05 .box .phone_wrap a .inner {
  padding: 0.875rem 0;
  border: solid 1px #fff;
  border-radius: 10px;
  position: relative;
  text-align: center;
}
.exam05 .box .phone_wrap a .inner .icon {
  display: none;
}
.exam05 .box .phone_wrap a .inner .fa-phone {
  display: none;
}
.exam05 .box .phone_wrap a .inner .num {
  color: #fff;
  font-size: 0.9rem;
  display: inline-block;
  padding: 0 0 0 1.2rem;
  background: url(../images/common/menu_open_tel.png) no-repeat center left/0.9375rem;
}
.exam05 .box .phone_wrap a .inner .small {
  display: none;
}
.exam05 .box .btn_group .btn {
  margin: 0 auto;
}
.exam05 .box .btn_group .btn:first-of-type {
  margin: 1.875rem auto;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ01▼
//
///////////////////////////////////////////////////*/
.contact01 .contact_mv {
  position: relative;
}
.contact01 .contact_mv .ttl {
  position: absolute;
  top: 45%;
  left: 3.85%;
}
.contact01 .contact_mv .ttl span {
  font-size: 2.375rem;
  color: #e4007f;
  font-weight: 700;
  line-height: 1;
}
.contact01 .contact_mv .ttl h1 {
  font-size: 0.9rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ02▼
//
///////////////////////////////////////////////////*/
.contact02 {
  margin: 2.5rem 0 2rem;
}
.contact02 p {
  text-align: center;
  font-size: 1rem;
  padding: 2rem 0 0;
  background: url(../images/contact/contact02_rose.png) no-repeat center top/1.25rem;
  font-weight: 700;
}
.contact02 .phone_wrap {
  margin: 1.125rem 0 0;
}
.contact02 .phone_wrap a {
  display: inline;
}
.contact02 .phone_wrap a .inner {
  display: flex;
  justify-content: center;
  align-items: initial;
  color: #e4007f;
}
.contact02 .phone_wrap a .inner .icon {
  font-size: 2.375rem;
  margin: 0 0.8rem 0 0;
}
.contact02 .phone_wrap a .inner .fa-phone {
  padding: 0.3rem 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.3rem 0 0;
}
.contact02 .phone_wrap a .inner .fa-phone:before {
  font-size: 1.7rem;
  font-weight: 900;
}
.contact02 .phone_wrap a .inner .num {
  font-size: 2.375rem;
  line-height: 1;
  letter-spacing: 0.0475rem;
  font-weight: 700;
}
.contact02 .phone_wrap a .small {
  font-size: 0.9rem;
  color: #e4007f;
  text-align: center;
  font-weight: 700;
  margin: 0.625rem 0 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ03▼
//
///////////////////////////////////////////////////*/
.contact03 {
  margin: 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: 1.375rem;
  text-align: center;
  color: #e4007f;
  margin: 0 0 2rem;
  padding: 1.25rem 0 0;
  background: url(../images/common/thanks01_rose.png) no-repeat center top/1.25rem;
}
.thanks01 .txt p {
  text-align: center;
  font-size: 0.9rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA インフォメーション▼
//
///////////////////////////////////////////////////*/
.cta_info {
  margin: 4.375rem 0 0;
}
.cta_info .box {
  position: relative;
}
.cta_info .box figure {
  width: 95.56%;
  margin: 0 0 0 auto;
  position: relative;
}
.cta_info .box figure::before {
  position: absolute;
  content: "";
  z-index: -1;
  bottom: -1rem;
  left: -1rem;
  width: 100%;
  height: 100%;
  background: #e4007f;
}
.cta_info .box .txt_box {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translate(0, -50%);
  width: 100%;
  color: #e4007f;
  text-align: center;
}
.cta_info .box .txt_box .en {
  font-size: 2.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: 1.375rem;
  color: #b78f29;
  top: -30%;
  left: -8%;
  transform: rotate(-4.36deg);
}
.cta_info .box .txt_box h2 {
  font-size: 1.125rem;
  margin: -0.5rem 0 0;
}
.cta_info .box .txt_box p {
  margin: 1rem 0 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA コンタクト▼
//
///////////////////////////////////////////////////*/
.cta_contact {
  margin: 4.375rem 0 3.75rem;
}
.cta_contact .box {
  border: solid 20px #faedfe;
  padding: 3.125rem 0 4.0625rem;
  background: url(../images/common/cta_contact_bg_sp.png) center/100%, linear-gradient(253.03deg, #faedfe 0%, rgba(236, 209, 215, 0) 52.25%, #faedfe 100.55%);
}
.cta_contact .box .box_in .section_ttl p {
  color: #e4007f;
}
.cta_contact .box .box_in .btn_group {
  margin: 3.5rem 0 0;
}
.cta_contact .box .box_in .btn_group .btn {
  margin: 0 auto 1rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ CTA アクセス▼
//
///////////////////////////////////////////////////*/
.access .gmap {
  margin: 2.5rem 0 0;
  padding: 0.3125rem;
  border: solid 3px #8a6f11;
  position: relative;
}
.access .gmap::before {
  position: absolute;
  content: "";
  top: -1.625rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 3rem;
  height: 1.5rem;
  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: 74.24%;
}
.access .gmap .inner .iframe_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.access .txt_box {
  color: #e4007f;
  font-size: 0.9rem;
  font-weight: 700;
  margin: 0.5rem 0 0;
}
.access .txt_box li {
  padding: 0 0 0 1.375rem;
  background: url(../images/common/list_icon_sp.png) left 0.45rem/1rem no-repeat;
}
.access .txt_box li span {
  display: block;
  font-size: 0.75rem;
  margin: -0.2rem 0 0;
}
.access .btn {
  margin: 1.5rem auto 0;
}

/*///////////////////////////////////////////////////
//
//            ▼ フッター ▼
//
///////////////////////////////////////////////////*/
footer {
  margin: 3.4375rem 0 0;
  padding: 2rem 0 1rem;
  background: url(../images/common/footer_bg_sp.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: 0.9rem;
  color: #e4007f;
  margin: 0 0 3.75rem;
}
footer .box .logo {
  width: 3.75rem;
  margin: 0 auto;
}
footer .box .ttl {
  margin: 1.625rem 0 2.25rem;
  line-height: 1.5;
}
footer .box .ttl .company_name {
  font-size: 1.375rem;
  margin: 1.5rem 0 0;
}
footer .box .footer_info {
  margin: 0 0 2.5rem;
}
footer .box .footer_info p {
  margin: 0 0 0.75rem;
}
footer .box .nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.625rem 2.625rem;
}
footer .box .nav li a {
  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;
}

/*///////////////////////////////////////////////////
//
//            ▼ 下層共通 ▼
//
///////////////////////////////////////////////////*/
.lower_mv {
  width: 100%;
  padding: 4.1875rem 0 0;
  position: relative;
}
.lower_mv::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 81.08%;
  background: #faedfe;
}
.lower_mv .ttl {
  margin: 1rem 0 1rem 3.85%;
}
.lower_mv .ttl span {
  font-size: 2.375rem;
  color: #e4007f;
  font-weight: 700;
  line-height: 1;
}
.lower_mv .ttl h1 {
  font-size: 0.9rem;
}
.lower_mv figure {
  width: 96.5%;
  margin: 0 auto 0 0;
}

.lower_mv02 {
  width: 100%;
  padding: 5.4375rem 0 10.625rem;
  position: relative;
}
.lower_mv02::before {
  position: absolute;
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 53.2%;
  background: #faedfe;
}
.lower_mv02 .ttl {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 87.18%;
  background: linear-gradient(265deg, #faedfe 0%, #fff 27.08%, #faedfe 98.44%);
  padding: 1.625rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lower_mv02 .ttl .ttl_in {
  color: #e4007f;
  text-align: center;
}
.lower_mv02 .ttl .ttl_in p {
  width: 74.62%;
  margin: 0 auto;
  font-size: 0.75rem;
  line-height: 1.5;
  padding: 0.375rem 0;
  border-top: solid 1px #e4007f;
  border-bottom: solid 1px #e4007f;
}
.lower_mv02 .ttl .ttl_in h1 {
  font-size: 2rem;
  letter-spacing: 3px;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0.625rem 0 0;
}
.lower_mv02 .ttl .ttl_in h1 span {
  font-size: 1.25rem;
  letter-spacing: 2px;
}
.lower_mv02 .ttl .ttl_in h1 span.large {
  font-size: 2rem;
}
.lower_mv02 figure {
  width: 96.5%;
  margin: 0 auto 0 0;
}

.card_outer {
  width: 100%;
  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% - 1.25rem);
  height: calc(100% - 1.25rem);
  border: solid 1px #8a6f11;
}
.card_outer .fee_card {
  text-align: center;
}
.card_outer .fee_card .item_in {
  width: 87.5%;
  margin: 0 auto;
}
.card_outer .fee_card .item_in .ttl {
  text-align: center;
}
.card_outer .fee_card .item_in .ttl .en02 {
  font-size: 1.25rem;
  color: #8a6f11;
  padding: 2.625rem 0 0;
}
.card_outer .fee_card .item_in .ttl h3 {
  font-size: 1rem;
}
.card_outer .fee_card .item_in .txt {
  font-size: 0.86rem;
  margin: 1.5rem 0 1rem;
}
.card_outer .fee_card .item_in table {
  width: 90%;
  margin: 0 auto;
  text-align: left;
}
.card_outer .fee_card .item_in table tbody tr {
  display: flex;
  flex-direction: column;
  font-size: 0.9rem;
  line-height: 2rem;
}
.card_outer .fee_card .item_in table tbody tr:last-of-type td {
  color: #e4007f;
}
.card_outer .fee_card .item_in table tbody tr th {
  width: 100%;
  padding: 0 0 0 1.5rem;
  background: url(../images/fee/fee04_check01.png) no-repeat center left/0.9rem;
  line-height: 1;
}
.card_outer .fee_card .item_in table tbody tr td {
  width: 100%;
  padding: 0.5rem 0 0.75rem;
}
.card_outer .fee_card .item_in table tbody tr td span {
  font-size: 0.75rem;
  line-height: 1;
  color: #e4007f;
  padding: 0.25rem 0.625rem;
  border-radius: 5px;
  border: solid 1px #e4007f;
}

/*///////////////////////////////////////////////////
//
//            ▼ 投稿エリア ▼
//
///////////////////////////////////////////////////*/
.post_area {
  letter-spacing: 0.15rem;
}
.post_area p {
  margin: 1.5rem 0;
}
.post_area h2 {
  font-size: 1.5rem;
  margin: 3rem 0 2rem;
}
.post_area h3 {
  font-size: 1.3rem;
  margin: 2rem 0;
}
.post_area h4 {
  font-size: 1.2rem;
  margin: 1.5rem 0;
}
.post_area h5 {
  font-size: 1.1rem;
  margin: 1rem 0;
}
.post_area h6 {
  font-size: 1rem;
  margin: 1rem 0;
}
.post_area ul {
  margin: 1rem 0 1rem 1.5rem;
}
.post_area ul.blocks-gallery-grid {
  margin: 2rem 0 0;
}
.post_area ul li {
  list-style: disc;
}
.post_area ol {
  margin: 1rem 0 1rem 1.5rem;
}
.post_area ol li {
  list-style: decimal;
}
.post_area strong {
  font-weight: bold;
}
.post_area blockquote {
  background: #eee;
  padding: 1rem;
  position: relative;
}
.post_area blockquote::before, .post_area blockquote::after {
  position: absolute;
  content: "“";
  font-size: 2rem;
}
.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: 2rem auto 1.5rem;
}
.post_area table {
  width: 100%;
  margin: 1rem 0 1.5rem;
}
.post_area table th,
.post_area table td {
  border: solid 1px #e2e2e2;
  padding: 0.15rem 0.5rem;
}

/*///////////////////////////////////////////////////
//
//            ▼ プライバシーポリシー ▼
//
///////////////////////////////////////////////////*/
.privacypolicy01 {
  margin: 2rem 0 0;
}
.privacypolicy01 h2 {
  font-size: 1.5rem;
  text-align: center;
  margin: 0 0 0.625rem;
}
.privacypolicy01 .box {
  height: 260px;
  width: 100%;
  margin: 0 auto;
  border: 1px solid #111;
  padding: 1.25rem 1.40625rem;
  overflow: scroll;
  border-radius: 5px;
}
.privacypolicy01 .box h1 {
  font-size: 1.5rem;
  text-align: center;
  margin: 0 0 2rem;
}
.privacypolicy01 .box h2 {
  font-size: 1.1rem;
  margin: 2.5rem 0 1rem;
}
.privacypolicy01 .box ol {
  margin: 1rem 0 1rem 1rem;
}
.privacypolicy01 .box ol li {
  list-style: decimal;
  margin: 0.5rem 0;
}
.privacypolicy01 .box ul {
  margin: 1rem 0 1rem 1rem;
}
.privacypolicy01 .box ul li {
  list-style: disc;
}
.privacypolicy01 .box ul li ol {
  margin: 0rem 0 1.5rem 1rem;
}
.privacypolicy01 .box ul li ol li {
  list-style: decimal;
}
.privacypolicy01 .box p {
  margin: 0.5rem 0;
}
.privacypolicy01 .box .right {
  text-align: right;
}

/*///////////////////////////////////////////////////
//
//            ▼ お問い合わせ（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: 12px;
  white-space: nowrap;
}

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

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

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

/*///////////////////////////////////////////////////
//
//            ▼ 検索フォーム ▼
//
///////////////////////////////////////////////////*/
.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%;
  font-size: 16px;
}
.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;
}

@media screen and (orientation: portrait) {
  /* 縦向き */
}
@media screen and (orientation: landscape) {
  /* 横向き */
}

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