@charset "utf-8";

/* ==========================================================================
	kvArea
========================================================================== */

#kvArea{
	position: relative;
	margin-bottom: 50px;
}
#kvArea .textArea .txt{
    background: #FFFFFF;
    border-radius: 8px;
    font-size: 28px;
    font-weight: bold;
    line-height: 33px;
    padding: 12px;
    text-align: center;
    margin-bottom: 8px
}
#kvArea .textArea .txt.icon_leaf{
	position: relative;
}
#kvArea .textArea .txt.icon_leaf::before{
	content: '';
    background: url(/common_2024/img/icon/icon_leaf.svg) no-repeat;
    width: 48px;
    height: 48px;
    display: inline-block;
    position: absolute;
    top: -30px;
    left: calc(50% - 24px);
}
#kvArea .textArea .txt._line1{
    padding: 18px 12px;
}
@media not screen and (max-width: 767px) {
	#kvArea .textArea{
		position: absolute;
		top: 90px;
		left: 80px;
	}
	#kvArea .inner{
		position: relative;
		min-width: 960px;
		max-width: 960px;
		margin: 0 auto;
	}
	#kvArea .textArea .txt{
		min-width: 316px;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	#kvArea{
		margin-bottom: 24px;
	}
	#kvArea .inner{
		text-align: center;
	}
	#kvArea .textArea{
	    position: absolute;
		top: 40px;
		width: 400px;
		margin: 0 auto;
		left: calc(50% - 200px);
	}
	#kvArea .textArea .txt{
		font-size: 20px;
		padding: 8px 12px;
		display: inline-block;
	}
	#kvArea .textArea .txt.icon_leaf{
		position: relative;
	}
	#kvArea .textArea .txt.icon_leaf::before{
		content: '';
		background: url(/common_2024/img/icon/icon_leaf.svg) no-repeat;
		background-size: contain;
		width: 32px;
		height: 32px;
		display: inline-block;
		position: absolute;
		top: -22px;
		left: calc(50% - 16px);
	}
}
@media screen and (max-width: 400px) {
	#kvArea .textArea{
		width: 360px;
		margin: 0 auto;
		left: calc(50% - 180px);
	}
	#kvArea .textArea .txt{
		font-size: 18px;
		padding: 7px 10px;
		line-height: 26px;
		margin-bottom: 6px;
	}
}
@media screen and (max-width: 330px) {
	#kvArea .textArea{
		width: 320px;
		margin: 0 auto;
		top: 32px;
		left: calc(50% - 160px);
	}
	#kvArea .textArea .txt{
		font-size: 16px;
		padding: 7px 10px;
		line-height: 22px;
	}
}

/* ==========================================================================
	ancMenuBlock
========================================================================== */

