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

body{
  font-family: "kinuta-maruminold-stdn", 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;
}
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* 通常スクロールを止める */
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
a{
	text-decoration: none;
}
.yumin{
	font-family: "yu-mincho-pr6n", sans-serif;
	font-weight: 400;
  	font-style: normal;
}
.trajan{
	font-family: "trajan-pro-3", serif;
	font-weight: 400;
	font-style: normal;
}
.stageBase {
  height: 100vh;
  width: 100vw;
	text-align: center;
  height: 100vh; /* フォールバック */
  height: 100dvh;
}
h1{
	width: 100%;
	text-align: center;
}
h1 p{
	font-size: 0.6em;
}
.h2{
	font-size: 3em;
	letter-spacing: 0.1em;
}
.sub-head{
	font-size: 2em;
	letter-spacing: 0.01em;
	margin-bottom: 40px;
}
.mb40{
	margin-bottom: 40px;
}
.address{
	font-size: 1.1em;
}
.address span{
	font-size: 1.2em;
}
.name{
	font-size: 1.3em;
}
.name,
.profile{
	text-shadow: 0.5px 0.5px 0px rgba(0, 0, 0, 0.4);
}
.content1,
.content3,
.content4,
.content5{
	position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	margin-top: -50px;
}
.content1 p{
	font-size: 1.1em;
}
.content2,
.profile a{
	color: #4a2400;
}
.content2 p{
	margin-top: 10px;
}
.text{
	font-size: 1.4em;
}
.button{
	border: 1px solid #fff;
	padding: 10px 20px;
	margin-top: 30px;
	display: inline-block;
}
.content5 .button{
	margin-top: 70px;
}
.button a{
	color: #fff;
	font-size: 1.5em;
}
.nav{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	position: absolute;
	 bottom: 100px;
}
.nav li{
	margin-left: 50px;
}
.nav li a{
	color: #fff;
	font-size: 1.2em;
}

/*===========　スライド画像設定 ===========*/
#slide1{
	background-image: url("../img/top.jpg");
	background-size: cover;
	position: relative;
}
#slide2{
	background-image: url("../img/information.jpg");
	background-size: cover;
	background-position: bottom right;
	position: relative;
}
#slide3{
	background-image: url("../img/about.jpg");
	background-size: cover;
	position: relative;
}
#slide4{
	background-image: url("../img/coaching.jpg");
	background-size: cover;
	position: relative;
}
#slide5{
	background-image: url("../img/recital.jpg");
	background-size: cover;
	position: relative;
}
@media screen and (max-width:980px){
	#slide1{
	background-image: url("../img/top_sp.jpg");
	background-size: cover;
	position: relative;
}
#slide2{
	background-image: url("../img/information_sp.jpg");
	background-size: cover;
	position: relative;
}
#slide3{
	background-image: url("../img/about_sp.jpg");
	background-size: cover;
}
#slide4{
	background-image: url("../img/coaching_sp.jpg");
	background-size: cover;
}
#slide5{
	background-image: url("../img/recital_sp.jpg");
	background-size: cover;
}
}
/* ページネーション */
.pagination {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
}

.pagination li {
  width: 10px;
  height: 10px;
  margin: 12px 0;
  border-radius: 50%;
  background: #bbb;
  cursor: pointer;
  transition: all 0.3s;
}

.pagination li.active {
  background: #333;
  transform: scale(1.4);
}
.note{
	mix-blend-mode: difference;
}
.fluffy1{
	animation: fluffy 3s infinite;
}
.fluffy2{
	animation: fluffy 7s infinite;
}
.fluffy3{
	animation: fluffy 5s infinite;
}

@keyframes fluffy {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

/* downscroll */
/*スクロールダウン全体の場所*/
.scrolldown1,
.pagetop{
	position:absolute;
	left:50%;
	transform: translateX(-50%);
	bottom:10px;
    /*全体の高さ*/
	height:50px;
	 white-space: nowrap;
}
.pagetop a{
	color: #fff;
}
/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
	position: absolute;
	left:-15px;
	top: -15px;
    /*テキストの形状*/
	color: #eee;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 30px;
	background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}
.arrow {
  position: relative;
  display: inline-block;
  width: 26.6px;
  height: 15.3px;
}

