@charset "shift_jis";

/* ======================================================
	* PC
====================================================== */
@media print, screen and (min-width: 751px) {
/* ------------------------------------------------------
 * heading
------------------------------------------------------ */
	.heading-lv1{
		padding: 30px;
		background-image: url("../img/cmn_heading_bg01_01.png"), url("../img/cmn_heading_bg01_02.png");
		background-position: 0 0, 0 100%;
		background-repeat: repeat-x;
		background-color: #3399cc;
	}
	.heading-lv1 > .heading_title{
		font-size: 3rem;
		font-weight: bold;
		color: #fff;
		line-height: 1.2;
	}
	[class*="heading-lv2"]{
		position: relative;
	}
	[class*="heading-lv2"]::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		background: url("../img/cmn_ic01.png") no-repeat;
	}
	.heading-lv2{
		margin-top: 80px;
		padding-left: 50px;
	}
	.heading-lv2::before{
		width: 38px;
		height: 67px;
		margin-top: -24px;
		background-position: 0 -113px;
	}
	[class*="heading-lv2"] > .heading_title{
		padding-top: 10px;
		font-size: 3rem;
		font-weight: bold;
		line-height: 1.2;
	}
	.heading-lv2 + *{
		margin-top: 45px;
	}
	.contents > section:first-child .icon-heading-lv2{
		margin-top: 50px !important;
	}
	.icon-heading-lv2{
		padding-left: 50px;
	}
	.icon-heading-lv2::before{
		width: 43px;
		height: 37px;
		margin-top: -12px;
		background-position: -39px -113px;
	}
	.icon-heading-lv2 > .heading_title{
		font-size: 2.4rem;
	}
	.school-heading-lv2{
		margin-top: 70px;
		text-align: center;
		color: #3399cc;
	}
	.school-heading-lv2 > .heading_subtitle{
		font-size: 1.8rem;
		font-weight: bold;
	}
	.school-heading-lv2 > .heading_title{
		margin-top: 4px;
		position: relative;
		display: inline-block;
	}
	.school-heading-lv2 > .heading_title::before,
	.school-heading-lv2 > .heading_title::after{
		position: absolute;
		content: "";
		top: 50%;
		background: url("../img/cmn_ic01.png") no-repeat;
	}
	.school-heading-lv2 > .heading_title::before{
		left: -38px;
		width: 29px;
		height: 51px;
		margin-top: -27px;
		background-size: 80px 177px;
		background-position: 0 -85px;
	}
	.school-heading-lv2 > .heading_title::after{
		right: -52px;
		width: 43px;
		height: 36px;
		margin-top: -22px;
		background-position: -39px -114px;
	}
	.step-heading-lv2{
		margin-top: 60px;
	}
	.step-heading-lv2 > .heading_title{
		display: table;
	}
	.step-heading-lv2 .heading_icon{
		padding: 8px 22px;
		display: table-cell;
		vertical-align: middle;
		width: 100px;
		font-size: 1.8rem;
		font-weight: bold;
		color: #fff;
		background-color: #3399cc;
		line-height: 1;
		border-radius: 20px;
	}
	.step-heading-lv2 .heading_text{
		padding-left: 18px;
		display: table-cell;
		vertical-align: middle;
		font-size: 2.1rem;
	}
	.heading-lv3{
		margin-top: 50px;
		padding-bottom: 18px;
		background: url("../img/cmn_heading_bg02.png") 0 100% repeat-x;
	}
	.icon-heading-lv2 + section > .heading-lv3{
		margin-top: 30px;
	}
	.heading-lv3 > .heading_title{
		position: relative;
		padding-left: 50px;
		font-size: 2.1rem;
		line-height: 1.2;
		font-weight: bold;
	}
	.heading-lv3 > .heading_title::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 12px;
		width: 23px;
		height: 24px;
		margin-top: -14px;
		background: url("../img/cmn_ic01.png") no-repeat;
		background-position: -83px -113px;
	}
	.school-heading-lv3{
		margin-top: 50px;
	}
	.teacher_detail section:first-child .school-heading-lv3{
		margin-top: 0;
	}
	.school-heading-lv3 > .heading_title{
		padding-left: 50px;
		position: relative;
		font-size: 2.4rem;
		font-weight: bold;
	}
	.school-heading-lv3 > .heading_title::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		width: 43px;
		height: 36px;
		margin-top: -22px;
		background: url("../img/cmn_ic01.png") no-repeat;
		background-position: -39px -114px;
	}
	.school-heading-lv3 + p{
		margin-top: 30px;
	}
	.school-heading-lv4 > .heading_title{
		font-size: 1.8rem;
		font-weight: bold;
	}
	.navi-heading-lv3{
		text-align: center;
	}
	.navi-heading-lv3 .heading_title{
		position: relative;
		display: inline-block;
		line-height: 1.2;
		font-size: 2.4rem;
		font-weight: bold;
	}
	.navi-heading-lv3 .heading_title::before,
	.navi-heading-lv3 .heading_title::after{
		position: absolute;
		content: "";
		top: 50%;
		background: url("../img/cmn_navi_ic01.png") no-repeat;
	}
	.navi-heading-lv3 .heading_title::before{
		left: -40px;
		width: 38px;
		height: 67px;
		margin-top: -38px;
		background-position: 0 0;
	}
	.navi-heading-lv3 .heading_title::after{
		right: -125px;
		width: 101px;
		height: 52px;
		margin-top: -26px;
		background-position: -38px 0;
	}
	.step-heading-lv3{
		margin-top: 55px;
	}
	.step-heading-lv2 + section > .step-heading-lv3{
		margin-top: 30px;
	}
	.step-heading-lv3 > .heading_title{
		display: inline-block;
		position: relative;
		font-size: 2rem;
		font-weight: bold;
		color: #0ca698;
	}
	.step-heading-lv3 > .heading_title::after{
		position: absolute;
		content: "";
		/* top: 50%; */
		top: 17px;
		right: 0;
		background: url("../img/cmn_character_im04.png") no-repeat;
	}
	.step-heading-lv3.typeA > .heading_title::after{
		right: -102px;
		width: 84px;
		height: 52px;
		margin-top: -32px;
		background-position: 0 0;
	}
	.step-heading-lv3.typeB > .heading_title::after{
		right: -90px;
		width: 71px;
		height: 58px;
		margin-top: -34px;
		background-position: -87px 0;
	}
	.step-heading-lv3.typeC > .heading_title::after{
		right: -88px;
		width: 68px;
		height: 58px;
		margin-top: -32px;
		background-position: -161px 0;
	}
	.step-heading-lv3.typeD > .heading_title::after{
		right: -86px;
		width: 67px;
		height: 51px;
		margin-top: -32px;
		background-position: -234px 0;
	}
	.step-heading-lv3.typeE > .heading_title::after{
		right: -90px;
		width: 70px;
		height: 56px;
		margin-top: -32px;
		background-position: -305px 0;
	}
	/* ------------------------------------------------------
	 * text
	------------------------------------------------------ */
	.text-paragraph{
		margin-top: 20px;
	}
	.text-paragraph-lv2{
		margin-top: 35px;
	}
	/* ------------------------------------------------------
	 * link
	------------------------------------------------------ */
	/* ----- link-text  ----- */
	.link-text > li > a {
		display: inline-block;
		position: relative;
		padding-left: 20px;
		text-decoration: none;
	}
	.link-text > li > a.a-blank{
		padding-right: 22px;
	}
	.link-text > li > a::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		width: 8px;
		height: 13px;
		margin-top: -7px;
		background: url("../img/cmn_ic01.png") no-repeat;
		background-position: -52px 0;
	}
	.link-text > li > a:hover{
		text-decoration: underline;
	}
	.a-blank::after,
	.a-pdf::after{
		display: inline-block;
		content: "";
		margin: .2em 8px 0 8px;
		right: 0;
		background: url("../img/cmn_ic01.png") no-repeat !important;
	}
	.a-blank::after{
		width: 12px !important;
		height: 10px !important;
		background-position: -74px 0 !important;
	}
	.a-pdf::after{
		width: 12px !important;
		height: 12px !important;
		background-position: -86px 0 !important;
	}
	.link-inline{
		text-decoration: none !important;
	}
	.link-inline:hover{
		text-decoration: underline !important;
	}
	/* ----- link-button ----- */
	.link-button{
		margin-top: 15px;
		letter-spacing: -0.4em;
		height: 65px;
	}
	.link-button > li{
		display: inline-block;
		letter-spacing: normal;
	}
	.link-button > li + li{
		margin-left: 36px;
	}
	.link-button > li > a{
		display: inline-block;
		min-width: 376px;
		position: relative;
		margin-bottom: 3px;
		padding: 20px 20px 18px;
		border: 2px solid #85c4ec;
		background-color: #fff;
		color: #333;
		font-weight: bold;
		text-decoration: none;
		vertical-align: top;
		border-radius: 8px;
		overflow: hidden;
		box-shadow: 0px 3px 0px 0px #85c4ec;
	}
	.link-button .link_label{
		display: inline-block;
		line-height: 1.25;
	}
	.link-button > li > a.a-blank,
	.link-button > li > a.pdf{
		padding-right: 80px;
	}
	.link-button > li > a.a-blank::after,
	.link-button > li > a.a-pdf::after{
		position: absolute;
		top: 50%;
		margin: -5px 0 0 0;
		right: 10px;
	}
	.link-button > li > a.a-pdf::after{
		margin: -6px 0 0 0;
	}
	.link-button > li > a:hover{
		margin-top: 2px;
		margin-bottom: 1px;
		box-shadow: 0px 1px 0px 0px #85c4ec;
	}
	.link-button > li > a:active{
		margin-top: 3px;
		margin-bottom: 0;
		box-shadow: 0 0 0 0 #85c4ec;
	}
	[data-browser="ie11"] .link-button > li > a > * {
		pointer-events: none;
	}
	
	/* ------------------------------------------------------
	 * button
	------------------------------------------------------ */
	.btn {
		margin-top: 15px;
	}

	.btn > a,
	.btn > span {
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		line-height: 1.2;
		margin-left: auto;
		margin-right: auto;
		outline: none;
		text-align: center;
		text-decoration: none;
		-webkit-transition: all .2s ease-out 0s;
		transition: all .2s ease-out 0s;
	}

	.btn > a:hover,
	.btn > span:hover {
		cursor: pointer;
		opacity: 0.8;
	}

	[data-btn="type1"] > a,
	[data-btn="type1"]>span {
		background-color: #ff9602;
		border-radius: 44px;
		color: #fff;
		height: 44px;
		position: relative;
		max-width: 248px;
	}

	.btn.mw300[data-btn="type1"] > a {
		max-width: 300px;
	}

	[data-btn="type1"] > a::before,
	[data-btn="type1"]>span::before {
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
		content: "";
		height: 13px;
		position: absolute;
		right: 20px;
		top: 50%;
		width: 13px;
		-webkit-transform: translateY(-50%) rotate(-45deg);
		transform: translateY(-50%) rotate(-45deg);
	}
	
	.btn.next {
		margin-top: 50px;
	}
	
	/* ------------------------------------------------------
	 * list
	------------------------------------------------------ */
	/* ----- list-note ----- */
	.list-note{
		margin-top: 30px;
	}
	.list-note > li {
		position: relative;
		padding-left: 1.4em;
	}
	.list-note > li > .list_mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	.list-note.lv2{
		margin-top: 20px;
	}
	.list-note.lv2 > li{
		padding-left: 1.2em;
		font-size: 1.4rem;
	}
	.list-bullet > li {
		position: relative;
		padding-left: 18px;
		font-weight: bold;
	}
	.list-bullet > li + li{
		margin-top: 5px;
	}
	.list-bullet > li::before {
		position: absolute;
		top: .6em;
		left: 0;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background-color: #0ca698;
		content: "";
	}
	.column_lead + .list-bullet{
		margin-top: 30px;
	}
	/* ----- notice-list ----- */
	.notice-list{
		margin-top: 35px;
	}
	.notice-list > *{
		display: inline-block;
	}
	.notice-list > dt{
		margin-right: 10px;
		padding: 2px 10px;
		width: 70px;
		color: #fff;
		font-weight: bold;
		border-radius: 20px;
		text-align: center;
		background-color: #ff0000;
		vertical-align: top;
	}
	.notice-list > dd{
		width: calc(100% - 100px);
	}
	.notice-list .list-bullet > li{
		font-weight: normal;
	}
	/* ----- list-order ----- */
	.list-order{
		margin-top: 10px;
	}
	.list-order > li {
		position: relative;
		padding-left: 26px;
		font-weight: bold;
	}
	.list-order > li > .list_mark {
		position: absolute;
		top: .2em;
		left: 0;
		color: #0ca698;
		font-weight: bold;
		line-height: 1;
	}
	.list-order-lv2,
	.list-order-lv2 + *{
		margin-top: 12px;
	}
	.list-order-lv2 > li {
		position: relative;
		padding-left: 36px;
		font-weight: bold;
	}
	.list-order-lv2 > li + li{
		margin-top: 6px;
	}
	.list-order-lv2 > li > .list_mark {
		position: absolute;
		width: 26px;
		height: 26px;
		top: -0.1em;
		left: 0;
		color: #fff;
		font-weight: bold;
		line-height: 1.8;
		text-align: center;
		background: url("../img/cmn_ic01.png") no-repeat;
		background-position: -32px -66px;
	}
	/* ----- list-note-order ----- */
	.list-note-order > li {
		position: relative;
		padding-left: 22px;
	}
	.list-note-order > li > .list_mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/* ----- list-ex-description ----- */
	.list-ex-description{
		margin-top: 20px;
	}
	.list-ex-description > *{
		display: inline-block;
	}
	.list-ex-description > dt{
		vertical-align: top;
	}
	/* ----- icon-list ----- */
	.icon-list{
		margin-top: 20px;
		display: table;
	}
	.icon-list > dt{
		display: table-cell;
		vertical-align: middle;
		width: 38px;
	}
	.icon-list > dd{
		display: table-cell;
		vertical-align: middle;
		padding-left: 20px;
	}
	.icon-list-wrap .icon-list{
		margin-left: 36px;
		width: calc((100% - 36px * 2) / 3);
		float: left;
	}
	.icon-list-wrap .icon-list:nth-child(3n+1){
		margin-left: 0;
	}

	/* ------------------------------------------------------
	 * navi
	------------------------------------------------------ */
	/* ----- navi-anchor ----- */
	.navi-anchor{
		margin-top: 60px;
	}
	.character-layout .navi-anchor{
		margin-top: 40px;
	}
	.navi-list {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
	}
	.navi-list > li{
		margin-top: 27px;
		margin-left: 30px;
		width: calc((100% - (30px * 2)) / 3);
	}
	.navi-list > li:nth-child(3n+1){
		margin-left: 0;
	}
	.navi-list > li:nth-child(-n+3){
		margin-top: 0;
	}
	.navi-anchor[data-position="center"]{
		margin-top: 40px;
	}
	.navi-anchor[data-position="center"] .navi-list > li{
		margin: 0 auto;
		float: none;
	}
	.navi-list > li > a{
		position: relative;
		padding: 13px 15px;
		display: table;
		width: 100%;
		height: calc(100% - 3px);
		margin-bottom: 3px;
		border: 2px solid #85c4ec;
		border-radius: 8px;
		font-size: 1.6rem;
		font-weight: bold;
		color: #333;
		line-height: 1.4;
		text-decoration: none;
		background-color: #fff;
		box-shadow: 0px 3px 0px 0px #85c4ec;
	}
	.navi-list > li > a::after{
		position: absolute;
		content: "";
		top: 50%;
		right: 10px;
		width: 26px;
		height: 26px;
		margin-top: -13px;
		background: url("../img/cmn_ic01.png") no-repeat;
		background-position: 0 0;
	}
	.navi-list > li > a.a-blank::after{
		right: 17px;
		margin: -5px 0 0 0;
	}
	.navi-list > li > a.block::after{
		right: 12px;
		background-position: -26px 0;
	}
	.navi-list > li > a:hover{
		margin-top: 2px;
		margin-bottom: 1px;
		box-shadow: 0px 1px 0px 0px #85c4ec;
	}
	.navi-list > li.v2 > a{
		background-color: #e0f3f3;
	}
	.navi-list > li > a:active{
		margin-top: 3px;
		margin-bottom: 0;
		box-shadow: 0 0 0 0 #85c4ec;
	}
	.navi-list .navi_img{
		display: table-cell;
		vertical-align: middle;
		width: 80px;
	}
	.navi-list .navi_img > img{
		border-radius: 8px 0 0 8px;
	}
	.navi-list .navi_text{
		padding: 0 20px;
		display: table-cell;
		vertical-align: middle;
	}
	.navi-list .navi_lead{
		display: block;
		font-size: 1.8rem;
	}
	[data-browser="ie11"] .navi-list > li > a > * {
		pointer-events: none;
	}
	/* ----- navi-blank ----- */
	.navi-blank{
		margin-top: 40px;
	}
	/* ----- navi-door ----- */
	.navi-door{
		margin-top: 80px;
		padding: 40px 30px 30px;
		background: url("../img/cmn_navi_bg01.png") no-repeat 0 0 #f3faff;
		border-radius: 8px;
		overflow: hidden;
	}
	.navi-door .navi-list{
		margin-top: 40px;
	}
	.navi-door .navi-list > li{
		margin-top: 28px;
		margin-left: 28px;
		width: calc((100% - (28px * 3)) / 4);
	}
	.navi-door .navi-list > li > a{
		padding: 0;
	}
	.navi-door .navi-list > li:nth-child(4n+1){
		margin-left: 0;
	}
	.navi-door .navi-list > li:nth-child(-n+4){
		margin-top: 0;
	}
	.navi-door .navi-list > li > a::after{
		background-position: -26px 0;
	}
	.navi-door .navi-list > li.is-current > .block {
		position: relative;
		padding: 0;
		display: table;
		width: 100%;
		border: 2px solid #85c4ec;
		border-radius: 8px;
		font-size: 1.6rem;
		font-weight: bold;
		color: #333;
		line-height: 1.4;
		text-decoration: none;
		background-color: #e9f6ff;
		overflow: hidden;
		box-sizing: border-box;
		box-shadow: 0px 3px 0px 0px #85c4ec;
}
	/* ----- navi-local ----- */
	.navi-local{
		margin-top: 70px;
	}
	.navi-local .navi-inner{
		display: table;
		width: 100%;
		border: 2px solid #3399cc;
	}
	.navi-local .navi-inner > li{
		width: 16%;
		display: table-cell;
		vertical-align: middle;
		border-left: 2px solid #3399cc;
	}
	.navi-local .navi-inner > li:first-child{
		border-left: none;
	}
	.navi-local .navi-inner > li > a,
	.navi-local .navi-inner > li > p{
		padding: 12px 20px 12px 48px;
		position: relative;
		display: table;
		width: 100%;
		height: 100%;
		line-height: 1.2;
		text-decoration: none;
		color: #333;
	}
	.navi-local .navi-inner > li > p{
		background-color: #3399cc;
		color: #fff;
	}
	.navi-local .navi-inner > li > a::after,
	.navi-local .navi-inner > li > p::after{
		position: absolute;
		content: "";
		top: 50%;
		right: 10px;
		background: url("../img/cmn_ic01.png") no-repeat;
	}
	.navi-local .navi-inner > li > a::after{
		width: 8px;
		height: 13px;
		margin-top: -7px;
		background-position: -52px 0;
	}
	.navi-local .navi-inner > li > p::after{
		width: 13px;
		height: 8px;
		margin-top: -4px;
		background-position: -61px 0;
	}
	.navi-local .navi-inner > li > a:hover{
		background-color: #e9f6ff;
	}
	.navi-local .navi_text{
		display: table-cell;
		vertical-align: middle;
		height: 38px;
	}
	.navi-local .navi_num{
		padding-top: 19px;
		position: absolute;
		display: block;
		top: -17px;
		left: 8px;
		width: 30px;
		height: 46px;
		background: url("../img/cmn_ic01.png") no-repeat;
		background-position: 0 -67px;
		text-align: center;
		font-size: 1.8rem;
		line-height: 1;
		font-weight: bold;
		color: #fff;
	}

	/* ------------------------------------------------------
	 * column-media
	------------------------------------------------------ */
	.column-media > .column_image[data-image-pc="right"] {
		float: right;
		margin-left: 36px;
	}
	.column-media > .column_detail[data-wraparound="false"] {
		overflow: hidden;
	}
	/* ------------------------------------------------------
	 * column-layout
	------------------------------------------------------ */
	.column-layout > .column_item{
		float: left;
		
	}
	.column-layout[data-row-pc="2"] > .column_item{
		margin-left: 36px;
		margin-top: 36px;
		width: calc((100% - 36px) / 2);
	}
	.column-layout[data-row-pc="2"] > .column_item:nth-child(-n+2){
		margin-top: 0;
	}
	.column-layout[data-row-pc="2"] > .column_item:nth-child(2n+1){
		margin-left: 0;
	}
	/* ------------------------------------------------------
	 * box
	------------------------------------------------------ */
	/* ----- box-layout-v1 ----- */
	.box-layout-v1{
		margin-top: 35px;
		padding: 25px 20px;
		background-color: #f0f9ff;
		border-radius: 8px;
	}
	.box-layout-v1 > .box_title{
		font-size: 1.8rem;
		font-weight: bold;
	}
	.box-layout-v1 > .box_detail{
		margin-top: 10px;
	}
	.box-layout-v1 > .box_detail + .box_title{
		margin-top: 30px;
	}
	/* ----- box-layout-v2 ----- */
	.box-layout-v2{
		margin-top: 40px;
		border: 2px solid #85c4ec;
		border-radius: 8px;
		overflow: hidden;
	}
	.box-layout-v2 > .box_head{
		padding: 30px 30px 30px 90px;
		background-color: #e9f6ff;
		border-bottom: 2px solid #85c4ec;
	}
	.box-layout-v2 .box_title{
		position: relative;
		font-size: 2rem;
		font-weight: bold;
	}
	.box-layout-v2 .box_title::after{
		position: absolute;
		content: "";
		top: 50%;
		left: -60px;
		width: 36px;
		height: 60px;
		margin-top: -30px;
		background: url("../img/cmn_character_im02.png") no-repeat 0 0;
		background-size: 100% auto;
	}
	.box-layout-v2 > .box_detail{
		padding: 40px 10px;
	}
	.box-layout-v2 .box_title + .list-bullet{
		margin-top: 15px;
	}
	.box-layout-v2 > .box_detail .notice-list{
		margin-top: 0;
	}
	.box-layout-v2 > .box_detail .text-paragraph{
		margin: 30px 10px 0;
	}
	/* ----- box-layout-v3 ----- */
	.box-layout-v3{
		margin-top: 30px;
		padding: 20px 30px;
		background-color: #f0f9ff;
		border-radius: 8px;
	}
	.box-layout-v3 .box_inner > *{
		float: left;
	}
	.box-layout-v3 .box_title{
		padding-top: 15px;
		font-weight: bold;
	}
	.box-layout-v3 .box_detail{
		margin-left: 20px;
	}
	.box-layout-v3 .link-button{
		margin-top: 0;
	}
	.box-layout-v3 .box_inner + .box_inner{
		margin-top: 20px;
		padding-top: 20px;
		border-top: 2px dotted #3399ca;
	}
	/* ----- box-layout-v4 ----- */
	.box-layout-v4{
		margin-top: 30px;
		padding: 30px;
		border: 2px solid #ccc;
	}
	.box-layout-v4 .box_title{
		font-weight: bold;
	}
	.box-layout-v4 .box_detail{
		margin-top: 25px;
	}
	.box-layout-v4 .list-order > li{
		font-weight: normal;
	}
	.box-layout-v4 .list-order > li > .list_mark{
		top: .3em;
	}
	.box-layout-v4 .list-order + p{
		margin-top: 10px;
	}
	.box-layout-v4 .box_subtitle{
		font-weight: bold;
	}
	.box-layout-v4 .box_subtitle + p,
	.box-layout-v4 .column-media{
		margin-top: 10px;
	}
	.box-layout-v4 .column-media + .box_subtitle{
		margin-top: 40px;
	}
	.box-layout-v4 .box_set{
		margin-top: 30px;
		display: table;
	}
	.box-layout-v4 .box_set > *{
		display:table-cell;
		vertical-align: middle;
	}
	.box-layout-v4 .box_set > dt{
		font-weight: bold;
	}
	.box-layout-v4 .box_set > dd{
		padding-left: 18px;
	}
	.box-layout-v4 .box_set .link-button{
		margin: 0;
	}
	/* ----- box-layout-v5 ----- */
	.box-layout-v5{
		margin-top: 30px;
		padding: 25px 30px 30px;
		background-color: #fff8e1;
		border-radius: 8px;
	}
	.box-layout-v5 .box_title{
		font-weight: bold;
		font-size: 18px;
	}
	.box-layout-v5 .box_inner{
		margin-top: 15px;
	}
	.box-layout-v5 .box-item{
		margin: 20px 0 0 2%;
		display: table;
		float: left;
		width: 48%;
	}
	.box-layout-v5 .box-item:nth-child(-n+2){
		margin-top: 0;
	}
	.box-layout-v5 .box-item:nth-child(2n+1){
		margin-left: 0;
	}
	.box-layout-v5 .box_img{
		display: table-cell;
		width: 70px;
		text-align: center;
	}
	.box-layout-v5 .box_img > img{
		height: 50px;
	}
	.box-layout-v5 .box_detail{
		padding-left: 10px;
		display: table-cell;
	}
	/* ------------------------------------------------------
	 * table
	------------------------------------------------------ */
	.scroll-caption{
		display: none;
	}
	.table-layout{
		margin-top: 25px;
	}
	.contents >.table-layout:first-child{
		margin-top: 40px !important;
	}
	[class^="table-layout"] {
		overflow-x: auto;
		padding-bottom: 1px;
	}
	.table-layout .table_inner {
		width: 100%;
		border-top: 2px solid #85c4ec;
		border-left: 2px solid #85c4ec;
	}
	.table-layout th,
	.table-layout td {
		padding: 12px 18px;
		border-bottom: 2px solid #85c4ec;
		border-right: 2px solid #85c4ec;
		background-color: #fff;
		text-align: left;
		font-weight: normal;
		vertical-align: middle;
	}
	.table-layout thead th {
		padding: 10px 2px;
		text-align: center;
		border-bottom: none;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.3;
	}
	.table-layout .cell-style1 {
		background-color: #3399cc;
		color: #fff;
	}
	.table-layout .cell-style2 {
		background-color: #def2ff;
	}
	.table-layout .list-note{
		margin-top: 10px;
	}
	.table-layout .list-order + *{
		margin-top: 10px;
	}
	.table-layout[data-table-type="explanation"] .explanation_icon {
		width: 10%;
	}
	.table-layout[data-table-type="explanation"] .explanation_title {
		width: 30%;
	}
	.table-layout[data-table-type="explanation"] .explanation_detail {
		width: 60%;
	}
	.table-layout [class*="cell_icon_"]{
		margin: 0 auto;
	}
	.table-layout [class*="cell_icon_"] + *{
		margin-top: 10px;
	}
	.table-layout .cell_icon_v1{
		width: 48px;
	}
	.table-layout .cell_icon_v2{
		width: 34px;
	}
	.table-layout .cell_icon_v3{
		width: 48px;
	}
	.table-layout .cell_icon_v4{
		width: 34px;
	}
	/* ------------------------------------------------------
	 * other
	------------------------------------------------------ */
	.step-icon{
		margin-top: 60px;
		text-align: center;
	}
	/* ------------------------------------------------------
	 * layout
	------------------------------------------------------ */
	
	/* ----- character-layout ----- */
	.contents > .character-layout:first-child{
		margin-top: 30px !important;
	}
	.school-heading-lv2 + .character-layout{
		margin-top: 30px !important;
	}
	.character-layout[data-image="left"] > .character_img,
	.character-layout[data-image="left"] > .character_detail{
		float: left;
	  }
	.character-layout[data-image="right"] > .character_img,
	.character-layout[data-image="right"] > .character_detail{
		float: right;
  }
	.character-layout[data-image="left"] > .character_detail{
		border: 2px solid #3399cc;
		margin-left: 30px;
	}
	.character-layout[data-image="right"] > .character_detail{
		border: 2px solid #00a293;
		margin-right: 30px;
	}
	.character-layout[data-image="right"] > .character_img{
		text-align: right;
	}
	.character-layout .character_img{
		width: 140px;
	}
	.character-layout .character_detail{
		margin-top: 35px;
		padding: 25px 30px;
		position: relative;
		width: 720px;
		border-radius: 8px;
	}
	.character-layout .character_detail::after{
		content: "";
		position: absolute;
		top: 50%;
		margin-top: -14px;
		width: 29px;
		height: 28px;
		background: url("../img/cmn_ic01.png") no-repeat;
	}
	.character-layout[data-image="left"] > .character_detail::after{
		left: -29px;
		background-position: 0 -207px;
	}
	.character-layout[data-image="right"] > .character_detail::after{
		right: -29px;
		background-position: -31px -207px;
	}
	
	/* ----- teacher-layout ----- */
	.teacher-layout{
		margin-top: 80px;
		border: 2px solid #f3f3f3;
		border-radius: 8px;
	}
	.teacher_head{
		padding: 38px 20px 38px 100px;
		position: relative;
		font-size: 3rem;
		line-height: 1.2;
		cursor: pointer;
	}
	.teacher_head .heading_title{
		font-weight: bold;
	}
	.teacher_head::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 20px;
		width: 58px;
		height: 79px;
		margin-top: -39px;
		background: url("../img/cmn_character_im03.png") no-repeat 0 0;
	}
	.teacher_head::after{
		position: absolute;
		content: "";
		top: 50%;
		right: 20px;
		width: 36px;
		height: 36px;
		margin-top: -18px;
		background: url("../img/cmn_ic01.png") no-repeat;
		background-position: -36px -28px;
	}
	.teacher_head.is-active::after{
		background-position: 0 -28px;
	}
	.teacher_detail{
		padding: 40px 20px;
		display: none;
	}
	.teacher_detail .list-bullet{
		margin-top: 30px;
	}
	.teacher_detail .link-button{
		margin: 40px 18px 0;
	}
	.teacher_detail .link-button > li > a{
		width: 522px;
	}
	.teacher_detail .link-button > li + li{
		margin-left: 76px;
	}
	.teacher_detail .column-layout{
		margin-top: 30px;
	}
	.teacher-layout .accordion-button{
		position: relative;
		margin: 60px auto 0;
		padding: 36px 10px 2px;
		width: 60px;
		height: 60px;
		border: 2px solid #f3f3f3;
		font-size: 1.2rem;
		color: #ff9602;
		text-align: center;
		border-radius: 6px;
	}
	.teacher-layout .accordion-button::before{
		position: absolute;
		content: "";
		top: 4px;
		left: 10px;
		width: 36px;
		height: 36px;
		background: url("../img/cmn_ic01.png") no-repeat;
		background-position: 0 -28px;
	}
	.teacher-layout .link-button > li > a{
		display: table;
		height: 82px;
	}
	.link-button .link_label{
		display: table-cell;
		vertical-align: middle;
	}

	/* ------------------------------------------------------
	 * Clearfix
	------------------------------------------------------ */
	
	.character-layout::after,
	.navi-list::after,
	.navi-anchor::after,
	.column-media::after,
	.column-layout::after,
	.icon-list-wrap::after,
	.box-layout-v3 .box_inner::after,
	.box-layout-v5 .box_inner::after{
		display: block;
		clear: both;
		content: "";
	}
}

