@charset "utf-8";

/* layout
========================================================================== */

html {
	overflow-y: scroll;
}

body {
	font-size: 13px;
	*font-size: small;
	*font: x-small;
	font-family: "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", "Osaka", Arial, sans-serif;
	line-height: 1.8;
}

.nonstyle {
	color: red;
}



/* anchor
========================================================================== */

a {
	color: #390;
}

a:hover,
a:active,
a:focus {
	color: #666;
	text-decoration: none;
}

a:link,
a:visited,
a:active,
a:hover {
	outline: none;
}



/* header
========================================================================== */

header {
	height: 95px;
	background: url(../images/header/bg_header.png) repeat-x center top;
	z-index: 100;
	position: relative;
}

#header {
	height: 95px;
	background: url(../images/header/dott_header.png) repeat-x center bottom;
}

#header div.container {
	position: relative;
}

#header h1 {
	margin: 0;
	position: absolute;
	top: 25px;
	left: 0;
}

/* Tablets */
@media (min-width: 768px) and (max-width: 991px) {
	#header h1 img {
		width: 180px;
	}
}

/* Phones */
@media (max-width: 767px) {
	header {
		display: none;
	}
}


/* header navi
-------------------------------------------------------------------------- */

#hnav {
	position: absolute;
	top: 0;
	right: 0;
}
#hnav ul {
	margin-bottom: 0;
	padding-left: 0;
	list-style: none;
}
#hnav ul li {
	font-size: 85%; /* 11px */
	text-align: center;
	float: left;
}

#hnav ul li a {
	border-left: 1px solid #dfdfdf;
	padding: .2em 1em;
	color: #333;
	display: block;
}
#hnav ul li a:hover {
	color: #390;
}

#hnav ul li:last-child a {
	border-right: 1px solid #dfdfdf;
}

#hnav ul li.language {
	background: #6fa854;
	border-left: none;
	border-radius: 0 0 5px 5px;
}
#hnav ul li.language:before {
	width: 1em;
	margin: 0 .25em 0 .5em;
	content: "\f0ac";
	color: #fff;
	font-family: FontAwesome;
	text-align: center;
	display: inline-block;
}

#hnav ul li.language a {
	padding: .2em .5em;
	border: none;
	color: #fff;
	display: inline-block;
}
#hnav ul li.language a:last-child {
	border-radius: 0 0 5px 0;
}
#hnav ul li.language a:hover {
	background: #226a3d;
}

/* Phones */
@media (max-width: 767px) {
	#hnav {
		display: none;
	}
}


/* visitor navi
-------------------------------------------------------------------------- */

#visitor {
	margin: 45px;
}
#visitor ul {
	margin-bottom: 0;
	padding-left: 0;
	list-style: none;
}
#visitor ul li {
	padding: 0;
	font-size: 108%; /* 14px */
	text-align: center;
}

#visitor ul li a {
	padding: 12px 0 13px;
	background: #6fa854;
	color: #fff;
	display: block;
}

#visitor ul li.guest a {
	background: rgba(111,168,84,0.5); /* #6fa854 50% */
}
#visitor ul li.guest a.active,
#visitor ul li.guest a:hover {
	background: #6fa854;
}

#visitor ul li.organizer a {
	background: rgba(34,106,61,0.5); /* #226a3d 50% */
}
#visitor ul li.organizer a.active,
#visitor ul li.organizer a:hover {
	background: #226a3d;
}

/* Phones */
@media (max-width: 767px) {
	#visitor {
		display: none;
	}
}


/* search
-------------------------------------------------------------------------- */

#search {
	position: absolute;
	top: 45px;
	right: 0;
}

#search input.searchbox {
	width: 200px;
	height: 32px;
	margin-right: -5px;
	padding: .5em;
	background: #fff;
	border: 1px solid #dfdfdf;
	border-radius: 0;
	position: absolute;
	top: 0;
	right: 32px;
}
#search input.searchbox:focus {
	outline: none;
}

#search button {
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	background: #226a3d;
	border: 1px solid #226a3d;
	color: #fff;
	position: absolute;
	top: 0;
	right: 0;
}
#search button span {
	font-size: 108%; /* 14px */
}

/* Tablets */
@media (min-width: 768px) and (max-width: 991px) {
	#search input.searchbox {
		width: 150px;
	}
}

/* Phones */
@media (max-width: 767px) {
	#search {
		display: none;
	}
}



/* global navi
========================================================================== */

