@charset "utf-8";

/* =Reset
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	vertical-align: bottom;
}
ol,
ul {
	list-style: none;
}
ul.list{
	list-style:disc;
	padding-left: 2em;
}

blockquote,
q {
	quotes: none;
}

p.indentback{
  text-indent: -1em;
  padding-left: 2em;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}
html {
	overflow-y: scroll;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
a:focus {
	outline: thin dotted;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
	display: block;
}
audio,
canvas,
video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
}
del {
	color: #222;
}
ins {
	background: #fff9c0;
	text-decoration: none;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin: 10px;
}
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
.small {
	font-size: 0.9em;
	line-height: 1.5em;
}
img {
	border: 0;
	-ms-interpolation-mode: bicubic;
}

/* =Basic structure
-------------------------------------------------------------- */

/* 全体 */
html {
	font-size: 62.5%;
}
body {
	color: #222;
	font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	font-size: 15px;
	font-size: 1.54rem;
	line-height: 1.6;
	overflow-x: hidden;
}
body, th, td {
	-webkit-font-smoothing: subpixel-antialiased;
}
header,
#contents,
footer {
	width: 100%;
	overflow: hidden;
	position: relative;
}
hgroup,
.navInner,
section.pageTitle .pageTitleInner,
section.pageAnker .pageAnkerInner,
section.default .defaultInner,
section.topics .topicsInner,
section.intro .introInner,
section.banner .bannerInner,
footer .logoInner,
footer .menuInner,
footer .profileInner,
footer .copyrightInner {
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	overflow: hidden;
	position: relative;
}
.onlyPC {
	display: inline-block;
}
.onlySP {
	display: none;
}
.stagingMark {
	color: #00f;
	position: absolute;
	top: 0;
	left: 0;
}
@media only screen and (max-width: 780px) {
	body {
		font-size: 14px;
		line-height: 1.4;
	}
	hgroup,
	.navInner,
	section.pageTitle .pageTitleInner,
	section.pageAnker .pageAnkerInner,
	section.default .defaultInner,
	section.topics .topicsInner,
	section.intro .introInner,
	section.banner .bannerInner,
	footer .logoInner,
	footer .menuInner,
	footer .profileInner,
	footer .copyrightInner {
		padding: 0;
	}
	.onlyPC {
		display: none;
	}
	.onlySP {
		display: inline-block;
	}
}
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 10px 0;
}
h1 { font-size: 2.2em; }
h2 { font-size: 2em; }
h3 { font-size: 1.8em; }
h4 { font-size: 1.6em; }
h5 { font-size: 1.4em; }
h6 { font-size: 1.2em; }
h1.mainTitle {
	width: 35%;
	margin: 0;
	color: #fff;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
h2.mainTitle {
	margin: 20px 0 10px;
	padding: 6px 0;
	color: #215C51;
	font-size: 36px;
	font-family: "Times New Roman", "メイリオ", Meiryo, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: bold;
	line-height: 1;
	border-bottom: 2px solid #215C51;
}
h2.mainTitler {
	margin: 20px 0 10px;
	padding: 6px 0;
	color: #3e62ad;
	font-size: 32px;
	font-family: "Times New Roman", "メイリオ", Meiryo, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	line-height: 1;
}
h2.mainTitle.underline,
h2.mainTitler.underline,
h2.mainTitle.underline-no,
h2.mainTitler.underline-no {
	font-size: 40px;
	border-bottom: 1px solid #ccc;
}
h2.mainTitle.underline-no,
h2.mainTitler.underline-no {
	border-bottom: none;
}
h2.mainTitle.center,
h2.mainTitler.center {
	text-align: center;
}
h2.mainTitle.smaller,
h2.mainTitler.smaller {
	font-size: 38px;
}
h2.mainTitle.nihongo,
h2.mainTitler.nihongo {
	font-size: 24px;
}
h2.mainTitle.underline.nihongo,
h2.mainTitler.underline.nihongo,
h2.mainTitle.underline.nihongo-no,
h2.mainTitler.underline.nihongo-no {
	font-size: 32px;
}
h2.mainTitler span {
	margin: 0 10px;
	color: #222;
	font-size: 14px;
	font-weight: normal;
	font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	vertical-align: baseline;
}
h2.mainTitler span.point {
	float: right;
	margin: 0;
	color: #3e62ad;
	font-size: 24px;
	font-weight: normal;
}
h2.mainTitler.underline span.point {
	margin: 16px 0 0;
}
h2.title {
	margin: 20px 0 10px 0;
	padding: 6px 0;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2;
}
h2.titler {
	margin: 20px 0 10px 0;
	padding: 6px 0;
	font-size: 1.2em;
	font-weight: bold;
}
h3.title {
	margin: 20px 0 10px;
	padding: 0px 8px 0px 8px;
	font-size: 1.05em;
	font-weight: bold;
	background-position: left bottom;
	background-repeat: no-repeat;
	border-left: solid 5px #215C51;
}
h3.titler {
	margin: 20px 0 10px;
	padding: 0px 8px 0px 8px;
	font-size: 1.05em;
	font-weight: bold;
	background-position: left bottom;
	background-repeat: no-repeat;
	border-left: solid 5px #3e62ad;
}
h4.title {
	margin: 0px;
	padding: 15px 0 0;
	font-size: 1.05em;
	color: #215C51;
	font-weight: bold;
}
h4.titler {
	margin: 0px;
	padding: 15px 0 0;
	font-size: 1.05em;
	color: #3e62ad;
	font-weight: bold;
}
h5.title {
	font-size: 1.2em;
	font-weight: bold;
}
h6.title {
	font-size: 1.1em;
	font-weight: bold;
}
.caution {
	color: #f00;
}
.errorTitle {
	color: #f00;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}
.nowrap {
	white-space: nowrap;
}
.indent {
	display: inline-block;
	margin-left: 1em;
	text-indent: -1em;
}
.inlineBlock {
	display: inline-block;
}
.htmlcode {
	margin: 5px 0 40px;
	padding: 4px 10px;
	background-color: #f9f9f9;
	border: 1px solid #eee;
}
.text_back {
	margin: 10px 0 10px;
	padding: 20px 20px;
	background-color: #F0F0F0;
}
.text_back.pink {
	background-color: #fff0f5;
}
.title_kubun {
	margin: 10px 0;
}
.kubun {
	margin: 0 10px 0 0;
	padding: 2px 15px;
	color: #fff;
	font-size: 0.9em;
	background-color: #000;
}
.right {
	text-align: right;
}
.center {
	text-align: center;
}
.bottom {
	vertical-align: bottom !important;
}
.mb10 {
	margin-bottom: 10px;
}
.ml_em1 {
	margin-left: 1em;
}
.ml_em2 {
	margin-left: 2em;
}
.yosan_update {
	text-align: right;
}
.yosan_contact p {
	display: inline-block;
	padding: 5px 10px;
    font-size: 0.9em;
    line-height: 1.4em;
	text-align: left;
	border: 1px solid #222;
}
ul.decimal {
	margin-left: 3em;
	list-style: decimal;
}
@media only screen and (max-width: 780px) {
	h1.mainTitle {
		width: calc(100% - 70px);
		max-width: 300px;
		margin: 0 0 10px;
	}
	h2.mainTitle {
		margin: 10px 0;
		font-size: 24px;
	}
}

/* Link */
a { display: inline-block;}
a:link,
a:visited {
	color: #343399;
	text-decoration: underline;
}
a:hover {
	color: #666;
	text-decoration: underline;
	filter:alpha(opacity=90);
	opacity:0.9;
}
a:active {
	color: #666;
	text-decoration: underline;
}
ul.link li a {
	display: inline-block;
	padding: 4px 0 2px 15px;
	background-position: left 3px top 50%;
	background-repeat: no-repeat;
}
a.bt_file {
    background-color: #215C51;
}
a.bt_file {
    display: inline-block;
    margin: 5 5px;
    padding: 8px 14px 8px 14px;
    color: #fff;
    font-size: 0.9em;
    line-height: 1.2em;
    text-indent: 0;
    text-decoration: none;
    vertical-align: top;
}
.lead a {
	text-decoration: underline;
}
.favorite_link {
	margin: 0 0 0 20px;
	font-size: initial;
}
.arrowLink {
	position: relative;
	margin: 0 0 0.5em 2em;
	padding: 2px 0 0 40px;
	font-size: 1.2em;
}
.arrowLink:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 30px;
	height: 30px;
	background-repeat: no-repeat;
}
.arrowLink.orange:before {
	background-image: url(./icon_arrow_orange.svg);
}
.arrowLink.yellow:before {
	background-image: url(./icon_arrow_yellow.svg);
}
@media only screen and (max-width: 780px) {
	.arrowLink {
		margin: 0 0 0.5em;
		padding: 2px 0 0 30px;
		font-size: 1.1em;
	}
	.arrowLink:before {
		width: 24px;
		height: 24px;
	}
}

/* TopMenu */
ul.topMenu {
	max-width: 800px;
	margin: 60px auto;
}
ul.topMenu li {
	display: flex;
	margin: 0 0 15px;
	text-align: left;
}
ul.topMenu li .link {
	width: 220px;
	margin: 0 10px 0 0;
	font-size: 1.6em;
}
ul.topMenu li .link.about {
	font-size: 1.4em;
}
ul.topMenu li .text {
	font-size: 1.2em;
}
ul.topMenu li .text span {
	font-size: 0.8em;
	line-height: 1.6;
}
ul.topMenu li .text a.lock {
	text-decoration: none;
}
ul.topMenu li .text a.lock:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 5px 5px 0;
	background-image: url(./icon_lock.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: text-bottom;
}

/* List */
dl.linkList {
	overflow: hidden;
	margin: 0 0 0 20px;
}
dl.linkList dt {
	clear: both;
	float: left;
	width: 50%;
	margin: 0 0 10px;
}
dl.linkList dd {
	float: left;
	margin: 0 0 10px;
}
dl.linkList dd a {
	text-decoration: underline;
}
@media only screen and (max-width: 780px) {
	dl.linkList dt {
		float: none;
		width: 100%;
		margin: 0;
	}
	dl.linkList dd {
		margin: 0 0 10px 0;
	}
}
ul.lead {
	list-style-type: disc;
	margin-left: 2em;
}
ul.lower-latin {
	list-style-type: lower-latin;
	margin-left: 2em;
}
.list_ew {
	display: flex;
	flex-wrap: wrap;
}
.list_ew.ew3 label {
	width: calc(100% / 3);
}
.list_ew.ew4 label {
	width: calc(100% / 4);
}
.list_ew.ew5 label {
	width: calc(100% / 5);
}

.annotationList {
	margin-left: 1em;
	text-indent: -1em;
	font-size: 14px;
}
.annotationList a {
	text-indent: 0;
}
.numberList {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
}
.numberList li {
	margin-bottom: 10px;
	padding-left: 30px;
	position: relative;
}
.numberList li:before {
	content: counter(my-counter);
	counter-increment: my-counter;
	color: #222;
	display: block;
	float: left;
	font-size: 14px;
	line-height: 1.4;
	margin-left: -30px;
	text-align: center;
	height: 18px;
	width: 18px;
	border: 1px solid #222;
	border-radius: 50%;
}

/* Language Switcher */
ul.langSwitch {
	display: inline-block;
	float: right;
	color: #fff;
	background-color: #215C51;
	border: 1px solid #215C51;
	overflow: hidden;
}
.reuse ul.langSwitch {
	background-color: #3e62ad;
	border: 1px solid #3e62ad;
}
ul.langSwitch li {
	float: left;
	width: 5em;
	text-align: center;
}
ul.langSwitch li a {
	display: block;
	color: #222;
	background-color: #fff;
	text-decoration: none;
}

/* Pankuzu */
ul.pankuzu {
	margin: 30px 0 20px;
	text-align: right;
}
ul.pankuzu li {
	display: inline-block;
	width: 36px;
	height: 28px;
	margin: 0px;
	font-size: 0.8em;
	line-height: normal;
	text-align: center;
	background-color: #fff;
}
ul.pankuzu li a,
ul.pankuzu li span {
	display: block;
	height: 100%;
	padding-top: 4px;
}
ul.pankuzu li a {
	color: #fff;
	text-decoration: none;
	background-color: #215C51;
}
ul.pankuzu li.noPage {
	background-color: #ccc;
}

/* Pagination */
.pagination {
	margin-bottom: 60px;
	font-size:13pt;
	text-align: center;
}
.pagination li {
	display: inline-block;
}
.pagination li a {
	display: block;
	min-width: 32px;
	padding: 5px 10px;
	color: #fff;
	line-height: 1.4;
	text-decoration: none;
	background-color: #85023e;
}

/* Images */
img {
	max-width: 100%;
	/* width: auto; /* IE8用 */
	height: auto;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* googlemap */
.g_map {
	position: relative;
	padding-top: 75%;
	height: 0;
	overflow: hidden;
}
.g_map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Table */
table {
	width: 100%;
	margin: 0 0 10px 0;
	font-size: inherit;
	border: 1px solid #666;
	border-collapse: collapse;
	border-spacing: 0;
}
tr {
	border-bottom: 1px solid #666;
}
th {
	text-align: left;
	background-color: #d4e3db;
	vertical-align: middle;
}
th.title {
	color: #fff;
	font-weight: normal;
	text-align: left;
	background-color: #6aac90;
}
th,
td {
	padding: 7px 10px 5px;
	border-right: 1px solid #666;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
table.noDeco,
table.noDeco tr,
table.noDeco th,
table.noDeco td {
	padding: 0px;
	background-color: inherit;
	border: none;
	vertical-align: top;
}
table.noDeco a {
	text-decoration: underline;
}
table.noDeco2,
table.noDeco2 tr,
table.noDeco2 th,
table.noDeco2 td {
	padding: 0px;
	background-color: inherit;
	border: none;
	vertical-align: bottom;
}
table.noDeco2 a {
	text-decoration: underline;
}
table.addCondition {
	width: auto;
	margin: 0 0 0 0em;
}
table.addCondition,
table.addCondition tr,
table.addCondition th,
table.addCondition td {
	padding: 0px 0px 0px;
	background-color: inherit;
	border: none;
	vertical-align: middle;
}
table.addCondition a {
	text-decoration: underline;
}
table.optionSelect,
table.optionSelect tr,
table.optionSelect th,
table.optionSelect td {
	border: none;
	vertical-align: top;
}
table.optionSelect th {
	font-weight: normal;
	text-align: left;
}
table.optionSelect td .list {
	padding-left: 2em;
}
table.resultList {
	display: block;
	max-height: 75vh;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
table.resultList tr,
table.resultList th,
table.resultList td {
	padding: 5px;
	font-size: 12px;
}
table.resultList a {
	text-decoration: underline;
}
table.resultList th {
	position: sticky;
	top: 0;
	color: #fff;
	font-weight: normal;
	text-align: center;
	background-color: #215C51;
	white-space: nowrap;
}
table.resultList th a {
	margin: 0 0 1px 4px;
	color: #fff;
	font-size: 15px;
	text-decoration: none;
}
table.resultList th img {
	max-width: initial;
	vertical-align: middle;
}
table.kakenhiList,
table.kakenhiList tr,
table.kakenhiList th,
table.kakenhiList td {
	padding: 5px;
	font-size: 12px;
}
table.kakenhiList a {
	text-decoration: underline;
}
table.kakenhiList th {
	color: #fff;
	font-weight: normal;
	text-align: center;
	background-color: #215C51;
	white-space: nowrap;
}
table.kakenhiList th a {
	margin: 0 0 1px 4px;
	color: #fff;
	font-size: 15px;
	text-decoration: none;
}
table.kakenhiList th img {
	max-width: initial;
	vertical-align: middle;
}
.assigned {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
    width: 100%;
    height: 100%;
    color: #fff;
	background-color: rgba(0, 0, 0, 0.5);
}
table.file {
	width: inherit;
	margin: 0 0 20px 0;
	font-size: inherit;
	border: 1px solid #ccc;
	border-collapse: collapse;
	border-spacing: 0;
}
table.seminarList {
	line-height: 1.6em;
}
table.seminarList th {
	display: block;
	font-weight: normal;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
}
table.seminarList td {
	display: block;
	padding-left: 1.5em;
	padding-bottom: 5px;
}
table.no-border {
	width: 100%;
	margin: 0 0 20px 0;
	border: none;
}
table.no-border tr {
	border-bottom: none;
}
table.no-border td {
	padding: 5px 10px 5px;
	border-right: none;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: middle;
}
table.no-border2 {
	margin: 5px 0 20px 0;
	border: none;
	width: auto;
}
table.no-border2 tr {
	border-bottom: none;
}
table.no-border2 th,
table.no-border2 td {
	padding: 5px 10px 5px;
	border-right: none;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
table.no-border2 th {
	vertical-align: top;
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
	background: none;
}
table.no-border3 td {
	vertical-align: middle;
}
table.no-border3 {
	margin: 5px 0 0px 0;
	border: none;
	width: auto;
}
table.no-border3 tr {
	border-bottom: none;
}
table.no-border3 th,
table.no-border3 td {
	padding: 5px 10px 5px;
	border-right: none;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
table.no-border3 th {
	vertical-align: top;
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
	background: none;
}
table.no-border3 td {
	vertical-align: middle;
}
table.no-border4 {
	margin: 5px 0 20px 0;
	border: none;
	width: 100%;
	background-color: #f2f2f2;
}
table.no-border4 tr {
	border-bottom: none;
}
table.no-border4 th,
table.no-border4 td {
	padding: 0px 10px 0px;
	border-right: none;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
table.no-border4 th {
	vertical-align: top;
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
	background: none;
}
table.no-border4 td {
	vertical-align: middle;
}
table.no-border5 {
	margin: 5px 0 20px 0;
	border: none;
	width: 100%;
	background-color: #f2f2f2;
}
table.no-border5 tr {
	border-bottom: none;
}
table.no-border5 th,
table.no-border5 td {
	padding: 0px 10px 0px;
	border-right: none;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
table.no-border5 th {
	vertical-align: top;
	text-align: left;
	font-weight: normal;
	white-space: nowrap;
	background: none;
}
table.no-border5 td {
	vertical-align: top;
}
table.yosan tr:nth-child(even) {
	background-color: #f0f8ff;
}
table.yosan th {
	color: #fff;
	font-weight: normal;
	text-align: center;
	background-color: #3e62ad;
}
table.yosan td:nth-child(2),
table.yosan td:nth-child(3) {
	text-align: center;
	white-space: nowrap;
}
table.dataUpdate {
	width: auto;
}
table.dataUpdate th {
	color: #fff;
	font-weight: normal;
	background-color: #6aac90;
}
table.dataUpdate tr.saturday {
	background-color: #dfeefc;
}
table.dataUpdate tr.sunday,
table.dataUpdate tr.holiday {
	background-color: #fce8ef;
}
@media only screen and (max-width: 780px) {
	th,
	td {
		padding: 5px;
	}
	th.title {
		font-size: 16px;
	}
}

/* Form fields */
.required {
	margin-left: 1em;
	color: #f00;
}
a.popupButton {
	margin: 0 0 0 0.5em;
	padding: 3px 5px 0;
	color: #fff;
	font-weight: normal;
	text-decoration: none;
	background-color: #0e3846;
	border-radius: 5px;
}
input {
	box-sizing: border-box;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
textarea {
	margin: 4px 5px;
	padding: 3px;
	font-family: inherit;
	border: 1px solid #215C51;
}
label input[type="text"],
label input[type="email"],
label input[type="password"],
label input[type="number"] {
	margin: 10px 0;
}
input.w100 {
	max-width: 100px;
}
input.w200 {
	max-width: 200px;
}
input.w300 {
	max-width: 300px;
}
input.quarter {
	max-width: 25%;
}
input.half {
	max-width: 50%;
}
textarea {
	width: 80%;
}
input[disabled],
input[readonly],
textarea[disabled],
textarea[readonly] {
	background-color: #ddd;
}
input[type="button"]:disabled {
	color: #b3b3b3;
	background: #e0e0e0;
}
input.reuse[type="text"],
input.reuse[type="email"],
input.reuse[type="password"],
input.reuse[type="number"],
textarea.reuse,
.reuse input[type="text"],
.reuse input[type="email"],
.reuse input[type="password"],
.reuse input[type="number"],
.reuse textarea {
	border-color: #3e62ad;
}
@media only screen and (max-width: 780px) {
	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="number"],
	textarea {
		margin: 10px 0;
	}
}

/* Checkbox */
input[type="checkbox"] {
	display: none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
input[type="checkbox"] + label {
	display:inline-block;
	padding:0 10px 0 30px;
	cursor:pointer;
	line-height: 30px;
	position:relative;
	vertical-align: baseline;
}
input[type="checkbox"] + label:before{
	content:"";
	display:block;
	width:18px;
	height:18px;
	background-color:#fff;
	border:solid 1px #215C51;
	box-sizing:border-box;
	position:absolute;
	left:5px;
	top:6px;
	transition:0.1s ease-in-out;
}
input[type="checkbox"] + label:after{
	content:"";
	display:block;
	transform:rotate(45deg);
	border:solid 4px #2d2d2d;
	border-top:0;
	border-left:0;
	width:10px;
	height:18px;
	left:12px;
	top:-5px;
	position:absolute;
	box-sizing:border-box;
	transition:0.2s ease-in-out;
	opacity:0;
}
input[type="checkbox"]:checked + label:after{
	transform:rotate(45deg);
	top:0;
	opacity:1;
}
input.reuse[type="checkbox"] + label:before,
.reuse input[type="checkbox"] + label:before{
	border-color: #3e62ad;
}

/* Radio */
input[type="radio"] {
	display: none;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}
input[type="radio"] + label {
	display:inline-block;
	padding:0 10px 0 30px;
	cursor:pointer;
	height: 30px;
	line-height: 30px;
	position:relative;
	vertical-align: baseline;
}
input[type="radio"] + label:before,
input[type="radio"] + label:after{
	content:"";
	display:block;
	position:absolute;
	left:0;
	top:0;
	border-radius:50%;
}
input[type="radio"] + label:before{
	width:18px;
	height:18px;
	border:solid 1px #215C51;
	box-sizing:border-box;
	left:5px;
	top:6px;
}
input[type="radio"] + label:after{
	width:12px;
	height:12px;
	background:#2d2d2d;
	transform:scale(0.5);
	transition:0.1s;
	left:8px;
	top:9px;
	opacity:0;
}
input[type="radio"]:checked + label:after{
	transform:scale(1);
	opacity:1;
}
input.reuse[type="radio"] + label:before,
.reuse input[type="radio"] + label:before {
	border:solid 1px #3e62ad;
}

/* Buttons */
input[type="submit"],
input[type="button"],
input[type="reset"] {
	margin: 2px;
	padding: 6px 20px 6px;
	color: #fff;
	font-size: 1.0em;
	background-color: #85023e;
	border: none;
	border-radius: 5px;
}
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}
input[disabled] {
	cursor: default;
}
input[type="submit"].large,
input[type="button"].large,
input[type="reset"].large {
	padding: 6px 30px;
	font-size: 1.2em;
}
input[type="reset"],
input[type="button"].reset {
	background-color: #b6b6b6;
}
input.reuse[type="submit"],
input.reuse[type="button"],
input.reuse[type="reset"],
.reuse input[type="submit"],
.reuse input[type="button"],
.reuse input[type="reset"] {
	background-color: #3e62ad;
}
input.reuse_style1,
input.reuse_style2,
.reuse input.reuse_style1,
.reuse input.reuse_style2 {
	width: calc(6em + 60px);
	padding: 6px 30px;
	font-size: 1.3em;
	font-weight: bold;
}
input.reuse_style1,
.reuse input.reuse_style1 {
	background-color: #3e62ad;
}
input.reuse_style2,
.reuse input.reuse_style2 {
	color: #3e62ad;
	background-color: #fff;
	border: 2px solid #3e62ad;
}
.button_s_reuse a {
	min-width: calc(4em + 20px);
	margin: 2px;
	padding: 5px 10px;
	color: #fff;
	font-size: 12px;
	text-align: center;
	text-decoration: none !important;
	line-height: 1.4;
	background-color: #3e62ad;
	border: none;
	border-radius: 5px;
}
.button_s_reuse a:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}
.bookmarkButton {
	display: inline-block;
    position: relative;
	margin: 0 10px;
	vertical-align: middle;
}
.bookmarkButton img {
	width: 20px;
}
.bookmarkButton .description {
    position: absolute;
    top: -5px;
    left: 25px;
    width: 130px;
    padding: 4px 8px;
	color: #fff;
    font-size: 12px;
	font-weight: normal;
    line-height: 1.4em;
	text-align: center;
    background-color: #222;
    border-radius: 5px;
	opacity: 0;
	transition: .3s;
}
.bookmarkButton .description:before {
    content: "";
    position: absolute;
    top: calc(50% - 5px);
    left: -10px;
    border: 5px solid transparent;
    border-right: 5px solid #222;
}
.bookmarkButton:hover .description {
    left: 30px;
	opacity: 1;
}
.filterBox {
	margin: 0 0 5px;
	text-align: right;
}
.filterBox img {
	width: 32px;
}
a.buttonRed {
	display: inline-block;
	padding: 10px 40px;
	color: #fff;
	font-size: 22px;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	background-color: #b01513;
	border-radius: 10px;
	filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.5));
}
a.buttonRed span {
	display: block;
	font-size: 14px;
}

/* Select */
select {
	margin: 5px;
	padding: 5px;
	border: 1px solid #215C51;
}
select.reuse,
.reuse select {
	border-color: #3e62ad;
}

/* Sidelines */
.sideLines {
	display: flex;
	align-items: center;
}
.sideLines:after,
.sideLines:before {
	display: block;
	height: 1px;
	content: "";
	flex-grow: 1;
}
.sideLines:before  {
	margin-right: 0.5em;
	background: linear-gradient(-90deg, #888, transparent);
	border-right: 1rem;
}
.sideLines:after {
	margin-left: 0.5em;
	border-left: 1rem;
	background: linear-gradient(90deg, #888, transparent);
}

/* Clearing floats */
.clear {
	clear: both;
}

/* =Page structure
-------------------------------------------------------------- */

header {
	overflow: visible;
	position: relative;
	background: rgb(64,125,113);
	background: radial-gradient(circle, rgba(64,125,113,1) 0%, rgba(14,56,70,1) 100%);
	border-bottom: 1px solid #000;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
	z-index: 1;
}
header hgroup {
	display: flex;
	align-items: flex-end;
	overflow: visible;
	width: 100%;
	min-height: 40px;
	padding: 10px 20px;
}
header h1 {
	font-size: 17px;
	display: inline-block;
}
header .menuToggle {
	display: none;
}
header ul.menu {
	float: right;
	width: calc(65% - 100px);
	margin: 0 100px 0 0;
	text-align: right;
}
header ul.menu li {
	display: inline-block;
	margin: 2px;
}
header ul.menu li a {
	padding: 8px 10px;
	color: #0e3846;
	font-size: 17px;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
	background-color: #fff;
	border-radius: 10px;
}
header .flag {
	position: absolute;
	top: 8px;
	right: 8px;
}
header .flag img {
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
@media only screen and (max-width: 780px) {
	header hgroup {
		display: block;
		min-width: auto;
		padding: 30px 10px 0;
	}
	header .menuToggle {
		display: block;
		width: calc(100% + 20px);
		margin: 0 -10px;
		padding: 8px 10px;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		background-color: #0e3846;
	}
	header ul.menu {
		float: none;
		display: none;
		width: calc(100% + 20px);
		margin: 0 -10px;
		background-color: #222222;
	}
	header ul.menu li {
		margin: 0;
	}
	header ul.menu li a {
		width: 100%;
		padding: 10px;
		color: #fff;
		font-size: 16px;
		font-weight: normal;
		line-height: 1;
		background-color: #407d71;
		border-top: 1px solid #6e9a92;
		border-bottom: 1px solid #000;
		border-radius: 0;
	}
	header .flag {
		right: 10px;
		width: 60px;
	}
}

.icon_question {
	margin: 5px;
}
a.tooltips {
	overflow: hidden;
	position: relative;
	transition: .3s;
	vertical-align: middle;
}
a.tooltips span {
	position: absolute;
	opacity: 0;
	bottom: 55px;
	left: 0;
	min-width: 187px;
	padding: 10px;
	border-radius: 2px;
	background: rgb(0, 0, 0);
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	transition: .3s;
}
a.tooltips span:after {
	position: absolute;
	top: 100%;
	left: 16px;
	height: 0;
	width: 0;
	border: 6px solid transparent;
	border-top: 6px solid rgb(0, 0, 0);
	content: "";
}
a.tooltips:hover {
	overflow: visible;
}
a.tooltips:hover span {
	opacity: 1;
	bottom: 45px;
}
.popup {
    display: none;
    padding: 30px;
    line-height: 2;
    background-color: #fff;
    border-radius: 10px;
    position: relative;
}
.popup .modal_close {
    position: absolute;
    top: 15px;
    right: 15px;
    line-height: 0;
}
#lean_overlay {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background: #000 none repeat scroll 0 0;
    z-index: 9999;
}

/* Nav */
nav {
	margin-top: 20px;
}
header nav {
	background-color: #2d2d2d;
}
header nav:after {
	position: absolute;
	bottom: 0;
	content: "";
	width: 100%;
	height: 12px;
	background-color: #3a3a3a;
}
.navInner {
	position: relative;
	height: 62px;
	overflow: visible;
	z-index: 1;
}
.navInner .logomark {
	position: absolute;
	left: 10px;
	bottom: 0;
}
.navInner .logomark a:hover {
	filter: alpha(opacity=100);
	opacity: 1;
}
.navInner ul > li{
	float: left;
	position: relative;
	width: calc((100% - 95px) / 4);
}
.navInner ul > li:first-child {
	margin-left: 95px;
}
.navInner ul > li > a{
	display: table;
	width: 100%;
	margin: 0;
	padding: 22px 1px 12px;
	color: #fff;
	font-size: 26px;
	font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	text-align: center;
	position: relative;
	text-decoration: none;
}
.navInner ul > li > a:after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: 2px;
	width: 0%;
	border-bottom: 0px solid #222;
	transition: all 300ms 0s ease;
}
.navInner ul > li > a:hover:after{
	content: "";
	position: absolute;
	left: 20%;
	bottom: 2px;
	width: 60%;
	border-bottom: 1px solid #fff;
	transition: all 300ms 0s ease;
}

/* Slider */
#slider div {
	height: 40vh;
	background-size: cover;
	background-position: 50% 50%;
}

/* Contents */
#contents {
}
#contents .contentsInner {
	width: 1000px;
	margin: 40px auto 60px;
	padding: 20px;
	background-color: rgb(255 255 255 / 75%);
	border: 3px solid #0e3846;
	border-radius: 20px;
}
@media only screen and (max-width: 780px) {
	#contents .contentsInner {
		width: calc(100% - 20px);
		margin: 20px 10px 40px;
		padding: 10px;
		border: 2px solid #0e3846;
		border-radius: 10px;
	}
}

/* Breadcrumbs */
.breadcrumbs {
	margin: 0 auto 20px;
}
.breadcrumbs ul {
	overflow: hidden;
}
.breadcrumbs ul li {
	float: left;
}
.breadcrumbs ul li:after {
	content: ">";
	margin: 0 5px;
}
.breadcrumbs ul li:last-child:after {
	content: "";
}
.breadcrumbs ul li a {
	text-decoration: underline;
}

/* Section Page Title */
section.pageTitle {
	height: 170px;
	background-size: cover;
	background-position: 50% 50%;
}
section.pageTitle .pageTitleInner{
	padding: 70px 10px 0;
}
section.pageTitle h2 p {
	margin: 0 auto;
	font-size: 1.1em;
}

/* Section Page Anker */
section.pageAnker {
	background-color: #f4f3ee;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
section.pageAnker .pageAnkerInner {
	overflow: visible;
}
section.pageAnker ul {
	display: table;
	width: 100%;
}
section.pageAnker ul li {
	display: table-cell;
	width: 33.3%;
	text-align: center;
	line-height: normal;
	border-left: 1px solid #ccc;
	vertical-align: middle;
}
section.pageAnker ul li:last-child {
	border-right: 1px solid #ccc;
}
section.pageAnker ul li a {
	display: block;
	padding: 10px 3px;
	color: #215C51;
}
section.pageAnker ul li.active {
	padding: 10px 3px;
	color: #fff;
	background-color: #215C51;
	position: relative;
}
section.pageAnker ul li.active:after {
	position: absolute;
	content: '';
	top: 100%;
	left: 49%;
	border: 7px solid transparent;
	border-top: 10px solid #215C51;
	width: 0;
	height: 0;
}

/* Section Default */
.slide {
	position: relative;
}
.slide .lead {
	color: #fff;
	font-size: 22px;
	line-height: 1.4;
	text-shadow: 2px 2px 2px #000;
	position: absolute;
	left: 40px;
	bottom: 20px;
}

section.default {}
section.default .defaultInner {
	overflow: visible;
}
section.default .column_l {
	float: left;
	width: 710px;
	margin: 0 0 20px;
	overflow: visible;
	vertical-align: top;
}
section.default .column_s {
	width: 240px;
	margin: 0 0 20px 760px;
	overflow: visible;
	vertical-align: top;
}

.menuTop {
	display: flex;
	justify-content: center;
	text-align: center;
	margin: 20px 0;
}
.menuTop a {
	width: 400px;
	height: 180px;
	margin: 20px;
	padding: 30px;
	color: #fff;
	font-size: 36px;
	line-height: 1.2;
	text-decoration: none;
	background: rgb(64,125,113);
	background: radial-gradient(circle, rgba(64,125,113,1) 0%, rgba(14,56,70,1) 100%);
	border-radius: 20px;
	filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.5));
}
.menuTop a span {
	display: block;
	margin-bottom: 5px;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
.menuTop a span.sub {
	display: block;
	font-size: 16px;
	line-height: 1.6;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
.menuTop2 {
	text-align: center;
	margin: 20px 0;
}
.menuTop2 a {
	width: 600px;
	height: 140px;
	margin: 10px;
	padding: 30px;
	color: #fff;
	font-size: 36px;
	line-height: 1.2;
	text-decoration: none;
	background: rgb(64,125,113);
	background: radial-gradient(circle, rgba(64,125,113,1) 0%, rgba(14,56,70,1) 100%);
	border-radius: 20px;
	filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.5));
}
.menuTop2 a span {
	display: block;
	margin-bottom: 5px;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
.menuTop2 a span.sub {
	display: block;
	font-size: 16px;
	line-height: 1.6;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
.menuTop2 a.small {
	height: auto;
	padding: 15px;
	font-size: 24px;
}
.menuTop2 a.small span {
	margin-bottom: 0;
}
.menuTop2 a.small span.sub {
	font-size: 14px;
}
.menuMypage {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px 0;
}
.menuMypage a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 260px;
	min-height: 150px;
	margin: 20px;
	padding: 30px;
	color: #fff;
	font-size: 26px;
	text-decoration: none;
	background: rgb(64,125,113);
	background: radial-gradient(circle, rgba(64,125,113,1) 0%, rgba(14,56,70,1) 100%);
	border-radius: 20px;
	filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.5));
}
.menuMypage a span {
	display: block;
	filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.5));
}
@media only screen and (max-width: 780px) {
	.menuTop {
		display: block;
	}
	.menuTop a {
		width: 100%;
		height: auto;
		margin: 0 0 20px;
		padding: 15px 10px;
		font-size: 22px;
	}
	.menuTop a span.sub {
		font-size: 14px;
		line-height: 1.4;
	}
	.menuMypage {
		display: block;
	}
	.menuMypage a {
		margin: 0 0 20px;
		padding: 15px 10px;
		font-size: 22px;
	}
	.menuTop2 a {
		width: 100%;
		height: auto;
		margin: 0 0 10px;
		padding: 15px 10px;
		font-size: 22px;
	}
	.menuTop2 a span.sub {
		font-size: 14px;
		line-height: 1.4;
	}
	.menuTop2 a.small {
		padding: 10px;
		font-size: 18px;
	}
	.menuTop2 a.small span.sub {
		font-size: 13px;
	}
}

