@charset "utf-8";

html {
	overflow-y:scroll;
	scroll-behavior:smooth;
}

body {
	font-family:sans-serif;
	margin:0;
}

iframe {border:none;}

/* header */
.page_header {display:block;} /* flow-root */

.page_header::after { /* flow-root */
	clear:both;
	content:'';
	display:block;
}

.page_header {
	background:#fff;
	border-bottom:3px solid #194faa;
	box-sizing:border-box;
	display:flow-root;
	margin:0;
	padding:20px;
	position:relative;
	position:sticky;
	top:0;
	z-index:9999;
}

.h_line {
	color:inherit;
	font-size:20px;
	float:left;
	margin:0;
	padding:0;
	text-decoration:none;
}

[data-page-menu-show] {
	display:block;
	float:right;
	right:0;
	margin:0;
	padding:0;
}

[data-page-menu-show="false"] .page_nav_list {display:none;}

.page_nav_list {
	background:#eee;
	box-sizing:border-box;
	display:block;
	min-height:100%;
	margin:0;
	padding:80px 0 50px;
	position:fixed;
	top:0;
	right:0;
	width:80%;
	max-width:700px;
	z-index:0;
}

.page_nav_list > li {
	color:#333;
	min-height:40px;
	list-style:none;
	margin:0;
	padding:10px 0;
	width:100%;
}

.page_nav_list > li:nth-of-type(even) {background-color:rgba(255, 255, 255, 0.5);}

.page_nav_list > li > a {
	color:inherit;
	display:block;
	font-size:1rem;
	font-weight:bold;
	height:100%;
	line-height:2.5;
	text-align:left;
	text-indent:2em;
	text-decoration:none;
	width:100%;
}

/** header btn */
[data-menu-btn] {
	background-color:transparent;
	border:none;
	display:block;
	line-height:1;
	margin:0;
	padding:0;
	top:20px;
	width:50px;
}

[data-page-menu-show="true"] [data-menu-btn] {
	font-size:50px;
	line-height:1.2;
	position:relative;
	top:0;
	z-index:1;
}

[data-page-menu-show="true"] [data-menu-btn]::before {
	content:'×';
	display:block;
	font-size:50px;
}

.header_btn_img {
	vertical-align:bottom;
	max-width:100%;
}

[data-page-menu-show="true"] .header_btn_img {display:none;}

/**/
.page_footer {
	display:block;
	margin:0;
	padding:0 20px 20px;
}

.footer_nav {
	display:block;
	margin:auto;
	padding:0;
}

.footer_nav > li {
	display:inline-block;
	font-size:0.8rem;
	margin:0 5px 0 0;
	padding:0;
}

.footer_nav > li::before {
	content:'|';
	display:inline-block;
	margin:0 5px 0 0;
	padding:0;
}

.footer_nav > li:last-of-type::after {
	content:'|';
	display:inline-block;
	margin:0;
	padding:0;
}

.footer_nav > li > a {
	color:inherit;
	text-decoration:none;
}

.footer_copyright {
	font-size:0.63rem;
	margin:10px auto;
	text-align:center;
}

.footer_fb_link {
	display:block;
	position:-webkit-sticky;
	position:sticky;
	bottom:20px;
	left:20px;
	width:50px;
	width:fit-content;
}

.footer_fb_link img {vertical-align:bottom;}

/**/
.page_main {
	display:block;
	margin:20px;
	padding:0;
}

.sub_title {
	border-bottom:1px solid #000;
	font-size:1.1rem;
	font-weight:normal;
	text-indent:1em;
}

.child_title {
	border-left:3px solid #060;
	font-size:1rem;
	font-weight:normal;
	padding:0 0 0 5px;
}

/** top */
.nav_btn {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	margin:0 auto 20px;
	padding:0;
	width:320px;
	max-width:100%;
}

.nav_btn > li {
	display:block;
	margin:0 0 15px;;
	padding:0;
	width:-moz-fit-content;
	width:fit-content;
	max-width:calc((100% - 44px) / 3);
}

.nav_btn > li > a {
	display:block;
	margin:0;
	padding:0;
	width:-moz-fit-content;
	width:fit-content;
	max-width:100%;
}

.nav_btn > li img {
	vertical-align:bottom;
	max-width:100%;
}

[data-iframe-box] > * {
	display:block;
	margin:auto;
	text-indent:1em;
	max-width:calc(100% - 15px);
}

[data-iframe-box]::before {
	background-position:center bottom;
	background-repeat:no-repeat;
	content:'';
	display:block;
	margin:0;
	padding:0;
	width:100%;
}

[data-iframe-box] {
	background-position:center top;
	background-repeat:repeat-y;
	margin:0 auto 20px;
	padding:0;
	max-width:100%;
}

[data-iframe-box]::after {
	background-position:center top;
	background-repeat:no-repeat;
	content:'';
	display:block;
	padding:0;
	width:100%;
}

[data-iframe-box="topics"]::before {
	background-image:url("/imgs/01_index/t_top-topics_01.jpg");
	height:34px;
}

[data-iframe-box="topics"] {
	background-image:url("/imgs/01_index/t_top-topics_02.jpg");
	width:255px;
}

[data-iframe-box="topics"]::after {
	background-image:url("/imgs/01_index/t_top-topics_03.jpg");
	height:40px;
	margin:-36px 0 0;
}

[data-iframe-box="program"]::before {
	background-image:url("/imgs/01_index/t_top_program_01.jpg");
	height:34px;
}

[data-iframe-box="program"] {
	background-image:url("/imgs/01_index/t_top_program_02.jpg");
	width:265px;
}