#gnav {
	background: #fff;
	background: rgba(255,255,255,0.9); /* #fff 90% */
	border-top: 5px solid #6fa854;
	z-index: 100;
	position: relative;
}

#gnav ul {
	margin-bottom: 0;
	padding-left: 0;
	list-style: none;
}
#gnav ul li {
	padding: 0;
	font-size: 93%; /* 12px */
	text-align: center;
}

#gnav ul li a {
	padding: 20px 0 10px;
	border-bottom: 5px solid #fff;
	border-bottom: 5px solid rgba(255,255,255,0); /* #fff 0% */
	color: #333;
	display: block;
}
#gnav ul li a:hover,
#gnav ul li a.active {
	border-bottom: 5px solid #6fa854;
}

#gnav ul li img {
	width: 32px;
	height: 32px;
	margin-bottom: .5em;
}

/* Phones */
@media (max-width: 767px) {
	#gnav {
		display: none;
	}
}



/* global navi xs
========================================================================== */

#gnav-xs {
	display: none;
}

#gnav-xs div.navbar-fixed-top {
	background: none;
	border: none;
}

/* Phones */
@media (max-width: 767px) {
	#gnav-xs {
		display: inherit;
	}
	#gnav-xs h1 {
		margin: 0;
		position: absolute;
		top: 6px;
		left: 15px;
		display: block;
	}
	#gnav-xs h1 img {
		height: 30px;
	}
	
	#gnav-xs div.navbar-default {
		border-top: 5px solid #6fa854;
		height: 60px;
		background: rgba(255,255,255,.9); /* #fff 90% */
		border-bottom: none;
	}
	
	#gnav-xs button.navbar-toggle {
		width: 36px;
		height: 36px;
		padding: 7px;
		background: #fff;
		border: 1px solid #6fa854;
		border-radius: 0;
		top: 2px;
		right: -5px;
	}
	#gnav-xs button.navbar-toggle span.icon-bar {
		width: 20px;
		background: #6fa854;
		border-radius: 0;
	}
	
	#gnav-xs div.offcanvas {
		width: 264px;
		background: #edefec;
		border: none;
	}
	
	#gnav-xs-bar ul {
		padding-left: 0;
		list-style: none;
	}
	
	#gnav-xs-bar ul li a,
	#gnav-xs-bar ul li span.nolink {
		padding: .75em 2.5em .75em 1em;
		border-top: 1px solid #fff;
		color: #333;
		display: block;
		position: relative;
	}
	
	#gnav-xs-bar ul li a:after {
		width: 1em;
		height: 1em;
		margin-top: -.5em;
		color: #390;
		font-family: FontAwesome;
		line-height: 1;
		text-align: center;
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 1em;
	}
	#gnav-xs-bar ul li a:after {
		content: "\f105";
	}
	#gnav-xs-bar ul li a:hover {
		color: #390;
	}
	
	#gnav-xs-bar ul li a img {
		width: 16px;
		margin-right: .5em;
	}
	
	#gnav-xs-bar ul li.home a:after {
		content: "\f015";
	}
	
	#gnav-xs-bar ul li.guest a {
		background: #6fa854;
		color: #fff;
	}
	#gnav-xs-bar ul li.guest a:after {
		color: #fff;
	}
	#gnav-xs-bar ul li.organizer a {
		background: #226a3d;
		color: #fff;
	}
	#gnav-xs-bar ul li.organizer a:after {
		color: #fff;
	}
	
	#gnav-xs-bar ul li.uty a {
		padding: .5em 2.5em .5em .8em;
		background: #e3e6e2;
	}
	
	#gnav-xs-bar ul > li.active > a {
		background: #c5dcbb;
	}
	#gnav-xs-bar ul > li.active > a:after {
		display: none;
	}
	
	#gnav-xs-bar ul li.language a {
		padding: .25em 2.5em .25em 1em;
		margin: 5px 10px 0;
		background: #6fa854;
		border-bottom: none;
		color: #fff;
	}
	#gnav-xs-bar ul li.language a:after {
		content: "\f0ac";
		color: #fff;
	}
	
	#gnav-xs-bar a[href$="pdf"]:after {
		content: "\f1c1";
		color: #e1462a;
	}
	
	/* sub
	---------------------------------------------------------------------- */
	
	#gnav-xs-bar ul li ul.sub {
		background: #ddead7;
	}
	#gnav-xs-bar ul li ul.sub li a,
	#gnav-xs-bar ul li ul.sub li span.nolink {
		padding: .5em 2.5em .5em 2.75em;
		border-top-style: dotted;
	}
	#gnav-xs-bar ul li ul.sub li.active > a {
		background: #ddead7;
		color: #390;
	}
	
	#gnav-xs-bar ul li ul.sub-visitor {
		background: #cfe9d8;
	}
	
	/* sub (child)
	---------------------------------------------------------------------- */
	
	#gnav-xs-bar ul li ul.sub li ul.sub-child {
		padding-bottom: 0.25em;
	}
	#gnav-xs-bar ul li ul.sub li ul.sub-child li a {
		padding: .25em 2.5em .25em 3.75em;
		border-top: none;
	}
	
	#gnav-xs-bar ul li ul.sub li ul.sub-child li a:after {
		margin-top: -.65em;
		content: "\f0da";
		color: #ccc;
		left: 2.75em;
	}
	#gnav-xs-bar ul li ul.sub li ul.sub-child li.active > a {
		color: #999;
	}
	#gnav-xs-bar ul li ul.sub li ul.sub-child li.active > a:after {
		display: inline-block;
	}
}



