@charset "utf-8";

/*---------------------------------------------
	body
---------------------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  width: 100%;
  font-size: 1.5rem;
  color: #333;
  background: #fff;
  line-height: 1.8;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

#page {
  background: #fff;
}

* {
  box-sizing: border-box;
}


img {
  width: 100%;
  height: auto;
}

.gothic {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
}

.mincho {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
}


/*---------------------------------------------
	Anchor
---------------------------------------------*/
a {
  outline: none;
}

a:link {
  color: #f85674;
  text-decoration: none;
}

a:visited {
  color: #f85674;
  text-decoration: none;
}

a:hover {
  color: #fbaab9;
  text-decoration: none;
}

a:active {
  color: #fbaab9;
  text-decoration: none;
}

a {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

a[id^="anc_"] {
  padding-top: 100px;
  margin-top: -100px;
  display: block;
  pointer-events: none;
}
div[id^="anc_"] {
  padding-top: 120px;
  margin-top: -120px;
  display: block;
}

.link_underline:link,
.link_underline:visited,
.study_div a:link,
.study_div a:visited{
  text-decoration: underline !important;
}

.link_underline:hover,
.link_underline:active,
.study_div a:hover,
.study_div a:active{
  text-decoration: none !important;
}

.hover img:hover{
opacity:0.6;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

/*---------------------------------------------
	p
---------------------------------------------*/
p {
  margin-bottom: 1em;
}

.only_pc {
  display: block;
}

.only_pc_inline {
  display: inline;
}

.only_sp {
  display: none;
}

.only_sp_inline {
  display: none;
}

.only_pc_line {
  display: inline-block;
  padding: 0 5px;
}

.sp_br {
  display: none;
}

.sp480_br {
  display: none;
}
.sp420_br {
  display: none;
}

.pc_br {
  display: inline;
}

.red {
  color: #ff0000;
}

/*---------------------------------------------
 ** ON OFF hover
---------------------------------------------*/
.hover {
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}

.hover:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: 'alpha( opacity=70 )';
}


/*---------------------------------------------
 ** ヘッダー
---------------------------------------------*/
#header_sp {
  display: none;
}

#header_pc {
  width: 100%;
  border-top: 5px solid #f85674;
  transition: all 0.5s;
  position: absolute;
  top: 0;
  transition: top 0.5s, opacity 0.5s;
  border-bottom: solid 1px #f85674;
}

#header_pc::after {
  content: '';
  width: 100%;
  height: 1px;
  display: block;
  background: #f85674;
  position: absolute;
  bottom: -4px;
}

#header_pc.fixed {
  width: 100%;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 99;
  background: #fff;
  animation: DownAnime_head 0.5s forwards;
  transition: all 0.5s;
  opacity: 0;
}

@keyframes DownAnime_head {
  from {
    opacity: 0;
    transform: translateY(-300px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#header_inner {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  padding: 20px 0 18px;
  overflow: visible;
  box-sizing: content-box;
}

#header_inner h1 {
  width: 225px;
  margin-right: 15px;
}

@media screen and (max-width: 1240px) {
  #header_inner h1 {
    width: 215px;
    margin-left: 10px;
  }
}

#header_inner nav>ul {
  display: flex;
}


#header_inner nav>ul>li>a {
  display: inline-block;
  padding: 0 18px;
  font-size: 90%;
  text-align: center;
  color: #333;
  position: relative;
  letter-spacing: 0.1rem;
  transition: all 0.5s;
}

#header_inner nav>ul>li>a:hover {
  color: #fbaab9 !important;
}

#header_inner nav>ul>li>a:hover::before {
  content: '';
  width: 55%;
  height: 2px;
  display: block;
  background: #f85674;
  position: absolute;
  bottom: -10px;
  right: 0;
  left: 0;
  margin: 0 auto;
  animation: fade-in 1s forwards;
}

@keyframes fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

#header_inner nav>ul>li>a::after {
  content: '';
  width: 1px;
  height: 30px;
  display: block;
  background: #fbaab9;
  position: absolute;
  top: 15px;
  right: 0;
}

#header_inner nav>ul>li:last-child>a::after {
  content: '';
  display: none;
}

#header_inner nav>ul>li>a span {
  display: block;
  font-size: 10px;
  color: #f85674;
  letter-spacing: 0rem;
}

#header_inner nav>ul>li>a:hover span {
  color: #fbaab9 !important;
}

#head_btn {
  width: 340px;
  position: absolute;
  right: 0;
  top: 12px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}


@media screen and (max-width: 1240px) {
  #head_btn {
    right: 10px;
  }
}

#head_btn01 {
  width: 168px;
}

#head_btn01 ul {
  width: 170px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#head_btn01 ul li {
  width: 14%;
}

#head_btn01 ul li.icon_small {
  width: 9%;
  margin-bottom: 3px;
}

#head_btn01 ul li.icon_wide {
  width: 16%;
}

#head_btn01 ul li a {
  display: block;
}

#head_btn01 ul li a:hover {
  transform: scale(1.2);
  opacity: 0.8;
}

#head_btn01>a {
  width: 120px;
  margin-left: 48px;
  margin-top: 5px;
  display: block;
}

#head_btn01>a:hover {
  transform: scale(1.1);
  opacity: 0.8;
}

#head_btn02 {
  width: 160px;
  margin-top: 5px;
}

#head_btn02 a:hover {
  transform: scale(1.05);
  opacity: 0.8;
}

@media screen and (max-width: 1240px) {
  #head_btn {
    right: 10px;
  }

  #head_btn02 {
    width: 155px;
  }
}

@media screen and (max-width: 1180px) {
  #header_inner{
    padding:25px 0 18px;
  }
  #header_inner nav>ul>li>a::after {
    content: '';
    width: 1px;
    height: 20px;
    display: block;
    background: #ffd9e1;
    position: absolute;
    top: 5px;
    right: 0;
  }
  #header_inner nav>ul>li>a:hover::before {
    bottom: -5px;
  }

  #header_inner nav>ul>li>a span {
    display: none;
  }

  #head_btn {
    width: 475px;
    top: 0px;
  }

  #head_btn01 {
    width: 300px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }

  #head_btn01 ul {
    margin-top: 1px;
  }

  #head_btn01>a {
    display: inline-block;
    margin-left: 10px;
  }

  #head_btn02 {
    width: 165px;
  }
}
@media screen and (max-width: 900px) {
  #header_inner nav>ul>li>a{
    padding:5px 10px 0;
    font-size:85%;
  }
}

/* ナビゲーション（PC・メガメニュー） */
.nav-item_sub {
  display: none;
  width: 90%;
  max-width: 1000px;
  position: absolute;
  top: 90px;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: 5;
  background: #ffeff2ea;
  padding: 3% 2%;
}

.nav-item_sub_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.nav-item_sub_inner>div {
  width: 150px;
  font-size: 140%;
  color: #f85674;
  letter-spacing: 0.1rem;
}

.nav-item_sub_inner>div span {
  font-size: 1.4rem;
  display: block;
  margin-top: 0px;
}

.nav-item_sub_inner>ul {
  width: calc(100% - 160px);
  border-left: 2px solid #fff;
  padding: 2% 0 2% 2%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  box-sizing: border-box;
}

.nav-item_sub_inner>ul>li {
  width: 30.3%;
  margin: 0 1.5% 20px;
  display: block;
}

