@charset "UTF-8";
@import"style.css";

/*--------------------------------------------------------------------------------
 *
 * style.cssの内容をリセット・再定義
 *
--------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * ヘッダー
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
/* header {} 
#h1 a {color: #000;}
header #h1 {margin-bottom: 0; z-index: 99999;} */

.kv_kaso2 {
  background-color: #ffefda;
  background-image: url(img/school/bg-school.png);
  height: 200px;
  background-repeat: no-repeat;
  background-size: 80vw;
  background-position: 50% 50%;
}
.kv_kaso2 .inner {
  height: 200px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kv_kaso2 .ttl {margin-bottom: 0;}
.kv_kaso2 .ttl h1 {text-align: center; margin-bottom: 0;}



@media screen and (max-width:766px) {
	.kv_kaso2 {
    background-size: 190vw;
    background-position: 0% 50%;
  }
  .kv_kaso2 .ttl h1 {
    font-size: 6vw;
  }
	/* .kv_kaso2 .inner {height: 200px;} */
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * グローバルナビゲーション
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

/* ------------------------------グローバルナビゲーション（PC）------------------------------　*/

/* ------------------------------グローバルナビゲーション（SP）------------------------------　*/
@media screen and (max-width:768px){
	nav#header-nav ul li a.current { pointer-events:none; border-bottom:none; padding-bottom:20px; }
}


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * パンくずリスト
 *
 *
 *
 *
--------------------------------------------------------------------------------*/

nav#pan { text-align:left; margin:0; padding:0 0 2px 0; max-width: 1200px;
  /* background: red; */
  margin: 0 auto;}
nav#pan ol { max-width: 1200px; margin: 0 auto; padding: 8px 0;
    display:-webkit-box; display:-ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-align: start; -ms-flex-align: start; justify-content: flex-start; }
nav#pan ol li { display:inline; list-style-type:none; font-size:10px; color:#a3a3a3; }
nav#pan ol li a { color:#a3a3a3; }
nav#pan ol li:before { content: " > "; padding: 0 .5em;}
nav#pan ol li:first-child:before { content:""; padding: 0;}

@media screen and (max-width:768px){
	nav#pan { padding:0 0px 2px 0px; }
	nav#pan ol {display: block; width:90%; margin: auto;}
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * メインビジュアル
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
.kv_kaso {height: 500px; 
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;}
  
.kv_kaso .inner {
  height: 100%;
}
.top-ttl {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}

  
@media screen and (max-width:766px){
  .kv_kaso {height: 50vw;}
}  
  
  

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 投稿一覧ページ（home.php）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
/* ------------------------------ページャー（ブログ一覧）------------------------------　*/
#pagenation{text-align:center; margin-top:30px;}
#pagenation #pagenation-list{display:inline-block;}
#pagenation:after{content:".";display:block;clear:both;height:0;visibility:hidden;}
#pagenation #pagenation-list li{float: left; list-style: none; padding: 0; margin: 0 5px 5px 0 !important; border: none; width: auto; border-radius: 2px; border-radius: 50%; color: #fff;}
#pagenation #pagenation-list li:last-child{margin-left:0;}
#pagenation #pagenation-list a,
#pagenation #pagenation-list span{background:none;display:block;margin:0;padding:4px 9px;font-size:12px;line-height:1.5;text-align:center; color: #000 !important; border: none !important;}
#pagenation #pagenation-list .current{background:#ffdc00; border:1px solid #E3E3E3; border-radius: 2px; color: #000; width: 60px; height: 60px; font-size: 14px; font-weight: bold; border-radius: 50%;
	display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
#pagenation #pagenation-list .omit{padding:4px 2px;color:#777777;}
#pagenation #pagenation-list li a{color:#333333;border:1px solid #6B6B6B;text-decoration:none; width: 60px; height: 60px; font-size: 12px; font-weight: bold;
  display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
#pagenation #pagenation-list a:hover{background:#000;color:#fff !important; text-decoration:none; border-radius: 50%; width: 60px; height: 60px;}

/* ------------------------------ページャー（セミナー情報一覧）------------------------------　*/
#pagenation ul.page-numbers {display:-webkit-box; display:-ms-flexbox; display: flex;}
#pagenation{text-align:center; margin-top:30px;}
#pagenation ul.page-numbers{display:inline-block;}
#pagenation:after{content:".";display:block;clear:both;height:0;visibility:hidden;}
#pagenation ul.page-numbers li{float: left; list-style: none; padding: 0; margin: 0 5px 5px 0 !important; border: none; width: auto; border-radius: 2px; border-radius: 50%; background: #fff;}
#pagenation ul.page-numbers li:last-child{margin-left:0;}
#pagenation ul.page-numbers a,
#pagenation ul.page-numbers span{background:none;display:block;margin:0;padding:4px 9px;font-size:12px;line-height:1.5;text-align:center; color: #000 !important; border: none !important;}
#pagenation ul.page-numbers .current{background:#ffdc00; border:1px solid #E3E3E3; border-radius: 2px; color: #000; width: 60px; height: 60px; font-size: 14px; font-weight: bold; border-radius: 50%;
	display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
#pagenation ul.page-numbers .omit{padding:4px 2px;color:#777777;}
#pagenation ul.page-numbers li a{color:#333333;border:1px solid #6B6B6B;text-decoration:none; width: 60px; height: 60px; font-size: 12px; font-weight: bold;
  display:-webkit-box; display:-ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
#pagenation ul.page-numbers a:hover{background:#000;color:#fff !important; text-decoration:none; border-radius: 50%; width: 60px; height: 60px;}

/* ------------------------------前の記事、次の記事------------------------------　*/
/*--------------------------------
PREV NEXT
---------------------------------*/
#prev_next{width:100%; margin: 60px 0 0px; padding:0;
	display:-webkit-box; display:-ms-flexbox; display: flex;
  -ms-flex-pack: distribute; justify-content: space-between;}
#prev_next  #prev, #prev_next  #next{ width: 48%; border-top: #000 2px solid; display: table-cell; position:relative; text-decoration:none;}
#prev_next  #prev {padding:30px 30px 10px 10px;}
#prev_next  #next {padding:30px 10px 10px 30px;}
#prev_next #prev::before {display: inline-block; position: absolute; top: 45%; left: -20px; vertical-align: middle; font-family: "Font Awesome 5 Free"; content: '\f053'; color: #ccc;
    font-size: 25px; line-height: 1; font-weight: 900;}
#prev_next  #next::after {display: inline-block; position: absolute; top: 45%; right: -20px; vertical-align: middle; font-family: "Font Awesome 5 Free"; content: '\f054'; color: #ccc;
    font-size: 25px; line-height: 1; font-weight: 900;}
#prev_next #prev:hover, #prev_next #next:hover{background-color: rgba(238,238,238,0.7);}
#prev_next #prev, #prev_next #next{ background: #fff; }
#prev_next #prev_title, #prev_next #next_title{font-size:90%; top:-1em; position:absolute; background:#fff; text-align: center; padding:3px; color:#000; font-weight: bold;}
#prev_next #next_title{right:10px;}
#prev_next #prev img, #prev_next #next img {margin:0;}
#prev_next #prev_no, #prev_next #next_no {width: 50%; height:140px; padding:0 10px; display: table-cell;}
#prev_next #prev_no{border-right:#ccc 1px solid;}
#prev_next_home{display: none;}
#prev_next_home:hover{background-color: rgba(0,0,255,0.7);}
#prev_next_home i {color:#FFF; margin:10px auto ; font-size:60px;}
/*-- ここまで --*/

