@charset "utf-8";

@media screen and (min-width: 769px),print {

/* ==========================================================
common
=============================================================*/

/* entire
-------------------------------------------------------------*/

div#entire.on {
	position: static !important;
}

/* aside.skip
-------------------------------------------------------------*/

aside.skip {
	position: relative;
	width: 100%;
	height: 0;
	top: -9999px;
	left: 0;
	z-index: 99999;
	margin: 110px: 
	text-align: center;
	background: #ddd;
	overflow: hidden;
}
aside.skip a {
	color: #000;
}
aside.skip.show {
	height: 30px;
	padding: 8px 0 0;
	top: 0;
	text-align: center;
}

/* header
-------------------------------------------------------------*/

header {
	position: relative;
	height: 140px;
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
	border-bottom: dotted 1px #b5b5b5;
	background: #fff url("/en/common/css/image/000000053.png") repeat-x left 82px;
	z-index: 99;
}
.header_inner {
	position: relative;
	width: 1200px;
	min-width: 1200px;
	margin: 0 auto;
}
header.fixed {
	width: 100%;
	min-width: 980px;
	position: fixed;
	top: -88px;
	left: 0;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
header.fixed .header_inner {
	width: 980px;
	min-width: 980px;
}
header.fixed .gnavi {
	margin: 0 auto !important;
}

header a {
	text-decoration: none;
}

header .sp_header,
header .sp_gnavi,
header .sp_search {
	display: none !important;
}

/* title */

header .title {
	height: 87px;
}
header .title .logo {
	position: absolute;
	top: 18px;
	left: 26px;
}
header .title .logo img:nth-child(2){
	margin-left: 37px;
}
header .title .logo a:hover {
	opacity: 0.8;
}

header .title .link {
	position: absolute;
	top: 30px;
	right: 300px;
	padding: 0 5px;
	border-radius: 20px;
	background: #eee;
}
header .title .link li {
	float: left;
	list-style-image: url(data:0);
}
header .title .link li a {
	display: block;
	padding: 7px 10px 4px;
	color: #202020;
	font-size: 1.3rem;
	letter-spacing: 0.03em;
}
header .title .link li a:hover {
	text-decoration: underline;
}
header .title .link li:first-child a:after {
	content: '|';
	position: relative;
	left: 10px;
	top: -1px;
	color: #202020 !important;
	font-size: 1rem;
}
header .title .lang {
	position: absolute;
	top: 32px;
	right: 95px;
}
header .title .lang a {
	display: block;
	padding: 4px 10px 2px;
	color: #007973;
	border: solid 1px #99bdbc;
	font-size: 1.3rem;
	letter-spacing: 0.03em;
}
header .title .lang a:hover {
	text-decoration: underline;
}
header .title .lang_btn {
	position: absolute;
	top: 31px;
	right: 95px;
}
header .title .lang_btn a {
	display: inline-block;
	margin-left: 4px;
}
header .title .lang_btn a:hover {
	opacity: 0.8;
}

/* search */

header .search {
	position: absolute;
	top: 23px;
	right: 33px;
}
header .search a:hover {
	opacity: 0.8;
}

/* search_window */

header .search_window {
}
#search_window {
	position: fixed;
	z-index: -99;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	visibility: hidden;
	background: rgba(0,0,0,0.6);
}

#search_window.on {
	z-index: 99;
	visibility: visible;
}
.search_window {
	position: fixed;
	z-index: -999;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	visibility: hidden;
}

.search_window.on {
	z-index: 999;
	visibility: visible;
}