#nav04 .nav-item_sub_inner>ul>li {
  margin: 0 1.5% 30px;
}

.nav-item_sub_inner>ul>li>a {
  background: #ffffffde;
  display: block;
  padding: 5px 5% 7px;
  position: relative;
  font-size:90%;
}

.nav-item_sub_inner>ul>li>a:after {
  content: '';
  width: 24%;
  height: 20px;
  display: block;
  background: url(../img/arrow_pink.png) no-repeat top right;
  background-size: 100% auto;
  pointer-events: none;
  position: absolute;
  top: 14px;
  right: 13px;
  transition: all 0.5s;
}

.nav-item_sub_inner>ul>li>a:hover:after {
  right: 5px;
}

.nav-item_sub_sub_inner {
  padding-top: 5px;
}

.nav-item_sub_sub_inner a {
  color: #f85674;
  display: block;
  font-size: 90%;
  margin-left: 12px;
  padding:5px 0;
}

.nav-item_sub_sub_inner a:hover {
  color: #f991a4;
}

@media screen and (max-width: 1020px) {

  .nav-item_sub_inner>div {
    width: 120px;
    font-size: 120%;
  }
  .nav-item_sub_inner>ul {
    width: calc(100% - 130px);
  }
  .nav-item_sub_inner>ul>li{
    width:29%;
  }
  .nav-item_sub_inner>ul>li:first-child{
    width:33%;
  }
}

@media screen and (max-width: 950px) {
  .nav-item_sub_sub_inner a{
    font-size:80%;
  }
}
@media screen and (max-width: 850px) {
  .nav-item_sub_inner>div {
    width: 80px;
    font-size: 100%;
  }
  .nav-item_sub_inner>ul {
    width: calc(100% - 90px);
  }
  .nav-item_sub_inner>ul>li>a{
    font-size:80%;
  }
  .nav-item_sub_sub_inner a{
    letter-spacing: -0.1rem;
    padding:3px 0;
  }
}

#menu {
  display: none;
}

.nav_top_line{
  border-top:1px solid #f85674;
  margin-top:10px;
  padding-top:15px!important;
  display: block;
}


#main {
  width: 100%;
  max-width: 1220px;
  margin: 110px auto 12px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1180px) {
  #main {
    margin: 105px auto 12px;
  }
}

.slide .item a img {
  transition: all 0.5s;
}

.slide .item a:hover img {
  filter: brightness(1.1);
}


.slick-dots {
  width: unset;
  bottom: -30px;
  right: 0;
  display: inline-block;
}

.slick-dots li {
  margin: 0 5px 0 5px;
  width: 10px;
  height: 10px;
}

.slick-dots li button:before {
  content: '';
  width: 10px;
  height: 10px;
  background: #E0E0E0;
  opacity: 1;
  border-radius: 50%;
}

.slick-dots li.slick-active button:before {
  background: #fbaab9;
}

.main_scroll {
  width: 17px;
  display: block;
  position: absolute;
  left: -25px;
  bottom: 0;
  transition: all 0.5s;
}

.main_scroll:hover {
  bottom: -10px;
}


/*---------------------------------------------
 ** TOPコンテンツ
---------------------------------------------*/
#content {
  z-index: 1;
}

#top_concept {
  padding: 2% 0 5%;
}

#top_concept h2 {
  width: 30%;
  max-width: 130px;
  margin: 0 auto 3%;
}

#top_concept p{
  font-size:160%;
  text-align: center;
}

#top_class {
  padding: 5% 0 5%;
  background:#fef1f4;
  margin-bottom:3%;
}

#top_class h2 {
  width: 28%;
  max-width: 100px;
  margin: 0 auto 3%;
}
#top_class h2+p {
  width:90%;
  text-align: center;
  margin:0 auto 3%;
}

.top_class_list{
  width:90%;
  max-width:1150px;
  margin:0 auto 3%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.top_class_list>div{
  width:31.5%;
  text-align: center;
}
.top_class_list>div>img{
  width:90%;
  margin:0 auto 1.5%;
}
.top_class_list>div>a{
  display: block;
  background:#fff;
  border-radius: 5px;
  padding:5%;
  font-size:90%;
  text-align: left;
}

.top_class_list>div>a:hover{
  background:#ffd9e1;
}
.top_class_list>div>a h3{
  font-size:130%;
  font-weight: 500;
  text-align: center;
  margin-bottom:3%;
  letter-spacing: 0.08rem;
  color:#f85674!important;
}
.top_class_list>div>a h3 span{
  font-size:70%;
  font-weight: 400;
  display: block;
  color:#fbaab9;
}
.top_class_list>div>a p{
  margin:0 2% 3%;
  text-align: left;
}
.top_class_list>div>a p.top_class_text{
  color:#333!important;
}
.top_class_list>div>a>img {
  transition: all 0.5s;
}

.top_class_list>div>a:hover>img {
  filter: brightness(1.1);
}
.search_btn{
  text-align: center;
}
.search_btn a{
  padding:12px 100px 13px 25px;
  display: inline-block;
  background:#fa899e;
  color:#fff;
  font-size:135%;
  text-align: left;
  position: relative;
  line-height:1.0;
  letter-spacing: 0.1rem;
}
.search_btn a:hover{
  background:#ffa8b8;
}
.search_btn a>img{
  width:50px;
  position:absolute;
  top:35%;
  right:5%;
  transition: all 0.5s;
}
.search_btn a:hover>img{
  right:2%;
}

#top_junior{
  background:url(../school_img/top_bg02s.jpg) no-repeat center center;
  background-size:cover;
  padding:6% 0;
  text-align: center;
}
#top_junior a{
  width:80%;
  max-width:800px;
  margin:0 auto;
  background:#ffffffcf;
  border-radius: 10px;
  display: block;
  position:relative;
  font-size:160%;
  text-align: center;
  font-weight: 500;
  padding:3% 0;
  letter-spacing: 0.1rem;
  color:#f85674!important;
  box-sizing: border-box;
}
#top_junior a span{
  display: block;
  font-size:60%;
  color:#fbaab9;
}
#top_junior a>img{
  width:35%;
  max-width:125px;
  display: inline-block;
  position:absolute;
  top:40%;
  right:15%;
  transition: all 0.5s;
}
#top_junior a:hover{
  background:#ffd9e1d5;
}
#top_junior a:hover>img{
  right:11%;
}


#top_news {
  padding: 5% 0 5%;
}

#top_news h2 {
  width: 30%;
  max-width: 110px;
  margin: 0 auto 3%;
}