ul.hotTopics li {
	margin: 0 0 10px;
	position: relative;
}
ul.hotTopics li a {
	color: #fff;
	text-shadow: 1px 1px 1px #000;
}
ul.hotTopics li .title {
	padding: 5px 10px;
	line-height: 1.4;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
}
ul.hotTopics li .date {
	padding: 5px 10px;
	line-height: 1.4;
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.5);
}
table.hotTopics a {
	vertical-align: top;
}
table.hotTopics .image {
	float: left;
	width: 100px;
	min-height: 1px;
	margin: 0 10px 10px 0;
}

ul.linkBanner {
	margin: 0 0 20px;
}
ul.linkBanner li {
	margin: 0 0 10px;
}

ul.kankyoSeibi li:before {
	content: "・";
}

.newsBox .date {
	margin: 20px 0 10px;
	font-size: 1.2em;
	font-weight: bold;
}
.newsBox h2.title {
	margin: 0 0 10px;
}
.newsBox h4.title {
	margin: 10px 0 0 10px;
}
.newsBox .text {
	padding: 10px;
}
.newsBox ul.image {
	padding: 10px;
	overflow: hidden;
}
.newsBox ul.image li {
	float: left;
	width: 38%;
	margin: 0 2% 2% 0;
}
.newsBox ul.image li:nth-child(3) {
	clear: both;
}
.newsBox ul.image li img {
	border: 2px solid #ccc;
}
.newsBox .link {
	padding: 0 10px 10px;
}
.newsBox .back {
	text-align: center;
}
@media only screen and (max-width: 780px) {
	.newsBox ul.image li {
		width: 48%;
	}
}

