@charset "utf-8";
/* CSS Document */
body{
  font-family: "yu-mincho-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #fff;
	font-size:1rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
  height: 100%;
  width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
	margin: 0;
	padding: 0;
	background: #eeeddb;
}
*{box-sizing: border-box;}
a{
  text-decoration: none;
}
ul{
  list-style: none;
}
h2,
.crimson_text{
  font-family: "Crimson Text", serif;
  font-weight: 600;
  font-style: italic;
  font-size: 2em;
}
h2{
  letter-spacing: 1.1;
  border-bottom: 1px solid #fff;
　padding-bottom: 3px;
  display: inline-block;
}
header{
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: flex-start;
	position: relative;
}
#wrap{
	background: #0c6734;
}
#nav-area li a{
	color: #fff;
}
.note01,
.note02,
.note03,
.title-area{
	z-index: 2;	
}
.triple-notes{
	color: transparent; 
	text-shadow: 0 0 0 #fff;
}
/*==================================================
スライダーのためのcss
===================================*/
.slider {
  position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
}
/*　背景画像設定　*/

.slider-item01 {
    background:url("../img/slide01.jpg");
}

.slider-item02 {
    background:url("../img/slide02.jpg");
}

.slider-item03 {
    background:url("../img/slide03.jpg");
}
.slider-item04 {
    background:url("../img/slide04.jpg");
}

@media screen and (max-width:990px) {
slider-item01 {
    background:url("../img/slide01_sp.jpg");
}
.slider-item04 {
    background:url("../img/slide04_sp.jpg");
}
}
.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/

.slick-prev, 
.slick-next {
    position: absolute;
	z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #fff;/*矢印の色*/
    border-right: 2px solid #fff;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
	position: relative;
	z-index: 3;
    text-align:center;
	margin:-50px 0 0 0;/*ドットの位置*/
}

.slick-dots li {
    display:inline-block;
	margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#fff;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}
#about{
  position: relative;
}
#details{
	text-align: center;
}
.details_content{
	background: #eeeddb;
	color: #0c6734;
	text-align: center;
	margin: 0 auto;
}
#details img{
	margin: 0 auto;
}
#details h3{
	border-top: 1px solid #0c6734;
	border-bottom: 1px solid #0c6734;
	padding: 3px 0;
	font-size: 1.2em;
	margin: 10px 0;
	display: inline-block;
}
#details p{
	margin-bottom: 10px;
}
#details button,
.conductor_button{
	background: #0c6734;
	display: inline-block;
	padding: 10px 15px;
	border-radius: 50px;
	margin-bottom: 15px;
}
#details button a,
.conductor_button a,
.piano_button a{
	color: #fff;
}
.piano_button{
	background: #e15b8f;
	display: inline-block;
	padding: 10px 15px;
	border-radius: 50px;
	margin-bottom: 15px;
}
#instruction{
	text-align: center;
	padding: 50px;
	color: #0c6734;
	background: #eeeddb;
}
#instruction h2{
	border-bottom: 1px solid #0c6734;
}
.instructors{
	display: flex;
	justify-content: space-around;
}
.instructors button{
	margin-top: 30px;
}
.instructors p{
	font-size: 1.5em;
}
.pianist p{
	color: #e15b8f;
}
#activities,
#programs{
	text-align: center;
}
.activities_content{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
	flex-wrap: wrap;
	margin-top: 30px;
}
.activities_content img{
	width: 50%;
}
.blog_p{
	width: 40%;
	line-height: 2.5;
}
#activities button{
	background: #6a3906;
	padding: 10px 15px;
	border-radius: 50px;
	margin: 50px 0;
}
#activities button a{
	color: #fff;
}
#programs{
	position: relative;
}
#programs ul{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 40px;
	overflow-x: auto;
	width: 100%;
	height: 300px;
}

