@charset "utf-8";
/*=============================================================
 contents Layout
=============================================================*/
/* contentsabout
-------------------------------------------------------------*/
#contentsabout{
	border-bottom: 2px solid #580c10;
}
#contentsabout .inner{
	width: 1200px;
	margin: 0 auto;
	padding: 0 60px;
	position: relative;
	z-index: 2;
}
#contentsabout .inner .boxFlex{
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.bg2{
	padding: 0;
	text-align: center;
	background: url("../img/bg02.png") no-repeat center -10px;
}
/*=============================================================
 main
=============================================================*/
#mv{
	position: relative;
}
#mv img{
	width: 100%;
}
#mv .pc{
	display: block;
}
#mv .sp{
	display: none;
}
#mv .catch{
	width: 42%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#mv .catch img{
	width: 62.5%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
/*=============================================================
 intro
=============================================================*/
/* #intro
-------------------------------------------------------------*/
#intro{
	padding: 90px 0 0;
	text-align: center;
	background: url("../img/bg.png") no-repeat center -60px;
}
#intro .ttl{
	width: 270px;
	display: flex;
	margin: 0 auto;
	background: url("../img/intro_ttl.png") no-repeat center center;
	background-size: cover;
}
#intro .ttl p{
	width: 50%;
	padding: 4px 0 5px 0;
	text-align: center;
	color: #fff;
	font-size: 18px;
	line-height: 1.0;
	font-weight: 500;
}
#intro p.catch {
	padding: 10px 0 60px 0;
	text-align: center;
	font-size: 41px;
	line-height: 1.8;
	font-weight: 600;
	letter-spacing: 0.15em;
}
#intro p.catch strong{
	color: #2b60ac;
	font-weight: 700;
}
#intro .boxFig{
	width: 760px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
