@charset "utf-8";

/*
==================================================

	CSS File Name - home.css

==================================================
*/


/*--------------------------------------------------
* Base
==================================================*/

div#mainArea section h2 {
	padding: 40px 0;
	background-color: #fff;
	text-align: center;
}


/*--------------------------------------------------
* #news
==================================================*/

div#mainArea section#news {
	padding-bottom: 40px;
	background-color: #f5fbfe;
}

div#mainArea section#news ul {
	display: flex;
	flex-wrap: wrap;
	margin-left: -20px;
	padding: 45px 6% 20px 6%;
}

div#mainArea section#news ul li {
	width: 33.3%;
	margin-bottom: 20px;
	padding-left: 20px;
}

div#mainArea section#news ul li img {
	width: 100%;
	height: auto;
}

div#mainArea section#news ul li div.data {
	padding: 10px;
	background-color: #fff;
}

div#mainArea section#news ul li:hover div.data {
	background-color: #dee8f9;
}

div#mainArea section#news ul li div.data span {
	display: block;
	color: #717171;
	font-size: 12px;
}

div#mainArea section#news p.more {
	text-align: center;
	font-size: 16px;
}

div#mainArea section#news p.more a {
	display: inline-block;
	padding: 15px 190px;
	background-color: #fff;
	background-image: url(../../images/icon_news.png);
	background-position: 160px center;
}

div#mainArea section#news p.more a:hover {
	background-color: #dee8f9;
}

div#mainArea section#news ul li a span.scale {
	position: relative;
	padding-top: 56.25%;
}

div#mainArea section#news ul li a span.scale img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: auto;
	transform: translate(-50%,-50%) scale(1);
}

div#mainArea section#news ul li a:hover span.scale img {
	transform: translate(-50%,-50%) scale(1.2);
}


/*--------------------------------------------------
* #topics
==================================================*/

div#mainArea section#topics ul::after {
	content: "";
	clear: both;
	display: table;
}

div#mainArea section#topics ul li {
	float: left;
	width: 50%;
	background-color: #f9f9f9;
}

div#mainArea section#topics ul li:hover {
	background-color: #fce6d2;
}

div#mainArea section#topics ul li span.scale {
	display: block;
	position: relative;
	width: 50%;
}

div#mainArea section#topics ul li span.scale:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	top: 50%;
	margin-top: -30px;
	border: 30px solid transparent;
}

div#mainArea section#topics ul li.find span.scale:after,
div#mainArea section#topics ul li.lesson span.scale:after {
	right: 0;
	border-right-color: #f9f9f9;
}

div#mainArea section#topics ul li.find:hover span.scale:after,
div#mainArea section#topics ul li.lesson:hover span.scale:after {
	border-right-color: #fce6d2;
}

div#mainArea section#topics ul li.labo span.scale:after,
div#mainArea section#topics ul li.facility span.scale:after {
	left: 0;
	border-left-color: #f9f9f9;
}

div#mainArea section#topics ul li.labo:hover span.scale:after,
div#mainArea section#topics ul li.facility:hover span.scale:after {
	border-left-color: #fce6d2;
}

div#mainArea section#topics ul li span.scale img.visual {
	width: 100%;
}

div#mainArea section#topics ul li div.data {
	width: 50%;
	height: 100%;
	text-align: center;
}

div#mainArea section#topics ul li div.data h3 {
	height: 62px;
	margin: 90px 0 15px 0;
}

div#mainArea section#topics ul li.labo div.data h3 {
	height: 124px;
	margin-top: 28px;
}

div#mainArea section#topics ul li div.data span.text {
	display: block;
	height: 3em;
	margin-bottom: 20px;
}

div#mainArea section#topics ul li:hover div.data span.more {
	display: block;
	background-image: url(../images/btn_more_on.png);
	background-position: center 0;
	text-indent: -9999px;
}

div#mainArea section#topics ul li.find span.scale,
div#mainArea section#topics ul li.lesson span.scale {
	float: left;
}

div#mainArea section#topics ul li.find div.data,
div#mainArea section#topics ul li.lesson div.data {
	float: right;
}

div#mainArea section#topics ul li.labo span.scale,
div#mainArea section#topics ul li.facility span.scale {
	float: right;
}

div#mainArea section#topics ul li.labo div.data,
div#mainArea section#topics ul li.facility div.data {
	float: left;
}


/*--------------------------------------------------
* #contact
==================================================*/

div#mainArea section#contact {
	padding-bottom: 5px;
	background-image: url(../../images/bg_contact.gif);
	background-repeat: repeat;
	line-height: 1.8em;
}

div#mainArea section#contact h2 {
	margin-bottom: 45px;
}

div#mainArea section#contact p {
	width: 80%;
	max-width: 590px;
	margin: 0 auto 40px auto;
}