.top_news_data {
  width: 90%;
  max-width: 1150px;
  margin: 0 auto 5%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.top_news_list {
  width: calc(96% - 360px);
}

.top_news_list dl a {
  padding: 2% 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  border-bottom: 1px solid #e9e0e0;
  color: #333;
  transition: all 0.5s;
}

.top_news_list dl a:hover {
  background: #fffafb;
  color: #f85674;
}

.top_news_list dl dt {
  width: 100px;
  margin-top: 2px;
}

.top_news_list dl dd {
  width: calc(97% - 195px);
  font-size: 100%;
  position: relative;
  margin-left: 95px;
}

.top_news_list dl dd span {
  width: 85px;
  display: inline-block;
  padding: 0 2% 0 0;
  font-size: 90%;
  position: absolute;
  top: 3px;
  left: -95px;

}

.top_news_btn {
  width: 360px;
}

.top_news_btn li a {
  border: 1px solid #f85674;
  padding: 10% 3% 15% 8%;
  display: block;
  position: relative;
  margin-bottom: 5%;
  color: #f85674;
  line-height: 1.2;
  font-size:130%;
}

.top_news_btn li span {
  font-size: 110%;
  display: inline-block;
  position: relative;
}

.news_btn_cate01 a {
  background:url(../school_img/cate_btn_img01s.jpg) no-repeat right center #fffafb;
  background-size:auto 100%;
}
.news_btn_cate01 a:hover {
  background:url(../school_img/cate_btn_img01s.jpg) no-repeat right center #ffd9e1;
  background-size:auto 100%;
}
.news_btn_cate02 a {
  background:url(../school_img/cate_btn_img02sb.jpg) no-repeat right center #fffafb;
  background-size:auto 100%;
}
.news_btn_cate02 a:hover {
  background:url(../school_img/cate_btn_img02sb.jpg) no-repeat right center #ffd9e1;
  background-size:auto 100%;
}
.news_btn_cate03 a {
  background:url(../school_img/cate_btn_img03sb.jpg) no-repeat right center #fffafb;
  background-size:auto 100%;
}
.news_btn_cate03 a:hover {
  background:url(../school_img/cate_btn_img03sb.jpg) no-repeat right center #ffd9e1;
  background-size:auto 100%;
}




.top_news_btn li a img {
  width: 50px;
  position: absolute;
  top: 65%;
  left: 8%;
  transition: all 0.5s;
}

.top_news_btn li a:hover img {
  left: 12%;
}


@media screen and (max-width: 1100px) {
  #top_news .top_news_list {
    width: 100%;
  }

  #top_news .top_news_btn {
    width: 100%;
    max-width: 800px;
    margin: 3% auto;
  }

  #top_news .top_news_btn ul {
    max-width:700px;
    margin:0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-items: flex-start;
  }

  #top_news .top_news_btn ul li {
    width: 47%;
    margin:0 3% 1% 0;
  }
  #top_news .top_news_btn ul li:nth-child(2n) {
    margin-right:0;
  }
  .top_news_btn li a{
    font-size:110%;
  }


}


/*---------------------------------------------
 ** フッター
---------------------------------------------*/

footer {
  background: #e8e9ed;
  border-bottom: 5px solid #f85674;
  position: relative;
  z-index: 2;
}

#foot_inner {
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 5% 0 20px;
  position: relative;
}

.foot_l {
  width: 500px;
  color: #f85674;
}

.foot_l h2 {
  font-size: 130%;
  line-height: 1.6;
}

.foot_l p {
  margin-bottom: 0;
  font-size: 90%;
}

.foot_r {
  width: 370px;
  position: absolute;
  bottom: 25px;
  right: 0;
}

.foot_r ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  text-align: right;
  margin-right: 20px;
}

.foot_r ul li {
  display: inline-block;
  position: relative;
  line-height: 1.2;
  font-size: 90%;
}

.foot_r ul li:first-child::before {
  content: '';
  width: 1px;
  height: 15px;
  display: block;
  background: #f85674;
  position: absolute;
  top: 3px;
  left: -20px;
}

.foot_r ul li::after {
  content: '';
  width: 1px;
  height: 18px;
  display: block;
  background: #f85674;
  position: absolute;
  top: 3px;
  right: -20px;
}
#sp_nav_foot_block{
  display: none;
}

@media screen and (max-width: 1110px) {
  #foot_inner {
    padding: 70px 0 20px;
  }

  .foot_l {
    text-align: center;
    margin: 0 auto;
  }

  .foot_r {
    width: 380px;
    bottom: auto;
    top: 25px;
    right: 0;
    left: 0;
    margin: 0 auto;
  }

  .foot_r .foot_btn {
    width: 100%;
    max-width: 395px;
    margin: 0 auto 20px;
  }
}




/*---------------------------------------------
 ** Pagetop
---------------------------------------------*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  transition: all 0.3s;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  z-index: 4;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(200px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 1;
    transform: translateY(200px);
  }
}

@media screen and (max-width: 1000px) {
  #page-top a {
    width: 25px;
  }
}


/*---------------------------------------------
 ** 下層ページ共通
---------------------------------------------*/
.arrow_detail {
  color: #f85674;
  display: inline-block;
  position: relative;
}

.arrow_detail img {
  width: 75px;
  position: absolute;
  top: 7px;
  right: -85px;
  transition: all 0.5s;
}

a:hover .arrow_detail img {
  right: -95px;
}

.text_back {
  color: #f85674;
  display: inline-block;
  position: relative;
  font-size: 90%;
  margin-left: 45px;
}

.text_back img {
  width: 40px;
  position: absolute;
  top: 7px;
  left: -45px;
  transition: all 0.5s;
  transform: rotate(180deg);
}

.text_back:hover img {
  left: -50px;
}

a.btn_blue_arrow {
  border: 1px solid #999;
  padding: 7px 60px 7px 15px;
  display: inline-block;
  position: relative;
  margin: 2% 0;
  transition: all 0.5s;
}

a.btn_blue_arrow>img {
  width: 40px;
  display: block;
  position: absolute;
  top: 15px;
  right: 10px;
  transition: all 0.5s;
}

a.btn_blue_arrow:hover {
  background: #f3f8ff;
}

a.btn_blue_arrow:hover>img {
  right: 5px;
}

a.btn_pink_arrow {
  border: 1px solid #999;
  padding: 7px 60px 7px 15px;
  display: inline-block;
  position: relative;
  margin: 2% 0;
  transition: all 0.5s;
}

a.btn_pink_arrow>img {
  width: 40px;
  display: block;
  position: absolute;
  top: 15px;
  right: 10px;
  transition: all 0.5s;
}

a.btn_pink_arrow:hover {
  background: #ffe8ec;
}

a.btn_pink_arrow:hover>img {
  right: 5px;
}

.youtube {
  width: 100%;
  max-width: 760px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 3%;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

.low_temp_blue #main{
  width:100%;
  max-width: none;
}

.h2_pink_bg h2{
  width:100%;
  background:#fa899e;
  padding:40px 0;
  text-align: center;
  font-size:160%;
  line-height:1.6;
  color:#fff;
  letter-spacing: 0.2rem;
}
.h2_pink_bg h2 span{
  font-size:60%;
  display: block;
}



/*---------------------------------------------
 ** 教室一覧
---------------------------------------------*/

#school_class_list_all #main,
#school_class_info_all #main{
  width:100%;
  max-width: none;
}

#school_class_list_all #content{
  width:90%;
  max-width:1000px;
  margin:0 auto 5%;
}
#school_class_list_all .read{
  font-size:130%;
  text-align: center;
  padding:5% 0;
  position:relative;
}
#school_class_list_all .read p{
  margin-bottom:20px;
}
.school_class_list_data{
  margin-bottom:30%;
}
.school_class_list_data h3{
  text-align: center;
  margin:0 auto 2%;
  padding-top:3%;
}
.school_class_list_data h3 span{
  display: inline-block;
  position:relative;
  font-size:140%;
  color:#f85674;
}
.school_class_list_data h3 span::before,
.school_class_list_data h3 span::after{
  content:'';
  width:150px;
  height:1px;
  display: block;
  background:#f85674;
  position:absolute;
  top:48%;
}
.school_class_list_data h3 span::before{
  left:-180px;
}
.school_class_list_data h3 span::after{
  right:-180px;
}
#school_class_list_all .read>div{
  position:absolute;
  top:35%;
  right:0;
}
#school_class_list_all .read label {
  position: relative !important;
}