.arrow::before,
.arrow::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 0.5px);
  width: 1px;
  height: 20px;
  border-radius: 9999px;
  background-color: #fff;
  transform-origin: 50% 0.5px;
}

.arrow::before {
  transform: rotate(45deg);
}

.arrow::after {
  transform: rotate(-45deg);
}
#page-top{
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}
/* link */
.link{
	position: fixed;
	  top: 30px;
	  left: 30px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 30px;
	mix-blend-mode: difference;
}
.link li a img{
	width: 60%;
}
/* contact */
.contact{
	border: 1px solid #fff;
	padding: 10px;
	margin-left: -40px;
	display: inline-block;
	
}
.contact2{
	border: 1px solid #fff;
	padding: 10px;
	display: inline-block;
	
}
.contact a,
.contact2 a{
	color: #fff;
}
.profile{
	border: 1px solid #4a2400;
	padding: 5px 10px;
	display: inline-block;
}
button{
	background: #4a2400;
	padding: 5px 30px;
	border-radius: 999px;
	margin: 10px;
}
button a{
	color: #fff;
}
/*========= ぼかしのためのCSS ===============*/

.mainblur{
	filter: blur(8px);
}

/*========= ナビゲーションのためのCSS ===============*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	z-index: -1;
	opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
	top:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
    /*動き*/
	transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 1;
	z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    display: none;/*はじめは非表示*/
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

#g-nav.panelactive ul {
    display: block;
}
/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center;
}

#g-nav li a{
	color: #4a2400;
	text-decoration: none;
	padding:30px 0;
	display: block;
	text-transform: uppercase;
	font-family: "yu-mincho-pr6n", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-size: 18px;
}

/*==================================================
機能編　5-2-2 ボタン：2本線が×に
===================================*/

/*ボタン外側*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 70px;
    height:70px;
	mix-blend-mode: difference;
}

/*ボタン内側*/

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 13px;
    height: 3px;
	background-color: #fff;
  }


.openbtn span:nth-of-type(1) {
	top:22px;
  	width: 50%;
}

.openbtn span:nth-of-type(2) {
	top:29px;
  	width:30%;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
    top: 20px;
    left: 16px;
    transform: translateY(6px) rotate(-45deg);
    width: 35%;
}

.openbtn.active span:nth-of-type(2) {
    top: 32px;
    left: 16px;
    transform: translateY(-6px) rotate(45deg);
    width: 35%;
}

@media screen and (min-width:981px){
	.sp{
		display: none;
	}
	#g-nav{
		background-image: url("../img/g-nav_bg.jpg");
	    background-size: cover;
		background-position: top left;
	}
	.note01{
	position: fixed;
	  top: 10%;
	  right: 20%;
	width: 3%;
	}
	.note02{
		position: fixed;
		  top: 20%;
		  left: 15%;
		width: 1.5%;
	}
	.note03{
		position: fixed;
		  bottom: 10%;
		  left: 20%;
		width: 1.5%;
	}
	.content1{
		width: 50%;
	}
	.logo img{
	width: 50%;
}
	.content2{
		position: absolute;
	  top: 50%;
	  right: 10%;
	  transform: translateY(-50%);
	}
	a.tel-number {
		pointer-events: none;   /* クリック無効 */
		cursor: default;        /* マウスカーソルを普通に */
  }
}
@media screen and (max-width:980px){
	.pc{
		display: none;
	}
	#g-nav{
		background-image: url("../img/g-nav_bg_sp.jpg");
	    background-size: cover;
		background-position: top left;
	}
	.content1,
	.content3,
	.content4,
	.content5{
		width: 100%;
	}
	.note01{
		position: fixed;
		  top: 15%;
		  right: 20%;
		width: 7%;
	}
	.note02{
		position: fixed;
		  top: 15%;
		  left: 15%;
		width: 4%;
	}
	.note03{
		position: fixed;
		  bottom: 15%;
		  left: 6%;
		width: 3%;
	}
	.logo img{
	width: 70%;
}
	.content2{
		width: 100%;
		padding: 15px;
		position: absolute;
	  top: 20%;
	  left: 50%;
	  transform: translateX(-50%);
	}
	.h2{
	font-size: 2em;
	letter-spacing: 0.3em;
}
	.content3,
	.content4,
	.content5{
		padding: 15px;
	}