/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (max-width: 780px) {
	#prev_next{display: block;}
	#prev_next #prev, #prev_next #next {display:-webkit-box; display:-ms-flexbox; display: flex;}
	#prev_next #prev {padding:7% 5% 5% 5% ; width: 100%;}
	#prev_next #prev img, #prev_next #next img  {margin-right: 7%;  width: 80px; height: 80px; object-fit: cover;}
  #prev_next #next {padding: 7% 5% 0 5%; width: 100%;}
  #prev_next #prev::before {top: 50px; left: -10px;}
  #prev_next #next::after {top: 50px; right: -10px;}
}
/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (min-width: 380px) {
}
/*media Queries PCサイズ
----------------------------------------------------*/
@media only screen and (min-width: 780px) {
	/*-- ここから --*/
	/*--------------------------------------
	768px PREV NEXT
	--------------------------------------*/
	#prev_next #prev, #prev_next #prev::before, #prev_next #prev::after,
	#prev_next #next, #prev_next #next::before, #prev_next #next::after {	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all .3s; transition: all .3s;}
	#prev_next #prev_title, #prev_next #next_title{ padding:3px 10px;}
	#prev_next #next_title{right:10px;}
	#prev_next #prev img{ float:left; margin-right:10px; width: 100px; height: 100px;}
	#prev_next #next img{float:right; margin-left: 10px; width: 100px; height: 100px;}
/*-- ここまで --*/
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 投稿ページ（single.php）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
#wrapper { display:block; width:100%; margin:0 auto; padding:100px 0 100px 0; background: #E8F7FA;}

#wrapper article section {max-width: 800px;margin: auto; width: 100%;}
#wrapper article section .inner { width:100%; padding:0; }
#wrapper article .blog-wrapper ul { margin-bottom:20px; margin-bottom: 20px; background: #f5f5f5; padding: 20px; border-radius: 10px;}
#wrapper article .blog-wrapper ul li { margin: 15px 0; line-height: 1.7; position: relative; padding-left: 25px;}
#wrapper article .blog-wrapper ul li::before {display: inline-block; position: absolute; top: 3px; left: 0px; vertical-align: middle; font-family: "Font Awesome 5 Free"; content: '\f058';
    color: #ffdc00; font-size: 18px; line-height: 1; font-weight: 900;}
#wrapper article blockquote { position:relative; padding:20px 20px 20px 50px; background:#fff; border-left:4px solid #ffdc00; border-right:1px solid #ffdc00; width:90%; margin:30px auto; box-shadow:0 1px 2px rgba(0,0,0,0.3); }
#wrapper article blockquote:before{ display:inline-block; position:absolute; top:15px; left:15px; vertical-align:middle; 
	font-family: "Font Awesome 5 Free"; content: '\f10d'; color:#ccc; font-size:25px; line-height:1;  font-weight: 900;}
#wrapper article blockquote p { padding:0; margin:20px 0 10px; line-height:1.5; }
#wrapper article p.ymd a { color:#a3a3a3!important; }
#wrapper article h1 { margin:20px 0; }
#wrapper article h2 { font-size:26px; text-align:left; border-bottom:3px dashed #000; display: block; padding: 10px 0; margin: 0 auto 40px; clear: both;}
#wrapper article h3 { border-left: 5px solid #ffdc00; clear: both; background-color: #f9f3a3;
    background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #fff), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #fff),color-stop(.75, #fff), color-stop(.75, transparent),to(transparent)); -webkit-background-size: 8px 8px; padding: 10px;}
    
#wrapper article h4  {border-bottom: 5px solid #f9f3a3;} 
#wrapper article h4  span { background: linear-gradient(transparent 70%, #f9f3a3 70%); padding-bottom: 5px;}

.article-wrapper  {
  max-width: 800px; margin: 0 auto;
  background: #fff;
  /* border: 3px solid #000; */
  border-radius: 10px;
  padding: 50px;
  box-shadow: rgba(0, 0, 0, 0.08) 0px 4px 10px;}
.article-wrapper img {width: 100%; border-radius: 10px; margin-bottom: 20px;}
.article-wrapper .date-wrapper {display: flex;}
.article-wrapper .date-wrapper p.ymd {font-size: 14px !important; margin: 0; padding-right: .8em;}
.article-wrapper .date-wrapper a {padding: 5px 5px; border-radius: 2px; margin: 0 5px;} 
.article-wrapper .author {margin-bottom: 20px !important;}   

#wrapper article .btn-wrapper {border: 2px solid #19AAC4; margin: 50px auto 0;}
#wrapper article .btn-wrapper a.btn {color: #19AAC4;}

@media screen and (max-width:768px){
	#wrapper {padding:60px 0 80px 0; }
	#wrapper article { width:90%; float:none; margin: auto;}
	#wrapper article h2 {font-size: 19px;}
	#wrapper article section {width: 100%;}
	#wrapper article blockquote { padding:30px 20px 20px 20px; width:100%; }
	.article-wrapper {padding: 7%;}
  
}


/* ------------------------------関連記事一覧------------------------------　*/
p.kanren { font-size:14px; margin:0; padding:0; font-weight:bold; }
ul.related { margin:0; }
ul.related li { border-bottom:1px dotted #cccccc; padding:20px 0; }
ul.related img { display:block; width:100px; height:100px; float:left; margin:0 20px 0 0; padding:0; }
ul.related a { font-size:10px; font-weight:normal; }
ul.related p { margin:0; padding:0; font-size:10px; }
ul.related p.title { font-size:14px; font-weight:bold; }

/*---リンク領域をBOX全体に---*/
ul.related li { position:relative; }
ul.related li a { position:absolute; width:100%; height:100%; top:0; left:0; text-indent:100%; /*テキスト非表示*/ white-space:nowrap; /*テキスト非表示*/ overflow:hidden; /*テキスト非表示*/ display:block; }
ul.related li a:hover { opacity:0.6; filter: alpha(opacity=60); -ms-filter: "alpha( opacity=60 )"; background:#fff; }

/* ------------------------------関連記事------------------------------　*/
ul.post02 {display:-webkit-box; display:-ms-flexbox; display:flex;
-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center;/*中央に配置*/
-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
ul.post02 > li { width:32%; flex-basis:32%; margin:10px 0; padding:0 0 20px 0; background:#fff; padding: 30px; border: 3px solid #000; border-radius: 10px; }
ul.post02 > li:hover a {color: #ff6600;}
ul.post02 li:nth-child(3n+2) { margin:10px 19px; }
ul.post02 li p { font-size:12px; margin:0;}
ul.post02 img { width:100%; height:150px; object-fit:cover; margin:0 auto 15px auto; padding:0; border-radius: 5px;}
ul.post02 li p.h3 {line-height: 1.4; font-size: 14px; font-weight: bold; margin: 10px 0 5px 0;}
ul.post02 li .date-wrapper p.ymd {float: left; padding: 2px 0;}
ul.post02 li .category {display: inline-block; margin: 2px 5px !important;}
ul.post02 li .category a {padding: 5px 5px; border-radius: 2px;}
ul.post02 .relative ul.post-categories li a { display:block; max-width:300px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:10px; color:#fff; }

@media screen and (max-width:768px){
	ul.post02 li { width:100%; flex-basis:100%; margin:10px 0; padding:7%; background:#fff; }
	ul.post02 li:nth-child(3n+2) { margin:10px 0px; }
}

/* ------------------------------トップページへ戻るボタン------------------------------　*/

a.button { 
  background-color: #f7931e;
  font-size: 15px;
  color: #fff;
  display: inline-block;
  padding: 20px 15px;
  border-radius: 5px;
  max-width: 400px;
  width: 100%;
  font-size: 23px;
  font-weight: 500;
  text-align: center;
  letter-spacing: .1rem;
}
a.button span {display: block; font-weight: normal; margin-top: 10px;}
a.button:hover {background:#000; color:#fff !important; }

@media screen and (max-width:768px){
	a.button { width:100%; padding:20px; min-width: auto;}
}

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 教室アーカイブページ（archive-school.php）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
.archive_school .txt_color {
  color: #f7931e;
}

.kv_archive_school {
  background-image: url(img/school/kv-archive-school.jpg);
}
.kv_archive_school .inner {
  height: 500px;
  display: flex;
  align-items: center;
}
.kv_archive_school .top-ttl {
  position: relative;
  width: 100%;
}
.kv_archive_school .top-ttl h1 {
  font-size: 40px;
  margin: 0;
}
.kv_archive_school .top-ttl p.lead {
  margin: 1rem 0;
}


.kv_archive_school .Illust-01 {
  position: absolute;
  bottom: -140px;
}
.kv_archive_school .Illust-02 {
  position: absolute;
  right: 0px;
  bottom: -200px;
}
.kv_archive_school .Illust-03 {
  position: absolute;
  top: -90px;
  left: 340px;
}

.archive_school .studios .img-01 {
  position: absolute;
  top: 0px;
  left: 0px;
}
.archive_school .studios .img-02 {
  position: absolute;
  top: 20px;
  right: -90px;
}

.archive_school dl.search-box {
  margin: 40px 0;
}
.archive_school dl.search-box dd {
  padding: 30px;
}
.archive_school  dl.search-box dd p.note {
  margin-bottom: 0;
}

.archive_school .keyword-search-form {
  max-width: 500px;
  margin: 0 auto;
}


/* ------------------------------地図------------------------------　*/
.area-map {
  position: relative;
  width: 100%;
  max-width: 1000px;
  /* aspect-ratio: 16 / 9; 
  background: url('/assets/japan-map.png') no-repeat center center;
  background-size: contain; */
  margin: 0 auto;
}
svg.map_area {
  width: 80%;
}

.area-group h3 {
  margin-bottom: 0;
  padding: 3px 5px 2px;
  border-radius: 3px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.area-hokkaido h3 {
   background-color: #5c1d82;
   color: #fff;
 }

.area-tohoku h3 {
 background-color: #1c4295;
 color: #fff;
}

.area-kanto h3 {
 background-color: #0068b7;
 color: #fff;
}

.area-kinki h3 {
 background-color: #8fc31f;
 color: #fff;
}

.area-chubu h3 {
 background-color: #009c74;
 color: #fff;
}

.area-chugoku h3 {
 background-color: #f39800;
 color: #fff;
}

.area-shikoku h3 {
 background-color: #ed6c00;
 color: #fff;
}

.area-kyushu h3 {
 background-color: #e60012;
 color: #fff;
}

.area-overseas h3 {
 background-color: #717070;
 color: #fff;
}

/* 都道府県リンク hover */
.area-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 5px;
  padding: 10px 10px;
  /* justify-content: space-between;  */
}

.area-list li a {
  display: inline-block;
  color: #333;
  padding: 4px 8px;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.3s, color 0.3s;
  width: 100%;
  text-align: center;
}

.area-hokkaido .area-list li a {
  background-color: rgba(92,29,130,0.1);
}

.area-tohoku .area-list li a {
  background-color: rgba(28,66,149,0.1);
}
.area-kanto .area-list li a {
  background-color: rgba(0,104,183,0.1);
}
.area-chubu .area-list li a {
  background-color: rgba(0,156,116,0.1);
}
.area-kinki .area-list li a {
  background-color: rgba(143,195,31,0.1);
}
.area-shikoku .area-list li a {
  background-color: rgba(237,108,0,0.1);
}
.area-chugoku .area-list li a {
  background-color: rgba(243,152,0,0.1);
}
.area-kyushu .area-list li a {
  background-color: rgba(230,0,18,0.1);
}
.area-overseas .area-list li a {
  background-color: rgba(113,112,112,0.1);
}

svg .map_hokkaido rect {
  fill: #6b1685;
  transition: fill 0.1s;
  cursor: pointer;
}

svg .map_hokkaido:hover rect {
  fill: rgba(92,29,130,0.5);
  cursor: pointer;
}

svg .map_tohoku rect {
  fill: #004098;
  transition: fill 0.1s;
}

svg .map_tohoku:hover rect {
  fill: rgba(28,66,149,0.5);
  cursor: pointer;
}

svg .map_kanto rect {
  fill: #0068b7;
  transition: fill 0.1s;
}

svg .map_kanto:hover rect {
  fill: rgba(0,104,183,0.5);
  cursor: pointer;
}

svg .map_chubu rect {
  fill: #009c74;
  transition: fill 0.1s;
}

svg .map_chubu:hover rect {
  fill: rgba(0,156,116,0.5);
  cursor: pointer;
}

svg .map_shikoku rect {
  fill: #ed6c00;
  transition: fill 0.1s;
}

svg .map_shikoku:hover rect {
  fill: rgba(237,108,0,0.5);
  cursor: pointer;
}

svg .map_chugoku rect {
  fill: #f39800;
  transition: fill 0.1s;
}

svg .map_chugoku:hover rect {
  fill: rgba(243,152,0,0.5);
  cursor: pointer;
}
svg .map_kinki rect {
  fill: #8fc31f;
  transition: fill 0.1s;
}

svg .map_kinki:hover rect {
  fill: rgba(143,195,31,0.5);
  cursor: pointer;
}

svg .map_kyushu rect {
  fill: #e60012;
  transition: fill 0.1s;
}

svg .map_kyushu:hover rect {
  fill: rgba(230,0,18,0.5);
  cursor: pointer;
}


.cls-1 {
fill: #727171;
}

  

/* ------------------------------custom-taxonomy-list------------------------------　*/
ul.custom-area-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2% 2.5%;
}

ul.custom-area-list li {
  flex-basis: 18%;
  margin: 10px 0;
  border-radius: 10px;
  transition:.3s ease;
}
ul.custom-area-list li:hover {
  opacity: 0.7;
}
ul.custom-area-list li.link-hokkaido {
  background-color: #5c1d82;
}
ul.custom-area-list li.link-tohoku {
  background-color: #1c4295;
}
ul.custom-area-list li.link-kanto {
  background-color: #0068b3;
}
ul.custom-area-list li.link-chubu {
  background-color: #1fa481;
}
ul.custom-area-list li.link-kinki {
  background-color: #9fc238;
}
ul.custom-area-list li.link-chugoku {
  background-color: #f39800;
}
ul.custom-area-list li.link-shikoku {
  background-color: #ed6c00;
}
ul.custom-area-list li.link-kyushu {
  background-color: #e60012;
}
ul.custom-area-list li.link-overseas {
  background-color: #717070;
}
ul.custom-area-list li a {
  color: #fff;
  padding: 8px;
  display: block;
  font-size: 20px;
  text-align: center;
}



@media screen and (min-width: 767px) {
  .area-group {
    position: absolute;
    background: #fff;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    max-width: 300px;
    width: 100%;
  }
  .area-hokkaido {
    /* width: 250px; */
     top: 90px;
     right: -190px;
     transform: translate(-50%, -50%);
  }
  .area-tohoku {
    /* width: 276px; */
    top: 320px;
    right: -190px;
    transform: translate(-50%, -50%);
  }
  .area-kanto {
    top: 500px;
    right: -190px;
    transform: translate(-50%, -50%);
  }
  .area-kinki {
   bottom: -80px;
   right: -10px;
    transform: translate(-50%, -50%);
  }
  .area-chubu {
    top: 110px;
    left: 410px;
    transform: translate(-50%, -50%);
  }
  .area-chugoku {
    top: 300px;
    left: 410px;
    transform: translate(-50%, -50%);
  }
  .area-shikoku {
    bottom: -70px;
    left: 350px;
    transform: translate(-50%, -50%);
  }
  .area-kyushu {
    top: 390px;
    left: 70px;
    transform: translate(-50%, -50%);
  }
  .area-overseas {
    top: 170px;
    left: 70px;
    transform: translate(-50%, -50%);
  }
}


@media screen and (max-width: 766px) {
  svg.map_area {
    width: 100%;
  }
  .area-group {
    margin-bottom: 5vw;
  }
  .area-group h3 {
    font-size: 4.5vw;
  }
  .archive_school dl.search-box dd {
    padding: 5vw;
  }
}





/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 教室タクソノミーページ（taxonomy-area.php.php）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
.kv_school_area {
  background-color: #ffefda;
  background-image: url(img/school/bg-school.png);
  height: 200px;
  background-repeat: no-repeat;
  background-size: 80vw;
  background-position: 50% 50%;
}
.kv_school_area .ttl-wrapper {
  margin-bottom: 0;
}


.kv_school_area .inner {
  height: 200px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kv_school_area  h1 {
  margin: 0;
}

/* .kv_school--hokkaido,
.kv_school--doto {
  background-color: #f5e5ff;
} */

ul.post_archive-area > li {
  display: flex;
  justify-content: space-between;
  padding: 20px 0;
}
ul.post_archive-area > li .img-wrapper {
  /* width: 200px; */
  /* flex-basis: 380px;
  height: 100%; */
  
  width: 300px;
  flex-basis: 300px;
  height: 225px;
  
}
ul.post_archive-area > li .img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
ul.post_archive-area > li .txt-wrapper {
  flex: 1;
  margin-left: 32px;
}
ul.post_archive-area > li .txt-wrapper h3 {
  position: relative;
  padding: 0 0 15px 30px;
  border-bottom: 1px solid;
  margin-bottom: 10px;
}

ul.post_archive-area > li .txt-wrapper h3::before {
  content: '';
  background-image: url(img/common/list-flower-orange.png);
  width: 22px;
  height: 23px;
  background-size: 22px 23px;
  position: absolute;
  background-repeat: no-repeat;
  top: 10px;
  left: 0;
}

ul.post_archive-area > li dl {
  display: flex;
  border-bottom: 1px solid #e0e0e0;
  padding: 22px 8px;
}
ul.post_archive-area > li dt {
  width: 6em;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .05em;
  margin-right: 1em;
}
ul.post_archive-area > li dd {
  flex: 1;
  font-size: 15px;
  letter-spacing: .05em;
  line-height: 1.5;
  padding-top: .2em;
}

.archive-area ul.post_archive-area > li h3 {
  position: relative;
  padding: 0 0 15px 30px;
  border-bottom: 1px solid;
  margin-bottom: 10px;
}
.archive-area ul.post_archive-area > li h3::before {
  content: '';
  background-image: url(img/common/list-flower-orange.png);
  width: 22px;
  height: 23px;
  background-size: 22px 23px;
  position: absolute;
  background-repeat: no-repeat;
  top: 10px;
  left: 0;
}
/* .archive-area--hokkaido ul.post_archive-area > li h3 {
  border-color: #5c1d82;
  
}
.archive-area--hokkaido ul.post_archive-area > li h3::before {
  background-image: url(img/common/list-flower-purple.png);
} */

ul.post_archive-area .btn-wrapper {
  width: 240px;
  margin-top: 20px;
  margin-left: auto;
}
/* a.more-btn {
  padding: 8px 30px 8px 20px;
  font-size: 14px;
  background-color: #f7931e;
  color: #fff;
  transition: border-color .3s;
  display: block;
  text-align: center;
  border-radius: 5px;
} */
@media screen and (max-width: 766px) {
  .kv_school_area {
    background-size: 190vw;
    background-position: 0% 50%;
  }
  .kv_archive_school .inner {
    height: 100%;
  }
  .kv_archive_school .top-ttl h1 {
    font-size: 6vw;
  }
  .kv_archive_school .Illust-01 {
    bottom: -15vw;
    width: 23vw;
  }
  .kv_archive_school .Illust-02 {
    right: 0px;
    width: 27vw;
    bottom: -20vw;
  }
  .kv_archive_school .Illust-03 {
    top: -10vw;
    left: auto;
    width: 18vw;
    right: 13vw;
  }
  .studios p.lead {
    margin-top: 7vw;
  }
  ul.post_archive-area > li {
    flex-wrap: wrap;
  }
  ul.post_archive-area > li .img-wrapper {
    flex-basis: 100%;
    margin-bottom: 5vw;
    height: 60vw;
  }
  ul.post_archive-area > li .txt-wrapper {
    margin-left: 0;
  }
  ul.post_archive-area .btn-wrapper {
    margin: 20px auto;
    width: 90%;
  }
  ul.custom-area-list li {
    flex-basis: 31.5%;
  }
  
}





/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 教室投稿ページ（single-school.php）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
.kv_school {
  background-color: #ffefda;
  background-image: url(img/school/bg-school.png);
  /* height: 350px; */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}
.kv_school .inner {
  padding: 30px 0;
}
.kv_school .ttl-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}
.kv_school .ttl-wrapper .txt-wrapper {
  flex-basis: 65%;
}
.kv_school .ttl-wrapper .txt-wrapper h1 {
  text-align: left;
  margin: 0;
}
.kv_school .ttl-wrapper .img-wrapper {
  overflow: hidden;
  /* flex-basis: 32%; */
  /* height: 290px; */
  flex-basis: 380px;
  height: 100%;
}
.kv_school .ttl-wrapper .img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.post-school h2.post-ttl {
  border-bottom: 2px solid transparent;
  border-image: url(img/common/border-crayon.png) 30 / 1 / 0 repeat;
  position: relative;
  padding: 0 0 15px 50px;
  margin-bottom: 30px;
text-align: left;
font-size: 30px;
}
.post-school .content {
  /* max-width: 800px; */
  margin: 0 auto;
}
.post-school .content img {
  margin-bottom: 20px;
}
.post-school h2.post-ttl::before {
  content: '';
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  background-repeat: no-repeat;
}
.post-school h2.post-ttl-flower::before {
  background-image: url(img/common/list-flower-orange.png);
  width: 39px;
  height: 41px;
  top: 33%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
.post-school h2.post-ttl-clover::before {
  background-image: url(img/common/icon-clover.png);
  width: 39px;
  height: 49px;
  top: 42%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
.post-school h2.post-ttl-flag::before {
  background-image: url(img/common/icon-flag.png);
  width: 33px;
  height: 51px;
  top: 42%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.post-school .thumbnail-wrapper {
  margin: 50px 0;
}
.post-school .thumbnail-wrapper ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3%;
}
.post-school .thumbnail-wrapper ul > li {
  flex-basis: 31%;
  border-radius: 10px;
  overflow: hidden;
}

section.school-contents-wrapper {
  padding: 40px 0;
}

table.school-information {
  width: 100%;
  border: 1px solid #f7931e;
}
table.school-information tr:not(:last-of-type)  {
  border-bottom: 1px solid #cccccc;
}

table.school-information th {
  padding: 20px;
  background-color: #feecd8;
  width: 25%;
  vertical-align: middle;
  line-height: 1.5;
}
table.school-information td {
  padding: 20px;
  width: 75%;
  background-color: #fff;
  line-height: 1.5;
}
table.school-information td dl {
  display: flex;
  padding: 5px 0;
}
table.school-information td dl dt {
  margin: 0 20px 0 0;
}
table.school-information td dl dd {
  padding: 0;
}

table.school-opening-class {
  width: 100%;
  border: 1px solid #f7931e;
}
table.school-opening-class th {
  padding: 20px;
  background-color: #feecd8;
  width: calc(100% / 6);
  vertical-align: middle;
  border: 1px solid #cccccc;
  vertical-align: middle;
}
table.school-opening-class td {
  padding: 20px;
  background-color: #fff;
  border: 1px solid #cccccc;
  text-align: center;
  vertical-align: middle;
}

.post-school .map iframe {
  width: 100%;
  height: 600px;
}


ul.post_same-area {
  display: flex;
}
ul.post_same-area li {
  flex-basis: 31%
}

@media screen and (max-width: 766px) {
  .kv_school {
    height: auto;
  }
  .kv_school .ttl-wrapper .txt-wrapper {
    flex-basis: 100%;
  }
  .kv_school .ttl-wrapper .img-wrapper {
    display: none;
  }
  .post-school h2.post-ttl {
    font-size: 5vw;
  }
  
  
  table.school-information th {
    padding: 20px 2vw;
  }
  
  
  table.school-information td dl {
    flex-wrap: wrap;
  }
  table.school-information td dl dt {
    margin-bottom: 2vw;
  }
  table.school-opening-class th {
    padding: 20px 1vw;
  }
  
 
  .post-school .map iframe {
    height: 55vw;
  }
}



/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 教室投稿一覧ページ（archive-school.php）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/


/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 固定ページ（page.php）
 *
 *
 *
 *
--------------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------------
 *
 * リトミックページ（page_rythmique.php）
 *
--------------------------------------------------------------------------------*/

.page_rythmique .txt_color {
  color: #dc4182;
}
 
.kv_rythmique {
 background-image: url(img/rythmique/kv-rythmique.jpg); 
}
.kv_bottom_rythmique {
 position: relative;
 background-color: #dc4182; 

}
.kv_bottom_rythmique .inner {
 padding: 100px 0 60px;
}
.kv_bottom_rythmique .img-wrapper {
 margin: -220px 0 0;
}
.kv_bottom_rythmique .img-wrapper h2 {
 margin-bottom: 0;
}
.kv_bottom_rythmique .img-wrapper p {
 color: #fff;
 text-align: center;
 font-size: 22px;
 text-align: center;
 margin: 0;
}


@media screen and (max-width:768px){
  .page_rythmique .introduction .ttl h1 {
    font-size: 6vw;
  }
  .kv_rythmique {
   background-image: url(img/rythmique/kv-rythmique-sp.jpg); 
   height: 43vw;
  }
  .kv_bottom_rythmique .inner {
    padding: 42vw 0 10vw;
  }
  .kv_bottom_rythmique .img-wrapper {
    margin: -60vw 0 0;
  }
  .kv_bottom_rythmique .img-wrapper h2 {
      margin-bottom: 4vw;
  }
  .kv_bottom_rythmique .img-wrapper p {
    font-size: 4vw;
  }
}
 
 
/*--------------------------------------------------------------------------------
  users_voice
--------------------------------------------------------------------------------*/
  
.users_voice { 
  background-image: url(img/common/bg-dot.png), url(img/common/bg-dot.png);
  background-repeat: repeat;
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
  background-color: #ffefda;
  
}

.users_voice .voice-wrapper {
  background-color: #fff;
  padding: 50px;
  border-top: 5px solid #dc4182;
  position: relative;
}
.users_voice .voice-wrapper:not(:last-of-type) {
  margin-bottom: 130px;
}


.img-user-voice-ttl01 {
  position: absolute;
  top: -62px;
  right: 50px;
}
.img-user-voice-Illustr01 {
  position: absolute;
  top: -82px;
  left: -60px;
}
.img-user-voice-ttl02 {
  position: absolute;
  top: -62px;
  left: 50px;
}



.users_voice .voice-wrapper .ttl {
  border-bottom: 1px solid #cccccc;
  margin-bottom: 20px;
}

.users_voice .voice-wrapper h2 {
  font-size: 30px;
  color: #dc4182;
  text-align: left;
}

.users_voice .flex-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.users_voice .txt-wrapper {
  flex-basis: 50%;
}
.users_voice .img-wrapper {
  flex-basis: 50%;
}
.users_voice .img-wrapper img {
  width: 100%;
}

ul.flower-list li {
  position: relative;
  padding: 8px 0 8px 30px;
}
ul.flower-list li::before {
  content: '';
  background-image: url(img/common/list-flower-pink.png);
  display: inline-block;
  width: 23px;
  height: 23px;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 23px;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  background-repeat: no-repeat;
}

ul.voice-list {
  display: flex;
  clear: both;
  justify-content: space-between;
}

ul.voice-list li {
  flex-basis: 31.5%;
}

ul.voice-list li img {
  margin-bottom: 20px;
}

ul.voice-list li p {
  text-align: center;
}

@media screen and (max-width:766px) {
  
  .users_voice .voice-wrapper {
    padding: 6vw;
  }
  .users_voice .voice-wrapper:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .users_voice .voice-wrapper h2 {
    font-size: 5vw;
  }
  .users_voice .flex-wrapper {
    flex-wrap: wrap;
  }
  .users_voice .txt-wrapper {
    flex-basis: 100%;
  }
  .users_voice .img-wrapper {
    flex-basis: 100%;
  }
  ul.flower-list li::before {
    width: 5vw;
    top: 5.1vw;
  }
  
  .img-user-voice-Illustr01 {
    top: -17vw;
    left: -13vw;
    width: 27vw;
  }
  .img-user-voice-ttl01 {
    top: -11vw;
    right: 2vw;
    width: 34vw;
  }
  .users_voice .voice-wrapper img.right {
    margin-left: -6vw;
  }
  .img-user-voice-ttl02 {
    top: -11vw;
    right: 2vw;
    width: 34vw;
    left: auto;
  }
  .img-user-voice02 {
    margin-left: -3vw;
  }
  ul.voice-list {
    flex-wrap: wrap;
  }
  ul.voice-list li {
    flex-basis: 100%;
  }
  ul.voice-list li img {
    width: 100%;
    margin-bottom: 3vw;
  }
}

/*--------------------------------------------------------------------------------
  instructor_characteristics
--------------------------------------------------------------------------------*/
.page_rythmique .instructor_characteristics {
  background-color: #fff;
  background-image: url(img/rythmique/bg-features.png);
  background-size: 823px 501px;
  background-repeat: no-repeat;
  background-position: 100% 90%;
  
}
.instructor_characteristics-wrapper {
  display: flex;
  justify-content: space-between;
}
.instructor_characteristics-wrapper .txt-wrapper {
  flex-basis: 55%;
}
.instructor_characteristics-wrapper .txt-wrapper h2 {
  color: #dc4182;
  font-size: 35px;
  text-align: left;
}
.instructor_characteristics-wrapper .img-wrapper {
  flex-basis: 40%;
}
.instructor_characteristics-wrapper .img-wrapper img {
  width: 100%;
}

.instructor_characteristics-list {
  display: flex;
  align-items: flex-end;
  gap: 53px;
}
.instructor_characteristics-list > li img {
  margin-bottom: 20px;
}
.instructor_characteristics-list > li p {
  text-align: center;
}

@media screen and (max-width:766px) {
  .instructor_characteristics-wrapper {
    flex-wrap: wrap;
  }
  .instructor_characteristics-wrapper .txt-wrapper {
    flex-basis: 100%;
    margin-bottom: 8vw;
  }
  .instructor_characteristics-wrapper .img-wrapper {
    flex-basis: 100%;
  }
  .instructor_characteristics-wrapper .txt-wrapper h2 {
    font-size: 6vw;
    text-align: center;
  }
  
  .instructor_characteristics-list {
    flex-wrap: wrap;
  }
  .instructor_characteristics-list li {
    flex-basis: 100%;
    margin: 0 auto;
    gap: 0;
  }
  .instructor_characteristics-list > li img {
    margin: 0 auto 20px;
  }
}

/*--------------------------------------------------------------------------------
  instructor_introduction
--------------------------------------------------------------------------------*/  
.instructor_introduction {
  background-image: url(img/common/bg-dot.png), url(img/common/bg-dot.png);
  background-repeat: repeat;
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
}
.instructor_introduction-wrapper:not(:last-of-type) {
  margin-bottom: 70px;
}
 .instructor_introduction-wrapper .txt-wrapper {
  background-color: #ffefda;
  padding: 30px 200px 100px;
} 
.instructor_introduction-wrapper .profile-img {
 background-image: url(img/rythmique/bg-wave.png);
 background-repeat: no-repeat;
 background-size: 770px 185px;
 background-position: 50% 100%;
}
.instructor_introduction-wrapper .profile-wrapper .profile-img img {
  display: block;
  margin: 0 auto ;
}
.instructor_introduction-wrapper .profile-wrapper .profile-txt {
  background-color: #ffefda;
  border-radius: 20px 20px 0 0;
}
.instructor_introduction-wrapper .profile-wrapper .profile-txt p.name {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  font-size: 30px;
  line-height: 1.8;
  padding: 30px;
  border-bottom: 1px solid #cccccc;
}
.instructor_introduction-wrapper .profile-wrapper .profile-txt p.name span {
  font-size: 16px;
  display: block;
}
.instructor_introduction-wrapper .txt-wrapper {
  border-radius: 0 0 20px 20px;
}
.img-teacher01 {
  display: block;
  margin: 30px auto;
}

ul.dot-list {
  list-style: disc;
  display: flex;
  flex-wrap: wrap;
  border:1px solid #999999;
  padding: 30px;
}
ul.dot-list li {
  padding-right: 50px;
}
.instructor_introduction-wrapper .message-wrapper {
    background: #fff;
    border-radius: 20px;
    padding: 50px;
    position: relative;
    margin-top: 100px;
}
.instructor_introduction-wrapper .message-wrapper h2 {
  font-size: 20px;
  text-align: center;
}
.instructor_introduction-wrapper .message-wrapper h3 {
  font-size: 25px;
  text-align: center;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding: 20px 0;
}
.img-ttl-voice {
  position: absolute;
  top: -18px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align: center;
}

ul.star-list li {
  position: relative;
  padding: 8px 0 8px 25px;
}
ul.star-list li::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 24px;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  background-repeat: no-repeat;
}

ul.star-list li:nth-child(6n + 1)::before {
  background-image: url(img/common/list-star-blue.png);
}
ul.star-list li:nth-child(6n + 2)::before {
  background-image: url(img/common/list-star-yellow.png);
}
ul.star-list li:nth-child(6n + 3)::before {
  background-image: url(img/common/list-star-green.png);
}
ul.star-list li:nth-child(6n + 4)::before {
  background-image: url(img/common/list-star-pink.png);
}
ul.star-list li:nth-child(6n + 5)::before {
  background-image: url(img/common/list-star-perple.png);
}


@media screen and (max-width:766px) {
  .instructor_introduction-wrapper .txt-wrapper {
    padding: 30px 4vw 6vw;
  }
  .instructor_introduction-wrapper .profile-img {
    background-size: 770px 28vw;
  }
  .instructor_introduction-wrapper .profile-wrapper .profile-txt {
    border-radius: 0 0 0 0;
  }
  .instructor_introduction-wrapper .profile-wrapper .profile-txt p.name {
    font-size: 5vw;
    width: 90%;
    padding: 30px 0;
  }
  
  ul.dot-list li {
    padding-right: 0;
  }
  .instructor_introduction-wrapper .message-wrapper {
    padding: 6vw;
  }
  .instructor_introduction-wrapper .message-wrapper h2 {
    font-size: 4vw;
    text-align: left;
  }
  .instructor_introduction-wrapper .message-wrapper h3 {
    font-size: 5vw;
  }
  .img-ttl-voice {
    width: 46vw;
    top: -2vw;
  }
}


/*--------------------------------------------------------------------------------
  YouTube
--------------------------------------------------------------------------------*/
.movie {
  max-width: 860px;
  height: 500px;
  margin: 0 auto;
}
.movie iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width:766px) {
  .youtsube h2 {
    font-size: 5vw;
  }
  .movie { 
    height: 50vw;
  }
}


/*--------------------------------------------------------------------------------
 *
 * 英語リトミックページ（page_english-rythmique.php）
 *
--------------------------------------------------------------------------------*/
.page_english-rythmique .txt_color {
  color: #ffa43a;
}
 
.kv_english-rythmique {
 background-image: url(img/english-rythmique/kv-english-rythmique.jpg); 
}
.kv_bottom_english-rythmique {
 position: relative;
 background-color: #ffa43a; 

}
.kv_bottom_english-rythmique .inner {
 padding: 100px 0 60px;
}
.kv_bottom_english-rythmique .img-wrapper {
 margin: -220px 0 0 -30px;
 /* position: absolute; */
 
}

.kv_bottom_english-rythmique .img-wrapper p {
 color: #fff;
 text-align: center;
 font-size: 22px;
 text-align: center;
 margin: 0;
}

.contents-wrapper  {
  background:  #ffefda;
  padding: 50px;
  position: relative;
  margin: 100px 0 0;
}


.ribbon {
  --r: .8em;
  padding-inline: calc(var(--r) + .3em);
  line-height: 1.8;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--r)) 50%, 100% 100%, 0 100%, var(--r) 50%);
  background: #f7931e;
  width: fit-content;
  padding: 10px 50px;
  min-width: 450px;
  /* color: #fff; */
  /* margin: -80px auto 0; */
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
}

.ribbon h2 {
  font-size: 22px;
  margin: 0;
  color: #fff;
}

ul.list-voice-fukidashi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3%;
}
ul.list-voice-fukidashi > li {
  background: #fff;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-basis: 30%;
  padding: 20px;
  margin-bottom: 30px;
  position: relative;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  text-align: center;
}

ul.list-voice-fukidashi > li:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #fff;
}

.page_english-rythmique img.Illustr01 {
    position: absolute;
    bottom: 50px;
    left: 230px;
}

.page_english-rythmique img.Illustr02 {
    position: absolute;
    bottom: 130px;
    left: 520px;
}

.page_english-rythmique img.Illustr03 {
    position: absolute;
    bottom: -60px;
    right: 20px;
}

.page_english-rythmique img.Illustr04 {
    position: absolute;
    bottom: 0;
    left: -30px;
}


ul.list-voice li {
  border-bottom: 2px solid transparent;
  border-image: url(img/common/border-crayon.png) 30 repeat;
}



ul.list-voice li:nth-child(odd)::before {
  background-image: url(img/english-rythmique/list-flower-purple.png);
}
ul.list-voice li:nth-child(even)::before {
  background-image: url(img/common/list-flower-orange.png);
}

.contents-wrapper .flex-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.contents-wrapper .flex-wrapper ul.list-voice {
  flex-basis: 50%;
}

.page_english-rythmique .users_voice .voice-wrapper h2 {
  color: #f7931e;
}
.page_english-rythmique .users_voice .voice-wrapper {
  border-top: 5px solid #f7931e;
}
.img-user-voice-ttl {
    position: absolute;
    top: -50px;
    right: 50px;
}

@media screen and (max-width:766px){
  .kv_bottom_english-rythmique .inner {
    padding: 42vw 0 10vw;
  }
  .kv_bottom_english-rythmique .img-wrapper {
    margin: -60vw 0 0;
  }
  .kv_bottom_english-rythmique .img-wrapper h2 {
    margin-bottom: 4vw;
  }
  .page_rythmique .introduction .ttl h1 {
    font-size: 6vw;
  }
  .kv_english-rythmique {
   /* background-image: url(img/rythmique/kv-rythmique-sp.jpg);  */
   height: 43vw;
  }
  .kv_bottom_english-rythmique .img-wrapper p {
    font-size: 4vw;
  }
  .page_english-rythmique img.Illustr02 {
    left: auto;
  }
  .contents-wrapper {
    padding: 13vw 6vw 20vw;
    width: 98%;
    margin: 16vw auto;
  }
  .contents-wrapper:last-of-type {
    padding: 13vw 7vw 13vw;
  }
  .contents-wrapper .flex-wrapper {
    flex-wrap: wrap;
  }
  .contents-wrapper .flex-wrapper ul.list-voice {
    flex-basis: 100%;
    margin-bottom: 4vw;
  }
  .ribbon {
    min-width: 110%;
    padding: 2vw 4vw;
  }
  .ribbon h2 {
    font-size: 5vw;
  }
  ul.list-voice-fukidashi > li {
    flex-basis: 100%;
  }
  ul.list-voice-fukidashi > li:before {
    margin-left: auto;
  }
  ul.list-voice-fukidashi > li:nth-of-type(odd)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -30px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #fff;
  }
  ul.list-voice-fukidashi > li:nth-of-type(even)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -15px;
    border: 15px solid transparent;
    border-left: 15px solid #fff;
  }
  .page_english-rythmique img.Illustr01 {
    bottom: 5vw;
    right: 16vw;
    left: auto;
  }
  .page_english-rythmique img.Illustr02 {
    left: auto;
    right: 2vw;
    bottom: 20vw;
  }
  .page_english-rythmique img.Illustr03 {
    top: -24vw;
    right: -4vw;
    width: 24vw;
  }
  .page_english-rythmique img.Illustr04 {
    left: -3vw;
    width: 34vw;
  }
  .img-user-voice-ttl {
    right: 0;
  }
}


/*--------------------------------------------------------------------------------
 *
 * ベビーページ（page_baby.php）
 *
--------------------------------------------------------------------------------*/
.page_baby .txt_color {
  color: #3f7ec1;
}
.kv_baby {
 background-image: url(img/baby/kv-baby.jpg); 
}
.kv_bottom_baby {
 position: relative;
 background-color: #3f7ec1; 
}
.kv_bottom_baby .inner {
  padding: 100px 0 60px;
}
.kv_bottom_baby .img-wrapper {
  margin: -220px auto 0; 
}
.kv_bottom_baby .img-wrapper p {
 color: #fff;
 text-align: center;
 font-size: 22px;
 text-align: center;
 margin: 0;
}
.ribbon-baby {
  position: relative;
  box-sizing: border-box;
  padding: 5px 0;
  background: #e3effb;
  margin-bottom: 30px;
}
.ribbon-baby h1{
  margin: 0;
  padding: 10px 30px;
  border-top: dotted 1px #3f7ec1;
  border-bottom: dotted 1px #3f7ec1;
  font-size: 20px;
  text-align: center;
}
.introduction-wrapper {
  margin-bottom: 80px;
}
.introduction-wrapper h2 {
  text-align: left;
  font-size: 30px;
}
.page_baby .txt-voice-english {
  position: absolute;
  right: 0;
  top: -90px;
}
.page_baby .contents-wrapper  {
  background:  #e3effb;
  position: relative;
  margin: 170px 0 0;
}
.page_baby .contents-wrapper .ttl {
  background-color: #3f7ec1;
  border-radius: 10px 10px 0 0;
  position: relative;
}
.page_baby .contents-wrapper .ttl h2 {
  color: #fff;
  padding: 10px;
  margin: 0;
}
.page_baby .contents-wrapper .ttl .img-txt01 {
  position: absolute;
  left: 0;
  bottom: 16px;
}
.page_baby .contents-wrapper .ttl .img-baby02 {
  position: absolute;
  right: 0;
  bottom: 64px;
}
.page_baby .contents-wrapper .point-wrapper {
  display: flex;
  justify-content: space-between;
  padding: 50px;
}

.page_baby .contents-wrapper .point-wrapper ul.flower-list {
  padding-right: 50px;
}

.page_baby .contents-wrapper .point-wrapper ul.flower-list li::before {
  background-image: url(img/baby/list-flower-blue.png);
}

.page_baby .users_voice .voice-wrapper {
  border-top: 5px solid #3f7ec1;
}
.page_baby .users_voice .voice-wrapper h2 {
  color: #3f7ec1;
}
.page_baby .instructor_introduction {
  background-image:none;
}

@media screen and (max-width: 766px){ 
  .kv_baby {
    background-position: 15% 50%;
    height: 43vw;
  }
  .kv_bottom_baby .inner {
    padding: 42vw 0 10vw;
  }
  .kv_baby .img-wrapper {
    margin: -60vw 0 0;
  }
  .kv_bottom_baby .img-wrapper h2 {
    margin-bottom: 4vw;
  }
  .kv_bottom_baby .img-wrapper p {
    font-size: 4vw;
  }
  .page_baby .introduction .ttl h1 {
    font-size: 6vw;
  }
  .ribbon-baby h1 {
    padding: 10px 2vw;
    font-size: 5vw;
  }
  .introduction-wrapper h2 {
    font-size: 6vw;
  }
  .page_baby .contents-wrapper {
    margin: 0;
  }
  .page_baby .contents-wrapper:last-of-type {
      padding: 28vw 5vw 6vw;
  }
  .page_baby .contents-wrapper .ttl h2 {
    font-size: 5vw;
    line-height: 1.5;
  }
  .page_baby .contents-wrapper .ttl .img-txt01 {
    left: -3vw;
    bottom: 23vw;
    width: 29vw;
  }
  .page_baby .contents-wrapper .ttl .img-baby02 {
    bottom: 18.5vw;
    width: 48vw;
  }
  .page_baby .contents-wrapper .point-wrapper {
    padding: 6vw;
  }
  .page_baby .contents-wrapper .point-wrapper ul.flower-list {
    padding-right: 0;
  }
  .page_baby .point-wrapper {
    border-radius: 0 0 10px 10px;
    margin-bottom: 0;
  }
}



/*--------------------------------------------------------------------------------
 *
 * 知育幼児教室ページ（page_education-preschool.php）
 *
--------------------------------------------------------------------------------*/
.page_education-preschool .txt_color {
  color: #00960c;
}
 
.kv_education-preschool {
 background-image: url(img/education-preschool/kv-education-preschool.jpg); 
}
.kv_bottom_education-preschool {
 position: relative;
 background-color: #00960c; 

}
.kv_bottom_education-preschool .inner {
 padding: 100px 0 60px;
}
.kv_bottom_education-preschool .img-wrapper {
  margin: -220px 0 0 -30px; 
}

.kv_bottom_education-preschool .img-wrapper p {
 color: #fff;
 text-align: center;
 font-size: 22px;
 text-align: center;
 margin: 0;
}

.ribbon-education-preschool {
  position: relative;
  box-sizing: border-box;
  padding: 5px 0;
  background: #e3f6e4;
  margin-bottom: 30px;
}
.ribbon-education-preschool h1{
  margin: 0;
  padding: 10px 30px;
  border-top: dotted 1px #00960c;
  border-bottom: dotted 1px #00960c;
  font-size: 20px;
  text-align: center;
}
.page_education-preschool .introduction-wrapper h2 {
    text-align: left;
    font-size: 30px;
}
.page_education-preschool .features-wrapper {
  background: #fff;
  border: 5px dotted #aedeb2;
  padding: 30px;
  text-align: center;
  position: relative;
  margin: 80px 0;
}
.page_education-preschool .features-wrapper h3 {
  color: #00960c;
  display: inline-block;
  position: relative;
  padding: 0 50px;
  position: absolute;
  top: -5px;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 40px;
}
.page_education-preschool .features-wrapper h3::before,
.page_education-preschool .features-wrapper h3::after {
  content: '';
  background-image: url(img/common/icon-flag.png);
  display: inline-block;
  width: 37px;
  height: 45px;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 0;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  background-repeat: no-repeat;
  
}

.page_education-preschool .features-wrapper h3::before {
  transform: scale(-1, 1) rotate(25deg);
  
  left: 0%;
}
.page_education-preschool .features-wrapper h3::after {
  transform: rotate(25deg);
  right: 0%;
}
  

.page_education-preschool .introduction-wrapper .features-flex  {
  display: flex;
  justify-content: space-between;
  
}

.page_education-preschool .introduction-wrapper .features-box {
  flex-basis: 48%;
}

ul.star-list-orange li {
  position: relative;
  padding: 8px 0 8px 25px;
  text-align: left;
}
ul.star-list-orange li::before {
  content: '';
  background-image: url(img/common/list-star-orange.png);
  display: inline-block;
  width: 18px;
  height: 18px;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 24px;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  background-repeat: no-repeat;
}
ul.star-list-green li {
  position: relative;
  padding: 8px 0 8px 25px;
  text-align: left;
}
ul.star-list-green li::before {
  content: '';
  background-image: url(img/common/list-star-green.png);
  display: inline-block;
  width: 18px;
  height: 18px;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 24px;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  background-repeat: no-repeat;
}


.page_education-preschool img.Illustr01 {
    position: absolute;
    bottom: 0;
    left: 20px;
}

.page_education-preschool img.Illustr02 {
    position: absolute;
    bottom: 0;
    right: 30px;
}

.page_education-preschool img.Illustr03 {
    position: absolute;
    bottom: -35px;
    left: -60px;
}
.page_education-preschool img.Illustr04 {
    position: absolute;
    top: -39px;
    left: 80px;
}

.point-wrapper {
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  background: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  margin-bottom: 50px;
  padding: 50px;
}

.point-wrapper .txt-wrapper {
  flex-basis: 75%;
}
.point-wrapper .txt-wrapper h2 {
  color: #00960c;
  text-align: left;
  font-size: 22px;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 10px;
  margin-bottom: 10px;
}


.point-wrapper .img-wrapper {
  flex-basis: 22%;
}

/* .page_education-preschool .instructor_introduction {
  background-image: none;
} */
.page_education-preschool .instructor_characteristics .voice-list {
  margin: 50px auto 0;
}

.page_education-preschool .user-osusume {
  margin-bottom: 60px;
}

@media screen and (max-width: 766px){
  .kv_education-preschool {
    height: 43vw;
  }
  .kv_bottom_education-preschool .inner {
    padding: 42vw 0 10vw;
  }
  .kv_bottom_education-preschool .img-wrapper {
    margin: -60vw 0 0;
  }
  .kv_bottom_education-preschool .img-wrapper h2 {
    margin-bottom: 4vw;
  }
  .kv_bottom_education-preschool .img-wrapper p {
    font-size: 4vw;
  }
  .page_education-preschool .introduction-wrapper h2 {
    font-size: 6vw;
  }
  .page_education-preschool .features-wrapper {
    margin: 5vw 0 10vw;
  }
  .page_education-preschool .features-wrapper h3 {
    width: 100%;
    padding: 0 0px;
    position: relative;
    top: 7vw;
  }
  .page_education-preschool .introduction-wrapper .features-flex {
    flex-wrap: wrap;
  }
  .page_education-preschool .introduction-wrapper .features-box {
    flex-basis: 100%;
  }
  .page_education-preschool .instructor_introduction .voice-list {
    margin: 4vw 0 0;
  }
  .contents-wrapper.user-voice {
    padding-bottom: 33vw;
  }
  .page_education-preschool img.Illustr01 {
    bottom: 2vw;
    left: 2vw;
    width: 40vw;
  }
  .page_education-preschool img.Illustr02 {
    right: 2vw;
    width: 40vw;
  }
  .page_education-preschool img.Illustr03 {
    bottom: -2vw;
    left: -7vw;
    width: 13vw;
  }
  .page_education-preschool img.Illustr04 {
    top: -5vw;
    left: 2vw;
    width: 17vw;
  }
  .page_education-preschool .user-osusume {
    padding-bottom: 7vw;
  }
  .page_education-preschool .user-osusume .img-osusume01 {
    width: 100%;
  }
  .point-wrapper {
    flex-wrap: wrap;
    padding: 7vw;
  }
  .point-wrapper .txt-wrapper {
      flex-basis: 100%;
  }
  .point-wrapper .txt-wrapper h2 {
    font-size: 5vw;
  }
  .point-wrapper .img-wrapper {
      flex-basis: 100%;
  }
  .point-wrapper .img-wrapper img {
    width: 100%;
  }
  .page_education-preschool .users_voice .voice-wrapper {
    border-top: 5px solid #00960c;;
  }
  .page_education-preschool .instructor_introduction h1 {
    font-size: 6vw;
  }
  .page_education-preschool .users_voice .voice-wrapper h2 {
    color: #00960c;
  }
  .page_education-preschool .users_voice .voice-wrapper img.right {
    margin-left: 0;
    width: 100%;
  }
  .page_education-preschool .features-wrapper h3 {
    font-size: 5vw;
  }
  .page_education-preschool .features-wrapper h3::before {
    left: -10%;
  }
  .page_education-preschool .features-wrapper h3::after {
    right: -10%;
  }
}

/*--------------------------------------------------------------------------------
 *
 * ドラム教室ページ（page_drum.php）
 *
--------------------------------------------------------------------------------*/
.page_drum .txt_color {
  color: #9c50a3;
}
.kv_drum  {
 background-image: url(img/drum/kv-drum.jpg); 
}
.kv_bottom_drum  {
 position: relative;
 background-color: #9c50a3; 

}
.kv_bottom_drum .inner {
 padding: 100px 0 60px;
}
.kv_bottom_drum .img-wrapper {
 margin: -190px 0 0; 
}
.kv_bottom_drum .img-wrapper p {
 color: #fff;
 text-align: center;
 font-size: 22px;
 text-align: center;
 margin: 0;
}

@media screen and (max-width:766px){
  .kv_drum {
   height: 43vw;
  }
  .kv_bottom_drum .inner {
    padding: 42vw 0 10vw;
  }
  .kv_bottom_drum .img-wrapper {
    margin: -60vw 0 0;
  }
  .kv_bottom_drum .img-wrapper h2 {
      margin-bottom: 4vw;
  }
  .kv_bottom_drum .img-wrapper p {
    font-size: 4vw;
  }
  .page_drum .introduction .ttl h1 {
    font-size: 6vw;
  }
}

/*--------------------------------------------------------------------------------
  features
--------------------------------------------------------------------------------*/
.page_drum .features {
  background-image: url(img/common/bg-dot.png), url(img/common/bg-dot.png);
  background-repeat: repeat;
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
}


ul.features-wrapper > li {
  display: flex;
  justify-content: space-between;
}
ul.features-wrapper > li:nth-child(odd){
  flex-direction: row-reverse;
}
ul.features-wrapper > li .img-wrapper {
  flex-basis: 43%;
}
ul.features-wrapper > li .img-wrapper img {
  display: block;
  margin:  auto;
}
ul.features-wrapper > li .txt-wrapper {
  flex-basis: 55%;
}
ul.features-wrapper h2 {
  text-align: left;
  color: #9c50a3;
  padding-left: 30px;
}
ul.features-wrapper h2 img {
  margin-bottom: 20px;
  margin-left: -30px;
}
ul.features-wrapper p {
  padding-left: 30px;
}

@media screen and (max-width: 766px) {
  ul.features-wrapper > li:not(:last-of-type) {
    margin-bottom: 7vw;
  }
  ul.features-wrapper > li {
    flex-wrap: wrap;
  }
  ul.features-wrapper > li .img-wrapper {
      flex-basis: 100%;
  }
  ul.features-wrapper > li .txt-wrapper {
      flex-basis: 100%;
  }
  ul.features-wrapper h2 {
    padding-left: 0;
    font-size: 5vw;
  }
  ul.features-wrapper h2 img {
    margin-left: 0;
  }
  ul.features-wrapper p {
    padding-left: 0;
  }
}

/*--------------------------------------------------------------------------------
  instructor_characteristic
--------------------------------------------------------------------------------*/
.page_drum .instructor_characteristic {
  background-color: #ffefda;
}
.page_drum .instructor_introduction-wrapper .txt-wrapper {
    border-radius: 20px 20px;
    background-color: #fff;
    padding: 80px 200px 80px;
}

.page_drum .instructor_introduction-wrapper .txt-wrapper h2 {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 20px;
  margin-bottom: 50px;
  font-size: 35px;
  position: relative;
}

.page_drum .instructor_introduction-wrapper .txt-wrapper .Illust-01 {
  position: absolute;
  left: 30px;
  top: -20px;
}

@media screen and (max-width:768px){
  .page_drum .instructor_introduction-wrapper .txt-wrapper {
    padding: 30px 6vw 6vw;
  }
  .page_drum .instructor_introduction-wrapper .txt-wrapper h2 {
    font-size: 5vw;
    text-align: left;
    margin-bottom: 5vw;
  }
  .page_drum .instructor_introduction-wrapper .txt-wrapper .Illust-01 {
    left: 0;
    top: -16vw;
    width: 16vw;
  }
  
}


/*--------------------------------------------------------------------------------
 *
 * ピアノ教室ページ（page_piano.php）
 *
--------------------------------------------------------------------------------*/

.page_piano .txt_color {
  color: #9c50a3;
}
 
.kv_piano  {
 background-image: url(img/piano/kv-piano.jpg); 
}
.kv_bottom_piano  {
 position: relative;
 background-color: #9c50a3; 

}
.kv_bottom_piano .inner {
 padding: 100px 0 60px;
}
.kv_bottom_piano .img-wrapper {
 margin: -220px 0 0; 
}
.kv_bottom_piano .img-wrapper p {
 color: #fff;
 text-align: center;
 font-size: 22px;
 text-align: center;
 margin: 0;
}

ul.piano-btn-list {
    display: flex;
    gap: 1%;
    /* margin-bottom: 50px; */
}

ul.piano-btn-list li {
    flex-basis: 25%;
    margin: 8px 0;
}

ul.piano-btn-list li a {
    display: block;
    background-color: #fff;
    border-radius: 10px;
    border: 3px solid #e7c1e9;
    padding: 8px 5px;
    text-align: center;
    position: relative;
    /* font-size: 20px; */
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
}

ul.piano-btn-list li a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 17px;
    width: 9px;
    height: 9px;
    margin: auto;
    border-top: 2px solid #e7c1e9;
    border-right: 2px solid #e7c1e9;
    transform: translateY(-2px) rotate(135deg);
    box-sizing: border-box;
}

