@charset "UTF-8";
/*----------このエリアは削除すると正しく動作しない可能性があります----------

Theme Name: KBDG
Theme URI: https://fit-jp.com
Description: FITが提供する春日井バレエ・ダンスギャラリー専用テーマ
Author: Kota Naito　@FIT(フィット)
Author URI: http://fit-jp.com/about/
Tags:corporate
Version: 1.0.0
Text Domain: kbdg
License: GNU GENERAL PUBLIC LICENSE
License URI: http://www.gnu.org/licenses/gpl.html

Copyright (C) FIT(フィット).

----------このエリアは削除すると正しく動作しない可能性があります----------*/



/************************************************************/
/************************************************************/
/*リセット
/************************************************************/
/************************************************************/
html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{
	margin:0;
	padding:0;
}
h1,h2,h3,h4,h5,h6{font-size:100%;}
ol,ul,li,dl{list-style-position: inside;}
button,input,select,textarea{margin:0;}
html{
	box-sizing:border-box;
	line-height:1;
	font-size: 62.5%; /*  50 56.25 62.5 68.75 75*/
}
*,*:before,*:after{box-sizing:inherit;}
iframe{border:0;}
table{
	border-collapse:collapse;
	border-spacing:0;
}
td,th{
	padding:0;
	text-align:left;
}
hr{
	height: 0;
	border: 0;
}



/************************************************************/
/************************************************************/
/*ベース
/************************************************************/
/************************************************************/

/*全体設定
------------------------------------------------------------*/
body {
	width:100%;
	font-family:"Lato","游ゴシック体","Yu Gothic","YuGothic","ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic","sans-serif";
	font-size: 1.4rem;
	font-weight:500;
	color:#191919;
	-webkit-text-size-adjust: 100%;
	word-wrap : break-word;
	overflow-wrap : break-word;
}


/*フォームパーツ設定
------------------------------------------------------------*/

/*フォント設定*/
button, input, select, textarea {
	font-family:inherit;
	font-weight:inherit;
	font-size:  inherit;
}

