@charset "UTF-8";
/* CSS Document */

body {
  content: '';
  display: block;
  width: 100%;
  background-color: #fff;
  position: absolute;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
  font-size: 20px;
}

a {
	color: #fff;
	cursor: pointer;
	line-height: inherit;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
}

a:link {
	text-decoration: none;
}

a:visited {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}
		
.main {
  margin: 0 auto;
  max-width: 1200px;
}

.main img {
  width: 100%;
}

.sp {
	display: none !important;
}

.btn_info {
  margin: 20px 0 0;
  font-size: 28px;
  line-height: 1.6;
  color: #e72b7f;
  text-align: center;
  font-weight: 600;
}

.btn_info2 {
  margin: -30px 0 0;
  font-size: 28px;
  line-height: 1.6;
  color: #0099cc;
  text-align: center;
  font-weight: 600;
}

.btn_box {
  margin: 20px 0 60px;
  text-align: center;
}

.btn {
    display: inline-block;
    padding: 15px 30px;
    background-color: #e72b7f;
    color: #fff !important;
    border-radius: 5px;
    font-size: 36px;
    font-weight: 600;
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3); /* 影の設定（ぼかし半径を20pxに変更） */
}

.btn:hover {
  opacity: 0.5;
}

.bg_blue {
  background-color: #d3eff2;
  max-width: 1200px;
  margin: 30px auto;
  padding: 20px;
}

.bg_blue .logo {
  max-width: 400px;
  text-align: center;
  margin: 50px auto 30px;
}

.bg_blue h3 {
  color: #e72b7f;
  text-align: center;
  font-size: 300%;
  line-height: 1.4;
  font-weight: 600;
  margin: 0 0 50px;
}

.bg_blue h3 span {
  font-size: 60%;
}

.bg_blue .point {
  max-width: 1100px;
  background-color: #fff;
  padding: 20px;
  margin: 30px auto;
}

.bg_blue .point img {
  width: 100%;
  margin: 0 0 30px;
}

.bg_blue .point h4 {
  font-size: 220%;
  line-height: 1.4;
  font-weight: 600;
  color: #0d9da8;
  text-align: center;
}

.bg_blue .point h4 span {
  font-size: 80%;
  color: #e72b7f;
}

.bg_blue .point p {
  font-size: 180%;
  line-height: 1.6;
  font-weight: 500;
  color: #000;
  text-align: center;
  margin: 30px 0;
}

.bg_beige {
  background-color: #ebe7dc;
  max-width: 1200px;
  margin: 30px auto;
  padding: 20px;
}

.bg_beige h3 {
  color: #e72b7f;
  text-align: center;
  font-size: 340%;
  line-height: 1.4;
  font-weight: 600;
  margin: 80px 0 50px;
}

.bg_beige h3 span {
  font-size: 80%;
}

.bg_beige .merit {
  max-width: 1100px;
  padding: 20px;
  margin: 30px auto;
}

.bg_beige .merit img {
  width: 100%;
  margin: 0;
}

.bg_beige .merit p {
  font-size: 180%;
  line-height: 1.6;
  font-weight: 500;
  color: #000;
  text-align: center;
  margin: 30px 0;
}

.keiko_ttl {
  max-width: 1200px;
  margin: 10px auto 20px;
}

.keiko_img {
  max-width: 1200px;
  margin: 30px auto 30px;
}

.voice_ttl {
  max-width: 1200px;
  margin: 80px auto 0;
}

.bg_green {
  background-color: #b4ded4;
  max-width: 1200px;
  margin: 0 auto 50px;
  padding: 50px 70px;
}

.bg_green h2 {
  color: #fff;
  text-align: center;
  font-size: 320%;
  line-height: 1.2;
  font-weight: 600;
  margin: 0 0 50px;
}

.bg_green h2 span {
  font-size: 70%;
}

.bg_green h3 {
  color: #e72b7f;
  text-align: center;
  font-size: 280%;
  line-height: 1.4;
  font-weight: 600;
  margin: 50px 0 50px;
}

.bg_green h3 span {
  font-size: 80%;
}

.bg_green .voice {
  max-width: 1100px;
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 60px;
  margin: 30px auto;
}

.bg_green .voice img {
  width: 100%;
  margin: 0 auto 30px;
}

