/* @override http://guide-toshima.tokyo/manage/css/style.css */

html * {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

*, *:after, *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	background-color: #efefef;
	font-size: 2vh;
	color: #333333;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* @group basic */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, img, strong, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, tbody, tfoot, thead, tr, th, td, header, article, aside, figcaption, figure, footer, menu, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
}

dl, ul {
	list-style-type: none;
}

img {
	vertical-align: bottom;
}

.individual {
	display: none;
	overflow: hidden;
}

.cn {
	font-family: 'Noto Sans SC', sans-serif;
}

.tw {
	font-family: 'Noto Sans TC', sans-serif;
}

.bold {
	font-weight: bold;
}

.large {
	font-size: 120%;
}

.middle {
	font-size: 80%;
}

.small {
	font-size: 60%;
	font-weight: normal;
}

.bg_llg {
	background-color: rgb(184,218,203) !important;
}

.bg_lgg60 {
background: rgb(255,255,255);
background: -moz-linear-gradient(left, rgb(255,255,255) 0%, rgb(255,255,255) 40%, rgb(184,218,203) 100%);
background: -webkit-linear-gradient(left, rgb(255,255,255) 0%,rgb(255,255,255) 40%,rgb(184,218,203) 100%);
background: linear-gradient(to right, rgb(255,255,255) 0%,rgb(255,255,255) 40%,rgb(184,218,203) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#b8dacb',GradientType=1 );

	-webkit-box-shadow: .1vw .1vw .4vw rgb(64,156,114);
	-moz-box-shadow: .1vw .1vw .4vw rgb(64,156,114);
	-ms-box-shadow: .1vw .1vw .4vw rgb(64,156,114);
	-o-box-shadow: .1vw .1vw .4vw rgb(64,156,114);
	box-shadow: .1vw .1vw .2vw rgb(184,218,203);
}

.bg_lgg40 {
background: rgb(184,218,203);
background: -moz-linear-gradient(-45deg,  rgb(184,218,203) 0%, rgb(255,255,255) 60%, rgb(255,255,255) 100%);
background: -webkit-linear-gradient(-45deg,  rgb(184,218,203) 0%,rgb(255,255,255) 60%,rgb(255,255,255) 100%);
background: linear-gradient(135deg,  rgb(184,218,203) 0%,rgb(255,255,255) 60%,rgb(255,255,255) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b8dacb', endColorstr='#ffffff',GradientType=1 );
}

.bg_112 {
	background-color: rgb(112,181,149) !important;
}

.bg_64 {
	background-color: rgb(64,156,114) !important;
}

.bg_bl h1, .bg_bl p, .bg_gr h1, .bg_gr p {
	color: #333 !important;
}

/*

 @end */

/* @group a */

a {
	text-decoration: none;
	background-color: transparent;
	font-weight: bold;
}

a:link {
	color: rgb(0,123,67);
}

a:visited {
	color: rgb(0,123,67);
}

a:active {
	color: rgb(0,123,67);
	outline: 0;
}

a:hover {
	color: rgb(0,123,67);
	outline: 0;
}

/* @end */

/* @group page_top */

#page-top {
	width: 100%;
	height: 40px;
	display: none;
	position: fixed;
	right: 0%;
	bottom: 0px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	-ms-border-top-left-radius: 5px;
	-o-border-top-left-radius: 5px;
	border-top-left-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	-ms-border-top-right-radius: 5px;
	-o-border-top-right-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-box-shadow: 0px 0px 6px #aaa;
	-moz-box-shadow: 0px 0px 6px #aaa;
	-ms-box-shadow: 0px 0px 6px #aaa;
	-o-box-shadow: 0px 0px 6px #aaa;
	box-shadow: 0px 0px 6px #aaa;
	z-index: 1100;
}

#page-top p {
	text-align: center;
	background: rgb(0,123,67);
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	-ms-border-top-left-radius: 5px;
	-o-border-top-left-radius: 5px;
	border-top-left-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	-ms-border-top-right-radius: 5px;
	-o-border-top-right-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

#page-top p:hover {
	background: rgb(64,156,114);
}

#move-page-top {
	color: #fff;
	line-height: 50px;
	text-decoration: none;
	display: block;
	cursor: pointer;
}

/* @end */

/* @group linkout */

#linkout {
	width: 20vw;
	position: fixed;
	top: 2vh;
	right: 3%;
	overflow: hidden;
	z-index: 900;
}

#linkout dd {
	width: calc(100% / 3);
	overflow: hidden;
	display: inline;
	float: left;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}

#linkout dd figure {
	width: 100%;
	padding: 1vw;
}

#linkout dd figure img {
	width: 100%;
}

/* @end */

#container {
	width: 100%;
	position: relative;
}

.pc {
	visibility: visible;
}

