@font-face {
	font-family: "anzu";
	src: url("../fonts/APJapanesefont.eot?") format('eot'),
	url("../fonts/APJapanesefont.woff") format('woff');
}

.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}

.noconfirm {
	background: rgba(255, 0, 0, 0.5);
	color: blue;
}

.pullLeft--G {
	float: left;
}

.pullRight--G {
	float: right;
}

.responsive--G {
	width: 100%;
	overflow: hidden;
}

.shadowM--G {
	box-shadow: 4px 4px 1px 0 rgba(0, 0, 0, 0.75), 0px 0px 3px 0 rgba(0, 0, 0, 0.75);
}
.lb--G {
	display: block !important;
}
.btn {
	display: inline-block;
	text-decoration: none !important;
	padding: 2px 10px;
	font-size: 21px;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
	font-weight: 600;
	border-radius: 6px;
	border-bottom: solid 4px #212121;
	background: grey;
	color: #fafafa;
	position: relative;
}

.btn:active {
	border-bottom: 0;
	bottom: -4px;
}

.superscript {
	font-size: 12px;
	vertical-align: super;
	font-weight: bold;
}

/*----whole--*/
*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	background-color: #fafafa;
}

li {
	list-style: none;
}

span {
	display: inline-block;
}

a {
	text-decoration: none;
	color: inherit;
}

small {
	font-size: inherit;
}

b {
	font-weight: inherit;
}

h2 {
	font-size: 28px;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
	font-weight: bold;
	line-height: 48px;
}

a > img {
	border: none;
}

.wrapper {
	font-family: Meiryo, "Lucida Grande", "segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Maru Gothic ProN", Arial, sans-serif;
	font-size: 18px;
	line-height: 1.5;
	color: #212121;
}

/*---header---*/
header .headover {
	height: 32px;
	background: #424242;
	text-align: right;
	margin-bottom: 10px;
}

header .headover-inner {
	width: 960px;
	margin: 0 auto;
}

header .headover p {
	padding: 4px;
	color: #fafafa;
	font-family: "anzu";
}

header .headunder {
	background: #fafafa;
	/*	overflow: hidden;*/
	padding-bottom: 10px;
}

header .headunder-inner {
	margin: 0 auto;
	width: 960px;
}

header .headunder .logo {
	margin-top: 10px;
	width: 460px;
	text-align: center;
}

header .headunder .logo img {
	max-width: 100%;
}

header .headunder .logo img.bright:hover {
}

header .headunder .detail {
	width: 500px;
	height: 120px;
	padding: 10px;
	font-size: 16px;
	font-weight: bold;
}

header .headunder .detail span {
	display: inline-block;
	text-align: right;
}

header .headunder .detail .title {
	margin-left: 60px;
}

header .headunder .detail span.type {
	margin-left: 10px;
	margin-right: 10px;
	width: 160px;
	font-weight: bold;
}

header .headunder .detail span.number {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.18em;
}

/*---nav---*/
.nav {
	width: 480px;
	height: 80px;
	font-size: 0;
}

.nav nav {
	height: 100%;
}

.nav ul {
	height: 100%;
}

.nav li {
	display: inline-block;
	width: 20%;
	height: 100%;
	text-align: center;
	border-right: solid 1px #e0e0e0;
}

.nav li:last-child {
	border-right: none;
}

.nav span {
	display: block;
	/*	background-color: #212121;*/
}

.nav li .icon {
	height: 70%;
	font-size: 48px;
	color: #757575;
}

.nav li .text {
	height: 25%;
	font-size: 16px;
	font-family: "anzu";
	color: #757575;

}

.nav li .bar {
	height: 5%;
	margin: 0 10px 0;
}

.nav .compass {
	/*background-color:#D84315;*/
}

.nav .compass span {
	/*	color: #D84315;*/
}

.nav .compass:hover span {
	color: #e64a19;
}

.nav .compass:hover .bar {
	background: #e64a19;
}

.nav .compass.checked span {
	color: #e64a19;
}

.nav .compass.checked .bar {
	background: #e64a19;
}

.nav .usage {
	/*background-color: #558B2F;*/
}

.nav .usage span {
	/*	color: #558B2F;*/
}

.nav .usage:hover span {
	color: #689f38;
}

.nav .usage:hover .bar {
	background: #689f38;
}

.nav .usage.checked span {
	color: #689f38;
}

.nav .usage.checked .bar {
	background: #689f38;
}

/*slideNav*/
.nav #slideNav {
	position: relative;
}

.nav #slideNav li {
	position: relative;
}

.nav #slideNav .slideNav-sub li:first-child a {
	border-radius: 8px 8px 0 0;
	position: relative;
}

.nav #slideNav .slideNav-sub li:last-child a {
	border-radius: 0 0 8px 8px;
}

.nav .usage .slideNav-sub {
	display: none;
	position: absolute;
	top: 90px;
	width: 200px;
	left: -50%;
	z-index: 1100;
}

