@charset "utf-8";

.fwB {
	font-weight: bold;
}

._mt16 {
	margin-top: 16px;
}


/* ==========================================================================
	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 {
	background-image: url(/common_2024/img/icon/icon_leaf.svg);
}
#preparation .accArea .accBtn._cont2{
	background-image: url(/common_2024/img/icon/icon_abc.svg);
}
#preparation .accArea .accBtn._cont3 {
    background-image: url(/common_2024/img/icon/icon_schoolbag.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 .contents_wrap .layoutCol4 .item {
  padding: 70px 0 25px;
}
#preparation .contents_wrap .layoutCol4 .item._cont1{
	background-image: url(/common_2024/img/icon/icon_pencil.svg);
}
#preparation .contents_wrap .layoutCol4 .item._cont2{
	background-image: url(/common_2024/img/icon/icon_abc.svg);
}
#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_cherryblossom.svg);
}
#preparation .accIn .text.text_eiken {
	position: relative;
	text-align: left;
	margin-top: 0;
	padding: 16px 122px 10px 32px;
}
#preparation .text_eiken::before {
    position: absolute;
    bottom: 0;
    right: 18px;
    content: "";
    width: 81px;
    height: 102px;
    background: url(/gakunen/img/miryoku_eiken_img02.png) no-repeat;
    background-size: contain;
}
#preparation .layoutCol4::before {
	background: url(/gakunen/img/preparation_img06_20280331.png) no-repeat center;
    background-size: contain;
}

/* ==========================================================================
	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%;
	}
}
@media screen and (max-width: 320px) {
	#kyozai .ribbonWrap .ribbon {
		padding: 7.5px 8px 7.5px 14px;
	}
}

/* ==========================================================================
	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;
	}
}
#strength .label.sp_w100p span.reg {
	display: inline-block;
	padding: 0 3px;
	margin-bottom: 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 .accArea .item{
	background: #E1ECF2;
    border-radius: 16px;
    font-weight: bold;
}
#forte .conBlock .accArea .accBtn {
    padding: 35px 40px 24px 4%;
    background: #E1ECF2;
    border-radius: 16px;
    font-size: 20px;
    line-height: 24px;
}
#forte .conBlock .accArea .accBtn {
    margin-top: 52px;
}
#forte .conBlock .accArea .accIn {
    padding: 0 5% 20px;
    border-radius: 0 0 16px 16px;
    background: #E1ECF2;
    font-size: 16px;
    font-weight: 500;
}
#forte .conBlock .accArea .accIn .balloon02 {
    font-weight: bold;
}
#forte .conBlock .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 .conBlock .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;
	}
	#forte .conBlock .accArea .accIn {
		margin-top: 0;
	}
}
@media screen and (max-width: 340px) {
	#forte .accArea .accIn .caption {
		font-size: 15px;
	}
}

#forte .conBlock.acdBlock {
	margin-top: 30px;
}
#forte .conBlock .accArea {
	background-color: #dcf4ff;
	border-radius: 16px;
}
#forte .conBlock .accArea .accBtn {
    padding: 35px 40px 24px 4%;
	border-radius: 16px;
}

#forte .conBlock .accArea .accBtn .ribbon {
    padding: 6px 24px;
    font-size: 20px;
}

#voice .taikenshaBox .pic {
	align-items: flex-end;
}