@charset "UTF-8";
html,body,nav,div,h1,h2,h3,h4,table,td,tr,ul,li{
	margin: 0px;
	padding: 0px;
}
body *{
  /*border: solid 1px black;*/
}

body {
  background-color:#27ce27;
	width : 100%;
}
@media screen and (min-width: 761px) {
	br.sp{
		display: none;
	}
}
@media screen and (max-width: 760px) {
	br.pc{
		display: none;
	}
}

div#wrap{
  text-align: center;
  padding : 0px 10px;
}
div#wrap a{
  color: #010101;
}
div#wrap p, div#wrap li, div#wrap table{
  font-size: 18px;
  line-height: 28px;
}
@media screen and (max-width: 760px) {
  div#wrap p, div#wrap li, div#wrap table{
    font-size: 16px;
    line-height: 26px;
  }
}
span.red{
	color: red;
	font-weight: bold;
}
span.bold{
	font-weight:bold;
}

div#mainImg {
	margin-top: 50px;
	width : 100%;
	text-align: center;
	margin-bottom: 50px;
}
div#mainImg img{
	width : 100%;
	max-width : 600px;
}


h3{
  font-size: 36px;
  margin: 0px -10px 30px;
  height : 80px;
  line-height: 75px;
  background-image: url(../img/piano.png);
  background-repeat: repeat-x;
  background-size: 280px;
}
@media screen and (max-width: 760px) {
  h3{
    font-size: 28px;
		margin: 0px -10px 28px;
		height : 75px;
		line-height: 70px;
		background-size: 270px;
  }
}


div#headingWrap{
	max-width : 500px;
	margin: auto;
}
div#headingWrap h2{
	font-size: 40px;
	font-family:'Baloo Bhaijaan';
	font-weight: normal;
	color: #FFB900;
	background-color: rgba(255,255,255,1);
	border-radius: 30px;
	margin-top: 40px;
	padding: 5px 10px;
}
@media screen and (max-width: 760px) {
	div#headingWrap h2{
	margin-top: 20px;
	font-size: 32px;
	}
}

div#headingWrap p#catch{
	margin: 40px auto 0px;
	font-size: 20px;
	font-weight: bold;
	line-height: 30px;
}
@media screen and (max-width: 760px) {
	div#headingWrap p#catch{
	margin: 20px auto 0px;
		font-size: 18px;
		line-height: 28px;
	}
}
.marker {
background: linear-gradient(transparent 60%, rgba(255, 2, 2, 0.492) 60%);
}


div#flow {
  margin-top: 100px;
}
div#flow p:not(.downArrow){
  max-width: 500px;
  margin: 5px auto;
  background-color: rgba(255,255,255,0.5);
  border-radius: 10px;
  padding : 8px 10px;
}

div#flow p.nagare{
	font-size: 20px;
}

div#flow p.white{
	font-size: 26px;
  background-color: rgba(255,255,255,0.8);
}
div#flow p.downArrow{
  margin: 0px;
}
div#flow p.downArrow::before{
  content: "↓";
  font-weight: bold;
}



div#note {
  margin-top: 100px;
}
div#note h4,div#note p{
  text-align: center;
  margin: auto;
  max-width : 600px;
}
div#note h4{
  font-size: 24px;
	text-decoration: underline;
  margin-bottom: 10px;
}
@media screen and (max-width: 760px) {
  div#note h4{
    font-size: 24px;
  }
}

div#note p{
	font-size: 20px;
  margin-bottom: 30px;
}

/* OGP画像のサイズ調整 */
div#note img {
	width: 100%;          /* レスポンシブ対応 */
	max-width: 400px;     /* 最大幅を400pxに制限 */
	height: auto;         /* アスペクト比を保持 */
	display: block;       /* 余計な隙間をなくす */
	margin: 10px auto;    /* 中央配置 */
	border-radius: 10px;  /* 角を少し丸める */
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* 軽い影を追加 */
	background-color: rgba(255,255,255,0.8);
  }
  
  /* モバイル対応 */
  @media screen and (max-width: 760px) {
	div#note img {
	  max-width: 300px;  /* モバイル時は最大幅を300pxに */
	}
	.image-caption {
		font-size: 10px;  /* スマホではフォントサイズを小さく */
	}
  }

/* 画像の下に説明文を配置 */
.image-caption {
	text-align: center;
	font-size: 14px;
	color: #555;
	margin-top: 5px;
	margin-bottom: 15px;
  }
  

div#thanks{
	max-width : 400px;
	margin: 0px auto -35px;
	position: relative;
  }
  div#thanks img{
	max-width : 200px;
	width : 50%;
	vertical-align: middle;
  }
  
  p.balloon{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	padding : 10px 20px;
	text-align: left;
	font-size : 14px;
	font-weight : bold;
	background-color: white;
	border-radius: 15px;
  }
  
  p.balloon::before{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: -23px;
	top: 30px;
	border-right: 25px solid white;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
  }
