@charset "UTF-8";
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;padding:0;border:0;margin:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}.clear{clear:both}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important}


.no-gutter > [class*='col-'] {padding-right:0;padding-left:0;}
.row-center{text-align:center; letter-spacing:-0.4em;}
.row-center > [class*='col-'] {
display:inline-block;
letter-spacing:0;
vertical-align:top;
float:none !important;
}
.row-center.va-middle > [class*='col-'] { vertical-align:middle; }
.row-center.va-bottom > [class*='col-'] { vertical-align:bottom; }
.row-eq-height {display: flex; flex-wrap: wrap;}

/* images */
.aligncenter, .attachment-post-thumbnail{display:block;margin:0 auto; text-align: center;}
img.alignright, div.alignright{float:right;margin-left:20px; text-align: right; max-width: 370px !important;}
img.alignleft, div.alignleft {float:left;margin-right:20px; text-align: left; max-width: 370px !important;}
img.alignright, img.alignleft, img.aligncenter{margin-bottom:20px;}
.wp-caption{max-width: 370px;}
/*div.alignright, div.alignleft, div.aligncenter{text-align:center;}:*/
.entry-content img{max-width:100%;height:auto;}
.entry-content img.frame{padding:3px;border:1px #e8e8e8 solid;}
img.attachment-thumbnail{display:block;float:left;margin-bottom:1em;margin-right:20px;}
/*.wp-caption{max-width:100%; height:auto;}*/
.wp-caption-text{text-align:center;margin-top:0;font-size:80%;}
img.radius{border-radius:50%;}
article hr{margin:6px 0 !important;}
article hr.break{height:1px;margin:.5rem 0 !important;border-top:none;border-right:none;border-bottom:1px solid transparent;border-left:none;}
article hr.dotted{height:1px;margin:.5rem 0 !important;border-top:none;border-right:none;border-bottom:1px dotted #ddd;border-left:none;}

html{}
body {
	font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	background-color:#fff;
	color:#000;
	line-height: 1.6 !important;
}
main{clear: both;}

/* list */
ul.lst_disc{list-style-type: disc;}
ul.lst_circle{list-style-type: circle;}
ol.lst_decimal{list-style-type: decimal;}
ul.lst_disc, ul.lst_circle, ol.lst_decimal{list-style-position: outside; padding-left: 20px;}

/* header */
#header{
	padding-top: 15px;
}
#headerLogo{
	margin-bottom: 12px;
	width: 500px;
}

#headerConcept{
	font-weight: bold;
	font-size: 14px;
	color: #333;
}

/* gnav */
#gnavPc{
	padding: 0;
}
#gnavPc ul{
	width: 100%;
	line-height: 1.4;
	display: flex;
}
#gnavPc ul li{
	width: 23%;
	text-align: center;
	border-right: 2px #1e4266 solid;
	display: flex;
	justify-content: center;
}
#gnavPc ul li:nth-child(3) {
	width: 31%;
}

#gnavPc ul li:last-child{
	border-right: 0;
}

#gnavPc ul li a{
	width: 100%;
	font-size: 22px;
	font-weight: bold;
	color: #1e4266;
	text-decoration: none;
	display: block;
}
#gnavPc ul li a:hover{
	background-color: #e1f2fc;
}
#gnavPc, #gnavSp{
	background-color: #fff;
}
.navActive{
	background-color: #e1f2fc;
}

/* mainImage */
#mainImage {
/*	background-color: #e1f2fc;
    max-width: 1500px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
*/
}
#mainImage img {
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

/* breadcrumb */
#breadcrumb{
	margin-bottom: 24px;
}
.breadcrumbInner{
	font-size: 11px; color: #333;
	border-bottom: 1px #ccc dotted;
	padding-bottom: 10px;
}
.breadcrumbInner li{display: inline;}
.breadcrumbInner>li+li:before {
	content: ">";
	padding: 0 6px;
}
.breadcrumbInner a{color: #1e4266;}
.breadcrumbInner>.active { color: #1e4266;}
.breadcrumbInner li.home a::before{
	font-family: FontAwesome;
	content: "\f015";
	color: #1e4266;
	padding-right: 3px;
}

/* wrapper */
#contentWrapper{
	clear: both;
	padding-top: 24px;
}

/* container */
#container{
		word-break:break-all;
}
#container h1{
	font-size: 24px;
	line-height: 1.3;
	margin-bottom: 20px;
	color: #1e4266;
	font-weight: bold;
}
#container h2{
	font-size: 20px;
	line-height:1.4 !important;
	color: #1e4266;
	font-weight: bold;
	margin-bottom: 30px;
	clear: both;
	padding: 0 0 3px 10px;
	border-left: 5px solid #1e4266;
	border-bottom: 1px solid #1e4266;
}
#container h3{
	font-size: 20px;
	color: #1e4266;
	font-weight: bold;
	padding: 5px 40px;
	margin: 0 auto 20px;
	border: #1e4266 4px solid;
	border-radius: 35px;
	text-align: center;
	display: table;
	line-height: 1.6;
	clear: both;
}
#container h4{
	color: #1e4266;
	clear: both;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 12px;
	padding: 2px;
	border-bottom: 1px dashed #1e4266;
}
#container p{
	padding-bottom: 1rem;
}
#container img{
	max-width: 100%;
}

