@charset "UTF-8";
img{
max-width: 100%;
height: auto;
}

a.tel{
	pointer-events:none;
}
.u_contents a.tel{
	color: #212121 !important;
	text-decoration: none !important;
}
.sm_no{
	display:block;
}
.pc_no{
	display:none;
}


/*-----------------------------------------------
__Layout
-----------------------------------------------*/
#container{
	display: -webkit-flex;
	display: flex;
}
#main{
  -webkit-flex: 1;
  flex: 1;
	overflow: hidden;
	z-index: 0;
	position: relative;
}
header#side{
	width: 250px;
	z-index: 10;
}

.lay_2c,.lay_3c{
	display: flex;
	margin: 10px auto 40px auto;
}
.lay_2c > div,
.lay_2c > section{
	width: 50%;
}
.lay_3c{
	justify-content: space-between;
}
.lay_3c > li{
	width: 32%;
}

.lay_padding{/* ·ù¤»¤Þ¤á */
	justify-content: space-between;
}
.lay_2c.lay_padding > div,
.lay_2c.lay_padding > section{
	width: 48%;
}

/*-----------------------------------------------
__Header
-----------------------------------------------*/
header#side{/*¥µ¥¤¥É¥Ð©`È«Ìå¤ÎÏä*/
    display: -webkit-flex;
    display: flex;
	flex-flow: column;
	position: relative;
}
header#side .box{/*¥µ¥¤¥É¥Ð©`×îáá¤ÎÒªËØ*/
	position: fixed;
	left: 0;
	top: 0;
	min-height: 100%;
	width: 250px;
	background: #333;
	color: #fff;
}
header#side h1,
header#side #logo{
	display: block;
	padding: 5% 2% 7%;
	text-align: center;
	background: #fff;
	border-right: solid 1px #ddd;
	font-size: 120%;
	font-weight: bold;
	line-height: 1.2;
}
header#side h1 a,
header#side #logo a{
	transition: all ease .3s;
	color: #333 !important;
}
header#side h1 a:hover,
header#side #logo a:hover{
	opacity: 0.5;
}
header#side h1 a img,
header#side #logo a img{
	max-width: 60%;
	margin-bottom: 12px;
}
header #nav-content{
	display: flex;
	flex-direction: column;
	height: calc(100vh - 211px);
}
header#side nav .side_links{
	margin-top: auto;
}


/*-----------------------------------------------
__Global Navi
-----------------------------------------------*/
header#side .side_links{
	margin: 0 10px;
	padding-top: 10px;
}
header#side .side_links > li a{
	display: block;
	border-radius: 30px;
	padding: 10px;
	font-size: 90%;
	text-align: center;
	color: #fff;
	background: #1dc172;
	transition: all ease .3s;
}
header#side .side_links > li a:hover{
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
	background: #018243;
	transform: translateX(3px);
}
header#side .side_links > li a .material-icons{
	font-size: 20px !important;
	vertical-align: top;
	margin-right: 5px;
}
header#side .side_links > li:last-of-type a{
	border: 1px solid #ddd;
	background: #fff;
	color: #212121;
	margin-top: 10px;
}

/*-----------------------------------------------
__Main
-----------------------------------------------*/
#main{
	position: relative;
}
#contents.wrap{
	width: 90%;
	transition: all ease .3s;
}
.u_contents #contents.edit{
	padding: 60px 0;
}
.u_contents a{
	color: #018243;
	text-decoration: underline;
}
.u_contents a:hover{
	text-decoration: none;
}
.u_contents a i{
	color: #333;
}


#visual{
	display: block;
	position: relative;
	height: 50vh;
	overflow: hidden;
}
#visual figure{
	height: 100%;
	background: #000;
}
#visual figure img{
	opacity: 0.8;
}
.u_contents #visual{
	height: 30vh !important;
	overflow: hidden;
}

#breadcrumbs{/* ¥Ñ¥ó¤¯¤º¥ê¥¹¥È */
	padding: 20px 0;
	margin: 0 auto;
	position: relative;
}
#breadcrumbs ul{
	display: flex;
	flex-wrap: wrap;
	font-size: 75%;
	color: #555;
}
#breadcrumbs ul > li a::after{
	content: "";
	width: 5px;
	height: 5px;
	border-top: 2px solid #555;
	border-right: 2px solid #555;
	display:inline-block;
	transform: rotate(45deg);
	margin: 0 13px;
	vertical-align: middle;
}

