@import url(reset.css);
@import url(base.css);
@import url(common.css);

#mainimg.intro {
	background: url("../image/intro/top/main_bg.jpg") center center no-repeat;
	background-size: cover;
}

#mainimg.lifelong {
	background: url("../image/lifelong/top/main_bg.jpg") center center no-repeat;
	background-size: cover;
}


#container .topback.scl {
	margin: 0;
}

#container .topback.lng {
	margin: 0;
}

#container .topback.lng a {
	width: auto;
	background: url("../image/common/arrow01.png") 97% center no-repeat;
	padding: 15px 50px 15px 40px;
}



/*-------------------------------------------------------------------
	outline
-------------------------------------------------------------------*/

#outline {
	margin: 0 0 90px;
	text-align: justify;
	text-justify: inter-ideograph;
}


#outline a {
	text-decoration: underline !important;
}


#outline a:hover {
	text-decoration: none !important;
}


/* first */

#outline .first {
	margin: 0 0 60px;
}

#outline .first .same {
	overflow: hidden;
	zoom:1;
	padding: 0 0 5px;
}

#outline .first .same dl,
#outline .first .same li {
	width: 32%;
	margin-right: 2%;
	float: left;
}

#outline .first .same dl:nth-child(3n),
#outline .first .same li:nth-child(3n) {
	margin-right: 0;
}

#outline .first .same dl dt,
#outline .first .same li {
	background: #727171;
	color: #fff;
	line-height: 1.0;
	font-size: 1.2em;
}

#outline .first .same dl dt {
	padding: 7px 10px;
	margin: 0 0 20px;
}

#outline .first .same li span {
	padding: 7px 10px;
	display: block;
}

#outline .first .same dl dt a,
#outline .first .same li a {
	color: #fff;
}

#outline .first .same dl dd {
	line-height: 1.0;
	margin: 0 0 15px;
}

#outline .first .same dl dd.sub {
	padding-left: 20px;
}

#outline .first .same dl dd:last-child {
	margin-bottom: 0;
}


#outline .first .same dl dd a.green {
	color: #54b184;
}
#outline .first .same dl dd a.orange {
	color: #f18e1d;
}
#outline .first .same dl dd a.pink {
	color: #ed7c9c;
}
#outline .first .same dl dd a.blue {
	color: #00b9ef;
}
#outline .first .same dl dd a.green02 {
	color: #89c227;
}


#outline .first .same .left {
	width: 48%;
	float: left;
}

#outline .first .same .right {
	width: 48%;
	float: right;
}

#outline .first .same table {
	width: 100%;
	line-height: 1.0;
}

#outline .first .same table th,
#outline .first .same table td {
	vertical-align: middle;
	font-weight: 300;
	background: #e9e6f3;
	text-align: left;
	font-size: 1.05em;
	border-bottom: 1px solid #b5b5b6;
}

#outline .first .same table tr:nth-child(even) th,
#outline .first .same table tr:nth-child(even) td {
	background: #f4f3f9;
}

#outline .first .same table th {
	padding: 20px;
	width: 60%;
	border-right: 1px solid #b5b5b6;
}

#outline .first .same table td {
	padding: 20px 40px;
}


/* second */

#outline .second {
	margin: 0 0 60px;
}


#outline .second .big {
	font-size: 1.2em;
}


#outline .second table {
	width: 1000px;
	line-height: 1.0;
}

#outline .second table td {
	vertical-align: top;
	font-weight: 300;
	background: #e9e6f3;
	text-align: left;
	border-bottom: 1px solid #b5b5b6;
	border-right: 1px solid #b5b5b6;
	padding: 20px;
}


#outline .second table tr td:last-child {
	border-right: none;
}


#outline .second table td.purple {
	background: #f4f3f9;
}

#outline .second table td.r_none {
	border-right: none;
}


#outline .second table .w25 {
	width: 25%;
}

#outline .second table .w20 {
	width: 20%;
}


#outline .subex {
	position: relative;
	padding-left: 20px;
	font-size: 1.2em;
	font-weight: 400;
	margin: 0 0 10px;
}


#outline .subex:before {
	width: 15px;
	height: 15px;
	background: #595757;
	content: '';
	position: absolute;
	top: 8px;
	left: 0;
}

#outline .subex02 {
	font-size: 1.2em;
	line-height: 1.2;
	margin: 0 0 10px; 
}

#outline .subex03 {
	position: relative;
	padding-left: 17px;
	font-size: 1.2em;
	font-weight: 400;
	margin: 0 0 10px;
}


#outline .subex03:before {
	width: 12px;
	height: 12px;
	border: 1px solid #595757;
	content: '';
	position: absolute;
	top: 8px;
	left: 0;
	border-radius: 50%;
}



/* third */

#outline .third {
	padding-left: 17px;
	margin-bottom: 30px;
}

#outline .third .relabox {
	position: relative;
	margin: 0 0 20px;
	padding-right: 120px;
}

