@charset "UTF-8";
/*
	99Lime.com HTML KickStart by Joshua Gatcke
	style.css

*/

/*---------------------------------
	IMPORTS
-----------------------------------*/
@import url(http://fonts.googleapis.com/css?family=Arimo:400,700);

/*---------------------------------
	OVERRIDES
----------------------------------*/
h1,h2,h3,h4,h5,h6{
/*font-family: "Arimo", arial, verdana, sans-serif;*/
font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
/*font-family: 'Noto Sans Japanese', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
 font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; */
font-weight:normal;

}

thead th,
tbody th{
	font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

button,
a.btn,
input[type="submit"],
input[type="reset"],
input[type="button"]{
font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

.menu{
font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

blockquote{
font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

p.min{
/* font-family: 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro',"HG明朝E",'ＭＳ Ｐ明朝','MS PMincho',serif; */
font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
font-weight: normal;
font-size:1.4em;
color: #bb5577;
}

#topnav{
	font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}


/*---------------------------------
	LAYOUT
-----------------------------------*/
body{
margin:0;
padding:0 0 0 0;
/*color:#000;
background:#efefef url(css/img/gray_jean.png);*/
background: :#fff;
/*font:normal 0.9em/150% 'Arimo', arial, verdana, sans-serif;*/
color:#6f6355;
/* font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif; */
font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
font-size:90%;
line-height:1.7;
/*text-shadow: 0 0 1px transparent;*/ /* google font pixelation fix */
}

#wrap{
width:100%;
background:#fff;
margin:30px auto 30px auto;
padding:0 2%;
border:1px solid #ccc;
}


#box{
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
/*width:100%;*/
/*background:#e1fae3;*/
/*background:url(images/bg.png);*/
padding:20px;
margin-bottom: 25px;
border:1px solid #e6c2ce;
/*background-color: #f2e8e4;*/
background-color: #fff;
}
#box a{color:#9e3f5f;text-decoration:underline;}
#box a:hover{text-decoration:none;}

#footer{
/*text-align:center;
text-shadow:0px 1px 1px #fff;*/
padding:20px;
margin:0;
border-top:1px solid #ddd;
color:#fff;
font-size:0.8em;
position: relative;
top:0;
left:0;
background:#dd83a1;
overflow:hidden;
line-height:1;
}
    #footer a{color: #fff; text-decoration:none;}
    #footer a:hover{text-decoration:underline;}
    #footer a:active, a:focus{outline:0;}
    #footer img {margin-top: 10px;}


#link-top{
	display:none;
}

/* NAV BAR*/
.navbar{
position:fixed;
top:0;
left:0;
width: 100%;
background:#000;
color:#fff;
z-index:1000;
}

	.navbar #logo{
	position:absolute;
	top:0;
	right:0;
	padding:0.5em 1em;
	font-size: 1.7em;
	color:#efefef;
	text-decoration:none;
	}

	.navbar span{
	color:#86dc00;
	}


	.navbar ul{
	display:inline-block;
	margin:0;
	padding:0;
	}

		.navbar li{
		margin:0;
		padding:0;
		list-style-type:0;
		display:inline-block;
		}

		.navbar li a{
		display:inline-block;
		color:#efefef;
		padding:1em 1.3em;
		text-decoration:none;
		text-transform: uppercase;
		line-height:100%;
		font-size: 1.2em;
		}


/****/
ul#topnav{
clear:both;
overflow:hidden;
list-style: none;
margin:0 auto;
}

ul#topnav li{
float:left;
margin:0 auto;
text-align:center;
border-right:1px dotted #e6c2ce;
width: 16.6%;
/* width: 20%; */
}
ul#topnav li.last{
border-right:0;
}

ul#topnav a{
/*width:190px;*/
/* font-size: 1.1em; */
font-weight: 500;
text-decoration:none;
/* font-size:12px; */
display:block;
/*padding:15px 0;*/
padding:10px 5px;
color:#bb5577;
}

/* PC用 */
@media all and (min-width: 1024px) {
/*@media all and (min-width: 1024px) and (max-width: 1280px) {*/
/*@media only screen and (min-width:960px){*/
	ul#topnav{
/*	width:940px; 
	width:1180px;*/
	padding:0;
	}
}
/* モニター幅960px以下 */
/*@media all and (min-width: 768px) and (max-width: 1024px) {*/
/*@media only screen and (max-width:960px){*/
@media only screen and (max-width:1024px){
	ul#topnav{
	clear:both;
	width:100%;
	}

	ul#topnav li{
	width:33%;
	border-right:1px dotted #eeccdd;
	border-bottom:1px dotted #eeccdd;
	box-sizing:border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
	}

	ul#topnav li:nth-child(3n){border-right:0;width:34%;}

	ul#topnav li a{
	width:100%;
	border:0;
	}

	ul#topnav li:first-child a,ul#topnav li:last-child a{width:100%;}
}

@media only screen and (max-width: 799px){
    /* 画像メニューをテキスト表示に切り替える */
    ul#topnav li a {text-decoration:none;}
    ul#topnav li a:before {content: attr(data-label);}
    ul#topnav li a:hover{text-decoration:underline;}
    ul#topnav li img {display: none;}
}

/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
	ul#topnav li{width:50%;padding: 0;}
	ul#topnav li:nth-child(3n){
        border-right:1px dotted #eeccdd;
    	/*border-right:1px solid #4e0210;*/
	    width:50%;
	}	
	ul#topnav li:nth-child(2n),ul#topnav li:nth-child(6n){border-right:0;}
    
    
}
/****/
.logo{float:left;}
.info{float:right;}