.page_link{
	background:rgba(241,244,244,1.00);
	padding: 30px;
	margin: 0 auto 40px auto;
	box-sizing: border-box;
}
.page_link li{
	display: inline-flex;
	margin-right: 1.5em;
	padding-right: 2.5em;
	border-right: 1px solid #aaa;
}
.page_link li:last-of-type{
	padding-right: 0;
	margin-right: 0;
	border-right: none;
}
.page_link li a::before{
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #555;
	border-right: 2px solid #555;
	display:inline-block;
	transform: rotate(135deg) translate(-2px,2px);
	margin-right: 10px;
	vertical-align: middle;
	transition: all ease .3s;
}
.page_link li a:hover::before{
	transform: rotate(135deg) translate(0,0);
}


.edit #left_box h1:first-of-type, .edit #left_box h2:first-of-type, .edit #left_box h3:first-of-type{ margin-top: 0; }

.u_contents .edit h1{
	border-bottom: 1px solid #1dc172;
	border-left: 3px solid #1dc172;
	font-size: 1.3em;
	padding: 16px;
	box-sizing: border-box;
	line-height:1.2;
	margin-bottom: 1em;
}
.u_contents .edit h2{
	font-size: 120%;
	border-left: 5px solid #1dc172;
	line-height: 1.2;
	padding-left: 12px;
	margin: 30px 0 20px 0;
}
.u_contents .edit h3{
	margin: 20px 0;
	padding: 10px 10px 10px 15px;
	box-sizing: border-box;
	background: #f5f5f5;
}
.u_contents .edit h4{
	border-left: 3px solid #1dc172;
	padding-left: 10px;
	margin: 14px 0 8px 0;
}
.u_contents .edit h5{
	border: 1px solid #ccc;
	padding: 8px 10px;
	margin: 14px 0 8px 0;
}
.u_contents .edit h6{
	text-decoration: underline;
	margin: 14px 0 8px 0;
}
.u_contents .edit a[rel="lightbox"] img{
	transition: all ease .3s;
}
.u_contents .edit a[rel="lightbox"]:hover img{
	opacity: 0.5;
}
.edit blockquote::before,
.edit a[rel^="noopener"]::after,
.edit a[href$=".pdf"]::after,
.edit a[href$=".docx"]::after,
.edit a[href$=".xlsx"]::after,
.edit a[href$=".doc"]::after,
.edit a[href$=".xls"]::after{
	display: inline-block;
	font-family: 'Material Icons';
	color: #333;
	vertical-align: middle;
	margin-left: 5px;
	font-weight: normal;
    font-style: normal;
    font-size: 100%;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}
.edit a[rel^="noopener"]::after{
	content: "flip_to_front";
}
.edit a[href$=".pdf"]::after{
	content: "picture_as_pdf";
}
.edit a[href$=".docx"]::after,
.edit a[href$=".xlsx"]::after,
.edit a[href$=".doc"]::after,
.edit a[href$=".xls"]::after{
	content: "save_alt";
}

.edit blockquote{
	margin:25px auto;
	padding:30px 35px;
	box-sizing:border-box;
	border:1px solid #212121;
	position:relative;
}
.edit blockquote::before{
	content:"format_quote";
	position:absolute;
	left:0;
	top:0;
	z-index:1;
	font-size:25pt;
}
.edit blockquote > p:last-of-type{
	margin-bottom:0;
}

.edit em{
	font-style:italic;
}

#entry_page{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
#entry_page article{
	flex: 1;
}
#entry_page #right_box{
	width: 15%;
	max-width: 300px;
	margin-left: 80px;
}
#entry_page #left_box p{
	text-align:justify !important;
}

.access dl{
	margin-top: 30px;
	border-top: 2px solid #ddd;
}
.access dl dt{
	font-weight: bold;
	padding-top: 30px;
	font-size: 110%;
}
.iframe_box iframe{
	width: 100%;
	height: 400px;
}

.l_btn a{
	display: table;
	border-radius: 30px;
	padding: 10px 30px;
	text-align: center;
	color: #fff !important;
	text-decoration: none !important;
	background:#1dc172;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.1);
	transition: all ease .3s;
	min-width: 100px;
}
.u_contents .l_btn a i{
	color: #fff !important;
}
.l_btn a:hover{
	color: #fff !important;
	background: #018243;
	box-shadow: 0 0 15px 0 rgba(0,0,0,0.2);
	transform: translateX(7px);
}