.sub-head{
	font-size: 1.3em;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}
.address{
	font-size: 1em;
}
.address span{
	font-size: 1.1em;
}
.name{
	font-size: 1.2em;
}
	.text{
		font-size: 1.1em;
	}
.link{
		gap: 0;
	}
.link li a img{
	width: 40%;
}
.nav{
	padding: 0 40px;
	}
.nav li{
	margin: 0 0 0 15px;
}
.nav li:nth-of-type(1){
	margin-left: 0;
}
.nav li:nth-of-type(3),
	.nav li:nth-of-type(4){
	margin-top: 15px;
}
.nav li:nth-of-type(4){
	margin-left: 30px;
}
.nav li a{
	font-size: 1.1em;
}
}
/*==================================================
gallery
===================================*/
#gallery-wrap,
#profile-wrap{
	min-height: 100vh;
	background-image: url("../img/gallery_bg.jpg");
	background-size: cover;
}
#gallery{
	padding: 100px;
	text-align: center;
}
#gallery .h2,
#gallery .sub-head{
	color: #4a2400;
}
.category{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px 0;
	gap: 15px;
}
.category img{
	width: 6%;
}
.category p{
	font-size: 2em;
	color: #4a2400;
}
.gallery{
columns: 3;/*段組みの数*/
padding:30px 30px 0;/*ギャラリー左右に余白をつける*/
margin:0;
}

.gallery li {
    margin-bottom: 20px;/*各画像下に余白をつける*/
	list-style:none;
}

/*ギャラリー内のイメージは横幅100%にする*/
.gallery img{
	width:100%;
	height:auto;
	vertical-align: bottom;/*画像の下にできる余白を削除*/
}
/*==================================================
coaching
===================================*/
#coaching-wrap{
	padding: 80px 0;
	background-image: url("../img/coaching_bg.jpg");
	background-size: cover;
	background-position: bottom right;
	min-height: 100vh;
}
#coaching{
	text-align: center;
	color: #4a2400;
	font-size: 1.1em;
}
.coaching_p{
	line-height: 2.2;
}
#coaching h3{
		margin-top: 40px;
	}
.wrap{
	text-align: center;
	margin-bottom: 30px;
}
.example{
	text-align: left;
}
.contact1{
	background: #4a2400;
	border: none;
	display: inline-block;
	padding: 10px 20px;
	margin-top: 30px;
}
.contact1 a{
	color: #fff;
}
/*==================================================
profile
===================================*/
#profile{
	text-align: center;
	color: #333;
	padding: 80px;
}
.profile_img{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40px;
}
.profile_img img{
	width: 15%;
}
.profile_img p{
	font-size: 1.5em;
}
#profile .category{
	padding: 30px 0 10px;
}
#profile .category p{
	color: #333;
}
.career{
	width: 70%;
	margin: 0 auto;
}
.career p{
	text-align: left;
}
@media only screen and (min-width: 769px){
	.example{
		width: 40%;
		margin: 0 auto;	
		}
	#coaching img.deco{
		width: 10%;
}
}
@media only screen and (max-width: 768px) {
	#gallery,
	#profile{
		padding: 130px 10px 50px;
}
	.gallery{
		columns: 1;
		padding: 0 15px;
	}
	.category{
		padding: 0 0 30px;
	}
	.category img{
		width: 15%;
	}
	.category p{
		font-size: 1.5em;
	}
	#coaching{
		padding: 80px 10px 50px;
	}
	#coaching-wrap{
		padding-bottom: 50px;
		background-image: url("../img/coaching_bg_sp.jpg");
}
	.example{
		width: 80%;
		margin: 0 auto;	
	}
	#coaching img.deco{
		width: 60%;
	}
	.profile_img{
		display: block;
	}
	.profile_img img{
		width: 50%;
	}
	.career{
		width: 90%;
	}
}
/*==================================================
動きのcss
===================================*/
/*くるっ*/
.flipLeft{
animation-name: flipLeft;
animation-duration:0.5s;
animation-fill-mode:forwards;
perspective-origin: left center;
opacity: 0;
}

@keyframes flipLeft{
  from {
   transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
 	opacity: 0;
  }

  to {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
  }
}
/* ぼかしから出現 */
.blur{
	animation-name:blurAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}

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

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