.piano_contents:nth-of-type(odd) {
  background-image: url(img/common/bg-dot.png), url(img/common/bg-dot.png);
  background-repeat: repeat;
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
} 


.piano_contents .ttl-wrapper p {
  background-image: url(img/piano/img-fukidashi.png);
  background-size: 146px 91px;
  background-repeat: no-repeat;
  width: 146px;
  height: 91px;
  display: flex;
  align-items: baseline;
  justify-content: center;
  color: #fff;
  padding-top: 13px;
  position: absolute;
  top: -30px;
  left: 30px;
}
.piano_contents .ttl-wrapper p span {
  font-size: 25px;
}
.piano_contents h1 {
  background-image: url(img/piano/border-dot.png), url(img/piano/border-dot.png);
  background-color: #f6e6f7;
  font-size: 24px;
  text-align: center;
  padding: 30px;
  background-repeat: repeat-x;
  background-size: contain;
  background-position: 50% 10% , 50% 90%;
  margin-bottom: 70px;
}
.piano_contents .ttl h2 {
  text-align: left;
  font-size: 35px;
}

.piano_contents .txt-engilsh {
  position: absolute;
  top: -40px;
  right: 40px;
}

.piano_contents .txt-jazz {
  position: absolute;
  top: -80px;
  right: 0;
}
.img-purePiano {
  margin-top: 130px !important;
}
.img-englishPurePiano {
  margin-top: -140px !important;
}
.piano_jazz dl {
  margin-bottom: 60px;
}
.piano_jazz dt {
  background-color: #9c50a3;
  color: #fff;
  font-size: 25px;
  text-align: center;
  padding: 14px;
  border-radius: 10px 10px 0 0;
}
.piano_jazz dd {
  padding: 40px 60px;
  border-radius: 0 0 10px 10px;
  border: 1px solid #9c50a3;
}
.piano_jazz dd p:last-of-type {
  margin-bottom: 0;
}