.long_btn a{
	display: block;
	padding: 20px 30px;
	color: #212121 !important;
	text-decoration: none !important;
	border: 2px solid #ddd;
	transition: all ease .3s;
	margin: 30px auto;
	box-sizing: border-box;
}
.long_btn a i{
	vertical-align: middle;
	margin-right: 0.3em;
}
.long_btn a:hover{
	background: rgba(241,244,244,1.00);
}

.padding_link{
	padding: 0 5px;
}

.bl_box{/* ü\¾€–˜ */
	border: 1px solid #333;
	padding: 30px;
	box-sizing: border-box;
	margin: 40px auto;
}

.gr_box{/* ¥°¥ì©`¾€–˜ */
	border: 1px solid #ddd;
	padding: 30px;
	box-sizing: border-box;
	margin: 40px auto;
}

.attention{/* ³à¾€–˜ */
	border: 1px solid #860920;
	padding: 30px;
	box-sizing: border-box;
	margin: 40px auto;
}
.attention .material-icons{
	color: #860920;
}

.accordion_title{
	cursor: pointer;
}

.parents_links{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 40px;
}
.parents_links section{
	width: 49%;
	display: flex;
	flex-flow: column;
	margin-bottom: 30px;
}
.parents_links section h2{
	width: 100%;
	height: 200px;
	position: relative;
	margin-bottom: 0 !important;
	border-left:none !important;
	border-bottom: 4px solid #1dc172 !important;
	background: #000;
	overflow: hidden;
}
.parents_links section h2 a{
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}
.parents_links section h2 img{
	width: 100%;
	height: 100%;
	opacity: 0.8;
	transition: all ease .3s;
}
.parents_links section h2 a:hover img{
	transform: scale(1.05);
}
.parents_links section h2 span{
	position: absolute;
	width: 100%;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	font-size: 1.2em;
	z-index: 2;
	color: #fff !important;
	text-decoration: none !important;
	transition: all ease .3s;
}
.parents_links section h2 a:hover span{
	top: 53%;
}
.parents_links section h2 span::before{
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -7px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 7px 0 7px;
	border-color: #ffffff transparent transparent transparent;
	z-index: 2;
}
.parents_links section h2 span::after{
	content: "";
	width: 80px;
	height: 2px;
	background:  #fff;
	display: block;
	margin: 10px auto 0 auto;
	position: relative;
	z-index: 10;
}
.parents_links section p{
	margin-top: 15px;
	width: 100%;
	text-align: left;
}
.parents_links section ul{
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.parents_links section ul > li{
	width: 50%;
	display: flex;
	flex-flow: column;
	background:rgba(35,154,241,1.00);
}
.parents_links section ul > li a{
	display: flex;
	align-items: center;
	height: 100%;
	padding: 20px 30px 20px 15px;
	background:rgb(241, 244, 244);
	color:#212121 !important;
	text-decoration: none !important;
	border-bottom: 1px solid #fff;
	transition: all ease .3s;
	position: relative;
}
.parents_links section ul > li a:hover{
	opacity: 0.86;
	padding-left:20px;
	color:#212121 !important;
}
.parents_links section ul > li a::before{
	content: "";
	position: absolute;
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #1dc172;
	border-right: 2px solid #1dc172;
	top: 50%;
	right: 15px;
	transform: rotate(45deg) translateY(-50%);
	transition: all ease .3s;
}
.parents_links section ul > li a:hover::before{
	right: 10px;
}
.parents_links section ul > li:nth-child(2) a,
.parents_links section ul > li:nth-child(3) a,
.parents_links section ul > li:nth-child(6) a,
.parents_links section ul > li:nth-child(7) a,
.parents_links section ul > li:nth-child(10) a{
	background: rgb(233, 238, 238);
}

.parents_links section.w100{
	width: 100%;
	font-size: 90%;
}
.parents_links.research .accordion_title h2{
	padding: 0 !important;
}
.parents_links.research .accordion_title h2:hover img{
	transform: scale(1.05);
}
.parents_links.research .accordion_title h2:hover span{
	top: 53%;
}
.parents_links.research .accordion_title p{
	text-align: center;
	font-size: 110%;
	margin: 0;
	padding: 20px 0;
	background:rgb(241, 244, 244);
	border-bottom: 3px solid #fff;
	letter-spacing: 0.1em;
	transition: all ease .3s;
}
.parents_links.research .accordion_title.open p{
	background: #fff;
}
.parents_links.research .accordion_title:hover p{
	background: rgb(212, 231, 243);
}
.parents_links.research .accordion_title p::after{
	content: "";
	display:inline-block;
	vertical-align:text-top;
	margin-left: 20px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #1dc172;
	border-right: 2px solid #1dc172;
	transform: rotate(135deg) ;
	transition: all ease .3s;
}
.parents_links.research .accordion_title:hover p::after{
	transform: rotate(135deg) translate(3px,-3px);
}
.parents_links.research .accordion_title.open p::after{
	transform: rotate(-45deg) translate(-1px,8px)
}
.parents_links.research .accordion_title.open:hover p::after{
	transform: rotate(-45deg) translate(2px,5px)
}



.img_btn_g{
	width: 100%;
	display: flex;
	flex-flow:wrap;
	justify-content: flex-start;
}
.img_btn_g > li{
	width: 30.5%;
	margin-bottom: 40px;
}
.img_btn_g > li:nth-child(3n - 1){
	margin-right:4%;
	margin-left: 4%;
}
.img_btn_g > li figure{
	width: 100%;
	height: 200px;
	overflow: hidden;
	border: 1px solid #ddd;
}
.img_btn_g > li figure img{
	transition: all ease .3s;
	position: relative;
	z-index: 1;
}
.img_btn_g > li a:hover figure img{
	transform: scale(1.03);
}
.img_btn_g > li a{
	color: #212121 !important;
	text-decoration: none !important;
}
.img_btn_g > li a p{
	padding: 20px 20px 20px 10px;
	border-bottom: 1px solid #ddd;
	transition: all ease .3s;
	position: relative;
	font-size: 110%;
}
.img_btn_g > li a:hover p{
	padding: 20px;
}
.img_btn_g > li a p::before{
	content: "";
	position: absolute;
	width: 0;
	height: 1px;
	background: #018243;
	left: 0;
	bottom: -1px;
	transition: all ease .5s;
}
.img_btn_g > li a:hover p::before{
	width: 100%;
}
.img_btn_g > li a p::after{
	content: "";
	position: absolute;
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #1dc172;
	border-right: 2px solid #1dc172;
	top: 50%;
	right: 15px;
	transform: rotate(45deg) translateY(-50%);
	transition: all ease .3s;
}
.img_btn_g > li a:hover p::after{
	right: 10px;
}

dl.l_ti_r_tx{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	margin: 0 auto 40px auto;
	border:1px solid #333;
	padding: 10px;
	width: 100%;
	box-sizing: border-box;
}
dl.l_ti_r_tx dt{
	box-sizing: border-box;
	min-width: 150px;
	text-align: center;
	font-size: 110%;
	font-weight: bold;
	color: #1dc172;
	padding: 30px;
}
dl.l_ti_r_tx dd{
	border-left:1px solid #333;
	box-sizing: border-box;
	padding: 0 30px;
	flex-grow: 1;
}

dl.l_ti_r_tx.v_ti{
	flex-wrap: wrap;
	flex-flow: column;
	padding: 15px;
}
dl.l_ti_r_tx.v_ti dt{
	width: 100%;
	padding: 20px 0;
}
dl.l_ti_r_tx.v_ti dd{
	border-left: none;
	border-top: 1px solid #333;
	width: 100%;
	padding: 20px 0 0 0;
}

dl.accordion > dt,
dt.accordion_title{
	position: relative;
	cursor:pointer;
}
dl.accordion > dt::before,
dt.accordion_title::before{
	content: "+";
	position: absolute;
	z-index: 2;
	right: 3%;
	top: 50%;
	transform: translateY(-50%);
	background:#f6fbff;
	border: 2px solid #fff;
	color: #1dc172;
	border-radius: 100%;

	font-size: 120%;
	font-weight: bold;
	line-height: 40px;
	width: 40px;
	height: 40px;
	text-align: center;
}
dl.accordion > dt.open::before,
dt.accordion_title.open::before{
	content: "-";
	transition: all ease .7s;
}
dl.accordion > dt.none::before,
dt.accordion_title.none::before{
	display: none;
}


dl.club{
	border-top: 1px solid #ddd;
}
dl.club > dt{
	border-bottom: 1px solid #ddd;
	padding: 30px 3%;
	font-size: 120%;
	position: relative;
}
dl.club > dt span{
	position: relative;
	z-index: 2;
}
dl.club > dt.open:not(.none){
	color: #fff;
	background:#1dc172;
	border-color: #1dc172;
}

dl.club > dt.open:not(.none) .school_blue{
	color:#fff;
}
dl.club > dt.open:not(.none) .bg{
	background:#fff;
	color:#1dc172;
}
dl.club > dt.none{
	cursor:default;
}

dl.club > dt::after{
	content: "";
	position: absolute;
	z-index: 1;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .7s;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background:#f6fbff;
}
dl.club > dt:not(.none):not(.open):hover::after{
	transform-origin: left top;
	transform: scale(1, 1);
}
dl.club > dd{
	padding: 30px 3%;
	border-bottom: 1px solid #ddd;
}
dl.club > dd .sp100{
	position: relative;
	margin: 0;
	align-items: flex-start;
}
dl.club > dd .sp100::after{
	content: "";
	position: absolute;
	z-index: 1;
	width: 0;
	height: 0;
	left:3%;
	top: -30px;
	border-style: solid;
	border-width: 20px 30px 0 30px;
	border-color: #1dc172 transparent transparent transparent;
	opacity: 1;
	transition: all ease .5s;
}
dl.club > dd .bg{
	margin:0 0.5em 0 0;
	background:#333;
	color:#fff;
	padding:0 0.5em;
}


.news_box .panel ul{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.news_box .panel ul li{
	width: 25%;
}
.news_box .panel li a{
	padding: 15px;
	box-sizing: border-box;
	display: block;
	position: relative;
	transition: all ease .5s;
	text-decoration: none !important;
	color: #212121 !important;
}
.news_box .panel li a:hover{
	background:rgba(241,244,244,0.5);
}
.news_box li figure{
	margin: 0;
	padding: 0;
	width: 100%;
	padding-top: 56.25%;
	position: relative;
	overflow: hidden;
	transition: all ease .3s;
}
.news_box li figure img{
	position: absolute;
	left: 0;
	top: 0;

	width: 100%;
	height: 100%;
	transition: all ease .3s;
}
.news_box li a:hover figure img{
	transform: scale(1.1);
}
.news_box .panel dl{
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}
.news_box .panel dt{
	display: flex;
	align-items: flex-end;
	margin: 10px 0;
}
.news_box .panel li dd{
	width: 100%;
	box-sizing: border-box;
}
.news_box .panel li dd p{
	line-height: 1.2;
	transition: all ease .5s;
	margin-bottom: 0 !important;
	box-sizing: border-box;
}
.news_box .panel li dd small{
	color: #aaa;
}
.news_box .panel dt span{
	display:inline-block;
	width: 36px;
	height: 36px;
	margin-right: 5px;
}

.category_list > li span{
	display:inline-block;
	width:100px;
	height:100px;
	margin-right: 5px;
}

.category_list > li:last-child span,
.news_box .panel dt span:last-of-type{
	margin-right: 0;
}
.news_box .panel dt span.primary{
	width: 50px;
	height: 50px;
}
.category_list > li span.primary{
	width:120px;
	height:120px;
}

.edit #sdgs_list table tr > td.ct_1,
.category_list > li span.ct_1,
.news_box .panel dt span.ct_1{
	background: url(/sdgs/images/sdg_icon_01_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_2,
.category_list > li span.ct_2,
.news_box .panel dt span.ct_2{
	background: url(/sdgs/images/sdg_icon_02_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_3,
.category_list > li span.ct_3,
.news_box .panel dt span.ct_3{
	background: url(/sdgs/images/sdg_icon_03_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_4,
.category_list > li span.ct_4,
.news_box .panel dt span.ct_4{
	background: url(/sdgs/images/sdg_icon_04_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_5,
.category_list > li span.ct_5,
.news_box .panel dt span.ct_5{
	background: url(/sdgs/images/sdg_icon_05_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_6,
.category_list > li span.ct_6,
.news_box .panel dt span.ct_6{
	background: url(/sdgs/images/sdg_icon_06_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_7,
.category_list > li span.ct_7,
.news_box .panel dt span.ct_7{
	background: url(/sdgs/images/sdg_icon_07_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_8,
.category_list > li span.ct_8,
.news_box .panel dt span.ct_8{
	background: url(/sdgs/images/sdg_icon_08_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_9,
.category_list > li span.ct_9,
.news_box .panel dt span.ct_9{
	background: url(/sdgs/images/sdg_icon_09_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_10,
.category_list > li span.ct_10,
.news_box .panel dt span.ct_10{
	background: url(/sdgs/images/sdg_icon_10_ja_3.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_11,
.category_list > li span.ct_11,
.news_box .panel dt span.ct_11{
	background: url(/sdgs/images/sdg_icon_11_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_12,
.category_list > li span.ct_12,
.news_box .panel dt span.ct_12{
	background: url(/sdgs/images/sdg_icon_12_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_13,
.category_list > li span.ct_13,
.news_box .panel dt span.ct_13{
	background: url(/sdgs/images/sdg_icon_13_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_14,
.category_list > li span.ct_14,
.news_box .panel dt span.ct_14{
	background: url(/sdgs/images/sdg_icon_14_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_15,
.category_list > li span.ct_15,
.news_box .panel dt span.ct_15{
	background: url(/sdgs/images/sdg_icon_15_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_16,
.category_list > li span.ct_16,
.news_box .panel dt span.ct_16{
	background: url(/sdgs/images/sdg_icon_16_ja_2.png) no-repeat;
	background-size: contain;
}
.edit #sdgs_list table tr > td.ct_17,
.category_list > li span.ct_17,
.news_box .panel dt span.ct_17{
	background: url(/sdgs/images/sdg_icon_17_ja_2.png) no-repeat;
	background-size: contain;
}


#visual .h1-bar{
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	
	display: table;
	width: 80%;
	word-break: keep-all;
	
	font-size: 2em;
	font-weight: normal;
	text-align: center;
	color: #fff;
	line-height:1.2
}
#visual .h1-bar em{
	display: block;
	font-size: 2.6em;
	color: rgba(0,0,0,0);
	-webkit-text-stroke:1px #fff;
	font-weight: bold;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.5));
	white-space: nowrap;
}
#visual .h1-bar small{
	margin-top:1em;
	display: block;
	font-size: 50%;
}

/*×ó¤«¤éÓÒ¤Ø¬F¤ì¤ë*/
.h1-bar.elem{
	position: relative;
}
.h1-bar.elem > span{
	display: table;
	margin:0 auto;
	opacity: 1;
}
.h1-bar.isAnimate > span{
	opacity: 1;
}

@keyframes anime1 {
	0% {
		left: -1%;
		width: 0;
	}
	50% {
		left: -1%;
		width: 102%;
	}
	51% {
		left: -1%;
		width: 102%;
	}
	100% {
		left: 102%;
		width: 0;
	}
}


.teachers_list article{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.teachers_list article figure{
	width: 28%;
	padding-top: 28%;
	position: relative;
}
.teachers_list article figure img{
	position: absolute;
	left: 0;
	top: 0;

	width: 100%;
	height: 100%;
	object-fit: cover;
}

.teachers_list article dl{
	width: 70% ;
	line-height:1.2;
}
.teachers_list article dt{
	font-size: 140%;
	margin-bottom: 10px;
}
.teachers_list article dt small{
	font-size: 50%;
	display: inline-block;
	margin-left:0.5em;
}
.teachers_list article dt a::after{
	font-size:18px !important;
}




/*-----------------------------------------------
__Footer
-----------------------------------------------*/
footer{
	position: relative;
	display: block;
	z-index: 1;
	border-top: 1px solid #ddd;
	font-size: 90%;
	padding-left: 250px;
	box-sizing: border-box;
}
#pagetop{
	margin-bottom: 0;
}
#pagetop a{
	width: 100%;
	display: block;
	padding: 20px 0;
	border-bottom: 1px solid #ddd;
	background:rgba(241,244,244,1.00);
	text-align: center;
	color: #333;
	position: relative;
	transition: all ease .3s;
}
#pagetop a::before{
	content: "";
	margin: 0 auto;
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #555;
	border-right: 2px solid #555;
	transform: rotate(-45deg);
	transition: all ease .3s;
}
#pagetop a:hover{
	background:rgba(236,239,239,1.00);
}
#pagetop a:hover::before{
	transform: translateY(-3px) rotate(-45deg);
}


footer .information{
	background: #000;
	color: #fff;
	padding: 60px 0 30px 0;
}
footer .information > ul{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	text-align: center;
	margin-bottom: 30px;
}
footer .information > ul > li:first-of-type{
	margin-right: auto;
	text-align: left;
}
footer .information > ul > li:first-of-type a{
	font-weight: bold;
}
footer .information > ul > li:first-of-type img{
	height: 70px;
	width: auto;
	vertical-align: middle;
	margin-right: 20px;
}
footer .information > ul > li a{
	font-size: 120%;
	color: #212121;
	display: block;
	transition: all ease .3s;
}
footer .information > ul > li a i{
	font-size: 35px;
}
footer .information > ul > li:nth-last-of-type(-n+3){
	border-left: 1px solid #ddd;
	padding: 0 5px;
}
footer .information > ul > li:nth-last-of-type(-n+3) a{
	padding: 20px;
	border-radius: 10px;
}
footer .information > ul > li:nth-last-of-type(-n+3) a:hover{
	background: rgba(241,244,244,1.00);
}

footer .information > p{
	text-align: center;
	font-weight: bold;
	font-size: 1.4em;
	margin-bottom: 20px;
}

footer .information address{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 25px;
	background: #eee;
	color: #000;
	margin-bottom: 30px;
	display: flex;
}
footer .information > p small{
	display: block;
	font-weight: normal;
	font-size: 0.7em;
}
footer .information address dl{
	width: 100%;
	display: flex;
}
footer .information address dt{
	width: 30%;
	margin-right: 10%;
}
footer .information address dd a{
	display: inline-block;
	font-size: 90%;
	border-radius: 20px;
	border: 1px solid #ddd;
	color: #212121;
	background: #fff;
	padding: 3px 15px;
	transition: all ease .3s;
}
footer .information address dd a:hover{
	background: #212121;
	color: #fff;
	border-color: #212121;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.2);
	transform: translateX(5px);
}
footer .information > small{
	display: block;
	width: 90%;
	max-width: 1000px;
	margin: 0 auto ;
	text-align: center;
}

@media all and (-ms-high-contrast:none){/* IE */
  #visual{
		display: block;
		position: relative;
		height: 800px;
		overflow: hidden;
		-webkit-backface-visibility:hidden;
		backface-visibility:hidden;
	}
	#visual figure{
		position: relative;
		height: 800px;
		overflow: hidden;
		-webkit-backface-visibility:hidden;
		backface-visibility:hidden;
	}
	#visual .slide-animation{
		animation: fadezoom 8s 0s forwards;
		outline: 1px solid transparent;
		transform: rotate(0.0001deg);
	}
	.pickup li a{
		outline: 1px solid transparent;
		transform: rotate(0.0001deg);
	}

}


/* printÓÃcss µÚ2ëAŒÓÒÔÏÂÖÐÐÄ */
@media print{
	body {
	    -webkit-print-color-adjust: exact;
		font-size: 0.7em;
	}
	body,#container,#contents.wrap, .wrap{
		width: 100%;
		display:block;
	}
	#under_fix_navi,#fix_navi,header#side,#nav-open,#nav-close,#nav-input,.logo-area,#nav-content .f_menu,#u_visual,#pagetop,#f_sitemap{
		display: none;
	}
	
	.u_contents #visual,
	#visual{
		height: auto !important;
		overflow: auto;
	}
	.u_contents #visual .h1-bar::before,
	#visual figure{
		display: none;
	}
	.h1-bar.elem > span{
		animation: none;
		opacity: 1;
	}
	.u_contents #visual h1{
		display: block;
		color: #333 !important;
		width: 100%;
		max-width: 1280px;
		margin: 0 auto;
		text-align: left;
		position: relative;
		border-bottom: 3px solid #ccc;
		left: 0;
		top: 0;
		transform: translate(0,0);
		padding: 30px 0;
	}
	.u_contents #visual h1::after{
		content: "";
		position: absolute;
		bottom: -3px;
		left: 0;
		background: #333;
		width: 30%;
		height: 3px;
		z-index: 1;
		animation: none;
	}

	.news_box .panel li dd{
		display: flex;
		align-items: center;
	}
	.news_box .panel li dd span{
		min-width: 120px;
	}

	footer{
		padding-left:0;
	}
	
}