/* breadcrumb
========================================================================== */

#breadcrumb {
	margin-bottom: 3em;
	background: #f8f8e9;
	font-size: 85%; /* 11px */
	text-align: left;
}
#breadcrumb div.container {
	padding: 0;
}

#breadcrumb ul {
	margin-bottom: 0;
	padding: .5em 0;
	list-style: none;
	zoom: 1;
}
#breadcrumb ul:after {
	content:"";
	display: block;
	clear: both;
}
#breadcrumb ul li {
	margin-right: .25em;
	float: left;
}

#breadcrumb ul li a:after {
	width: 1em;
	margin-left: .25em;
	content: "\f105";
	color: #999;
	font-family: FontAwesome;
	text-align: center;
	display: inline-block;
}

/* Phones */
@media (max-width: 767px) {
	#breadcrumb {
		margin-top: 60px;
		margin-bottom: 2em;
	}
	#breadcrumb div.container {
		padding: 0 15px;
	}
}



/* footer
========================================================================== */

footer {
	margin-bottom: 5em;
}

/* Phones */
@media (max-width: 767px) {
	footer {
		margin-bottom: 2em;
	}
}


/* page up
-------------------------------------------------------------------------- */

#pageup {
	padding: 0;
}
#pageup div.row div {
	padding: 0 15px;
}
#pageup a {
	padding: .5em 0;
	background: #6fa854;
	color: #fff;
	text-align: center;
	text-decoration: none;
	display: block;
}
#pageup a:before {
	width: 1em;
	margin-right: .25em;
	content: "\f139";
	color: #fff;
	font-family: FontAwesome;
	text-align: center;
	display: inline-block;
}
#pageup a:hover {
	color: #c5dcbb;
}

/* Desktops */
@media (min-width: 992px) and (max-width: 1199px) {
	#pageup {
		padding-left: 80px;
	}
}

/* Tablets */
@media (min-width: 768px) and (max-width: 991px) {
}

/* Phones */
@media (max-width: 767px) {
	#pageup div.row {
		margin: 15px 0;
	}
	#pageup a {
		background: #dfdfdf;
		color: #333;
	}
	#pageup a:before {
		color: #333;
	}
	#pageup a:hover {
		color: #666;
	}
}


/* page up2
-------------------------------------------------------------------------- */

.pageup2 {
	padding: 0;
}
.pageup2 div.row div {
	padding: 0 15px;
}
.pageup2 a {
	padding: .5em 0;
	background: #6fa854;
	color: #fff;
	text-align: center;
	text-decoration: none;
	display: block;
}
.pageup2 a:before {
	width: 1em;
	margin-right: .25em;
	content: "\f139";
	color: #fff;
	font-family: FontAwesome;
	text-align: center;
	display: inline-block;
}
.pageup2 a:hover {
	color: #c5dcbb;
}

/* Desktops */
@media (min-width: 992px) and (max-width: 1199px) {
	.pageup2 {
		padding-left: 80px;
	}
}

/* Tablets */
@media (min-width: 768px) and (max-width: 991px) {
}

/* Phones */
@media (max-width: 767px) {
	.pageup2 div.row {
		margin: 15px 0;
	}
	.pageup2 a {
		background: #dfdfdf;
		color: #333;
	}
	.pageup2 a:before {
		color: #333;
	}
	.pageup2 a:hover {
		color: #666;
	}
}