dl.greetingBox {
	overflow: hidden;
}
dl.greetingBox dt {
	clear: both;
	float: left;
	width: 320px;
}
dl.greetingBox dd {
	margin: 0 0 0 360px;
}
dl.greetingBox dd p {
	text-indent: 1em;
}
.overviewBox {
	padding: 50px 18px 20px;
	border: 2px solid #215C51;
	position: relative;
}
.overviewBox .ov_title {
	display: inline-block;
	padding: 8px 75px 5px;
	color: #fff;
	font-size: 1.3em;
	background-color: #215C51;
	position: absolute;
	top: -21px;
	left: 27px;
}
.overviewBox ul.ov_check {
	width: 96%;
	margin: 0 auto 40px;
	overflow: hidden;
}
.overviewBox ul.ov_check li {
	width: 33%;
	float: left;
	text-align: center;
}
.overviewBox ul.ov_pic {
	overflow: hidden;
}
.overviewBox ul.ov_pic li {
	width: calc(50% - 10px);
	float: left;
}
.overviewBox ul.ov_pic li:nth-child(odd) {
	clear: both;
	margin: 0 20px 20px 0;
}
.overviewBox ul.ov_pic li:nth-child(even) {
	margin: 0 0 20px 0;
}
.overviewBox ul.ov_pic li .title {
	margin: 0 0 5px 0;
	padding: 0 15px;
	color: #215C51;
	font-size: 1.2em;
	font-weight: bold;
	border-bottom: 1px solid #215C51;
}
.overviewBox ul.ov_pic li dl {
	padding: 12px;
	overflow: hidden;
}
.overviewBox ul.ov_pic li dl dt {
	width: 35%;
	clear: both;
	float: left;
}
.overviewBox ul.ov_pic li dl dd {
	margin: 5px 0 0 38%;
	line-height: 1.2em;
}
.fdBox {
	width: 100%;
	margin: 80px 0 0;
}
.fdBox ul.pickY {
	margin: 0 0 20px;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
	line-height: normal;
}
.fdBox ul.pickY li {
	display: inline-block;
}
.fdBox ul.pickY li a {
	padding: 2px 10px;
	color: #999;
}
.fdBox ul.pickM {
	margin: 0 0 15px;
	color: #215C51;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	line-height: normal;
	overflow: hidden;
}
.fdBox ul.pickM li {
	float: left;
	width: calc(100% / 12);
	height: 40px;
	padding: 8px 0 0;
	border-left: 1px solid #ccc;
}
.fdBox ul.pickM li:last-child {
	border-right: 1px solid #ccc;
}
.fdBox ul.pickM li a {
	display: block;
	color: #999;
}
.fdBox table tr th,
.fdBox table tr td {
	padding: 0 5px;
	vertical-align: top;
}
.fdBox table tr.month th {
	padding: 7px 5px 5px;
	color: #fff;
	font-size: 1.4em;
	font-weight: bold;
	line-height: normal;
	background-color: #215C51;
}
.fdBox table tr.week th {
	background-color: #f4f3ee;
}
.fdBox table tr.week th.sat {
	color: #3366cc;
}
.fdBox table tr.week th.sun {
	color: #cc3300;
}
.fdBox table tr td {
	width: 14.28%;
}
.fdBox table tr td:first-child:before {
	display: block;
	float: left;
	height: 100px;
	content: "";
}
.fdBox table tr td span {
	font-weight: bold;
}
.fdBox table tr td span.out {
	color: #ccc;
}
.fdBox table tr td p.color1,
.fdBox table tr td p.color2,
.fdBox table tr td p.color3 {
	margin: 0 0 7px;
	font-size: 0.75em;
	line-height: normal;
}
.fdBox table tr td p.color1 a {
	color: #215fa3;
}
.fdBox table tr td p.color2 a {
	color: #E59E19;
}
.fdBox table tr td p.color3 a {
	color: #4a7b2b;
}
.fdBox table tr td p a {
	text-decoration: underline;
}
.fdBox h2.title {
	margin: 20px 0 10px;
}
.fdBox .date {
	margin: 20px 0 10px 10px;
	font-size: 1.2em;
	font-weight: bold;
}
.fdBox h4.title {
	margin: 10px 0 0 10px;
}
.fdBox .text {
	padding: 10px;
}
.fdBox .link {
	padding: 0 10px 10px;
}
.fdBox .back {
	text-align: center;
}