select#class_list_select {
  -moz-appearance: none!important;
  -webkit-appearance: none!important;
  appearance: none!important;
  width: 200px !important;
  padding: 0.8em 1em;
  box-sizing: border-box;
  font-size: 16px;
  border: #ccc 1px solid;
  border-radius: 0;
  background: #fff;
  text-align: center!important;
  font-family: 'Noto Serif JP', serif!important;
  color:#333!important;
}
::-webkit-full-page-media, :future, :root select#class_list_select {
  padding: 0.5em 1em 0.5em 3em;
}
.screen-reader-text{
  clip: rect(1px,1px,1px,1px);
  height: 1px;
  overflow: hidden;
  display: block;
  position: absolute!important;
  width: 1px;
}
#school_class_list_all label::after,
#school_class_info_all label::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 15px;
  top: 28%;
  border-style: solid;
  border-width: 16px 10px 0 10px;
  border-color: #fa899e transparent transparent transparent;
  pointer-events: none;
}


.list_prefecture{
  margin-bottom:5%;
}
.list_city{
  margin-bottom:5%;
}
.list_city h4{
  color:#f85674;
  font-size:130%;
  padding:5px 0;
}
.list_ward{
  margin-bottom:3%;
}
.list_city h5{
  background:#feeef1;
  color:#f85674;
  padding:5px 15px;
  font-size:120%;
  margin-bottom:5px;
}
.list_studio{
  border-top:1px solid #e9e0e0;
}

.list_studio a{
  display: block;
  padding:20px 45px 20px 0.8%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  font-size:90%;
  border-bottom:1px solid #e9e0e0;
  position:relative;
}
.list_studio a>h6 {
  width:calc((100% - 450px)*0.33);
  margin-left:15px;
  color: #f85674!important;
  letter-spacing: 0.1rem;
}
.list_studio a>p {
  width:calc((100% - 450px)*0.66);
  margin-right:15px;
  margin-bottom:0;
  color:#333!important;
}
.list_studio a>ul {
  width:420px;
  display: flex;
  justify-content:end;
  align-items: flex-start;
}
.list_studio a>ul li{
  margin-left:5px;
}
.list_studio a>ul li.icon_boy{
  width:55px;
}
.list_studio a>ul li.icon_first{
  width:55px;
}
.list_studio a>ul li.icon_kinder{
  width:55px;
}
.list_studio a>ul li.icon_toe{
  width:50px;
}
.list_studio a>ul li.icon_junior{
  width:62px;
}
.list_studio a>ul li.icon_honka{
  width:50px;
}
.list_studio a>ul li.icon_adult{
  width:62px;
}
.list_studio a>img {
  width:30px;
  position:absolute;
  right:10px;
  top:0;
  bottom:0;
  margin:auto 0;
  transition: all 0.5s;
}
.list_studio a:hover{
  background:#fffafb;
}
.list_studio a:hover>img {
  right:0px;
}

div[id^='anc_'] {
  padding-top: 110px;
  margin-top: -110px;
  display: block;
  pointer-events: none;
}

@media screen and (max-width: 1050px) {
  .list_studio a>h6{
    width:100%;
    margin-right:0;
  }
  .list_studio a>p{
    width:calc(100% - 450px);
    margin-left:15px;
  }  
  .list_studio a>ul{
    margin-top:-13px;
  }
}

@media screen and (max-width: 950px) {
  #school_class_list_all .read{
    margin-bottom:8%;
  }
  #school_class_list_all .read>div {
    top: auto;
    right: 0;
    left:0;
    bottom:-10px;
    margin:0 auto;
  }
  .list_studio a>p {
    width: calc(100% - 320px);
  }
  .list_studio a>ul{
    width:290px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top:-23px;
  }
  .list_studio a>ul li{
    margin-bottom:5px;
  }  
}

/*---------------------------------------------
 ** 教室情報
---------------------------------------------*/
#school_class_info_all #content{
  width:90%;
  max-width:1130px;
  margin:0 auto 5%;
}

.school_class_info_data{
  position:relative;
  margin-top:3%;
}
.school_class_info_data>div:nth-of-type(1){
  position:absolute;
  top:0px;
  right:0;
}


.school_class_info_data h3{
  text-align: center;
}
.school_class_info_data h3 span{
  display: inline-block;
  position:relative;
  font-size:130%;
  color:#f85674;
  margin:-150px auto 5%;
  letter-spacing: 0.1rem;
}
.school_class_info_data h3 span::before,
.school_class_info_data h3 span::after{
  content:'';
  width:110px;
  height:1px;
  display: block;
  background:#f85674;
  position:absolute;
  top:48%;
}
.school_class_info_data h3 span::before{
  left:-150px;
}
.school_class_info_data h3 span::after{
  right:-150px;
}

.studio_icon{
  width:610px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  margin:0 auto 5%;
}

.studio_icon .icon_boy{
  width:82px;
  margin:2px;
}
.studio_icon .icon_first{
  width:82px;
  margin:2px;
}
.studio_icon .icon_kinder{
  width:82px;
  margin:2px;
}
.studio_icon .icon_toe{
  width:75px;
  margin:2px;
}
.studio_icon .icon_junior{
  width:93px;
  margin:2px;
}
.studio_icon .icon_honka{
  width:75px;
  margin:2px;
}
.studio_icon .icon_adult{
  width:93px;
  margin:2px;
}

.school_class_info_data h4{
  color: #f85674;
  font-size:130%;
  margin-bottom:5px;
  letter-spacing: 0.1rem;
}

.studio_tbl{
  margin-bottom:5%;
}

.studio_tbl table{
  width:1080px;
  margin:0 auto 2%;
  text-align: center;
  line-height:1.4;
  border-collapse: collapse;
  border-spacing: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  position:relative;
  box-sizing: border-box;
}
.studio_tbl h4+p{
  margin-left:2%;
  font-size:90%;
  font-weight: 300;
  margin-bottom:10px;
}
.studio_tbl table tr th,
.studio_tbl table tr td{
  width:140px;
  border:1px #ccc solid;
  vertical-align: middle;
  font-weight: 300;
  padding:8px 10px;
  background:#fff;
  box-sizing: border-box;
  border-spacing: 0;
}
.studio_tbl table tr td{
  background:none;
}
.studio_tbl table tr th:nth-of-type(1){
  width:160px;
  color: #f85674;
}
.studio_tbl table tr th:nth-of-type(2){
  border-left: none;
}


.studio_tbl table tr:nth-of-type(1) th{
  color:#f85674;
  position:relative;
  background:none;
}
.studio_tbl table tr:nth-of-type(1) th::before{
  content:'';
  width:100%;
  height:100%;
  display: block;
  background:#feeef1;
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  left:0;
  margin:auto;
  z-index:-1;
}
.studio_tbl table tr:nth-of-type(1) th:nth-of-type(1):before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
.iphone .studio_tbl table tr:nth-of-type(1) th:nth-of-type(1):before {
  width: 98%;
}
.studio_tbl table tr:nth-of-type(1) th:nth-of-type(1){
  background:none;
  position: sticky;
  top: 0;
  left: 0;
  z-index:1;
  border-right:none;
  border-left:none;
}
.studio_tbl table tr td{
  font-size:90%;
  letter-spacing: -0.05rem;
}
.studio_tbl table tr td:nth-of-type(1){
  border-left: none;
}
.studio_tbl .fixed01{
  position: sticky;
  top: 0;
  left: 0;
  border-left: none;
  border-right: none;
}  
.studio_tbl .fixed01:before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.class_price{
  margin-bottom:5%;
}