.nav .usage .slideNav-sub li {
	display: inline;
	position: relative;
	width: 100%;
}

.nav .usage .slideNav-sub li a {
	display: block;
	color: #eeeeee;
	font-size: 16px;
	font-family: "anzu";
	padding: 10px 10px;
}

.nav .usage .slideNav-sub li a:hover {
	color: #33691e;
	font-weight: bold;
}

.nav .usage .slideNav-sub li.checked a {
	color: #33691e;
	font-weight: bold;
}

.nav .usage .slideNav-sub li:nth-of-type(2n-1) a {
	background-color: #7cb342;
}

.nav .usage .slideNav-sub li:nth-of-type(2n) a {
	background-color: #8bc34a;
}

.nav .usage:hover::after {
	border-bottom-color: #7cb342;
	position: absolute;
	content: '';
	border: 12px solid transparent;
	border-bottom-color: #7cb342;
	width: 0;
	height: 1px;
	top: 70px;
	left: 40%;
}

.nav .program:hover span {
	color: #c2185b;
}

.nav .program:hover .bar {
	background: #c2185b;
}

.nav .program.checked span {
	color: #c2185b;
}

.nav .program.checked .bar {
	background: #c2185b;
}

.nav .program .slideNav-sub {
	display: none;
	position: absolute;
	top: 90px;
	width: 240px;
	left: -70%;
	z-index: 1100;
}

.nav .program .slideNav-sub li {
	display: inline;
	position: relative;
	width: 100%;
}

.nav .program .slideNav-sub li a {
	display: block;
	color: #eeeeee;
	font-size: 16px;
	font-family: "anzu";
	padding: 10px 10px;
}

.nav .program .slideNav-sub li a:hover {
	color: #880E4F;
	font-weight: bold;
}

.nav .program .slideNav-sub li.checked a {
	color: #880E4F;
	font-weight: bold;
}

.nav .program .slideNav-sub li:nth-of-type(2n-1) a {
	background-color: #F06292;
}

.nav .program .slideNav-sub li:nth-of-type(2n) a {
	background-color: #F48FB1;
}

.nav .program:hover::after {
	border-bottom-color: #c2185b;
	position: absolute;
	content: '';
	border: 12px solid transparent;
	border-bottom-color: #F06292;
	width: 0;
	height: 1px;
	top: 70px;
	left: 40%;
}

.nav .access {
	/*background-color: #f9a825;*/
}

.nav .access span {
	/*	color: #f9a825;*/
}

.nav .access:hover span {
	color: #f9a825;
}

.nav .access:hover .bar {
	background: #f9a825;
}

.nav .access.checked span {
	color: #f9a825;
}

.nav .access.checked .bar {
	background: #f9a825;
}

.nav .inquiry {
	/*background-color: #0277bd;*/
}

.nav .inquiry span {
	/*	color: #0277bd;*/
}

.nav .inquiry:hover span {
	color: #00796b;
}

.nav .inquiry:hover .bar {
	background: #00796b;
}

.nav .inquiry.checked span {
	color: #00796b;
}

.nav .inquiry.checked .bar {
	background: #00796b;
}

.nav .inquiry .slideNav-sub {
	display: none;
	position: absolute;
	top: 90px;
	width: 200px;
	left: -50%;
	z-index: 1100;
}

.nav .inquiry .slideNav-sub li {
	display: inline;
	position: relative;
	width: 100%;
}

.nav .inquiry .slideNav-sub li a {
	display: block;
	color: #eeeeee;
	font-size: 16px;
	font-family: "anzu";
	padding: 10px 10px;
}

.nav .inquiry .slideNav-sub li a:hover {
	color: #004D40;
	font-weight: bold;
}

.nav .inquiry .slideNav-sub li.checked a {
	color: #004D40;
	font-weight: bold;
}

.nav .inquiry .slideNav-sub li:nth-of-type(2n-1) a {
	background-color: #00897B;
}

.nav .inquiry .slideNav-sub li:nth-of-type(2n) a {
	background-color: #26A69A;
}

.nav .inquiry:hover::after {
	position: absolute;
	content: '';
	border: 12px solid transparent;
	border-bottom-color: #00796B;
	width: 0;
	height: 1px;
	top: 70px;
	left: 40%;
}

/*---.breadcrumb---*/
.breadcrumb-outer {
	height: 40px;
	color: #fafafa;
	background: #42a5f5;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-bottom: 10px;
}

.breadcrumb-outer.compass {
	background: #ff7043;
}

.breadcrumb-outer.usage {
	background: #9ccc65;
}

.breadcrumb-outer.program {
	background: #ec407a;
}

.breadcrumb-outer.access {
	background: #fbc02d;
}

.breadcrumb-outer.inquiry {
	background: #26a69a;
}

.breadcrumb {
	width: 960px;
	margin: 0 auto;
}

.breadcrumb-inner {
	padding: 0 10px;
}

