@charset "utf-8";
/* CSS Document */

html {
	font-size:62.5%;
	height:100%;
	width:100%;
}

* html div#container {
	height:100%;
}
body > #container {
	height: auto;
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	color: #8b4b2b;
	line-height: 175%;
	background-color: #fff;
	font-size: 1.6rem;
	overflow-x: hidden;
}

div#container {
	float: none;
	display:block;
	margin:0 auto;
	padding: 0;
	position:relative;
	min-height: 100%;
	width: 100%;
}


header, 
nav {
	display: inline-block;
	width: 100%;
	position: relative;
}

header,
footer {
	background-color: #fff;
	font-size: 1.4rem;
	line-height: 175%;
}
header a,
header a:link,
header a:visited,
nav a,
nav a:link,
nav a:visited {
	color: #000;
}
header a:hover,
nav a:hover {
	color: #00c8e1;
}
header a:hover,
nav a:hover,
footer a:hover {
	text-decoration: none;
}
header a.logo {
	float: left;
	margin-top: 20px;
}

header dl.language {
	float: right;
	margin-top: 10px;
	position: relative;
}

header ul.head_menu {
	float: right;
	clear: right;
	font-size: 1.4rem;
	margin: 15px 0 0 -20px;
	overflow: hidden;
}
header ul.head_menu li {
	float: left;
	margin-left: 20px;
}
header ul.head_menu li a i {
	color: #00c8e1;
}

nav {
	font-size: 1.4rem;
	padding: 20px 0;
}
nav ul {
	text-align: center;
	letter-spacing: -0.4em;
	overflow: hidden;
}
nav ul li,
footer .under ul li {
	display: inline-block;
	letter-spacing: normal;
}
nav ul li:after,
nav ul li:first-child:before,
footer .under ul li:after {
	width: 1px;
	height: 1.75em;
	content: "";
	display:inline-block;
	background-color: #00c8e1;	
	vertical-align: middle;
	margin: 0 35px;
}
nav ul li:first-child:before	{ margin-left: 0 !important; }
nav ul li:last-child:after		{ margin-right: 0 !important; }

footer .under ul li:after {
	margin: 0 17px;
	height: 1.5em;
}
footer .under ul li:last-child:after {
	display: none;
}

.contents,
.main ul.bottom_link {
	max-width:1080px;
	margin:0 auto;
	padding: 0 20px;
}

header .breadcrumb {
	background-color: #00c8e1;
	padding-bottom: 2px;
	font-size: 1.1rem;
	display: inline-block;
	width: 100%;
}
header .breadcrumb,
header .breadcrumb a {
	color: #fff;
	vertical-align: bottom;
}
header .breadcrumb li {
	float: left;
}
header .breadcrumb li:after {
	content:"";
	display: inline-block;
	margin: -3px 10px 0 10px;
	padding: 0;
	width: 5px;
	height: 5px;
	border: 2px solid #fff;
	border-top: none;
	border-left: none;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	vertical-align: middle;
}
_:-ms-lang(x)::-ms-backdrop, header .breadcrumb li:after {
	margin-top: -18px;
}
header .breadcrumb li:last-child:after {
	display: none;
}

footer {
	border-top: 6px solid #00c8e1;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	text-align: left;
}
footer,
footer a,
footer a:link,
footer a:visited {
	color: #7cc7d2;
}

footer a.pagetop {
	position: absolute;
	background-color: #00c8e1;
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	display: block;
	bottom: -webkit-calc(100% + 30px);
	bottom: calc(100% + 30px);
	left: -webkit-calc(50% + 540px);
	left: calc(50% + 540px);
	height: 75px;
	width: 75px;
	text-align: center;
	color: #fff;
	font-size: 1.1rem;
	line-height: 150%;
	vertical-align: bottom;
	padding-top: -webkit-calc((75px - 1.75em) / 2);
	padding-top: calc((75px - 1.75em) / 2);
}
footer a.pagetop:before {
	content: "";
	display: block;
	position: absolute;
	width: 8px;
	height: 8px;
	border: 3px solid #fff;
	border-bottom: none;
	border-left: none;
	top: 15px;
	left: 50%;
	-webkit-transform: translateX(-50%) rotate(-45deg);
	-ms-transform: translateX(-50%) rotate(-45deg);
	transform: translateX(-50%) rotate(-45deg);
}
footer a.pagetop:hover:before {
	top: 13px;
}
footer a.pagetop.absolute {
	position:fixed;
	bottom: 10px;
	top: auto;
	-webkit-animation: none;
	animation: none;
}

footer .contents article {
	float: left;
	width: 25%;
	margin-bottom:50px;
}
footer .contents article ul li {
	padding-left: 13px;
	position: relative;
}
footer .contents article ul li:before {
	content: "";
	display: block;
	position: absolute;
	top: -webkit-calc(1.75em / 2 + 2px);
	top: calc(1.75em / 2 + 2px);
	left: 0;
	background-color: #7cc7d2;
	width: 3px;
	height: 3px;
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
footer .contents article ul li a {
	font-size: 1.3rem;
}

footer .under {
	clear: both;
	background-color: #e5f9fc;
	padding: 10px 0;
}
footer .under {
	font-size: 1.2rem;
}
footer .under ul {
	float: right;
}
footer .under ul li {
	float: left;
}
footer .under ul li a {
	font-size: 1.4rem;
}