.class_price dl{
  max-width:1080px;
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.class_price dl dt{
  width:100px;
  padding:10px 0;
}
.class_price dl dd th br{
  display: none;
}

.class_price dl dd{
  width:calc(100% - 100px);
  padding:10px 0;
}
.class_price dl dd table{
  width:100%;
  margin-bottom:10px;
  line-height:1.6;
}
.class_price dl dd table tr th,
.class_price dl dd table tr td{
  width:20%;
  vertical-align: middle;
  text-align: center;
  padding:15px 20px;
  background:#ececec;
  border:3px solid #fff;
  font-weight: 300;
}
.class_price dl dd table tr td{
  width:80%;
  background:#f9f9f9;
  text-align: left;
}

.class_price dl dd ul{
  margin-bottom:7px;
}

.class_price dl dd ul li{
  font-size:90%;
  margin-left:1.8rem;
  position:relative;
  margin-bottom:10px;
  line-height:1.6;
}
.class_price dl dd ul li::before{
  content:'■';
  color:#f85674;
  display: inline-block;
  margin-right:3px;
  position:absolute;
  left:-1.8rem;
  top:0px;
}
.class_price dl dd ul li span{
  font-size:160%;
  font-weight: 400;
}
.class_price dl dd ul li span br{
  display: none;
}

.class_price dl dt.dt_pre{
  width:160px;
  vertical-align: middle;
  padding-top:18px;
}


.class_price dl dd.dd_pre{
  width:calc(100% - 160px);
}
.class_price dl dd.dd_pre a.btn_pink_arrow{
  margin:0 0 0 20px;
  padding:7px 120px 7px 15px;
  color:#333;
}


.class_teacher{
  margin-bottom:5%;
}

.class_teacher_list{
  background:#fef1f4;
  padding:3%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.class_teacher_list dl{
  width:19%;
  margin-right:1.25%;
  margin-bottom:3%;
}
.class_teacher_list dl:nth-child(5n){
  margin-right:0;
}
.class_teacher_list dl a{
  display: block;
}

.class_teacher_list dl a dt{
  overflow: hidden;
}
.class_teacher_list dl a dt img{
  transition: all 0.5s;
  margin-bottom:5px;
}
.class_teacher_list dl a:hover dt img{
  transform: scale(1.1);
  filter: saturate(110%);
}

.class_teacher_list dl a dd{
  text-align: center;
  color:#333;
  line-height:1.6;
}
.class_teacher_list dl a dd span{
  color:#f85674;
  font-size:80%;
  display: block;
}
.class_address{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom:5%;
}
.class_address>div{
  width:35%;
}
.class_address>div .class_address_list{
  margin:5% 0 5% 6%;
}
.class_address>div .class_address_list li{
  line-height:1.4;
  margin-bottom:5px;
}
.class_address>iframe{
  width:60%;
  height:350px;
  border:none!important;
}
.class_address>div .class_address_access{
  margin-left:6%;
}
.class_address>div .class_address_access span{
  color:#f85674;
  display: block;
  text-indent: -0.5rem;
}

.class_studio_img{
  margin-bottom:5%;
}
.class_studio_img >div{
  width:95%;
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.class_studio_img >div dl{
  width:48%;
  margin-top:1%;
  margin-bottom:3%;
  font-size:90%;
}
.class_studio_img >div dl dt{
  margin-bottom:3px;
}

.class_studio_movie{
  margin-bottom:5%;
}
.class_studio_movie >div{
  width:95%;
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.class_studio_movie >div dl{
  width:48%;
  margin-top:1%;
  margin-bottom:3%;
  font-size:90%;
}
.class_studio_movie >div dl dt{
  margin-bottom:3px;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 5%;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}
.class_studio_movie >div dl dd span{
  color:#f85674;
  display: block;
  margin-bottom:3px;
  text-indent: -0.8rem;
  font-size:110%;
}
#school_class_info_all .text_back {
  margin-left: 50px;
}
@media screen and (max-width: 1220px) {
  .studio_tbl h4+p{
    margin-left:0;
  }
}
@media screen and (max-width: 1200px) {
  .class_address>div{
    width:100%;
  }
  .class_address>div .class_address_list {
    margin: 2% 0 2% 2%;
  }
  .class_address>div .class_address_access{
    margin-left:2%;
    margin-bottom:3%;
  }
  .class_address>iframe{
    width:100%;
    height:400px;
  }
}

@media screen and (max-width: 1000px) {
  .school_class_info_data{
    padding-top:80px;
  }
  .school_class_info_data>div:nth-of-type(1) {
    width:200px;
    position: absolute;
    top:0;
    right: 0;
    left:0;
    margin:0 auto;
  }
  .class_price dl .class_price_dd_table{
    width:100%;
    margin-top:-2%;
  }
  @media screen and (max-width: 920px) {
    .class_price dl dd th br{
      display: inline;
    }
  }

}

/*---------------------------------------------
 ** バレエ学園概要
---------------------------------------------*/
#school_about_all #main{
  width:100%;
  max-width: none;
}

#school_about_all #content{
  margin:0 auto 5%;
}

#school_about_all h3{
  text-align: center;
}
#school_about_all h3 span{
  display: inline-block;
  position:relative;
  font-size:160%;
  color:#f85674;
  margin:0 auto 5%;
  letter-spacing: 0.1rem;
}
#school_about_all h3 span::before,
#school_about_all h3 span::after{
  content:'';
  width:110px;
  height:1px;
  display: block;
  background:#f85674;
  position:absolute;
  top:48%;
}
#school_about_all h3 span::before{
  left:-150px;
}
#school_about_all h3 span::after{
  right:-150px;
}
#school_about_all .text_right{
  text-align: right;
  margin-right:45px;
}
#school_about_all .arrow_detail{
  font-size:90%;
}
#school_about_all .arrow_detail img {
  width: 35px;
  position: absolute;
  top: 7px;
  right: -40px;
  transition: all 0.5s;
}
#school_about_all .arrow_detail:hover img{
  right:-50px;
}

.school_greeting{
  padding:5% 0 3%;
}
.school_greeting>div{
  width:90%;
  max-width:1100px;
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
}

.greeting_img{
  width:320px;
  margin-bottom:3%;
}
.greeting_img img{
  margin-bottom:5px;
}
.greeting_img p span{
  display: inline-block;
  margin-right:1.5rem;
}

.greeting_p{
  width:calc(95% - 320px);
  margin-bottom:3%;
}