#programs ul li{
	background: #eeeddb;
	padding: 10px 0 50px 0;
	border-radius: 30px;
	position: relative;
	width: 220px;
	flex-shrink: 0;
}
.program_slide a{
	color: #0c6734;
}
.program_slide ul li h3,
.program_slide ul li p{
	padding-left: 5px;
	padding-right: 5px;
}
.program_slide img{
	position: absolute;
	  bottom: -25px;
	  right: -20px;
	transform: rotate(-10deg);
	width: 40%;
}
.act{
	padding: 5px;
	margin-top: 15px;
	color: #fff;
	text-align: left;
	font-size: 0.9em;
	letter-spacing: 0.001;
}
.orange{
	background: #e3594d;
}
.violet{
	background: #9a70a7;
}
.pink{
	background: #e34d7f;
}
.blue{
	background: #336699;
}
.red{
	background: #fd5f5f;
}
.green{
	background: #009944;
}
#arrow{
    text-align: right;
}
footer{
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	background: #eeeddb;
	color: #0c6734;
	gap: -50px;
	width: 100%;
}
footer p{
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (min-width:991px) {
.sp{
		display: none;
	}
.slider{
		height: 90vh;
	}
#slider-area{
	padding: 1% 10% 5% 0;
	position: relative;
	width: 70%;
}
#nav-area{
	width: 20%;
	padding: 50px 0 50px 30px;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
.g-nav li{
	margin-bottom: 30px;
}
.g-nav li a{
		display: block;
	}
.title-area{
	position: absolute;
	  bottom: 40px;
	  right: 50px;
	text-align: right;
}
.title{
	width: 70%;
}
.sub-title{
	font-size: 1.1em;
}
.note01{
	position: absolute;
	  top: 150px;
	  right: 30px;
	  width: 8%;
}
.note02{
	position: absolute;
	  top: 300px;
	  right: 20px;
	  width: 5%;
}
.note03{
	position: absolute;
	  top: 10px;
	  left: -150px;
	  width: 15%;
}
.about_content{
	padding: 50px 0 50px 100px;
	width: 80%;
	}
	.about_content p{
		margin-bottom: 30px;
	}
	#about{
		background:url("../img/about_bg.png");
		background-position: bottom right;
		background-size: 40%;
		background-repeat: no-repeat;
		width: 100%;
		padding: 50px;
	}
	#about img{
		width: 30%;
		position: absolute;
		  bottom: 0;
		  right: 50px;
	}
	.details_content{
		padding: 50px;
		width: 45%;
		border-radius: 100px;
	}
	#details img{
		with: 30%;
	}
	#activities,
	#programs{
		padding: 50px;
}
	#programs .note02{
		position: absolute;
		  top: 40px;
		  left: 35%;
		  width: 3%;
}
	#programs .note04{
		position: absolute;
		  top: 80px;
		  right: 35%;
		  width: 3%;
}
	#programs .note05{
		position: absolute;
		  top: 40px;
		  right: 30%;
		  width: 3%;
}
	footer{
		padding: 50px;
	}
	footer p{
		font-size: 1.8em;
		line-height: 2.5;
	}
	footer img{
		width: 70%;
		margin: -100px auto;
}
}
@media screen and (max-width:990px) {
.pc{
		display: none;
	}
header{
		flex-direction: column;
		height: 100vh;   /* SPの実表示高さに合わせる（重要） */
    	min-height: 100vh;
    	margin: 0;
    	padding : 0;
	}
#slider-area{
	padding: 0;
	position: relative;
	width: 100%;
}
.slider{
		max-height: 70vh;
	}
#nav-area{
		width: 100%;
	position: fixed;
	  top: 0;
	padding: 10px 0 0 0;
	background: #eeeddb;
	z-index: 999;
	}
.g-nav{
	width: 100%;
	display: flex;
	justify-content: space-around;
	flex-direction: row;
	flex-wrap: nowrap;
	padding-bottom: 5px;
}
#nav-area li{
	margin-right: 8px;
}
#nav-area li a{
	font-size: 0.9em;
	font-weight: bold;
	color: #0c6734;
	}