.ancMenuBlock{
	padding: 24px 0 0;
}
.ancMenuBlock .item a {
	min-height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media not screen and (max-width: 767px) {
	.ancMenuBlock .item .txt {
	  font-size: 20px;
	}
}
@media screen and (max-width: 350px) {
	.ancMenuBlock .item .txt {
	  font-size: 14px;
	}
}
@media screen and (max-width: 320px) {
	.ancMenuBlock .item .txt {
	  font-size: 13px;
	}
}

/* ==========================================================================
	preparation
========================================================================== */

#preparation{
	background: #E1ECF2;
	padding: 72px 0;
}
#preparation h2.heading .fs_small{
	font-size: 30px;
}
#preparation .label{
  text-align: center;
}
#preparation .label span {
  display: inline-block;
	background: #00A9E0;
	border-radius: 28px;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	margin: 0 auto 24px;
	padding: 0 28px;
}
#preparation .acdBlock .item {
	background: #FFF;
	border-radius: 16px;
}
#preparation .accArea .accIn {
	padding: 0 4.7% 24px;
	border-radius: 0 0 16px 16px;
	background: #FFF;
	font-size: 16px;
	font-weight: 500;
}
#preparation .accArea .accBtn {
	padding: 24px 40px 24px 72px;
	background: #FFF url(/common_2024/img/icon/icon_pencil.svg) no-repeat left 24px top 20px;
	background-size: 32px;
	border-radius: 16px;
}
#preparation .accArea .accBtn._jisyusei {
	background-image: url(/common_2024/img/icon/icon_clock.svg);
}
#preparation .accArea .accBtn._dodai {
	background-image: url(/common_2024/img/icon/icon_schoolbag.svg);
}
#preparation .accArea .accBtn .ttl {
	text-indent: -0.8em;
	margin-left: 0.8em;
	font-size: 20px;
	line-height: 24px;
}
#preparation .accIn .balloon01 {
	font-weight: bold;
}
#preparation .accIn .graph_area,
#preparation .accIn .img {
	text-align: center;
}
#preparation .accIn .text {
	margin-top: 32px;
}
#preparation .accIn .note_area {
	margin-top: 24px;
	font-size: 14px;
}
#preparation .accIn .note_area .title {
	font-weight: bold;
}
#preparation .contents_wrap {
	margin-top: 22px;
}
#preparation .layoutCol4{
	position: relative;
	padding: 130px 0 0;
}
#preparation .layoutCol4::before{
	position: absolute;
	top: 0;
	left: calc(50% - 60px);
	content: "";
	width: 120px;
	height: 120px;
	background: url(/gakunen/img/preparation_img05_20280331.png) no-repeat center;
	background-size: contain;
}
#preparation .contents_wrap .layoutCol4 .item{
	background: #FFF url(/common_2024/img/icon/icon_clock.svg) no-repeat center top 20px;
	background-size: 40px;
	padding: 70px 0 45px;
	border-radius: 0 16px 16px 0;
	font-size: 16px;
	line-height: 24px;
	font-weight: bold;
	text-align: center;
}
#preparation .contents_wrap .layoutCol4 .item:nth-child(2n){
	border-radius: 16px 0 0 16px;
}
@media not screen and (max-width: 767px) {
	#preparation .layoutCol2 .item._pcw100p {
		width: 100%;
		margin-right: 0;
	}
	#preparation .contents_wrap .layoutCol4 .item,
	#preparation .contents_wrap .layoutCol4 .item:nth-child(2n){
		padding: 70px 0 24px;
		border-radius: 16px;
	}
	#preparation .contents_wrap .heading {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 767px) {
	#preparation{
		padding: 40px 0;
	}
	#preparation h2.heading .fs_small{
		font-size: 24px;
	}
	#preparation .label span {
		font-size: 16px;
  	}
	#preparation .label.sp_w100p span{
		display: block;
	}
	#preparation .layoutCol4{
		padding: 0;
	}
	#preparation .layoutCol4::before{
		top: calc(50% - 60px);
	}
	#eiken .accIn .text {
		padding: 16px 122px 10px 32px;
	}
	#eiken .accIn .text::before {
		right: 30px;
	}
	#preparation .accArea .accBtn {
		background-position: left 24px center;
	}
	#preparation .acdBlock .item {
		margin-top: 8px;
	}
	#preparation .acdBlock .item:first-child {
		margin-top: 30px;
	}
	#preparation .accIn .graph_area._spmt24 {
		margin-top: 24px;
	}
}
@media screen and (max-width: 355px) {
	#preparation .accIn .balloon01 {
		font-size: 18px;
	}
	#preparation .contents_wrap .layoutCol4 .item{
		font-size: 14px;
	}
}
@media screen and (max-width: 330px) {
	#preparation .accIn .balloon01 {
		font-size: 16px;
	}
	#preparation .contents_wrap .layoutCol4 .item{
		padding: 70px 0 50px;
	}
}

/* ==========================================================================
	strength
========================================================================== */

