@charset "utf-8";

/* ==========================================================================
	kvArea
========================================================================== */

#kvArea .textArea .txt.icon_leaf::before {
    background-image: url(/common_2024/img/icon/icon_flower03.svg);
}
@media not screen and (max-width: 767px) {
    #kvArea .textArea .txt.icon_leaf::before {
        background-size: 48px;
        top: -40px;
    }
}


/* ==========================================================================
	preparation
========================================================================== */
#preparation .accArea .accBtn._cont2{
	background-image: url(/common_2024/img/icon/icon_leaf.svg);
}
#preparation .accArea .accBtn._cont3 {
    background-image: url(/common_2024/img/icon/icon_schoolbag.svg);
}
#preparation .accArea .accBtn._cont4 {
    background-image: url(/common_2024/img/icon/icon_cherryblossom.svg);
}

#preparation .accIn .text{
    text-align: center;
}
#preparation .accIn .text._mt0{
    margin-top: 0;
}
#preparation .accIn .balloon02._mt16,
#preparation .accIn .graph_area{
    margin-top: 16px;
}
#preparation .accIn .graph_area._mt32 {
    margin-top: 32px;
}
#preparation .accIn .graph_area.imgW40p {
	width: 40.8%;
	margin: 16px auto 0;
}

@media not screen and (min-width: 767px){
	#preparation .accIn .graph_area.imgW40p {
		margin: 16px auto 0;
	}
	#preparation .accIn .graph_area.imgW40p {
		width: 85%;
	}
}

#preparation .contents_wrap .layoutCol4 .item {
  padding: 70px 0 25px;
}
#preparation .contents_wrap .layoutCol4 .item._cont1{
	background-image: url(/common_2024/img/icon/icon_pencil.svg);
	height: 167px;
}
#preparation .contents_wrap .layoutCol4 .item._cont2{
	background-image: url(/common_2024/img/icon/icon_leaf.svg);
	height: 167px;
}
#preparation .contents_wrap .layoutCol4 .item._cont3{
	background-image: url(/common_2024/img/icon/icon_schoolbag.svg);
}
#preparation .contents_wrap .layoutCol4 .item._cont4{
	background-image: url(/common_2024/img/icon/icon_leaf.svg);
}

#preparation .layoutCol4::before{
	background: url(/gakunen/img/preparation_img06_20280331.png) no-repeat center;
	background-size: 120px 120px;
}

#preparation .contents_wrap .textArea02{
	margin-top: 30px;
	background: #FFF;
    background-size: 40px;
    padding: 25px 0 45px;
    border-radius: 16px;
    font-size: 16px;
    line-height: 24px;
    font-weight: bold;
    text-align: center;
}

#preparation .textArea02 p {
	margin: 20px 30px 0;
	font-weight: bold;
	text-align: center;
}
@media not screen and (min-width: 767px){
	#preparation .accIn .balloon01 {
		font-size: 18px;
		line-height: 20px;
	}
	#preparation .accIn .balloon01.hasBlue {
		font-size: 20px;
		line-height: 24px;
	}
}

/* ==========================================================================
	learn
========================================================================== */

@media not screen and (max-width: 767px) {
	#learn .normal_txt {
		text-align: center;
	}
}

/* ==========================================================================
	kyozai
========================================================================== */
#kyozai .img_block {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
}
#kyozai .img_block .text {
	font-size: 16px;
	font-weight: 500;
}
#kyozai .img_block .img {
	width: 25%;
	margin: 16px auto;
}
@media screen and (max-width: 767px) {
	#kyozai .img_block {
		padding: 32px 16px;
	}
	#kyozai .cate_block .img_block .img {
		width:80%;
	}
}

/* ==========================================================================
	strength
========================================================================== */

#strength .conBlock .text._mt0{
	margin-top: 0;
}
#strength .acdBlock .bg_frame._arw {
	margin-top: 16px;
}
@media not screen and (max-width: 767px) {
	#strength .acc_contents_wrap._pcMt32{
		margin-top: 32px;
	}
	#strength .conBlock .gakusyu_box .item {
		margin-top: 0;
	}
}

/* ==========================================================================
	effect
========================================================================== */

@media screen and (max-width: 355px) {
	#effect h2.heading {
		font-size: 34px;
	}
}
@media screen and (max-width: 335px) {
	#effect h2.heading {
		font-size: 32px;
	}
}

/* ==========================================================================
	forte
========================================================================== */

#forte .acdBlock {
	border-radius: 16px;
}
#forte .accArea .accIn {
	padding: 0 4.7% 24px;
	border-radius: 0 0 16px 16px;
	font-size: 16px;
	font-weight: 500;
}
#forte .accArea .accBtn {
	border-radius: 16px;
}
#forte .pointBox .cont01 .txt::before {
	display: none;
}
#forte .conBlock {
	margin-top: 40px;
}
#forte .conBlock h3 {
	padding: 35px 40px 24px 4%;
}
#forte .conBlock .ribbon {
	padding: 6px 24px;
    font-size: 20px;
}

#forte .conBlock.acdBlock .item {
    background: #E1ECF2;
    border-radius: 16px;
    font-weight: bold;
}
#forte .accArea .accBtn {
    padding: 35px 40px 24px 4%;
    background: #E1ECF2;
    border-radius: 16px;
    font-size: 20px;
    line-height: 24px;
}
#forte .accArea .accBtn {
    margin-top: 52px;
}
#forte .accArea .accIn {
    padding: 0 5% 20px;
    border-radius: 0 0 16px 16px;
    font-size: 16px;
    font-weight: 500;
}
#forte .accArea .accIn .balloon02 {
    font-weight: bold;
}
#forte .accIn .balloon02 {
    display: flex;
    align-items: center;
    justify-content: center;
}
.balloon02::before {
    content: "";
    position: absolute;
    bottom: -36px;
    left: calc(50% - 20px);
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-top: 20px solid #F2F1E6;
}
.balloon02.bg_white::before {
    border-top: 20px solid #FFF;
}
#forte .accArea .accIn .img {
    padding: 8px 0 24px;
    text-align: center;
}

@media not screen and (max-width: 767px) {
	#forte .pointBox .cont01 .txt {
		background-position: left 120px center;
		background-size: auto 82px;
		padding: 40px 0;
		text-align: center;
	}
	#forte .normal_txt._text01{
		margin-top: 32px;
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	#forte .accArea .accIn {
		margin-top: 16px;
	}
}
@media screen and (max-width: 340px) {
	#forte .accArea .accIn .caption {
		font-size: 15px;
	}
}

#voice .taikenshaBox .pic {
	align-items: flex-end;
}