.piano_jazz .flex-wrapper {
  background-color: #fcf2fd;
  display: flex;
  padding: 50px;
  border-radius: 10px;
  margin-bottom: 50px;
  position: relative;
}

.piano_jazz .flex-wrapper ul.flower-list {
  flex-basis: 65%;
}

.piano_jazz .flex-wrapper ul.flower-list li::before {
  background-image: url(img/english-rythmique/list-flower-purple.png);
}

.piano_jazz .flex-wrapper .img-wrapper {
  flex-basis: 40%;
  position: absolute;
  right: 0;
  top: -120px;
}

ul.features-list {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
ul.features-list > li {
  flex-basis: 48%;
  border: 5px solid #e7c1e9;
  border-radius: 20px;
  padding: 0 50px 50px;
  display: grid;
  margin-top: 60px;
}

ul.features-list > li h3 {
  background-image: url(img/piano/Illust-ribbon.png);
  background-size: 218px 56px;
  background-repeat: no-repeat;
  width: 218px;
  height: 56px;
  font-size: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin: -30px auto 30px;
}
ul.features-list > li img {
  width: 100%;
}

@media screen and (max-width:766px){
  .kv_piano {
   height: 43vw;
  }
  .kv_bottom_piano .inner {
    padding: 45vw 0 7vw;
  }
  .kv_bottom_piano .img-wrapper {
    margin: -60vw 0 0;
  }
  .kv_bottom_piano .img-wrapper h2 {
      margin-bottom: 4vw;
  }
  .kv_bottom_piano .img-wrapper p {
    font-size: 4vw;
  }
  .page_drum .introduction .ttl h1 {
    font-size: 6vw;
  }
  .piano_contents h1 {
    font-size: 5vw;
    padding: 5vw;
  }
  .piano_contents .ttl-wrapper p {
    background-size: 30vw 22vw;
    width: 30vw;
    height: 22vw;
    top: -16vw;
    left: 0;
  }
  .piano_contents .ttl h2 {
    font-size: 6vw;
  }
  .piano_contents .txt-engilsh {
    right: 0;
    width: 40vw;
  }
  .piano_contents .txt-jazz {
    top: -15vw;
    right: 0;
    width: 40vw;
  }
  .img-purePiano {
    margin-top: 0px !important;
  }
  .img-englishPurePiano {
    margin-top: 0px !important;
  }
  ul.piano-btn {
    min-height: 70px;
  }
  ul.piano-btn-list {
    flex-wrap: wrap;
  }
  ul.piano-btn-list li {
    flex-basis: 48%;
    font-size: 3.4vw;
  }
  ul.piano-btn-list li a {
    padding: 2vw 5vw;
    min-height: 22vw;
  }
  ul.piano-btn-list li a::after {
    right: 2vw;
    font-size: 5vw;
  }
  
  
  .piano_jazz dt {
    padding: 5vw 2vw;
    font-size: 5vw;
  }
  .piano_jazz dd {
    padding: 6vw;
  }
  .piano_jazz .flex-wrapper {
    flex-wrap: wrap;
    padding: 7vw;
  }
  .piano_jazz .flex-wrapper ul.flower-list {
    flex-basis: 100%;
    margin-bottom: 5vw;
  }
  .piano_jazz .flex-wrapper ul.flower-list li::before {
    top: 6vw;
  }
  .piano_jazz .flex-wrapper .img-wrapper {
    flex-basis: 100%;
    position: initial;
  }
  
  
  ul.features-list {
    flex-wrap: wrap;
  }
  ul.features-list > li {
    flex-basis: 100%;
    padding: 0 7vw 7vw;
  }
  ul.features-list > li h3 {
    background-size: 42vw 11vw;
    width: 42vw;
    height: 11vw;
    font-size: 5vw;
    margin: -6vw auto 5vw;
  }
  .page_piano .instructor_introduction-wrapper .profile-img {
    background-size: 770px 28vw;
  }
}



/*--------------------------------------------------------------------------------
  instructor_characteristic
--------------------------------------------------------------------------------*/
.page_piano .instructor_introduction {
  background-color: #ffefda;
  background-image: none;
}
.page_piano .instructor_introduction-wrapper .profile-img {
  background-image: url(img/piano/bg-wave-wh.png);
}
.page_piano .instructor_introduction-wrapper .profile-wrapper .profile-txt {
    background-color: #fff;
}
.page_piano .instructor_introduction-wrapper .txt-wrapper {
  background-color: #fff;
}

/*--------------------------------------------------------------------------------
 *
 * 両親の声ページ（page_user-voice.php）
 *
--------------------------------------------------------------------------------*/
.kv_user-voice {
  background-image: url(img/user-voice/kv-user-voice.jpg);
  position: relative;
}
.kv_user-voice h1 {
  margin-bottom: 0;
  font-size: 40px;
}

.page_user-voice .user-voice .ttl-wrapper {
  margin-bottom: 0;
}

.page_user-voice .txt_color {
  color: #f7931e;
}

.kv_user-voice .Illust-01 {
    position: absolute;
    left: 35%;
    bottom: 50px;
}
.kv_user-voice .Illust-02 {
    position: absolute;
    right: 0px;
    bottom: -110px;
}

.user-voice .ttl-wrapper .ttl-garland {
  position: relative;
}
.user-voice .ttl-wrapper .img-01 {
    position: absolute;
    top: 0px;
    left: -280px;
}
.user-voice .ttl-wrapper .img-02 {
    position: absolute;
    top: 0px;
    right: -260px;
}

.user-voice-list:nth-child(odd)  {
  background-color: #ffefda;
}

.user-voice-list h2 {
  border-image: url(img/common/border-crayon.png) 30 / 1 / 0 repeat;
  border-bottom: 2px solid transparent;
  margin-bottom: 30px;
  text-align: left;
  font-size: 30px;
  padding-bottom: 12px;
}

.user-voice-list a.txt-link {
  position: relative;
  padding: 0 0 15px 30px;
  /* background: red; */
  display: inline-block;
  text-decoration: underline;
  color: #dc4182;
  margin-bottom: 20px;
  line-height: 1.5;
}
.user-voice-list a.txt-link::before {
  content: '';
  background-image: url(img/common/list-flower-pink.png);
  background-size: 22px 23px;
  background-repeat: no-repeat;
  width: 22px;
  height: 23px;
  position: absolute;
  top: 33%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);  
}


