@charset "utf-8";
@font-face { font-family: social; src: url("../font/social.woff") format("woff"); }

/*----- reset -----*/
html,body,h1,h2,h3,h4,h5,h6,a,div,span,p,ul,ol,li,dl,dt,dd,th,td,strong,em {
	margin: 0; padding: 0;
	font-size: 1em; font-style: normal; font-weight: normal;
}

body { font: 13px/22px "Lucida Grande", "Lucida Sans Unicode", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", Helvetica, Arial, Verdana, sans-serif; }


/*----- document -----*/
a { color: #666; text-decoration: none; }
a:hover { color: #1b89ff; text-decoration: underline; }

header .logo,
header .back {
	color: #ccc;
	font-size: 500%; font-family: Helvetica, sans-serif;
	position: absolute; top: 5.15em;
}
header .logo a,
header .back a { color: #ccc; }
header .logo a:hover,
header .back a:hover { color: #2e4b71; }

header .logo { right: 0; }
header .back { left: 0.15em; }

header .lang { position: absolute; top: 7em; right: 4em; }

header .sns {
	font-family: social; font-size: 26px;
	position: absolute; top: 1.5em; right: 2em;
}
header .sns li {
	float: left; margin-left: 1em;
}

footer { width: 40%; margin: 5em auto 0; padding-bottom: 2em; }
footer ul { font-size: 90%; height: 5em; }
footer li:first-of-type { float: left; }
footer li:last-of-type { float: right; }
footer a { color: #999; }
footer a:hover { color: #2e4b71; }
footer p { clear: both; color: #999; text-align: center; }

aside {
	position: fixed; right: 1em; width: 12em;
	padding: 1em; background: white; opacity: 0.8;
}
aside ul { margin-bottom: 1em; }


/*----- common -----*/
.item h1,
.category h1,
.contact h1 {
	font-family: "ヒラギノ丸ゴ ProN", "メイリオ", Helvetica, sans-serif; font-size: 180%;
	padding: 2em 2em 12em;
	background: no-repeat 50% 50% / cover;
}
.item h2,
.category h2,
.contact h2 { font-size: 140%; width: 95%; margin: 3em auto 1em; }

.map ul,
.item ul,
.category ul,
.contact ul { list-style: none; }


/*----- map -----*/
.map h1 {
	color: #ccc;
	font-size: 65px;
	font-family: Helvetica, sans-serif; font-size: 65px;
	line-height: 1em;
	padding: 0.2em;
}
.map iframe {
	width: calc(100% - 20em);
	min-height: calc(100% - 15em);
	border: none;
}
.map aside { top: 15em; }
.map footer { margin-top: 1em; }


/*----- item / category -----*/
.item h1,
.category h1 { color: gray; }

.item header .sns a,
.item header .sns a:hover,
.category header .sns a,
.category header .sns a:hover { color: gray; text-decoration: none; }

.item aside { bottom: 1em; }
.category aside { bottom: 2em; }


/*----- category -----*/
.category table { width: 80%; margin: 0 auto; }
.category tr td:first-of-type { width: 100px; }
.category td { padding: 0 2em 0.5em 0; }


/*----- contact -----*/
.contact h1 { color: white; background-image: url("../img/head.jpg"); }
.contact header .sns a,
.contact header .sns a:hover { color: white; text-decoration: none; }
.contact main { width: 50%; min-height: 20em; margin: 12em auto 12em; }
.contact main li { margin-top: 1em; }
.contact aside { bottom: 11em; }