#outline .third .relabox .icons {
	position: absolute;
	right: 0;
	bottom: 0;
	
}

#outline .third .purbox {
	background: #e9e6f3;
	padding: 20px 30px;
	margin: 0 0 30px;
}	
	
#outline .third .purbox dt {
	font-size: 1.2em;
	font-weight: 400;
	margin: 0 0 10px;
}

#outline .fourth .lflink {
	padding-left: 15px;
}


/* fourth */

#outline .fourth {
	padding-left: 17px;
}

#outline .fourth .big {
	font-size: 1.2em;
}


/*-------------------------------------------------------------------
	educational
-------------------------------------------------------------------*/

#educational {
	margin: 0 0 90px;
	overflow: hidden;
	zoom:1;
	line-height: 1.6;
}

#educational .left {
	width: 480px;
	float: left;
}

#educational .right {
	width: 480px;
	float: right;
}

#educational .pp_ttl {
	background: #53488f;
	color: #fff;
	font-size: 1.2em;
	line-height: 1.4;
	padding: 10px;
	font-weight: 400;
	margin: 0 0 20px;
}

#educational a {
	text-decoration: underline;
}

#educational a:hover {
	text-decoration: none;
}

#educational .clist li {
	margin: 0 0 10px;
}

#educational .clist li.sub {
	padding-left: 20px;
}

#educational .clist li:last-child {
	margin: 0;
}

#educational .clist li a {
	display: block;
	position: relative;
	padding-left: 18px;
}

#educational .clist li a:before {
	position: absolute;
	top: 6px;
	left: 0;
	width: 14px;
	height: 14px;
	background: #595757;
	border-radius: 50%;
	content: '';
}

#educational .clist.hdn {
	overflow: hidden;
	zoom:1;
}

#educational .clist.hdn li {
	width: 50%;
	float: left;
}

#educational .clist.hdn li.clear {
	width: auto;
	float: none;
	clear: both;
}

/*-------------------------------------------------------------------
	openclass
-------------------------------------------------------------------*/

#openclass {
	margin: 0 0 70px;
}

#openclass a {
	text-decoration: underline;
}

#openclass a:hover {
	text-decoration: none;
}

#openclass .toplead {
	text-align: center;
	margin: 0 0 60px;
}

#openclass .box {
	margin: 0 0 70px;
	overflow: hidden;
	zoom:1;
	position: relative;
}

#openclass .yearlist {
	line-height: 1.0;
	padding: 0 0 10px;
}


#openclass .yearlist li {
	display: inline-block;
	vertical-align: top;
	margin-right: 30px;
	margin-bottom: 10px;
}

#openclass .subt03 {
	font-weight: 500;
	line-height: 1.2;
	font-size: 1.45em;
	margin: 0 0 20px;
}

#openclass table {
	width: 100%;
}


/* 装飾 */

#openclass .purple {
	color: #53488f;
}
#openclass .bold {
	font-weight: 500;
	
}
#openclass .bigtxt {
	font-size: 1.3em;
}
#openclass .midtxt {
	font-size: 1.2em;
}


#openclass table {
	width: 100%;
}

#openclass table td {
	border-right: 1px solid #b5b5b6;
	padding: 15px 20px;
	background: #e9e6f3;
	vertical-align: top;
}

#openclass table tr td:last-child {
	border-right: none;
}

#openclass table tr:nth-child(even) td {
	background: #f4f3f9;
}

#openclass table .w10 {
	width: 10%;
}
#openclass table .w15 {
	width: 15%;
}
#openclass table .w20 {
	width: 20%;
}

#openclass table .w30 {
	width: 30%;
}

#openclass table .w40 {
	width: 40%;
}
#openclass table .w45 {
	width: 45%;
}
#openclass table .w50 {
	width: 50%;
}

#openclass table .w60 {
	width: 60%;
}

#openclass table .w70 {
	width: 70%;
}

#openclass table .w80 {
	width: 80%;
}


/* 揃え */

.hdnbox {
	overflow: hidden;
	zoom:1;
}

.hdnbox .lft {
	float: left;
}

.hdnbox .rgt01 {
	margin-left: 55px;
}

.hdnbox .rgt02 {
	margin-left: 395px;
}

.hdnbox .rgt03 {
	margin-left: 335px;
}

.hdnbox .rgt04 {
	margin-left: 45px;
}

.square li {
	position: relative;
	padding-left: 15px;
}

.square li:before {
	width: 8px;
	height: 8px;
	background: #595757;
	transform: rotate(45deg);
	content: '';
	position: absolute;
	top: 10px;
	left: 2px;	
}

#container .subt01 .sml {
	font-size: 0.8em;
}



/*-------------------------------------------------------------------
	subpage
-------------------------------------------------------------------*/

#subpage {
	margin: 0 0 90px;
}

#subpage .ttl {
	font-size: 1.2em;
	line-height: 1.4;
	margin: 0 0 10px;
	font-weight: 400;
}