.school_about_data{
  padding:5% 0;
  background:#fff7f8;
}
.school_about_data>div{
  width:90%;
  max-width:1100px;
  margin:0 auto;
}
#school_about_all .school_about_data h3{
  text-align: center;
  position:relative;
}
#school_about_all .school_about_data h3 span{
  display: inline-block;
  position:relative;
  font-size:110%;
  color:#f85674;
  margin:0 auto 2%;
  letter-spacing: 0.1rem;
}
#school_about_all .school_about_data h3 span::before,
#school_about_all .school_about_data h3 span::after{
  content:'';
  width:50px;
  height:1px;
  display: block;
  background:#f85674;
  position:absolute;
  top:48%;
}
#school_about_all .school_about_data h3 span::before{
  left:-90px;
}
#school_about_all .school_about_data h3 span::after{
  right:-90px;
}
#school_about_all .school_about_data h3 small{
  font-size:70%;
  display: inline-block;
  color: #f85674;
  position:absolute;
  bottom:0px;
  right:0;
  left:0;
  margin:0 auto;
}

.school_about_data_box>div{
  max-width:700px;
  padding:3% 5%;
  border-bottom:1px solid #ccc;
  text-align: center;
  margin:0 auto;
}

.school_about_data_box>div:last-child{
  border-bottom:none;
}

.school_about_data_box>div h4{
  font-size:160%;
  color: #f85674;
  margin-bottom:1.5%;
}

.school_about_address{
  width:90%;
  max-width:1000px;
  margin:0 auto;
  padding:5% 0;
}
.school_about_address p{
  text-align: center;
  margin-bottom:3%;
}
.school_about_address p a:link,
.school_about_address p a:visited{
  color:#333;
}
.school_about_address p a:hover,
.school_about_address p a:active{
  color:#f85674;
}

.school_about_address iframe{
  width:100%;
  height:450px;
  border:none;
}

.school_about_link{
  width:90%;
  max-width:1100px;
  margin:0 auto 4%;
  padding:3% 5%;
  border:1px solid #f85674;
}
.school_about_link h3{
  margin-bottom:3%;
  color:#f85674;
  font-size:120%;
  text-align: center;
  margin-bottom:2%;
}
.school_about_link h3 a{
  text-decoration: underline;
}
.school_about_link h3 a:hover{
  text-decoration: none;
}
.school_about_link>div{
  width:90%;
  max-width:600px;
  margin:0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.school_about_link>div>a{
  width:48%;
  display: block;
  color:#333;
}

.school_about_contact{
  width:90%;
  max-width:1100px;
  margin:0 auto;
  padding:3% 5%;
  border:1px solid #f85674;
}
.school_about_contact h3{
  margin-bottom:3%;
  color:#f85674;
  font-size:120%;
  text-align: center;
  margin-bottom:2%;
}
.school_about_contact p{
  text-align: center;
  font-size:110%;
}
.school_about_contact p.school_about_contact_form a{
  color:#333!important;
  text-decoration: underline;
}
.school_about_contact p a:link,
.school_about_contact p a:visited{
  color:#333;
}
.school_about_contact p a:hover{
  color:#333;
  text-decoration: none;
}
.school_about_contact_tel{
  margin-top:1%;
  line-height: 1.6;
}
.school_about_contact_tel span{
  font-size:130%;
  font-weight: 500;
}
.school_about_contact .search_btn a {
  padding: 12px 160px 13px 25px;
}
.school_about_contact_form{
  margin-bottom:3%;
}

/*---------------------------------------------
 ** クラス紹介
---------------------------------------------*/
#school_class_all #main{
  width:100%;
  max-width: none;
}

#school_class_all #content{
  margin:0 auto 5%;
}
.school_class_main{
  padding:3% 0;
}
.school_class_main h3{
  width:90%;
  text-align: center;
  margin:0 auto 3%;
  color:#f85674;
  font-size:140%;
  line-height: 1.6;
}
.school_class_main h3+p{
  width:90%;
  max-width:950px;
  margin:0 auto 3%;
}
.school_class_main img{
  margin-bottom:5px;
}
.school_class_main p.underimg{
  width:90%;
  max-width:1200px;
  margin:0 auto;
  text-align: right;
  color:#f85674;
}
.school_class_block{
  width:90%;
  max-width:950px;
  margin:0 auto;
  padding:2% 0 5%;
}
.school_class_block h3{
  font-size:140%;
  margin:-2% auto 5%;
  color: #f85674;
  text-align: center;
}

.school_class_block h4{
  font-size:120%;
  margin-bottom:10px;
  color: #f85674;
}
.school_class_box{
  margin:0 auto 5%;
  border-top:1px solid #e4e4e4;
}

.school_class_table{
  width:100%;
}
.school_class_table>div{
  border-bottom:1px solid #e4e4e4;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.school_class_table>div>div{
  padding:15px 15px;
}

.school_class_table>div>div:nth-child(1){
  width:120px;
  position:relative;
  color: #f85674;
  text-align: center;
  z-index:1;
  font-size:90%;
  display: block;
}
.school_class_table>div>div:nth-child(1)::before{
  content:'';
  width:100%;
  height:calc(100% - 6px);
  display: block;
  background:#feeef1;
  position:absolute;
  top:0;
  right:0;
  left:0;
  bottom:0;
  margin:auto;
  z-index:-1;
}
.school_class_table>div>div:nth-child(1) span{
  display: inline-block;
  height:2.5rem;
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  left:0;
  margin:auto;
}
.school_class_table>div>div:nth-child(2){
  width:calc(100% - 120px);
  padding:15px 15px 15px 30px;
}

.school_class_table>div>div:nth-child(2) h5{
  color: #f85674;
  font-size:105%;
  padding:0 0 5px;
  line-height:1.6;
}

.school_class_table>div>div:nth-child(2) h5 span{
  display: block;
}
.school_class_table>div>div:nth-child(2) ul li{
  font-size:90%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  line-height:1.6;
  margin-bottom:3px;
} 

.school_class_table>div>div:nth-child(2) ul li span:nth-of-type(1){
  display: inline-block;
  min-width:85px;
  position:relative;
  margin-right:5px;
} 
.school_class_table>div>div:nth-child(2) ul li span:nth-of-type(1)::after{
  content:'：';
  position:absolute;
  right:10px;
  top:0;
}
.school_class_table>div>div:nth-child(2) ul li span:nth-of-type(2){
  display: inline-block;
  max-width:calc(100% - 90px);
} 
.school_class_table>div>div:nth-child(2) .into_td{
  background: #fff7f8;
  padding:2% 3%;
  margin-top:2%;
}
.school_class_table>div>div:nth-child(2) .into_td ul{
  margin-left:1%;
}

#school_class_all .youtube {
  max-width: 950px;
}

.school_class_recital{
  background:#fff7f8;
  padding:5% 0 3%;
  margin-bottom:5%;
}
.school_class_recital > div{
  width:90%;
  max-width:950px;
  margin:0 auto;
}


.school_class_recital h3{
  text-align: center;
  position:relative;
}
.school_class_recital h3 span{
  display: inline-block;
  position:relative;
  font-size:180%;
  color:#f85674;
  margin:0 auto 1%;
  letter-spacing: 0.1rem;
}
.school_class_recital h3 span::before,
.school_class_recital h3 span::after{
  content:'';
  width:100px;
  height:1px;
  display: block;
  background:#f85674;
  position:absolute;
  top:48%;
}
.school_class_recital h3 span::before{
  left:-150px;
}
.school_class_recital h3 span::after{
  right:-150px;
}
.school_class_recital h3+p{
  font-size:150%;
  text-align: center;
  margin-bottom:3%;
  color: #f85674;
}
.school_class_recital h3+p small{
  font-size:70%;
  display: block;
}

