@charset "UTF-8";
/* CSS Document */

body{
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
  font-size: 16px;
  line-height: 1.6;
	letter-spacing: 3px;
}
.container{
  width: 1080px;
  position: relative;
  margin: 0 auto;
}
#content{
  padding: 50px 0;
}
a{
	text-decoration: none;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}
a:hover{
	opacity: 0.6;
}
.cnt_wrapper{
  margin-bottom: 50px;
}
.flexbox{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.flexbox.column_2 > div{
  flex-basis: 50%;
}
.ttl_bg_01{
  padding: 10px;
  background-color: #8f6fa2;
}
.action_box a{
	display: block;
	width: 80%;
	max-width: 720px;
	margin: 0 auto;
}

/* -------------------------------------------------------
フッター
------------------------------------------------------- */
footer#footer{
  background-color: #f5f5f5;
  padding: 30px 0 0;
}
footer#footer figure{
  text-align: center;
}
#copy{
  font-size: 12px;
  text-align: center;
  padding: 15px 0;
}

/* -------------------------------------------------------
コンテンツ ページ01
------------------------------------------------------- */
#mainVisual{
	margin-top: 15px;
}
#trouble .cnt_inner > p{
  font-size: 30px;
  text-align: center;
  margin-bottom: 30px;
}
#trouble .cnt_inner ul li{
  padding: 15px 10px 15px 60px;
  background: url('../../img/icon_check.png') no-repeat left center;
  background-size: 39px 35px;
  color: #ca0033;
  border-top: solid 1px #cacaca;
}
#trouble .cnt_inner ul li:first-child{
  border: none;
}
#semi_block .flexbox.column_2 div:last-child figure{
  text-align: right;
}
.reason_block{
  margin-bottom: 30px;
}
.reason_block > figure{
  margin-bottom: 20px;
}
.reason_block p{
  font-size: 22px;
  letter-spacing: 2px;
}
.reason_block ul{
  margin-top: 30px;
}
.reason_block ul li{
  font-size: 22px;
  letter-spacing: 2px;
}
.teacher_name{
  font-size: 24px;
  margin-bottom: 20px;
}
.teacher_prof{
  font-size: 20px;
  margin-bottom: 20px;
  line-height: 1.5;
}
.teacher_prof_sub{
  font-size: 20px;
	margin-bottom: 30px;
  line-height: 1.5;
}
.works_list{
	overflow: hidden;
	margin-top: 20px;
}
.works_list li{
	float: left;
	margin-left: 20px;
	margin-bottom: 20px;
}
.works_list li:first-child,
.works_list li:nth-child(6){
	margin-left: 0;
}
.voice_wrapper{
	margin-bottom: 30px;
}
.voice_sub_ttl{
	color: #ca0033;
	font-size: 28px;
	font-weight: bold;
	padding: 0 20px;
	margin-top: 20px;
	margin-bottom: 30px;
    line-height: 180%;
}
.voice_sub_ttl span{
	background: linear-gradient(transparent 85%, #ffffa8 0%);
}
.voice_text{
	font-size: 18px;
	line-height: 1.8;
	padding: 0 20px;
}
@media screen and (max-width: 480px) {
.voice_sub_ttl{
	font-size: 16px;
    line-height: 180%;
}    
}

/* -------------------------------------------------------
コンテンツ ページ02
------------------------------------------------------- */
.index_01{
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 30px;
}
.index_01 span{
	font-size: 40px;
	color: #ff0000;
}
.about_sec_01{
	overflow: hidden;
	padding: 0 20px;
}
.about_sec_01 .left_box{
	float: left;
	width: 700px;
}
.about_sec_01 .left_box p{
	font-size: 26px;
	line-height: 1.8;
}
.about_sec_01 .right_box{
	float: left;
	width: 320px;
	margin-left: 20px;
}
#textSec .cnt_inner p{
	margin-top: 30px;
	font-size: 26px;
	line-height: 1.8;
}
#textSec .cnt_inner p:first-child{
	margin-top: 0;
}
.textStyle_01{
	color: #ff0000;
	text-decoration: underline;
}
.textStyle_02{
	color: #003399;
}
.textStyle_03{
	color: #003399;
	font-size: 30px;
	text-decoration: underline;
}
.textStyle_04{
	color: #ff0000;
	font-size: 36px;
}
.textStyle_05{
	color: #ff0000;
	font-size: 40px;
}
.textStyle_06{
	color: #ff0000;
	font-size: 32px !important;
	text-align: center;
}
.textStyle_07{
	color: #ff0000;
	background-color: #ffff00;
}
.sm_text{
	font-size: 20px !important;
	color: #666666;
}
#textBox .cnt_inner p,
#info_02 .cnt_inner p{
	margin-top: 30px;
	font-size: 26px;
	line-height: 1.8;
}
.info_list li{
	padding: 15px 0;
	border-top: solid 1px #cacaca;
	overflow: hidden;
}
.info_list li p{
	float: left;
	width: 975px;
	margin-left: 15px;
	color: #8f6fa2;
	font-weight: bold;
}
.info_list li p:first-child{
	width: 60px;
	text-align: center;
}
.info_list li:first-child{
	border: none;
}
.pink_block{
	display: block;
	border: solid 3px #fa94c4;
	background-color: rgba(250,148,196,0.1);
	padding: 20px;
	margin-top: 30px;
}
.pink_block li{
	padding: 15px 0;
	font-size: 26px;
	line-height: 1.8;
}
.pink_block li span{
	background-color: #fa94c4;
}