.muBox {
	width: 100%;
	margin: 40px 0 0;
}

.muBox {
	width: 100%;
	margin: 40px 0 0;
}

.muBox span.title{
	font-size: 1.2em;
	font-weight: bold;
}

.muBox span.hosoku{
	font-size: 1.0em;
}

.muBox span.alt{
	color: #FF0000;
	padding-left: 10px;
}

.muBox input[type="radio"]{
	display: inherit;
}

.muBox input[type="text"],
.muBox input[type="email"],
.muBox input[type="password"],
.muBox input[type="number"] {
    width: 80%;
}

.muBox select{
	margin: 2px;
	padding: 10px 10px 8px;
	font-family: inherit;
	border: 1px solid #ccc;
}

.muBox table tr th {
	padding: 0 5px;
	vertical-align: middle;
	width: 30%;
	height: 50px;
}

.muBox table tr td {
	padding: 0 5px;
	vertical-align: middle;
	height: 50px;
}

.muBox p.caution {
	margin: 10px 0;
	padding: 5px 10px 3px;
	color: #f00;
	background-color: #fffce5;
	border: 1px dotted #215C51;
}
dl.faqList {
	margin: 10px 0 30px;
}
dl.faqList dt {
	padding-left: 2em;
	font-weight: bold;
	text-indent: -1.5em;
}
dl.faqList dt:before {
	content: "Q.";
	margin-right: 0.5em;
	font-weight: bold;
}
dl.faqList dd {
	margin: 0 0 20px;
	padding-left: 3em;
	text-indent: -1.5em;
}
dl.faqList dd:before {
	content: "A.";
	margin-right: 0.5em;
	font-weight: bold;
}
dl.faqList dd a {
	text-indent: initial;
	text-decoration: underline;
}
.searchBox {
	margin: 0 0 10px;
	padding: 10px 20px;
	border: 1px solid #ccc;
}
.plusCondition {
	margin: 0 0 5px 2em;
}
.minusCondition {
	margin: 0 5px 5px;
}
.plusCondition img,
.minusCondition img {
	margin: 0 5px 0 0;
	vertical-align: middle;
}
.openButton {
	display: inline-block;
	width: 100%;
	margin: 0 0 5px;
	padding: 2px 5px 2px 36px;
	font-size: 17px;
	line-height: 2;
	background-color: #f0f0f0;
	background-image: url(./icon_up.png);
	background-size: 16px 16px;
	background-position: 13px 50%;
	background-repeat: no-repeat;
	cursor: pointer;
}
.openButton.close {
	background-image: url(./icon_down.png);
}
.openTarget {
	margin: 0 0 20px;
	padding: 20px;
	border: 1px solid #ccc;
}
.optionTitle {
	font-size: 16px;
	font-weight: bold;
	margin: 0 5px 10px;
	text-align: center;
	border-bottom: 1px solid #666;
}