.search_window aside {
	width: 980px;
	min-width: 980px;
	margin: 100px auto 0;
	background: #fff;
	overflow: hidden;
}
.search_window form {
	text-align: center;
}
.search_window label {
	display: block;
	margin: 0 0 20px;
	padding: 14px 0 10px;
	background: #1c7773;
	color: #fff;
}
.search_window input[type="text"] {
	display: inline-block;
	width: 240px;
	height: 2.4em;
	margin: 0 auto;
	border: solid 1px #ccc;
}
.search_window input[type="submit"] {
	display: inline-block;
	width: 100px;
	height: 2.4em;
	margin: 0 auto;
	border: none;
	background:
	linear-gradient(#666, #333) ;
	color: #fff
}
.search_window input[type="submit"]:hover {
	text-decoration: underline;
	cursor: pointer;
}
.search_window dl {
	margin: 20px 40px;
	padding: 10px 10px 5px;
	border: solid 1px #ccc;
}
.search_window dt {
	margin: 0 0 10px;
	text-align: center;
}
.search_window li {
	display: inline-block;
	margin: 0 0.5em 5px 0;
}
.search_window li a {
	color: #1c7773;
	text-decoration: none;
}
.search_window li a:hover {
	color: #18a7a1;
	text-decoration: underline;
}
.search_window p a {
	float: right;
	display: block;
	padding: 10px 10px 6px 30px;
	background: #1c7773 url("/en/common/css/image/000000067.png") no-repeat 13px center;
	background-size: 1em;
	color: #fff;
	text-decoration: none;
}
.search_window p a:hover {
	text-decoration: underline;
}

/* gnav */

header .gnavi {
}
header .gnavi > dl {
	position: relative;
	display: -webkit-flex; display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center; -ms-flex-pack: center;
	justify-content: center;
	width: 980px;
	height: 54px;
	margin: 0 auto;
}
header .gnavi > dl > dt {
	padding-left: 1px;
	background: url("/en/common/css/image/000000054.png") no-repeat left center;

}
header .gnavi > dl > dt:first-child {
	padding-left: 0;
	background: none;
}

header .gnavi > dl > dt a {
	display: table-cell;
	height: 54px;
	padding: 0 20px;
	vertical-align: middle;
	text-align: center;
	color: #222;
	white-space: nowrap;
}
header .gnavi > dl > dt a:hover {
	text-decoration: underline;
}
header .gnavi > dl > dt a.on {
	background: #1c7773;
	color: #fff;
}
header .gnavi > dl > dd {
	display: none;
	position: absolute;
	top: 52px;
	left: 0;
	z-index: 2;
	width: 980px;
}
header .gnavi > dl > dd {
	display: none;
}
header .gnavi > dl > dd dl {
	width: 980px;
	padding: 35px 32px 15px;
	background: #1c7773;
}
header .gnavi > dl > dd dt {
	margin: 0 0 12px;
	color: #fff;
	font-size: 2.7rem;
	font-weight: bold;
}
header .gnavi > dl > dd dt:after {
	content: '';
	display: inline-block;
	position: relative;
	top: -0.1em;
	left: 0.5em;
	width: 9px;
	height: 14px;
	background: url("/en/common/css/image/000000028.png");
}
header .gnavi > dl > dd dt a {
	color: #fff;
}
header .gnavi > dl > dd dt a:hover {
	text-decoration: underline;
}

header .gnavi > dl > dd dd p {
	margin: 0 0 15px;
	color: #fff;
	font-size: 1.4rem;
}
header .gnavi > dl > dd dd ul {
	display: -webkit-flex; display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap; -ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
header .gnavi > dl > dd dd li {
	width: 303px;
	margin: 0 0 4px 4px;
	background: #fff;
        list-style-image: url(data:0);
}
header .gnavi > dl > dd dd li:nth-child(3n+1) {
	width: 302px;
	margin: 0 0 4px 0;
}
header .gnavi > dl > dd dd li a {
	display: block;
	padding: 12px 20px 8px 10px;
	line-height: 1.2;
	background: url("/en/common/css/image/000000030.png") no-repeat 286px 1em;
	color:#1c7773;
}
header .gnavi > dl > dd dd li a:hover {
	color: #18a7a1;
	text-decoration: underline;
}

header .gnavi > dl > dd > p {
	width: 980px;
	padding: 0 32px 26px;
	background: #1c7773;
	text-align: right;
	border-bottom: solid 1px #fff;
}
header .gnavi > dl > dd > p a {
	display: inline-block;
	padding: 5px 5px 3px;
	color: #fff;
	font-size: 1.6rem;
	border: solid 1px #fff;
}
header .gnavi > dl > dd > p a:before {
	content: '';
	display: inline-block;
	position: relative;
	top: 0;
	margin-right: 5px;
	width: 14px;
	height: 13px;
	background: url("/en/common/css/image/000000035.png");
}
header .gnavi > dl > dd > p a:hover {
	opacity: 0.8;
}

/* main
-------------------------------------------------------------*/

main {
	width: 980px;
	min-width: 980px;
	min-height: 860px;
	margin: 0 auto;
}
main:before,
main:after {
	 content:"";
	display:table;
}
main:after {
	clear:both;
}

/* div.breadcrumbs */

main > .breadcrumbs {
	margin: 17px 0 40px;
}
main > .breadcrumbs ol li {
	display: inline;
	line-height: 1.6;
	font-size: 1.3rem;
}
main > .breadcrumbs ol li:after {
	content: '\003E';
	display: inline-block;
	position: relative;
	top: -1px;
	margin: 0 5px;
	font-size: 1.1rem;
}
main > .breadcrumbs ol li:last-child:after {
	content: none;
}
main > .breadcrumbs ol li a {
	color: #1c7773;
	text-decoration: none;
}
main > .breadcrumbs ol li a:hover {
	color: #18a7a1;
	text-decoration: underline;
}

/* div#h1_title */

main > #h1_title {
	margin: 0 0 20px;
	padding: 0 0 0 45px;
	background: url("/en/common/css/image/000000139.png") no-repeat;
	border-bottom: solid 6px #a1cecc;
	line-height: 1.2;
	color: #010101;
}
main > #h1_title h1 {
	margin: 0 0 5px;
	font-size: 3rem;
}