@media only screen and (max-width: 480px){
  .logo, .info {
  clear: both;
  width: 100%;
  float: none;
  text-align: center;
  }

  .logo img {
  float: none;
  padding: 0;
  margin-top: 10px;
  }
    
  .mainimg img {width: 100vw;}
}

.callout{
background:#bb5577;
/*padding:3em 0;*/
    padding: 0;
/*color:#fff;
box-shadow:inset 0 0 10px rgba(0,0,0,0.2);
text-align: center;
text-shadow:0px 1px 3px rgba(0,0,0,0.2);*/
display:block;
padding: 10px 0;
/* margin: 10px 0; */
}
	/*.callout + div.grid{margin-top:50px;}*/
	 a.callout{cursor:pointer;}
	 .callout i.icon-4x{font-size:6em;}
	 /* .callout h4{margin-bottom:30px;} */
	 .callout-top{margin:50px 0 0 0;}
	 .callout p{margin-bottom:0;}
	 .callout .button{margin-top:10px;}
     .callout.pink{background: #fbf4f2;}
     .callout.back{background: url(images/back.png);}

.callout_header{
background:#bb5577;
padding:5px 0 0 10px;
color:#fff;
display:block;
}
	 .callout_header h1{font-size:0.8em;}

#mc_embed_signup{
padding:30px 0;
}

#ui-preview{
border:5px solid #ddd;
margin:30px 0;
display:block;
}

.main_ttl img {margin:0 10px 15px 15px;}
.sec_ttl img {margin:0 5px 5px 5px;}

.lessoninfo a{color:#bb5577;text-decoration:none;}
.lessoninfo a:hover{text-decoration:underline;}
a.lessonbox{
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 20px;
padding:2%;
/* margin-bottom: 25px; */
border:2px solid #e6c2ce;
background-color: #fff;
    text-decoration:none;
    color:#bb5577;
}
/*a.lessonbox {color:#fff;text-decoration:none;}*/
a.lessonbox:hover{
    background:#e6c2ce;
    color:#fff;
}

.top_lessonbox{
	padding:2%;
	text-align: center;
}

a.top_lessonbox{
	display: inline-flex;
	align-items: center;
	justify-content: center;
  	border-radius: 30px;
	background-color: #dd83a1;
    text-decoration:none;
	color: #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	transition: background-color 0.3s ease;
	/* font-size: 1.1rem; */
	margin-bottom: -5px;
}

a.top_lessonbox:hover{
	background:#e6c2ce;
    color:#bb5577;
}

.concertinfo{border-bottom:dotted #eeccdd 1px;}
.oshirase dl dt,.oshirase dl dd{display:table-cell;}
/*.oshirase dl{padding-top:5px;}*/
.concertinfo dl dt{padding-right:15px;font-size: 90%;white-space: nowrap;}
.oshirase a{color:#bb5577;text-decoration:none;}
.oshirase a:hover{text-decoration:underline;}
.oshirase {margin-bottom:50px; }
/*.oshirase dl dd a{color:#bb5577;text-decoration:none;}
.oshirase dl dd a:hover{text-decoration:underline;}*/


.footerlink ul{
    margin-left: 0;
}
.footerlink li{
  margin:0;
  padding:0;
  list-style: none;
/*list-style-type:0;
display:inline-block;*/
}

.footerlink li a{
display:inline-block;
color:#fff;
padding:0.5em;
text-decoration:none;
}

.copy{
    font-size: 85%;
    text-align: center;
    margin-top: 3em;
}

.menu_linkwrap {
    display: flex;
    gap: 7px 7px;
    flex-wrap: wrap;
	padding: 15px;
    background-color: #fbf4f2;
    border-radius: 5px;
	margin-bottom: 20px;
}
.menu_linkwrap a {
    white-space: pre-wrap;
	text-decoration: none;
	color: #bb5577;
}

.menu_link {
    display: flex;
	justify-content:center;
    align-items: center;
    /* width: 178px; */
    /* height: 50px; */
	padding: .5em .9em;
	/* padding: 0 12px; */
    border: 1px solid #bb5577;
    border-radius: 20px;
    font-size: .9em;
    /* font-weight: 500; */
    white-space: nowrap;
	background-color: #fff;
}

/* .menu_link::after {
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #bb5577;
    border-right: 2px solid #bb5577;
    content: '';
} */

.menu_link:hover {
    /* border: none; */
    background-color: #bb5577;
    color: #fff;
    /* font-weight: 600; */
}

/* .menu_link:hover::after{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
} */

h3.lesson{
     font-size: 1.5em !important;
	 font-weight: 500 !important;
}

.circle-image {
  width: 75px;        /* 横幅を指定（お好みで調整） */
  height: 75px !important;       /* 高さを指定（widthと同じにすると正円になる） */
  object-fit: cover;   /* はみ出しをカットして中央にフィット */
  border-radius: 50%;  /* 丸くする */
}


.music-link-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 初期は2列（スマホ） */
  gap: 10px;
  padding: 5px 10px;
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .music-link-grid {
    grid-template-columns: repeat(4, 1fr); /* PC表示時は4列 */
  }
}

.music-link-box {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #dd83a1; /* さくら色 */
  color: #fff;
  text-decoration: none;
  padding: 14px;
  border-radius: 30px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
  /* font-size: 1.1rem; */
}

.music-link-box:hover {
  background-color: #f8bbd0;
}

.music-link-box .icon {
  font-size: 1.5rem;
  margin-right: 8px;
}