/* ======================================================
 * PC Media Queries
====================================================== */
/***
@media screen and (min-width: 1921px) {
}
@media screen and (min-width: 751px) and (max-width: 1920px) {
}
***/

/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width: 750px)  {
/* ------------------------------------------------------
 * heading
------------------------------------------------------ */
	.heading-lv1{
		margin-top: 30px !important;
		padding: 25px 15px;
		background-image: url("../img/cmn_heading_bg01_01.png"), url("../img/cmn_heading_bg01_02.png");
		background-position: 0 0, 0 100%;
		background-repeat: repeat-x;
		background-color: #3399cc;
		background-size: 280px auto;
	}
	.heading-lv1 > .heading_title{
		font-size: 2.4rem;
		font-weight: bold;
		color: #fff;
		line-height: 1.2;
	}
	[class*="heading-lv2"]{
		position: relative;
	}
	[class*="heading-lv2"]::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
	}
	.heading-lv2{
		margin-top: 40px;
		padding-left: 38px;
	}
	.heading-lv2::before{
		width: 32px;
		height: 53px;
		margin-top: -38px;
		background-position: 0 -89px;
	}
	[class*="heading-lv2"] > .heading_title{
		padding-top: 10px;
		font-size: 2.4rem;
		font-weight: bold;
		line-height: 1.2;
	}
	.heading-lv2 + *{
		margin-top: 20px;
	}
	.contents > section:first-child .icon-heading-lv2{
		margin-top: 25px !important;
	}
	.icon-heading-lv2{
		padding-left: 40px;
	}
	.icon-heading-lv2::before{
		width: 33px;
		height: 28px;
		margin-top: -6px;
		background-position: -31px -89px;
	}
	.icon-heading-lv2 > .heading_title{
		font-size: 2.1rem;
	}
	.school-heading-lv2{
		margin-top: 40px;
		text-align: center;
		color: #3399cc;
	}
	.school-heading-lv2 > .heading_subtitle{
		font-weight: bold;
	}
	.school-heading-lv2 > .heading_title{
		font-size: 2rem;
		margin-top: 4px;
		position: relative;
		display: inline-block;
	}
	.school-heading-lv2 > .heading_title::before,
	.school-heading-lv2 > .heading_title::after{
		position: absolute;
		content: "";
		top: 50%;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		
	}
	.school-heading-lv2 > .heading_title::before{
		left: -32px;
		width: 24px;
		height: 41px;
		margin-top: -30px;
		background-size: 68px 141px;
		background-position: 0 -69px;
	}
	.school-heading-lv2 > .heading_title::after{
		right: -42px;
		width: 33px;
		height: 27px;
		margin-top: -24px;
		background-size: 87px 181px;
		background-position: -31px -89px;
	}
	.step-heading-lv2{
		margin-top: 30px;
	}
	.step-heading-lv2 > .heading_title{
		display: flex;
		align-items: center;
	}
	.step-heading-lv2 .heading_icon{
		padding: 8px 12px;
		font-size: 1.5rem;
		font-weight: bold;
		color: #fff;
		background-color: #3399cc;
		line-height: 1;
		border-radius: 20px;
	}
	.step-heading-lv2 .heading_text{
		padding-left: 15px;
		font-size: 1.9rem;
	}
	.heading-lv3{
		margin-top: 30px;
		padding-bottom: 15px;
		background: url("../img/cmn_heading_bg02.png") 0 100% repeat-x;
	}
	.icon-heading-lv2 + section > .heading-lv3{
		margin-top: 20px;
	}
	.heading-lv3 > .heading_title{
		position: relative;
		padding-left: 35px;
		font-size: 1.9rem;
		line-height: 1.2;
		font-weight: bold;
	}
	.heading-lv3 > .heading_title::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 6px;
		width: 20px;
		height: 21px;
		margin-top: -11px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
		background-position: -65px -88px;
	}
	.school-heading-lv3{
		margin-top: 30px;
	}
	.teacher_detail section:first-child .school-heading-lv3{
		margin-top: 0;
	}
	.school-heading-lv3 > .heading_title{
		padding-left: 40px;
		position: relative;
		font-size: 2.1rem;
		font-weight: bold;
	}
	.school-heading-lv3 > .heading_title::before{
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		width: 33px;
		height: 28px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
		background-position: -31px -89px;
	}
	.school-heading-lv3 + p{
		margin-top: 15px;
	}
	.school-heading-lv4 > .heading_title{
		font-weight: bold;
	}
	.school-heading-lv4 + *{
		margin-top: 10px;
	}
	.navi-heading-lv3{
		text-align: center;
	}
	.navi-heading-lv3 .heading_title{
		position: relative;
		display: inline-block;
		padding: 0 30px;
		line-height: 1.2;
		font-size: 2.1rem;
		font-weight: bold;
	}
	.navi-heading-lv3 .heading_title::before,
	.navi-heading-lv3 .heading_title::after{
		position: absolute;
		content: "";
		top: 50%;
		background: url("../img/cmn_navi_ic01.png") no-repeat;
		background-size: 71px 34px;
	}
	.navi-heading-lv3 .heading_title::before{
		left: 0;
		width: 20px;
		height: 34px;
		margin-top: -17px;
		background-position: 0 0;
	}
	.navi-heading-lv3 .heading_title::after{
		right: 0;
		width: 28px;
		height: 26px;
		margin-top: -13px;
		background-position: -20px 0;
	}
	.step-heading-lv3{
		margin-top: 30px;
	}
	.step-heading-lv2 + section > .step-heading-lv3{
		margin-top: 20px;
	}
	.step-heading-lv3 > .heading_title{
		padding-right: 60px;
		position: relative;
		font-size: 1.8rem;
		font-weight: bold;
		color: #0ca698;
	}
	.step-heading-lv3 > .heading_title::after{
		position: absolute;
		content: "";
		top: 50%;
		right: 0;
		background: url("../img/cmn_character_im04.png") no-repeat;
		background-size: 260px 39px;
	}
	.step-heading-lv3.typeA > .heading_title::after{
		width: 58px;
		height: 35px;
		margin-top: -18px;
		background-position: 0 0;
	}
	.step-heading-lv3.typeB > .heading_title::after{
		width: 49px;
		height: 39px;
		margin-top: -19px;
		background-position: -60px 0;
	}
	.step-heading-lv3.typeC > .heading_title::after{
		width: 48px;
		height: 36px;
		margin-top: -18px;
		background-position: -112px 0;
	}
	.step-heading-lv3.typeD > .heading_title::after{
		width: 47px;
		height: 34px;
		margin-top: -17px;
		background-position: -162px 0;
	}
	.step-heading-lv3.typeE > .heading_title::after{
		width: 49px;
		height: 38px;
		margin-top: -16px;
		background-position: -211px 0;
	}
	/* ------------------------------------------------------
	 * text
	------------------------------------------------------ */
	.text-paragraph{
		margin-top: 20px;
	}
	.text-paragraph-lv2{
		margin-top: 15px;
	}
	/* ------------------------------------------------------
	 * link
	------------------------------------------------------ */
	/* ----- link-text  ----- */
	.link-text > li > a {
		display: inline-block;
		position: relative;
		padding-left: 14px;
		text-decoration: none;
	}
	.link-text > li > a.a-blank{
		padding-right: 22px;
	}
	.link-text > li > a::before{
		position: absolute;
		content: "";
		top: .4em;
		left: 0;
		width: 7px;
		height: 11px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
		background-position: -42px 0;
	}
	.link-text > li > a:hover{
		text-decoration: underline;
	}
	.a-blank::after,
	.a-pdf::after{
		display: inline-block;
		content: "";
		margin: .2em 5px 0 5px;
		right: 0;
		background: url("../img/cmn_ic01_sp.png") no-repeat !important;
		background-size: 87px 181px !important;
	}
	.a-blank::after{
		width: 12px !important;
		height: 10px !important;
		background-position: -62px 0 !important;
	}
	.a-pdf::after{
		width: 12px !important;
		height: 12px !important;
		background-position: -75px 0 !important;
	}
	.link-inline{
		text-decoration: none !important;
	}
	.link-inline:hover{
		text-decoration: underline !important;
	}
	/* ----- link-button ----- */
	.link-button{
		margin-top: 20px;
	}
	.link-button > li{
		width: 100%;
	}
	.link-button > li > a{
		display: inline-block;
		position: relative;
		width: 100%;
		padding: 15px 30px 15px 20px;
		border: 2px solid #85c4ec;
		background-color: #fff;
		color: #333;
		font-weight: bold;
		text-decoration: none;
		vertical-align: top;
		border-radius: 8px;
		overflow: hidden;
		box-shadow: 0px 2px 0px 0px #85c4ec;
	}
	.link-button .link_label{
		display: inline-block;
		line-height: 1.25;
	}

	.link-button > li > a.a-blank::after,
	.link-button > li > a.a-pdf::after{
		position: absolute;
		top: 50%;
		margin: -5px 0 0 0;
		right: 10px;
	}
	.link-button > li > a.a-pdf::after{
		margin: -6px 0 0 0;
	}
	
	/* ------------------------------------------------------
	 * button
	------------------------------------------------------ */
	.btn {
		margin-top: 15px;
	}

	.btn > a,
	.btn > span {
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		line-height: 1.2;
		margin-left: auto;
		margin-right: auto;
		text-decoration: none;
	}

	[data-btn="type1"] > a,
	[data-btn="type1"]>span {
		background-color: #ff9602;
		border-radius: 45px;
		color: #fff;
		height: 45px;
		position: relative;
		max-width: 238.5px;
	}

	[data-btn="type1"] > a::before,
	[data-btn="type1"]>span::before {
		border-bottom: 2px solid #fff;
		border-right: 2px solid #fff;
		content: "";
		height: 10px;
		position: absolute;
		right: 20px;
		top: 50%;
		width: 10px;
		-webkit-transform: translateY(-50%) rotate(-45deg);
		transform: translateY(-50%) rotate(-45deg);
	}

	.btn.next {
		margin-top: 25px;
	}
	
	/* ------------------------------------------------------
	 * list
	------------------------------------------------------ */
	/* ----- list-note ----- */
	.list-note{
		margin-top: 15px;
	}
	.list-note > li {
		position: relative;
		padding-left: 1.4em;
	}
	.list-note > li > .list_mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	.list-note.lv2{
		margin-top: 20px;
	}
	.list-note.lv2 > li{
		padding-left: 1.2em;
		font-size: 1.4rem;
	}
	.list-bullet > li {
		position: relative;
		padding-left: 18px;
		font-weight: bold;
	}
	.list-bullet > li + li{
		margin-top: 5px;
	}
	.list-bullet > li::before {
		position: absolute;
		top: .5em;
		left: 0;
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background-color: #0ca698;
		content: "";
	}
	.column_lead + .list-bullet{
		margin-top: 20px;
	}
	/* ----- notice-list ----- */
	.notice-list{
		margin-top: 20px;
	}
	.notice-list > dt{
		padding: 2px 10px;
		width: 70px;
		color: #fff;
		font-weight: bold;
		border-radius: 20px;
		text-align: center;
		background-color: #ff0000;
		vertical-align: top;
	}
	.notice-list > dd{
		margin-top: 10px;
	}
	.notice-list .list-bullet > li{
		font-weight: normal;
	}
	/* ----- list-order ----- */
	.list-order{
		margin-top: 10px;
	}
	.list-order > li {
		position: relative;
		padding-left: 26px;
		font-weight: bold;
	}
	.list-order > li > .list_mark {
		position: absolute;
		top: .2em;
		left: 0;
		color: #0ca698;
		font-weight: bold;
		line-height: 1;
	}
	.list-order-lv2,
	.list-order-lv2 + *{
		margin-top: 12px;
	}
	.list-order-lv2 > li {
		position: relative;
		padding-left: 30px;
		font-weight: bold;
	}
	.list-order-lv2 > li + li{
		margin-top: 6px;
	}
	.list-order-lv2 > li > .list_mark {
		position: absolute;
		width: 21px;
		height: 21px;
		top: 0;
		left: 0;
		color: #fff;
		font-weight: bold;
		line-height: 1.6;
		text-align: center;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
		background-position: -24px -52px;
	}
	/* ----- list-note-order ----- */
	.list-note-order > li {
		position: relative;
		padding-left: 22px;
	}
	.list-note-order > li > .list_mark {
		position: absolute;
		top: 0;
		left: 0;
	}
	/* ----- list-ex-description ----- */
	.list-ex-description{
		margin-top: 20px;
	}
	.list-ex-description{
		display: -webkit-flex;
		display: flex;
	}
	/* ----- icon-list ----- */
	.icon-list{
		margin-top: 20px;
		display: -webkit-flex;
		display: flex;
	}
	.icon-list > dt{
		width: 38px;
	}
	.icon-list > dd{
		width: calc(100% - 58px);
		margin-left: 20px;
	}
	.icon-list-wrap .icon-list {
		margin-top: 10px;
		-webkit-align-items: center;
		align-items: center;
	}
	.icon-list-wrap .icon-list:first-child{
		margin-top: 20px;
	}

	/* ------------------------------------------------------
	 * navi
	------------------------------------------------------ */
	/* ----- navi-anchor ----- */
	.navi-anchor{
		margin-top: 35px;
	}
	.character-layout .navi-anchor{
		margin-top: 40px;
	}
	.navi-list{
		display: -webkit-flex;
		display: flex;
		flex-wrap: -webkit-wrap;
		flex-wrap: wrap;
	}
	.navi-list > li{
		margin-top: 10px;
		width: 100%;
	}
	[data-col-sp="2"] .navi-list > li{
		width: calc((100% - 15px) / 2);
		margin-left: 15px;
	}
	[data-col-sp="2"] .navi-list > li:nth-child(2n+1){
		margin-left: 0;
	}
	.navi-list > li:first-child,
	[data-col-sp="2"] .navi-list > li:nth-child(-n+2){
		margin-top: 0;
	}
	.navi-anchor[data-position="center"]{
		margin-top: 20px;
	}
	.navi-list > li > a{
		display: -webkit-flex;
		display: flex;
		align-items: -webkit-center;
		align-items: center;
		position: relative;
		padding: 10px 30px 10px 10px;
		width: 100%;
		height: 100%;
		border: 2px solid #85c4ec;
		border-radius: 8px;
		font-size: 1.2rem;
		font-weight: bold;
		color: #333;
		line-height: 1.2;
		text-decoration: none;
		background-color: #fff;
		overflow: hidden;
		box-shadow: 0px 2px 0px 0px #85c4ec;
	}
	.navi-blank .navi-list > li > a{
		padding: 10px 20px 10px 10px;
	}
	.navi-list > li > a::after{
		position: absolute;
		content: "";
		top: 50%;
		right: 5px;
		width: 20px;
		height: 20px;
		margin-top: -10px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
		background-position: 0 0;
	}

	.navi-list > li > a.a-blank::after{
		right: 6px;
		margin: -5px 0 0 0;
	}
	.navi-list > li > a.block::after{
		background-position: -21px 0;
	}
	.navi-list > li.v2{
		width: 100%;
	}
	.navi-list > li.v2 > a{
		background-color: #e0f3f3;
	}
	.navi-list .navi_img{
		width: 65px;
	}
	.navi-list .navi_img > img{
		border-radius: 8px 0 0 8px;
	}
	[data-col-sp="2"] .navi-list .navi_img{
		display: none;
	}
	.navi-blank .navi-list .navi_img{
		width: 50px;
		display: block;
	}
	.navi-list .navi_text{
		margin-left: 10px;
		font-size: 1.4rem;
	}
	[data-col-sp="2"] .navi-list .navi_text{
		margin-left: 0;
	}
	.navi-blank .navi-list .navi_text {
		margin-left: 10px;
	}
	.navi-list .navi_lead{
		display: block;
		font-size: 1.4rem;
		margin-bottom: 4px;
	}
	/* ----- navi-blank ----- */
	.navi-blank{
		margin-top: 20px;
	}
	/* ----- navi-door ----- */
	.navi-door{
		margin: 40px -15px 0;
		padding: 30px 15px;
		background: url("../img/cmn_navi_bg01.png") no-repeat 50% 0 #f3faff;
		background-size: 220% auto;
	}
	.navi-door .navi-list{
		margin-top: 20px;
	}
	.navi-door .navi-list > li{
		margin-top: 10px;
	}
	.navi-door .navi-list > li:first-child{
		margin-top: 0;
	}
	.navi-door .navi-list > li > a{
		padding: 0 30px 0 0;
	}
	.navi-door .navi-list > li > a::after{
		right: 10px;
		background-position: -21px 0;
	}
	.navi-door .navi-list > li.is-current > .block {
		display: -webkit-flex;
		display: flex;
		align-items: -webkit-center;
		align-items: center;
		position: relative;
		padding: 0;
		width: 100%;
		height: 100%;
		border: 2px solid #85c4ec;
		border-radius: 8px;
		font-size: 1.2rem;
		font-weight: bold;
		color: #333;
		line-height: 1.2;
		text-decoration: none;
		background-color: #e9f6ff;
		overflow: hidden;
		box-shadow: 0px 2px 0px 0px #85c4ec;
}
	/* ----- navi-local ----- */
	.navi-local{
		margin-top: 25px;
	}
	.navi-local .navi-inner{
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		border: 2px solid #3399cc;
	}
	.navi-local .navi-inner > li{
		width: 50%;
		border-left: 2px solid #3399cc;
		border-top: 2px solid #3399cc;
	}
	.navi-local .navi-inner > li:nth-child(odd){
		border-left: none;
	}
	.navi-local .navi-inner > li:nth-child(-n+2){
		border-top: none;
	}
	.navi-local .navi-inner > li > a,
	.navi-local .navi-inner > li > p{
		padding: 5px 6px;
		position: relative;
		width: 100%;
		height: 100%;
		display: flex;
		text-decoration: none;
		color: #333;
	}
	.navi-local .navi-inner > li > p{
		background-color: #3399cc;
		color: #fff;
	}
	.navi-local .navi-inner > li > a::after,
	.navi-local .navi-inner > li > p::after{
		position: absolute;
		content: "";
		top: 50%;
		right: 5px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
	}
	.navi-local .navi-inner > li > a::after{
		width: 7px;
		height: 11px;
		margin-top: -5px;
		background-position: -42px 0;
	}
	.navi-local .navi-inner > li > p::after{
		width: 11px;
		height: 7px;
		margin-top: -4px;
		background-position: -50px 0;
	}
	.navi-local .navi_text{
		display: flex;
		align-items: center;
		margin-left: 6px;
		line-height: 1.2;
	}
	.navi-local .navi_num{
		padding-top: 15px;
		display: block;
		width: 23px;
		height: 36px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
		background-position: 0 -52px;
		text-align: center;
		line-height: 1;
		font-weight: bold;
		color: #fff;
	}

	/* ------------------------------------------------------
	 * column-media
	------------------------------------------------------ */
	.column-media{
		position: relative;
	}
	.column-media > .column_image[data-image-sp="left"] {
		float: left;
		width: 30%;
		margin-bottom: 10px;
		margin-right: 15px;
	}
	.column-media[data-layout-sp="col-reverse"] {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	.column-media[data-layout-sp="col-reverse"] > div{
		position: relative !important;
		width: 100% !important;
	}
	/* ------------------------------------------------------
	 * column-layout
	------------------------------------------------------ */
	.column-layout[data-row-sp="1"] > .column_item{
		margin-top: 25px;
	}
	.column-layout > .column_item:first-child{
		margin-top: 0;
	}
	/* ------------------------------------------------------
	 * box
	------------------------------------------------------ */
	/* ----- box-layout-v1 ----- */
	.box-layout-v1{
		margin-top: 20px;
		padding: 15px;
		background-color: #f0f9ff;
		border-radius: 8px;
	}
	.box-layout-v1 > .box_title{
		font-size: 1.4rem;
		font-weight: bold;
	}
	.box-layout-v1 > .box_detail{
		margin-top: 6px;
	}
	.box-layout-v1 > .box_detail + .box_title{
		margin-top: 15px;
	}
	/* ----- box-layout-v2 ----- */
	.box-layout-v2{
		margin-top: 20px;
		border: 2px solid #85c4ec;
		border-radius: 8px;
		overflow: hidden;
	}
	.box-layout-v2 > .box_head{
		padding: 20px 15px 15px 50px;
		background-color: #e9f6ff;
		border-bottom: 2px solid #85c4ec;
	}
	.box-layout-v2 .box_title{
		position: relative;
		font-size: 1.5rem;
		font-weight: bold;
	}
	.box-layout-v2 .box_title::after{
		position: absolute;
		content: "";
		top: 50%;
		left: -40px;
		width: 32px;
		height: 55px;
		margin-top: -20px;
		background: url("../img/cmn_character_im02.png") no-repeat 0 0;
		background-size: 100% auto;
	}
	.box-layout-v2 > .box_detail{
		padding: 15px 10px;
	}
	.box-layout-v2 .box_title + .list-bullet{
		margin-top: 10px;
	}
	.box-layout-v2 > .box_detail .notice-list{
		margin-top: 0;
	}
	.box-layout-v2 > .box_detail .text-paragraph{
		margin-top: 15px;
	}
	/* ----- box-layout-v3 ----- */
	.box-layout-v3{
		margin-top: 15px;
		padding: 15px;
		background-color: #f0f9ff;
		border-radius: 8px;
	}
	.box-layout-v3 .box_title{
		font-weight: bold;
	}
	.box-layout-v3 .link-button{
		margin-top: 10px;
	}
	.box-layout-v3 .box_inner + .box_inner{
		margin-top: 20px;
		padding-top: 20px;
		border-top: 2px dotted #3399ca;
	}
	/* ----- box-layout-v4 ----- */
	.box-layout-v4{
		margin-top: 25px;
		padding: 15px;
		border: 2px solid #ccc;
	}
	.box-layout-v4 .box_title{
		font-weight: bold;
	}
	.box-layout-v4 .box_detail{
		margin-top: 15px;
	}
	.box-layout-v4 .list-order > li{
		font-weight: normal;
	}
	.box-layout-v4 .list-order + p{
		margin-top: 10px;
	}
	.box-layout-v4 .box_subtitle{
		font-weight: bold;
	}
	.box-layout-v4 .box_subtitle + p,
	.box-layout-v4 .column-media{
		margin-top: 10px;
	}
	.box-layout-v4 .column-media + .box_subtitle{
		margin-top: 20px;
	}
	.box-layout-v4 .column-media > .column_image{
		margin-top: 15px;
		text-align: center;
	}
	.box-layout-v4 .box_set{
		margin-top: 20px;
	}
	.box-layout-v4 .box_set > dt{
		font-weight: bold;
	}
	.box-layout-v4 .box_set > dd{
		margin-top: 10px;
	}
	.box-layout-v4 .box_set .link-button{
		margin: 0;
	}
	/* ----- box-layout-v5 ----- */
	.box-layout-v5{
		margin-top: 20px;
		padding: 15px;
		background-color: #fff8e1;
		border-radius: 8px;
	}
	.box-layout-v5 .box_title{
		font-weight: bold;
		font-size: 16px;
	}
	.box-layout-v5 .box_inner{
		margin-top: 15px;
	}
	.box-layout-v5 .box-item{
		display: flex;
	}
	.box-layout-v5 .box-item + .box-item{
		margin-top: 15px;
	}
	.box-layout-v5 .box_img{
		width: 60px;
		text-align: center;
	}
	.box-layout-v5 .box_img > img{
		max-width: inherit;
	}
	.box-layout-v5 .box-item:first-child .box_img > img{
		height: 38px;
	}
	.box-layout-v5 .box-item:nth-child(2) .box_img > img{
		height: 42px;
	}
	.box-layout-v5 .box-item:nth-child(3) .box_img > img{
		height: 45px;
	}
	.box-layout-v5 .box-item:nth-child(4) .box_img > img{
		height: 40px;
	}
	.box-layout-v5 .box_detail{
		padding-left: 10px;
		width: calc(100% - 60px);
	}
	/* ------------------------------------------------------
	 * table
	------------------------------------------------------ */
	.scroll-caption{
		margin-top: 20px;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	.scroll_img{
		width: 90px;
		margin-right: 10px;
	}
	.table-layout{
		margin-top: 25px;
	}
	.scroll-caption + .table-layout{
		margin-top: 10px;
	}
	.contents >.table-layout:first-child{
		margin-top: 25px !important;
	}
	.table-layout[data-layout-sp="scroll"] {
		overflow-x: auto !important;
		padding-bottom: 10px;
		white-space: nowrap;
	}
	
	.table-layout .table_inner {
		width: 100%;
		border-top: 2px solid #85c4ec;
		border-left: 2px solid #85c4ec;
	}
	.table-layout[data-layout-sp="scroll"] .table_inner {
		width: 800px;
	}
	.table-layout th,
	.table-layout td {
		padding: 10px 15px;
		border-bottom: 2px solid #85c4ec;
		border-right: 2px solid #85c4ec;
		background-color: #fff;
		text-align: left;
		font-weight: normal;
		vertical-align: middle;
	}
	.table-layout[data-layout-sp="scroll"] th,
	.table-layout[data-layout-sp="scroll"] td {
		white-space: nowrap;
	}
	.table-layout thead th {
		padding: 8px 2px;
		text-align: center;
		border-bottom: none;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.3;
	}
	.table-layout .cell-style1 {
		background-color: #3399cc;
		color: #fff;
	}
	.table-layout .cell-style2 {
		background-color: #def2ff;
	}
	.table-layout .list-note{
		margin-top: 10px;
	}
	.table-layout .list-order + *{
		margin-top: 10px;
	}
	.table-layout[data-layout-sp="vertical"] thead{
		display: block;
		width: 100%;
	}
	.table-layout[data-layout-sp="vertical"] tr,
	.table-layout[data-layout-sp="vertical"] tr > th,
	.table-layout[data-layout-sp="vertical"] tr > td {
		display: block;
		width: 100%;
	}
	.table-layout[data-layout-sp="vertical-uni2"] thead {
		display: none;
	}
	.table-layout[data-layout-sp="vertical-uni2"] tbody {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.table-layout[data-layout-sp="vertical-uni2"] tbody > tr {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.table-layout[data-layout-sp="vertical-uni2"] tbody > tr > .explanation_icon {
		width: 69px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		padding: 10px;
	}
	.table-layout[data-layout-sp="vertical-uni2"] tbody > tr > .explanation_title {
		width: calc(100% - 69px);
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	.table-layout[data-layout-sp="vertical-uni2"] tbody > tr > .explanation_detail {
		width: 100%;
		display: block;
	}
	.table-layout [class*="cell_icon_"]{
		margin: 0 auto;
	}
	.table-layout [class*="cell_icon_"] + *{
		margin-top: 10px;
	}
	.table-layout .cell_icon_v1{
		width: 45px;
	}
	.table-layout .cell_icon_v2{
		width: 30px;
	}
	.table-layout .cell_icon_v3{
		width: 45px;
	}
	.table-layout .cell_icon_v4{
		width: 30px;
	}
	
	/* ------------------------------------------------------
	 * other
	------------------------------------------------------ */
	.step-icon{
		margin: 30px auto;
		width: 80px;
	}
	/* ------------------------------------------------------
	 * layout
	------------------------------------------------------ */
	
	/* ----- character-layout ----- */
	.contents > .character-layout:first-child{
		margin-top: 25px !important;
	}
	.school-heading-lv2 + .character-layout{
		margin-top: 20px !important;
	}
	.character-layout{
		display: flex;
	}
	.character-layout + .character-layout{
		margin-top: 15px;
	}
	.character-layout[data-image="right"] {
		flex-direction: row-reverse;
  }
	.character-layout[data-image="left"] > .character_detail{
		border: 2px solid #3399cc;
		margin-left: 15px;
	}
	.character-layout[data-image="right"] > .character_detail{
		border: 2px solid #00a293;
		margin-right: 15px;
	}
	.character-layout .character_img{
		width: 50px;
	}
	.character-layout .character_detail{
		width: calc(100% - 65px);
		margin-top: 15px;
		padding: 15px;
		position: relative;
		border-radius: 8px;
	}
	.character-layout .character_detail::after{
		content: "";
		position: absolute;
		top: 18px;
		width: 14px;
		height: 15px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
	}
	.character-layout[data-image="left"] > .character_detail::after{
		left: -14px;
		background-position: 0 -166px;
	}
	.character-layout[data-image="right"] > .character_detail::after{
		right: -14px;
		background-position: -15px -166px;
	}
	
	/* ----- teacher-layout ----- */
	.teacher-layout{
		margin-top: 40px;
		border: 2px solid #f3f3f3;
		border-radius: 8px;
	}
	.teacher_head{
		padding: 28px 15px 28px 80px;
		position: relative;
		font-size: 2.4rem;
		line-height: 1.2;
		cursor: pointer;
	}
	.teacher_head .heading_title{
		font-weight: bold;
	}
	.teacher_head::before{
		position: absolute;
		content: "";
		top: 50%;
		left: 20px;
		width: 42px;
		height: 57px;
		margin-top: -30px;
		background: url("../img/cmn_character_im03.png") no-repeat 0 0;
		background-size: 42px auto;
	}
	.teacher_head::after{
		position: absolute;
		content: "";
		top: 50%;
		right: 20px;
		width: 30px;
		height: 30px;
		margin-top: -15px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
		background-position: -31px -21px;
	}
	.teacher_head.is-active::after{
		background-position: 0 -21px;
	}
	.teacher_detail{
		padding: 0 15px 15px;
		display: none;
	}
	.teacher_detail .list-bullet{
		margin-top: 15px;
	}
	.teacher_detail .link-button{
		margin-top: 20px;
	}
	.teacher_detail .link-button > li + li{
		margin-top: 10px;
	}
	.teacher_detail .column-layout{
		margin-top: 20px;
	}
	.teacher-layout .accordion-button{
		position: relative;
		margin: 30px auto 0;
		padding: 31px 4px 2px;
		width: 50px;
		height: 50px;
		border: 2px solid #ff9602;
		font-size: 1rem;
		color: #ff9602;
		text-align: center;
		border-radius: 6px;
	}
	.teacher-layout .accordion-button::before{
		position: absolute;
		content: "";
		top: 4px;
		left: 8px;
		width: 30px;
		height: 30px;
		background: url("../img/cmn_ic01_sp.png") no-repeat;
		background-size: 87px 181px;
		background-position: 0 -22px;
	}

	/* ------------------------------------------------------
	 * Clearfix
	------------------------------------------------------ */
	
	.character-layout::after,
	.navi-list::after,
	.navi-anchor::after,
	.column-media::after,
	.column-layout::after,
	.icon-list-wrap::after,
	.box-layout-v3 .box_inner::after{
		display: block;
		clear: both;
		content: "";
	}
}

/* ======================================================
 * SP Media Queries
====================================================== */
/***
@media only screen and (min-width: 320px) and (max-width: 750px) {
}
@media only screen and (max-width: 736px) {
}
@media only screen and (max-width: 667px) {
}
@media only screen and (max-width: 640px) {
}
@media only screen and (max-width: 568px) {
}
@media only screen and (max-width: 480px) {
}
@media only screen and (max-width: 414px) {
}
@media only screen and (max-width: 375px) {
}
@media only screen and (max-width: 360px) {
}
@media only screen and (max-width: 320px) {
}
***/


/* ======================================================
 * Print
====================================================== */
@media print {
}