#intro .boxFig figure{
	width: 367px;
}
#intro .boxPhoto{
	margin-top: 65px;
}
#intro .boxPhoto .pc{
	display: block;
}
#intro .boxPhoto .sp{
	display: none;
}
/*=============================================================
ttlArea
=============================================================*/
/* #ttlArea
-------------------------------------------------------------*/
#ttlArea{
	width: 910px;
	margin: 0 auto;
	padding: 155px 0 180px;
	text-align: center;
}
#ttlArea .corner{
	position: absolute;
}
#ttlArea .corner01{
	top: -5px;
	left: -5px;
}
#ttlArea .corner02{
	top: -5px;
	right: -5px;
	transform: rotate(90deg);
}
#ttlArea .corner03{
	bottom: -5px;
	right: -5px;
	transform: rotate(180deg);
}
#ttlArea .corner04{
	bottom: -5px;
	left: -5px;
	transform: rotate(270deg);
}
#ttlAreaInner{
	position: relative;
	margin: 4px;
	padding: 40px 0 50px;
	border: 1px solid #b5b5b6;
}
#ttlAreaInner p{
	font-size: 32px;
	font-weight: 600;
	line-height: 1.75;
	letter-spacing: 0.17em;
}
#ttlAreaInner p strong{
	font-weight: 600;
	position: relative;
	display: inline-block;
	letter-spacing: 0.17em;
}
#ttlAreaInner p strong:after{
	content: "";
	width: 100%;
	height: 5px;
	background-color: #fabe00;
	position: absolute;
	bottom: 0;
	left: 0;
}
/*=============================================================
 school leader
=============================================================*/
ul.pointBox{
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 35px 0 0;
}
ul.pointBox li{
	width: 264px;
	position: relative;
	margin: 50px 0 0;
}
ul.pointBox li .box{
	width: 264px;
	height: 264px;
	position: relative;
	padding: 0 10px 10px 0;
	background: #dcdddd;
	clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
ul.pointBox li .boxInnerWh{
	width: 100%;
	height: 100%;
	background: #fff;
}
ul.pointBox li p{
	width: 100%;
	padding: 0 10px 10px 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-52%);
	font-size: 20px;
	text-align: center;
	line-height: 1.85;
	font-weight: 600;
}
ul.pointBox li p>span{
	display: block;
}
#school ul.pointBox li p{
	color: #036eb8;
}
#leader ul.pointBox li p{
	color: #21af69;
}
ul.pointBox li div.point{
	width: 55px;
	height: 55px;
	overflow: hidden;
	position: absolute;
	border-radius: 9999px;
	top: -21px;
	left: 50%;
	transform: translateX(calc(-50% - 5px));
	color: #fff;
	z-index: 2;
}
#school ul.pointBox li div.point{
	background: #2ea7e0;
}
#leader ul.pointBox li div.point{
	background: #adcf35;
}
ul.pointBox li div span.point{
	width: 55px;
	height: 21px;
	padding-bottom: 2px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-size: 11px;
	letter-spacing: 0.03em;
}
ul.pointBox li div span.num{
	width: 55px;
	height: 34px;
	padding-bottom: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	font-size: 21px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
#school ul.pointBox li div.point span.point{
	background: #036eb8;
}
#leader ul.pointBox li div.point span.point{
	background: #00954a;
}
/* #school
-------------------------------------------------------------*/
#school{
	margin-left: calc(50% - 50vw);
	background: url("../img/bg_blue.svg") no-repeat 0 0;
	background-size: cover;
}
#school .fullBox{
	width: 1000px;
	margin-left: auto;
	padding: 120px 106px 112px 0;
	position: relative;
	text-align: left;
}
#school .logo{
	width: 448px;
	position: absolute;
	top: -58px;
	left: 10px;
}
#school .ttlBox{
		padding: 0 0 0 535px;
}
#school .ttlBox h2{
	font-size: 48px;
	font-weight: 600;
}
#school .ttlBox p{
	margin-top: 25px;
	font-size: 25px;
	font-weight: 600;
}
#school .txt{
	margin-top: 100px;
	font-size: 23px;
	font-weight: 400;
	line-height: 1.95;
	letter-spacing: 0.05em;
}
/* #leader
-------------------------------------------------------------*/
#leader {
	margin-top: 175px;
	margin-right: calc(50% - 50vw);
	background: url("../img/bg_green.svg") no-repeat 0 0;
	background-size: cover;
}
#leader .fullBox{
	width: 1000px;
	margin-right: auto;
	padding: 120px 0 112px 106px;
	position: relative;
	text-align: left;
}
#leader .logo{
	width: 448px;
	position: absolute;
	top: -75px;
	right: -10px;
}
#leader .ttlBox{
		padding: 0;
}
#leader .ttlBox h2{
	font-size: 47px;
	font-weight: 600;
	line-height: 1.25;
}
#leader .ttlBox p{
	margin-top: 25px;
	font-size: 25px;
	font-weight: 600;
}
#leader .txt{
	margin-top: 70px;
	font-size: 23px;
	font-weight: 400;
	line-height: 1.95;
	letter-spacing: 0.05em;
}
/*=============================================================
 special
=============================================================*/
/* #special
-------------------------------------------------------------*/
#special{
	padding: 75px 0 90px;
	text-align: center;
	background: url("../img/special_bg.svg") no-repeat 0 0;
	background-size: cover;
}
#special h2{
	font-size: 56px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #fff;
}
#special p.lead{
	font-size: 21px;
	font-weight: 500;
	letter-spacing: 0.28em;
	padding: 15px 0 8px;
	color: #fff;
}
#special ul{
}
#special ul li{
	margin: 35px 0 0;
	filter: drop-shadow(5px 5px 6px rgba(0,0,0,.5));
}
#special ul li>div{
	padding: 15px 20px 20px;
	background: #fff;
	clip-path: polygon(30px 0, 100% 0, 100% calc(100% - 30px), calc(100% - 30px) 100%, 0 100%, 0 30px);
}
#special ul li>div h3{
	padding: 0 0 14px;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #234c8c;
	color: #234c8c;
}
#special ul li>div .boxList{
	padding: 10px 0 0;
	text-align: left;
}
#special ul li>div .boxList p{
	display: inline-block;
	padding-top: 3px;
	font-size: 23px;
	font-weight: 700;
	letter-spacing: 0.25em;
	margin-right: 1.3em;
}
#special ul li>div .boxList p+p{
}
#special ul li>div .boxList p span.mark{
	font-size: 85%;
	color: #00a7e2;
}
/*=============================================================
 curriculum program
=============================================================*/
/* ttlCommon
-------------------------------------------------------------*/
.ttlLineBtm{
	margin: 0 0 18px;
	padding: 0 0 23px;	
	border-bottom: 1px solid #000;
}
.ttlLineBtm .ttlEn{
	font-size: 71px;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: 300;
	letter-spacing: 2px;
}
/* boxWh
-------------------------------------------------------------*/
.boxWh h2{
	padding-bottom: 13px;
	font-size: 41px;
	font-weight: 600;
	letter-spacing: 0.15em;
}
#program .boxWh h2{
	font-size: 41px;
	letter-spacing: 0.05em;
}
.boxWh p{
	font-size: 21px;
	font-weight: 600;
	letter-spacing: 0.28em;
}
/* #program
-------------------------------------------------------------*/
#program{
	padding: 100px 0 165px;
	text-align: center;
}
#program .boxFlex{
	padding:75px 10px 45px 0;
}
#program .boxFlex .box{
	width: 320px;
	position: relative;
	z-index: 1;
}
#program .boxFlex .box:nth-child(1){
	transform: translateY(67px);
}
#program .boxFlex .box:nth-child(3){
	transform: translateY(-67px);
}
#program .boxFlex .boxInner{
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2;
}
#program .boxFlex .box:nth-child(1) .boxInner{
	background: #00a7c4;
}
#program .boxFlex .box:nth-child(2) .boxInner{
	background: #036eb8;
}
#program .boxFlex .box:nth-child(3) .boxInner{
	background: #6c5ca6;
}
#program .boxFlex .box:after{
	content: "";
	width: 100%;
	height: calc(100% - 113px);
	position: absolute;
	top: 113px;
	left: 0px;
	z-index: -1;
	transform: translate(10px,10px);
	opacity: 0.5;
}
#program .boxFlex .box:nth-child(1):after{
	background: url("../img/shadow_year1.svg") no-repeat 0 0;
	background-size: cover;
}
#program .boxFlex .box:nth-child(2):after{
	background: url("../img/shadow_year2.svg") no-repeat 0 0;
	background-size: cover;
}
#program .boxFlex .box:nth-child(3):after{
	background: url("../img/shadow_year3.svg") no-repeat 0 0;
	background-size: cover;
}