/* -------------------------------------------------------
コンテンツ ページ03
------------------------------------------------------- */
.tab-area {
  display: flex;
  justify-content: space-around;
  cursor: pointer;
}
.tab-area .tab {
	width: 320px;
	height: 40px;
	line-height: 40px;
  text-align: center;
	font-size: 20px;
	background-color: #cccccc;
	border-radius: 20px;
}
.tab-area .tab a{
	color: #333333;
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
}
.tab-area .tab a:hover{
	text-decoration: none;
}
.tab-area .tab span{
	font-size: 40px;
	display: inline-block;
	transform: translate(0px, 15px);
}
.tab-area .tab.active {
  background-color: #cc0033;
}
.tab-area .tab.active a{
  color: #ffffff;
}
.content-area {
  text-align: center;
}
.content-area .content {
  display: none;
}
.content-area .content.show {
  margin-top: 20px;
  display: block;
}
.movie_ttl{
	text-align: center;
	color: #ff0000;
	font-size: 32px;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
	margin: 20px auto;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* -------------------------------------------------------
アニメーション
------------------------------------------------------- */
.shiny-btn1 {
    display: block;
    position: relative;
    margin: 30px auto;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
}
.shiny-btn1::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 3s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn1 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}


.sp_only{
	display: none;
}


@media only screen and (max-width: 768px) {

	.pc_only{
		display: none;
	}
	.sp_only{
		display: block;
	}

	.container{
	  width: 90%;
	}
	.flexbox.column_2 > div{
	  flex-basis: 100%;
		margin-bottom: 20px;
	}
	#trouble .cnt_inner ul li,
	.reason_block p,
	.teacher_prof,
	.about_sec_01 .left_box p,
	#textSec .cnt_inner p,
	#textBox .cnt_inner p,
	#info_02 .cnt_inner p,
	.textStyle_03,
	#textBox .cnt_inner p,
	#info_02 .cnt_inner p,
	.pink_block li{
		font-size: 18px;
	}
	.teacher_name,
	.textStyle_04,
	.movie_ttl{
		font-size: 18px;
	}
	.works_list li{
		width: 46%;
		margin: 0 2% 20px !important
	}
	.index_01{
		font-size: 18px;
	}
	.index_01 span,
	.textStyle_05{
		font-size: 24px;
	}
	.about_sec_01 .left_box,
	.about_sec_01 .right_box{
		float: none;
		width: 100%;
		margin-left: 0;
		margin-bottom: 20px;
	}
	.sm_text{
		font-size: 16px !important;
	}
	.info_list li p:first-child{
		float: none;
		width: 100%;
		text-align: left;
	}
	.info_list li p{
		float: none;
		width: 100%;
		margin-top: 10px !important;
		margin-left: 0;
	}
	.tab-area{
		flex-wrap: nowrap;
	}
	.tab-area .tab{
		margin-bottom: 15px;
		height: 40px;
	}
	.tab-area .tab span{
		font-size: 14px;
		transform: translate(0px, 5px);
	}
	.teacher_prof_sub{
		font-size: 16px;
	}
}

/* -------------------------------------------------------
241122-追加
------------------------------------------------------- */

.present-bg {
	background: #FFF0E2;
	padding: 30px 0 50px;
}
.present {
	background: #fff;
	padding: 30px;
	display: flex;
	justify-content: center;
	gap: 48px;
	margin-bottom: 20px;
}
.present-tit {
	text-align: center;
}
.present-tit p {
	text-align: center;
	color: #FF4A47;
	font-weight: bold;
	font-size: 42px;
	text-align: center;
}
@media only screen and (max-width: 768px) {
	.present {
		gap: 10px;
		padding: 10px;
	}
	.present-tit img {
		width: 60%;
	}
}

.media {
	margin-top: 50px;
}
.media .media-item {
	border-bottom: 1px solid #ccc;
	padding:30px 0 60px;
	flex-wrap: wrap;
	display: flex;
	justify-content: space-between;
	gap: 48px;
}
@media only screen and (max-width: 768px) {
	.media .media-item {
		justify-content: center;
	}
}

.media .media-item .media-item-txt {
	max-width: 540px;
	width: 100%;
}
.media .media-item .media-item-txt p {
	margin-top: 1em;
	line-height: 1.8;
}
.media .media-item .media-item-txt .catch {
	font-size: 18px;
	font-weight: bold;
}
.media .media-item > figure {
	background: #FFF0E2;
	max-width: 440px;
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 2em 0;
	gap: 2em;
}
.js-toggle-btn {
	display: none;
}
@media only screen and (max-width: 768px) {
	.js-toggle {
		height: 33em;
		overflow: hidden;
		position: relative;
	}
	.js-toggle.active {
		height: 100%;
		overflow: none;
	}
	.js-toggle::before {
		content: "";
		background: rgb(255,255,255);
		background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
		width: 100%;
		height: 5em;
		display: block;
		position: absolute;
		bottom: 0;
	}
	.js-toggle-btn {
		position: absolute;
		bottom: 10px;
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.js-toggle.active::before ,
	.js-toggle.active .js-toggle-btn {
		display: none;
	}
	.js-toggle-btn > p {
		border: 1px solid #ccc;
		border-radius: 8px;
		background: #FF4A47;
		padding: 1em;
		display: block;
		width: 50%;
		color: #fff;
		font-weight: bold;
		text-align: center;
		position: relative;
		cursor: pointer;
	}
	.js-toggle-btn > p::after {
		content: "";
		width: 10px;
		height: 10px;
		border-right:2px solid #fff ;
		border-top:2px solid #fff ;
		display: block;
		transform: rotate(135deg);
		position: absolute;
		right: 2em;
		top: 50%;
		margin-top: -10px;
	}
}