.breadcrumb span {
	line-height: 1.8;
	font-family: "anzu";
	white-space: nowrap;
	color: #fafafa;
}

.breadcrumb span::before {
	content: ">";
	padding: 0 10px;
	font-weight: bold;
}

.breadcrumb span.current {
	color: #212121;
	font-weight: bold;
}

.breadcrumb span.current::before {
	color: #fafafa;
}

.breadcrumb span:first-child::before {
	content: none;
}

/*---footer---*/
footer {
	color: #212121;
	margin-top: 10px;
}

footer .footover {
	background: #bbdefb;
	padding-top: 20px;
	padding-bottom: 20px;
	overflow: hidden;
}

footer .footover-inner {
	width: 960px;
	margin: 0 auto;
	overflow: hidden;
}

footer .footover .logo {
	width: 320px;
}

footer .footover .logo img:hover {
}

footer .footover .descriptions {
	width: 400px;
	padding: 10px;
}

footer .footover .title {
	margin-left: 20px;
	margin-top: 10px;
	font-weight: bold;
}

footer .footover .contents {
	margin-left: 40px;
}

footer .footover .detail .contact .contents .type {
	font-size: 16px;
	width: 42px;
}

footer .footover .detail .contact .contents .number {
	font-size: 24px;
}

footer .footover .detail .address .contents {
	font-size: 16px;
}

footer .footover .detail .openingtime .contents .date {
	font-size: 16px;
	width: 120px;
	position: relative;
}

footer .footover .detail .openingtime .contents span {
	vertical-align: top;
}

footer .footover .detail .openingtime .contents small {
	font-size: 14px;
	display: block;
}

footer .footover .map {
	width: 560px;
	height: 480px;
	padding: 10px;
}

footer .footover .map-inner {
	width: 100%;
	height: 100%;
	color: #212121;
}

footer .footunder {
	height: 32px;
	text-align: center;
	padding: 4px;
	background: #212121;
	color: #fafafa;
	font-family: "anzu";
}

/*---#index.main---*/
.main {
}

#index .main-inner {
	width: 960px;
	margin: 0 auto;
}

#index .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#index .picture {
	width: 480px;
	height: 480px;
	padding: 10px;
}

#index .picture-inner {
	width: 460px;
	height: 460px;
	border: 6px solid #fafafa;
	overflow: hidden;
}

#index .overview {
	height: 480px;
	width: 480px;
	padding: 10px;
}

#index .overview-inner {
	width: 100%;
	height: 23%;
	margin-bottom: 2.667%;
}

#index .overview-inner:last-child {
	margin-bottom: 0;
}

#index .overview-inner div {
	height: 100%;
	width: 100%;
	text-align: left;
}

#index .overview .compass {
	background: #ff7043;
	font-size: 0;
}

#index .overview .usage {
	background: #9ccc65;
}

#index .overview .program {
	background: #ec407a;
}

#index .overview .access {
	background: #ffee58;
}

#index .compass, #index .usage, #index .program, #index .access {
	display: table;
	table-layout: fixed;
}

#index .overview .icons {
	display: table-cell;
	width: 28%;
	text-align: center;
	vertical-align: middle;
}

#index .overview .icons .icon {
	font-size: 56px;
	display: block;
	vertical-align: middle;
}

#index .overview .icons .text {
	font-size: 21px;
	font-family: "anzu";
	display: block;
	vertical-align: middle;
}

#index .overview .descriptions {
	display: table-cell;
	width: 72%;
	vertical-align: middle;
	padding: 10px;
}

#index .overview .descriptions .description {
	display: block;
	vertical-align: middle;
	font-size: 21px;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
	line-height: 1.8;
	font-weight: 600;
}

#index .overview .descriptions .description.sm {
	line-height: 1.2;
}

#index .overview-inner .compass:hover {
	color: #fafafa;
	background: #d84315;
	font-weight: normal;
}

#index .overview-inner .usage:hover {
	color: #fafafa;
	background: #558b2f;
	font-weight: normal;
}

#index .overview-inner .program:hover {
	color: #fafafa;
	background: #ad1457;
	font-weight: normal;
}

#index .overview-inner .access:hover {
	color: #fafafa;
	background: #f9a825;
	font-weight: normal;
}

#index .main02-outer {
	background: #fafafa;
	overflow: hidden;
}

#index .information {
	width: 480px;
	padding: 10px;
	overflow: hidden;
}

#index .information a[href] {
	text-decoration: underline;
}

#index .information-inner {
	background: #90caf9;
}

#index .information .title {
	height: 50px;
	background: #1976d2;
}

#index .information .title h2 {
	color: #fafafa;
	text-align: center;
}

#index .information .contents {
	height: calc(384px + 10px);
	padding: 10px;
	overflow: hidden;
}

#index .information .contents .list {
	height: 100%;
	overflow: hidden;
}

#index .information .contents .list li {
	height: 54px;
	padding-top: 4px;
}