#program .boxFlex .box p.mark{
	padding: 0 0 16px;
	background: #fff;
}
#program .boxFlex .box p.mark img{
	width: 97px;
	margin: 0 auto;
}
#program .boxFlex .box h3{
	padding: 70px 0 20px 0;
	margin: 0 50px;
	background: url("../img/program_line.png") no-repeat 0 bottom;
	font-size: 34px;
	color: #fff;
	letter-spacing: 0.18em;
	font-weight: 600;
}
#program .boxFlex .box p.txt{
	padding: 35px 0 0 0;
	margin: 0 0 0 50px;
	font-size: 18px;
	color: #fff;
	letter-spacing: 0.1em;
	text-align: left;
	font-weight: 500;
	line-height: 1.75;
}
#program .boxFlex .box ul{
	margin: 0 50px;
	padding: 20px 0 90px;
}
#program .boxFlex .box ul li{
	margin-top: 17px;
	padding: 4px 5px 5px 5px;
	line-height: 1.1;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	background: #fff;
	border-radius: 10px;
}
#program .boxFlex .box ul li img{
	display: block;
	width: 165px;
	margin: 5px auto 2px;
}
#program .boxFlex .box:nth-child(3) ul{
	padding: 38px 0 0px;
}
/* #curriculum
-------------------------------------------------------------*/
#curriculum{
	padding: 80px 0 105px;
	text-align: center;
}
#curriculum .boxFig{
	padding: 45px 0 0;
}
#curriculum h3{
	font-size: 31px;
	font-weight: 700;
	padding: 70px 0 30px;
}
#curriculum #world{
	width: 100%;
}
#curriculum #worldInner{
	width: auto;
	overflow-x: auto;
}
#curriculum #worldInner img{
	width: 100%;
}
#curriculum #basic{
	position: relative;
	width: 100%;
	display: flex;
	justify-content: space-between;
	column-gap:37px;
}
#curriculum #basic .boxW{
	width: 411px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
}
#curriculum #basic .boxW:after{
	content: "";
	width: 0px;
	height: 100%;
	border-left: 1px dotted #a86baa;
	position: absolute;
	top: 0;
	right: -17px;
}
#curriculum #basic .boxR{
	width: 188px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#curriculum #basic .boxF{
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
}
#curriculum #basic .box{
	width: 188px;
}
#curriculum #basic .box .ttl{
	border-radius: 15px;
	background: #c5a0c9;
	text-align-last: center;
	color: #fff;
	overflow: hidden;
	font-weight: 700;
}
#curriculum #basic .box .ttl p{
	padding: 25px 0;
	font-size: 28px;
	line-height: 1.15;
	font-weight: 700;
}
#curriculum #basic .box .ttl p span{
	font-size: 21px;
	line-height: 1.05;
	letter-spacing: 0.03em;
}
#curriculum #basic .box .ttl p.txt{
	padding: 5px 0;
	background: #a86baa;
}
#curriculum #basic .box ul{
	margin-top: 10px;
}
#curriculum #basic .box ul li{
	margin-top: 8px;
	padding: 0 0 0 8px;
	border-left: 4px solid #a86baa;
	text-align: left;
	font-size: 19px;
	font-weight: 600;
}
#curriculum #basic .box ul li.lineWh{
	border-left: 4px solid #fff;
}
#curriculum #basic .bottomBox{
	margin-top: 25px;
	padding: 5px;
	border: 1px solid #a86baa;
}
#curriculum #basic .bottomBox p{
	font-size: 17px;
	font-weight: 400;
	color: #a86baa;
}
#curriculum #edu{
	position: relative;
	width: 100%;
	display: flex;
	justify-content: space-between;
	z-index: 2;
}
#curriculum #edu:after{
	content: "";
	width: 100%;
	height: 56px;
	background: url("../img/ttl_edu.svg") no-repeat 0 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}