.school_class_recital_img{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom:3%;
}
.school_class_recital_img dl{
  width:48%;
  margin-bottom:3%;
}
.school_class_recital_img dl dt{
  margin-bottom:5px;
}
.school_class_recital_img dl dd{
  font-size:80%;
}

.school_class_boy_intro{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom:5%;
}
.school_class_boy_intro>div{
  width:45%;
  margin-bottom:3%;
}
.school_class_block .school_class_boy_intro h4{
  text-align: left;
}

.school_class_boy_intro>img{
  width:50%;
}
.school_class_adult_block{
  width:90%;
  max-width:1000px;
  padding:2% 0 0%;
  margin:0 auto;
}
.school_class_adult_box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.school_class_adult_box>div{
  width:48%;
  margin-bottom:5%;
  text-align: center;
}
.school_class_adult_box>div>img{
  width:80%;
  margin:0 auto 8%;
  padding-top:2%;
}
.school_class_adult_box>div>div{
  border:1px solid #e4e4e4;
  padding:5%;
  position:relative;
  min-height:320px;
}
.school_class_adult_box>div>div h3{
  max-width:220px;
  display: inline-block;
  background:#fff;
  padding:0 20px;
  text-align: center;
  margin:0 auto;
  font-size:150%;
  color: #f85674;
  position:absolute;
  top:-25px;
  right:0;
  left:0;
}
.school_class_adult_box>div>div h4{
  background:#feeef1;
  padding:3%;
  text-align: center;
  color: #f85674;
  margin-bottom:2%;
  font-size:120%;
  font-weight:400;
}
.school_class_adult_box>div>div p{
  font-size:110%;
  color:#f85674;
  margin-bottom:3%;
  text-align: left;
}
.school_class_adult_box>div ul{
  max-width:320px;
  margin:0 auto 0;
}
.school_class_adult_box>div ul li{
  font-size:90%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  line-height:1.6;
  margin-bottom:3px;
  text-align: left;
} 

.school_class_adult_box>div ul li span:nth-of-type(1){
  display: inline-block;
  min-width:82px;
  position:relative;
  margin-right:0px;
} 
.school_class_adult_box>div ul li span:nth-of-type(1)::after{
  content:'：';
  position:absolute;
  right:10px;
  top:0;
}
.school_class_adult_box>div ul li span:nth-of-type(2){
  display: inline-block;
  max-width:calc(100% - 90px);
} 
.school_class_adult_box>div ul li.pink_point{
  font-size:100%;
  color: #f85674;
}
.school_class_adult_box>div ul li.pink_point_first{
  margin-top:10px;
}

.school_class_adult_faq{
  width:90%;
  max-width:1000px;
  margin:0 auto;
  padding:5% 0; 
}
.school_class_adult_faq h3{
  text-align: center;
  position:relative;
}
.school_class_adult_faq h3 span{
  display: inline-block;
  position:relative;
  font-size:180%;
  color:#f85674;
  margin:0 auto 1%;
  letter-spacing: 0.1rem;
}
.school_class_adult_faq h3 span::before,
.school_class_adult_faq h3 span::after{
  content:'';
  width:100px;
  height:1px;
  display: block;
  background:#f85674;
  position:absolute;
  top:48%;
}
.school_class_adult_faq h3 span::before{
  left:-150px;
}
.school_class_adult_faq h3 span::after{
  right:-150px;
}
.school_class_adult_faq h3+p{
  font-size:130%;
  text-align: center;
  margin-bottom:5%;
  color: #f85674;
}


/*---------------------------------------------
 ** FAQアコーディオン
---------------------------------------------*/
.accordion-container {
  margin: 0 auto;
  line-height: 1.6;
}

.accordion-container .accordion-title {
  position: relative;
  margin: 20px 0 0;
  padding: 0.625em 3.2em 0.625em 3.8em;
  font-size: 120%;
  cursor: pointer;
  pointer-events: all;
  box-sizing: border-box;
  line-height: 1.8;
  transition: all 0.5s;
  text-align: left;
}
.accordion-container .accordion-title span{
  font-size:120%;
  color:#f85674;
  display: inline-block;
  margin-left:-4rem;
  margin-right:0.5rem
}

@media screen and (max-width: 1000px) {
  .accordion-container .accordion-title {
    font-size: 115%;
    line-height: 1.6;
  }
}

.accordion-container .accordion-title:hover,
.accordion-container .accordion-title:active,
.accordion-container .accordion-title.on {
  background-color: #ffcbd5;
  transition: 0.5s;
}

.accordion-container .accordion-title::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  right: 3%;
  width: 20px;
  height: 20px;
  border-top: 2px solid #f85674;
  border-right: 2px solid #f85674;
  transform: translateX(-50%) rotate(135deg);
  transition: all 0.5s;
}

.accordion-container .accordion-title.open::after {
  content: "";
  display: block;
  position: absolute;
  top: 25px;
  right: 3%;
  width: 20px;
  height: 20px;
  border-top: 2px solid #f85674;
  border-right: 2px solid #f85674;
  transform: translateX(-50%) rotate(-45deg);
}


.accordion-content {
  padding: 20px 20px 20px 65px;
  box-sizing: border-box;
  line-height: 1.6;
  background: #feeef1;
  font-size: 95%;
  position:relative;
}
.accordion-content span{
  font-size:140%;
  color:#f85674;
  display: inline-block;
  margin-left:-2.8rem;
  margin-right:0.7rem;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
}

.accordion-container {
  margin: 0 auto;
}

/*---------------------------------------------
 ** ジュニアバレエ団
---------------------------------------------*/
#school_junior_all #main{
  width:100%;
  max-width: none;
}

