@charset "utf-8";
/* CSS
----------------------------------------------------------- */
/* html, body{height:100%;} */
body{
/*	min-width:1280px;*/
	_display: inline;
	_zoom:1;
	color:#fff;
	font-size:1rem;
	font-family:Futura,'Century Gothic',"Hiragino Kaku Gothic Pro W3",Motoya,Meiryo,"MS PGothic";
	line-height: 1.6;
	background-color:#000;
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	position:relative;
	margin: 0 auto;
}


a, a:link, a:visited{
	color:#fff;
	text-decoration:none;
}
a:hover, a:active{color:#999;}

.pc {
	display:block !important;
}
.sp {
	display:none !important;
}
/* 改行を消す */
.br-sp {
	display:none;
}

/* header
----------------------------------------------------------- */

header{
/* 	background:url(images/bg_head_a.jpg) no-repeat 0 30px;
	background-size:cover;
	height:485px; */
	height:80px;
	width: 100%;
	position: fixed;
	z-index: 1000;
}

header .header_logo{
	height:50px;
	text-align:center;
	color:#4b4b4b;
	position: absolute;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  left: 50%;
}

header .header_logo img{
	height:100%;
	line-height:30px;
	text-align:center;
	color:#4b4b4b;
}

.header.change-color {
  background-color: #000;
  transition: 0.3s;
}



/* nav
----------------------------------------------------------- */


nav#menu_content{
	width:1180px;
	height:80px;
	line-height:80px;
	margin: 0 auto;
	flex-direction: row;
}

nav#menu_content ul{
	display: flex;
}

nav#menu_content li:first-child{
	flex: 1;
}


nav#menu_content li{
	margin: 0 1rem;
}

nav#menu_content li p{
	display: inline;
}


/*バーガー*/
.menu_chek,	
#btn_menu_check,
nav#menu_content li:last-child{
    display: none;
}


/*

nav ul#menu{
	width:930px;
	margin:0 auto;
	height:64px;
}

nav ul#menu li{
	float:left;
	display:inline;
	width:186px;
}

nav ul#menu li a{
	display:inline-block;
	text-indent:100%;
	white-space: nowrap;
    overflow: hidden;
	width:186px;
	height:64px;
}

nav ul#menu li#m01 a{
	background:url(images/btn_menu01.png) no-repeat;
}

nav ul#menu li#m02 a{
	background:url(images/btn_menu02.png) no-repeat;
}

nav ul#menu li#m03 a{
	background:url(images/btn_menu03.png) no-repeat;
}

nav ul#menu li#m04 a{
	background:url(images/btn_menu04.png) no-repeat;
}

nav ul#menu li#m05 a{
	background:url(images/btn_menu05.png) no-repeat;
}

#profile nav ul#menu li#m01 a,
nav ul#menu li#m01 a:hover{
	background:url(images/btn_menu01_on.png) no-repeat;
}

#lesson nav ul#menu li#m02 a,
nav ul#menu li#m02 a:hover{
	background:url(images/btn_menu02_on.png) no-repeat;
}

#concert nav ul#menu li#m03 a,
nav ul#menu li#m03 a:hover{
	background:url(images/btn_menu03_on.png) no-repeat;
}

#contact nav ul#menu li#m04 a,
nav ul#menu li#m04 a:hover{
	background:url(images/btn_menu04_on.png) no-repeat;
}

#link nav ul#menu li#m05 a,
nav ul#menu li#m05 a:hover{
	background:url(images/btn_menu05_on.png) no-repeat;
}




*/



/* main
----------------------------------------------------------- */

#content{
	width:1280px;
	background-color:#000;
/*	padding:30px 0;*/
	min-height:2000px;
	position:relative;
	margin: 0 auto;
}

#content h1{
	text-align: center;
	font-size: 1.6rem;
	margin: 1.5rem auto 3rem;
	position: absolute;
  z-index: 2;
  transform: translateX(-50%);
  left: 50%;
  bottom: 190px;
	font-weight: 200;
}

#content #fv{
	position:relative;
	width:100%;
	height: 1013px;
	text-align: center;
	background: url("../images/img_fv.jpg") top center no-repeat #000;
}

#content #fv img{
}

#content .txt_area_ss{
	position:relative;
	width:100%;
	height: 100px;
	background: #000;
	font-size: 0.8rem;
	margin-bottom: 50px;
}

#content .txt_area_s{
	position:relative;
	width:100%;
	height: 200px;
	background: #000;
	font-size: 1rem;
}