#curriculum #edu .box{
	width: calc((100% - 36px) / 2);
	display: flex;
	flex-direction: column;
}
#curriculum #edu .box p.ttlTop{
	width: 100%;
	font-size: 30px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	margin-bottom: 30px;
}
#curriculum #edu .boxBottom{
	width: 100%;
	height: 100%;
	background: #d5e0f2;
}
#curriculum #edu .boxBottom .ttlBox{
	padding: 10px;
	background: #93b4df;
}
#curriculum #edu .boxBottom .ttlBox p{
	padding: 10px;
	font-size: 37px;
	color: #fff;
	line-height: 1.25;
}
#curriculum #edu .boxBottom .ttlBox p.ttl{
	padding: 5px;
	font-size: 29px;
	background: #fff;
	color: #000;
}
#curriculum #edu .boxBottom .point{
	padding: 25px;
}
#curriculum #edu .boxBottom dl{
	width: 100%;
	display: flex;
}
#curriculum #edu .boxBottom dl+dl{
	margin: 25px 0 0;
	padding: 25px 0 0;
	border-top: 1px dotted #2f60ac;
}
#curriculum #edu .boxBottom dl dt{
	width: 68px;
	height: 68px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	border: 1px solid #224c8c;
	line-height: 1.05;
	background: #fff;
	color: #224c8c;
}
#curriculum #edu .boxBottom dl dt strong{
	font-size: 30px;
	line-height: 1.05;
	font-weight: 600;
}
#curriculum #edu .boxBottom dl dt span.txts{
	font-size: 15px;
	line-height: 15px;
	letter-spacing: 0.02em;
	font-weight: 600;
}
#curriculum #edu .boxBottom dl dd{
	margin-top: -6px;
	flex: 1;
	padding-left: 25px;
	font-size: 27px;
	text-align: left;
	font-weight: 600;
}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tub
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:1023px) {}
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@media only screen and (max-width:767px) {
/*=============================================================
 contents Layout
=============================================================*/
/* contentsabout
-------------------------------------------------------------*/
#contentsabout{
	border-bottom: 2px solid #580c10;
}
#contentsabout .inner{
	width: 100%;
	padding: 0 16px;
}
.bg2{
	padding: 0;
	text-align: center;
	background: url("../img/bg02.png") repeat-y center -10px;
	background-size: 105% auto;
}
/*=============================================================
 main
=============================================================*/
#mv .pc{
	display: none;
}
#mv .sp{
	display: block;
}
#mv .catch{
	width: 100%;
	height: 54%;
	position: absolute;
	top: 0;
	left: 0;
}
#mv .catch img{
	width: 62.5%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