.researcherProfile {
	position: relative;
}
.researcherProfile .bookmarkButton {
	position: absolute;
	top: -5px;
	right: 50px;
}

/* リユース登録フォーム */
.formtext {
	font-size:12px;
	color:#666;
}
.calendar {
	width:200px;
}

/* Section Topics */
section.topics {
	background-color: #f4f3ee;
}
section.topics .topicsInner{}
section.topics h2 {
	margin: 20px 0;
	font-size: 1.8em;
	text-align: center;
	position: relative;
}
section.topics h2 .subtitle {
	margin: 0 0 6px;
	font-size: 0.55em;
}
section.topics h2 .title {
	margin: 0 auto;
}
section.topics ul.topicsList {
	margin: 20px 0 30px;
}
section.topics ul.topicsList li {
	padding: 10px 20px 8px 15px;
	border-bottom: 1px dotted #999;
}
section.topics ul.topicsList li a {
	display: block;
/*
	background-image: url(../img/icon_arrow01.png);
*/
	background-position: right 10px top 50%;
	background-repeat: no-repeat;
	overflow: hidden;
	background-color: #f4f3ee;
	transition: all 300ms 0s ease;
}
section.topics ul.topicsList li a:hover {
	background-color: #ffffff;
	transition: all 300ms 0s ease;
}
section.topics ul.topicsList li p {
	clear: both;
	float: left;
	display: inline-block;
	width: 90px;
	padding: 2px 3px 0;
	color: #fff;
	text-align: center;
}
section.topics ul.topicsList li p.cat1 {
	background-color: #215fa3;
}
section.topics ul.topicsList li p.cat2 {
	background-color: #e8a935;
}
section.topics ul.topicsList li p.cat3 {
	background-color: #4a7b2b;
}
section.topics ul.topicsList li dl {
	margin: 0 0 0 105px;
	overflow: hidden;
}
section.topics ul.topicsList li dl dt {
	clear: both;
	float: left;
	width: 100px;
	font-weight: bold;
}
section.topics ul.topicsList li dl dd {
	margin: 0 0 0 0;
}
section.topics .listButton {
	margin: 0 0 30px;
	text-align: center;
}
section.topics .listButton p {
	display: inline-block;
}
section.topics .listButton p a {
	display: block;
	padding: 9px 60px 7px;
	background-color: #f4f3ee;
	border: 1px solid #999;
	transition: all 300ms 0s ease;
}
section.topics .listButton p a:hover {
	background-color: #fff;
	border: 1px solid #fff;
	transition: all 300ms 0s ease;
}