@media screen and (max-width: 766px) {
  .kv_user-voice {
    background-position: 40% 100%;
  }
  .kv_user-voice h1 {
    font-size: 6vw;
  }
  .kv_user-voice .Illust-01 {
    left: 35vw;
    bottom: -11vw;
    width: 18vw;
  }
  .kv_user-voice .Illust-02 {
    bottom: -14vw;
    width: 37vw;
  }
  .user-voice-list h2 {
    font-size: 5vw;
  }
}

/*--------------------------------------------------------------------------------
 *
 * 認定講師の声ページ（page_teacher-voice.php）
 *
--------------------------------------------------------------------------------*/
.kv_teacher-voice {
  background-image: url(img/teacher-voice/kv-teacher-voice.jpg);
  position: relative;
}
.kv_teacher-voice .top-ttl {
  position: relative;
}
.kv_teacher-voice h1 {
  margin-bottom: 0;
  font-size: 40px;
  flex-basis: 100%;
}
.kv_teacher-voice p {
  margin-bottom: 0;
}
.page_teacher-voice .user-voice .ttl-wrapper {
  margin-bottom: 0;
}

.page_teacher-voice .txt_color {
  color: #f7931e;
}

.kv_teacher-voice .Illust-01 {
    position: absolute;
    left: 24%;
    top: -20px;
}
.kv_teacher-voice .Illust-02 {
    position: absolute;
    left: 10%;
    bottom: -130px;
}