#strength {
	background: #F2F1E6;
	padding: 72px 0;
}
#strength .conBlock {
	margin-top: 45px;
}
#strength .conBlock .text {
	font-size: 16px;
	font-weight: 500;
	line-height: 28.8px;
	margin-top: 16px;
}
#strength .conBlock .text._fwB {
	font-weight: bold;
}
#strength .conBlock .text._fwBk {
	font-weight: 900;
}
#strength .conBlock .img {
	margin-top: 24px;
	text-align: center;
}
#strength .conBlock .item {
  background: #fff;
  border-radius: 16px;
  margin-top: 34px;
}
#strength .conBlock .item .title {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 900;
  line-height: 31px;
  text-align: center;
}
#strength .conBlock .item .contents {
  padding: 30px 0 32px;
  border-radius: 16px;
  background: #ffffff;
  font-size: 16px;
  font-weight: 500;
}
#strength .conBlock .item .contents_inner {
	padding: 0 16px;
}
#strength .conBlock .balloon01 {
  font-size: 20px;
  font-weight: bold;
}
#strength .conBlock .layout_block01 {
	position: relative;
	display: flex;
	background: #FFF;
	border-radius: 16px;
	margin-bottom: 40px;
}
#strength .conBlock .layout_block01::before {
	position: absolute;
	content: "";
	bottom: -32px;
	left: calc(50% - 32px);
	width: 64px;
	height: 32px;
	background: url(/gakunen/img/arw/arw_b_white.png) no-repeat center;
	background-size: contain;
}
#strength .conBlock .layout_block01 .layout_item {
	width: 50%;
	padding: 64px 0 16px;
	background: url(/common_2024/img/icon/icon_book.svg) no-repeat center top 16px;
	background-size: 40px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
#strength .conBlock .layout_block01 .layout_item._step {
	position: relative;
	background-image:url(/common_2024/img/icon/icon_stairs.svg);
}
#strength .conBlock .layout_block01 .layout_item._step::before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 2px;
	height: 100%;
	background: #F2F1E6;
}
#strength .conBlock .bg_img {
	padding: 4% 0 46.5%;
	background: #D0F0FF url(/gakunen/img/bg/bg_strength_img02.png) no-repeat center bottom;
	background-size: contain;
	border-radius: 16px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