#content .txt_area_m{
	position:relative;
	width:100%;
	height: 400px;
	background: #000;
	font-size: 1.6rem;
}

#content .txt_area_ss p,
#content .txt_area_s p,
#content .txt_area_m p{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
	width: 100%;
}


#content .img_w_full{
	position:relative;
	width:100%;
	background: #000;
}


#content .img_w_full img{
	width:100%;
	z-index: 200;
}


#content .img_to_txt_area{
	position:relative;
	width:100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #000;
}

#content .img_to_txt_area img{
	width:100%;
}

#content .img_to_txt_area div{
	position: relative;
	width:50%;
	text-align: center;
	font-size: 1rem;
}

#content .img_to_txt_area div p.txt_s{
	width: 75%;
	margin: 0 auto;
	text-align: left;
}


#content .mov{
	position:relative;
	z-index: 200;
	background: #000;
	text-align: center;
}

#content .mov video{
	width: 100%;
}

#content .item_list_area{
	position:relative;
	width:100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	/* justify-content: space-between; */
	justify-content: center;
	background: #000;
}

#content .item_list_area div{
	text-align: center;
	margin-bottom: 2rem;
	width:33%;
}

#content .item_list_area div img{
	width:80%;
}

#content .item_list_area div p{
	margin-top: 1rem;
}

#content .item_list_area .item_img a img{
	margin: 0.5rem auto;
	width: 70%;
}




#content #sv{
	position:relative;
	min-height:2000px;
	z-index: 200;
	background: #000;
	color: #fff;
}

#content .txt_area_s p.tocol{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	text-align: center;
	width: max-content;
	padding: 1rem 2rem;
	border: 1px solid #fff;
/*
	background: #fff;
	color: #000;
*/
	color: #fff;
	font-size: 0.8rem;
}




/*フッターの動くやつ*/

.scrolldown_txt {
  letter-spacing: .025rem;
  line-height: 1.25rem;
  font-weight: 400;
  font-size: 0.8rem;
}

.scrolldown {
  text-align: center;
  pointer-events: none;
  color: #fff;
  margin: 1rem auto 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  z-index: 2;
  transform: translateX(-50%);
  left: 50%;
  position: absolute;
  bottom: 170px;
}

.scrolldown_line {
  margin: .5rem auto 0;
background-color: transparent;
}

.scrolldown_line {
  display: block;
  width: 1px;
  position: relative;
  height: 1.375rem;
  z-index: 3;
}

.scrolldown_line::after {
  background-color: #fff;
  animation: line .6s ease-in-out .6s infinite alternate;
  transform-origin: center top;
}
.scrolldown_line::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
}

@keyframes line{0%{transform:scaleY(.25)}to{transform:scaleY(.75) translateY(25%)}}


/*パララックススクロール*/

.main-content-wrapper{
}

section {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
	background: #000;
}

h2 {
  width: 100%;
  margin: 0;
  text-align: center;
  color: #FDF2C5;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/*
.page-1 {
  background: #4285F4;
}

.page-2 {
  background: #34A853;
}

.page-3 {
  background: #FBBC05;
}

.page-4 {
  background: #EA4335;
}
*/
/* section.page-7{
	height: 170px;
} */


/*mov*/
.mov .play-btn{
position:absolute;
width:100%;
height:100%;
left:0;
top:0;
}

.mov .play-btn .btn{
	display: block;
	width: 20%;
	position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translateY(-50%) translateX(-50%);
	z-index:202;
}

.mov .play-btn.playActive{display:none;}

.mov .play-btn .thumb{
position:abosolute;
width:100%;
height:100%;
left:0;
top:0;
z-index:1;
}


/*フェードイン＆フェードアウト*/

/* 画面外にいる状態 */
.fadein {
	opacity : 0;
	}

/* 画面内に入った状態 */


.fadein.scrollin{
animation-name:fadeInAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


/*変形するボタン*/

.tobuy{
	position: absolute;
	bottom: 2rem;
	right: 2rem;
	z-index: 800;
}


.b_btn {
	position: relative;
	width: 32px;
	height: 32px;
}

.b_btn::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	text-align: center;
	justify-content: center;
	align-items: center;
	color: #000;
	font-size: 0.1rem;
	width: 30px;
	height: 30px;
	border-radius: 15px;	
	line-height: 30px;
	border:1px solid #666;
	transform: scale(1,1);
	transition:.3s ease-out;
	transform-origin: right middle;
	animation: blinkBorder 1.5s ease infinite alternate;

}

.b_btn:hover::after {
	color: #000;
	content: "購入する";
	font-size: 0.7rem;
	width: 5.5rem;
	background-color: #666;
	transform: scale(1,1);
}


@keyframes blinkBorder {
  0% {
/*	  opacity: 1;*/
	  background: #999;
/*    border: 1px solid #666666;*/
  }
  100% {
/*	  opacity: 0.5;*/
	  background: #333;
/*    border: 1px solid #ffffff;*/
  }
}


/* ボタンアニメ */
.btn_shine {
  display: block;
  position: relative;
  background-color: #000;/*ボタンの色*/
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  transition: 0.2s;
}
.btn_shine::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: btn_shine 3s ease-in-out infinite;
}
@keyframes btn_shine {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}