.page_teacher-voice .user-voice .ttl-wrapper .img-01 {
    position: absolute;
    top: 0px;
    left: -280px;
}

.page_teacher-voice .user-voice .ttl-wrapper .img-02 {
    position: absolute;
    top: 0px;
    right: -310px;
}

.user-voice-list .flex-wrapper {
  display: flex;
  justify-content: space-between;
}

.user-voice-list .flex-wrapper .img-wrapper {
  flex-basis: 30%;
}
.user-voice-list .flex-wrapper .txt-wrapper {
  flex-basis: 65%;
}

.user-voice-list .flex-wrapper .txt-wrapper .btn-wrapper {
    text-align: right;
}

.user-voice-list:nth-child(odd) .flex-wrapper {
  flex-direction: row-reverse;
}
.user-voice-list:nth-child(odd) .flex-wrapper .txt-wrapper .btn-wrapper {
  text-align: left;
}

@media screen and (max-width: 766px) {
  .kv_teacher-voice {
    background-position: 28% 50%;
    height: auto;
  }
  .kv_teacher-voice .inner {
    padding: 12vw 0;
  }
  .kv_teacher-voice h1 {
    font-size: 6vw;
  }
  .kv_teacher-voice p {
    -webkit-text-stroke: 2px white;
    text-stroke: 2px #333;
    paint-order: stroke;
  }
  .kv_teacher-voice .Illust-01 {
    width: 13vw;
    top: -5vw;
    /* right: -10vw; */
    left: 36vw;
  }
  .kv_teacher-voice .Illust-02 {
    width: 29vw;
    left: 36vw;
    bottom: -23vw;
  }
  .user-voice-list .flex-wrapper {
    flex-wrap: wrap;
  }
  .user-voice-list .flex-wrapper .img-wrapper {
    flex-basis: 80%;
    margin: 0 auto 20px;
  }
  .user-voice-list .flex-wrapper .img-wrapper img {
    margin: 0 auto;
  }
  .user-voice-list .flex-wrapper .txt-wrapper {
    flex-basis: 100%;
  }
  .user-voice-list .flex-wrapper .txt-wrapper .btn-wrapper {
    text-align: center;
  }
  .user-voice-list:nth-child(odd) .flex-wrapper .txt-wrapper .btn-wrapper {
    text-align: center;
  }
}

/*--------------------------------------------------------------------------------
 *
 * 私たちの想い（page_about.php）
 *
--------------------------------------------------------------------------------*/
.kv_about {
  background-image: url(img/about/kv-about.jpg);
  position: relative;
}
.kv_about h1 {
  margin-bottom: 0;
  font-size: 40px;
  padding: 0 120px;
}
.kv_about .top-ttl {
  position: relative;
}
.kv_about .top-ttl h1 {
  position: relative;
}
.kv_about .top-ttl h1::before {
  content: '';
  background-image: url(img/about/kv-Illust01.png);
  display: inline-block;
  width: 95px;
  height: 152px;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
  background-repeat: no-repeat;
}
.kv_about .top-ttl h1::after {
  content: '';
  background-image: url(img/about/kv-Illust02.png);
  display: inline-block;
  width: 142px;
  height: 161px;
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}

.kv_about .Illust-01 {
    position: absolute;
    right: -20px;
    bottom: -330px;
}

@media screen and (max-width: 766px) {
  .kv_about {
    background-position: 40% 50%;
  }
  .kv_about h1 {
    font-size: 6vw;
    padding: 0 11vw;
  }
  .kv_about .top-ttl h1::before {
    width: 13vw;
    height: 22vw;
    top: 3vw;
    left: 0%;
  }
  .kv_about .top-ttl h1::after {
    width: 16vw;
    height: 19vw;
    top: 4vw;
    left: 43vw;
  }
  .kv_about .Illust-01 {
    right: 0;
    bottom: -30vw;
    width: 26vw;
  }
}

/* ------------------------------about------------------------------　*/
.page_about .about .inner {
  padding-bottom: 200px;
}
.page_about .about .img-wrapper {
  margin-bottom: 90px;
}
.page_about .about .img-wrapper img {
  display: block;
  margin: 0 auto;
}

.page_about .about .ttl-wrapper h1 {
  font-size: 40px;
  margin-bottom: 30px;
}
.page_about .about .ttl-wrapper img {
  display: block;
  margin: 0 auto;
}
.page_about .about p {
  text-align: center;
}

@media screen and (max-width: 766px) {
  .page_about .about .inner {
    padding-bottom: 60px;
  }
  .page_about .about .ttl-wrapper h1 {
    font-size: 6vw;
  }
  .page_about .about p {
    text-align: left;
  }
}

/* ------------------------------ourThoughts------------------------------　*/
.page_about .ourThoughts .inner {
    padding-bottom: 100px;
    padding-top: 0;
}

.top-bg {
  position: relative;
}

.page_about .ourThoughts .bg-clover {
  top: -280px;
}
.page_about .ourThoughts h2 {
    border-bottom: 1px solid #cccccc;
    text-align: left;
}

@media screen and (max-width: 766px) {
  .page_about .ourThoughts .bg-clover {
    top: auto;
  }
  .page_about .ourThoughts .inner {
    padding-top: 60px;
  }
  .page_about .ourThoughts h2 {
    font-size: 5vw;
  }
}