#strength .conBlock .bg_img._ver2 {
	background-image: url(/gakunen/img/bg/bg_strength_img02_2.png);
}
#strength .conBlock .bg_img._last {
	padding: 5% 0 68%;
	background-image: url(/gakunen/img/bg/bg_strength_img04.png);
}
#strength .conBlock .contents .img {
	margin-top: 16px;

}#strength .conBlock .point02 .layoutCol2 .img{
	margin-top: 0;
}
#strength .accArea .accBtn {
  padding: 27px 10px;
  background: #FFF;
  font-size: 20px;
  line-height: 21px;
}
#strength .accArea .accBtn.title_box {
	display: flex;
	align-items: center;
	gap: 10px;
}
#strength .accArea .accBtn.title_box .left {
	width: 56px;
	height: 56px;
	padding: 2px 0;
	font-weight: bold;
	text-align: center;
	background: url(/gakunen/img/bg/bg_strength_circle01.png) no-repeat center;
	background-size: contain;
}
#strength .accArea .accBtn.title_box .left._middle {
	color: #FFF;
	background-image: url(/gakunen/img/bg/bg_strength_circle02.png);
}
#strength .accArea .accBtn.title_box .left._last {
	color: #FFF;
	background-image: url(/gakunen/img/bg/bg_strength_circle03.png);
}
#strength .accArea .accBtn.title_box .left .fs_small {
	font-size: 12px;
}
#strength .accArea .accBtn.title_box .right {
	font-size: 16px;
	font-weight: bold;
	width: calc(100% - 56px);
}
#strength .accArea .accBtn.nobd {
	border: none;
}
#strength .acdBlock._mt32 {
  margin-top: 32px;
}
#strength .acdBlock .bg_frame {
	font-size: 20px;
	font-weight: 900;
	text-align: center;
	padding: 24px 16px;
	background: #D0F0FF;
	border-radius: 16px;
}
#strength .acdBlock .bg_frame._arw{
	position: relative;
	background: #F2F1E6;
	margin-bottom: 40px;
}
#strength .acdBlock .bg_frame._arw::before {
	position: absolute;
	content: "";
	bottom: -32px;
	left: calc(50% - 32px);
	width: 64px;
	height: 32px;
	background: url(/gakunen/img/arw/arw_b_beige.png) no-repeat center;
	background-size: contain;
}
#strength .conBlock .text_box_wrap {
	padding-top: 24px;
}
#strength .conBlock .text_box {
	margin: 0 16px;
	padding: 12px;
	border-radius: 8px;
	background: #F2F1E6;
	font-size: 16px;
	font-weight: bold;
}
#strength .conBlock .text_box .mt44 {
	margin-top: 44px;
}
#strength .conBlock .text_box02 {
	margin:0;
	padding: 7% 4.7% 7% 35.5%;
	border-radius: 8px;
	background: #F2F1E6 url(/gakunen/img/strength_img08.png) no-repeat;
	background-position: left 16px center;
	background-size: 91px auto;
	font-size: 16px;
	font-weight: 500;
}
#strength .conBlock .text_box02._item02 {
	background-image: url(/gakunen/img/strength_img09.png);
	background-position: left 30px center;
	background-size: auto 82px;
}
#strength .conBlock .text_box02._item03 {
	background-color: #D0F0FF;
	background-image: url(/gakunen/img/strength_img10.png);
	background-position: left 26px center;
	background-size: auto 72px;
	font-size: 20px;
	font-weight: bold;
}
#strength .step_list {
	margin-top: 33px;
}
#strength .step_list .step_item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 24px 16px;
	border-top: 2px solid #F2F1E6;
}
#strength .step_list .step_item .left {
	width: 56px;
	height: 56px;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	line-height: 21px;
	text-align: center;
	background: url(/gakunen/img/bg/bg_strength_circle03.png) no-repeat center;
	background-size: contain;
}
#strength .step_list .step_item .left .fs_small {
	font-size: 12px;
}
#strength .step_list .step_item .right {
	font-size: 16px;
	font-weight: bold;
	width: calc(100% - 56px);
}
#strength .label{
	text-align: center;
}
#strength .label span {
  	display: inline-block;
	background: #00A9E0;
	border-radius: 28px;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	margin: 0 auto 16px;
	padding: 0 20px;
}
#strength .acdBlock .bg_arw {
	position: relative;
	margin-top: 0;
	padding-right: 32px;
}
#strength .acdBlock .bg_arw::before {
	position: absolute;
	content: "";
	top: calc(50% - 16px);
	right: -16px;
	width: 64px;
	height: 32px;
	background: url(/gakunen/img/arw/arw_b_beige.png) no-repeat center;
	background-size: contain;
	transform: rotate(270deg);
}
#strength .conBlock .img._img01 img {
	width: 88%;
	margin: 0 auto;
}
#strength .accArea .acc_contents_wrap .balloon02 {
	margin-top: 30px;
}
#strength .checkArea {
	margin: 35px 0 0;
	position: relative;
}
#strength .checkArea .inner {
	padding: 24px;
	background: #F2F1E6;
	border-radius: 8px;
	margin: 0 16px;
}
#strength .checkArea .checkTtl {
	border-radius: 28px;
	background: #03A9E0;
	color: #fff;
	font-weight: bold;
	text-align: center;
	font-size: 24px;
	line-height: 38px;
	max-width: 452px;
	margin: 16px auto 30px;
}
#strength .checkArea .cpCheckList .cItem {
	vertical-align: top;
}
#strength .checkArea .cpCheckList .cItem .iconTxt {
	font-size: 20px;
	font-weight: bold;
	background: url(/common_2024/img/icon/icon_checklist.svg) no-repeat;
	background-position: left top 2px;
	background-size: 35px;
	padding-left: 45px;
}
#strength .checkArea .cpCheckList .cItem .cmt {
	font-size: 18px;
	font-weight: 500;
	text-indent: -1em;
	margin-left: 3.5em;
}