[data-iframe-box="program"]::after {
	background-image:url("/imgs/01_index/t_top_program_03.jpg");
	height:40px;
	margin:-36px 0 0;
}

.top_bnr {
	display:block;
	margin:0 auto 20px;
	padding:0;
}

.top_bnr > li {
	display:block;
	margin:0 auto 20px;
	padding:0;
	text-align:center;
}

.top_bnr > li > a {
	display:inline-block;
	margin:auto;
	max-width:-moz-fit-content;
	max-width:fit-content:
}

.top_link {display:block;} /* flow-root */

.top_link::after { /* flow-root */
	clear:both;
	content:'';
	display:block;
}

.top_link {
	display:flow-root;
	margin:0 auto 20px;
	padding:0 10px;
}

.top_link > li {
	display:block;
	float:left;
	margin:0 auto 10px;
	padding:0;
	width:50%;
}

.top_link > li:nth-of-type(odd) {clear:left;}

.top_link > li > a {
	color:inherit;
	display:block;
	text-decoration:none;
}

.top_link img {
	vertical-align:bottom;
	max-width:100%;
}

.top_link2 {
	display:block;
	margin:0 auto 20px;
	padding:0 10px;
}

.top_link2 > li {
	display:block;
	margin:0 auto 10px;
	padding:0;
}

.top_link2 > li > a {
	color:inherit;
	text-decoration:none;
}

/**/
.pankuzu {
	display:block;
	margin:10px 20px;
	padding:0;
}

.pankuzu > li {
	display:inline-block;
	font-size:0.75rem;
	margin:0;
	padding:0;
}

.pankuzu > li + li::before {
	content:'＞';
	display:inline-block;
	margin:0 5px;
	padding:0;
}

.pankuzu > li > a {color:inherit;}

.sub_nav {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-around;
	margin:30px 15px;
	padding:0;
}

.sub_nav > li {
	display:block;
	margin:0 auto 10px;
	padding:0;
	text-align:center;
	width:calc(50% - 10px);
}

[data-sub-nav]::before {
	background:url("/imgs/00_ccs/c_t_head.jpg") center bottom/100% no-repeat;
	content:'';
	display:block;
	height:0;
	margin:0;
	padding:0;
	width:100%;
}

[data-sub-nav] {
	background:url("/imgs/00_ccs/c_t_body.jpg") center bottom/100% repeat-y;
	display:block;
	margin:auto;
	padding:0;
	text-align:center;
	width:100%;
	max-width:225px;
}

[data-sub-nav]::after {
	background:url("/imgs/00_ccs/c_t_foot.jpg") center top/100% no-repeat;
	content:'';
	display:block;
	height:0;
	margin:0;
	padding:0;
	width:100%;
}

/*@supports not (padding-top:min(10px, calc(100% * 10 / 225))) {*/

	@media (min-width: 500px) {

		[data-sub-nav]::before {padding-top:10px;}

		[data-sub-nav]::after {padding-bottom:10px;}

	}

	@media not all and (min-width: 500px) {

		[data-sub-nav]::before {padding-top:calc(100% * 10 / 225);}

		[data-sub-nav]::after {padding-bottom:calc(100% * 10 / 225);}

	}

/*}*/

@supports (padding-top:min(10px, calc(100% * 10 / 225))) {

	[data-sub-nav]::before {padding-top:min(10px, calc(100% * 10 / 225));}

	[data-sub-nav]::after {padding-bottom:min(10px, calc(100% * 10 / 225));}

}


[data-sub-nav] > img {
	vertical-align:bottom;
	max-width:calc(100% * 218 / 225);
}

.page_title {
	color:limegreen;
	font-size:1.5rem;
	font-weight:bold;
	margin:0 0 10px;
	padding:0;
}

.page_text {
	border:1px solid #ccc;
	margin:0 auto 30px;
	padding:10px;
	position:relative;
	z-index:0;
}

.page_text::before {
	background-clip:content-box;
	background-color:#eee;
	box-sizing:border-box;
	content:'';
	display:block;
	height:100%;
	left:0;
	margin:0;
	padding:5px;
	position:absolute;
	top:0;
	width:100%;
	z-index:-1;
}

.text_list > li {margin:0 0 5px;}

/**/
.facility_table {
	border:1px solid #ccc;
	border-collapse:collapse;
	box-sizing:border-box;
	display:block;
	margin:0 auto 20px;
	padding:0;
	width:100%;
}

.facility_table > caption {
	background-color:#eee;
	display:block;
	margin:5px;
	padding:5px;
	text-align:left;
}

.facility_table tr {
	display:block;
	margin:5px;
	padding:0;
}

.facility_table tr > th {
	background-color:#fdefae;
	display:block;
	font-weight:normal;
	margin:0 0 5px;
	padding:5px;
	text-align:left;
}

.facility_table tr > td {
	display:block;
	margin:0;
	padding:5px;
}

/**/
.timetable {border-collapse:collapse;}

.timetable th {
	background-color:#fdefae;
	border:1px solid #ccc;
	font-weight:normal;
	padding:5px;
	text-align:left;
}

.timetable td {
	border:1px solid #ccc;
	padding:5px;
}

.event_list {
	display:block;
	margin:20px auto;
	padding:0;
}

.event_list li {
	display:block;
	margin:0;
	padding:0 5px 0 10px;
	text-indent:-5px;
}

.event_list li + li {
	border-top:1px solid #ccc;
	margin-top:5px;
	padding-top:5px;
}

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

.form_box {
	display:block;
	border:1px solid #ccc;
	margin:0 auto 20px;
	padding:10px;
}

.form_box * {font:inherit;}

.form_box input {
	display:block;
	margin:auto;
}