/*--------------------------------------------------------------------------------
 *
 * 講師の派遣（page_instructors.php）
 *
--------------------------------------------------------------------------------*/
.kv_instructors {
  background-image: url(img/instructors/kv-instructors.jpg);
  position: relative;
}
.kv_instructors h1 {
  margin-bottom: 0;
  font-size: 40px;
}

.page_instructors .txt_color {
  color: #f7931e;
}

.kv_instructors .Illust-01 {
    position: absolute;
    left: 80px;
    top: 70px;
}
.kv_instructors .Illust-02 {
    position: absolute;
    left: 70px;
    bottom: 60px;
}

@media screen and (max-width: 766px) {
  .kv_instructors {
    background-position: 35% 50%;
  }
  .kv_instructors h1 {
      font-size: 6vw;
  }
  .kv_instructors .Illust-01 {
    left: 0;
    top: 0;
    width: 30vw;
  }
  .kv_instructors .Illust-02 {
    left: 0;
    bottom: 0;
    width: 30vw;
  }
}
/*--------------------------------------------------------------------------------
  instructors
--------------------------------------------------------------------------------*/
.page_instructors .user-voice .ttl-wrapper .img-01 {
    position: absolute;
    top: -20px;
    left: -260px;
}
.page_instructors .user-voice .ttl-wrapper .img-02 {
    position: absolute;
    top: -10px;
    right: -280px;
}

.page_instructors .user-voice .txt-wrapper {
  margin-top: 100px;
}

.page_instructors .user-voice h2 {
  border-image: url(img/common/border-crayon.png) 30 / 1 / 0 repeat;
  border-bottom: 2px solid transparent;
  margin-bottom: 30px;
  font-size: 30px;
  padding-bottom: 12px;
}

@media screen and (max-width: 766px) {
  .page_instructors .user-voice h2 {
    font-size: 6vw;
  }
}


/*--------------------------------------------------------------------------------
  apply
--------------------------------------------------------------------------------*/
.apply {
  background-image: url(img/common/bg-dot.png), url(img/common/bg-dot.png);
  background-repeat: repeat;
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
  background-color: #ffefda;
}
.apply h2 {
  border-image: url(img/common/border-crayon.png) 30 / 1 / 0 repeat;
  border-bottom: 2px solid transparent;
  margin-bottom: 30px;
  font-size: 30px;
  padding-bottom: 12px;
}

.apply .apply-wrapper {
  background-color:  #fff;
  border-radius: 20px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 100px;
  position: relative;
}
.apply .apply-wrapper dl {
  display: flex;
  align-items: center;
  border: 1px solid #000;
  padding: 20px;
  margin-bottom: 30px;
}
.apply .apply-wrapper dt {
  border-right: 1px solid #000;
  padding: 10px 20px;
}
.apply .apply-wrapper dd {
  padding: 10px 20px;
  line-height: 1.6;
}
.apply .apply-wrapper a {
  text-decoration: underline;
}
.apply .apply-wrapper .img-cta01 {
  position: absolute;
  top: -211px;
}
.apply .apply-wrapper .img-cta02 {
  position: absolute;
  bottom: -90px;
  right: -30px;
}

@media screen and (max-width: 766px) {
  .apply h2 {
    padding-left: 12vw;
    font-size: 6vw;
  }
  .apply .apply-wrapper {
    padding: 7vw;
    border-radius: 0 20px 20px 20px;
  }
  .apply .apply-wrapper dl {
    flex-wrap: wrap;
  }
  .apply .apply-wrapper dt {
    flex-basis: 100%;
    border-right: none;
    border-bottom: 1px solid #000;
    padding: 3vw 0;
  }
  .apply .apply-wrapper dd {
    flex-basis: 100%;
    padding: 3vw 0;
  }
  .apply .apply-wrapper .img-cta01 {
    top: -30.8vw;
    width: 34vw;
    left: 0vw;
  }
  .apply .apply-wrapper .img-cta02 {
    position: initial;
  }
}

/*--------------------------------------------------------------------------------
  user-voice-list
--------------------------------------------------------------------------------*/
.page_instructors .user-voice-list:nth-child(even) {
    background-color: #ffefda;
}
.page_instructors .user-voice-list:nth-child(odd) {
    background-color: #fefbf7;
}
.page_instructors .user-voice-list a {
  text-decoration: underline;
}
.page_instructors .user-voice-list h2 {
  position: relative;
}
.page_instructors .user-voice-list h2.txt::after {
  content: '';
 background-image: url(img/instructors/txt-voice01.png); 
  display: inline-block;
  width: 194px;
  height: 60px;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  position: absolute;
  top: 45%;
  right: 0%;
  -webkit-transform: translate(0%, -50%);
  transform: translate(0%, -50%);
}
.page_instructors .user-voice-list h2.txt-02::after {
  content: '';
  background-image: url(img/instructors/txt-voice02.png);
}
.page_instructors .user-voice-list h2.txt-03::after {
  content: '';
  background-image: url(img/instructors/txt-voice03.png);
}


.page_instructors .user-voice-list .flex-wrapper {
    flex-direction: row-reverse;
}

.page_instructors .user-voice-list .flex-wrapper .img-wrapper img {
  display: block;
  margin: 0 auto;
}
.page_instructors .user-voice-list ul.lesson-wrapper {
  display: flex;
  justify-content: space-between;
  padding: 0;
  margin-top: 20px;
}


@media screen and (max-width: 766px) {
  .page_instructors .user-voice-list h2.txt::after {
    width: 40vw;
    height: 13vw;
    top: auto;
    bottom: -24vw;
  }
  .page_instructors .user-voice-list ul.lesson-wrapper {
    flex-wrap: wrap;
  }
  .page_instructors .user-voice-list ul.lesson-wrapper > li {
    flex-basis: 100%;
  }
  
}


/*--------------------------------------------------------------------------------
 *
 * 体験レッスン（page_trial-lesson.php）
 *
--------------------------------------------------------------------------------*/
.kv_trial-lesson {
  background-image: url(img/trial-lesson/kv-trial-lesson.jpg);
  position: relative;
}
.kv_trial-lesson h1 {
  margin-bottom: 0;
  font-size: 40px;
}

.page_trial-lesson .txt_color {
  color: #f7931e;
}

.kv_trial-lesson .Illust-01 {
  position: absolute;
  left: 250px;
  top: 0;
}
.kv_trial-lesson .Illust-02 {
    position: absolute;
    left: 0;
    bottom: -30px;
}

@media screen and (max-width: 766px) {
  .kv_trial-lesson {
    background-position: 10% 50%; 
  }
  .kv_trial-lesson h1 {
    font-size: 8vw;
  }
  .kv_trial-lesson .Illust-01 {
    top: -13vw;
    width: 17vw;
    left: 36vw;
  }
  .kv_trial-lesson .Illust-02 {
    bottom: -14vw;
    width: 24vw;
  }
}


/*--------------------------------------------------------------------------------
  user-voice
--------------------------------------------------------------------------------*/
.page_trial-lesson .user-voice h2 {
    border-image: url(img/common/border-crayon.png) 30 / 1 / 0 repeat;
    border-bottom: 2px solid transparent;
    margin-bottom: 30px;
    font-size: 30px;
    padding-bottom: 12px;
}
.page_trial-lesson .user-voice .ttl-wrapper .img-01 {
    position: absolute;
    top: -60px;
    left: -220px;
}

.page_trial-lesson .user-voice .ttl-wrapper .img-02 {
    position: absolute;
    top: -45px;
    right: -280px;
} 

.page_trial-lesson ul.lesson-wrapper {
  display: flex;
  justify-content: space-between;
}
.page_trial-lesson ul.lesson-wrapper > li {
  flex-basis: 31%;
}
.page_trial-lesson ul.lesson-wrapper > li img {
  width: 100%;
}

@media screen and (max-width: 766px) {
  .page_trial-lesson .user-voice h2 { 
    font-size: 6vw;
  }
  .page_trial-lesson ul.lesson-wrapper {
    padding: 8vw 0 2vw;
  }
}



/*--------------------------------------------------------------------------------
  apply
--------------------------------------------------------------------------------*/
.page_trial-lesson .apply h2 {
  margin-bottom: 70px;
}

.apply-list {
  position: relative;
}

.apply .apply-list .img-cta01 {
    position: absolute;
    top: -211px;
    left: 180px;
}

@media screen and (max-width: 766px) {
  .page_trial-lesson .apply h2 {
      margin-bottom: 30px;
  }
  .apply .apply-list .img-cta01 {
      top: -30.8vw;
      width: 34vw;
      left: 0vw;
  }
}

/*--------------------------------------------------------------------------------
  flow
--------------------------------------------------------------------------------*/
ul.flow-wrapper > li {
  background-color: #fff;
  border-radius: 20px;
  padding: 50px 100px;
  position: relative;
  width: 95%;
  margin-left: auto;
}
ul.flow-wrapper > li:not(:last-of-type){
  margin-bottom: 70px;
}
ul.flow-wrapper > li .ttl {
  background-color: #f7931e;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 0%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
}

ul.flow-wrapper > li:not(:last-of-type)::after {
  content: '';
  width: 0;
  height: 0;
  margin: auto;
  border-top: 34px solid #f7931e;
  border-right: 40px solid transparent;
  border-left: 40px solid transparent;
  border-bottom: 0 solid transparent;
  transform: translateY(1px);
  box-sizing: border-box;
  position: absolute;
  bottom: -40%;
  left: 48%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

ul.flow-wrapper > li:nth-of-type(2)::after {
  bottom: -30%;
}

ul.flow-wrapper > li h3 {
  font-size: 26px;
  color: #fff;
  text-align: center;
  margin: 0;
  line-height: 1.1;
}
ul.flow-wrapper > li h3 span {
  font-size: 50px;
  display: block;
}
ul.flow-wrapper > li span.tel {
  border: 1px solid #000;
  display: inline-block;
  padding: 7px 20px;
}
ul.flow-wrapper > li a {
  text-decoration: underline;
}
.img-step01 {
  position: absolute;
  right: 50px;
  top: 25px;
}
.img-step02 {
  position: absolute;
  right: 50px;
  top: -50px;
}

@media screen and (max-width: 766px) {
  ul.flow-wrapper > li {
    width: 100%;
    padding: 10vw 7vw 7vw;
  }
  ul.flow-wrapper > li:not(:last-of-type) {
    margin-bottom: 11vw;
  }
  ul.flow-wrapper > li:not(:last-of-type)::after {
    border-top: 20px solid #f7931e;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    bottom: -18%;
    left: 50%;
  }
  ul.flow-wrapper > li:nth-of-type(2)::after {
    bottom: -14%;
  }
  ul.flow-wrapper > li .ttl {
    width: 20vw;
    height: 20vw;
    top: 0;
    left: 6vw;
  }
  ul.flow-wrapper > li h3 {
    font-size: 4vw;
  }
  ul.flow-wrapper > li h3 span {
    font-size: 6vw;
  }
  .img-step01 {
    position: initial;
    width: 30vw;
    margin-left: auto;
  }
  .img-step02 {
    position: initial;
    margin-left: auto;
  }
}





/*--------------------------------------------------------------------------------
  users_voice
--------------------------------------------------------------------------------*/
.page_trial-lesson .users_voice {
  background-color: #fefbf7;
  background-image: none;
}
.page_trial-lesson .users_voice .voice-wrapper {
  border-top: 5px solid #f7931e;
}
.page_trial-lesson .users_voice .voice-wrapper h2 {
  color: #f7931e;
}
.page_trial-lesson ul.flower-list li::before {
  background-image: url(img/common/list-flower-orange.png);
}

.page_trial-lesson .users_voice .btn-wrapper {
    text-align: center;
    margin-top: -50px;
}

 

/*--------------------------------------------------------------------------------
 *
 * 企業情報（page_company.php）
 *
--------------------------------------------------------------------------------*/

.kv_company .ttl-wrapper {
  margin-bottom: 30px;
}
.kv_company .ttl-wrapper h1 {
  text-align: left;
}
table.company-table {
  width: 100%;
}

table.company-table tr {
  
  display: block;
  display: flex;
}

table.company-table th {
  border-right: 1px solid #fff;
  width: 20%;
  text-align: left;
  padding: 17px;
  font-weight: 500;
  line-height: 1.5;
}
table.company-table td {
  width: 80%;
  padding: 17px;
  line-height: 1.6;
}

@media screen and (min-width: 767px) {
  table.company-table tr:nth-child(odd) {
    background-color: #ffefda;
  }
}

@media screen and (max-width: 766px) {
  table.company-table tr {
    display: grid;
  }
  table.company-table th {
    border-right: none;
    background-color: #ffefda;
    border-bottom: 1px solid #fff;
    width: 100%;
    font-size: 4vw;
  }
  table.company-table td {
    width: 100%;
    font-size: 4vw;
  }
}

/*--------------------------------------------------------------------------------
 *
 * プライバシーポリシー（page_privacy.php）
 *
--------------------------------------------------------------------------------*/
.privacy section {
  padding: 50px 0;
}
.privacy h2 {
  text-align: left;
}

@media screen and (max-width: 766px) {
  .privacy section {
    padding: 30px 0;
  }
}

/*--------------------------------------------------------------------------------
 *
 * サイトマップ（page_sitemap.php）
 *
--------------------------------------------------------------------------------*/
.sitemap section {
  padding: 60px 0;
}
h2.sitemap_ttl {
  
  border-bottom: 2px solid transparent;
  border-image: url(img/common/border-crayon.png) 30 / 1 / 0 repeat;
  position: relative;
  padding: 0 0 15px 45px;
  margin-bottom: 30px;
  text-align: left;
  font-size: 26px;
}

h2.sitemap_ttl::before {
  content: '';
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  background-repeat: no-repeat;
    background-image: url(img/common/list-flower-orange.png);
    width: 37px;
    height: 37px;
    top: 36%;
    left: 0%;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    
}

ul.sitemap_link {
    display: flex;
    flex-wrap: wrap;
}
ul.sitemap_link li {
  margin-right: 1.5em;
}
ul.sitemap_link li a {
  text-decoration: underline;
}

@media screen and (max-width: 766px) {
  .sitemap section {
    padding: 45px 0;
  }
  h2.sitemap_ttl {
    font-size: 5vw;
  }
}

/*--------------------------------------------------------------------------------
 *
 * よくあるご質問（page_faq.php）
 *
--------------------------------------------------------------------------------*/

.page_faq .txt_color {
  color: #f7931e;
}
.page_faq .kv_faq .inner {
  padding-bottom: 0;
}
.page_faq .kv_faq .ttl-wrapper {
  text-align: center;
  margin-bottom: 40px;
}
.page_faq .kv_faq .ttl-wrapper .img-01 {
    position: absolute;
    top: 0px;
    left: 40px;
}

.page_faq .kv_faq .ttl-wrapper .img-02 {
    position: absolute;
    bottom: -40px;
    right: 100px;
}

.page_faq .faq {
  background-color: #ffefda;
}
.page_faq .faq .inner {
  max-width: 1000px;
}

ul.faq-btn-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.6%;
  margin: 50px 0 30px;
}
ul.faq-btn-list li {
  flex-basis: 23%;
  margin: 8px 0;
}
ul.faq-btn-list li a {
  display: block;
  background-color: #fff;
  border-radius: 50px;
  border: 1px solid #f7931e;
  padding: 8px 20px;
  text-align: center;
  position: relative;
}
ul.faq-btn-list li a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 17px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #f7931e;
  border-right: 2px solid #f7931e;
  transform: translateY(-2px) rotate(135deg);
  box-sizing: border-box;
}
.faq-list {
  padding: 30px 0;
}