@media not screen and (max-width: 767px) {
	#strength .accArea .acc_contents_wrap .layout_block02 {
		display: flex;
		margin-top: 40px;
	}
	#strength .accArea .acc_contents_wrap .layout_block02 .layout_item {
		width: 50%;
	}
	#strength .conBlock .text._taC {
		text-align: center;
	}
	#strength .acdBlock .accIn {
		padding: 0 16px;
	}
	#strength .conBlock .text_box_wrap._pcmt0 {
		padding-top: 0;
	}
	#strength .conBlock .text_box_wrap._pcmt0 .layoutCol2 {
		margin: 0 16px 0;
	}
	#strength .conBlock .text_box02 {
		display: flex;
    	height: 100%;
		align-items: center;
	}
	#strength .conBlock .text_box02._item03 {
		justify-content: center;
		padding: 32px 110px;
		max-height: 95px;
		background-position: left calc(50% - 195px) center;
	}
	#strength .text_box_wrap .layoutCol2 .item._pcw100p {
		width: 100%;
		margin-right: 0;
	}
	#strength .checkArea .cpCheckList {
		width: 52%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	#strength{
		margin: 0;
		padding: 40px 0;
	}
	#strength .label span{
		margin: 0 auto 16px;
	}
	#strength .accArea .accBtn {
		padding: 27px 40px 27px 4%;
		border-top: 2px solid #F2F1E6;
	}
	#strength .acdBlock.item {
		margin-top: 0;
	}
	#strength .acdBlock .bg_arw {
		position: relative;
		margin-top: 25px;
		padding: 0 0 32px;
	}
	#strength .acdBlock .bg_arw::before {
		top: auto;
		bottom: 0;
		right: auto;
		left: calc(50% - 32px);
		transform: none;
	}
	#strength .accArea .acc_contents_wrap {
		padding: 0 16px;
	}
	#strength .accArea .acc_contents_wrap .balloon02 {
		margin-top: 0;
	}
	#strength .conBlock .text_box_wrap {
		border-top: 2px solid #F2F1E6;
	}
	#strength .conBlock .text_box02 {
		margin: 13px 16px 0;
	}
	#strength .conBlock .bg_img {
		padding: 7% 0 50%;
	}
	#strength .conBlock .text_box_wrap._pcmt0 .layoutCol2 .item {
		margin: 0;
	}
	#strength .conBlock .point02 .layoutCol2 .item{
	  margin-top: 24px;
	}
	#strength .conBlock .point02 .layoutCol2 .item:nth-child(2){
	  margin-top: 18px;
	}
	#strength .manga_item {
		margin-top: 7.5px;
	}
	#strength .checkArea{
		margin: 0;
		padding: 16px 4%;
	}
	#strength .checkArea .inner{
		margin: 0;
		padding: 16px;
	}
	#strength .checkArea .checkTtl{
		max-width: 310px;
		margin: 0 auto;
		font-size: 16px;
		margin: 8px auto 0;
	}
	#strength .checkArea .cpCheckList{
		margin: 16px auto 0;
	}
	#strength .checkArea .cpCheckList .cItem{
		margin-top: 4px;
		width: 100%;
		float: none;
	}
	#strength .checkArea .cpCheckList .cItem .iconTxt{
		font-size: 16px;
		background-size: 24px;
		padding-left: 30px;
	}
	#strength .checkArea .cpCheckList .cItem .cmt{
		font-size: 14px;
		margin-left: 3.1em;
	}
	#strength .label span {
		font-size: 16px;
	}
	#strength .label.sp_w100p span{
		display: block;
	}
}
@media screen and (max-width: 330px) {
	#strength .conBlock .text_box02._item03 {
		padding: 7% 4.7% 7% 30.5%;
		background-position: left 17px center;
	}
	#strength .acdBlock .bg_frame{
		font-size: 19px;
	}
}

/* ==========================================================================
	learn
========================================================================== */