#container img.conImg{
	max-width: 80%;
}


#container img.width60{
	max-width: 60%;
}

#container strong{
	font-weight: bold;
}

/* link */
#container a{
	color: #1e4266;
	word-break: break-all;
}

/* article */
article {
	color: #333;
}

article sup {
	font-size:70%;
	vertical-align:super;
}
#pageDescription{
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5 !important;
}
.well {
	padding: 4px 0;
	background-color: #e1f2fc;
	border: #1e4266 1px solid;
	border-radius: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	margin-bottom: 40px;
}
.well strong {
	border-bottom: #1e4266 1px dashed;
	font-weight: bold;
	display: block;
	font-size: 14px;
	padding: 2px 16px;
	margin-bottom: 2px;
}
#contentWrapper #container article .well p {
	padding: 8px 16px 1rem;
	font-size: 14px;
}

#contentWrapper #container article .jsFilter .well p {
	padding: 4px 16px 0.5rem;
}


/* table */
#container table{
	margin-bottom: 32px;
}
#container table th, #container table td{
	border: #1e4266 1px solid;
	padding: 8px;
    vertical-align: middle;
}
#container table th{
	text-align: center;
	background-color: #e1f2fc;
	color: #000;
	vertical-align: middle;
}
#container table th.pink{
	font-weight: bold;
	background-color: #f4dce5;
	color: #c8446f;
}
#container table th.blue{
	font-weight: bold;
	background-color: #d5e8f1;
	color: #4191c9;
}
#container table th.bgPink{
	background-color: #efe1ee;
}
#container small {
    font-size: 80%;
}

/* aside */
aside {
}
.asideNav{
	line-height: 1;
	margin-top: 50px;
	border-bottom: #ccc solid 1px;
}
.asideNav li{
}
.asideNav li a{
	color: #1e4266;
	font-weight: bold;
	display: block;
	border-top: #ccc solid 1px;
	border-right: #ccc solid 1px;
	border-left: #ccc solid 1px;
	padding: 20px;
	text-decoration: none;
}
.asideNav li a:hover{
	background-color: #e1f2fc;
}
.asideNav li a::after {
    font-family: FontAwesome;
    content: "\f105";
    color: #1e4266;
	float: right;
	font-size: 24px;
	line-height: 0.5;
}
.asideNav li:last-child a{

}

/* accordion */
.asideNav li a.hdrList::after {
    content: "\f0fe";
}
.asideNav li a.hdrListHide::after{
    content: "\f146";
}
/*innerLst{display: none;}*/
.innerLst li a{
	color: #333;
	font-size: 85%;
	font-weight: normal;
	padding: 15px 20px;
}
.innerLst li a::after {
    content: "";
	float: none;
}
.innerLst li a::before {
    font-family: FontAwesome;
    content: "\f0da";
	margin-right: 10px;
}


/* footer */
#footer{
	background-color: #e1f2fc;
	padding-top: 40px;
	font-size: 12px;
	clear: both;
	margin-top: 160px;
}
#footer #footerWrap{
	padding-left: 72px;
	padding-right: 72px;
}
#footer h3{
	font-weight: bold;
	font-size: 15px;
}
#footer address, #footer p{
	padding-bottom: 10px;
	text-align: center;
}