body.press main > #h1_title h1 {
	margin: 0 0 14px;
	font-size: 2.5rem;
}

body main > #h1_title h1 span.sub_title,
body.press main > #h1_title h1 span.sub_title,
body.news main > #h1_title h1 span.sub_title,
body.topics main > #h1_title h1 span.sub_title,
body.event main > #h1_title h1 span.sub_title,
body.interview main > #h1_title h1 span.sub_title,
body.reference main > #h1_title h1 span.sub_title,
body.today main > #h1_title h1 span.sub_title,
body.event-detail main > #h1_title h1 span.sub_title {
	display: block;
	margin: 5px 0 0;
	font-size: 1.6rem;
}

/* div.main */

main > .main a {
	color: #1d7773;
	text-decoration: none;
}
main > .main a:hover {
	color: #18a7a1;
	text-decoration: underline;
}

body main > .main {
	width: 980px;
}
body.c2 main > .main {
	width: 700px;
	float: left;
}

main > .main > section {
	margin: 0 0 30px;
}

section.col-2 > article > div {
	float: left;
	width: 470px;
	padding-bottom: 5px;
}
section.col-2 > article:after {
	content: "";
	display: block;
	clear: both;
}
section.col-2 > article > div:nth-child(odd) {
	clear: left;
	margin-right: 40px !important;
}
body.c2 section.col-2 > article > div {
	width: 330px;
	padding-bottom: 5px;
}

section.col-3 > article > div {
	float: left;
	width: 308px;
	padding-bottom: 5px;
}
section.col-3 > article:after {
	content: "";
	display: block;
	clear: both;
}
section.col-3 > article > div:nth-child(3n+1) {
	clear: left;
	margin-right: 28px !important;
}
section.col-3 > article > div:nth-child(3n-1) {
	margin-right: 28px !important;
}

body.c2 section.col-3 > article > div {
	width: 218px;
	padding-bottom: 5px;
}

/* div.sub */

body.c2 main > .sub {
	width: 230px;
	float: right;
}


/* div.main parts
-------------------------------------------------------------*/

/* div.sub parts
-------------------------------------------------------------*/


/* footer
-------------------------------------------------------------*/

footer {
	min-width: 980px;
	position: relative;
	margin: 50px 0 0;
	padding: 30px 0 0;
	border-top: solid 1px #ccc;
	background: #f1f1f1;
}
footer > .menu aside {
	display: -webkit-flex; display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between; -ms-flex-pack: justify;
	justify-content: space-between;
	width: 980px;
	min-width: 980px;
	margin: 0 auto;
}
footer > .menu aside dt {
	margin: 0 0 8px;
	font-size: 1.7rem;
	font-weight: bold;
}
footer > .menu aside dd {
	margin: 0 0 5px;
	font-size: 1.3rem;
}
footer > .menu aside dd br {
	display: none;
}
footer > .menu aside p {
	float: right;
	margin: 2px 0 0;
}
footer > .menu aside p a {
	display: block;
	padding: 8px 0 12px 32px;
	background: url("/en/common/css/image/000000046.png") no-repeat 0 2px;
	background-size: 24px 24px;
	color: #000;
	font-size: 1.2rem;
	text-decoration: none;
}
footer > .menu aside p a:hover {
	text-decoration: underline;
}