.bg_green .voice p {
  font-size: 180%;
  line-height: 1.6;
  font-weight: 500;
  color: #000;
  margin: 10px 0;
}

.ticket_ttl {
  max-width: 1200px;
  margin: 80px auto 0;
}

.ticket img {
  width: 100%;
  margin: 0 auto;
}

.ticket_txt {
  background-color: #b4ded4;
  font-size: 140%;
  line-height: 1.4;
  color: #000;
  text-align: center;
  padding: 50px 20px;
  margin: 0 0 80px;
}

.lesson_ttl {
  margin: 80px auto 0;
}

.bg_green .lesson {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.bg_green .lesson img,
.bg_green .lesson2 img {
  width: 100%;
}

.bg_green .lesson2 {
  max-width: 1100px;
  background-color: #fff;
  border-radius: 10px;
  padding: 40px 40px;
  margin: 30px auto;
}

.lesson_txt {
  background-color: #b4ded4;
  font-size: 140%;
  line-height: 1.4;
  color: #000;
  text-align: center;
  padding: 30px 20px;
  margin: 0;
}

.taiken_ttl {
  max-width: 1200px;
  margin: 80px auto 0;
}

.taiken img {
  width: 100%;
  margin: 0 auto 30px;
}

.bg_green2 {
  background-color: #c8ddd4;
  max-width: 1200px;
  margin: 0 auto 50px;
  padding: 50px 70px;
}

.bg_green2 h3 {
  width: 100%;
  margin: 50px auto;
}

.bg_green2 .sado {
  width: 100%;
  margin: 0 auto;
}

.bg_green2 .sado p {
  font-size: 360%;
  margin: 50px auto;
  line-height: 1.4;
  color: #026838;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}

.bg_green2 .sado p span.txt-s {
  font-size: 80%;
}

.bg_green2 .sado p span.under {
  border-bottom: solid 10px #e3ee6c;
}

.bg_green2 .sado .arrow {
  vertical-align: middle;
  color: #026838;
  line-height: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-width: 2em 1.6em;
  border-top-color: currentColor;
  border-bottom: 0;
  margin: 0 auto;
}

.access_img {
  max-width: 1200px;
  margin: 30px auto 0;
}

.access_01 {
  max-width: 600px;
  background-color: #cd6981;
  border-radius: 10px;
  padding: 10px 30px 30px;
  margin: 0 auto 30px;
  font-size: 380%;
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
  color: #fff;
}

.access_01 span {
  font-size: 60%;
}

.access_ad {
  font-size: 180%;
  line-height: 1.4;
  text-align: center;
  color: #fff;
  font-weight: 600;
}

.access_map {
  max-width: 1100px;
  background-color: #0cc1ca;
  margin: 60px auto 20px;
  padding: 30px 30px 30px;
  font-size: 200%;
  line-height: 1.4;
  text-align: center;
  color: #fff;
  font-weight: 500;
}

.access_map img {
  width: 100%;
  margin-top: 30px;
}

.studio_01 {
  font-size: 200%;
  line-height: 1.4;
  text-align: center;
  color: #fff;
  font-weight: 600;
}

.studio_img {
  max-width: 1000px;
  margin: 30px auto 0;
}

.studio_img2 {
  width: 100%;
  margin: 0 auto 50px;
}

.studio_img2 img {
  margin-top: 70px;
}

.faq{
  max-width: 1100px;
  margin: 100px auto;
  padding: 0 20px;
}

.faq h2 {
  font-size: 180%;
  line-height: 1.4;
  font-weight: 500;
  padding: 0.25em 0.5em;
  color: #494949;
  border-left: solid 5px #ffb6c1;
}

.faq h3 {
  font-size: 130%;
  line-height: 1.4;
  font-weight: 600;
  border-bottom: dashed 2px #ffb6c1;
  margin-top: 40px;
  margin-bottom: 20px;
  padding: 10px;
}

.faq p {
  font-size: 100%;
  line-height: 1.4;
  font-weight: 500;
  padding: 0.25em 0.5em;
  color: #494949;
}

.tel {
  font-size: 100%;
  line-height: 1.6;
  font-weight: 600;
  margin: 100px auto 0;
  color: #494949;
  text-align: center;
}

.tel a {
  color: #6699cc;
}

.reception {
  font-size: 100%;
  line-height: 1.6;
  font-weight: 500;
  margin: 0 auto 30px;
  color: #494949;
  text-align: center;
}



@media screen and (max-width: 767px) {
    .main {
    max-width: 100%;
    }
    
    .pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
    
    .btn_info {
    font-size: 20px;
    }

    .btn_info2 {
    font-size: 20px;
    }

    .btn {
    font-size: 22px;
    }
    
    .bg_blue .logo {
    width: 70%;
    margin: 30px auto 15px;
    }

    .bg_blue h3 {
    font-size: 150%;
    }

    .bg_blue h3 span {
    font-size: 50%;
    }
    
    .bg_blue .point h4 {
    font-size: 120%;
    }

    .bg_blue .point h4 span {
    font-size: 80%;
    }

    .bg_blue .point p {
    font-size: 90%;
    margin: 20px 0 10px;
    text-align: left;
    }
    
    .bg_beige h3 {
    font-size: 130%;
    margin: 20px 0 0;
    }

    .bg_beige h3 span {
    font-size: 80%;
    }
    
    .bg_beige .merit {
    margin: 10px auto;
    }
    
    .bg_beige .merit p {
    font-size: 90%;
    margin: 20px 0 0;
    text-align: left;
    }
    
    .bg_green {
    max-width: 100%;
    padding: 10px 20px;
    }
    
    .bg_green .voice {
    max-width: 100%;
    padding: 10px 20px;
    margin: 15px auto;
    }

    .bg_green .voice img {
    margin: 0 auto 15px;
    }

    .bg_green .voice p {
    font-size: 80%;
    line-height: 1.4;
    margin: 10px 0;
    }
    
    .ticket_txt {
    font-size: 65%;
    padding: 20px 10px;
    margin: 0 auto 30px;
    }
    
    .bg_green h3 {
    font-size: 140%;
    margin: 20px 0 20px;
    }

    .bg_green h3 span {
    font-size: 55%;
    }
    
    .bg_green .lesson2 {
    max-width: 100%;
    padding: 20px;
    margin: 30px auto 20px;
    }
    
    .lesson_txt {
    font-size: 65%;
    padding: 0 10px 20px;
    }
    
    .bg_green2 {
    max-width: 100%;
    margin: 0 auto 50px;
    padding: 20px 20px;
    }

    .bg_green2 h3 {
    margin: 10px auto;
    }

    .bg_green2 .sado p {
    font-size: 160%;
    margin: 20px auto;
    }
    
    .bg_green h2 {
    font-size: 160%;
    margin: 0 0 20px;
    }

    .bg_green h2 span {
    font-size: 60%;
    }
    
    .access_01 {
    max-width: 100%;
    padding: 10px 20px 20px;
    margin: 0 auto 30px;
    font-size: 160%;
    }

    .access_01 span {
    font-size: 70%;
    }

    .access_ad {
    font-size: 120%;
    }

    .access_map {
    max-width: 100%;
    margin: 30px auto 20px;
    padding: 10px;
    font-size: 120%;
    }
    
    .access_map img {
    margin-top: 10px;
    }

    .studio_01 {
    font-size: 95%;
    }

    .studio_img {
    max-width: 100%;
    margin: 20px auto 10px;
    }

    .studio_img2 {
    margin: 0 auto 30px;
    }

    .studio_img2 img {
    margin-top: 30px;
    }
    
    .faq{
    max-width: 100%;
    margin: 50px auto;
    }
    
    .faq h2 {
    font-size: 120%;
    }

    .faq h3 {
    font-size: 90%;
    margin-top: 20px;
    margin-bottom: 10px;
    }

    .faq p {
    font-size: 80%;
    }
    
    .tel {
    font-size: 90%;
    margin: 50px auto 0;
    }
    
    .reception {
    font-size: 90%;
    }
    
    .voice_ttl {
    margin: 30px auto 0;
    }
    
    .ticket_ttl,
    .lesson_ttl {
    margin: 50px auto 0;
    }
    
    .taiken_ttl {
    margin: 30px auto 0;
    }
}



@media (min-width: 751px) {
a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}
}

