@charset "utf-8";
/* CSS Document */

.pt10 {
	padding-top: 10px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pt15 {
	padding-top: 15px !important;
}
.pb15 {
	padding-bottom: 15px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pt40 {
	padding-top: 40px !important;
}
.pb40 {
	padding-bottom: 40px !important;
}
.pt50 {
	padding-top: 50px !important;
}
.pb50 {
	padding-bottom: 50px !important;
}
.pt60 {
	padding-top: 60px !important;
}
.pb60 {
	padding-bottom: 60px !important;
}
#page-link > a:last-child {
	color: rgb(234,99,160);
}
article {
	padding-top: 30px;
}
.scratch-block {
	border-bottom: 1px solid rgb(192,192,192);
	padding: 30px;
}
.scratch-block.border-wide {
	border-bottom: none;
	position: relative;
}
.scratch-block.border-wide:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100vw;
	margin-left: 50%;
	transform: translateX(-50%);
	height: 1px;
	background: rgb(192,192,192);
}
.scratch-block.wide {
	padding: 30px 0;
}
.scratch-block.npt {
	padding-top: 0;
}
.scratch-block.npb {
	padding-bottom: 0;
}
.scratch-block.no-border {
	border-bottom: none;
}
.scratch-block.gray {
	background-color: rgb(211,211,211);
}
article h2 {
	font-size: 22px;
	overflow: auto;
	padding-top: 5px;
}
article h2.map {
	color: rgb(64,187,238);
}
article h2.collabo {
	color: rgb(72,28,134);
}
article h2.citizen {
	color: rgb(0,148,144);
}
article h2 > span {
	display: block;
	overflow: hidden;
	float: left;
	height: 24px;
	line-height: 24px;
}
article h2 > span.is-caption {
	height: auto;
	line-height: 1.1em;
}
article h2 > span.is-caption > span {
	font-weight: normal;
	font-size: 0.8em;
}
article h2 > span > span.title-caption {
	font-weight: normal;
	color: #424242;
	font-size: 0.8em;
	margin-left: 10px;
	display: inline-block;
	transform: translateY(-1px);
}
article h2 > i {
	display: block;
	overflow: hidden;
	float: left; 
	font-style: normal;
	font-weight: bold;
	color: #fff;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	border-radius: 50%;
	margin-right: 15px;
	font-size: 16px;
	transform: translateY(-4px);
}
article h2.map > i {
	background: rgb(64,187,238);
}
article h2.collabo > i {
	background: rgb(72,28,134);
}
article h2.citizen > i {
	background: rgb(0,148,144);
}
article h2 > img {
	display: block;
	overflow: hidden;
	float: right; 
	vertical-align: middle;
	height: 20px;
}
article h3 {
	font-size: 18px;
}
article h3#art {
	color: #fff;
	text-align: center;
	height: 45px;
	line-height: 45px;
	position: relative;
	margin-bottom: 30px;
}
article h3#art > span {
	position: relative;
	z-index: 1;
}
article h3#art:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin-left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 45px;
	background: rgb(234,99,160);
}

article h3#main {
	color: #fff;
	text-align: center;
	height: 45px;
	line-height: 45px;
	position: relative;
	margin-bottom: 30px;
}
article h3#main > span {
	position: relative;
	z-index: 1;
}
article h3#main:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin-left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 45px;
	background: rgb(64,187,238);
}