#footer .footerNav{
	margin-bottom: 50px;
}
#footer .footerNav ul{
	border-left: #ccc 1px solid;
	display: block;
	float: left;
	width: 33.3%;
	padding-left: 18px;
	padding-right: 18px;
	min-height: 235px;
}
#footer .footerNav ul:nth-child(3){
	border-right: #ccc 1px solid;
}
#footer .footerNav a{
	color: #333;
	font-size: 14px;
	line-height: 2;
}
#footer .footerNav a::before{
	content: "▶︎";
	color: #1e4266;
	padding-right: 5px;
}
#footerContact{
	float: left;
	width: 100%;
	text-align: center;
}
#btnFacebook{
	width: 100%;
	display: flex;
	justify-content: center;
}
#footerMember{
	clear: both;
	margin-top: 56px;
}
#footerCopyright{
	clear: both;
	padding-top: 10px;
	border-top: 1px #b2b2b2 solid;
	margin-top: 28px;
}


#footer .footerLogo {
	width: 100%;
	margin: 0 0 10px 0;
	display: flex;
	justify-content: space-around;
	list-style: none;
	flex-wrap: wrap;
}

#footer .footerLogo li {
	width: 35%;
}

#footer .footerLogo li:last-child {
	width: 30%;
}

#footer .footerLogo li img {
	width: 100%;
	max-width: 300px;
}



/* topbtn */
#btnToTop {position: fixed; right: 48px; bottom: 48px; z-index: 99;}
#btnToTop a {text-align: right; margin-right: 0; display: inline-block;}

/* linkbutton */
.linkButton {
	clear: both;
	text-align: center;
	margin-top: 20px;
	margin-bottom: 32px;
}
.linkButton a{
	color: #1e4266;
	font-weight: bold;
	font-size: 23px;
	text-decoration: none;
	background: linear-gradient(transparent 70%, #faee42 70%);
	padding: 3px 9px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.linkButton a:hover{
	background: linear-gradient(transparent 70%, #f6921e 70%);
}
.linkButton a::before{
	content: "▶︎";
	padding-right: 7px;
}

/* linkButton02 */
.linkButton02{
	border: 1px solid #1e4266;
	color: #1e4266;
	border-radius: 8px;
	padding: 16px 24px;
	margin-right: 30px;
	margin-bottom: 20px;
	display: inline-block;
	font-size: 20px;
	text-decoration: none;
	line-height: 1;
	text-align: center;
}
.linkButton02:hover{
	color: #fff !important;
	background-color: #1e4266;
	text-decoration: none;
}

.txtC {
	text-align: center;
}


/* スマホのみ改行 */
.brSpOnly{
	display: none;
}


/* media-queries */
/*min-widthの指定 (「数字に指定したところから」と覚える) */
@media (min-width: 768px) {
/*幅768px以上で適用されるスタイル*/
}

@media (min-width: 992px) {
/*幅992px以上で適用されるスタイル*/
}

@media (min-width: 1300px) {
/*幅1300px以上で適用されるスタイル*/
}

/*max-widthの指定 (「数字に指定したところまで」と覚える)*/
@media (max-width: 1299px) {
/*幅1299px以下で適用されるスタイル*/
	#headerConcept{
		font-size: 16px;
	}
	#gnavPc ul li a{
		font-size: 18px;
	}
	.asideNav{
		font-size: 14px;
	}
	#footer .footerNav a{
		font-size: 12px;
	}
	#footer #footerWrap{
		padding-left: 0;
		padding-right: 0;
	}
}

@media (max-width: 1024px) {
/*幅1024px以下で適用されるスタイル*/
}
@media (max-width: 991px) {
/*幅991px以下で適用されるスタイル*/
	img.alignright, img.alignleft, img.aligncenter, div.alignright img, div.alignleft img, div.aligncenter img, div.alignright, div.alignleft, div.aligncenter{float: none; display: block; margin-left: auto; margin-right: auto; text-align:center;}
	#header .no-gutter > [class*='col-'] {padding-right:15px; padding-left:15px;}
	#headerConcept{
		font-size: 24px;
		text-align: center;
	}
	#header .aligncenter{
		margin-bottom:0;
	}
	#gnavSp{
		clear: both;
		margin-top: 8px;
	}
	#gnavSp table{
		width: 100%;
	}
	#gnavSp table tr{
	}
	#gnavSp table tr td{
		width: 50%;
		border: 1px solid #b2b2b2;
		border-collapse: collapse;
	}
	#gnavSp table tr td a{
		/*font-size: 22px;*/
		color: #1e4266;
		text-decoration: none;
		display: block;
		text-align: center;
		padding: 12px 8px;
		font-weight: bold;
	}
	#gnavSp table tr td a:hover{background-color: #e1f2fc;}
	#footer .footerNav ul{
		min-height: 184px;
	}
	#footerMap{
		margin-top: 32px; 
		margin-bottom: 40px;
		clear: both;
	}
	#footer #footerWrap{
		padding-left: 40px;
		padding-right: 40px;
	}
	/*#container h1{
		font-size: 40px;
	}
	#container h2{
		font-size: 32px;
	}
	#container h3{
		font-size: 20px;
	}*/
	#btnToTop img {
		max-width: 80%;
	}
	.linkButton02{
		font-size: 18px;
		width: 80%;
	}
}