#index .information .contents .list li.two_lines {
	height: calc(54px * 1.5);
}
#index .information .contents .list li.three_lines {
	height: calc(54px * 2);
}

#index .information .contents .list .date {
	font-size: 14px;
	margin-left: 20px;
}

#index .information .contents .list .date span:before {
	margin-right: 5px;
}

#index .information .contents .list .detail {
	font-size: 14px;
	margin-left: 40px;
}

#index .information .extra {
	height: 60px;
	margin-top: 10px;
	text-align: center;
}

#index .information .extra .btnInfo {
	background: #01579b;
}

/*////////////////////*/
#index .event {
	width: 480px;
	padding: 10px;
	overflow: hidden;
}

#index .event a[href] {
	text-decoration: underline;
}

#index .event-inner {
	background: #f48fb1;
}

#index .event .title {
	height: 50px;
	background: #c2185b;
}

#index .event .title h2 {
	color: #fafafa;
	text-align: center;
}

#index .event .contents {
	height: 394px;
	padding: 10px;
	overflow: hidden;
}

#index .event .contents .list {
	overflow: hidden;
	height: 100%;
}

#index .event .contents .list li {
	height: 54px;
	padding-top: 4px;
}

#index .event .contents .list .date {
	font-size: 14px;
	margin-left: 20px;
}

#index .event .contents .list .date span:before {
	margin-right: 5px;
}

#index .event .contents .list .detail {
	font-size: 14px;
	margin-left: 40px;
}

#index .event .extra {
	height: 60px;
	margin-top: 10px;
	text-align: center;
}

#index .event .extra .btnEvent {
	background: #880e4f;
}

/*////////////////////////////////////////*/
#index .main03-outer {
	background: #fafafa;
}

#index .calendar {
	width: 960px;
	height: 720px;
	padding: 10px;
}

#index .calendar-inner {
	height: 100%;
	padding: 20px;
}

#index .calendar-inner a {
	position: relative;
}

#index .calendar-inner .link a {
	color: blue;
}

#index .calendar-inner .icon {
	position: absolute;
	bottom: 5px;
	right: 0;
	font-size: 20px;
	color: #fafafa;
	background: #7a7a7a;
	padding: 10px;
}

#index .calendar iframe {
	width: 100%;
	height: 100%;
}

/*---#compass.main---*/
#compass .main-inner {
	width: 960px;
	margin: 0 auto;
}

/*------*/
#compass .main01-outer {
	background: #fafafa;
}

#compass a {
	text-decoration: underline;
}

#compass .about-outer {
	padding: 10px;
}

#compass .about {
	background: #fbe9e7;
	overflow: hidden;
}

#compass .about .title {
	background: #ff8a65;
	height: 48px;
	font-size: 32px;
	font-weight: bold;
}

#compass .about .title h2 {
	margin-left: 40px;
	height: 48px;
}

#compass .about .contents {
}

#compass .about .contents .text {
	width: 70%;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
	font-weight: 600;
}

#compass .about .contents {
	padding: 30px 50px;
	overflow: hidden;
}

#compass .about .contents .text p {
	font-size: 20px;
	line-height: 1.5;
	padding-bottom: 20px;
}

#compass .about .contents .text span {
	vertical-align: middle;
}

#compass .about .contents .text .icons {
	width: 16%;
	font-size: 56px;
	color: rgba(251, 167, 38, 1);
	text-shadow: 1px 1px 0px #fafafa, -1px -1px 0px #fafafa;
	text-align: center;
}

#compass .about .contents .text .icons i:nth-child(2) {
	margin-left: -35px;
}

#compass .about .contents .text .icons i:nth-child(3) {
	margin-left: -35px;
}

#compass .about .contents .text .detail {
	width: 84%;
	padding-left: 12px;
}

#compass .about .contents .pics-outer {
	width: 30%;
	padding-top: 30%;
	overflow: hidden;
	position: relative;
	box-shadow: 2px 2px 1px 0 rgba(0, 0, 0, 0.5), 0px 0px 1px 0 rgba(0, 0, 0, 0.5);
	transform: translateY(30px);
	-ms-transform: translateY(30px);
}

#compass .about .contents .pics {
	position: absolute;
	top: 0;
	left: 0;

}

#compass .about .contents .pics img {
	border: 6px solid #fafafa;

}

/*------*/
#compass .main02-outer {
	background: #fafafa;
}

#compass .policy-outer {
	padding: 10px;
}

#compass .policy {
	background: #fbe9e7;
}

#compass .policy .title {
	background: #ff8a65;
	height: 48px;
	font-size: 32px;
	font-weight: bold;
}

#compass .policy .title h2 {
	margin-left: 40px;
	height: 48px;
}

#compass .policy .contents {
	padding: 30px 50px;
}

#compass .policy .contents p {
	text-indent: 20px;
	font-size: 18px;
}

/*------*/
#compass .main03-outer {
	background: #fafafa;
}

#compass .summary-outer {
	padding: 10px;
}

