@charset "utf-8";

h1,h2,h3,h4,h5,h6{  font-family: "M PLUS Rounded 1c";}
.font-bold{
	font-weight: 600;
}
.align-right{
	text-align: right;
}

/*SPの時*/
@media(max-width:750px){
.br::before {
	content: "\A" ;
	white-space: pre ;
}
	main h2 {
		line-height: 1.5;
		font-size: 2rem;
	}
	section#place{
		padding-top: 0;
	}
}
/*画面幅900px以上の追加指定*/
@media screen and (max-width:400px) {
header,#footer,section {
	padding: 2rem!important;
}
	#footer div.footer1 {
		font-size: 2rem;
	}
}
#footer .sitename{
	font-size: 2.5em;
}
/*挨拶*/
#message p{
	margin-top: 2rem
}
.youtubeTtl a{
	font-size: 2rem;
	text-decoration: none;
}
#youtube .btn a{
	width: 250px;
	margin: 1rem auto;
	font-size: 1.2rem;
	padding: 0.5rem 1rem;
	border-radius: 5px;
}
/*授業内容*/
#course h3{
	background: var(--primary-color);
	padding: 0.5rem 1rem;
	text-align: center;
	border-radius: 25px;
	font-size: 1.5rem;
}
#course .courseBlock{
	padding: 1rem;
}
#course .text{
	font-size: 1.1rem;
}
.priceBlock {
	border-top: #ddd solid 1px;
	padding: 1rem;
	text-align: center
}
.priceBlock-last{
	border-bottom: #ddd solid 1px;
	margin-bottom: 1.5rem;
}
/*担当講師*/
/* 全体（2カラム用） */
#teacher .profile-wrapper {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

/* ボックス */
#teacher .profile-box {
  display: flex;
  align-items: center;
  background: #e8f6ee;
  border-radius: 20px;
  padding: 20px;
  width: calc(50% - 10px); /* 2列 */
}

/* 画像エリア */
#teacher .profile-img {
  height: 20rem;
  background: #fff;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  text-align: center;
  width: 50%;
}

/* テキスト */

#teacher .profile-text {
  margin: 20px;
  line-height: 1.5;
  width: 100%;
  vertical-align: top;
}

#teacher h3{
	font-size: 1.5rem;
	border-bottom: #9dd7b7 solid 1px;
	text-align: center
}
@media screen and (max-width: 700px) {
  #teacher .profile-box {
    flex-direction: column; /* 横→縦 */
    align-items: flex-start; /* 左揃え（任意） */
  }

  #teacher .profile-text {
    margin-left: 0;      /* 横並び用の余白をリセット */
    margin-top: 15px;    /* 上に余白を追加 */
	  width: 100%;
  }
  #teacher .profile-img {
    width: 100%;
    height: auto; /* 高さも自然に */
  }
	.step-num{
		margin-top: -1rem;
	}
	.title{
		margin-top: 5rem;
	}
}
/* ▼タブレット・スマホ（1列） */
@media screen and (max-width: 1000px) {
 #teacher .profile-box {
    width: 100%;
  }
}

/*授業内容*/

/*2カラムボックス*/
/* 全体 */
.card2-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

/* ボックス */
.card2 {
  width: calc(50% - 10px); /* 2カラム */
  background: #ddd;
  border-radius: 15px;
  padding: 20px;
  box-sizing: border-box;
  background: #FFFFFF;
	margin-bottom:1.5rem;
	}
.card2 .text {
	color: #6F6F6F;
	line-height: 1.5;
}

.card .kyocho,.card2 .kyocho{
	color: #5DBD87;
	font-weight: 600;
	font-size: 1.2rem;
}

/* ▼スマホ（1カラム） */
@media screen and (max-width: 900px) {
  .card2 {
    width: 100%;
  }

.card2 h3 {
	line-height: 1.5;
  }
}

/* 3カラムボックス全体 */
.card3-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

/* 各ボックス */
.card3 {
  width: calc(33.333% - 14px); /* 3カラム */
  border-radius: 15px;
  padding: 20px;
  box-sizing: border-box;
  background: #FFFFFF;
	}
.card3 .text {
	color: #6F6F6F;
}

/* ▼タブレット（2カラム） */
@media screen and (max-width: 900px) {
  .card3 {
    width: calc(50% - 10px);
  }
}

/* ▼スマホ（1カラム） */
@media screen and (max-width: 600px) {
  .card3 {
    width: 100%;
  }
}
/*youtube*/
.video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
}

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*お問合せ*/
#contact{
	color: #fff;
}
#contact p{
	font-size: 1.1rem;
}
.price{
	color: var(--accent-color);
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.2
}
.price small{
font-size: 1rem	
}
.priceBlock strong{
	color: #000;
	font-size: 1.2rem;
}
@media screen and (min-width: 600px) {
#lesson h3{
	font-size: 1.5rem;
}
}
/*イベント*/
/* 全体（2カラム用） */
#event .profile-wrapper {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

/* ボックス */
#event .event-box {
  background: #fff;		/*背景色。css冒頭のprimary-colorを読み込みます。*/
  border-radius: 20px;
  padding: 20px;
	display: flex;
	max-width: 1000px;
	margin: 1rem auto;
	color: #555555;
}

#event h3{
	font-size: 2rem;
	margin: 0rem 0 2rem 0;
	line-height: 1.5;
	font-weight: 500;
}
#event .leftBox{
	display: flex;
	padding: 1.5rem;
	width: 70%;
	font-size: 1.6rem;
	font-weight: 500;
}
#event .rightBox{
	padding: 1.5rem;
	font-size: 1.8rem;
	color: #DF0003;
	text-decoration: none!important;
	text-align: right;
	width: 30%;
}
@media screen and (max-width: 900px) {
  #event .event-box {
    flex-direction: column; /* 縦並び */
    align-items: flex-start;
  }
	#event h3{
		font-weight: 500;
		font-size: 1.7rem;
	}
  #event .leftBox,
  #event .rightBox {
    width: 100%;
    padding: 0;
    text-align: center;
  }
	#event .leftBox{
		font-size:1.4rem;
	}
	#event .leftBox small{
		font-size:1rem;
	}
  #event .rightBox {
    text-align: right; /* ←好みで center でもOK */
    margin-top: 10px;
    font-size: 1.5rem;
  }
}
.diduction{
	text-decoration:line-through;
}
/*メインイメージ上のフォームへのボタン*/
.topBtn {
	position: absolute;
	top: 72vh;	/**/
	z-index: 1;
	width: 80vw;	/*幅は80%*/
	margin-left: 10vw;	/*左に10%空ける*/
	display: flex;
	align-items: right;

}
.topBtn .btn {
	position: absolute;
	right:0;
	align-items: right;
	text-align: right;	
}
.topBtn .btn a {
	border-radius: 5px;	/*角を少しだけ丸く*/	
	padding: 0.5rem 1.2rem;
}

@media screen and (max-width: 900px) {
	.topBtn {
		text-align: center;
		margin: 0 10vw;
		font-size: 1rem;
	}

}