@media (max-width: 767px) {
/*幅767px以下で適用されるスタイル*/
	/*img.alignright, img.alignleft, img.aligncenter, div.alignright img, div.alignleft img, div.aligncenter img, #container img.width60{
		max-width: 290px !important;
	}*/
	.wp-caption-text{max-width: 290px !important; margin-left: auto; margin-right: auto;}
	#headerConcept{
		font-size: 12px;
	}
	#gnavSp table tr td a{
		font-size: 14px;
	}
	#pageDescription{
		font-size: 16px;
		margin-bottom: 40px;
	}
	#footer #footerWrap{
		padding-left: 0;
		padding-right: 0;
	}
	#footer .footerNav a{
		font-size: 11px;
	}
	#footer .footerNav ul{
		padding-left: 8px;
		padding-right: 8px;
		min-height: 200px;
	}
	#footerCopyright{
		font-size: 10px;
		text-align: center;
	}
	#btnToTop {right: 16px;}
	#btnToTop img {max-width: 50%;}
	#container h1{
		font-size: 24px;
	}
	#container h2{
		font-size: 20px;
	}
	#container h3{
		font-size: 18px;
	}
	#container h4{
		font-size: 15px;
	}
	
	#container img.conImg {
		max-width: 100%;
	}
	
	/* スマホのみ改行 */
	.brSpOnly{
		display: block;
	}
	.linkButton02{
		font-size: 16px;
	}
}

@media (max-width: 480px) {
/*幅480px以下で適用されるスタイル*/
	/*.alignright, .alignleft, .aligncenter{max-width: 260px !important;}*/
	#footer .footerLogo li,
	#footer .footerLogo li:last-child {
		width: 80%;
		margin-bottom: 20px;
	}

}

.width_100p {
	width: 100%;
}

.hash{
	color: #1e4266;
}

.indexActivityImage img,.activityImage img{
	width: 100%;
	height: 200px;
	object-fit: cover;
}
@media (max-width: 991px) {
	.indexActivityImage img,.activityImage img{
		height: 150px;
		}
}

.linkButtonBox{
	text-align: center;
}



#newsTopics{
	color: #000;
}
#newsTopics ul{
	padding-bottom: 16px;
}
#newsTopics ul li{
	padding: 16px 4px;
	border-bottom: 1px #000 dashed;
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
#newsTopics ul li::after{
	font-family: FontAwesome;
	content: "\f105";
	color: #1e4266;
	position: absolute;
	right: 0;
	font-size: 24px;
	top: 38%;
}

.newsTopicsDate {
	width: 7rem;
	margin: 0;
	padding: 0;
	float: left;
	color: #000;
}
#newsTopics ul li a{
	width: calc(100% - 9em);
	color: #000;
	text-decoration: none;
	margin: 0;
	float: left;
}
#newsTopics ul li a.newsTopicsEntry::after{
	content: "";
	background: url("../images/index/newsTopicsEntry.png") no-repeat center right;
	padding: 10px 54px;
    background-size: contain;
}
.newsTopicsDate::after{
	margin-left: 20px;
	padding: 1px 0;
	color: #000;
	white-space: pre;
}

.newsTopicsTitle {
	width: calc(100% - 9rem);
	float: left;
}

/*.newsTopicsCat_Info .newsTopicsDate::after{
	background: linear-gradient(transparent 70%, #faee42 70%);
	content: " お知らせ \A";
}
.newsTopicsCat_Event .newsTopicsDate::after{
	background: linear-gradient(transparent 70%, #ffcc99 70%);
	content: " イベント \A";
}
.newsTopicsCat_Project .newsTopicsDate::after{
	background: linear-gradient(transparent 70%, #8ad6d4 70%);
	content: " プロジェクト \A";
}*/