#compass .summary {
	background: #fbe9e7;
}

#compass .summary .title {
	background: #ff8a65;
	height: 48px;
	font-size: 32px;
	font-weight: bold;
}

#compass .summary .title h2 {
	margin-left: 40px;
	height: 48px;
}

#compass .summary .contents {
	padding: 30px 50px;
}

#compass .summary .contents table {
	background: #fff3e0;
	border-collapse: collapse;
}

#compass .summary .contents table th, #compass .summary .contents table td {
	vertical-align: top;
	padding: 5px 0;
}

#compass .summary .contents table tr:nth-child(2n-1) th, #compass .summary .contents table tr:nth-child(2n-1) td {
	background: #ffe0b2;
}

#compass .summary .contents table small {
	font-size: 14px;
	display: block;
}

#compass .summary .contents table th {
	width: 25%;
	text-align: right;
	padding-right: 15px;
	border-right: 2px solid #fbe9e7;
}

#compass .summary .contents table td {
	width: 75%;
	padding-left: 15px;
}

/*---#usage.main---*/

#usage .main-inner {
	width: 960px;
	margin: 0 auto;
}

#usage .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#usage .flow-outer {
	padding: 10px;
}

#usage .flow {
	background: #f1f8e9;
	overflow: hidden;
}

#usage .flow .title {
	background: #aed581;
}

#usage .flow .title h2 {
	margin-left: 40px;
	height: 48px;
}

#usage .flow .contents {
	padding: 30px 50px;
}

#usage .flow .diagram {
	width: 20%;
	padding-bottom: 80px;
	text-align: center;
}

#usage .flow .diagram .step1-outer, #usage .flow .diagram .step2-outer, #usage .flow .diagram .step3-outer {
	width: 140px;
	height: 160px;
}

#usage .flow .diagram .step1 {
	width: 100%;
	height: 100%;
	background: #a5d6a7;
	position: relative;
}

#usage .flow .diagram .step1::before {
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	border: 70px solid transparent;
	border-top: 50px solid #a5d6a7;
	top: 100%;
	left: 0;
	z-index: 1001;
}

#usage .flow .diagram .step2 {
	width: 100%;
	height: 100%;
	background: #66bb6a;
	position: relative;
}

#usage .flow .diagram .step2::before {
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	border: 70px solid transparent;
	border-top: 50px solid #66bb6a;
	top: 100%;
	left: 0;
	z-index: 1001;
}

#usage .flow .diagram .step3 {
	width: 100%;
	height: 100%;
	background: #388e3c;
	position: relative;
}

#usage .flow .diagram .step3::before {
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	border: 70px solid transparent;
	border-top: 50px solid #388e3c;
	top: 100%;
	left: 0;
	z-index: 1001;
}

#usage .flow .diagram span {
	font-size: 24px;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
	font-weight: 900;
}

#usage .flow .diagram .step1 span {
	padding-top: 80px;
}

#usage .flow .diagram .step2 span {
	padding-top: 80px;
}

#usage .flow .diagram .step3 span {
	padding-top: 90px;
}

#usage .flow .descriptions {
	padding: 10px;
	width: 80%;
}

#usage .flow .descriptions .step1-outer, #usage .flow .descriptions .step2-outer, #usage .flow .descriptions .step3-outer {
	height: 160px;
	position: relative;
}

#usage .flow .descriptions .logo {
	font-size: 32px;
	font-weight: 900;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
	color: #1b5e20;
	text-shadow: -1px -1px 0px #fafafa, 1px -1px 0px #fafafa, 1px 1px 0px #fafafa, -1px 1px 0px #fafafa;
	position: absolute;
	top: 10px;
	left: -60px;
	z-index: 1002;
}

#usage .flow .descriptions .details {
	padding-top: 20px;
	padding-left: 50px;
}

#usage .flow .descriptions .details .detailover {
	font-size: 21px;
	color: #1b5e20;
	font-weight: 900;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
}

#usage .flow .descriptions .details .detailunder p {
	display: inline-block;
}

#usage .flow .descriptions .details .detailunder p:nth-child(2) {
	margin-left: 15px;
}

#usage .flow .descriptions .details .type {
	font-size: 16px;
}

#usage .flow .descriptions .details .address {
	font-size: 21px;
	font-weight: bold;
}

#usage .flow .descriptions small {
	display: block;
	font-size: 16px;
	padding: 5px;
}

#usage .flow .descriptions a {
	text-decoration: underline;
}

#usage .main02-outer {
	background: #fafafa;
	overflow: hidden;
}

#usage .courtesy-outer {
	padding: 10px;
}

#usage .courtesy {
	background: #f1f8e9;
	overflow: hidden;
}

#usage .courtesy .title {
	background: #aed581;
}

#usage .courtesy .title h2 {
	margin-left: 40px;
	height: 48px;
}

#usage .courtesy .contents {
	padding: 30px 50px;
	overflow: hidden;
}