div#mainArea section#contact ul {
	margin-bottom: 40px;
	text-align: center;
}

div#mainArea section#contact ul::after {
	content: "";
	clear: both;
	display: table;
}

div#mainArea section#contact ul li {
	display: inline-block;
	width: 162px;
	margin: 0 30px;
	font-size: 17px;
	font-weight: bold;
}

div#mainArea section#contact ul li img {
	margin-bottom: 10px;
}


/*--------------------------------------------------
* #access
==================================================*/

div#mainArea section#access {
	padding-bottom: 5px;
}

div#mainArea section#access h2 {
	margin-bottom: 45px;
}

div#mainArea section#access p {
	width: 90%;
	max-width: 770px;
	margin: 0 auto 40px auto;
	line-height: 1.8em;
}

div#mainArea section#access div#googleMap {
	display: block;
	width: 100%;
	height: 420px;
	margin-bottom: 40px;
}


/*--------------------------------------------------
* #link
==================================================*/

div#mainArea section#link ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

div#mainArea section#link ul li {
	width: 33.3%;
}

div#mainArea section#link ul li img {
	width: 100%;
	height: auto;
}

div#mainArea section#link ul li a:hover img {
	opacity: 0.75;
}


/*--------------------------------------------------
* Smartphone Layout
==================================================*/

@media screen and (max-width: 768px) {

/*--------------------------------------------------
* Base
==================================================*/

div#mainArea section {
	width: 100%;
	overflow: hidden;
}


/*--------------------------------------------------
* #news
==================================================*/

div#mainArea section#news {
	padding-bottom: 40px;
	background-color: #fdeff5;
}

div#mainArea section#news ul {
	display: block;
	margin-left: 0;
	padding: 30px 20px 20px 20px;
}

div#mainArea section#news ul li {
	width: 100%;
	padding-left: 0;
}

div#mainArea section#news p.more {
	margin: 0 20px;
}

div#mainArea section#news p.more a {
	width: 100%;
	padding: 15px 0;
	background-color: #fff;
	background-image: url(../../images/icon_news.png);
	background-position: 105px center;
}

div#mainArea section#news ul li a span.scale img {
	transform: translate(-50%,-50%);
}

div#mainArea section#news ul li a:hover span.scale img {
	transform: translate(-50%,-50%);
}


/*--------------------------------------------------
* #topics
==================================================*/

div#mainArea section#topics ul li {
	clear: both;
	float: none;
	width: 100%;
}

div#mainArea section#topics ul li span.scale {
	display: block;
	position: relative;
	width: 50%;
}

div#mainArea section#topics ul li span.scale:after {
	border: none;
}

div#mainArea section#topics ul li div.data {
	width: 50%;
	height: 100%;
	text-align: center;
}

div#mainArea section#topics ul li div.data h3 {
	height: 62px;
	margin: 40px 0 15px 0;
}

div#mainArea section#topics ul li div.data h3 img {
	width: auto;
	height: 62px;
}

div#mainArea section#topics ul li.labo div.data h3 {
	height: 100px;
	margin-top: 22px;
}

div#mainArea section#topics ul li.labo div.data h3 img {
	width: auto;
	height: 100px;
}

div#mainArea section#topics ul li div.data span.text {
	display: none;
}

div#mainArea section#topics ul li:hover div.data span.more {
	background-image: none;
	text-indent: 0;
}

div#mainArea section#topics ul li.find span.scale,
div#mainArea section#topics ul li.labo span.scale {
	float: left;
}

div#mainArea section#topics ul li.find div.data,
div#mainArea section#topics ul li.labo div.data {
	float: right;
}

div#mainArea section#topics ul li.lesson span.scale,
div#mainArea section#topics ul li.facility span.scale {
	float: right;
}

div#mainArea section#topics ul li.lesson div.data,
div#mainArea section#topics ul li.facility div.data {
	float: left;
}


/*--------------------------------------------------
* #contact
==================================================*/

div#mainArea section#contact h2 {
	margin-bottom: 30px;
}

div#mainArea section#contact p {
	width: auto;
	max-width: auto;
	margin: 0 20px 30px 20px;
}

div#mainArea section#contact ul {
	margin-bottom: 30px;
}

div#mainArea section#contact ul li {
	width: 150px;
	margin: 0 10px;
	font-size: 15px;
	line-height: 1.5em;
}

div#mainArea section#contact ul li img {
	display: block;
	width: 130px;
	height: auto;
	margin: 0 auto 10px auto;
}


/*--------------------------------------------------
* #access
==================================================*/

div#mainArea section#access h2 {
	margin-bottom: 30px;
}

div#mainArea section#access p {
	margin: 0 20px 30px 20px;
}


/*--------------------------------------------------
* #link
==================================================*/

div#mainArea section#link ul li {
	width: 50%;
}

}