/* footer
----------------------------------------------------------- */


footer{
/*
	padding:1em 0;
	background:url(images/bg_nav.jpg) repeat center top;
	background-size:contain;
	text-align:center;
*/
}


.totop{
	position:absolute;
	right:17%;
	bottom:2em;
	z-index:20;
	background:none;
	/* border:2px solid #618a78;
	border-radius:5px; */
}

.totop a{
	display:inline-block;
	/* text-indent:100%;
	white-space: nowrap;
	    overflow: hidden; */
	z-index:30;
	width:35px;
	height:35px;
}



/* スマホ タブレット用 */
@media screen and (max-width:640px) {

	.pc {
		display:none !important;
	}
	.sp {
		display:block !important;
	}
	/* 改行を復活 */
	.br-sp {
		display:inline;
	}

body{
	min-width:100%;
	_display: inline;
	_zoom:1;
	color:#fff;
	font-size:1rem;
	font-family:Meiryo, メイリオ, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.6;
	background-color:#fff;
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	position:relative;
}

a, a:link, a:visited{
	color:#666;
	text-decoration:none;
}
a:hover, a:active{color:#c2a87b;}

/* header
----------------------------------------------------------- */

header{
/* 	background:url(images/bg_head_a.jpg) no-repeat 0 30px;
	background-size:cover;
	height:485px; */
	height:60px;
}

header .header_logo{
  top: 50%;
  transform: translateX(-50%) translateY(-30%);
  left: 50%;
}

header .header_logo img{
	height:30px;
}	
	
header nav .header_nav{
	width:100%;
	height:70px;
	line-height:80px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
}	

/* nav
----------------------------------------------------------- */

/*バーガーメニューを作ります
*/	
	
.menu_chek {
    position: fixed;
    top: 5px;
    right: 5%;
    display: flex;
    height: 40px;
    width: 40px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: transparent;
}
.menu_chek span,
.menu_chek span:before,
.menu_chek span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    background-color: #ffffff;
    position: absolute;
    top: 10px;
}
.menu_chek span:before {
    top: 8px;
}
.menu_chek span:after {
    top: 16px;
}	

#btn_menu_check {
    display: none;
}
	
#btn_menu_check:checked ~ .menu_chek span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#btn_menu_check:checked ~ .menu_chek span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#btn_menu_check:checked ~ .menu_chek span::after {
    top: 8px;
    transform: rotate(-45deg);
}	

.menu_chek em {
	position: absolute;
	bottom: 0;
/*	font-weight: bold;*/
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color: #fff;
}	


header nav#menu_content{
	width: 100%
}
	
header nav#menu_content {
    width: 60%;
    height: 100%;
    position: fixed;
    top: 0;
    right: -100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #333;
    transition: all 0.5s;/*アニメーション設定*/
	opacity: 0.9;
	display: block;
}

nav#menu_content ul#g_menu {
    padding: 70px 5% 0;
	right: initial;
	bottom: initial;
	width: 90%;
	display: block;
}
nav#menu_content ul#g_menu li {
    border-bottom: solid 1px #000;
    list-style: none;
	text-align: center;
	float:none;
	display:block;
	letter-spacing:0;
	position: relative;
	line-height: 1.2em;
    font-size: 1.2em;
}	

nav ul#g_menu li:first-child{
	display:none;
}

nav#menu_content ul#g_menu li span {
	font-size: 0.8em;
}	

nav#menu_content ul#g_menu li label,
nav#menu_content ul#g_menu li a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    color:#fff;
    text-decoration: none;
    padding: 10px 0;
}