.faq-list h2 {
  text-align: left;
  font-size: 20px;
}

@media screen and (max-width: 766px) {
  ul.faq-btn-list li {
    flex-basis: 48%;
  }
  ul.faq-btn-list li a::after {
    right: 3vw;
  }
}


/*--------------------------------------------------------------------------------
 *
 * 共通
 *
--------------------------------------------------------------------------------*/
a.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
} 






/* ------------------------------サンクスページ------------------------------　*/
.thanks { padding:30px 0; }
.thanks .content { padding:0 30px; }
.thanks .content p { text-align:center; }

@media screen and (max-width:768px){
	#thanks-wrapper  {margin-top: 14px; }
}

/* ------------------------------エラーページ------------------------------　*/
#error-wrapper {}
#error-wrapper section {height: 100%;}
#error-wrapper .inner {height: 100%; 
	display:-webkit-box; display:-ms-flexbox; display: flex;
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
#error-wrapper .txt-wrapper {display: block;}   

@media screen and (max-width:768px){
	#error-wrapper {margin-top: 14px;}
} 


/*--------------------------------------------------------------------------------
 *
 * ニュース（index.php）
 *
--------------------------------------------------------------------------------*/
.page_news .news-list ul.post li {display: flex; flex-basis: 100%;}
.page_news .news-list ul.post li:not(:last-of-type) {
  padding: 5px 0px;
  border-bottom: 2px solid transparent;
  border-image: url(img/common/border-crayon.png) 30 / 1 / 0 repeat;
}



.page_news .news-list ul.post li img {box-shadow: none;}
.page_news .news-list ul.post li .date-wrapper {margin-left: 30px;}

@media screen and (max-width:766px){
	article.page_news {min-height: calc(100vh - 80px);}
}

/* ------------------------------　記事関連（下層）------------------------------　*/
 /*--------------------------------------------------------------------------------
 *
 * おすすめ日記＆情報（home.php）
 *
--------------------------------------------------------------------------------*/

/* ------------------------------　記事関連（下層）------------------------------　*/
 ul.post { width: 100%; 
	 display:-webkit-box; display:-ms-flexbox; display:flex;
	 -ms-flex-wrap:wrap; flex-wrap:wrap;
 gap: 2.6%;margin: 0;}
 ul.post li {position: relative; flex-basis: 23%; margin: 10px 0;}

ul.post li img {width: 100%; height: 170px; object-fit: cover;}
ul.post li .category {position: absolute; background: #ff96c1; padding: 2px 10px; color: #fff; font-weight: bold; top: 0; left: 0;}
/* ul.post li .date-wrapper .ymd {float: left; padding: 2px 0;} */
ul.post li p { font-size:14px; margin:0;}
ul.post li h3 { font-size:16px; font-weight:bold; margin-bottom: 10px; }
.author, .author a {color: #333; font-size: 12px;}
.author {border-bottom: 4px dotted #cf9f58; padding-bottom: 5px;margin-bottom: 5px !important;}
.author:hover a {color: #0089d7;}



@media screen and (max-width:766px){
	ul.post li { width:100%; flex-basis:100%; margin:10px 0;  display: block;}
	ul.post li:nth-child(3n+2) {margin: 10px 0;}
	ul.post li h3 {margin-top: 10px;}
	ul.post li .category {font-size: 12px;}
	ul.post li img {height: 55vw;}
}



/* ------------------------------関連記事------------------------------　*/
/*
ul.post02 { width: 100%; 
	 display:-webkit-box; display:-ms-flexbox; display:flex;
	 -ms-flex-wrap:wrap; flex-wrap:wrap;}
 ul.post02 li {position: relative; width: calc((100% - 40px)/ 3); flex-basis: calc((100% - 40px)/ 3); margin: 10px 0; padding: 0 0 20px 0; background: #fff;}
ul.post02 li:nth-child(3n+2) {margin: 10px 20px;} 
ul.post02 li img {width: 100%; margin-bottom: 10px; height: 200px; object-fit: cover;}
ul.post02 li .category {position: absolute; background: #ff96c1; padding: 2px 10px; color: #fff; font-weight: bold; top: 0; left: 0;}
ul.post02 li p { font-size:14px; margin:0;}
ul.post02 li h3 { font-size:16px; font-weight:bold; margin-bottom: 10px; }


@media screen and (max-width:766px){
	ul.post li { width:100%; flex-basis:100%; margin:10px 0;  background:#fff; display: block;}
	ul.post li:nth-child(3n+2) {margin: 10px 0;}
	ul.post li h3 {margin-top: 10px;}
	ul.post li .category {font-size: 12px;}
}

@media screen and (max-width:768px){
	ul.post02 li { width:100%; flex-basis:100%; margin:10px 0; padding:7%; background:#fff; }
	ul.post02 li:nth-child(3n+2) { margin:10px 0px; }
}
*/


/*--------------------------------------------------------------------------------
 *
 * 会社情報（page_company.php）
 *
--------------------------------------------------------------------------------*/
/* #company_page .inner { padding:100px 0; }
#company_page h3 span {display: block; font-size: 14px; font-weight: normal;}

@media screen and (max-width:768px){
	#company_page {margin-top: 60px;}
	#company_page .inner { padding:60px 0; }
} */

/*--------------------------------------------------------------------------------
 * company
--------------------------------------------------------------------------------*/
/* #company_page .company {background-color: #f9f3a3; position: relative;
    background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #fff), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #fff),color-stop(.75, #fff), color-stop(.75, transparent),to(transparent)); -webkit-background-size: 8px 8px;}
#company_page .company:before {content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 0; border-style: solid;
    border-width: 0 100vw 30px 0; border-color: transparent transparent #ffdc00 transparent;}    
#company_page .company ul {border: 3px solid #000; border-radius: 10px; padding: 30px; background: #fff;}
#company_page .company .company-table { width:100%; border-collapse:collapse; position:relative; }
#company_page .company .company-table tr {display: flex; margin-bottom: 0; padding: 0;}
#company_page .company .company-table tr:last-child {border: none;}
#company_page .company .company-table th {text-align: left; width: 25%; text-align: right; padding: 20px; font-size: 14px; font-weight: bold; border-bottom: none;}
#company_page .company .company-table tr:first-child th {border-radius: 10px 0 0 0;}
#company_page .company .company-table td {width:75%; text-align:left; padding:20px; font-size:14px; line-height: 1.7;} */

/* @media screen and (max-width: 768px) {
	#company_page .company ul {padding: 7%;}
	#company_page .company-table::before { right:0px; font-size:2rem; }
	#company_page .company-table th {display: block; border-radius: 0;}	
	#company_page .company-table th::before {content: none;}
	#company_page .company-table th,
	#company_page .company table tr { border-bottom: 2px dotted #eee;} 
	#company_page .company-table tr:last-child th {border-radius: 0 0 0 10px;}
	#company_page .company-table td { padding:20px 10px !important; font-size:10px; display: block;}
	#company_page .company-table td {font-size: 12px !important;}
	#company_page .company-table td:last-child::before {border-radius: inherit;}
} */

/*--------------------------------------------------------------------------------
 *
 * プライバシーポリシー（page_privacy.php）
 *
--------------------------------------------------------------------------------*/
#privacy_page { background-color: #f9f3a3; position: relative;
    background-image: -webkit-gradient(linear, 0 0, 100% 100%,color-stop(.25, #fff), color-stop(.25, transparent),color-stop(.5, transparent), color-stop(.5, #fff),color-stop(.75, #fff), color-stop(.75, transparent),to(transparent)); -webkit-background-size: 8px 8px; }
#privacy_page:before {content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 0 100vw 30px 0; border-color: transparent transparent #ffdc00 transparent;}
#privacy_page:after {content: ""; position: absolute; top: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: 0 100vw 30px 0; border-color: transparent #ffdc00 transparent transparent;}
#privacy_page .contents-wrapper {margin: 0 0 40px 0;}
#privacy_page .contents-wrapper:last-child {margin: 0;}
#privacy_page h2 {text-align: left; border-bottom: 2px solid #000; margin: 0 0 15px 0; display: block; font-size: 16px;}
#privacy_page ul { margin-bottom:20px; }
#privacy_page ul li {line-height: 1.7; font-size: 12px;}
#privacy_page .contents-wrapper a {color: #ff6600; text-decoration: underline; font-size: 14px;}

@media screen and (max-width: 768px) { 
	#privacy_page {margin-top: 60px;}
	#privacy_page .article-wrapper {padding: 7%;}
}



.fixed-footer {
  display: none;
  position: fixed;
  right: 0;
  bottom: 10%;
  transform: translateY(-50%);
  z-index: 9999;
}
ul.fixed-footer-buttons {
  /* position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 999; */
  display: flex;
  align-items: center;
  flex-direction: column;
}


.btn-vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  display: block;
  padding: 10px 18px;
  margin: 5px 0;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  border-radius: 5px 0 0 5px;
  font-size: 16px;
  letter-spacing: .06em;
  width: 60px;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-vertical.btn-pink {
  background: #ff3f86; 
  color: #fff;
}

.btn-vertical.btn-yellow {
  background: #ffd500; 
  color: #333;
}
.btn-vertical.btn-blue {
  background: #0083c7; 
  color: #fff;
}


@media screen and (max-width: 766px) { 
  .footer .inner {
    padding: 10px 0 160px;
  }
  .fixed-footer {
    width: 100%;
    right: 0;
    left: 0;
    bottom: 0;           /* ← ここは0でOK */
    transform: none;     /* ← transform消す！ */
  }
  
  
  ul.fixed-footer-buttons {
    flex-wrap: wrap;
    flex-direction: initial;
  }
  ul.fixed-footer-buttons > li{
    flex-basis: 50%;
  }
  
 .btn-vertical {
   writing-mode: initial;
   text-orientation: initial;
   width: auto;
   font-size: 3.4vw;
   border-radius: 0;
   margin:0;
   position: relative;
   line-height: 1.3;
 }
 img.icon-phone {
    position: absolute;
    left: 4vw;
    width: 5vw;
    height: 8vw;
  }
 img.icon-mail-white {
   position: absolute;
   left: 2vw;
   width: 8vw;
   height: 5vw;
   
 }
 ul.fixed-footer-buttons li.sp {
   border-right: 1px solid #fff;
 }
}

/*--------------------------------------------------------------------------------
 *
 * 学校検索ページ（search-school.php）
 *
--------------------------------------------------------------------------------*/
.kv_search-school {
  background-color: #ffefda;
  background-image: url(img/school/bg-school.png);
  background-repeat: no-repeat;
  background-size: 80vw;
  background-position: 50% 70%;
}
h1.search-title {
  margin-bottom: 0;
}
.kv_search-school .inner {
  padding: 50px 0;
}