#school_junior_all #content{
  margin:0 auto 5%;
}
.school_junior_main{
  padding:3% 0;
}
.school_junior_main h3{
  width:90%;
  text-align: center;
  margin:0 auto 3%;
  color:#f85674;
  font-size:140%;
  line-height: 1.6;
}
.school_junior_main_flex{
  width:90%;
  max-width:1050px;
  margin:0 auto 5%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.school_junior_main_flex>div{
  width:40%;
  margin-bottom:5%;
}
.school_junior_main_flex>dl{
  width:55%;
}

.school_junior_main_flex>dl dd{
  font-size:85%;
  margin-top:3px;
}

.school_junior_main>img,
.school_junior_main picture img{
  margin-bottom:5px;
}

.school_junior_block{
  width:90%;
  max-width:950px;
  margin:0 auto;
  padding:2% 0 5%;
}
.school_junior_block h3{
  font-size:140%;
  margin:-2% auto 5%;
  color: #f85674;
  text-align: center;
}

.school_junior_block h4{
  font-size:120%;
  margin-bottom:10px;
  color: #f85674;
}
.school_junior_box{
  margin:0 auto 5%;
  border-top:1px solid #e4e4e4;
}

.school_junior_table{
  width:100%;
}
.school_junior_table>div{
  border-bottom:1px solid #e4e4e4;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.school_junior_table>div>div{
  padding:15px 15px;
}

.school_junior_table>div>div:nth-child(1){
  width:130px;
  position:relative;
  color: #f85674;
  text-align: center;
  z-index:1;
  display: block;
}
.school_junior_table>div>div:nth-child(1)::before{
  content:'';
  width:100%;
  height:calc(100% - 6px);
  display: block;
  background:#feeef1;
  position:absolute;
  top:0;
  right:0;
  left:0;
  bottom:0;
  margin:auto;
  z-index:-1;
}
.school_junior_table>div>div:nth-child(1) span{
  display: inline-block;
  height:2.5rem;
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  left:0;
  margin:auto;
}
.school_junior_table>div>div:nth-child(2){
  width:calc(100% - 130px);
  padding:30px 15px 30px 30px;
}
.school_junior_table>div>div:nth-child(2) ul li{
  line-height:1.6;
  margin-bottom:3px;
}

.school_junior_merit{
  padding:5% 0;
  background:#fff7f8;
  margin-bottom:5%;
}
.school_junior_merit>div{
  width:90%;
  max-width:1100px;
  margin:0 auto;
}

.school_junior_merit h3{
  text-align: center;
  position:relative;
}
.school_junior_merit h3 span{
  display: inline-block;
  position:relative;
  font-size:160%;
  color:#f85674;
  margin:0 auto 2%;
  letter-spacing: 0.1rem;
}
.school_junior_merit h3 span::before,
.school_junior_merit h3 span::after{
  content:'';
  width:60px;
  height:1px;
  display: block;
  background:#f85674;
  position:absolute;
  top:48%;
}
.school_junior_merit h3 span::before{
  left:-100px;
}
.school_junior_merit h3 span::after{
  right:-100px;
}
.school_junior_merit_box{
  max-width:900px;
  margin:0 auto;
}
.school_junior_merit_box{
  max-width:900px;
  margin:0 auto;
}
.school_junior_merit_box li{
  padding:20px 15px 20px 45px;
  display: block;
  position:relative;
  border-bottom:1px solid #e5e5e5;
}
.school_junior_merit_box li span{
  display: inline-block;
  text-indent: -3rem;
  color:#f85674;
  font-size:110%;
}
#school_junior_all .youtube{
  width:90%;
  max-width:900px;
}

@media screen and (max-width: 1100px) {
  .school_junior_main_flex>div{
    width:100%;
  }
  .school_junior_main_flex>dl{
    width:100%;
    max-width:600px;
    margin:0 auto;
  }
}

/*---------------------------------------------
 ** よくあるご質問
---------------------------------------------*/
#school_faq_all #main{
  width:100%;
  max-width: none;
}

#school_faq_all #content{
  width:90%;
  max-width:900px;
  margin:0 auto 5%;
  padding:3% 0;
}
.school_faq_block{
  margin-bottom:8%;
}
.school_faq_block h3{
  font-size:110%;
  text-align: center;
  margin-bottom:5%;
}

/*---------------------------------------------
 ** クラス紹介
---------------------------------------------*/
#school_trial_all #main{
  width:100%;
  max-width: none;
}

#school_trial_all #content{
  margin:0 auto 3%;
}
.school_trial_main{
  padding:3% 0;
}
.school_trial_main h3{
  width:90%;
  text-align: center;
  margin:0 auto 0%;
  color:#f85674;
  font-size:140%;
  line-height: 1.6;
}
.school_trial_block{
  width:90%;
  max-width:950px;
  margin:0 auto;
  padding:2% 0 5%;
}
.school_trial_box{
  margin:0 auto 5%;
  border-top:1px solid #e4e4e4;
}

.school_trial_table{
  width:100%;
}
.school_trial_table>div{
  border-bottom:1px solid #e4e4e4;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.school_trial_table>div>div{
  padding:15px 15px;
}

.school_trial_table>div>div:nth-child(1){
  width:150px;
  position:relative;
  color: #f85674;
  text-align: center;
  z-index:1;
  font-size:90%;
  display: block;
}
.school_trial_table>div>div:nth-child(1)::before{
  content:'';
  width:100%;
  height:calc(100% - 6px);
  display: block;
  background:#feeef1;
  position:absolute;
  top:0;
  right:0;
  left:0;
  bottom:0;
  margin:auto;
  z-index:-1;
}
.school_trial_table>div>div:nth-child(1) span{
  display: inline-block;
  height:2.5rem;
  font-size:120%;
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  left:0;
  margin:auto;
}
.school_trial_table>div>div:nth-child(2){
  width:calc(100% - 150px);
  padding:20px 15px 20px 30px;
}
.school_trial_table>div>div:nth-child(2) p{
  margin-bottom:0;
  line-height:1.6;
}
.school_trial_table>div>div:nth-child(2) li{
  line-height:1.6;
  margin-bottom:3px;
  text-indent: -1.2rem;
  margin-left:1.2rem;
}
.school_trial_table>div>div:nth-child(2) li a{
  color: #333!important;
  text-decoration: underline;
}
.school_trial_table>div>div:nth-child(2) li a:hover{
  color: #999!important;
  text-decoration: none;
}





/*---------------------------------------------
 ** 追加
---------------------------------------------*/
.year_ul li a:after,
.year_ul_sp li a:after{
content:'年度';
}

.year_ul li a:before,
.year_ul_sp li a:before{
content:'▶︎ ';
font-size:8px;
vertical-align:middle;
}

.year_ul_sp{
display:block;
margin-left:auto;
margin-right:auto;
text-align:center;
margin-bottom:20px;
margin-top:10px;
border-top:solid 1px #999;
padding-top:15px;
}

.year_ul_sp li{
display:inline-block;
margin-left:5px;
margin-right:5px;
}




.per_icon .pickup{
display:none !important;
}

.year_ttl{
text-align:center;
font-size:26px;
position: relative;
display: inline-block;
padding: 0 45px;
margin-top:-10px;
}

.year_ttl:before, .year_ttl:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 1px;
  background-color: black;
}

.year_ttl:before {
  left:0;
}
.year_ttl:after {
  right: 0;
}

.tac-all{
margin-left:auto;
margin-right:auto;
text-align:center;
}

.yokosuku{
display:none;
}

.class_list{
padding:20px 20px 5px 20px;
border:solid 1px #ccc;
border-radius:8px;
font-family: 'Noto Sans JP', sans-serif;
font-size:85%;
display:flex;
flex-wrap:wrap;
justify-content:flex-start;
margin-bottom:30px;
}

.class_list dl{
line-height:1.4;
align-items:flex-start;
display:flex;
width:32.5%;
flex-wrap:wrap;
justify-content:space-between;
margin-bottom:10px;
margin-right:1%;
}

.class_list dl:nth-of-type(3n) {
margin-right:0;
}

.class_list dl dt{
padding:0.2em 0;
width:25%;
background:#ededed;
text-align:center;
}

.class_list dl dd{
padding:0.2em 0;
width:73%;
}

.u_line{
text-decoration:underline !important;
}

.mx-img{
max-width:100%;
width:auto;
height:auto;
}

.trial_img{
margin-left:auto;
margin-right:auto;
width:460px;
}

.sign_img{
  display: flex;
  flex-wrap: wrap;
  justify-content:flex-end;
}

.sign_img img{
width:110px !important;
height:auto;
}

#top_ban{
padding-left:5%;
padding-right:5%;
margin-left:auto;
margin-right:auto;
text-align:center;
padding-top:30px;
padding-bottom:15px;
}

#top_ban img{
width:auto;
height:auto;
max-width:100% !important;
}

.add_class_banar{
margin:0 auto 30px auto;
text-align:center;
}

.add_class_banar a:hover{
opacity:0.6;
}