.contact{
	text-align: center;
	padding: 10px;
	background: #0c6734;
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
	}
.contact a{
	color: #fff;
	font-size: 1em;
	}
.title-area{
	position: absolute;
	  bottom: 80px;
	  right: 20px;
	text-align: right;
}
.title{
	width: 80%;
}
.sub-title{
	font-size: 1.1em;
}
.note01{
	position: absolute;
	  bottom: 100px;
	  left: 30px;
	  width: 13%;
}
.note02{
	position: absolute;
	  top: 100px;
	  right: 70px;
	  width: 13%;
}
.note03{
	position: absolute;
	  top: 100px;
	  left: 10px;
	  width: 35%;
}
	#about{
		text-align: center;
		padding: 50px 30px 300px 30px;
		background:url("../img/about_bg.png");
		background-position: bottom center;
		background-size: contain;
		background-repeat: no-repeat;
	}
	.about_content{
		width: 100%;
	}
	#about img{
		width: 100%;
		position: absolute;
		  bottom: 0;
		  left: 0;		
	}
	.about_p{
		text-align: left;
		margin-top: 30px;
	}
	.details_content{
		padding: 20px;
		width: 80%;
		border-radius: 50px;
	}
	#details img{
		width: 60%;
	}
	#activities,
	#programs{
		padding: 20px;
	}
	#programs ul{
		/*===========スクロールバー非表示===========*/
	/* 1. Chrome, Safari, Edge (WebKit系) */
  -webkit-overflow-scrolling: touch; /* スマホでの慣性スクロールを有効に */
	}
	/* 1-2. Chrome, Safari (WebKit系) のスクロールバー自体を非表示に */
#programs ul::-webkit-scrollbar {
  display: none;
}

/* 2. Firefox */
#programs ul {
  scrollbar-width: none; /* Firefoxでスクロールバーを非表示に */
}

/* 3. Internet Explorer (古いEdge) */
#programs ul {
  -ms-overflow-style: none; /* IE, Edgeでスクロールバーを非表示に */
}
	#programs .note02{
		position: absolute;
		  top: 40px;
		  left: 10%;
		  width: 12%;
}
	#programs .note04{
		position: absolute;
		  top: 100px;
		  right: 15%;
		  width: 8%;
}
	#programs .note05{
		position: absolute;
		  top: 20px;
		  right: 10%;
		  width: 8%;
}
	footer{
		padding: 50px 20px 20px 20px;
	}
	footer p{
		font-size: 1.2em;
	}
	footer img{
		width: 120%;
	}
}

@media screen and (min-width:481px){
	.program_slide{
		padding: 50px;
	}
	#arrow img{
		width: 15%;
}
	#page-top a{
		width: 70px;
		height: 70px;
	}
	#page-top{
		position: fixed;
		  right: 20px;
		  bottom: 10px;
	}
}

@media screen and (max-width:480px){
	#instruction{
		padding: 50px 20px;
	}
	.instructors img{
		width: 80%;
	}
	.activities_content img{
	width: 100%;
}
	.blog_p{
	width: 100%;
}
	.program_slide{
		padding: 20px;
	}
	#arrow img{
		width: 60%;
}
	#page-top a{
		width: 60px;
		height: 60px;
	}
	#page-top{
		position: fixed;
		  right: 10px;
		  bottom: 10px;
	}
} 
/*==================================================
page-top link
===================================*/
/*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#eeeddb;
	border-radius: 50%;
	color: #0c6734;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.8rem;
	transition:all 0.3s;
	box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

#page-top a:hover{
	background: #0c6734;
	color: #eeeddb;
}

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

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*==================================================
動きのcss
===================================*/
/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

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

/* 4-6 じわっ（ぼかしから出現） */
.blur{
	animation-name: blurAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
	filter: blur(10px);
	transform: scale(1.02);
	opacity: 0;
  }

  to {
	filter: blur(0);
	transform: scale(1);
	opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.blurTrigger{
    opacity: 0;
}