#learn{
	padding: 72px 0 35px;
}
#learn .layoutCol2{
	margin-top: 24px;
}
#learn .layoutCol2 .item{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	background: #F2F1E6 url(/common_2024/img/icon/icon_language.svg) no-repeat center top 24px;
    background-size: 40px;
	border-radius: 16px;
	padding: 80px 12px 20px;
}
#learn .layoutCol2 .item:nth-child(2){
	background-image: url(/common_2024/img/icon/icon_math.svg);
}
@media not screen and (max-width: 767px) {
	#learn .normal_txt{
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	#learn{
		padding: 40px 0 18px;
	}
	#learn .layoutCol2 .item{
		font-size: 16px;
		background: #F2F1E6 url(/common_2024/img/icon/icon_language.svg) no-repeat center top 20px;
		background-size: 40px;
		border-radius: 16px;
		padding: 80px 5px 20px;
	}
	#learn .layoutCol2 .item{
		font-size: 20px;
		font-weight: bold;
		text-align: center;
	}
	#learn .layoutCol2 .item:nth-child(1){
		border-radius: 0 16px 16px 0;
	}
	#learn .layoutCol2 .item:nth-child(2){
		border-radius: 16px 0 0 16px;
	}
}
@media screen and (max-width: 390px) {
	#learn .layoutCol2 .item {
		font-size: 16px;
	}
}
@media screen and (max-width: 320px) {
	#learn .layoutCol2 .item {
		font-size: 14px;
	}
}

/* ==========================================================================
	kyozai
========================================================================== */

#kyozai{
	background: #E1ECF2;
}
@media screen and (max-width: 370px){
	#kyozai h2.heading {
		font-size: 34px;
	}
}
@media screen and (max-width: 350px){
	#kyozai h2.heading {
		font-size: 32px;
	}
}
@media screen and (max-width: 335px){
	#kyozai h2.heading {
		font-size: 30px;
	}
}

/* ==========================================================================
	effect
========================================================================== */

#effect{
	padding: 72px 0;
}
@media screen and (max-width: 767px) {
	#effect{
		padding: 40px 0;
	}
}

/* ==========================================================================
	forte
========================================================================== */

#forte{
	padding: 72px 0;
}
#forte .pointBox{
	margin-top: 50px;
}
#forte .pointBox .cont01 .txt{
	position: relative;
    font-size: 20px;
    font-weight: 500;
	border-radius: 16px;
    background: #F2F1E6 url(/gakunen/img/forte_img01.png) no-repeat;
    background-position: left 16px center;
    background-size: auto 112px;
    padding: 40px 24px 45px 150px;
	line-height: 28.8px;
}
#forte .pointBox .cont02 .txt{
    font-size: 20px;
    font-weight: bold;
	background-color: #D0F0FF;
	border-radius: 16px;
	text-align: center;
	padding: 24px 6px;
}
@media not screen and (max-width: 767px) {
	#forte .layoutCol2 .item._imgbox img {
		width: 85%;
		margin: 0 auto;
	}
	#forte .pointBox .cont01 .txt::before {
		position: absolute;
		content: "";
		top: calc(50% - 16px);
		right: -48px;
		width: 64px;
		height: 32px;
		background: url(/gakunen/img/arw/arw_b_beige.png) no-repeat center;
		background-size: contain;
		transform: rotate(-90deg);
	}
	#forte .pointBox .cont02 .txt {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
@media screen and (max-width: 767px) {
	#forte{
		padding: 40px 0;
	}
	#forte .pointBox{
		margin-top: 30px;
	}
	#forte .pointBox .cont01{
		margin-bottom: 30px;
	}
	#forte .pointBox .cont01 .txt::before {
		bottom: -30px;
	}
	#forte .pointBox .cont01 .txt{
		font-size: 16px;
		padding: 40px 24px 40px 150px;
	}
	#forte .pointBox .cont01 .txt::before {
		position: absolute;
		content: "";
		bottom: -30px;
		left: calc(50% - 32px);
		width: 64px;
		height: 32px;
		background: url(/gakunen/img/arw/arw_b_beige.png) no-repeat center;
		background-size: contain;
	}
}
@media screen and (max-width: 390px) {
	#forte .pointBox .cont01 .txt{
		background-size: auto 100px;
		padding: 35px 24px 35px 130px;
	}
}
@media screen and (max-width: 360px) {
	#forte .pointBox .cont01 .txt{
		font-size: 15px;
	}
}
@media screen and (max-width: 350px) {
	#forte .pointBox .cont01 .txt{
		background-size: auto 75px;
		padding: 25px 24px 25px 105px;
		font-size: 14px;
		line-height: 24px;
	}
}