/*placeholderのcolor設定*/
::-webkit-input-placeholder{color: #7f7f7f;}
::-moz-placeholder         {color: #7f7f7f; opacity: 1;}
:-ms-input-placeholder     {color: #7f7f7f;}



/*リンク設定
------------------------------------------------------------*/
a{
	color:inherit;
	text-decoration:none;
}



/************************************************************/
/************************************************************/
/*レイアウト
/************************************************************/
/************************************************************/

/*ヘッダー
------------------------------------------------------------*/
.l-header{
	position:relative;
	width:100%;
	background: #fff;
	border-bottom: 1px solid #E5E5E5;
	z-index: 999;
}

.l-header-clone {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  transition: .3s;
  transform: translateY(-100%);
}
.l-header-clone.is-show { transform: translateY(0);}



/*ラッパー(メイン・サイドバー用ラッパー)
------------------------------------------------------------*/
.l-wrapper {}

/*メイン
------------------------------------------------------------*/
.l-main {
	position:relative;
	width:100%;
}


/*サイドバー
------------------------------------------------------------*/
.l-sidebar {display: none;}

/*フッターTOP
------------------------------------------------------------*/
.l-footerTop {
	position:relative;
	width:100%;
}

/*フッター
------------------------------------------------------------*/
.l-footer {
	position:relative;
	background: #404040;
	width:100%;
}



/************************************************************/
/************************************************************/
/*共通モジュール(様々な箇所で複数使用するパーツ)
/************************************************************/
/************************************************************/


/*枠組み系パーツ
------------------------------------------------------------*/

/*セパレーター*/
.separator{
	padding-top:40px;
	padding-bottom:40px;
	background-size:cover;
	background-position: center center;
}
.separator-gray        {background-color: #f2f2f2;}
.separator-concept     {background-image: url("img/img_04.jpg");}
.separator-fabric      {background-image: url("img/img_05.jpg"); background-repeat: repeat; background-size: auto;}
.separator-flour       {background-image: url("img/img_08.jpg"); border-top: 1px solid rgba(0,0,0,0.1)}
.separator-instagram   {background-image: url("img/img_09.jpg");}
.separator-stripeGray  {background: repeating-linear-gradient(90deg, #fff, #fff 1px, #f2f2f2 0, #f2f2f2 6px);}
.separator-stripePink  {background: repeating-linear-gradient(90deg, #fff, #fff 1px, #FFF7FA 0, #FFF7FA 6px);}
.separator-stripeOrange{background: repeating-linear-gradient(90deg, #fff, #fff 1px, #FFF4EC 0, #FFF4EC 6px);}
.separator-stripeGreen {background: repeating-linear-gradient(90deg, #fff, #fff 1px, #F2F9F2 0, #F2F9F2 6px);}
.separator-stripeBlue  {background: repeating-linear-gradient(90deg, #fff, #fff 1px, #F1F7FB 0, #F1F7FB 6px);}
.separator-stripeFabric{background-image: url("img/img_05.jpg"); background-repeat: repeat; background-size: auto;}
.separator-grid        {background-image: url("img/img_10.gif"); background-repeat: repeat; background-size: auto; border-top: 1px solid rgba(0,0,0,0.1); border-bottom: 1px solid rgba(0,0,0,0.1)}

/*コンテナー*/
.container{
	position:relative;
	max-width:1000px;
	margin:0 15px;
}
.container::after {
	content: "";
	display: block;
	clear: both;
}


/*キービジュアル
------------------------------------------------------------*/
.keyvisual{
	display: block;
}
.keyvisual__img{
	position: relative;
	width: 100%;
	height: 180px;
}
.keyvisual__img img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
	font-family: 'object-fit:cover;';
	width: 100%;
	height: 100%;
}

.keyvisual__title{
	position: relative;
	min-width: 180px;
	max-width: 300px;
	height: 100px;
	margin: -50px auto 0 auto;
	padding: 20px;
	background: rgba(255, 102, 156, 0.75);
}
.keyvisual__title::before{
	content: "";
	position: absolute;
	top: 5px;
	left: 5px;
	right: 5px;
	bottom: 5px;
	border: 1px dashed rgba(255, 255, 255, 0.75);
}

/*バリエーション*/
.keyvisual__title-orange{background-color: rgba(255,137,57,0.75);}
.keyvisual__title-green {background-color: rgba(67,168,79,0.75);}
.keyvisual__title-blue  {background-color: rgba(19,114,191,0.75);}
.keyvisual__title-sky   {background-color: rgba(52,153,209,0.75);}
.keyvisual__title-gray  {background-color: rgba(128,128,128,0.75);}
.keyvisual__title-top   {margin: -140px auto 40px auto;}




/*見出し
------------------------------------------------------------*/
/*見出し基本設定*/
.heading{
	font-family: "Libre Baskerville","游明朝","Yu Mincho","YuMincho","Georgia","Hiragino Mincho ProN","HGS明朝E","serif";
	display: block;
	line-height:1.5;
	font-weight: normal;
	text-align: center;
	font-weight: 700;
}


/*見出し：プライマリー*/
.heading-primary{
	font-size:3rem;
	font-weight: normal;
	text-transform:uppercase;
}
.heading-primary span{
	display: block;
	color: #404040;
	font-size:1.5rem;
	font-weight: 700;
	text-transform:none;
}

/*見出し：サブプライマリー*/
.heading-subPrimary{
	font-size:2rem;
	font-weight: normal;
	padding-bottom: 5px;
	border-bottom: 5px solid rgba(0,0,0,0.05);
}
.heading-subPrimary span{
	color: #404040;
	font-size:1.5rem;
	font-weight: 700;
	margin-left: 10px;
}
.heading-subPrimary span.none{margin-left: 0;}

/*見出し：スモールプライマリー*/
.heading-smallPrimary{
	font-size:2rem;
	font-weight: normal;
}

/*見出し：小さめのタイトル*/
.heading-secondary{
	font-size:1.8rem;
	color:#FF669C;
}

/*見出し：その他小さめのタイトル*/
.heading-tertiary{
	font-size:1.5rem;
	color:#FF669C;
}
.heading-tertiary span{
	display: block;
	margin-bottom: 5px;
	font-size:1.2rem;
}

/*見出し：大サイズ*/
.heading-main{font-size:2rem;}

/*見出し：特大サイズ用*/
.heading-big{
	font-size:3.6rem;
	font-weight: normal;
	color:#FF669C;
}

/*見出し：名前用*/
.heading-name{
	display: inline-block;
	font-size:2rem;
	font-weight: normal;
	margin: auto;
}
.heading-name span{
	display: block;
	color: #404040;
	font-size:1.2rem;
	font-weight: 700;
}

/*見出し：ページタイトル*/
.heading-title{
	font-size:1.6rem;
	margin-top: -5px;
	color: #fff;
}
.heading-title span{
	display: block;
	color: rgba(255,255,255,0.75);
	font-size:1.2rem;
	font-weight: normal;
	text-transform:capitalize;
}

/*見出し：括弧*/
.heading-kakko{
	position: relative;
	padding: 20px;
	font-size:2rem;
	max-width: 600px;
	margin: auto;
}
.heading-kakko::before,
.heading-kakko::after {
    display: inline-block;
    position: absolute;
    width: 30px;
    height: 30px;
    content: "";
}
.heading-kakko::before {
    top: 0;
    left: 0;
    border-top: solid 1px #191919;
    border-left: solid 1px #191919;
}
.heading-kakko::after {
    right: 0;
    bottom: 0;
    border-right: solid 1px #191919;
    border-bottom: solid 1px #191919;
}




/*文節
------------------------------------------------------------*/
.phrase{
	display: block;
	line-height:2;
	text-align: center;
	overflow: hidden;
}

.phrase-small{font-size:1.2rem;}
.phrase-mini {font-size:1rem;}

/*文節：リンク*/
.phrase a{color:#a83f3f;}



/*HR
------------------------------------------------------------*/
hr{
	clear: both;
	margin: 20px 0;
	padding: 0;
	height: 0;
	border: 0;
	border-top: 1px solid rgba(0,0,0,0.10);
}
hr.small{margin: 5px 0;}


/*イメージポジション
------------------------------------------------------------*/
.aligncenter,
.alignleft,
.alignright,
.imgPosition{
	display: block;
	height: auto;
	margin: 0 auto 10px auto;
	max-width: 100%;
}
.alignleft,
.imgPosition-left {max-width: 50%; float: left;  margin: 0 10px 10px 0}
.alignright,
.imgPosition-right{max-width: 50%; float: right; margin: 0 0 10px 10px}



/*ローカルメニュー
------------------------------------------------------------*/
.localNavi{padding: 10px 0}
.localNavi__list{
	list-style: none;
  display: flex;
  flex-wrap: wrap;
	justify-content: flex-start;
  margin: 0 -5px -5px ;
}
.localNavi__item{
	position: relative;
	flex-grow: 1;
  height: 40px;
  line-height: 40px;
  width: calc(50% - 5px);
  text-align: center;
  margin: 0 5px 5px 0;
	border: 1px solid rgba(0, 0, 0, 0.1);
	background: #f2f2f2;
}
.localNavi__item-big{width: calc(100% - 5px);}

.localNavi__item:hover,
.localNavi__item.current{background: #404040; color: #fff;}
.localNavi__item-pink:hover,
.localNavi__item-pink.current{background: #FF669C;}
.localNavi__item-orange:hover,
.localNavi__item-orange.current{background: #FF8939;}
.localNavi__item-green:hover,
.localNavi__item-green.current{background: #43A84F;}
.localNavi__item-blue:hover,
.localNavi__item-blue.current{background: #1372BF;}
.localNavi__item-sky:hover,
.localNavi__item-sky.current{background: #3499D1;}
.localNavi__item-gray:hover,
.localNavi__item-gray.current{background: #808080;}


.localNavi__item a{display: block;}


/*パネルリンク*/
.localNavi__label{
	display: block;
	cursor:pointer;
	transition: .15s;
}

/*カテゴリラベル三角アイコン*/
.localNavi__label::after{
	content:"";
	display:inline-block;
	vertical-align: middle;
	margin-left:5px;
	width: 0;
	height: 0;
	border-right: 4px solid transparent;
	border-top: 6px solid rgba(0,0,0,0.25);
	border-left: 4px solid transparent;
}
.localNavi__check:checked ~ .localNavi__label::after{
	border-bottom: 6px solid #ffffff;
	border-top:none;
}

/*カテゴリパネルトリガー(CHECKBOX)非表示*/
.localNavi__check{display:none;}

/*カテゴリパネル*/
.localNavi__panel{
	position:absolute;
	top: 100%;
	left: 0;
	list-style:none;
	z-index:9999;
}

/*吹き出し風三角*/
.localNavi__check:checked ~ .localNavi__panel::before{
	content:"";
	display:block;
	width: 0;
	height: 0;
	margin-left:10px;
	border-right: 4px solid transparent;
	border-bottom: 6px solid #323232;
	border-left: 4px solid transparent;
}

/*パネル内リスト*/
.localNavi__panel li{
	overflow: hidden;
	width: auto;
	min-width: 140px;
	white-space: nowrap;
	height: 0;
	line-height:4rem;
	text-align: left;
	font-size: 1.2rem;
	background:#323232;
	transition: .15s;
}
/*カテゴリパネルオープン*/
.localNavi__check:checked ~ .localNavi__panel li {
	overflow: visible;
	height:4rem;
}
.localNavi__check:checked ~ .localNavi__panel li:not( :first-child ) {
	border-top: 1px solid rgba(0,0,0,0.10);
	box-shadow:0px 1px 0px 0px rgba(255,255,255,0.15) inset;
}

/*カテゴリパネルリスト内aタグ*/
.localNavi__panel li a{
	display:block;
	color:#ffffff;
	padding:0 10px;
	transition: .15s;
}
.localNavi__panel li a:hover{background: rgba(255,255,255,0.15);}
.localNavi__panel li:first-child{border-top:none;}
.localNavi__panel li:last-child{border-bottom:none;}
.localNavi__panel li span{font-size: 1rem;}






/*ボタン
------------------------------------------------------------*/
.btn{
	width:100%;
	text-align: center;
}
.btn-left{text-align: left;}
.btn-right{text-align: right;}

/*ボタン本体*/
.btn__link{
	position: relative;
	display: inline-block;
	cursor: pointer;
	transition: .15s;
}
.btn__link::before{
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	right: 10px;
	width: 5px;
	height: 5px;
	margin: auto;
	border-top: 1px solid;
	border-right: 1px solid;
	transform: rotate(45deg);
}
.btn__link:hover::after{
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	left: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.25);
}

/*ボタン：ビッグデザイン用*/
.btn__link-primary{
	padding: 15px 40px;
	border-radius: 5px;
	border: none;
	background: #FF669C;
	border-bottom: solid 3px rgba(0,0,0,0.25);
	font-weight:bold;
	color:#ffffff;
	line-height:normal;
}
.btn__link-primary:active {
	transform: translateY(3px);
	border-bottom: solid 3px transparent;
}

/*ボタン：ミニデザイン用*/
.btn__link-secondary{
	font-size:1.2rem;
	padding: 10px 20px;
	border-radius: 5px;
	color: #a83f3f;
	border: 1px solid;
}

/*ボタン：その他用*/
.btn__link-tertiary{
	min-height: 50px;
	line-height: 50px;
	background: #FF669C;
	font-weight:bold;
	color:#ffffff;
}

/*ボタン：基本デザイン*/
.btn__link-normal{
	font-size:1.2rem;
	padding: 10px 20px;
	border-radius: 5px;
	color: #FF669C;
	border: 1px solid;
}
.btn__link-normal:hover{border: 1px dashed;}
.btn__link-normal:hover::after{content: none;}

.btn__link-normal-black{color: #191919;}

/*ボタン：ベーシックデザイン用*/
.btn__link-basic{
	font-size:1.2rem;
	padding: 7px 20px 7px 15px;
	border-radius: 5px;
	border: none;
	background: #FF669C;
	border-bottom: solid 2px rgba(0,0,0,0.25);
	font-weight:bold;
	color:#ffffff;
	line-height:normal;
}
.btn__link-basic:active {
	transform: translateY(2px);
	border-bottom: solid 2px transparent;
}


/*ボタン：バナー画像を囲うボタン*/
.btn__link-banner{background: #272727}
.btn__link-banner::before{content: none;}


/*アイキャッチ
------------------------------------------------------------*/
.eyecatch{
	position:relative;
	width:100%;
	height:auto;
}
.eyecatch:before {
    content:"";
    display: block;
    padding-top: 56.25%;
}
.eyecatch-square:before {padding-top: 100%;}
.eyecatch__contents{
	position: absolute;
	top: 0;
	left: 0;
}

.eyecatch-square .mask {
	width:			100%;
	height:			100%;
	position:		absolute;
	top:			0;
	left:			0;
	display: flex;
  justify-content: center;
  align-items: center;

	opacity:		0;	/* マスクを表示しない */
	background-color:	rgba(0,0,0,0.5);
	-webkit-transition:	all 0.3s ease-out;
	transition:		all 0.3s ease-out;
}
.eyecatch-square:active .mask {opacity:		1;	/* マスクを表示する */}
.eyecatch-square:hover .mask {opacity:		1;	/* マスクを表示する */}

.eyecatch-square .mask__caption{
	margin: 20px;
	font-size: 15px;
	line-height: 1.75;
	color: #ffffff;
}
.eyecatch-square .mask__headline{
	margin-bottom: 10px;
	font-size: 20px;
}

/*データリスト(複数個所で使用)
------------------------------------------------------------*/
.dateList{list-style:none;}
.dateList::after{
	clear: both;
  content: "";
  display: block;
}

.dateList__item{
	float: left;
	display:inline-block;
	text-align:center;
	background: #FFFFFF;
	color: rgba(0,0,0,0.5);
	border: 1px solid rgba(0,0,0,0.1);
	font-size:1.2rem;
	line-height:1;
	padding: 5px 10px;
}
.dateList__item-noBorder{
	color: #ffffff;
	border: 1px solid rgba(0,0,0,0);
	background-color: #FF669C;
}
.dateList__item::before{margin-right: 5px;}



/*ページネーション
------------------------------------------------------------*/
.pager{
	position:relative;
	width:100%;
	text-align:center;
	list-style:none;
	font-size:0;
}
/*クリックエリア*/
.pager__item{
	display:inline-block;
	color:#FF669C;
	background:#ffffff;
	border:rgba(0,0,0,0.10) 1px solid;
	font-size:1.2rem;
	margin-left:-1px;
}

/*リンクタグに余白を持たせる処理*/
.pager__item-current,
.pager__item a{
	display:inline-block;
	padding:10px;
	min-width: calc(1.2rem + 20px);
}
/*現在地とマウスオーバー時の変化*/
.pager__item:hover,
.pager__item-current{
	color:#ffffff;
	background:#FF669C;
	transition: .15s;
}
/*前次ボタンの矢印*/
.pager__item-prev,
.pager__item-next  {position: relative;}
.pager__item-prev a{padding-left: 20px;}
.pager__item-next a{padding-right:20px;}
.pager__item-prev::before,
.pager__item-next::before{
	content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  border-top: 1px solid;
}
.pager__item-prev::before{
	left: 10px;
	border-left: 1px solid;
	transform: rotate(-45deg);
}
.pager__item-next::before{
	right: 10px;
	border-right: 1px solid;
	transform: rotate(45deg);
}


/*テーブルを横にスクロール可能にする
------------------------------------------------------------*/
.tableScroll{overflow: auto;}
.tableScroll td{white-space: nowrap}


/*基本テーブルデザイン(複数個所で使用)
------------------------------------------------------------*/
.tableBasic{
	width:100%;
	margin:0 auto;
	text-align: left;
}
.tableBasic th {
	display: block;
	width:100%;
	padding: 10px;
	background: #f2f2f2;
  border: 1px solid rgba(0,0,0,0.1);
	font-weight:normal;
	vertical-align:middle;
	line-height:1.85;
}
.tableBasic td {
	display: block;
	width:100%;
	border: 1px solid rgba(0,0,0,0.1);
  border-top: 0;
  padding: 10px;
	min-height:40px;
	vertical-align:middle;
	line-height:1.85;
	overflow: hidden;
}
.tableBasic tr td:last-child{margin-bottom:10px;}



/*ノーマルテーブルデザイン(複数個所で使用)
------------------------------------------------------------*/
.tableNormal{
	width:100%;
	margin:0 auto;
	text-align: left;
	border-top: 1px solid rgba(0,0,0,0.1);
	border-left: 1px solid rgba(0,0,0,0.1);
}
.tableNormal th {
	width:100px;
	padding: 10px;
	background: #f2f2f2;
  border-right: 1px solid rgba(0,0,0,0.1);
	border-bottom: 1px solid rgba(0,0,0,0.1);
	font-weight:normal;
	vertical-align:middle;
	line-height:1.85;
}
.tableNormal td {
	border-right: 1px solid rgba(0,0,0,0.1);
	border-bottom: 1px solid rgba(0,0,0,0.1);
  border-top: 0;
  padding: 10px;
	background: #ffffff;
	min-height:40px;
	vertical-align:middle;
	line-height:1.85;
	overflow: hidden;
}
.tableNormal td span{
	font-size: 1rem;
	margin-left: 2px;
}

.tableNormal-pink   th{background: #FF669C;color: #fff;}
.tableNormal-orange th{background: #FF8939;color: #fff;}
.tableNormal-green  th{background: #43A84F;color: #fff;}
.tableNormal-pink   a {color: #FF669C; display: block; font-weight: bold; text-decoration: underline;}
.tableNormal-orange a {color: #FF8939; display: block; font-weight: bold; text-decoration: underline;}
.tableNormal-green  a {color: #43A84F; display: block; font-weight: bold; text-decoration: underline;}

.tableNormal img{ max-width: 100%; height: auto;}

/*お問い合わせテーブル
------------------------------------------------------------*/
.tableContact{
	width:100%;
	border:0;
	background:none;
}
.tableContact th{
	width:100%;
	display:block;
	padding:0 0 10px 0;
	vertical-align:top;
	line-height:1.5;
	border:0;
	background:none;
	color:#191919;
}
.tableContact th .required{
	display: inline-block;
  margin-left: 10px;
	text-align:center;
	padding:3px 5px;
	font-size:1.2rem;
	background:#FF669C;
	color:#fff;
	border-radius:5px;
}
.tableContact td {
	width:100%;
	display:block;
  padding:0 0 20px 0;
	vertical-align:top;
	line-height:1.5;
	border:0;
	background:none;
}
.tableContact td .error{
	display:block;
	font-size:1.2rem;
	color: #FF669C;
	padding:3px 0;
}
.tableContact td input,
.tableContact td select,
.tableContact td textarea {
  width: 100%;
  display: block;
  border: none;
  padding: 10px;
  border-radius: 5px;
  background: #F2F2F2;
	border: 1px solid rgba(0,0,0,0.10);
}
.tableContact td select + select{margin-top: 10px;}
.tableContact td input.tableContact__small{width: 100px; display: inline-block;;}


/*タブメニュー(複数個所で使用)
------------------------------------------------------------*/
.tabMenu {
	width: 100%;
	margin: 0 auto;
}

/*タブのスタイル*/
.tabMenu__menu{display:flex;}
/*タブのスタイル*/
.tabMenu__item {
	position: relative;
	padding: 10px 20px;
	height: auto;
	vertical-align: middle;
	background: #E5E5E5;
	line-height: 1.5;
	text-align: center;
	display: block;
	transition: .3s;
	cursor: pointer;
	margin-right: 5px;
	font-size: 1.2rem;
}
.tabMenu__item::before{
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	width: 100%;
	height: 5px;
	background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.05));
}
.tabMenu__item:last-child {margin-right: 0;}
/*ラジオボタンを全て消す*/
input[name="tabMenu__item"] { display: none;}

/*タブ切り替えの中身のスタイル*/
.tabMenu__content {
	background-color: #fff;
	display: none;
	width: 100%;
	padding: 20px;
	overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
.tabMenu__content.current {display: block;}
/*選択されているタブのスタイルを変える*/
.tabMenu__item.current{background: #fff; font-weight: bold;}
.tabMenu__item.current::before{background: #fff;}


/*borderスタイルバージョン*/
.tabMenu-border .tabMenu__item {
	border: 1px solid rgba(0,0,0,0.1);
	border-bottom: 0;
	background: #fff;
}
.tabMenu-border .tabMenu__content {border: 1px solid rgba(0,0,0,0.1);}
.tabMenu-border .tabMenu__item::before{content: none;}
.tabMenu-border .tabMenu__item.current{background: #FF669C; font-weight: bold; color: #fff;}
.tabMenu-border .tabMenu__item.current.u-bg-blue{background: #1372BF;}

/************************************************************/
/************************************************************/
/*限定モジュール(複数個所で利用されることが無いパーツ)
/************************************************************/
/************************************************************/

/*ヘッダーエリア用パーツ（共通）
------------------------------------------------------------*/

/*サイトタイトル(ヘッダーで使用)*/
.siteTitle{
	width:210px;
	height:60px;
}

.siteTitle__link{
	display:block;
	padding-top: 10px;
}
.siteTitle__link:hover{animation: flash 1s;}

.siteTitle__logo{
	width:210px;
	height:40px;
	vertical-align:bottom;
}

/*グローバルナビBOX*/
.gnaviBox{display: none;}

/*メニューボタン*/
.menuBtn{
	position:absolute;
	top:0;
	right:-15px;
}
.menuBtn__link{
	display: block;
	width: 60px;
	height: 60px;
	overflow: hidden;
	font-size: 1.5rem;
	color: #fff;
	background: #FF669C;
	text-align: center;;
	cursor:pointer;
	transition: .15s;
}
.menuBtn__link::before {
	display: block;
	margin-top: 15px;
}
.menuBtn__link::after {
	display: block;
	font-family: "Libre Baskerville", "serif";
  content: "MENU";
  font-size: 1rem;
	margin-top: 5px;
}


/*チェックボックス非表示*/
.menuBtn__checkbox {display:none;}

/*閉じる用の薄黒カバー*/
.menuBtn__unshown {
	display:none;
	position: fixed;
	right: 0;
	top: 0;
	bottom:0;
	left:0;
	background: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	z-index: 999;
	animation: fade 0.3s;
}
/*チェックで閉じる用の薄黒カバー表示*/
.menuBtn__checkbox:checked ~ .menuBtn__unshown {display: block;}

/*ドロワーメニューコンテンツエリア*/
.menuBtn__content {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 90%;
	background: #ffffff;
	max-width: 340px;
	height: 100%;
	z-index: 999;
	transition: .3s;
	transform: translateX(110%);
	text-align:center;
}
/*チェックでパネル表示*/
.menuBtn__checkbox:checked ~ .menuBtn__content {
	transform: translateX(0%);
	box-shadow: -2px 0 2px rgba(0,0,0,.15);
}

.menuBtn__scroll {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	height: 100%;
	padding:0 15px;
}
.menuBtn__contentInner{
	text-align:left;
	font-size:1.2rem;
}

/*パネル内タイトル*/
.menuBtn__title{
	font-family: "Libre Baskerville", "serif";
	display:block;
	height:2rem;
	font-size:2rem;
	margin:40px auto;
	text-align: center;
}

.menuBtn__navi{}
.menuBtn__naviList{
	display: block;
	list-style:none;
	border-top: 1px solid #FF8CB5;
}
.menuBtn__naviItem{
	display: block;
	background: #FF669C;
	border-bottom: 1px solid #FF8CB5;
}
.menuBtn__naviLink{
	display:block;
	padding: 15px;
	color: #fff;
}
.menuBtn__naviLink:before {
	font-family: "icomoon";
	content: "\ea56";
	font-size: 1rem;
	margin-right: 5px;
}
.menuBtn__naviLink.is-current{
	font-weight: bold;
	text-decoration: underline;
}

/*パネル内閉じるボタン*/
.menuBtn__close{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 60px;
	height: 60px;
	overflow: hidden;
	font-size: 1.5rem;
	color: #fff;
	background: #191919;
	text-align: center;;
	cursor:pointer;
	transition: .15s;
}
.menuBtn__close::before {
	display: block;
	margin-top: 15px;
}
.menuBtn__close::after {
	display: block;
	font-family: "Libre Baskerville", "serif";
  content: "CLOSE";
  font-size: 1rem;
	margin-top: 5px;
}




/*Swiperパーツ
------------------------------------------------------------*/

/*Swiper CSS上書き(キービジュアルで使用)*/
.swiper-button-next,
.swiper-button-prev{
	width:30px;
	height:50px;
	margin-top: -25px;
	background-image: none;
}
.swiper-button-next{right:0;}
.swiper-button-prev{left:0; }

.swiper-button-next::before,
.swiper-container-rtl .swiper-button-prev::before,
.swiper-button-prev::before,
.swiper-container-rtl .swiper-button-next::before {
  content: "";
  position: absolute;
  top: 0;
	bottom:0;
  right: 0;
  left: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 2px solid;
  border-right: 2px solid;
  color: #ffffff;
	transition: .15s ease-in-out;
}

.swiper-button-next::before,
.swiper-container-rtl .swiper-button-prev::before{transform: rotate(45deg);}
.swiper-button-prev::before,
.swiper-container-rtl .swiper-button-next::before{transform: rotate(-135deg);}


/*キービジュアル(スライダー)*/
.swiper-slider {
	width: 100%;
	height: 220px;
}
.swiper-slider .swiper-slide{
	position:relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	overflow:hidden;

}
.swiper-slider .swiper-bg{
	position: absolute;
	top:0;
	left:0;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width: 100%;
	height: 100%;
}

.swiper-slider .swiper-content{
	padding:0 20px;
	z-index: 9;
}


/*フォトギャラリー(スライダー)*/
.gallery-main {
	width: 100%;
	height: auto;
}
.gallery-main .swiper-slide{position:relative;}
.gallery-main .swiper-slide img{width: 100%; height: auto;}

.gallery-thumbs {
	height: auto;
	padding: 10px 0 0 0;
}
.gallery-thumbs .swiper-slide {
	width: 25%;
	height: 100%;
	opacity: 0.4;
}
.gallery-thumbs .swiper-slide img{width: 100%; height: auto;}
.gallery-thumbs .swiper-slide-active {opacity: 1;}


/*next-prevボタン背景*/
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev,
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
	background:#FF669C;
	transition: .15s;
}
.swiper-button-next::after,
.swiper-container-rtl .swiper-button-prev::after,
.swiper-button-prev::after,
.swiper-container-rtl .swiper-button-next::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background:rgba(255,255,255,0);
	transition: .15s ease-in-out;
}
.swiper-button-next:hover::after,
.swiper-container-rtl .swiper-button-prev:hover::after,
.swiper-button-prev:hover::after,
.swiper-container-rtl .swiper-button-next:hover::after {background:rgba(255,255,255,0.15);}


/*いくつかのページで使っているパーツ（共通）
------------------------------------------------------------*/
/*メッセージナビ*/
.messageNavi{margin: 0}
.messageNavi__list{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
}
.messageNavi__item{
	width: 50%;
	height: 40px;
	line-height: 40px;
	background: #FF669C;
	border-bottom:1px solid #FF8CB5;
	color: #fff;
	font-weight: bold;
}
.messageNavi__item:nth-child(2n){border-left:1px solid #FF8CB5;}
.messageNavi__item:first-child{
	background-image: linear-gradient(
    -45deg,
    #FF7DAB 25%,
    #FF669C 25%, #FF669C 50%,
    #FF7DAB 50%, #FF7DAB 75%,
    #FF669C 75%, #FF669C
  );
  background-size: 50px 50px;
}

.messageNavi__link{
	padding: 0 15px;
	display: block;
	font-size: 1.2rem;
}
.messageNavi__link::before{
	display: inline-block;
  content: "";
  background-size: 18px 18px;
  height: 18px;
  width: 18px;
	margin-right: 5px;
	vertical-align: middle;
}
.messageNavi__link.svg-wakaba::before{ background-image: url("img/svg_wakaba.svg");}
.messageNavi__link.svg-human::before{ background-image: url("img/svg_human.svg");}
.messageNavi__link.svg-building::before{ background-image: url("img/svg_building.svg");}
.messageNavi__link.svg-student::before{ background-image: url("img/svg_student.svg");}
.messageNavi__link .new{color: yellow; display: inline-block;margin-left: 5px;}

/*-----TOPクラスLIST-----*/
.learnList{
	list-style: none;
	margin-bottom: -20px;
}
.learnList__item{
	position: relative;
	width: 100%;
	height: 450px;
	background-size:cover;
	background-position: center center;
	margin-bottom: 20px;
}
.learnList__item-ballet{background-image: url("img/img_01.jpg");}
.learnList__item-dance{background-image: url("img/img_02.jpg");}
.learnList__item-exercise{background-image: url("img/img_03.jpg");}

.learnList__contents{
	position: absolute;
	left: 5px;
	right: 5px;
	bottom: 5px;
	background: rgba(255,255,255,0.9);
	padding: 40px 20px 20px 20px;
}
.learnList__badge{
	font-family: "Libre Baskerville","游明朝","Yu Mincho","YuMincho","Georgia","Hiragino Mincho ProN","HGS明朝E","serif";
	position: absolute;
	top:-30px;
	left: 0;
	right: 0;
	margin: auto;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #fff;
	font-weight: bold;
	color: #FF669C;
	text-align: center;
	font-size: 2rem;
}
.learnList__badge-dance{color: #FF8939;}
.learnList__badge-exercise{color: #43A84F;}
.learnList__badge span{
	display: block;
	padding: 18px 0 2px 0;
	font-size: 1rem;
}
.learnList__badge::before{
	content: "";
	position: absolute;
	top:5px;
	left: 5px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 1px dashed;
}




/*-----TOP講師一覧LIST-----*/
.lecturList{ overflow: auto;}
.lecturList__list{
	display: table;
	list-style: none;
}
.lecturList__item{
	position: relative;
	display: table-cell;
	width: 150px;
	height: 225px;
	overflow: hidden;
	padding-right: 10px;
	transition: .3s;
	vertical-align: top;
}
.lecturList__item:nth-child(even){padding-top: 20px;}
.lecturList__item:last-child{padding-right: 0;}

.lecturList__img{
	display: block;
	border: 4px solid transparent;
	transition: .3s;
}
.lecturList__img:hover{border: 4px solid #FF669C;}
.lecturList__img img{
	width: 150px;
	height: 225px;
	transition: .3s;
}
.lecturList__img span{
	position: absolute;
	bottom: 24px;
	display: block;
	width: 150px;
	height: 0;
	overflow: hidden;
	text-align: center;
	background: #FF669C;
	color: #fff;
	font-weight: bold;
	transition: .3s;
}
.lecturList__item:nth-child(even) span{bottom: 4px;}

.lecturList__img:hover span{
	height: 40px;
	line-height: 40px;
}


/*-----TOP春日井の特徴用LIST-----*/
.characteristicBox{
	position: relative;
	background-image: url("img/img_06.jpg");
	background-size:cover;
	background-position: center center;
	padding: 0 20px;
	text-align: center;
	z-index: -9;
}
.characteristicBox::before{
	position: absolute;
	top: -10px;
	left: -10px;
	height: 96px;
	width: 100px;
	content: "";
	background-image: url("img/illust_01.png");
	background-size: 100px 96px;
	background-repeat: no-repeat;
}
.characteristicBox__inner{
	padding: 40px 20px 120px 20px;
	background: rgba(255,255,255,0.75);
}
.characteristicBox__inner img{
	width: 80px;
	height: 80px;
}
.characteristicImg{
	margin-top: -80px;
	width: 100%;
	height: auto;
}



/*-----TOPインスタグラム用BOX&LIST-----*/
.instagramBox{
	text-align: center;
	margin-bottom: 20px;
}
.instagramBox img{
	width: 200px;
	height: auto;
}
.instagramList{
	display: flex;
  flex-wrap: wrap;
	justify-content: flex-start;
  list-style: none;
  width: calc(100% + 10px);
}
.instagramList__item{
	width: calc(25% - 10px);
	margin-right: 10px;
	margin-bottom: 10px;
}
.instagramList__item img{ width: 100%;height: auto;}


/*-----割引制度バナー-----*/
.discount{
    background-image: url("img/img_05.jpg");
    background-repeat: repeat;
    background-size: auto;
    padding: 20px;
    border-radius: 15px;
}
.discount__img{
	width: 400px;
	max-width: 100%;
	margin: auto;
	border: 1px solid #f2f2f2;
    border-radius: 15px;

}
.discount__img img{max-width: 100%;border-radius: 15px;}
.discount__btn{margin-top: 20px;}


/*-----ニュース用LIST-----*/
.newsBox{margin-bottom: 20px;}
.newsList{list-style: none;}
.newsList__item{
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px dashed rgba(0,0,0,0.1);
}


/*-----みんなの声用LIST-----*/
.voiceList{
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
	list-style: none;
}
.voiceList__item{
	width: calc(50% - 7.5px);
	margin-bottom: 20px;
}



/*-----ブログ用LIST-----*/
.blogList{
	list-style: none;
	margin-bottom: -20px;
}
.blogList__item{
	position: relative;
  width: 100%;
  height: auto;
	margin-bottom: 20px;
	border: 1px solid rgba(0,0,0,0.1);
}
.blogList__badge{
	position: absolute;
	top: -10px;
	left: -10px;
	margin: auto;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #FF669C;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	z-index: 9;
}
.blogList__badge span{
	display: block;
	padding: 15px 0 5px 0;
	font-size: 1.5rem;
	font-weight: bold;
}
.blogList__contents{
	background: #FFF;
	padding: 20px;
}

/*-----TOPページ今日の写真LIST-----*/
.photoList{
	list-style: none;
	overflow: scroll;
	display: flex;
}
.photoList__item{
	position: relative;
	width: 90%;
	height: auto;
	flex: 0 0 auto;
}
.photoList__badge{
	position: absolute;
	top: 10px;
	left: 10px;
	margin: auto;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	background: #404040;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	z-index: 9;
}
.photoList__badge span{
	display: block;
	padding: 15px 0 5px 0;
	font-size: 1.5rem;
	font-weight: bold;
}


/*-----キャンペーンバナー-----*/
.campaign_banner{
	background-image: url("img/campaign_bg-sp.png");
	background-repeat: repeat-y;
	max-width: 350px;
	padding: 10px;
	margin: auto;
}
.campaign_banner .eyecatch{
	border: 5px solid #fff;
}
.campaign_headgroup{
	position: relative;
	margin-top: 30px;
	margin-bottom: 20px;
}
.campaign_badge{
	position: absolute;
	top:-70px;
	right:0;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background: #e40152;
	color: #fff;
	text-align: center;
	padding: 12px 0;
}
.campaign_badge span{display: block;}
.campaign_start{
	font-family: "游明朝","Libre Baskerville","Yu Mincho","YuMincho","Georgia","Hiragino Mincho ProN","HGS明朝E","serif";
	font-size: 15px;
	margin-bottom: 5px;
}
.campaign_end{
	font-family: "游明朝","Libre Baskerville","Yu Mincho","YuMincho","Georgia","Hiragino Mincho ProN","HGS明朝E","serif";
	font-size: 21px;
	margin-bottom: 5px;
}
.campaign_arrow{
	font-size: 11px;
	margin-bottom: 5px;
	transform: scale(1,0.6);
}
.campaign_sentence{
	font-size: 11px;
}

.campaign_headline{
	display: inline-block;
	max-width: 245px;
	padding: 7.5px 15px;
	border-radius: 10px;
	background: #e40152;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	margin-bottom: 10px;
}
.campaign_title{
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 24px;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.25);
}
.campaign_contents{
	background: #fff;
	padding: 20px;
	font-size: 12px;
	line-height: 24px;
}
.campaign_contents > a{
	text-decoration: underline;
	color: #e40152;
}


/*-----春日井の特徴用BOX&LIST-----*/
.philosophyBox__contents{
	margin-top: -40px;
	padding: 20px;
	color: #fff;
}
.philosophyBox__contents::before{
	content: "";
	display: block;
	margin-bottom: 10px;
	width: 50px;
	height: 50px;
	background-size: 50px 50px;
	background-repeat: no-repeat;

}
.philosophyBox__contents-pink{background: rgba(255, 102, 156, 0.9);}
.philosophyBox__contents-pink::before{background-image: url("img/quality_01.png");}
.philosophyBox__contents-orange{background: rgba(255, 137, 57, 0.9);}
.philosophyBox__contents-orange::before{background-image: url("img/quality_04.png");}
.philosophyBox__contents-green{background: rgba(67, 168, 79, 0.9);}
.philosophyBox__contents-green::before{background-image: url("img/quality_07.png");}

.philosophyList{
	display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
	list-style: none;
}
.philosophyList__item{
	position: relative;
	width: calc(50% - 7.5px);
}
.philosophyList__item::before{
	position: absolute;
	top: -10px;
	left: -10px;
	content: "";
	display: block;
	margin-bottom: 10px;
	width: 50px;
	height: 50px;
	background-size: 50px 50px;
	background-repeat: no-repeat;
	z-index: 9;
}
.philosophyList__item-02::before{background-image: url("img/quality_02.png");}
.philosophyList__item-03::before{background-image: url("img/quality_03.png");}
.philosophyList__item-05::before{background-image: url("img/quality_05.png");}
.philosophyList__item-06::before{background-image: url("img/quality_06.png");}



/*-----発表会コンクール用リスト-----*/
.recConList{
	list-style: none;
	border-top: 1px solid rgba(0,0,0,0.1);
}
.recConList__item{
	position: relative;
	width: 100%;
	display: flex;
	align-items: flex-start;
	background: #FFF;
	border: 1px solid rgba(0,0,0,0.1);
	border-top: 0;
	padding: 15px;
}
.recConList__item:nth-child(even){background: #f2f2f2;}
.recConList__contents{
	width: 200%;
	margin-left: 10px;
}





/*-----クラス紹介ページ用アイテム-----*/
.classesBox{
	position: relative;
	width: 100%;
	height: 450px;
	background-size:cover;
	background-position: center center;
}
.classesBox-ballet{background-image: url("img/img_01.jpg");}
.classesBox-dance{background-image: url("img/img_02.jpg");}
.classesBox-exercise{background-image: url("img/img_03.jpg");}

.classesBox__badge{
	font-family: "Libre Baskerville","游明朝","Yu Mincho","YuMincho","Georgia","Hiragino Mincho ProN","HGS明朝E","serif";
	position: absolute;
	top:10px;
	left: 10px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #fff;
	font-weight: bold;
	color: #FF669C;
	text-align: center;
	font-size: 2rem;
}
.classesBox__badge-dance{color: #FF8939;}
.classesBox__badge-exercise{color: #43A84F;}
.classesBox__badge span{
	display: block;
	padding: 18px 0 2px 0;
	font-size: 1rem;
}
.classesBox__badge::before{
	content: "";
	position: absolute;
	top:5px;
	left: 5px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 1px dashed;
}

.classesBox__contents{
	position: absolute;
	left: 5px;
	right: 5px;
	bottom: 5px;
	padding: 30px 20px;
}
.classesBox__contents::before{
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 10px;
	border: 1px dashed #fff;
}
.classesBox__contents-pink  {background-image: url("img/pattern_01.png");}
.classesBox__contents-orange{background-image: url("img/pattern_02.png");}
.classesBox__contents-green {background-image: url("img/pattern_03.png");}

.classesBox__copy{
	display: inline-block;
	background: #fff;
	color: #FF669C;
	font-weight: bold;
	line-height: 1.5;
	padding: 5px 10px;
	margin-bottom: 10px;
}
.classesBox__contents-orange .classesBox__copy{color: #FF8939;}
.classesBox__contents-green .classesBox__copy {color: #43A84F;}

/*特別クラス専用*/
.classesBox-special {
	background-image: url("img/pattern_04.png");
	background-size: auto;
	padding: 30px 20px 20px 20px;
	height: auto;
}
.classesBox-special::before{
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 10px;
	border: 1px dashed #fff;
}
.classesBox-special .classesBox__copy {color: #1372BF;}
.classesBox__inner{
	background: #fff;
	padding: 20px;
}



.classTitle{
	padding: 20px;
	border: 1px dashed #FF669C;
}

.classTitle__list{
	font-size: 0;
	list-style: none;
}
.classTitle__item{
	display: inline-block;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	height: 30px;
	line-height: 30px;
	border: 1px solid #FF669C;
	color: #FF669C;
	background: #fff;
	min-width: 90px;
	padding: 0 10px;
}
.classTitle__item:last-child{
	color: #fff;
	background: #FF669C;
	min-width: 120px;
}

/*カラーバリエーション*/
.classTitle-orange{border: 1px dashed #FF8939;}
.classTitle-green{border: 1px dashed #43A84F;}
.classTitle-blue{border: 1px dashed #1372BF;}

.classTitle-orange .classTitle__item{color: #FF8939; border-color:#FF8939;}
.classTitle-green .classTitle__item{color: #43A84F; border-color:#43A84F;}
.classTitle-blue .classTitle__item{color: #1372BF; border-color:#1372BF;}

.classTitle-orange .classTitle__item:last-child{color: #fff;background: #FF8939;}
.classTitle-green .classTitle__item:last-child{color: #fff;background: #43A84F;}
.classTitle-blue .classTitle__item:last-child{color: #fff;background: #1372BF;}


.classQualityList{
	list-style: none;
	margin-bottom: -20px;
	text-align: center;
}
.classQualityList__item{
	position: relative;
	background: #fff;
	margin-bottom: 20px;
	padding: 5px;
}

.classQualityList__inner{
	background: #fff;
	border: 1px solid rgba(255,102,156,0.25);
	padding: 20px;
	height: 100%;
}

.classQualityList__title{
	position:relative;
	display: inline-block;
	margin: auto;
	padding: 0 25px;
	background-color: #FF669C;
	color: #fff;
	font-size: 1rem;
	text-align: center;
	height: 20px;
	line-height: 20px
}
.classQualityList__title::before,
.classQualityList__title::after{
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	top:0;
	border-top: 10px solid transparent;
	border-bottom:10px solid transparent;
}
.classQualityList__title::before{
	right: 0;
	border-right: 10px solid #fff;
	border-left: 10px solid  transparent;
}
.classQualityList__title::after{
	left: 0;
	border-right: 10px solid transparent;
	border-left: 10px solid #fff;
}

/*飾り枠*/
.classQualityList__item::before,
.classQualityList__item::after,
.classQualityList__inner::before,
.classQualityList__inner::after{
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	background-image: url("img/decoration_01.png");
	background-size: 16px 16px;
}
.classQualityList__item::before {top:5px; left:  5px;}
.classQualityList__item::after  {top:5px; right: 5px;transform: rotate(90deg);}
.classQualityList__inner::before{bottom:5px; left:  5px;transform: rotate(270deg);}
.classQualityList__inner::after {bottom:5px; right: 5px;transform: rotate(180deg);}

/*カラーバリエーション*/
.classQualityList-orange .classQualityList__inner{border: 1px solid rgba(255,137,57,0.25);}
.classQualityList-green .classQualityList__inner{border: 1px solid rgba(67,168,79,0.25);}
.classQualityList-blue .classQualityList__inner{border: 1px solid rgba(19,114,191,0.25);}

.classQualityList-orange .classQualityList__title{background-color: #FF8939;}
.classQualityList-green .classQualityList__title{background-color: #43A84F;}
.classQualityList-blue .classQualityList__title{background-color: #1372BF;}

.classQualityList-orange .classQualityList__item::before,
.classQualityList-orange .classQualityList__item::after,
.classQualityList-orange .classQualityList__inner::before,
.classQualityList-orange .classQualityList__inner::after{	background-image: url("img/decoration_02.png");}

.classQualityList-green .classQualityList__item::before,
.classQualityList-green .classQualityList__item::after,
.classQualityList-green .classQualityList__inner::before,
.classQualityList-green .classQualityList__inner::after{	background-image: url("img/decoration_03.png");}

.classQualityList-blue .classQualityList__item::before,
.classQualityList-blue .classQualityList__item::after,
.classQualityList-blue .classQualityList__inner::before,
.classQualityList-blue .classQualityList__inner::after{	background-image: url("img/decoration_04.png");}

.classSchedule{
	border: 1px solid rgba(0,0,0,0.1);
	border-top: 5px solid rgba(0,0,0,0.9);
}
.classSchedule__head{
	padding: 15px 10px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.classSchedule__body{
	padding: 10px;
	background: #f2f2f2;
}

.classSchedule__table{
	width:100%;
	margin:0 auto;
	text-align: left;
}
.classSchedule__table th {
	width: 5px;
	padding: 18px 18px 7px 18px;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	vertical-align:middle;
	line-height:1;
	text-align: center;
}
.classSchedule__table td {
	width: 50px;
	height:50px;
	padding: 5px 10px;
	border-left: 1px solid rgba(0,0,0,0.1);
	border-bottom: 1px solid rgba(0,0,0,0.1);
	vertical-align:middle;
	line-height:1.25;
	background: #fff;
	text-align: center;
	font-size: 1rem;
}
.classSchedule__table td:last-child {border-right: 1px solid rgba(0,0,0,0.1);}
.classSchedule__table .classSchedule__tdBlue{background: #3499D1; color: #fff; font-size: 1.3rem; font-weight: bold;}
.classSchedule__table .classSchedule__tdPink{background: #FC8BB9; color: #fff; font-size: 1.3rem; font-weight: bold;}
.classSchedule__table .classSchedule__tdGray{background: #808080; color: #fff; font-size: 1.3rem; font-weight: bold;}

.classMessage{
	border-top: 1px solid rgba(0,0,0,0.9);
	border-bottom: 1px solid rgba(0,0,0,0.9);
}
.classMessage::before{
	content: "";
	display: block;
	margin: 5px 0 15px 0;
	border-top: 1px solid rgba(0,0,0,0.9);
}
.classMessage::after{
	content: "";
	display: block;
	margin: 15px 0 5px 0;
	border-bottom: 1px solid rgba(0,0,0,0.9);
}



/*-----講師紹介ページ用アイテム-----*/
.lecturerList{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
}
.lecturerList__item{
	width: calc(50% - 7.5px);
	margin-bottom: 20px;
	text-align: center;
}
.lecturerList__item a{
	display: block;
	position: relative;
}
.lecturerList__item img{width: 100%; height: auto;}



.lecturerSpecial{
	padding: 20px;
	background: #fff;
	border: 1px dashed #1372BF;
}
.lecturerTitle{
	display: inline-block;
	border: 1px solid rgba(0,0,0,0.9);
	background: #fff;
	padding: 5px 10px;
	min-width: 140px;
	margin: auto;
	font-weight: bold;
	text-align: center;
}

.lecturerBox{
	width: 100%;
	text-align: center;
}
.lecturerBox::after {
	content: "";
	display: block;
	clear: both;
}
.lecturerBox img{width: 100%; height: auto;}

.lecturerMessage{
	padding: 20px;
	background-image: url("img/img_10.gif");
	background-repeat: repeat;
	background-size: auto;
	border: 1px solid rgba(0,0,0,0.25);
}



/*-----教室紹介ページ用アイテム-----*/
.access__img{position: relative;}
.access__img img{width: 100%;}
.access__img .btn{
	position: absolute;
	bottom: 20px;
}

.access__map {
	position: relative;
	padding-bottom: 100%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.access__map iframe,
.access__map object,
.access__map embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.access__info{
	background: #f2f2f2;
	padding: 20px;
}
.accessImg{display: block;}
.accessImg img{
	display: block;
	max-width: 100%;
	margin-bottom: 15px;
}
.accessImg__max{width: 100%; height: auto;}
.accessVideo{width: 100%; height: auto;}




/*-----FAQページ用リスト-----*/
.faqList{
	list-style: none;
	margin-bottom: -20px;
	text-align: center;
}
.faqList__item{
	position: relative;
	background: #f2f2f2;
	margin-bottom: 20px;
	padding: 20px;
	text-align: left;
}
.faqList__q{
	position: relative;
	padding: 0 0 10px 40px;
	line-height: 3rem;
	font-size: 1.6rem;
	font-weight: bold;
}
.faqList__q::before{
	content: "Q";
  background: #43A84F;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 50%;
}
.faqList__a{
	position: relative;
	padding: 0 0 10px 40px;
	line-height: 3rem;
}
.faqList__a::before{
	content: "A";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
	font-size: 1.6rem;
  color: #FF669C;
  text-align: center;
  vertical-align: middle;
  width: 30px;
  height: 30px;
  line-height: 30px;
}



/*-----パスワード保護-----*/
.passForm {display:flex;}
.passForm__input{
	border: 2px solid #d8d8d8;
    width: calc(100% - 8rem);
    padding: 10px;
    -webkit-appearance: none;
    border-radius: 0;
}
.passForm__btn{
	width: 8rem;
    cursor: pointer;
    text-align: center;
    background: #f2f2f2;
    border-left: 0;
    border-right: 2px solid #d8d8d8;
    border-top: 2px solid #d8d8d8;
    border-bottom: 2px solid #d8d8d8;
    padding: 10px;
}
.passForm__btn:hover {
    background: #FF669C;
    color: #ffffff;
}


/*-----羽ばたく卒業生用ボックス-----*/
.graduateList{
	list-style: none;
	margin-bottom: -15px;
}
.graduateList__item{
	position: relative;
  width: 100%;
  height: auto;
	margin-bottom: 15px;
}
.graduateList__item::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.graduateList__contents{
	position: absolute;
	top: 10px;
	left: 10px;
	right: 10px;
	bottom: 10px;
}
.graduateList__contents .btn__link-basic{position: absolute;bottom: 0;}

.graduateList__badge{
	font-family: "Libre Baskerville","游明朝","Yu Mincho","YuMincho","Georgia","Hiragino Mincho ProN","HGS明朝E","serif";
	position: absolute;
	top: -20px;
	right: -20px;
	margin: auto;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #FF669C;
	font-weight: bold;
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
}
.graduateList__badge span{
	display: block;
	padding: 13px 0 2px 0;
	font-size: 1rem;
}






.alumniBox{
	position: relative;
	background: #f2f2f2;
	padding: 20px;
}

.alumniMessage{
	width: 100%;
}
.alumniMessage__title{
	padding: 15px;
	text-align: center;
	background: #ff669c;
	color: #fff;
	font-weight: bold;
}
.alumniMessage__body{
	padding: 20px;
	text-align: left;
	line-height: 1.85;
	background: #f7f7f7;
}

/*予約フォーム内のアテンションボックス*/
.attentionBox{
	color: #c1272d;
	border: 1px dashed;
	padding: 20px;
}

/*フッターエリア用パーツ（共通）
------------------------------------------------------------*/
/*サイトマップ*/
.sitemap{}
.sitemap__list{list-style: none;}
.sitemap__item{
	position: relative;
	height: 50px;
	line-height: 50px;
	border-bottom: 1px solid #E5E5E5;
}
.sitemap__item::before{
	content: "";
	position: absolute;
	top: 0;
	bottom:0;
	right: 10px;
	width: 5px;
	height: 5px;
	margin: auto;
	border-top: 1px solid #808080;
	border-right: 1px solid #808080;
	transform: rotate(45deg);
}

.sitemap__link{display: block;}
.sitemap__link:hover{font-weight: bold; text-decoration: underline;}
.sitemap__link-child{padding-left: 20px}

/*サイトマップ*/
.sitemapMini{}
.sitemapMini__list{
	list-style: none;
	margin-top: 5px;
}
.sitemapMini__item{line-height: 30px;}
.sitemapMini__link{
	display: block;
	font-size: 1.2rem;
}
.sitemapMini__link:hover{font-weight: bold; text-decoration: underline;}

/*SNSエリア*/
.snsFooter{margin-bottom: 40px;}
.snsFooter__list{
	list-style:none;
	text-align:center;
}
.snsFooter__item{
	display:inline-block;
  margin: 0 5px;
}
.snsFooter__link{
	display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  text-align: center;
  position: relative;
  z-index: 1;
	font-size: 1rem;
  color: #bfbfbf;
  background: rgba(255,255,255,0.1);
  transition: transform ease-out 0.2s, background 0.2s;
}
.snsFooter__link:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	z-index: -1;
	transform: scale(0.9);
}
.snsFooter__link:hover {
	background: rgba(255,255,255,0.05);
	transform: scale(0.9);
	color: #fff;
}
.snsFooter__link:hover:after {animation: sonar 1s ease-out 75ms;}

/*ソーシャルボタンhover時BGカラー設定*/
.snsFooter__link.icon-facebook:hover{background: #3B5998;}
.snsFooter__link.icon-twitter:hover{background: #00B0ED;}
.snsFooter__link.icon-instagram:hover{background: radial-gradient(circle farthest-corner at 32% 106%, rgb(255, 225, 125) 0%, rgb(255, 205, 105) 10%, rgb(250, 145, 55) 28%, rgb(235, 65, 65) 42%, transparent 82%), linear-gradient(135deg, rgb(35, 75, 215) 12%, rgb(195, 60, 190) 58%);}
.snsFooter__link.icon-rss:hover{background: #ff9900;}


/*フッターボトム*/
.bottomFooter{position:relative;}
.bottomFooter__copyright{
	text-align:center;
	color:#BFBFBF;
	letter-spacing: 0.5px;
	line-height:1.75;
}


/*トップへ戻るボタン*/
.bottomFooter__topBtn {
	position:fixed;
	bottom:0;
	right:0;
	display:block;
	background-color:#FF669C;
	color:#fff;
	width:40px;
	height:40px;
	z-index:999;
}
.bottomFooter__topBtn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: rotate(-45deg);
  margin-top: -3px;
  margin-right: -6px;
  width: 12px;
  height: 12px;
  border-top: 3px solid;
  border-right: 3px solid;
	transition: .3s;
}
.bottomFooter__topBtn:hover {opacity:0.75;}


/*ビデオレスポンシブ追加*/
.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}


/*ボタン【追加】
------------------------------------------------------------*/

.boxRapper .banner{width: 100%;}
.boxRapper .banner:first-child{margin-bottom: 10px;}
.boxRapper img{max-width: 100%;}



/*Googleカレンダーレスポンシブ追加*/
iframe[src*="calendar.google.com"]{
	width: 100vw;
  height: calc(100vw * 3 / 4);
  max-width: 100%;
	max-height: 580px;
}


/************************************************************/
/************************************************************/
/*ユーティリティ
/************************************************************/
/************************************************************/

/*背景イメージ用*/
.u-bg-img {
  position: absolute;
  top: 0;
  left: 0;
	right: 0;
	bottom: 0;
  object-fit: cover;
  font-family: 'object-fit:cover;';
  width: 100%;
  height: 100%;
}

/*マージン用*/
.u-mb-0{margin-bottom:0;}
.u-mb-s{margin-bottom:10px;}
.u-mb-m{margin-bottom:20px;}
.u-mb-l{margin-bottom:40px;}

/*文字位置用*/
.u-ft-left{text-align: left;}
.u-ft-right{text-align: right;}

/*文字カラー用*/
.u-ft-ballet {color: #FF669C}
.u-ft-dance,
.u-ft-orange {color: #FF8939}
.u-ft-exercise,
.u-ft-green  {color: #43A84F}
.u-ft-blue   {color: #1372BF}
.u-ft-white  {color: #ffffff}
.u-ft-black  {color: #191919}

/*背景カラー用*/
.u-bg-ballet{background-color: #FF669C}
.u-bg-dance,
.u-bg-orange {background-color: #FF8939}
.u-bg-exercise,
.u-bg-green  {background-color: #43A84F}
.u-bg-blue   {background-color: #1372BF}
.u-bg-gray   {background-color: #808080}
.u-bg-Lgray  {background-color: #D9D9D9; color: #191919;}
.u-bg-white  {background-color: #ffffff; color: #191919;}
.u-bg-sky    {background: #3499D1;}
.u-bg-other  {background-color: #1372BF}

/*サイズ用*/
.u-size-max{width:100%}
.u-size-wide{width:75%}

/*マーカー用*/
.u-marker       {background-color: #F995BB;}
.u-marker-orange{background-color: #FCAA72;}
.u-marker-green {background-color: #74C17B;}
.u-marker-blue  {background-color: #4E95CF;}

/*display:none*/
.u-none-pc{display:block;}
.u-none-sp{display:none;}


/************************************************************/
/************************************************************/
/*keyframes設定
/************************************************************/
/************************************************************/

/*フラッシュ*/
@keyframes flash {
    from{opacity: 0.5;}
    to  {opacity: 1;}
}

/*ソナー効果*/
@keyframes sonar {
	0% {opacity: 0.3;}
	40% {
		opacity: 0.5;
		box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #404040, 0 0 0 10px rgba(255,255,255,0.5);
	}
	100% {
		box-shadow: 0 0 0 2px rgba(255,255,255,0.1), 0 0 10px 10px #404040, 0 0 0 10px rgba(255,255,255,0.5);
		transform: scale(1.1);
		opacity: 0;
	}
}







/************************************************************/
/************************************************************/
/*PCレスポンシブ設定
/************************************************************/
/************************************************************/

@media only screen and (min-width: 768px){

	/************************************************************/
	/*ベース
	/************************************************************/

	/*全体設定
	------------------------------------------------------------*/
	body {font-size: 1.4rem;}


	/************************************************************/
	/*レイアウト
	/************************************************************/

	/*ヘッダー
	------------------------------------------------------------*/
	.l-header-clone {display: none;}

	/*ラッパー(メイン・サイドバー用ラッパー)
	------------------------------------------------------------*/
	.l-wrapper {
		margin: auto;
		width:1000px ;
		display: flex;
		justify-content: space-between;
	}

	/*メイン
	------------------------------------------------------------*/
	.l-main {
		position:relative;
		width:100%;
	}


	/*サイドバー
	------------------------------------------------------------*/
	.l-sidebar {
		display: block;
		min-width: 280px;
		width: 280px;
		margin-left: 40px;
	}


	/************************************************************/
	/*共通モジュール(様々な箇所で複数使用するパーツ)
	/************************************************************/


	/*枠組み系パーツ
	------------------------------------------------------------*/

	/*セパレーター*/
	.separator{
		padding-top:60px;
		padding-bottom:60px;
	}
	.separator-instagram {padding-top:40px;padding-bottom:40px;}
	.separator-bottomNonePc{padding-bottom:0;}

	/*コンテナー*/
	.container{margin:0 auto;}
	.container-header{
		width:1000px ;
		display: flex;
		justify-content: space-between;
	}
	.container-instagram{width:1000px }
	.container-sitemap{
		width:1000px ;
		display: flex;
		justify-content: space-between;
	}
	.container-access{
		width:100%;
		max-width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.container-voice,
	.container-news,
	.container-contact,
	.container-experience{width: 740px}

	/*キービジュアル
	------------------------------------------------------------*/
	.keyvisual__img{height: 300px;}

	.keyvisual__title{
		max-width: 340px;
		height: 110px;
		margin: -205px auto 115px auto;
	}
	.keyvisual__title .imgPosition{margin-bottom: 15px}


	/*見出し
	------------------------------------------------------------*/

	/*見出し：プライマリー*/
	.heading-primary{font-size:4.4rem;}
	.heading-primary span{font-size:2rem;}

	/*見出し：サブプライマリー*/
	.heading-subPrimary{font-size:2.4rem;}
	.heading-subPrimary span{font-size:1.5rem;}

	/*見出し：スモールプライマリー*/
	.heading-smallPrimary{font-size:2.4rem;}

	/*見出し：小さめのタイトル*/
	.heading-secondary{font-size:2rem;}

	/*見出し：その他小さめのタイトル*/
	.heading-tertiary{font-size:1.7rem;}
	.heading-tertiaryBigPc{font-size:2rem;}

	/*見出し：大サイズ*/
	.heading-main{font-size:3rem;}

	/*見出し：特大サイズ用*/
	.heading-big{font-size:4.8rem;}

	/*見出し：ページタイトル*/
	.heading-title{	font-size:1.8rem;}
	.heading-title span{font-size:1.4rem;}

	/*見出し：名前用*/
	.heading-name{font-size:3rem;}
	.heading-name span{font-size:1.4rem;}
	.heading-name .inline{display: inline-block; margin-left: 10px}

	/*見出し：括弧*/
	.heading-kakko{
		padding: 30px;
		font-size:3rem;
	}




	/*文節
	------------------------------------------------------------*/
	.phrase-over {overflow: visible;}
	.phrase-small{font-size:1.3rem;}
	.phrase-mini {font-size:1.1rem;}

	/*文節：リンク*/
	.phrase a{color:#a83f3f;}


	/*イメージポジション
	------------------------------------------------------------*/
	.aligncenter,
	.alignleft,
	.alignright,
	.imgPosition{margin: 0 auto 20px auto;}
	.alignleft,
	.imgPosition-left {max-width: 40%; margin: 0 20px 20px 0}
	.alignright,
	.imgPosition-right{max-width: 40%; margin: 0 0 20px 20px}


	/*ローカルメニュー
	------------------------------------------------------------*/
	.localNavi{padding: 40px 0}
	.localNavi__list{
		list-style: none;
	  display: flex;
	  flex-wrap: wrap;
		justify-content: flex-start;
		margin: 0 -5px 0 0;
	}
	.localNavi__item{
		flex-grow: 1;
	  width: 100%;
		flex: 1;
		margin: 0 5px 0 0;
	}
	.localNavi__item-big{width: 100%;}


	/*ボタン
	------------------------------------------------------------*/
	.boxRapper{
		display: flex;
		justify-content: space-between;
		width: 780px;
		margin: auto;
	}
	.boxRapper .btn__link{
		width: 90%;
	}

	.boxRapper .banner{
		width: 100%;
	}
	.boxRapper .banner:first-child{
		margin-right: 20px;
		margin-bottom: 0;
	}
	.boxRapper img{
		max-width: 100%;
	}


	/*基本テーブルデザイン(複数個所で使用)
	------------------------------------------------------------*/
	.tableBasic{
		width:100%;
		margin:0 auto;
		text-align: left;
		border-top: 1px solid rgba(0,0,0,0.1);
		border-left: 1px solid rgba(0,0,0,0.1);
	}
	.tableBasic th {
		display: table-cell;
		width:200px;
		padding: 15px 10px;
	  border:0;
		border-right: 1px solid rgba(0,0,0,0.1);
		border-bottom: 1px solid rgba(0,0,0,0.1);
	}
	.tableBasic td {
		display: table-cell;
		width: calc(100% - 200px);
		border:0;
		border-right: 1px solid rgba(0,0,0,0.1);
		border-bottom: 1px solid rgba(0,0,0,0.1);
	  padding: 15px 10px;
	}
	.tableBasic tr td:last-child{margin-bottom:0;}

	/*ノーマルテーブルデザイン(複数個所で使用)
	------------------------------------------------------------*/
	.tableNormal-940Pc{width:940px;}
	.tableNormal-940Pc th {width:200px;}

	/*お問い合わせテーブル
	------------------------------------------------------------*/
	.tableContact td { padding:0 0 30px 0;	}


	/*タブメニュー(複数個所で使用)
	------------------------------------------------------------*/

	/*タブのスタイル*/
	.tabMenu__item {
		padding: 10px 30px;
		font-size: 1.4rem;
	}

	/*タブ切り替えの中身のスタイル*/
	.tabMenu__content {width: 1000px;}



	/************************************************************/
	/*限定モジュール(複数個所で利用されることが無いパーツ)
	/************************************************************/

	/*ヘッダーエリア用パーツ（共通）
	------------------------------------------------------------*/

	/*サイトタイトル(ヘッダーで使用)*/
	.siteTitle{
		width:300px;
		height:85px;
		margin: 30px 0;
	}
	.siteTitle__link{padding: 0}
	.siteTitle__logo{
		width:300px;
		height:85px;
	}

	.gnaviBox{
		position: relative;
		display: block;
		width:650px;
		min-width: 650px;
	}

	/*サブナビ*/
	.subNavi{
		display: flex;
		height: 40px;
		line-height: 40px;
		text-align: center;
		font-size: 1.3rem;
		font-family: "Libre Baskerville","游明朝","Yu Mincho","YuMincho","Georgia","Hiragino Mincho ProN","HGS明朝E","serif";
	}
	.subNavi__text{
		background: #404040;
		border: 1px solid #404040;
		color: #fff;
		flex: 5;
	}
	.subNavi__link{
		background: #FF669C;
		border: 1px solid #FF669C;
		color: #fff;
		flex: 5;
		display: flex;
	}
	.subNavi__link span{
		border-right: 1px solid rgba(255, 255, 255, 0.25);
		flex: 4;
	}
	.subNavi__link span:last-child{
		border-right: 0;
		flex: 5;
	}
	.subNavi__link span a{display: block;}
	.subNavi__link span a:hover{background: rgba(255,255,255,0.25)}

	.subNavi__tel{
		background: #F7F7F7;
		border: 1px solid #E5E5E5;
		flex: 4;
	}

	/*グローバルナビ*/
	.globalNavi{
		display: flex;
		justify-content: space-between;
		font-size: 1.4rem;
		line-height: 1;
		margin-top: 55px;
	}

	.globalNavi__item{
		position: relative;
		border-bottom: 2px solid transparent;
	}
	.globalNavi__item:hover,
	.globalNavi__item.current {
		font-weight: bold;
		border-bottom: 2px solid #191919;
	}
	.globalNavi__item a {
		display: block;
		padding: 5px 0;
	}

	.globalNavi__item .child{
		position: absolute;
		top: 100%;
		left: 0;
		margin-top: 2px;
		z-index:9999;
		transition: .15s;
	}
	.globalNavi__item .child > li{
		display:block;
		overflow: hidden;
		width: auto;
		min-width: 240px;
		height: 0;
		line-height:0;
		white-space: nowrap;
		background-color:#f2f2f2;
		transition: .15s;
		text-align:left;
		font-weight: normal;
	}
	.globalNavi__item .child > li a {
		display: block;
		padding:0 10px ;
	}

	.globalNavi__item:hover .child::before{
		content:"";
		display:block;
		width: 0;
		height: 0;
		margin-left:10px;
		border-right: 6px solid transparent;
		border-bottom: 8px solid #f2f2f2;
		border-left: 6px solid transparent;
	}
	.globalNavi__item:hover .child > li{
		overflow: visible;
		height:4rem;
		line-height:4rem;
	}
	.globalNavi__item:hover .child > li a:hover {font-weight: bold;	}

	.menuBtn{display: none;}



	/*Swiperパーツ
	------------------------------------------------------------*/

	/*キービジュアル(スライダー)*/
	.swiper-slider {	height: 480px;}
	.swiper-slide {	max-width: 1000px;}

	.gallery-thumbs .swiper-slide {	width: 20%;}




	/*いくつかのページで使っているパーツ（共通）
	------------------------------------------------------------*/
	/*メッセージナビ*/
	.messageNavi{	background: #FF669C;}
	.messageNavi-pc{
		width: 1000px;
		margin: 60px auto 0 auto;
		border-radius: 5px;
	}
	.messageNavi__list{
		width: 1000px;
		margin: auto;
		text-align: center;
	}
	.messageNavi__item{
		width: 25%;
		border-left:1px solid #FF8CB5;
		text-align: center;
	}
	.messageNavi__item:first-child{border-left:0}
	.messageNavi-pc .messageNavi__item:first-child{border-radius: 5px 0 0 5px;}
	.messageNavi-pc .messageNavi__item:last-child {border-radius: 0 5px 5px 0;}
	.messageNavi__link{	font-size: 1.4rem;}

	.messageNavi__link:hover{background: rgba(255,255,255,0.25)}

	/*-----TOPクラスLIST-----*/
	.learnList{
		width: 1000px;
		display: flex;
		justify-content: space-between;
		margin-bottom: 0;
	}
	.learnList__item{
		position: relative;
		width: 320px;
		margin-bottom: 0;
	}
	.learnList__item .btn{
		width: auto;
		position: absolute;
		bottom:20px;
		left: 20px;
		right: 20px;
	}

	.learnList__contents{	min-height: 310px;}

	/*-----TOP講師一覧LIST-----*/
	.lecturList{text-align: center;}
	.lecturList__list{margin: auto;}
	.lecturList__btnPc{margin-top: 20px;}

	/*スクロールバー*/
	.lecturList::-webkit-scrollbar {height: 10px;}
	.lecturList::-webkit-scrollbar-track {box-shadow: 0 0 6px rgba(0,0,0,.3) inset;background-color: #f2f2f2; border-radius: 10px;}
	.lecturList::-webkit-scrollbar-thumb {box-shadow: 0 0 6px rgba(0,0,0,.3) inset;background-color: #bfbfbf; border-radius: 10px;}


	/*-----TOP春日井の特徴用LIST-----*/
	.characteristicBox{
		padding: 0;
		margin-bottom: 60px;
	}
	.characteristicBox::before{
		position: absolute;
		top: -160px;
		left: 0;
		height: 375px;
		width: 385px;
		content: "";
		background-image: url("img/illust_03.png");
		background-size: 385px 375px;
		background-repeat: no-repeat;
		z-index: -1;
	}
	.characteristicBox::after{
		position: absolute;
		bottom: -120px;
		right: 0;
		height: 325px;
		width: 385px;
		content: "";
		background-image: url("img/illust_04.png");
		background-size: 385px 325px;
		background-repeat: no-repeat;
		z-index: -1;
	}
	.characteristicBox__inner{
		width: 320px;
		margin: auto;
		padding: 40px 20px 40px 20px;
	}
	.characteristicBox__inner img{
		width: 160px;
		height: 160px;
	}
	.characteristicImg{display: none;}
	.characteristicTextPc{
		width: 600px;
    margin: auto;
    padding: 20px 20px 0px 20px;
    background: rgba(255,255,255,0.75);
	}


	/*-----羽ばたく卒業生用ボックス-----*/
	.graduateList{
		width: 1000px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom: -30px;
	}
	.graduateList__item{
	  width: 480px;
	  height: auto;
		margin-bottom: 30px;
	}

	.alumniBox{
		display: flex;
		justify-content: space-between;
	}
	.alumniBox__first{width: 460px;}
	.alumniBox__second{width: 480px;}

	.alumniMessageRapper{
		width: 1000px;
		display: flex;
		justify-content: space-between;
	}
	.alumniMessage{
		width: 480px;
	}


	/*-----教室紹介ページ用アイテム-----*/
	.access__img{
		float: left;
		width: 300px;
		height: 470px;
		margin-right: 20px;
	}
	.access__map {
		float: right;
		padding: 0;
		width: 640px;
		height: 330px;
	}
	.access__info{
		float: right;
		width: 640px;
		height: 140px;
	}
	.accessImg{display: block;}
	.accessImg img{
		display: block;
		max-width: 100%;
		margin-bottom: 15px;
	}
	.accessImg__max{width: 100%; height: auto;}
	.accessVideo{width: 100%; height: auto;}

	.accessImgPc{margin-top: -200px;}

	.accessInfo{
		display: flex;
		justify-content: flex-end;
		flex:1;
		width: 50%;
		max-width: 50%;
	}
	.accessInfo__inner{
		width: 470px;
		max-width: 470px;
		margin-right: 30px

	}
	.access__map-detail{
		flex: 1;
    float: none;
    position: absolute;
    top: -60px;
    right: 0;
    bottom: -60px;
    width: 50%;
    height: auto;
	}


	/*-----ニュース&ボイス用コンテナー-----*/
	.newsVoice{
		width: 1000px;
		display: flex;
		justify-content: space-between;
	}
	/*-----ニュース用LIST-----*/
	.newsBox{
		width: 400px
	}
	.newsList{list-style: none;}
	.newsList-archive{width: 740px; margin: auto;}
	.newsList__item{
		margin-bottom: 20px;
		padding-bottom: 20px;
		border-bottom: 1px dashed rgba(0,0,0,0.1);
	}


	/*-----みんなの声用LIST-----*/
	.voiceBox{
		width: 560px;
	}
	.voiceList__item{
		width: calc(50% - 7.5px);
		margin-bottom: 20px;
	}
	.voiceList-archive{
		justify-content: flex-start;
		width: 1020px;
	}
	.voiceList-archive .voiceList__item{
		width: calc(25% - 20px);
		margin-right: 20px;
	}

	/*-----ブログ用LIST-----*/
	.blogList{
		width: 1020px;
		display: flex;
		flex-wrap: wrap;
	}
	.blogList__item{
		width: 320px;
		margin-right: 20px;
		background: #fff;
	}
	.blogList__item-no {
		width: 100%;
		margin-right: 0;
		padding: 20px;
	}

	/*-----写真用LIST-----*/
	.photoList{
		overflow-x: scroll;
		overflow-y: hidden;
		display: flex;
	}
	.photoList__item{
		position: relative;
		width: 320px;
		margin-right: 20px;
		margin-bottom: 20px;
		flex: none;
	}
	/*スクロールバー*/
	.photoList::-webkit-scrollbar {height: 10px;}
	.photoList::-webkit-scrollbar-track {box-shadow: 0 0 6px rgba(0,0,0,.3) inset;background-color: #f2f2f2; border-radius: 10px;}
	.photoList::-webkit-scrollbar-thumb {box-shadow: 0 0 6px rgba(0,0,0,.3) inset;background-color: #bfbfbf; border-radius: 10px;}


	/*-----キャンペーンバナー-----*/
	.campaign_banner{
		background-image: url("img/campaign_bg-pc.png");
		background-repeat: repeat-x;
		max-width: 100%;
		min-width: 1000px;
		display: flex;
	}
	.campaign_banner .eyecatch{
		width: 270px;
		margin-right: 20px;
	}

	.campaign_inner{
		width: calc(100% - 300px);
		margin-right: 10px;
	}
	.campaign_headgroup{
		margin-top: 20px;
	}
	.campaign_badge{
		position: absolute;
		top:-10px;
		right:0;
		width: 120px;
		height: 120px;
		padding: 15px 0;
	}
	.campaign_start{
		font-size: 20px;
	}
	.campaign_end{
		font-size: 25px;
		margin-bottom: 10px;
	}
	.campaign_arrow{
		font-size: 12px;
	}
	.campaign_sentence{
		font-size: 12px;
	}

	.campaign_headline{
		max-width: 340px;
		padding: 10px 20px;
		font-size: 15px;
		margin-bottom: 15px;
	}
	.campaign_title{
		font-size: 34px;
	}
	.campaign_contents{
		font-size: 14px;
		line-height: 28px;
		min-height: 145px;
	}


	/*-----TOPインスタ用LIST-----*/
	.instagramBox{
		float: left;
		width: 300px;
	}
	.instagramBox img {margin-top: 65px;}
	.instagramList{
		float: right;
		width: 660px;
	}


	/*-----割引制度バナー-----*/
	.discount{
		max-width: 100%;
        min-width: 1000px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 40px;
	}
	.discount__img{margin: 0;}
	.discount__btn{
		margin-top: 0;
		width: calc(100% - 440px);
	}
	.discount__btn p{text-align: left;}


	/*-----春日井の特徴用BOX&LIST-----*/
	.philosophyBox{
		height: 490px;
		overflow: hidden;
	}
	.philosophyBox .eyecatch{height: 100%;}
	.philosophyBox__contents{
		margin-top: -430px;
		width: 500px;
		height: 370px;
	}
	.philosophyBox__contents::before{
		width: 80px;
		height: 80px;
		background-size: 80px 80px;
		margin: 0;
	}
	.philosophyBox__contents-orange{float: right;}

	.philosophyList__item {width: calc(50% - 15px);}


	/*-----発表会コンクール用リスト-----*/
	.recConList__contents{margin-left: 20px;}


	/*-----クラス紹介ページ用アイテム-----*/
	.classesRapper{
		width: 1000px;
		display: flex;
		justify-content: space-between;
	}
	.classesBox{
		width: 400px;
		height: 630px;
	}
	.classesBox__contents {
    top: 0;
    left: 430px;
    right: -600px;
    bottom: auto;
    padding: 30px 30px;
	}
	.classesBox__copy {	min-width: 250px;}

	.classesRapper .tableScroll{
		width: 570px;
		margin-top: 260px;
	}
	.classesRapper-dance {margin-bottom: 30px;}
	.classesRapper-dance .classesBox{order: 2}
	.classesRapper-dance .tableScroll{order: 1}
	.classesRapper-dance .classesBox__contents {
		left: -600px;
    right: 430px;
	}
	.classesRapper-exercise {margin-bottom: 30px;}

	.classesBox-special{
		width: 1000px;
		height: auto;
		display: flex;
		justify-content: space-between;
		padding: 30px;
	}
	.classesBox-special__first{width: 360px}
	.classesBox-special__second{width: 580px; padding-left: 20px; border-left: 1px dashed #fff}


	.classTitleRapper{
		position: relative;
		min-height: 350px;
		padding-top: 30px;
	}
	.classTitleRapper .eyecatch{
		position: absolute;
		top: 0;
		right: 0;
		width: 600px;
		height: 350px;
		z-index: -1;
	}
	.classTitle{
		padding: 20px;
		border: 1px dashed #FF669C;
		background: rgba(255, 255, 255, 0.75);
		width: 500px;
	}


	.classTitle__item {
    font-size: 1.6rem;
    height: 40px;
    line-height: 40px;
	}

	/*カラーバリエーション*/
	.classTitle-orange{border: 1px dashed #FF8939;}
	.classTitle-green{border: 1px dashed #43A84F;}
	.classTitle-blue{border: 1px dashed #1372BF;}

	.classTitle-orange .classTitle__item{color: #FF8939; border-color:#FF8939;}
	.classTitle-green .classTitle__item{color: #43A84F; border-color:#43A84F;}
	.classTitle-blue .classTitle__item{color: #1372BF; border-color:#1372BF;}

	.classTitle-orange .classTitle__item:last-child{color: #fff;background: #FF8939;}
	.classTitle-green .classTitle__item:last-child{color: #fff;background: #43A84F;}
	.classTitle-blue .classTitle__item:last-child{color: #fff;background: #1372BF;}


	.classQualityList{
		width: 1020px;
		height: auto;
		display: flex;
		flex-wrap:wrap;
		justify-content: center;
	}
	.classQualityList__item{width: 320px; margin-right: 20px;}


	.classSchedule{
		width: 720px;
		margin: auto;
	}
	.classSchedule__head{padding: 20px}
	.classSchedule__body{padding: 40px;}
	.classSchedule__table{width: 99%}
	.classSchedule__table td{
		height: 70px;
		font-size: 1.2rem;
	}

	.classMessage{width: 500px; margin: auto;}
	.classMessage::before{margin-bottom: 25px}
	.classMessage::after{margin-top: 25px}


	/*-----講師紹介ページ用アイテム-----*/
	.lecturerList{
		width: 1020px;
		justify-content: flex-start;
	}
	.lecturerList__item{width: 320px; margin-right: 20px;}
	.lecturerList__item a:hover::before{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		content: "";
		background: rgba(255,102,156,0.5);
		border: 5px solid #ff669c;
	}
	.lecturerList__item a:hover::after{
		position: absolute;
		top: 50%;
		left: 50%;
		font-size: 1.2rem;
		content: "READ MORE";
		width: 160px;
		height: 40px;
		line-height: 40px;
		margin-top: -20px;
		margin-left: -80px;
		color: #fff;
		border: 1px solid;
		border-radius: 5px;
		text-align: center;
	}

	.lecturerRapper{
		width: 1000px;
		display: flex;
		justify-content: space-between;
	}
	.lecturerRapper.is-reverse{
		flex-direction: row-reverse;
	}

	.lecturerBox{
		width: 320px;
		text-align: center;
		order: 2;
	}

	.lecturerBox__left{width: 660px;order: 1;}
	.lecturerBox__left .tabMenu__content{width: 100%;}

	.lecturerMessage{	padding: 60px;	}

	.lecturerBox-bigLeft{
		width: 480px;
		float: left;
		margin-right: 40px;
	}
	.lecturerBox-bigRight{
		width: 480px;
		float: right;
		margin-left: 40px;
	}



	/*-----FAQページ用リスト-----*/
	.faqList{
		width: 1000px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: -40px;
	}
	.faqList__item{
		width: 480px;
		margin-bottom: 40px;
	}




	/*サイドエリア用パーツ（共通）
	------------------------------------------------------------*/
	.sideNavi{}
	.sideNavi__title{
		background: #808080;
		color: #fff;
		font-weight: bold;
		text-align: center;
		padding: 15px;
	}
	.sideNavi__item{background: #f7f7f7;}
	.sideNavi__item a{padding: 15px; display: block;}
	.sideNavi__item a::before{
		content: "○";
		font-size: 1rem;
		margin-right: 10px;
	}
	.sideNavi__item.current,
	.sideNavi__item:hover{
		color: #fff;
		font-weight: bold;
	}
	.sideNavi__item-ballet.current,
	.sideNavi__item-ballet:hover{background: #FF669C;}
	.sideNavi__item-dance.current,
	.sideNavi__item-dance:hover{background: #ff8939;}
	.sideNavi__item-exercise.current,
	.sideNavi__item-exercise:hover{background: #43a84f;}
	.sideNavi__item-other.current,
	.sideNavi__item-other:hover{background: #1372bf;}









	/*フッターエリア用パーツ（共通）
	------------------------------------------------------------*/
	/*サイトマップ*/
	.sitemap{ width: 250px;}
	.sitemap-second{ width: 440px;;}
	.sitemapMini-first{ float: left; width:40%}
	.sitemapMini-second{float: right; width:calc(60% - 20px); margin-left: 20px;}







	/************************************************************/
	/*ユーティリティ
	/************************************************************/

	/*display:none*/
	.u-none-pc{display:none ;}
	.u-none-sp{display:block ;}

	/*マージン用*/
	.u-mb-0{margin-bottom:0;}
	.u-mb-s{margin-bottom:15px;}
	.u-mb-m{margin-bottom:30px;}
	.u-mb-l{margin-bottom:60px;}

	.u-mb-0Pc{margin-bottom:0;}

	.u-mt-sPc{margin-top:15px;}

}