/* Section Intro */
section.intro {
/*
	background-image: url(../img/bg_about.jpg);
*/
	background-size: cover;
	background-position: 50% 50%;
}
section.intro .introInner {
	padding: 40px 10px;
}
section.intro .about {
	padding: 20px 30px;
	background-color: rgba(255, 255, 255, 0.8)
}
section.intro .about .title {
	font-size: 1.3em;
	line-height: 1.7em;
	font-weight: bold;
}
section.intro .about .text {
	font-size: 1.1em;
	line-height: 1.5em;
}

/* Footer */
footer {
	background-color: #222;
}
footer .logo,
footer .menu {
	border-bottom: 5px solid #215C51;
}
footer .logoInner {
	padding: 40px 10px 10px;
	text-align: right;
}
footer .menuInner {
	padding: 10px;
	overflow: hidden;
}
footer .menuInner ul {
	float: left;
	width: 25%;
}
footer .menuInner ul li a {
	color: #fff;
}
footer .profileInner {
	padding: 30px 40px;
	color: #fff;
	font-size: 0.9em;
}
footer .copyrightInner {
	padding: 10px;
	color: #fff;
	font-size: 0.9em;
	text-align: center;
}
footer .pageTop {
	position: fixed;
	right: 20px;
	bottom: 40px;
}
.reuse footer .logo,
.reuse footer .menu {
	border-bottom: 5px solid #3e62ad;
}
.reuse footer .copyright {
	background-color: #3e62ad;
}
.success_message {
	margin: 1em auto;
	color: #00f;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
}
.error_message {
	color: #f00;
	margin: 5px 2px 20px;
	padding: 10px 20px;
	font-size: 14px;
	line-height: 1.8em;
	border: 1px solid #f00;
	background-color: #fff4f4;
}
.error_message a {
	color: #f00;
}
.error-block{
    display:block;
    color:red;
}
.err_msg {
	color: #f00;
	padding: 0px 20px;
	font-size: 14px;
	line-height: 1.8em;
	border: 1px solid #f00;
	background-color: #fff4f4;
}

.messagebox_success{
    margin: 1em auto;
    padding: 1em;
    width: 90%;
    color: #000; /* 文字色 */
    background-color: #fffce5; /* 背景色 */
    border: 1px solid #215C51; /* 枠線 */
}
.article_main a{
    color: blue;
}
@media only screen and (max-width: 780px) {
	footer .profileInner {
		padding: 20px 10px;
		font-size: 0.8em;
	}
	footer .copyrightInner {
		font-size: 0.8em;
	}
}

/* =Media queries
-------------------------------------------------------------- */

/* Does the same thing as <meta name="viewport" content="width=device-width">,
 * but in the future W3C standard way. -ms- prefix is required for IE10+ to
 * render responsive styling in Windows 8 "snapped" views; IE10+ does not honor
 * the meta tag. See http://core.trac.wordpress.org/ticket/25888.
 */
@-ms-viewport {
	width: device-width;
}
@viewport {
	width: device-width;
}