#usage .courtesy .contents .descriptions {
	width: 40%;
	padding-right: 20px;
}

#usage .courtesy .contents .descriptions small span {
	float: left;
	display: block;
}

#usage .courtesy .contents .descriptions small span:first-child {
	width: 8%;
}

#usage .courtesy .contents .descriptions small span:nth-child(2) {
	width: 92%;
}

#usage .courtesy .contents .pics-outer {
	width: 60%;
	padding-top: 45%;
	position: relative;
	overflow: hidden;
}

#usage .courtesy .contents .pics {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#usage .courtesy .contents img {
	width: 100%;
}

#usage .courtesy .contents p {
	font-size: 24px;
	padding-bottom: 10px;
}

/*---#program.main---*/
#program .main-inner {
	width: 960px;
	margin: 0 auto;
}

#program .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#program .mainprogram-outer {
	padding: 10px;
}

#program .mainprogram {
	background: #fce4ec;
	overflow: hidden;
}

#program .mainprogram .title {
	background: #f06292;
}

#program .mainprogram .title h2 {
	margin-left: 40px;
	height: 48px;
}

#program .mainprogram .contents {
	padding: 30px 40px;
}

#program .mainprogram table {
	border-collapse: collapse;
}

#program .mainprogram table caption {
	font-size: 24px;
	font-weight: bold;
	padding: 5px;
}

#program .mainprogram table small {
	font-size: 16px;
	font-weight: normal;
	display: block;
}

#program .mainprogram table small span:nth-of-type(1) {
	float: left;
	width: 16px;
}

#program .mainprogram table small span:nth-of-type(2) {
	float: left;
	width: 590px;
}

#program .mainprogram table tr.middle th,
#program .mainprogram table tr.middle td {
	vertical-align: middle;
	padding-top: 5px;
}

#program .mainprogram table th, #program .mainprogram table td {
	vertical-align: top;
	padding: 5px;
}

#program .mainprogram table th {
	width: 15%;
	text-align: left;
	padding-top: 10px;
	padding-left: 40px;
}

#program .mainprogram table td:nth-child(2) {
	width: 10%;
	text-align: center;
}

#program .mainprogram table td:nth-child(3) {
	width: 80%;
}

#program .mainprogram table td:nth-child(2) span {
	font-size: 40px;
}

#program .mainprogram table td:nth-child(3) dl dt {
	font-size: 21px;
	font-weight: bold;
}

#program .mainprogram table td:nth-child(3) dl dd {
	margin-left: 21px;
}

#program .mainprogram .contents .descriptions small {
	display: block;
}

#program .mainprogram .weekday {
	border: 6px solid #ef9a9a;
	border-top: none;
}

#program .mainprogram .weekday caption {
	background: #ef9a9a;
}

#program .mainprogram .weekday tr {
	background: #ffebee;
}

#program .mainprogram .weekday tr.overline {
	border-top: 6px solid #ef9a9a;
}

#program .mainprogram .vacation {
	margin-top: 20px;
	border: 6px solid #ffab91;
	border-top: none;
}

#program .mainprogram .vacation caption {
	background: #ffab91;
}

#program .mainprogram .vacation tr {
	background: #fbe9e7;
}

#program .mainprogram .vacation tr.overline {
	border-top: 6px solid #ffab91;
}

#program .mainprogram .descriptions small {
	margin-top: 10px;
	overflow: hidden;
}

#program .mainprogram .descriptions span {
	width: 8%;
	float: left;
	display: block;
	text-align: right;
	padding-right: 5px;
}

#program .mainprogram .descriptions p {
	width: 92%;
	float: left;
}

#program .main02-outer {
	background: #fafafa;
	overflow: hidden;
}

#program .calendar-outer {
	padding: 10px;
}

#program .calendar {
	background: #fce4ec;
	overflow: hidden;
}

#program .calendar .title {
	background: #f06292;
}

#program .calendar .title h2 {
	margin-left: 40px;
	height: 48px;
}

#program .calendar .contents {
	padding: 30px 50px;
}

#program .calendar .calendar-inner {
}

#program .calendar .calendar-inner .link a {
	color: blue;
}

#program .calendar .calendar-inner iframe {
	width: 100%;
}

#program .calendar-inner a {
	position: relative;
}

#program .calendar-inner .icon {
	position: absolute;
	bottom: 5px;
	right: 0;
	font-size: 20px;
	color: #fafafa;
	background: #7a7a7a;
	padding: 10px;
}

/*---#access.main---*/
#access .main-inner {
	width: 960px;
	margin: 0 auto;
}

#access .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#access .accessmap-outer {
	padding: 10px;
}

#access .accessmap {
	background: #fffde7;
	overflow: hidden;
}

#access .accessmap .title {
	background: #fff176;
}

#access .accessmap .title h2 {
	margin-left: 40px;
	height: 48px;
	font-weight: bold;
}

#access .accessmap .contents {
	padding: 30px 50px;
	overflow: hidden;
}