/* ==========================================================================
	support
========================================================================== */

#support{
	background: #E1ECF2;
	padding: 72px 0;
}
#support .problemList{
	position: relative;
}
#support .problemList:after{
	position: absolute;
	content: "";
	bottom: -68px;
	left: calc(50% - 67px);
	width: 134px;
	height: 70px;
	background: url(/gakunen/img/arw/arw_b_white.png) no-repeat center;
	background-size: contain;
}
#support .problemList .item{
	background: #fff;
    padding: 24px 12px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
#support .problemList .item:nth-child(1){
	border-radius: 16px 16px 0 0;
}
#support .problemList .item:nth-child(2){
	border-top: 4px solid #E1ECF2;
	border-bottom: 4px solid #E1ECF2;
}
#support .problemList .item:nth-child(3){
	border-radius: 0 0 16px 16px;
}
#support .txtBox{
	text-align: center;
	font-weight: bold;
    margin-top: 100px;
}
#support .txtBox .txt01{
	font-size: 20px;
	margin-bottom: 10px;
}
#support .txtBox .txt02{
	font-size: 28px;
}
#support .bgImgBox{
    font-weight: bold;
    text-align: center;
    background: #BDE1F2 url(/gakunen/img/support_pic01_20280331.png) no-repeat;
    background-size: 330px auto;
    background-position: center bottom;
    border-radius: 16px;
    padding: 24px;
    margin-top: 20px;
    padding: 40px 0 160px;
}
#support .bgImgBox .txt01{
	font-size: 20px;
}
#support .bgImgBox .txt02{
	font-size: 28px;
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
	#support{
		padding: 40px 0;
	}
	#support .problemList .item{
		font-size: 16px;
		line-height: 36px;
	}
	#support .txtBox{
		margin-top: 50px;
	}
	#support .txtBox .txt01{
		font-size: 16px;
			margin-bottom: 4px;
	}
	#support .txtBox .txt02{
		font-size: 24px;
	}
	#support .bgImgBox{
		background-size: auto 120px;
		padding: 20px 0 130px;
	}
	#support .bgImgBox .txt01{
		font-size: 16px;
	}
	#support .bgImgBox .txt02{
		font-size: 23px;
	}
	#support .problemList:after{
		bottom: -30px;
		left: calc(50% - 32px);
		width: 64px;
		height: 32px;
	}
}

/* ==========================================================================
	customize
========================================================================== */

