@charset "utf-8";

/* 共通設定 */

*{
	font-family:Verdana, Geneva, sans-serif;
	box-sizing:border-box;
	text-align:justify;
	font-size:14px;
	line-height:2;
	color:#333;
}

.center{
	text-align:center;
}

.right{
	text-align:right;
}

small{
	font-size:12px;
}

a:hover{
	text-decoration:none;
}


#gloval{
	background-color:#67ab35;
	height:40px;
	margin-bottom:30px;
}

header,
#gloval > ul,
main,
footer,
#second article{
	width:100%;
	max-width:880px;
	height:100%;
	margin:0 auto;
	display:table;
}

header,
#second article{
	min-width:580px;
}

header > *{
	display:table-cell;
	vertical-align:middle;
	font-size:12px;
}

header ul,
header nav p{
	display:table;
	margin-left:auto;
}

header #logo{
	padding:5px;
}

header #logo img{
	display:table;
}

header p{
	padding:0 10px;
}

header p span{
	margin-left:1em;
}

header li{
	display:table-cell;
	padding:0 10px;
}

header a{
	font-family:inherit;
}

header nav{
	display:table-cell;
	margin-left:auto;
}

.search{
	width:280px;
	margin-left:auto;
	padding-right:10px;
}

.search *{
	line-height:1;
	margin:0 !important;
}

.search td{
	padding:0 inherit 0 0 !important
}

.search input[type="image"]{
	box-sizing:content-box;
	padding:5px 10px;
	position:relative;
	top:1px;
}

header div div{
	padding:0 !important;
}

h2{
	display:table;
	width:100%;
	max-width:880px;
	font-size:120%;
	margin-left:auto;
	margin-right:auto;
}

h2 img{
	display:table;
	width:100% !important;
	min-width:580px;
	height:auto !important;
}

#gloval{
	min-width:580px;
	position:relative;
	z-index:100;
}

#gloval > ul{
	position:relative;
}

#gloval > ul > li{
	display:table-cell;
	width:20%;
	height:100%;
	position: relative;
}

#gloval > ul > li > a{
	display:block;
	text-align:center;
	text-decoration:none;
	color:white;
	line-height:40px;
	font-weight:bold;
	transition:0.3s;
}

#gloval > ul > li > a:hover{
	color:#67ab35;
	background-color:white;
}

#gloval > ul > li > ul {
	position:absolute;
	top: 30px;
	width: 100%;
	transition: all .2s ease;
	visibility:hidden;
	opacity:0;
}

#gloval > ul > li:hover ul{
	top: 40px;
	visibility: visible;
	opacity: 1;
}

#gloval > ul > li > ul a{
	display:block;
	text-align:center;
	padding:10px;
	text-decoration:none;
	color:#692;
	font-size:13px;
	font-weight:bold;
	border-top:1px solid white;
	background:rgba(230, 245, 190, 0.9);
	line-height:1.2;
}

#gloval > ul > li > ul a:hover{
	background:rgba(250, 230, 150, 1);
}


div[role="main"]{
	max-width:880px;
	min-width:580px;
	min-height:300px;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin-left:auto;
	margin-right:auto;
}

div[role="main"] > div{
	height: auto;
	position: relative;
	width:32%;
	margin-right:2%;
}

div[role="main"] > div:last-child{
	margin-right:0;
}

div[role="main"] > div::before{
	content: "";
	display: block;
	padding-top: 100%;
}

div[role="main"] > div > a{
	display: table;
	vertical-align:middle;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	text-decoration:none;
	transition:0.1s;
}

div[role="main"] > div > a:hover{
	opacity:0.8;
}

div[role="main"] > div > a span{
	display:table-cell;
	vertical-align:middle;
	color:white;
	text-align:center;
	padding:10px;
	line-height:1.3;
	font-size:calc(8px + 1.3vw);
	text-shadow:0 0 7px rgba(0,0,0,0.7), 0 0 7px rgba(0,0,0,0.7)
}
@media screen and (min-width:880px){
	div[role="main"] > div > a span{
		font-size:20px;
	}
}

footer{
	border-top:1px solid #67ab35;
	min-width:580px;
}

.orange{
	background-color:#fdb439;
}

.blue{
	background-color:#00a1f4;
}

.lblue{
	background-color:#97cff6;
}

.pink{
	background-color:#fe78ae;
}

.green{
	background-color:#3dcc37;
}

.purple{
	background-color:#a475b1;
}

footer{
	text-align:center;
	margin-top:20px;
}


#second article{
	padding:0 20px;
}

#second article h1{
	font-size:18px;
	border-bottom:2px solid #67ab35;
	margin-bottom:1em;
}

#second article p{
	margin-bottom:1em;
}

.name{
	font-weight:bold;
	font-size:120%;
}

#history dt{
	float:left;
	clear:left;
	width:4em;
	font-weight:bold;
	border-top:1px solid #ccc;
}
#history dd{
	float:left;
	width:calc(100% - 4em);
	margin-bottom:1em;
	border-top:1px solid #ccc;
}

#history dt:first-child,
#history dt:first-child + dd{
	border:none;
}

.disc li{
	text-indent:-1.1em;
	margin-left:1.1em;
	text-align:left;
}

.disc li::before{
	content:"\25CF";
	margin-right:0.5em;
	color:#7fa83d;
}

.alpha{
	list-style:lower-alpha;
	margin-left:1.5em;
}

#directors dl{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	margin-bottom:0.5em;
	padding-bottom:0.5em;
	border-bottom:1px solid #ccc;
}

#directors dt{
	width:100%;
	font-weight:bold;
	border-top:1px solid #ccc;
}

#directors dd + dt{
	margin-top:1em;
}

#directors dd{
	font-size:15px;
	width:33%;
	padding-left:2em;
	box-sizing:border-box;
	line-height:1.3;
	margin-bottom:0.2em;
}

.address span{
	display:table-cell;
}

#map{
	width:100%;
	max-width:600px;
	height:420px;
	margin:1em auto;
	display:block
}

address{
	display:table;
	margin:0 auto;
}

#linkL ul li{
	text-indent:-1.5em;
}

#linkL ul li::before{
	content:"・";
}

.sitemap{
	margin-left:2em;
	list-style-type:disc
}

.sitemap li li{
	list-style-type:circle;
	margin-left:1em;
}