#access .accessmap .contents .map-outer {
	width: 60%;
}

#access .accessmap .contents .map {
	padding-top: 80%;
	position: relative;
}

#access .accessmap .contents .map > div {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#access .accessmap .contents .map-outer a {
	color: blue;
}

#access .accessmap .contents .descriptions {
	width: 40%;
	padding-left: 20px;
}

#access .accessmap .contents .descriptions dl dt {
	font-size: 24px;
}

#access .accessmap .contents .descriptions dl dd {
	padding-bottom: 10px;
}

#access .accessmap .contents .descriptions small {
	overflow: hidden;
	display: block;
}

#access .accessmap .contents .descriptions small span {
	float: left;
	display: block;
}

#access .accessmap .contents .descriptions small span:first-child {
	width: 8%;
}

#access .accessmap .contents .descriptions small span:nth-child(2) {
	width: 92%;
}

#access .main-inner {
	width: 960px;
	margin: 0 auto;
}

/*---#inquiry.main---*/
#inquiry .main-inner {
	width: 960px;
	margin: 0 auto;
}

#inquiry .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#inquiry .qanda-outer {
	padding: 10px;
}

#inquiry .qanda {
	background: #e0f2f1;
	overflow: hidden;
}

#inquiry .qanda .title {
	background: #4db6ac;
}

#inquiry .qanda .title h2 {
	margin-left: 40px;
	height: 48px;
}

#inquiry .qanda .contents {
	padding: 30px 50px;
	overflow: hidden;
}

#inquiry .qanda .contents .qa-outer {
	margin: 5px;
}

#inquiry .qanda .contents .qa-outer .question {
	background: #80deea;
	overflow: hidden;
}

#inquiry .qanda .contents .qa-outer .question span.detail {
	font-weight: bold;
}

#inquiry .qanda .contents .qa-outer .answer {
	background: #b2ebf2;
	overflow: hidden;
}

#inquiry .qanda .contents .qa-outer .logo {
	width: 10%;
	height: 40px;
	text-align: center;
	font-size: 24px;
	float: left;
}

#inquiry .qanda .contents .qa-outer .detail {
	width: 90%;
	padding: 5px;
	float: left;
}

#inquiry .main02-outer {
	background: #fafafa;
	overflow: hidden;
}

#inquiry .contact-outer {
	padding: 10px;
}

#inquiry .contact {
	background: #e0f2f1;
	overflow: hidden;
}

#inquiry .contact .title {
	background: #4db6ac;
}

#inquiry .contact .title h2 {
	margin-left: 40px;
	height: 48px;
}

#inquiry .contact .contents {
	padding: 30px 50px;
	overflow: hidden;
}

#inquiry .contact .contents p {
	font-size: 21px;
	line-height: 1.5;
}

#inquiry .contact .contents .mail {
	padding: 10px;
	text-align: center;
}

#inquiry .contact .contents .mail .type {
	font-size: 21px;
}

#inquiry .contact .contents .mail .address {
	font-size: 28px;
}

#inquiry .contact .contents small {
	display: block;
	font-size: 16px;
	line-height: 1.5;
	text-indent: 21px;
}

#inquiry .contact .button-outer {
	text-align: center;
	height: 40px;
	margin: 10px;
}

#inquiry .contact .btnContact {
	background: #03a9f4;
}

/*---#usage_certificate.main---*/
#usage_certificate .main-inner {
	width: 960px;
	margin: 0 auto;
}

#usage_certificate .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#usage_certificate .chart-outer {
	padding: 10px;
}

#usage_certificate .chart {
	background: #f1f8e9;
	overflow: hidden;
}

#usage_certificate .chart .title {
	background: #aed581;
}

#usage_certificate .chart .title h2 {
	margin-left: 40px;
	height: 48px;
}

#usage_certificate .chart .contents {
	padding: 30px 50px;
}

#usage_certificate .chart dl {
	margin-bottom: 10px;
}

#usage_certificate .chart dd {
	margin-left: 20px;
}

#usage_certificate .chart small {
	margin-left: 40px;
	margin-top: 3px;
}

#usage_certificate .chart dt {

}

#usage_certificate .chart dd {

}

#usage_certificate .chart small {
	display: block;
	font-size: 14px;
	line-height: 1.5;
}

/*---#usage_fee.main---*/
#usage_fee .main-inner {
	width: 960px;
	margin: 0 auto;
}

#usage_fee .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#usage_fee .about-outer {
	padding: 10px;
}

#usage_fee .about {
	background: #f1f8e9;
	overflow: hidden;
}

#usage_fee .about .title {
	background: #aed581;
}

#usage_fee .about .title h2 {
	margin-left: 40px;
	height: 48px;
}

#usage_fee .about .contents {
	padding: 30px 50px;
}

#usage_fee .about .contents .table {
	width: 100%;
	border-collapse: collapse;
}

#usage_fee .about .contents .table caption {
	padding-top: 12px;
}