article h3#annex {
	color: #fff;
	text-align: center;
	height: 45px;
	line-height: 45px;
	position: relative;
	margin-bottom: 30px;
}
article h3#annex > span {
	position: relative;
	z-index: 1;
}
article h3#annex:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin-left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 45px;
	background: rgb(72,28,134);
}
article h3#splash {
	color: #fff;
	text-align: center;
	height: 45px;
	line-height: 45px;
	position: relative;
	margin-bottom: 30px;
}
article h3#splash > span {
	position: relative;
	z-index: 1;
}
article h3#splash:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin-left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 45px;
	background: rgb(0,148,144);
}
article #art-map + .scratch-block {
	padding-top: 0;
}
article p {
	font-size: 18px;
	line-height: 1.8em;
}
.center {
	text-align: center;
}
article p.right {
	text-align: right;
}
article p.big {
	font-size: 22px;
}
article i.copy {
	font-style: normal;
	margin-right: 10px;
}
article table {
	font-size: 18px;
}
article table th {
	font-weight: normal;
	min-width: 60px;
	white-space: nowrap;
}
article table th,
article table td {
	vertical-align: top;
	text-align: left;
	line-height: 1.8em;
}
article table th.large {
	font-size: 22px;
}
article table th.title {
	min-width: 230px;
}
article table th.tpd {
	padding-left: 1em;
}
article table td {
	font-size: 18px;
	padding-left: 30px;
}
article img.wide {
	width: 100%;
	vertical-align: top;
}
article .img-wide-wrap {
	height: 400px;
	width: 100vw;
	min-width: 1280px;
	margin-left: 50%;
	transform: translateX(-50%);
	overflow: hidden;
	position: relative;
}
article .img-wide-wrap > img.wide {
	position: absolute;
	width: 100%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
article img.logo {
	display: block;
	height: 621px;
	margin: 0 auto;
	margin-top: -24px;
}
.bold {
	font-style: normal;
	font-weight: bold;
}
.blue {
	font-style: normal;
	color: rgb(64,187,238);
}


.link-button {
	display: block;
	font-size: 18px;
	padding-bottom: 20px;
}
.link-button.last-link {
	padding-bottom: 0;
}
.link-button > a {
	display: table;
	width: 100%;
	padding: 0 60px 0 22px;
	border-width: 2px;
	border-style: solid;
	text-decoration: none;
	position: relative;
	min-height: 50px;
	transition: all .2s;
	cursor: default;
	color: rgb(64,187,238);
	border-color: rgb(64,187,238);
}
.link-button > a:not([href=""]):hover {
	cursor: pointer;
	opacity: .7;
}
.link-button > a:not([href]):hover {
	transition: none;
	cursor: default;
	opacity: 1;
}
.link-button > a > span {
	display: table-cell;
	vertical-align: middle;
	font-weight: bold;
	text-decoration: none;
}
.link-button > a > span:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	min-height: 50px;
}
.link-button > a:before {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border-width: 2px;
	border-style: solid;
	border-color: rgb(64,187,238);
	transition: all .4s;
}
.link-button > a:not([href=""]):hover:before {
	background: rgb(64,187,238);
}
.link-button > a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 34px;
	transform: translateY(-50%) rotate(45deg);
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top-width: 2.4px;
	border-top-style: solid;
	border-right-width: 2.4px;
	border-right-style: solid;
	border-top-color: #000;
	border-right-color: #000;
	border-top-color: rgb(64,187,238);
	border-right-color: rgb(64,187,238);
	transition: all .4s;
}
.link-button > a:not([href=""]):hover:after {
	border-top-color: rgb(255,255,255) !important;
	border-right-color: rgb(255,255,255) !important;
}


.link-banner {
	display: block;
	width: 960px;
	padding-left: 75px;
	padding-right: 75px;
	margin: 0 auto;
}
.link-banner > a {
	display: block;
	width: 100%;
	transition: all .2s;
	cursor: default;
}
.link-banner > a:not([href=""]):hover {
	cursor: pointer;
	opacity: .7;
}
.link-banner > a:not([href]):hover {
	transition: none;
	cursor: default;
	opacity: 1;
}
.link-banner > a > img {
	width: 100%;
	display: block;
	vertical-align: top;
}


.text-link {
	color: rgb(64,187,238);
	text-decoration: none;
}
.tel > a {
	color: #424242 !important;
}

#map,
#art-map {
	width: 100%;
	height: 720px;
	overflow: hidden;
	opacity: 0;
	transition: all .4s;
}
#map.active,
#art-map.active {
	opacity: 1;
}
#map > iframe,
#art-map > iframe {
	margin-top: -48px;
	width: 100%;
	height: 720px;
	border: none;
}
#map + .scratch-block,
#art-map + .scratch-block {
	margin-top: -48px;
}

.photo-credit,
.photo-caption {
	font-size: 12px;
	height: 30px;
}
.photo-credit {
	text-align: left;
}
.photo-caption {
	text-align: left;
}

.map-caption {
	padding-top: 5px !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
}
.map-caption > p {
	background: rgb(217,217,217);
	padding: 5px 10px;
	line-height: 1.4em;
}
.logo-place {
	line-height: 1.0em;
}
.logo-place > img {
	height: 20px;
}
.logo-place + p {
	padding: 0 0 10px 0;
	line-height: 1.2em;
}
.logo-citizen {
	line-height: 1.0em;
}
.logo-citizen > img {
	height: 20px;
}
.logo-citizen + p {
	padding: 0 0 10px 0;
	line-height: 1.2em;
}
.citizen-caption {
	background: rgb(217,217,217);
	padding: 5px 15px;
	line-height: 1.4em;
	margin-bottom: 20px;
}