#customize{
	background: #F2F1E6;
	padding: 72px 0;
}
#customize .methodBox .item{
	text-align: center;
	margin-bottom: 50px;
}
#customize .methodBox .item:last-child{
	margin-bottom: 25px;
}
#customize .methodBox img{
	vertical-align: bottom;
}
#customize .methodBox .lead_txt{
	font-size: 24px;
	font-weight: bold;
	margin-top: 12px;
}
#customize .methodBox .normal_txt{
	margin-top: 12px;
    text-align: left;
}
#customize .accArea .accIn{
	padding-left: 0;
	padding-right: 0;
}
#customize .accArea .accBtn {
	text-align: center;
    margin-top: 40px;
    padding: 27px 40px 27px 4%;
    border-top: 2px solid #E2E1D3;
    background: #F2F1E6;
    font-size: 20px;
    line-height: 21px;
}
#customize .conBlock .label {
    text-align: center;
	margin: 40px 0 28px;
}
#customize .conBlock .label span {
    display: inline-block;
    border-radius: 28px;
    padding: 0 24px;
    background: #00A9E0;
    color: #FFF;
    font-size: 20px;
    font-weight: bold;
    line-height: 30px;
    max-width: 200px;
    width: 100%;
}
#customize .conBlock .layoutCol2 .item{
	background: #fff;
	border-radius: 16px;
	padding: 22px 16px;
	text-align: center;
}
#customize .conBlock .layoutCol2 .item .title{
    margin-bottom: 16px;
    font-size: 24px;
    font-weight: 900;
    line-height: 31px;
}
#customize .conBlock .layoutCol2 .item .listItem{
	font-weight: 500;
	margin: 30px 0 23px;
    text-align: left;
}
#customize .conBlock .layoutCol2 .item .listItem li{
	font-size: 16px;
}
@media screen and (max-width: 767px) {
	#customize{
		padding: 40px 0;
	}
	#customize .methodBox .item{
		text-align: center;
		margin-bottom: 33px;
	}
	#customize .methodBox .item:last-child{
		margin-bottom: 16px;
	}
	#customize .conBlock .txtBox .normal_txt{
		margin-bottom: 12px;
	}
	#customize .conBlock .label {
		text-align: center;
		margin: 30px 0 16px;
	}
	#customize .conBlock .label span {
		font-size: 16px;
	}
}
@media screen and (max-width: 390px) {
	#customize .methodBox .lead_txt{
		font-size: 20px;
	}
}

/* ==========================================================================
	fee
========================================================================== */

#fee{
	background-color: #E1ECF2;
	padding: 72px 0;
}
@media screen and (max-width: 767px) {
	#fee{
		padding: 40px 0;
	}
}

/* ==========================================================================
	qna
========================================================================== */
#qna{
	background-color: #ffffff;
	padding: 72px 0;
}
#qna .qnaList .accArea,
#qna .qnaList .accBtn,
#qna .qnaList .accIn{
    background-color: #F2F1E6!important;
}
@media screen and (max-width: 767px) {
	#qna{
		padding: 40px 0;
	}
}

/* ==========================================================================
	voice
========================================================================== */
#voice{
	background-color: #E1ECF2;
	padding: 72px 0;
}
#voice .text{
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	margin-bottom: 40px;
}
#voice .taikenshaBox{
  display: flex;
}
#voice .taikenshaBox .balloon{
  position: relative;
  width: 70%;
  background-color: #fff;
  font-weight: bold;
  padding: 16px 20px;
  border-radius: 16px;
  margin-right: 8%;
}
#voice .taikenshaBox .balloon::before{
  content: "";
  position: absolute;
  bottom: 25px;
  left: 100%;
  border: 10px solid transparent;
  border-left: 20px solid #fff;
}
#voice .taikenshaBox._reverse .balloon{
  margin-right: 0;
  margin-left: 8%;
}
#voice .taikenshaBox._reverse .balloon::before{
  content: "";
  position: absolute;
  bottom: 25px;
  left: -30px;
  border: 10px solid transparent;
  border-right: 20px solid #fff;
}
#voice .taikenshaBox .balloon .txt{
  font-size: 16px;
}
#voice .taikenshaBox .pic{
  display: flex;
  width: 22%;
  justify-content: center;
  align-items: end;
}
#voice .taikenshaBox._reverse .pic{
  text-align: left;
}
#voice .bnrArea{
    border: 2px solid #E2E2E2;
    border-radius: 16px;
    overflow: hidden;
    max-width: 540px;
    margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
	#voice{
		padding: 40px 0;
	}
	#voice .text{
		font-size: 16px;
		margin-bottom: 20px;
	}
    #voice .taikenshaBox .balloon{
        width: 69%;
        padding: 24px 28px 24px 40px;
        border-radius: 0 16px 16px 0;
        margin-right: 6%;
    }
    #voice .taikenshaBox._reverse .balloon{
        padding: 24px 40px 24px 28px;
        border-radius: 16px 0 0 16px;
        margin-left: 6%;
    }
    #voice .taikenshaBox .pic{
        width: 25%;
    }
}