/*=============================================================
 intro
=============================================================*/
/* #intro
-------------------------------------------------------------*/
#intro{
	padding: 50px 0 0;
	text-align: center;
	background: url("../img/bg.png") no-repeat -10px -50px;
	background-size: 110% auto;
}
#intro .ttl{
	width: 200px;
}
#intro .ttl p{
	font-size: 14px;
}
#intro p.catch {
	padding: 30px 0 15px 0;
	font-size: 26px;
	line-height: 1.6;
}
#intro p.catch strong{
	color: #2b60ac;
	font-weight: 700;
}
#intro .boxFig{
	width: auto;
	margin: 0 -3%;
	display: flex;
	justify-content: space-between;
}
#intro .boxFig figure{
	width: 48%;
}
#intro .boxPhoto{
	margin-top: 40px;
}
#intro .boxPhoto .pc{
	display: none;
}
#intro .boxPhoto .sp{
	display: block;
}
/*=============================================================
ttlArea
=============================================================*/
/* #ttlArea
-------------------------------------------------------------*/
#ttlArea{
	width: 100%;
	padding: 55px 0 55px;
}
#ttlAreaInner{
	position: relative;
	margin: 4px;
	padding: 20px 15px 30px 15px;
	border: 1px solid #b5b5b6;
}
#ttlAreaInner p{
	font-size: 18px;
}
/*=============================================================
 school leader
=============================================================*/
ul.pointBox{
	display: block;
	margin: 35px 0 0;
}
ul.pointBox li{
	width: 100%;
	position: relative;
	margin: 30px 0 0;
}
ul.pointBox li .box{
	width: 100%;
	height: auto;
}
ul.pointBox li .boxInnerWh{
	height: auto;
}
ul.pointBox li p{
	width: 100%;
	padding: 40px 10px 20px;
	position: static;
	transform: translate(0,0);
	font-size: 18px;
}
ul.pointBox li p>span{
	display: inline-block;
}
/* #school
-------------------------------------------------------------*/
#school{
	margin-left: calc(50% - 50vw);
	background: url("../img/bg_blue.svg") no-repeat 0 0;
	background-size: cover;
}
#school .fullBox{
	width: 100%;
	margin-left: auto;
	padding: 0 16px 50px 16px;
	position: relative;
	text-align: left;
}
#school .logo{
	width: 240px;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
}
#school .ttlBox{
	padding: 180px 0 0 0;
}
#school .ttlBox h2{
	font-size: 30px;
}
#school .ttlBox p{
	margin-top: 10px;
	font-size: 18px;
}
#school .txt{
	margin-top: 40px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
}
/* #leader
-------------------------------------------------------------*/
#leader {
	margin-top: 75px;
	margin-right: calc(50% - 50vw);
	background: url("../img/bg_green.svg") no-repeat 0 0;
	background-size: cover;
}
#leader .fullBox{
	width: 100%;
	margin-left: auto;
	padding: 0 16px 50px 16px;
	position: relative;
	text-align: left;
}
#leader .logo{
	width: 240px;
	position: absolute;
	top: -50px;
	left: 50%;
	transform: translateX(-50%);
}
#leader .ttlBox{
	padding: 180px 0 0 0;
}
#leader .ttlBox h2{
	font-size: 30px;
}
#leader .ttlBox p{
	margin-top: 10px;
	font-size: 18px;
}
#leader .txt{
	margin-top: 40px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
}
/*=============================================================
 special
=============================================================*/
/* #special
-------------------------------------------------------------*/
#special{
	padding: 40px 0 40px;
}
#special h2{
	font-size: 30px;
}
#special p.lead{
	font-size: 16px;
}
#special ul{
}
#special ul li{
	margin: 35px 0 0;
	filter: drop-shadow(5px 5px 6px rgba(0,0,0,.5));
}
#special ul li>div{
	padding: 15px 20px 20px;
	background: #fff;
	clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
}
#special ul li>div h3{
	font-size: 22px;
}
#special ul li>div .boxList p{
	display: block;
	padding-top: 3px;
	padding-left: 1em;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-indent: -1em;
}
#special ul li>div .boxList p:nth-child(2){
	margin-left: 0em;
}
#special ul li>div .boxList p{
	display: block;
	padding-top: 3px;
	padding-left: 1em;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-indent: -1em;
}
#special ul li>div .boxList p .dsp-inlineBlock{
	display: block;
	padding-left: 1em;
}
/*=============================================================
 curriculum program
=============================================================*/
/* ttlCommon
-------------------------------------------------------------*/
.ttlLineBtm{
	margin: 0 0 12px;
	padding: 0 0 15px;	
	border-bottom: 1px solid #000;
}
.ttlLineBtm .ttlEn{
	font-size: 42px;
	font-weight: 400;
}
/* boxWh
-------------------------------------------------------------*/
.boxWh h2{
	padding-bottom: 13px;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.15em;
}
#program .boxWh h2{
	font-size: 26px;
	letter-spacing: 0.05em;
}
.boxWh p{
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.28em;
}
/* #curriculum
-------------------------------------------------------------*/
#curriculum{
	padding: 40px 0 105px;
	text-align: center;
}
#curriculum .boxFig{
	padding: 25px 0 0;
}
#curriculum h3{
	font-size: 19px;
	letter-spacing: 0.05em;
	font-weight: 600;
}
#curriculum #world{
	width: 100%;
}
#curriculum #worldInner{
	width: auto;
	overflow-x: auto;
	padding-bottom: 20px;
}
#curriculum #worldInner img{
	width: 540px;
	max-width: 540px;
}
	
	
	