#newsTopics a::before{
	display: inline;
	padding-top: 4px;
	margin-left: 12px;
}
.newsTopicsCat_Coc a::before, .newsTopicsCat_Participant a::before, .newsTopicsCat_Collaborator a::before{
	color: #fff;
	font-weight: bold;
	font-size: 12px;
	padding: 4px 32px;
	border-radius: 10px;
	-webkit-box-shadow: 2px 2px 1px 0px rgba(102,102,102,0.6);
	-moz-box-shadow: 2px 2px 1px 0px rgba(102,102,102,0.6);
	box-shadow: 2px 2px 1px 0px rgba(102,102,102,0.6);
	white-space: pre;
}
.newsTopicsCat_Coc a::before{
	background-color: #44bcce;
	content: "COC+ 校\A";
}
.newsTopicsCat_Participant a::before{
	background-color: #cc0000;
	content: "参加校\A";
}
.newsTopicsCat_Collaborator a::before{
	background-color: #ff6600;
	content: "協力校\A";
}
.newsTopicsTitle:hover{
	text-decoration: underline;
}

.projectWrap {
	display: flex;
	flex-wrap: wrap;
}

.projectWrap section {
	margin: 0 0 30px;
}


#indexActivity h2::before, #indexActivity h2::after{
	top: 36%;
}
#indexActivity h2::before {
	left: 37%;
}
#indexActivity h2::after {
	right: 37%;
}
#indexActivity p{
	text-align: center;
	font-weight: bold;
	display: inline-block;
	font-size: 14px;
}

#indexActivity p strong{
	font-size: 16px;
	line-height: 2.2;
}

#indexActivity p span.indexActivityHashtag, #indexActivity p span.indexActivityDate{
	font-size: 14px;
	font-weight: normal;
	display: block;
	text-align: left;
}
#indexActivity p span.indexActivityDate{
	padding-top: 16px;
	padding-bottom: 48px;
}

.indexActivityImage{
	position: relative;
	max-width: 370px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	z-index: 10;
}
.indexActivityImage>div::before, .indexActivityImage>div::after{
	position: absolute;
	content: "";
	width: 60px;
	height: 60px;
	display: block;
	background-color: #1e4266;
	z-index: -1;
}
.indexActivityImage>div::before{
	top: -10px;
	left: -10px;
}
.indexActivityImage>div::after{
	bottom: -10px;
	right: -10px;
}
.indexActivityImage:hover {
	filter:alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity:0.7;
	-khtml-opacity: 0.7;
	opacity:0.7;
	zoom:1;
}





/* media-queries */
/*min-widthの指定 (「数字に指定したところから」と覚える) */
@media (min-width: 768px) {
/*幅768px以上で適用されるスタイル*/
}

@media (min-width: 992px) {
/*幅992px以上で適用されるスタイル*/
}

@media (min-width: 1300px) {
/*幅1300px以上で適用されるスタイル*/
}

/*max-widthの指定 (「数字に指定したところまで」と覚える)*/
@media (max-width: 1299px) {
/*幅1299px以下で適用されるスタイル*/
	#newsTopics ul{
		padding-left: 0;
		padding-right: 0;
	}
}

@media (max-width: 1024px) {
/*幅1024px以下で適用されるスタイル*/
}
@media (max-width: 991px) {
/*幅991px以下で適用されるスタイル*/
}

@media (max-width: 767px) {
/*幅767px以下で適用されるスタイル*/
	#container h1 {
	    font-size: 20px;
	}
	#container h2 {
	    font-size: 18px;
	}
	#newsTopics ul{
		padding-left: 15px;
		padding-right: 15px;
	}
	#newsTopics ul li a{
		margin-left: 0;
	}
	.newsTopicsCat_01 {
    	margin-left: 0;
	}
	.newsTopicsTitle {
    	padding-left: 0;
		display: inline-block;
		padding-right: 16px;
	}
	
	.newsTopicsDate,
	.newsTopicsTitle,
	#newsTopics ul li a{
		width: calc(100% - 25px);
		margin-left: 0;
	}
/*	.newsTopicsCat_Info .newsTopicsDate::after, .newsTopicsCat_Event .newsTopicsDate::after, .newsTopicsCat_Project .newsTopicsDate::after{
		white-space: pre;
	}
	.newsTopicsCat_Info .newsTopicsDate::after{
		content: "\A お知らせ ";
	}
	.newsTopicsCat_Event .newsTopicsDate::after{
		content: "\A イベント ";
	}
	.newsTopicsCat_Project .newsTopicsDate::after{
		content: "\A プロジェクト ";
	}*/

}

@media (max-width: 480px) {
/*幅480px以下で適用されるスタイル*/
	#newsTopics h2::before, #indexActivity h2::before {
		left: 0%;
	}
	#newsTopics h2::after, #indexActivity h2::after {
		right: 0%;
	}
}