nav#menu_content ul#g_menu li label{
	background: #000;
	color:#ffffff;
}

nav#menu_content ul#g_menu li a::before {
    content: none;
}
	

nav#menu_content ul#g_menu li::after{
	content:none;
}

nav#menu_content ul#g_menu li:last-child::after{
	content:none;
}

#btn_menu_check:checked ~ nav#menu_content {
    right: 0;/*メニューを画面内へ*/
}	


/* main
----------------------------------------------------------- */
#content{
	width:100%;
	background-color:#000;
/*	padding:30px 0;*/
	min-height:2000px;
	position:relative;
	margin: 0 auto;
}
	
#content h1{
  bottom: 15px;	
}

section {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
	background: #000;
}

#content #fv{
	position:relative;
	width:100%;
	height: 500px;
	text-align: center;
	background: url("../images/img_fv_sp.jpg") top center no-repeat #000;
	padding-bottom: 0;
}

#content #fv img{
	width:100%;
}

#content .txt_area_ss{
	width:90%;
	margin: 0 auto;
	font-size: 0.8rem;
	padding: 1rem 0;
}

#content .txt_area_s{
	width:90%;
	margin: 0 auto;
	font-size: 1rem;
	padding: 1rem 0;
}

#content .txt_area_m{
	width:90%;
	margin: 0 auto;
	height: 170px;
	font-size: 1.1rem;
	padding: 1rem 0;
}

#content .txt_area_s p,
#content .txt_area_m p{
}


#content .img_w_full{
}


#content .img_w_full img{
}


#content .img_to_txt_area{
	position:relative;
	width:100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #000;
}

#content .img_to_txt_area img{
	width:100%;
}

#content .img_to_txt_area div{
	width:100%;
	text-align: center;
}

#content .img_to_txt_area div p,
#content .img_to_txt_area div p.txt_s{
	width: 90%;
	margin: 0 auto;
	text-align: left;
	font-size: 1rem;
	padding: 2rem 0;
}

#content .item_list_area .item_img a img{
	margin: 0.5rem auto;
	width: 100%;
}


#content .mov{
	position:relative;
	z-index: 200;
	background: #000;
}

#content .mov video{
	width: 100%
}

#content .item_list_area{
	position:relative;
	width:100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	background: #000;
	font-size: 0.7em;
}

#content .item_list_area div{
	text-align: center;
	margin-bottom: 2rem;
	width:50%;
}

#content .item_list_area div img{
	width:80%;
}

#content .item_list_area div p{
	margin-top: 1rem;
}
	
.scrolldown {
  bottom: 0;
}
	
/*パララックススクロール*/

.stack{
	position: relative;
}

section {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
	background: #000;
}

h2 {
  width: 100%;
  margin: 0;
  text-align: center;
  color: #FDF2C5;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/*
.page-1 {
  background: #4285F4;
}

.page-2 {
  background: #34A853;
}

.page-3 {
  background: #FBBC05;
}

.page-4 {
  background: #EA4335;
}
*/
/* section.page-7{
	height: 170px;
} */
	

/*変形するボタン*/

.tobuy{
	position: absolute;
	bottom: 0rem;
	right: 1rem;
}


.b_btn {
	position: relative;
	width: 32px;
	height: 32px;
}

.b_btn::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	text-align: center;
	justify-content: center;
	align-items: center;
	color: #000;
	font-size: 0.1rem;
	width: 30px;
	height: 30px;
	border-radius: 15px;	
	line-height: 30px;
	border:1px solid #666;
	transform: scale(1,1);
	transition:.3s ease-out;
	transform-origin: right middle;
}

.b_btn:hover::after {
	color: #000;
	content: "購入する";
	font-size: 0.7rem;
	width: 5.5rem;
	background-color: #666;
	transform: scale(1,1);
}
	
	
/* footer
----------------------------------------------------------- */


}

/* 色とかスペースとかPC&スマホ共通の装飾
----------------------------------------------------------- */

.txt_large{
	font-size: 1.4em;
}

.mb1em{
	margin-bottom:1em !important;
}

.mb2em{
	margin-bottom:2em !important;
}

.pdl1em{
	padding-left:1em !important;
}

.txt_min{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}

.flt_r{
	float:right;
	margin-left:2em;
}

.img_center{
	text-align:center !important;
}

.txt_b{
	font-weight:bold !important;
}

.txt_gr{
	color:#4d7662 !important;
}

.txt_rd{
	color:#820909 !important;
}