#curriculum #basic{
	position: relative;
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap:40px 0;
	flex-wrap: wrap;
}
#curriculum #basic .boxW{
	width: 100%;
}
#curriculum #basic .boxW:after{
	display: none;
}
#curriculum #basic .boxR{
	width: calc((100% - 20px) / 2);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#curriculum #basic .box{
	width: calc((100% - 20px) / 2);
}
	#curriculum #basic .boxR .box{
	width: calc(100%);
}
#curriculum #basic .box .ttl{
	border-radius: 15px;
	background: #c5a0c9;
	text-align-last: center;
	color: #fff;
	overflow: hidden;
}
#curriculum #basic .box .ttl p{
	padding: 15px 0;
	font-size: 18px;
	line-height: 1.15;
}
#curriculum #basic .box .ttl p span{
	font-size: 16px;
	line-height: 1.05;
	letter-spacing: 0.03em;
}
#curriculum #basic .box .ttl p.txt{
	padding: 5px 0;
	background: #a86baa;
}
#curriculum #basic .box ul{
	margin-top: 10px;
}
#curriculum #basic .box ul li{
	margin-top: 8px;
	padding: 0 0 0 8px;
	border-left: 4px solid #a86baa;
	text-align: left;
	font-size: 15px;
}
#curriculum #basic .box ul li.lineWh{
	border-left: 4px solid #fff;
}
#curriculum #basic .bottomBox{
	margin-top: 25px;
	padding: 5px;
	border: 1px solid #a86baa;
}
#curriculum #basic .bottomBox p{
	font-size: 15px;
	font-weight: 400;
	color: #a86baa;
}
	#curriculum #edu{
	display: block;
}
#curriculum #edu:after{
	display: none;
}
#curriculum #edu .box{
	width: 100%;
}
#curriculum #edu .box+.box{
	margin: 50px 0 0;
}
#curriculum #edu .box p.ttlTop{
	width: 100%;
	font-size: 18px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	margin-bottom: 10px;
	background: linear-gradient(to right, #9dd3ee, #153468);
}
#curriculum #edu .boxBottom .ttlBox p{
	font-size: 21px;
}
#curriculum #edu .boxBottom .ttlBox p.ttl{
	font-size: 18px;
}
#curriculum #edu .boxBottom .point{
	padding: 15px;
}
#curriculum #edu .boxBottom dl{
	width: 100%;
	display: flex;
}
#curriculum #edu .boxBottom dl+dl{
	margin: 15px 0 0;
	padding: 15px 0 0;
}
#curriculum #edu .boxBottom dl dt{
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	border: 1px solid #224c8c;
	line-height: 1.05;
	background: #fff;
	color: #224c8c;
}
#curriculum #edu .boxBottom dl dt strong{
	font-size: 24px;
	line-height: 1.05;
}
#curriculum #edu .boxBottom dl dt span.txts{
	font-size: 9px;
	line-height: 9px;
}
#curriculum #edu .boxBottom dl dd{
	margin-top: -4px;
	padding-left: 15px;
	font-size: 18px;
}
/* #program
-------------------------------------------------------------*/
#program{
	padding: 50px 0 30px;
}
#program .boxFlex{
	display: block !important;;
	padding:35px 10px 45px 0;
}
#program .boxFlex .box{
	width: 100%;
	margin: 30px 0 0;
}
#program .boxFlex .box:nth-child(1){
	transform: translateY(0);
}
#program .boxFlex .box:nth-child(3){
	transform: translateY(0);
}
#program .boxFlex .box:after{
	height: calc(100% - 85px);
	top: 85px;
}
#program .boxFlex .box p.mark{
	padding: 0 0 10px;
	background: #fff;
}
#program .boxFlex .box p.mark img{
	width: 75px;
}
#program .boxFlex .box h3{
	padding: 20px 0 10px 0;
	margin: 0;
	background: url("../img/program_line.png") no-repeat center bottom;
	font-size: 24px;
	color: #fff;
	letter-spacing: 0.18em;
	font-weight: 600;
}
#program .boxFlex .box p.txt{
	padding: 10px 0 0 0;
	margin: 0 20px;
	font-size: 16px;
	color: #fff;
	letter-spacing: 0.1em;
	text-align: center;
	font-weight: 500;
	line-height: 1.75;
}
#program .boxFlex .box ul{
	margin: 0 50px;
	padding: 10px 0 30px;
}
#program .boxFlex .box ul li{
	margin-top: 15px;
	line-height: 1.3;
	font-size: 15px;
}
#program .boxFlex .box:nth-child(3) ul{
	padding: 10px 0 30px;
}
}