.tb {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

.sp {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

/* @group header */

header {
	width: 100%;
	height: 4vh;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	background-color: rgb(0,123,67);
}

header h1 {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

header figure {
	height: 8vh;
	overflow: hidden;
}

#header_logo img {
	height: 8vh;
}

/* @end */

#contents_box {
	width: 96%;
	min-width: 300px;
	margin: 0 auto 0;
	overflow: hidden;
	position: relative;
	border-left: 1px solid white;
	background-color: #fefefe;
}

/* @group contents */

/* @group section */

.contents_sect {
	margin: 2% auto;
	padding: 0 2%;
	position: relative;
	overflow: hidden;
	display: block;
}

.contents_sect .sect_title {
	color: rgb(0,0,0);
	font-size: 3vh;
	line-height: 1.6em;
	font-weight: normal;
	text-align: left;
	margin: 0 auto 2vh;
}

.contents_sect .sect_title, .contents_sect .sect_lead {
	width: 100%;
	max-width: 960px;
}

.contents_sect .sect_lead {
	color: rgb(89,89,89);
	font-size: 2.4vh;
	font-weight: normal;
	line-height: 1.8em;
	text-align: justify;
	text-justify: inter-ideograph;

	overflow: hidden;
	position: relative;
	display: block;
	margin: 0 auto 2vh;
}

.contents_sect nav {
	font-size: 2vh;
	line-height: 1.5em;
	font-weight: normal;
	text-align: right;
	width: 100%;
	margin: 0 0 3vh;
	float: left;
	background-color: rgb(0,123,67);
}

.contents_sect nav a {
	margin: 0 .2vw 0;
	padding: 0 1vw 0;
	background-color: #fff;
	border-radius: 1vw 1vw;
}

/* @end */

.contents_arch {
	width: 100%;
	max-width: 1200px;
	margin: 3vh auto;
	padding: 2% 5%;
	overflow: hidden;
	position: relative;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: stretch;

	-webkit-border-radius: .3vw;
	-moz-border-radius: .3vw;
	-ms-border-radius: .3vw;
	-o-border-radius: .3vw;
	border-radius: .3vw;
}

.contents_arch .arch_title {
	width: 100%;
	font-size: 2.4vh;
	line-height: 1.8em;
	font-weight: normal;
	border-left: .2vw solid rgb(112,181,149);
	padding: 0 0 0 1.8vw;
	margin: 0 auto 4vh;
	background-color: rgb(255,255,255);
}

.contents_arch .arch_subtitle {
	font-size: 2.4vh;
	line-height: 1.8em;
	font-weight: normal;
	border-left: .2vw solid rgb(231,66,145);
	padding: 0 0 0 1.8vw;
	margin: 0 auto 4vh;
}

.contents_arch .arch_para {
	color: #333333;
	font-size: 2vh;
	font-weight: normal;
	line-height: 1.8em;
	text-align: justify;
	text-justify: inter-ideograph;
	margin: 0 auto 4vh;
}

.arch_box {
	width: 50%;
	height: 70vh;
	margin: 1vh 0;
	padding: 0;
	overflow: scroll;
}

.arch_box iframe {
	width: 100%;
	height: 100%;
}

.arch_box td {border: 1px solid #ccc;
table-layout: auto !important;
}
.arch_box br {mso-data-placement:same-cell;}

/* @end */

/* @group footer */

footer {
	width: 100%;
	padding: 2vh 0 4vh;
	overflow: hidden;
	background-color: rgb(0,123,67);
}

.footer_contents {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	background-color: rgb(255,255,255);
	-webkit-border-radius: .3vw;
	-moz-border-radius: .3vw;
	-ms-border-radius: .3vw;
	-o-border-radius: .3vw;
	border-radius: .3vw;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	overflow: hidden;
	position: relative;
}

#footer_left {
	width: 20%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer_logo {
	width: 80%;
	text-align: center;
	margin: 0 auto;
}

.footer_logo img {
	width: 100%;
}

#footer_right {
	width: 80%;
	padding: 1vh 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	overflow: hidden;
	position: relative;
}

#footer_right p {
	width: 50%;
	padding: 0;
	display: block;
	font-size: 1.8vh;
	font-weight: normal;
	line-height: 1.2em;
	text-align: justify;
	text-justify: inter-ideograph;
}

/* @group footer_a */

#footer_right a {
	text-decoration: none;
	background-color: transparent;
}

#footer_right a:link {
	color: #333;
}

#footer_right a:visited {
	color: #333;
}

#footer_right a:active {
	color: #333;
	outline: 0;
}

#footer_right a:hover {
	color: #333;
	text-decoration: underline;
	outline: 0;
}

/* @end */

/* @end */

/* @group Clearfix */

.clearfix:before, .clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	zoom: 1;
}

/* @end */

@media screen and (max-width:767px) {

.pc {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

.tb {
	visibility: visible;
	display: block;
}

.sp {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

}

@media screen and (max-width:479px) {

#contents_box {
	width: 100%;
	margin: 0;
	padding: 0 0 2vh;
	-webkit-border-bottom-right-radius: 0;
	-moz-border-bottom-right-radius: 0;
	-ms-border-bottom-right-radius: 0;
	-o-border-bottom-right-radius: 0;
	border-bottom-right-radius: 0;
}

.contents_sect nav {
	font-size: 2.4vh;
	line-height: 1.5em;
	text-align: center;
}

.arch_box {
	width: 100%;
	height: 70vh;
	margin: 2vh 0;
	padding: 0;
	overflow: scroll;
}

.contents_arch .arch_title {
	font-size: 2.6vh;
	line-height: 2em;
	padding: 0 6% 0;
	margin: 2vh auto 4vh;
}

.contents_arch .arch_para {
	font-size: 2.4vh;
	line-height: 2em;
}

.footer_contents {
	flex-direction: column;
}

#footer_left {
	width: 100%;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

.footer_logo {
	width: 80%;
	margin: 2vh auto 2vh;
}

#footer_right {
	width: 100%;
}

#footer_right p {
	width: 90%;
	padding: 2% 5%;
	display: block;
	font-size: 2vh;
	font-weight: normal;
	line-height: 1.4em;
	text-align: justify;
	text-justify: inter-ideograph;
}

.pc {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

.tb {
	visibility: hidden;
	display: none;
	overflow: hidden;
}

.sp {
	visibility: visible;
	display: block;
}

}