@charset "utf-8";

.is-txt-custom{color:#;}
.is-bgc-custom{background-color:#;}

.is-txt-custom-pale{color:#C490BF;}
.is-bgc-custom-pale{background-color:#C490BF;}

.is-txt-custom-deep{color:#601986;}
.is-bgc-custom-deep{background-color:#601986;}


/* index */
.ssc-box{position: relative;display: block;overflow: hidden;}

.ssc-img{background: transparent;overflow: hidden;border-radius:50%;}

.ssc-img img{transform:scale(1);width: 100%;height: auto;transition:opacity .3s,transform .3s;}

.ssc-box:hover .ssc-img img{transform:scale(1.05);transition:opacity .3s,transform .3s;}

.ssc-title{display: flex;flex-flow:column wrap;justify-content:center;align-items:center;}

.ssc-title h4{font-size:1.125em;line-height: 1;text-align: center;font-weight: 700;margin-top: 1em;}
	@media only screen and (max-width:767px)	{.ssc-title h4{font-size:1em;}}
	

.ssc-box + p{margin-top: 1em;}


.content-box{padding-top: 6rem;}
	@media only screen and (max-width:1439px)	{.content-box{padding: 5rem 0 2rem;}}
	@media only screen and (max-width:1199px)	{.content-box{padding: 4rem 0 2rem;}}

.content-box-inner{border-top: 1px solid #212121;padding-top: 2.25rem;}
	@media only screen and (max-width:1199px)	{.content-box-inner{padding-top: 2rem;}}
	@media only screen and (max-width:991px)	{.content-box-inner{padding-top: 1.75rem;}}

.order-lg-1 .content-box-inner{padding-right: 5rem;}
.order-lg-2 .content-box-inner{padding-left: 5rem;}
	@media only screen and (max-width:1439px)	{
		.order-lg-1 .content-box-inner{padding-right: 4rem;}
		.order-lg-2 .content-box-inner{padding-left: 4rem;}
	}
	@media only screen and (max-width:1199px)	{
		.order-lg-1 .content-box-inner{padding-right: 3rem;}
		.order-lg-2 .content-box-inner{padding-left: 3rem;}
	}
	@media only screen and (max-width:991px)	{
		.order-lg-1 .content-box-inner{padding-right: 0;}
		.order-lg-2 .content-box-inner{padding-left: 0;}
	}


.content-box-inner h3{font-size: 1.5em;margin-bottom: 1em;font-weight: 700;}
	@media only screen and (max-width:991px)	{.content-box-inner h3{font-size: 1.25em;text-align: center;}}

.content-box-inner p{line-height: 1.5;}


.banner-appeal{position: absolute;top: 0;left: 5rem;right: 5rem;display: flex;align-items: center;height: 6rem;}
	@media only screen and (max-width:1439px)	{.banner-appeal{left: 4rem;right: 4rem;height: 5rem;}}
	@media only screen and (max-width:1199px)	{.banner-appeal{left: 3rem;right: 3rem;}}
	@media only screen and (max-width:991px)	{.banner-appeal{left: 0;right: 0;justify-content: center;align-items: flex-start;height: 4rem;}}



.banner-appeal span{display: block;background-color: #601986;color:#FFF;line-height: 1.25;padding: 1em 2.5em;font-weight: 700;}


.ouchien{padding:0 4rem 3rem;border-bottom: 1px solid #601986;}
	@media only screen and (max-width:1199px)	{.ouchien{padding:0 3rem 2rem;}}
	@media only screen and (max-width:991px)	{.ouchien{padding:0 2rem 1rem;}}
	@media only screen and (max-width:767px)	{.ouchien{padding:0 1rem 1rem;}}
	@media only screen and (max-width:575px)	{.ouchien{padding:0 0rem 1rem;}}

.ouchien h4{font-size: 1.25em;margin-bottom: 1em;font-weight: 700;}

.ouchien p{line-height: 1.5;}




.dd-date{display: table;width: 100%;}
.dd-date + .dd-date{border-top: 1px solid #fff;}
.dd-date dt,.dd-date dd{display: table-cell;vertical-align: top;padding: .5rem 1rem;}

.dd-date dt{font-weight: normal;border-right: 1px solid #fff;}

.dd-date > dt{background: #DDD;width:7em;}

.dd-inner .dd-date > dt{background: #efefef;width:8em;}


.dd-date dd{background: #f6f6f6;}

	@media only screen and (max-width:575px)	{.dd-date dt,.dd-date dd,.dd-inner .dd-date dt,.dd-inner .dd-date dd{display: block;width: 100%;}}


.dd-inner{margin: -.5rem -1rem;}



.balloon{
	background-color: #C490BF;color:#FFF;border-radius:50%;
	font-size: 1.5em;line-height: 1.25;
	font-weight: 900;
	margin-bottom: 1em;padding:1em;
	width:75%;
	display: inline-flex;justify-content: center;align-items: center;
	position: relative;
}
	@media only screen and (max-width:991px)	{.balloon{width:100%;}}

.balloon span{display: block;position: relative;z-index: 1;}

.balloon:before,.balloon:after{content: '';border-radius:50%;position: absolute;background-color: #C490BF;}

.balloon:before{width: 50%;height: 50%;top: -7.5%;left: 15%;display: none;}
.balloon:after{width: 33%;height: 50%;right: 15%;bottom: -7.5%;}


.balloon small{display: block;font-size: 0.75em;margin-bottom: .5em;text-align: center;}


.tit-events{font-size: 1.5rem;display: flex;align-items: center;margin-bottom: 1em;}
	@media only screen and (max-width:767px)	{.tit-events{font-size: 1.25rem;}}

.tit-events small{
    background-color: #601986;color: #fff;
    font-size: 1.25rem;text-align: center;
    font-weight: 900;
    margin-right: 1em;padding: .5em 1rem;
	width: 5em;
    position: relative;
}
	@media only screen and (max-width:767px)	{.tit-events small{font-size: 1.125rem;}}

.tit-events small:after{
    content: "";
    border-color: transparent transparent transparent #601986;
    border-style: solid;
    border-width: .375rem .75rem;
    position: absolute;
    top: 50%;left: 100%;bottom: 50%;
    margin: -6px 0;
}


.cmn-tb.events th{width: 5em;text-align: center;}
	@media only screen and (max-width:575px)	{.cmn-tb.events th{width: 100%;text-align: left;}}

.cmn-tb.events td small{}


.point{list-style:none;counter-reset: point;}
	@media only screen and (max-width:767px)	{.point{}}
		
.point li{
	background-color: #601986;color: #fff;
	font-size: 1.25em;line-height: 1.5;padding: 1em 1em 1em 3.5em;}
	@media only screen and (max-width:767px)	{.point li{font-size: 1.125em;padding: .5em .5em .5em 2.75em;}}
		
.point li:before {
	background-color: #FFF;color: #601986;
	counter-increment: point;
	content: "" counter(point) "";
	text-align: center;
	display: inline-block;
	margin-right: 1em;margin-left: -2.5em;
	
	width: 1.5em;font-weight: 900;
	}
	@media only screen and (max-width:991px)	{.point li:before{font-size: 1.125em;margin-right: .5em;margin-left: -2em;}}
	@media only screen and (max-width:767px)	{.point li:before{font-size: 1em;margin-right: .5em;margin-left: -2em;}}
		
.point li strong{font-weight: 900;}


.point li + li{margin-top: .5rem;}
	@media only screen and (max-width:767px)	{.point li + li{margin-top: .25rem;}}


.cmn-tb.lesson th{width: 7em;text-align: center;}
	@media only screen and (max-width:575px)	{.cmn-tb.lesson th{width: 100%;text-align: left;}}
.cmn-tb.lesson td small{}


.aim-at{list-style:none;counter-reset: point;}
	@media only screen and (max-width:767px)	{.aim-at{}}
		
.aim-at p{
	background-color: #C490BF;color: #FFF;
	font-size: 1.125em;line-height: 1.5;padding: .5em .5em .5em 3em;font-weight: 900;width: 100%;}
	@media only screen and (max-width:575px)	{.aim-at p{}}
		
.aim-at p:before {
	background-color: #FFF;color: #601986;
	counter-increment: point;
	content: "" counter(point) "";
	text-align: center;
	display: inline-block;
	margin-right: 1em;margin-left: -2.5em;
	
	width: 1.5em;font-weight: 900;
	}
		
/*2023/11/27追加*/
.title02 {
	font-size: 28px;
}
@media only screen and (max-width:575px)	{
	.title02 {
		font-size: 1.5em;
	}
}


/* 2024/04/23追加 */
.fix_icon {
	width: 3.75rem;
	height: 3.75rem;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 1rem;
	bottom: 5.6rem;
	z-index: 10;
}
.fix_icon:hover {
	animation: rotates 0.7s linear infinite;
}
@media only screen and (max-width:991px) {
	.fix_icon {
		width: 2.25rem;
		height: 2.25rem;
		right: .25rem;
		bottom: 4.25rem;
	}
	.fix_icon img {
		width: 100%;
		height: auto;
	}
}