footer > .menu nav.inquire {
	margin: 20px 0 30px;
	padding: 20px 0;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
}
footer > .menu nav.inquire ul {
	min-width: 980px;
	margin: 0 auto;
	text-align: center;
}
footer > .menu nav.inquire ul li {
	display: inline-block;
}
footer > .menu nav.inquire ul li a {
	display: block;
	padding: 5px 0 5px 30px;
	margin: 0 100px;
}
footer > .menu nav.inquire ul li:nth-child(1) a {
	background: url("/en/common/css/image/000000044.png") no-repeat 0 2px;
}
footer > .menu nav.inquire ul li:nth-child(2) a {
	background: url("/en/common/css/image/000000045.png") no-repeat 0 3px;
}
footer > .menu nav.inquire ul li a {
	color: #1d7773;
	text-decoration: none;
}
footer > .menu nav.inquire ul li a:hover {
	text-decoration: underline;
}
footer > .menu nav.misc {
	display: -webkit-flex; display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between; -ms-flex-pack: justify;
	justify-content: space-between;
	width: 980px;
	min-width: 980px;
	margin: 0 auto 30px;
}
footer > .menu nav.misc ul {
	width: 31%;
}
footer > .menu nav.misc ul li {
	margin: 0 0 8px;
}
footer > .menu nav.misc ul li a {
	display: block;
	padding: 0 0 0 10px;
	background: url("/en/common/css/image/000000032.png") no-repeat 0 0.4em;
	line-height: 1.4;
	color: #000;
	font-size: 1.3rem;
	text-decoration: none;
}
footer > .menu nav.misc ul li a:hover {
	text-decoration: underline;
}

footer > .copyright {
	background: #1c7773;
}
footer > .copyright p {
	width: 980px;
	min-width: 980px;
	margin: 0 auto;
	padding: 12px 0 10px;
	font-size: 1.2rem;
	text-align: center;
	color: #fff;
}
footer > .copyright p br {
	display: none;
}

#pagetop {
	position: fixed;
	bottom: 50px;
	right: 0;
	opacity: 0;
	-ms-filter: "alpha( opacity=0 )";
	filter: alpha(opacity:0);
	zoom: 1;
	z-index: 9999;
}
#pagetop a {
	width: 50px;
	height: 50px;
	display: block;
	background: url("/en/common/css/image/000000043.png");
	background-size: 50px 50px;
}
#pagetop a:hover {
	opacity: 0.8;
}

/* ==========================================================
body.dirtop
=============================================================*/

/* main
-------------------------------------------------------------*/

body.dirtop main {
	width: 100%;
	min-width: 980px;
	margin: 0 auto;
	overflow: hidden;
}

body.dirtop.c2 main {
	width: 980px;
	min-width: 980px;
}
body.dirtop.c2 main > .main {
	width: 700px;
	float: left;
}

/* div.breadcrumbs */

body.dirtop main > .breadcrumbs {
	width: 980px;
	min-width: 980px;
	margin: 12px auto 30px;
}

/* div#h1_title */

body.dirtop #h1_title {
	width: 980px;
	margin: 0 auto 30px;
	padding: 0;
	border: none;
	background: none;
}
body.dirtop #h1_title h1 {
	display: table-cell;
	width: 980px;
	height: 150px;
	margin: 0 0 50px;
	padding: 0 0 0 40px;
	vertical-align: middle;
}

body.dirtop #h1_title p.ttlcopy{
	margin: 50px 0 0;
}

/* div.main_gray */

body.dirtop main > .main_gray {
	width: 100%;
	min-width: 980px;
	margin: 0 0 50px;
	background: #f1f1f1;
}
body.dirtop main > .main_gray a {
	color: #1c7773;
	text-decoration: none;
}
body.dirtop main > .main_gray a:hover {
	color: #18a7a1;
	text-decoration: underline;
}
body.dirtop main > .main_gray > section {
	width: 980px;
	margin: 0 auto;
}

/* div.main */

body.dirtop main > .main {
	width: 980px;
	margin: 0 auto;
}

} /* @media end */