#subpage a {
	text-decoration: underline;
}

#subpage a:hover {
	text-decoration: none;
}


#container #subpage .subt01 {
	line-height: 1.4;
	border-bottom: 1px solid #9fa0a0;
	padding: 0 0 15px;
	margin: 0 0 10px;
	font-size: 1.6em;
	overflow: hidden;
	zoom:1;
}

#container #subpage .subt01 span {
	display: block;
}

#container #subpage .subt01 .num {
	float: left;
}

#container #subpage .subt01 .lead {
	margin-left: 30px;
}

#subpage .subright {
	text-align: right;
	margin: 0 0 15px;
}

#subpage .clist li {
	margin-bottom: 5px;
}

#subpage .clist li:last-child {
	margin-bottom: 0;
}

#subpage .clist a {
	display: block;
	position: relative;
	padding-left: 15px;
}

#subpage .clist a:before {
	position: absolute;
	top: 10px;
	left: 2px;
	width: 9px;
	height: 9px;
	background: #595757;
	border-radius: 50%;
	content: '';
}


/*-------------------------------------------------------------------
	link
-------------------------------------------------------------------*/

#link {
	margin: 0 0 70px;
}

#link a {
	text-decoration: underline;
}

#link a:hover {
	text-decoration: none;
}

#link .bigfont {
	font-size: 1.2em;
}

#link .bold {
	font-weight: 500;
	font-size: 1.2em;
}

#link .ext dd {
	padding-left: 10px;
}



/*===============================================
  画面の横幅が1024px以下に適用
===============================================*/
@media screen and (max-width: 1024px){
	
}

/*===============================================
  画面の横幅が768px以下に適用
===============================================*/
@media screen and (max-width: 768px){
	
	#mainimg.intro {
		background: url("../image/intro/top/main_bg.jpg") center center no-repeat;
		background-size: auto 100%;
	}
	
	#mainimg.lifelong {
		background: url("../image/lifelong/top/main_bg.jpg") center center no-repeat;
		background-size: auto 100%;
	}
	
	#outline .scroll {
		width: 100%;
		overflow-x: scroll;
		padding: 0 0 20px;
	}
	
	
	/* outline */

	#outline {
		margin: 0 0 50px;
	}



	/* first */

	#outline .first {
		margin: 0 0 50px;
	}

	#outline .first .same {
		overflow: hidden;
		zoom:1;
		padding: 0;
	}

	#outline .first .same dl,
	#outline .first .same li {
		width: auto;
		margin: 0 0 30px;
		float: none;
	}

	#outline .first .same .left {
		width: auto;
		float: none;
		margin: 0 0 30px;
	}

	#outline .first .same .right {
		width: auto;
		float: none;
	}

	#outline .first .same table {
		width: 100%;
		line-height: 1.0;
	}


	/* second */

	#outline .second {
		margin: 0 0 50px;
	}

	/* third */

	#outline .third {
		padding-left: 17px;
		margin-bottom: 40px;
	}

	#outline .third .relabox {
		position: relative;
		margin: 0 0 20px;
		padding-right: 0;
	}

	#outline .third .relabox .icons {
		position: static;
		right: 0;
		bottom: 0;	
		text-align: center;
		margin: 10px 0 0;
	}

	#outline .third .purbox {
		background: #e9e6f3;
		padding: 20px 30px;
		margin: 0 0 30px;
	}	

	#outline .third .purbox dt {
		font-size: 1.2em;
		font-weight: 400;
		margin: 0 0 10px;
	}

	/* fourth */

	#outline .fourth {
		padding-left: 17px;
	}

	#outline .fourth .big {
		font-size: 1.2em;
		margin: 0 0 10px;
		padding: 0;
	}

	
	/* educational */
	
	#educational .left {
		width: auto;
		float: none;
		margin: 0 0 30px;
	}

	#educational .right {
		width: auto;
		float: none;
	}	
	
	/* subpage */
	#subpage {
		margin: 0 0 50px;
	}
	
}

/*===============================================
  画面の横幅が640px以下に適用
===============================================*/
@media screen and (max-width: 640px){
	
	
	#outline {
		word-break: break-all;
	}
	
	
	.scroll {
		width: 100%;
		overflow-x: auto;
		padding: 0 0 20px;
	}
	
	#openclass .scroll table {
		width: 1000px;
	}

}

/*===============================================
  画面の横幅が380px以下に適用
===============================================*/
@media screen and (max-width: 380px){
}


.pp_ttl {
	background: #53488f;
	color: #fff;
	font-size: 1.2em;
	line-height: 1.4;
	padding: 10px;
	font-weight: 400;
	margin: 0 0 20px;
}

.txtMore {
	font-size: 1.2em;
}

.subt02Ex {
	line-height: 1.4;
	padding: 0 0 0 10px;
	border-left: 5px solid #595757;
	font-size: 1.2em;
	margin: 0 0 15px;
}