/* footer navi
-------------------------------------------------------------------------- */

#footerInner {
	margin-bottom: 2em;
	padding: .5em 0;
	background: #6fa854;
	zoom: 1;
}
#footerInner:after {
	content:"";
	display: block;
	clear: both;
}

#footerInner a {
	color: #fff;
}
#footerInner a:hover {
	color: #c5dcbb;
}

#fnav ul {
	margin-top: .5em;
	margin-bottom: 0;
	padding-left: 0;
	font-size: 93%; /* 12px */
	list-style: none;
	float: left;
	zoom: 1;
}
#fnav ul:after {
	content:"";
	display: block;
	clear: both;
}
#fnav ul li {
	margin-right: 1em;
	float: left;
}

#fnav ul li a {
	padding-left: 1.25em;
	position: relative;
}
#fnav ul li a:after {
	width: 1em;
	margin-top: -.8em;
	content: "\f138";
	color: #fff;
	font-family: FontAwesome;
	text-align: center;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
}

/* Phones */
@media (max-width: 767px) {
	#fnav ul {
		margin-bottom: 5px;
	}
	#fnav ul li {
		float: none;
	}
}


/* sns
-------------------------------------------------------------------------- */

#sns ul {
	margin-bottom: 0;
	padding-left: 0;
	font-size: 154%; /* 20px; */
	list-style: none;
	float: right;
	zoom: 1;
}
#sns ul:after {
	content:"";
	display: block;
	clear: both;
}

#sns ul li {
	line-height: 1;
	vertical-align: middle;
	display: inline-block;
}
#sns ul li.title {
	color: #fff;
	font-family: 'Roboto', sans-serif;
	font-size: 50%; /* 10px; */
}


/* address
-------------------------------------------------------------------------- */

#address {
	font-size: 93%; /* 12px */
}

#address address {
	margin-bottom: .5em;
	line-height: 1.6;
}
#address address img {
	width: 250px;
	display: block;
}

/* Tablets */
@media (min-width: 768px) and (max-width: 991px) {
	#address address img {
		width: 100%;
	}
}

/* Phones */
@media (max-width: 767px) {
	#address address {
		text-align: center;
	}
	#address address img {
		max-width: 290px;
		margin-bottom: 1em;
		display: inline-block;
	}
}


/* copyright
-------------------------------------------------------------------------- */

#copyright {
	font-family: 'Roboto', sans-serif;
}

/* Phones */
@media (max-width: 767px) {
	#copyright {
		text-align: center;
	}
}


/* sitemap
-------------------------------------------------------------------------- */

#sitemap h2 {
	margin: 0;
	padding: 1.25em 0 1em;
	font-size: 116%;
	font-weight: bold;
}

#sitemap ul {
	padding-left: 0;
	font-size: 93%; /* 12px */
	list-style: none;
}

#sitemap ul li{
	width: 50%;
	margin-bottom: 0.5em;
	padding-left: 1.25em;
	float: left;
}

#sitemap ul li a {
	color: #333;
	position: relative;
}
#sitemap ul li a:before {
	width: 1em;
	content: "\f138";
	font-family: FontAwesome;
	text-align: center;
	line-height: 1.2;
	display: inline-block;
	position: absolute;
	top: 0;
	left: -1.25em;
}
#sitemap ul li a[href^="http"]:after {
	width: 1em;
	content: "\f08e";
	color: #666;
	font-family: FontAwesome;
	text-align: center;
	line-height: 1.2;
	display: inline-block;
	position: absolute;
	top: 0;
	right: -1.25em;
}
#sitemap ul li a:hover {
	color: #390;
}

#sitemap nav#guest h2 {
	color: #390;
	background: url(../images/contents/dott_guest.png) repeat-x;
}
#sitemap nav#guest ul li a:before {
	color: #390;
}

#sitemap nav#organizer h2 {
	color: #226a3d;
	background: url(../images/contents/dott_organizer.png) repeat-x;
}
#sitemap nav#organizer ul li a:before {
	color: #226a3d;
}

/* Tablets */
@media (min-width: 768px) and (max-width: 991px) {
	#sitemap ul li {
		width: 100%;
		margin-bottom: .25em;
		float: none;
	}
}

/* Phones */
@media (max-width: 767px) {
	#sitemap {
		display: none;
	}
}




/* print
========================================================================== */

@media print {
  a[href]:after {
    content: ""!important;
  }
  abbr[title]:after {
    content: ""!important;
  }
}