#usage_fee .about .contents .table tr td:first-child {
	width: 80%;
}

#usage_fee .about .contents .table tr td:last-child {
	text-align: right;
}

#usage_fee .about .contents .table th,
#usage_fee .about .contents .table tr,
#usage_fee .about .contents .table td {
	border: solid 1px #212121;
	padding: 8px 16px;
}

#usage_fee .about .contents mark {
	background: linear-gradient(transparent 70%, rgba(255, 255, 0, 0.8) 70%);
}

/*---#program_calendar.main---*/
#program_calendar .main-inner {
	width: 960px;
	margin: 0 auto;
}

#program_calendar .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#program_calendar .pastcalendar-outer {
	padding: 10px;
}

#program_calendar .pastcalendar {
	background: #FCE4EC;
	overflow: hidden;
}

#program_calendar .pastcalendar .title {
	background: #f06292;
}

#program_calendar .pastcalendar .title h2 {
	margin-left: 40px;
	height: 48px;
}

#program_calendar .pastcalendar .contents {
	padding: 10px 10px;
}

#program_calendar .pastcalendar .contents > .title {
	margin-left: 10px;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
	font-weight: 600;
	background-color: inherit;
	font-size: 21px;
}

#program_calendar .pastcalendar .contents > .contents .calendar-inner {
	float: left;
	width: 400px;
	height: 318px;
	margin: 0 20px 20px;
}

#program_calendar .pastcalendar .contents > .contents .calendar-inner a {
	position: relative;
}

#program_calendar .pastcalendar .contents > .contents .calendar-inner a:hover {
	opacity: 0.8;
}

#program_calendar .pastcalendar .contents > .contents .calendar-inner a .icon {
	position: absolute;
	bottom: 10px;
	right: 0;
}

#program_calendar .pastcalendar .contents > .contents .calendar-inner .link {
	margin-left: 10px;
	color: blue;
}

/*---#program_event.main---*/
#program_event .main-inner {
	width: 960px;
	margin: 0 auto;
}

#program_event .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#program_event .eventgallery-outer {
	padding: 10px;
}

#program_event .eventgallery {
	background: #FCE4EC;
	overflow: hidden;
}

#program_event .eventgallery .title {
	background: #f06292;
}

#program_event .eventgallery .title h2 {
	margin-left: 40px;
	height: 48px;
}

#program_event .eventgallery .contents {
	padding: 10px 10px;
}

#program_event .eventgallery .contents > .title {
	margin-left: 10px;
	font-family: "M PLUS Rounded 1c", "Rounded Mplus 1c", "Mplus 1p", sans-serif;
	font-weight: 600;
	background-color: inherit;
	font-size: 21px;
}

#program_event .eventgallery .contents > .contents .eventgallery-inner {
	width: 100%;
	margin: 0 20px 20px;
}

#program_event .eventgallery .contents > .contents .eventgallery-inner a {
	position: relative;
}

#program_event .eventgallery .contents > .contents .eventgallery-inner a:hover {
	opacity: 0.8;
}

#program_event .eventgallery .contents > .contents .eventgallery-inner a .icon {
	position: absolute;
	font-size: 24px;
	bottom: 40px;
	right: 20px;
}

#program_event .eventgallery .contents > .contents .eventgallery-inner .link {
	margin-left: 10px;
	color: blue;
}

/*---#inquiry_questionnaire.main---*/
#inquiry_questionnaire .main-inner {
	width: 960px;
	margin: 0 auto;
}

#inquiry_questionnaire .main01-outer {
	background: #fafafa;
	overflow: hidden;
}

#inquiry_questionnaire .questionnaire-outer {
	padding: 10px;
}

#inquiry_questionnaire .questionnaire {
	background: #e0f2f1;
	overflow: hidden;
}

#inquiry_questionnaire .questionnaire .title {
	background: #4db6ac;
}

#inquiry_questionnaire .questionnaire .title h2 {
	margin-left: 40px;
	height: 48px;
}

#inquiry_questionnaire .questionnaire .contents {
	padding: 30px 50px;
	overflow: hidden;
}

#inquiry_questionnaire .questionnaire .contents .y_fiscal .title-outer {
	margin-bottom: 10px;
}

#inquiry_questionnaire .questionnaire .contents .y_fiscal .contents-outer ul {

}

#inquiry_questionnaire .questionnaire .contents .y_fiscal .contents-outer ul li {
	margin-left: calc(15px + 1em);
	margin-bottom: 10px;
}

#inquiry_questionnaire .questionnaire .contents .y_fiscal .contents-outer ul li a {
	color: #1a0dab;
}
#inquiry_questionnaire .questionnaire .contents .y_fiscal .contents-outer ul li a::before {
	content: '●';
	margin-right: 0.25em;
}
#inquiry_questionnaire .questionnaire .contents .y_fiscal .contents-outer ul li a:hover span {
	text-decoration: underline;
}
