﻿/* ==========================================================================
   Public
============================================================================= */
@import url('../fontawesome-free-6.4.2/css/all.min.css');
@import url('https://fonts.googleapis.com/earlyaccess/notosanstc.css'); /* 思源黑體 */

/* body, html { width:100%; height:100%; } */

html { scroll-behavior:smooth; }

body { 
	font:1vw/1.6 Arial, Meiryo, "Meiryo UI", "Microsoft JhengHei UI", "Microsoft JhengHei", sans-serif;
	word-spacing:0.16em;
	color:#222;
	background-color:#eee;
	width:100%;
	word-wrap:break-word;
}
@media screen and (max-width:1000px) {
	body { font-size:1.125em; }
}

*[lang|=zh], *[lang|=zh] * { letter-spacing:0.14em; }
*[lang|=zh], *[lang]:not([lang|=zh]) { letter-spacing:0.12em; }


img {
	border:none;
	vertical-align:middle;
	
	width:100%;
	height:100%;
	object-fit:cover;
	
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;	/* Chrome 和 Safari */
    -moz-backface-visibility:hidden; 	/* Firefox */
    -ms-backface-visibility:hidden; 	/* Internet Explorer */	
	image-rendering:-moz-crisp-edges;          /* Firefox        */
    image-rendering:-o-crisp-edges;            /* Opera          */
    image-rendering:-webkit-optimize-contrast; /* Safari         */    
    -ms-interpolation-mode:nearest-neighbor;   /* IE8+           */
}


*, *:after, *:before {
  -webkit-box-sizing:border-box;
     -moz-box-sizing:border-box;
          box-sizing:border-box;
}


a {
	color:#a83997;
	/*
	text-decoration-style:dotted;
	text-decoration-color:#ac87b8;
	text-decoration-skip:ink;
	*/
	text-decoration:none;
	-webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
}
a:hover { color:#bb5201; }
a:focus {
	box-shadow:0 0 0 2px #c6494f;
    outline:2px solid #c6494f;
}
:focus:not(.focus-visible){ outline:none; } /* 瀏覽器初始focus樣式關閉 */



.clearfix {
    clear: both;
    display: table;
}


input, select, textarea {
	color:#222;
	border-radius:3px;
	background:#efefef;
	border:#949494 1px solid;
}

input:focus {
    border-color:dodgerBlue;
    box-shadow:0 0 8px 0 dodgerBlue;
	color:#FFF;
	background:#333;
}

select:focus {
    border-color:dodgerBlue;
    box-shadow:0 0 8px 0 dodgerBlue;
	color:#FFF;
	background:#333;
}


::-webkit-input-placeholder { color:#555; font-size:90%; }
:-moz-placeholder { color:#555; font-size:90%; }

:focus::-webkit-input-placeholder { color:#FFF; }
:focus:-moz-placeholder { color:#FFF; }​



input[type="checkbox"], input[type="radio"] { width:2vw; height:2vw; vertical-align:middle; margin-right:5px; }


.icon_guide {
	position:absolute;
	top:0; left:2px;
	font-size:0.75em!important;
	font-weight:normal!important;
	font-family:Arial!important;
}
.icon_guide a { color:#222!important; text-decoration:none; }

@media screen and (max-width:1000px) {
	input[type="checkbox"], input[type="radio"] { width:30px; height:30px; }
	.icon_guide { display:none; }
}

.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    border:0
}
.sr-only-focusable:active,.sr-only-focusable:focus{
    position:static;
    width:auto;
    height:auto;
    margin:0;
    overflow:visible;
    clip:auto
}


#gotop {
    display:none;
    position:fixed;
    right:10px;
    bottom:0;
    cursor:pointer;
	z-index:2;
}





/* mobile nav
-----------------------------------------------------------------------------*/
#mobile-nav input {
	width:100%;
	font-size:120%;
	/*padding:10px;*/
	border-radius:3px;
	margin-bottom:10px;
}
#mobile-nav input:focus {
    border-color:dodgerBlue;
    box-shadow:0 0 8px 0 dodgerBlue;
	color:#000;
	background:#93fff7;
}

.sp_logo { width:250px; position:fixed; left:1rem; top:10px; z-index:100; }
.sp_nav_btn { width:100%!important; text-align:center; font-size:120%!important; padding:10px 0!important; border:#999 1px solid; }




/* header
-----------------------------------------------------------------------------*/
header {
	position:relative;
	width:100%;
	height:9vw;
	background:#FFF url("../img/top-bg.jpg") center bottom no-repeat;
	background-size:cover;
	border-bottom:#cccccc 1px solid;
}

header h1 {
	position:absolute;
	top:2.7vw;
	left:6vw;
	width:25vw;
}


header .top_link {
	position:absolute;
	bottom:4vw;
	right:0;
	width:28.3%;
	font-size:70%;
	color:#999999;
	background:#6a4940;
	border-top-left-radius:0.5vw;
	padding:0.4vw 1.5vw;
}
header .top_link a { color:#FFF; }
header .top_link a:is(:hover, :focus) { color:#95eed8; }
header .top_link i { color:#ffbb00; padding-right:3px; }

header .top_link span { font-size:110%; padding-left:0.8vw; }
header .top_link span a { color:#FFF; font-weight:600; }
header .top_link span a:is(:hover, :focus) { color:#ffbb00; }


header #pc_menu {
	position:absolute;
	bottom:0;
	right:0;
	width:59%;
	display:grid;
	grid-template-columns:70% 30%;
	grid-template-rows:4vw;
}

header #pc_menu .pc_menu {
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	padding-top:1.2vw;
	padding-right:3vw;
	text-align:right;
}
header #pc_menu .pc_menu a {
	font-weight:600;
	color:#000;
	/*color:var(--blue);*/
	padding:0 0.8vw;
}
header #pc_menu .pc_menu a:is(:hover, :focus) { color:var(--red); }

header #pc_menu .search { padding-top:0.5vw; }
header #pc_menu .search input {
	border:#b3b3b3 1px solid;
	border-radius:0.2vw 0 0 0.2vw;
	background:#e4e4e4;
	border-right:none;
	padding:0.3vw 0.5vw;
	vertical-align:middle;
}
header #pc_menu .search input:focus { background:#333; color:#FFF; }

header #pc_menu .search button {
	line-height:1.8vw;
	border:none;
	border-radius:0 0.2vw 0.2vw 0;
	background:var(--brown);
	color:#FFF;
	padding:0 0.4vw;
	vertical-align:middle;
}
header #pc_menu .search button:is(:hover, :focus) { background:var(--red); }
header #pc_menu .search p { font-size:75%; padding-top:0.1vw; }
header #pc_menu .search p a { color:#523f36; text-decoration:underline; }
header #pc_menu .search p a:is(:hover, :focus) { color:var(--red); }


@media screen and (max-width:1000px) {
	header { display:none; }
}




/* content
------------------------------------------------------------------------------ */
main {
	position:relative;
	width:100%;
	background:#FFF url("../img/bg.jpg") center center no-repeat fixed;
	background-size:cover;
}

.subject_main {	padding-top:0; }


#content { position:relative; width:100%; min-height:60vh; padding:4vw 8vw; }

@media screen and (max-width:1000px) {
	main { margin:55px auto; }
	#content { padding:5% 8%; }
}


.breadcrumb {
	position:absolute;
	left:8vw;
	top:1.5vw;
	width:70%;
	font-size:0.75em;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	color:#a86216;
}
.breadcrumb i { color:#a86216; padding-right:5px;}
.breadcrumb a { color:#222; text-decoration:underline; }
.breadcrumb a:hover, .breadcrumb a:focus { color:#c25700; }

@media screen and (max-width:1000px) {
	.breadcrumb { display:none; }
}


.share_link {
	position:absolute;
	right:8vw;
	top:0.5vw;
}
.share_link li { display:inline-block; font-size:220%; }
.share_link li:nth-child(1) a { color:#3b5998; }
.share_link li:nth-child(2) a { color:#222; }
.share_link li:nth-child(3) a { position:relative; color:#40822a; font-size:90%; bottom:2px; }
.share_link li a:hover, .share_link li a:focus { color:#d02404; box-shadow:none; outline:none; }

@media screen and (max-width:1000px) {
	.share_link li { font-size:260%; }
	.share_link { position:static; width:100%; text-align:center; margin-top:-5vw; }
}


.subject { position:relative; width:100%; margin-bottom:1vw; }

.subject h2 {
	font-size:140%;
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-weight:600;
	color:#444;
}
.subject h2 span { color:#93d8e4; font-size:40%; padding-left:0.3vw; font-weight:normal; }

.subject .more {
	position:absolute;
	right:0;
	bottom:0;
	display:inline-block;
	color:#215c89;
	font-size:80%;
	background:var(--blue_bg);
	padding:0.2vw 0.5vw 0.2vw 0.8vw;
	border-radius:99rem;
}
.subject .more i { color:#ffc1c1; padding-left:3px; vertical-align:middle; }
.subject .more:is(:hover, :focus) { background:#215c89; color:#FFF; }

@media screen and (max-width:1000px) {
	.subject { margin-bottom:10px; }
	.subject h2 span { display:none; }
	.subject .more { bottom:6px; padding:5px 10px; }
}

#p_title {
	width:100%;
	text-align:center;
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-weight:600;
	color:#3d3a38;
	font-size:200%;
	border-bottom:#b4b4b4 1px solid;
	padding:1vw;
}
#p_title span { color:#a84900; }
#p_title .img {
	position:relative;
	top:-0.2vw;
	display:inline-block;
	height:2.2vw;
}

@media screen and (max-width:1000px) {
	#p_title .img { height:40px; top:-5px; }
	#p_title { font-size:150%; padding:20px 10px; }
}
@media screen and (max-width:680px) {
	#p_title .img { display:none; }
	#p_title span { display:block; }
	#p_title { font-size:150%; padding:15px 10px; }
}


#page_content {
	display:grid;
	grid-template-columns:1fr 3.5fr;
	grid-template-rows:auto;
	width:100%;
}

.pp_title {
	width:100%;
	color:#5a4c46;
	font-size:180%;
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-weight:600;
	border-bottom:#d0d0d0 1px dashed;
	padding-bottom:0.5vw;
	margin-bottom:2vw;
}


.pp_content h3 {
	font-size:110%;
	font-weight:600;
	color:var(--blue);
}

.pp_content p { padding-bottom:1.5vw; }

.pp_content a { color:var(--brown); }
.pp_content a:is(:hover, :focus) { text-decoration:underline; }

.pp_content table { width:100%; }
.pp_content th, .pp_content td { border:#f7f7f7 1px solid; padding:0.5vw; text-align:center; }
.pp_content th { color:#FFF; background:#0e6c93; }
.pp_content tr:nth-child(even) { background:#FFF; }
.pp_content tr:nth-child(odd) { background:#e0ebed; }

.pp_content2 { padding-top:2vw; }

.pp_content .photo { text-align:center; }
.pp_content .photo img { width:auto; max-width:100%; }

.pp_content label { display:block; }
.pp_content input, .pp_content select { width:100%; padding:10px; }
.pp_content textarea { width:100%; height:30vw; padding:10px; }
.pp_content .dele ul { margin-bottom:2vw; }
.pp_content .dele li { display:block; margin-bottom:10px; }
.pp_content .dele li a { padding:0.5vw; background:var(--blue); border-radius:3px; margin-right:3px; }
.pp_content .dele li a:is(:hover, :focus) { background:var(--brown); }



@media screen and (max-width:1000px) {
	.pp_title { font-size:150%; padding-bottom:10px; margin-bottom:25px; }
	.pp_content p { padding-bottom:25px; }
	.pp_content table { font-size:85%; }
	.pp_content th, .pp_content td { padding:8px 0; }
	.pp_content2 { padding-top:20px; }
	
	.pp_content textarea { height:50vh; }
	.pp_content .dele ul { margin-bottom:30px; }
	.pp_content .dele li a { padding:6px; }
}


aside { padding-right:25%; font-family:"Noto Sans TC", "Meiryo UI", sans-serif; }
aside select {
	width:100%;
	border:#ccc 1px solid;
	background:#f5d0d0;
	padding:0.8vw;
	color:#325f67;
	text-align:center;
	font-weight:600;
	margin-bottom:1vw;
}

aside .subject_menu { width:100%; }
aside .subject_menu ul { width:100%; }
aside .subject_menu li a {
	display:block;
	text-align:center;
	background:#FFF;
	color:#222;
	border-bottom:#ccc 1px solid;
	padding:0.8vw;
}
aside .subject_menu li a:is(:hover, :focus) { background:var(--blue); color:#FFF; }


@media screen and (max-width:1000px) {
	#page_content { display:block; }
	aside { display:none; }
}

aside h2 { width:100%; background:var(--brown); text-align:center; color:#FFF; font-weight:600; padding:0.8vw 0; border-radius:5px 5px 0 0; }
aside .menu_bottom { width:100%; height:3px; background:#aaa; }


#list_search { width:100%; margin-bottom:1vw; }
#list_search input, #list_search select {
	border:#ccc 1px solid;
	border-radius:3px;
	padding:0.5vw;
	margin-right:0.5vw;
	background:#FFF;
}
#list_search input:focus, #list_search select:focus { background:#333; }
#list_search input { width:9vw; }
#list_search .key { display:inline-block; }
#list_search .key a { color:#FFF; background:var(--blue); padding:0.5vw; border-radius:3px; }
#list_search .key a:is(:hover, :focus) { background:#333; }
#list_search .add { display:inline-block; margin-left:5px; }
#list_search .add a { color:#FFF; background:var(--brown); padding:0.5vw; border-radius:3px; }
#list_search .add a:is(:hover, :focus) { background:#333; }

@media screen and (max-width:1000px) {
	#list_search { margin-bottom:30px; }
	#list_search input, #list_search select { padding:15px; border-radius:0; margin-right:0; width:50%; }
	#list_search .key { width:100%; }
	#list_search .key input { width:calc(100% - 90px); }
	#list_search .key a { display:inline-block; width:90px; padding:12px 10px; border-radius:0; text-align:center; }
	#list_search .add { margin-left:0; width:100%; }
	#list_search .add a { display:block; border-radius:0; width:100%; padding:15px; text-align:center; font-weight:600; }
	#list_search .add a i { padding-right:3px; }
	#list_search .search_full { width:100%; }
}






/* home
------------------------------------------------------------------------------ */
#home_news {
	display:grid;
	grid-template-columns:65% 35%;
	grid-template-rows:auto;
}
.home_news {
	padding-right:7%;
}

.home_news ul { border-top:#d0d0d0 1px dashed; }
.home_news li a {
	display:block;
	color:#222;
	padding:0.6vw 0;
	border-bottom:#d0d0d0 1px dashed;
}
.home_news li br { display:none; }
.home_news li a .day { color:#34808d; font-size:100% }
.home_news li a .flag {
	display:inline-block;
	width:5vw;
	font-size:70%;
	background:#f5d0d0;
	color:#325f67;
	margin:0 0.6vw 0 0.5vw;
	padding:0.2vw 0;
	border-radius:3px;
	text-align:center;
}
.home_news li a .flag2 {
	display:inline-block;
	width:4vw;
	font-size:70%;
	background:#d5e7d5;
	color:#386037;
	margin:0 0.6vw 0 0;
	padding:0.2vw 0;
	border-radius:3px;
	text-align:center;
}

.home_news li a:is(:hover, :focus) { background:#6a4940; color:#FFF; padding:0.6vw; }
.home_news li a:is(:hover, :focus) .day { color:#FFF; }

.home_banner { width:100%; }
.home_banner a { display:block; }
.home_banner a:is(:hover, :focus) { opacity:0.7; }

@media screen and (max-width:1000px) {
	#home_news { grid-template-columns:100%; }
	.home_news { padding-right:0; }
	.home_news li br { display:block; }
	.home_news li a { padding:10px 0; }
	.home_news li a .flag, .home_news li a .flag2 { width:auto; padding:3px 8px; margin:0; margin-left:5px; }
	.home_banner { padding:30px 0;}
}

#home_subject { width:100%; padding:2.5vw 0; }
#home_subject li { display:inline-block; width:10%; padding:0.7%; }
#home_subject li a {
	display:block;
	font-size:113%;
	border-radius:0.5vw;
	aspect-ratio: 1 / 1;
	color:#FFF;
	text-align:center;
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-weight:600;
	overflow:hidden;
}

#home_subject li .bg1 { background-color:#c2e6ed; text-shadow:#0f6c7e 0.05em 0.1em 0.2em; }
#home_subject li .bg2 { background-color:#d0e1ce; text-shadow:#1e5f41 0.05em 0.1em 0.2em; }
#home_subject li .bg3 { background-color:#ece2c8; text-shadow:#7b6223 0.05em 0.1em 0.2em; }
#home_subject li .txt1 { padding-top:4vw; }
#home_subject li .txt2 { padding-top:3.5vw; letter-spacing:0; font-size:80%; }

#home_subject li a:is(:hover, :focus) { background-color:#ff8585; text-shadow:#b13737 0.1em 0.1em 0.2em; }

#home_subject .icon1 { background:url(../img/home-icon1.png) top left no-repeat; background-size:100%; }
#home_subject .icon2 { background:url(../img/home-icon2.png) top left no-repeat; background-size:100%; }
#home_subject .icon3 { background:url(../img/home-icon3.png) top left no-repeat; background-size:100%; }
#home_subject .icon4 { background:url(../img/home-icon4.png) top left no-repeat; background-size:100%; }
#home_subject .icon5 { background:url(../img/home-icon5.png) top left no-repeat; background-size:100%; }
#home_subject .icon6 { background:url(../img/home-icon6.png) top left no-repeat; background-size:100%; }
#home_subject .icon7 { background:url(../img/home-icon7.png) top left no-repeat; background-size:100%; }
#home_subject .icon8 { background:url(../img/home-icon8.png) top left no-repeat; background-size:100%; }
#home_subject .icon9 { background:url(../img/home-icon9.png) top left no-repeat; background-size:100%; }
#home_subject .icon10 { background:url(../img/home-icon10.png) top left no-repeat; background-size:100%; }
#home_subject .icon11 { background:url(../img/home-icon11.png) top left no-repeat; background-size:100%; }
#home_subject .icon12 { background:url(../img/home-icon12.png) top left no-repeat; background-size:100%; }
#home_subject .icon13 { background:url(../img/home-icon13.png) top left no-repeat; background-size:100%; }
#home_subject .icon14 { background:url(../img/home-icon14.png) top left no-repeat; background-size:100%; }
#home_subject .icon15 { background:url(../img/home-icon15.png) top left no-repeat; background-size:100%; }
#home_subject .icon16 { background:url(../img/home-icon16.png) top left no-repeat; background-size:100%; }
#home_subject .icon17 { background:url(../img/home-icon17.png) top left no-repeat; background-size:100%; }
#home_subject .icon18 { background:url(../img/home-icon18.png) top left no-repeat; background-size:100%; }
#home_subject .icon19 { background:url(../img/home-icon19.png) top left no-repeat; background-size:100%; }
#home_subject .icon20 { background:url(../img/home-icon20.png) top left no-repeat; background-size:100%; }
#home_subject .icon21 { background:url(../img/home-icon21.png) top left no-repeat; background-size:100%; }
#home_subject .icon22 { background:url(../img/home-icon22.png) top left no-repeat; background-size:100%; }



@media screen and (max-width:1000px) {
	#home_subject { padding:20px 0; }
	#home_subject li { width:20%; padding:1.5%; }
	#home_subject li a { font-size:2vw; border-radius:10px; }
	#home_subject li .txt1 { padding-top:8vw; }
	#home_subject li .txt2 { padding-top:8vw; font-size:2vw; }
}
@media screen and (max-width:680px) {
	#home_subject li { width:calc(100% / 3); padding:2%; }
	#home_subject li a { font-size:3.6vw; }
	#home_subject li .txt1 { padding-top:13.5vw; }
	#home_subject li .txt2 { padding-top:14vw; font-size:3.5vw; }
}
/*
@media screen and (max-width:540px) {
	#home_subject li { width:50%; padding:2.5%; }
	#home_subject li a { font-size:5.5vw; }
	#home_subject li .txt1 { padding-top:22vw; }
}
*/


#home_event {
	display:grid;
	grid-template-columns:30% 70%;
	grid-template-rows:auto;
}

#home_event .video { padding-right:15%; }

#home_event .photo ul { width:100%;}
#home_event .photo li {
	display:inline-block;
	width:20%;
	aspect-ratio: 4 / 3;
	padding:1%;
}

#home_event .photo li img { border:#FFF 1px solid; }
#home_event .photo h2 { padding-left:1%; }

@media screen and (max-width:1000px) {
	#home_event { display:block; width:100%; height:auto; }
	#home_event .video {
		display:grid;
		grid-template-columns:1fr 1fr;
		grid-template-rows:auto;
		padding-right:0%;
		margin-bottom:30px;
	}
	#home_event .photo li { width:25%; }
}
@media screen and (max-width:680px) {
	#home_event .video { grid-template-columns:100%;  }
	#home_event .photo li { width:calc(100% / 3); }
}


#home_event2 { width:100%; }

#home_event2 .photo ul { width:100%;}
#home_event2 .photo li {
	display:inline-block;
	width:calc(100% / 6);
	aspect-ratio: 4 / 3;
	padding:1%;
}

#home_event2 .photo li img { border:#FFF 1px solid; }
#home_event2 .photo h2 { padding-left:1%; }

@media screen and (max-width:1000px) {
	#home_event2 .photo li { width:25%; }
}
@media screen and (max-width:680px) {
	#home_event2 .photo li { width:calc(100% / 3); }
}



/* about
------------------------------------------------------------------------------ */
.about_subject { width:100%; padding:0 0; }
.about_subject li { display:inline-block; width:16.6%; padding:1%; }
.about_subject li a {
	display:block;
	font-size:140%;
	border-radius:0.5vw;
	aspect-ratio: 1 / 1;
	color:#FFF;
	text-align:center;
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-weight:600;
	overflow:hidden;
}

.about_subject li .bg1 { background-color:#c2e6ed; text-shadow:#0f6c7e 0.05em 0.1em 0.2em; }
.about_subject li .bg2 { background-color:#d0e1ce; text-shadow:#1e5f41 0.05em 0.1em 0.2em; }
.about_subject li .bg3 { background-color:#ece2c8; text-shadow:#7b6223 0.05em 0.1em 0.2em; }
.about_subject li .txt1 { padding-top:5.5vw; }

.about_subject li a:is(:hover, :focus) { background-color:#ff8585; text-shadow:#b13737 0.1em 0.1em 0.2em; }

.about_subject .icon1 { background:url(../img/home-icon1.png) top left no-repeat; background-size:100%; }
.about_subject .icon2 { background:url(../img/home-icon2.png) top left no-repeat; background-size:100%; }
.about_subject .icon3 { background:url(../img/home-icon3.png) top left no-repeat; background-size:100%; }
.about_subject .icon4 { background:url(../img/home-icon4.png) top left no-repeat; background-size:100%; }
.about_subject .icon5 { background:url(../img/home-icon5.png) top left no-repeat; background-size:100%; }
.about_subject .icon6 { background:url(../img/home-icon6.png) top left no-repeat; background-size:100%; }
.about_subject .icon7 { background:url(../img/home-icon7.png) top left no-repeat; background-size:100%; }
.about_subject .icon8 { background:url(../img/home-icon8.png) top left no-repeat; background-size:100%; }
.about_subject .icon9 { background:url(../img/home-icon9.png) top left no-repeat; background-size:100%; }
.about_subject .icon10 { background:url(../img/home-icon10.png) top left no-repeat; background-size:100%; }
.about_subject .icon11 { background:url(../img/home-icon11.png) top left no-repeat; background-size:100%; }
.about_subject .icon12 { background:url(../img/home-icon12.png) top left no-repeat; background-size:100%; }
.about_subject .icon13 { background:url(../img/home-icon13.png) top left no-repeat; background-size:100%; }
.about_subject .icon14 { background:url(../img/home-icon14.png) top left no-repeat; background-size:100%; }
.about_subject .icon15 { background:url(../img/home-icon15.png) top left no-repeat; background-size:100%; }
.about_subject .icon16 { background:url(../img/home-icon16.png) top left no-repeat; background-size:100%; }
.about_subject .icon17 { background:url(../img/home-icon17.png) top left no-repeat; background-size:100%; }
.about_subject .icon18 { background:url(../img/home-icon18.png) top left no-repeat; background-size:100%; }
.about_subject .icon19 { background:url(../img/home-icon19.png) top left no-repeat; background-size:100%; }
.about_subject .icon20 { background:url(../img/home-icon20.png) top left no-repeat; background-size:100%; }
.about_subject .icon21 { background:url(../img/home-icon21.png) top left no-repeat; background-size:100%; }
.about_subject .icon22 { background:url(../img/home-icon22.png) top left no-repeat; background-size:100%; }


@media screen and (max-width:1000px) {
	.about_subject { padding:20px 0; }
	.about_subject li { width:20%; padding:1.5%; }
	.about_subject li a { font-size:2vw; border-radius:10px; }
	.about_subject li .txt1 { padding-top:8vw; }
}
@media screen and (max-width:680px) {
	.about_subject li { width:calc(100% / 3); padding:2%; }
	.about_subject li a { font-size:3.6vw; }
	.about_subject li .txt1 { padding-top:13.5vw; }
}


@media screen and (max-width:1000px) {
	.about_table td { font-size:90%; }
	.about_table td:nth-child(2), .about_table td:nth-child(4) { min-width:80px; }
}



.about_subject2 { width:100%; padding:0 0; margin-bottom:1vw; }
.about_subject2 li { display:inline-block; width:9%; padding:0.3%; }
.about_subject2 li a {
	display:block;
	font-size:90%;
	border-radius:0.5vw;
	aspect-ratio: 1 / 1;
	color:#FFF;
	text-align:center;
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-weight:600;
	overflow:hidden;
}

.about_subject2 li .bg1 { background-color:#c2e6ed; text-shadow:#0f6c7e 0.05em 0.1em 0.2em; }
.about_subject2 li .bg2 { background-color:#d0e1ce; text-shadow:#1e5f41 0.05em 0.1em 0.2em; }
.about_subject2 li .bg3 { background-color:#ece2c8; text-shadow:#7b6223 0.05em 0.1em 0.2em; }
.about_subject2 li .txt1 { padding-top:3.2vw; }

.about_subject2 li a:is(:hover, :focus) { background-color:#ff8585; text-shadow:#b13737 0.1em 0.1em 0.2em; }

.about_subject2 .icon1 { background:url(../img/home-icon1.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon2 { background:url(../img/home-icon2.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon3 { background:url(../img/home-icon3.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon4 { background:url(../img/home-icon4.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon5 { background:url(../img/home-icon5.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon6 { background:url(../img/home-icon6.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon7 { background:url(../img/home-icon7.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon8 { background:url(../img/home-icon8.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon9 { background:url(../img/home-icon9.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon10 { background:url(../img/home-icon10.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon11 { background:url(../img/home-icon11.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon12 { background:url(../img/home-icon12.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon13 { background:url(../img/home-icon13.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon14 { background:url(../img/home-icon14.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon15 { background:url(../img/home-icon15.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon16 { background:url(../img/home-icon16.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon17 { background:url(../img/home-icon17.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon18 { background:url(../img/home-icon18.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon19 { background:url(../img/home-icon19.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon20 { background:url(../img/home-icon20.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon21 { background:url(../img/home-icon21.png) top left no-repeat; background-size:100%; }
.about_subject2 .icon22 { background:url(../img/home-icon22.png) top left no-repeat; background-size:100%; }


@media screen and (max-width:1000px) {
	.about_subject2 { padding:20px 0; }
	.about_subject2 li { width:20%; padding:1.5%; }
	.about_subject2 li a { font-size:2vw; border-radius:10px; }
	.about_subject2 li .txt1 { padding-top:8vw; }
}
@media screen and (max-width:680px) {
	.about_subject2 li { width:calc(100% / 3); padding:2%; }
	.about_subject2 li a { font-size:3.6vw; }
	.about_subject2 li .txt1 { padding-top:13.5vw; }
}


.about_member1 {
	display:table;
	width:100%;
}
.about_member1 .photo {
	display:table-cell;
	width:30%;
	vertical-align:top;
}
.about_member1 .info {
	display:table-cell;
	width:70%;
	padding-left:5%;
}

.about_member2 {
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	grid-template-rows:auto;
}
.about_member2 div { margin:0 3%; padding:0.3vw 0; background:#FFF; }
.about_member2 .photo {	aspect-ratio: 1 / 1.3; }
.about_member2 p { text-align:center; padding:1vw 0; }
.about_member2 span { font-size:120%; font-weight:600; }

.p_line {
	height:1px;
	border-bottom:#ccc 1px dashed;
	margin:3vw 0;
}

@media screen and (max-width:1000px) {
	.p_line { margin:40px 0; }
}

@media screen and (max-width:740px) {
	.about_member1, .about_member1 .photo, .about_member1 .info { display:block; width:100%; }
	.about_member1 .info { padding-left:0; padding-top:30px; }
	.about_member2 { display:block; }
	.about_member2 div { margin:3%; padding:0.3vw 0; background:#FFF; }
	.about_member2 p { padding:5px 0 20px; }
}






/* news list
------------------------------------------------------------------------------ */
.news_list {
	padding-right:7%;
}

.news_list ul { border-top:#d0d0d0 1px dashed; }
.news_list li {
	display:block;
	color:#222;
	padding:0.6vw 0;
	border-bottom:#d0d0d0 1px dashed;
}
.news_list li br { display:none; }
.news_list li .day { color:#34808d; font-size:100% }
.news_list li .flag {
	display:inline-block;
	width:5vw;
	font-size:70%;
	background:#f5d0d0;
	color:#325f67;
	margin:0 0.6vw 0 0.5vw;
	padding:0.2vw 0;
	border-radius:3px;
	text-align:center;
}
.news_list li .flag2 {
	display:inline-block;
	width:4vw;
	font-size:70%;
	background:#d5e7d5;
	color:#386037;
	margin:0 0.6vw 0 0;
	padding:0.2vw 0;
	border-radius:3px;
	text-align:center;
}


@media screen and (max-width:1000px) {
	.news_list { padding-right:0; }
	.news_list li br { display:block; }
	.news_list li { padding:10px 0; }
	.news_list li .flag, .news_list li .flag2 { width:auto; padding:3px 8px; margin:0; margin-left:5px; }
}






/* review
------------------------------------------------------------------------------ */
#review_subject { width:100%; padding:2.5vw 0; }
#review_subject li { display:inline-block; width:20%; padding:0.7%; }
#review_subject li a {
	display:block;
	border-radius:0.5vw;
	aspect-ratio: 1 / 1;
	color:#FFF;
	text-align:center;
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-weight:600;
	overflow:hidden;
}

#review_subject li .bg1 { background-color:#c2e6ed; text-shadow:#0f6c7e 0.05em 0.1em 0.2em; }
#review_subject li .bg2 { background-color:#d0e1ce; text-shadow:#1e5f41 0.05em 0.1em 0.2em; }
#review_subject li .bg3 { background-color:#ece2c8; text-shadow:#7b6223 0.05em 0.1em 0.2em; }
#review_subject li .txt1 { padding-top:4vw; }
#review_subject li .txt2 { padding-top:7vw; letter-spacing:0; font-size:1.7vw; }

#review_subject li a:is(:hover, :focus) { background-color:#ff8585; text-shadow:#b13737 0.1em 0.1em 0.2em; }

#review_subject .icon1 { background:url(../img/home-icon1.png) top left no-repeat; background-size:100%; }
#review_subject .icon2 { background:url(../img/home-icon2.png) top left no-repeat; background-size:100%; }
#review_subject .icon3 { background:url(../img/home-icon3.png) top left no-repeat; background-size:100%; }
#review_subject .icon4 { background:url(../img/home-icon4.png) top left no-repeat; background-size:100%; }
#review_subject .icon5 { background:url(../img/home-icon5.png) top left no-repeat; background-size:100%; }
#review_subject .icon6 { background:url(../img/home-icon6.png) top left no-repeat; background-size:100%; }
#review_subject .icon7 { background:url(../img/home-icon7.png) top left no-repeat; background-size:100%; }
#review_subject .icon8 { background:url(../img/home-icon8.png) top left no-repeat; background-size:100%; }
#review_subject .icon9 { background:url(../img/home-icon9.png) top left no-repeat; background-size:100%; }
#review_subject .icon10 { background:url(../img/home-icon10.png) top left no-repeat; background-size:100%; }
#review_subject .icon11 { background:url(../img/home-icon11.png) top left no-repeat; background-size:100%; }
#review_subject .icon12 { background:url(../img/home-icon12.png) top left no-repeat; background-size:100%; }
#review_subject .icon13 { background:url(../img/home-icon13.png) top left no-repeat; background-size:100%; }
#review_subject .icon14 { background:url(../img/home-icon14.png) top left no-repeat; background-size:100%; }
#review_subject .icon15 { background:url(../img/home-icon15.png) top left no-repeat; background-size:100%; }
#review_subject .icon16 { background:url(../img/home-icon16.png) top left no-repeat; background-size:100%; }
#review_subject .icon17 { background:url(../img/home-icon17.png) top left no-repeat; background-size:100%; }
#review_subject .icon18 { background:url(../img/home-icon18.png) top left no-repeat; background-size:100%; }
#review_subject .icon19 { background:url(../img/home-icon19.png) top left no-repeat; background-size:100%; }
#review_subject .icon20 { background:url(../img/home-icon20.png) top left no-repeat; background-size:100%; }
#review_subject .icon21 { background:url(../img/home-icon21.png) top left no-repeat; background-size:100%; }
#review_subject .icon22 { background:url(../img/home-icon22.png) top left no-repeat; background-size:100%; }



@media screen and (max-width:1000px) {
	#review_subject { padding:20px 0; }
	#review_subject li { width:20%; padding:1.5%; }
	#review_subject li a { font-size:2vw; border-radius:10px; }
	#review_subject li .txt1 { padding-top:8vw; }
	#review_subject li .txt2 { padding-top:8vw; font-size:2vw; }
}
@media screen and (max-width:680px) {
	#review_subject li { width:calc(100% / 3); padding:2%; }
	#review_subject li a { font-size:3.6vw; }
	#review_subject li .txt1 { padding-top:13.5vw; }
	#review_subject li .txt2 { padding-top:14vw; font-size:3.5vw; }
}










/* link
------------------------------------------------------------------------------ */
#link h3 { font-size:120%; font-weight:600; color:var(--blue); margin-bottom:0.5vw; }
#link li { display:inline-block; margin:0.3vw 0.2vw; }
#link li a {
	display:inline-block;
	border-radius:99em;
	padding:0.5vw 1vw;
	background:var(--green);
	color:#FFF;
}
#link li a i { opacity:0.7; padding-right:3px; }
#link li a:is(:hover, :focus) { background:var(--red); }

@media screen and (max-width:1000px) {
	#link li a { padding:10px 15px; margin:5px 0; }
}





/* subject
------------------------------------------------------------------------------ */
#subject_home_teach { width:100%; margin:4vw 0 2vw; }

.subject_home_teach {
	display:inline-flex;
	flex-wrap:wrap;
	width:100%;
}

.subject_home_teach a {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:32%;
	border:#a7a7a7 1px solid;
	border-radius:5px;
	padding:0.5vw;
	background:#FFF;
	margin:0 2% 2% 0;
	color:#222;
}
.subject_home_teach a:nth-child(3n) { margin-right:0; }

.subject_home_teach a:is(:hover, :focus) {
	background:var(--blue);
	color:#FFF;
}
.subject_home_teach .photo { float:left; width:35%; aspect-ratio: 4 / 3; }
.subject_home_teach .txt {
	float:left;
	width:65%;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:4;
	overflow:hidden;
	font-size:85%;
	padding-left:4%;
}
.subject_home_teach .txt p { font-size:85%; color:var(--blue); }
.subject_home_teach a:is(:hover, :focus) .txt p { color:#fffa7e; }


@media screen and (max-width:1000px) {
	#subject_home_teach { margin:50px 0 20px; }
	.subject_home_teach a { width:100%; margin:0 0 20px 0; padding:10px; }
	.subject_home_teach .txt { font-size:100%; }
}

@media screen and (max-width:640px) {
	.subject_home_teach .txt { font-size:80%; -webkit-line-clamp:3; }
}


@media screen and (max-width:680px) {
	.subject_team th:nth-child(1), .subject_team td:nth-child(1),
	.subject_team th:nth-child(2), .subject_team td:nth-child(2) { display:none; }
}


.subject_link {
	display:inline-flex;
	flex-wrap:wrap;
	width:100%;
}

.subject_link a {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:23%;
	margin:0 2.5% 2.5% 0;
	color:#222;
	padding:0.8vw;
	border-radius:8px;
	background:#FFF;
	-webkit-box-shadow: 1px 1px 5px 2px rgba(0,0,0,0.2);
	-moz-box-shadow: 1px 1px 5px 2px rgba(0,0,0,0.2);
	box-shadow: 1px 1px 5px 2px rgba(0,0,0,0.2);
}
.subject_link a:nth-child(4n) { margin-right:0; }

.subject_link a .photo {
	aspect-ratio: 4 / 3;
	border:#ccc 1px solid;
}
.subject_link a p { text-align:center; padding-top:0.8vw; }

.subject_link a:is(:hover, :focus) {
	color:#FFF;
	background:var(--blue);
}

@media screen and (max-width:1000px) {
	.subject_link a { width:30%; margin:0 5% 5% 0; padding:10px; }
	.subject_link a p { padding-top:10px; }
	.subject_link a:nth-child(4n) { margin-right:5%; }
	.subject_link a:nth-child(3n) { margin-right:0; }
}
@media screen and (max-width:680px) {
	.subject_link a { width:46%; margin:0 8% 8% 0; }
	.subject_link a p { font-size:80%; }
	.subject_link a:nth-child(4n) { margin-right:8%; }
	.subject_link a:nth-child(3n) { margin-right:8%; }
	.subject_link a:nth-child(2n) { margin-right:0; }
}


.subject_talent td:nth-child(5) { text-align:left; }
.subject_talent td a { color:#a86216; }
.subject_talent td a:is(:hover, :focus) { color:var(--red); }
.subject_talent td i { font-size:150%; }

@media screen and (min-width:1001px) {
	.subject_talent table { font-size:90%; }
	.subject_talent td:nth-child(1) { width:4vw; }
	.subject_talent td:nth-child(2) { width:8vw; }
	.subject_talent td:nth-child(3) { width:8vw; }
	.subject_talent td:nth-child(4) { width:8vw; }
	.subject_talent td:nth-last-child(1) { width:6vw; }
}
@media screen and (max-width:1000px) {
	.subject_talent td:nth-child(1), .subject_talent td:nth-child(2) { display:none; }
}





/* news
------------------------------------------------------------------------------ */
.news h3 { margin-bottom:2vw; }

.news h3 .b {
	display:block;
	color:#FFF;
	font-weight:600;
	padding:0.8vw;
	text-align:center;
	background:var(--blue);
}
.news h3 .s {
	display:block;
	font-size:100%;
	color:#FFF;
	text-align:center;
	background:var(--brown);
	padding:0.3vw;
}

.news h4 {
	border-top:#ccc 1px dashed;
	color:var(--brown);
	font-weight:600;
	padding:0.6vw 0;
	font-size:120%;
}
.news h4 a {
	display:inline-block;
	font-size:80%;
	color:#FFF;
	background:var(--blue);
	vertical-align:middle;
	padding:0.2vw 0.8vw;
	border-radius:5px;
}
.news h4 a:is(:hover, :focus) { background:var(--red); }
.news h4 a i { opacity:0.7; }

.news .download { padding-bottom:0.5vw; }
.news .download li a {
	display:block;
	padding-bottom:0.6vw;
	color:#222;
	text-decoration:underline; 
}
.news .download li a i { color:var(--blue); padding-right:3px; font-size:120%; }
.news .download li a:is(:hover, :focus) { color:var(--red); }

.news .news_info li {
	padding:0.6vw 0;
	border-top:#ccc 1px dashed;
}
.news .news_info li a { color:#222; }
.news .news_info li a:is(:hover, :focus) { color:var(--red); }
.news .news_info li span { color:var(--blue); }

@media screen and (max-width:1000px) {
	.news h3 { margin-bottom:30px; }
	.news h3 .b { padding:15px; }
	.news h3 .s { padding:6px; }
	.news h4 { padding:15px 0; }
	.news h4 a { font-size:70%; padding:3px 10px; }
	.news .download { padding-bottom:15px; }
	.news .download li a { margin-bottom:15px; }
	.news .news_info li { padding:12px 0; }
}



/* maintain
------------------------------------------------------------------------------ */
.maintain { position:absolute; right:8vw; top:5vw; }
.maintain a { padding:0.5vw 1vw; color:#FFF; background:var(--blue); border-radius:3px; }
.maintain a:is(:hover, :focus) { background:var(--brown); }
.maintain a i { padding-right:3px; }

@media screen and (max-width:1000px) {
	.maintain { top:2%; }
	.maintain a { padding:10px; }
	.maintain a i { padding-right:0; }
	.maintain span { display:none; }
}








/* photo gallery
------------------------------------------------------------------------------ */
.photo_gallery {
	display:inline-flex;
	flex-wrap:wrap;
	width:100%;
}

.photo_gallery a {
	position:relative;
	align-items:stretch;
	align-content:stretch;
	width:25%;
	padding:0.5vw;
	aspect-ratio: 4 / 3;
}

.photo_gallery a img { border:#ccc 1px solid; }

@media screen and (max-width:1000px) {
	.photo_gallery a { width:calc(100% / 3); padding:8px; }
}
@media screen and (max-width:680px) {
	.photo_gallery a { width:50%; padding:8px; }
}



/* form
------------------------------------------------------------------------------ */
fieldset { border:none; padding:0; margin:0; }
fieldset i { color:#BB5100; padding-left:5px; }

legend {
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-size:120%;
	margin-bottom:0.5vw;
}
legend span { font-size:80%; color:#BB5100; }

.q_list ul { width:100%; }
.q_list li {
	width:100%;
	padding:10px;
	border-bottom:#FFF 1px dashed;
	background:#ccc;
}

.q_list2 ul { width:100%; margin-bottom:1vw; }
.q_list2 li { display:inline-block; }
.q_list2 li input[type="checkbox"], .q_list2 li input[type="radio"]  { width:1vw; height:1vw; vertical-align:middle; margin-right:3px; }

@media screen and (max-width:1000px) {
	.q_list2 ul { margin-bottom:20px; }
	.q_list2 li { padding:5px 10px 5px 0; }
	.q_list2 li input[type="checkbox"], .q_list2 li input[type="radio"] { width:25px; height:25px; }
}



.login {
	margin:0 auto;
	width:100%;
	max-width:600px;
}

.login legend { font-size:100%; text-align:center; }
.login label { display:block; }
.login input { width:100%; padding:1vw; margin-bottom:1vw; }
.login img { width:10vw; margin-left:0.5vw; }
.login a { display:inline-block; font-size:80%; background:var(--brown); color:#FFF; padding:0.8vw; margin-left:0.5vw; border-radius:5px; }
.login a:is(:hover, :focus) { background:#333; }


.file_upload { background:var(--green); color:#FFF; padding:0.5vw 1vw; border-radius:5px; border:none; }
.file_upload:is(:hover, :focus) { background:var(--brown); }
.file_upload i { color:#FFF; opacity:0.6; padding-right:3px; }

.file_line { border-bottom:#ccc 1px dashed; padding:0.5vw 0; }

@media screen and (max-width:1000px) {
	.login legend { padding-bottom:20px; }
	.login input { padding:15px; margin-bottom:15px; }
	.login img { width:150px; margin-left:5px; }
	.login a { padding:10px; font-size:90%; margin-left:5px; }
	.file_upload { padding:10px; }
}

.w4 { display:inline-block; width:25%; padding-right:2%; }
.w2 { display:inline-block; width:50%; padding-right:2%; }

.upload_table select { width:auto; }
.upload_table br { display:none; }
.upload_table input { margin:5px 0 10px;}
.upload_table img { width:100%; max-width:10vw; }
.upload_table i { font-size:120%; }
.upload_table td:nth-child(4) { text-align:left; max-width:30vw; }


@media screen and (max-width:1000px) {
	.w4, .w2 { display:block; width:100%; padding-right:0; padding-bottom:25px;  }
	.upload_table br { display:block; }	
	.upload_table td:nth-child(4) { max-width:none; }
	.upload_table img { max-width:30vw; }
}
@media screen and (max-width:640px) {
	.upload_table img { max-width:none; }
}



/* topic
------------------------------------------------------------------------------ */
.topic {
	width:100%;
	display:grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows:auto;
}
.topic div:nth-child(1) { padding-right:5%; }
.topic div:nth-child(2) { padding-left:5%; }
.topic table { width:100%; }
.topic caption { background:#333; color:#FFF; text-align:center; padding:0.5vw 0; }
.topic td, .topic th { padding:0.4vw 0; border:#ccc 1px solid; text-align:center; }
.topic th { background:#0e6c93; color:#FFF; }

.topic .tc1 { background:#e2efd9; }
.topic .tc2 { background:#d9e2f3; }
.topic .tc3 { background:#fef2cb; }
.topic .tc4 { background:#deeaf6; }
.topic .tc5 { background:#fbe4d5; }

.show_1000 { display:none; }

.topic_list { margin-top:2vw; }
.topic_list h3 { width:100%; font-size:120%; font-weight:600; padding:1vw 0 0.5vw; border-top:#ccc 1px dashed; }
.topic_list h3 i { color:var(--brown); padding-right:3px; }

.topic_list ul { width:100%; }
.topic_list li { display:inline-block; }
.topic_list li a {
	display:block;
	padding:0.5vw 1vw;
	background:var(--green);
	color:#FFF;
	margin-right:0.5vw;
	margin-bottom:1vw;
	border-radius:3px;
}
.topic_list li a:is(:hover, :focus) { background:var(--red); }
.topic_list li a i { padding-right:3px; opacity:0.6; }


@media screen and (max-width:1000px) {
	.topic { display:block; }
	.topic div:nth-child(1), .topic div:nth-child(2) { padding:0; }
	.topic table { font-size:80%; }
	.topic caption { padding:10px; }
	.topic th span { display:none; }
	.topic td:nth-child(1) { letter-spacing:0; }
	
	.topic_list { margin-top:20px; }
	.topic_list h3 { padding:20px 0 5px; }
	.topic_list li a { padding:6px 10px; margin-right:5px; margin-bottom:10px; }
	
	.no_1000 { display:none; }
	.show_1000 { display:table-row; }
}


/* calendar
--------------------------------------------------------------------------------------------------------------------------------*/
.calendar_m {
	position:relative;
	font-weight:600;
	font-size:200%;
	text-align:center;
	padding:1vw;
}
.calendar_m a { color:var(--green); }
.calendar_m a:hover { color:var(--red); }
.calendar_m .select {
	position:absolute;
	bottom:1.3vw;
	right:0;
	font-size:50%;
	color:#ccc;
}
.calendar_m .select i { color:var(--brown); }
.calendar_m .select a:is(:hover, :focus) { text-decoration:underline; }


.calendar {
	display:grid;
    grid-template-columns: 9.2vw 9.2vw 9.2vw 9.2vw 9.2vw 9.2vw 9.2vw;
    grid-template-rows:auto;
	margin-bottom:3vw;
}

.calendar div { border:#bbb 1px solid; border-right:none; border-top:none; }
.calendar div:nth-child(7n) { border-right:#bbb 1px solid; }
.cc_title { background:var(--blue); color:#FFF; text-align:center; padding:0.5vw; }
.cc_info { background:#FFF; padding:0.3vw 1vw; height:9vw; }
.cc_none { background:#e9f7ff; }

.calendar ul { width:100%; }
.calendar li {
	width:100%;
	font-size:90%;
	white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
	padding:0.5vw 0;
	border-bottom:#ccc 1px dotted;
}
.calendar li:nth-child(1) { text-align:right; color:var(--blue); font-weight:600; font-family:"Arial"; font-size:140%; border:none; padding:0; }
.calendar li:nth-last-child(1) { border:none; }
.calendar li a:hover { text-decoration:underline; color:#333; }

.cc1 { color:var(--green); }
.cc2 { color:var(--red); }

.calendar_sp { display:none; }
.calendar_sp table { font-size:90%; }


@media screen and (max-width:1000px) {
	.calendar { display:none; }
	.calendar_m { font-size:150%; }
	.calendar_m .select { display:none; }

	.calendar_sp { display:block;; }
	.calendar_sp table { width:100%; font-size:90%; word-break: break-all; font-size:80%; }
	.calendar_sp th, .calendar_sp td { border:#bbb 1px solid; padding:3px 5px; text-align:center; }
	.calendar_sp th { background:var(--blue); color:#FFF; vertical-align:middle; }
	.calendar_sp td { background:#FFF; }
	.calendar_sp td li { padding:5px 0; border-bottom:#ccc 1px dotted;}
	.calendar_sp td li:nth-last-child(1) { border:none; }
	.calendar_sp td:nth-child(2) { width:45px; background:#e1f1f0; color:var(--blue); }
	.calendar_sp td:nth-child(1) { width:45px; }
	.calendar_sp td:nth-child(3) { width:calc(100% - 90px); text-align:left; }
}


/* footer
------------------------------------------------------------------------------ */
footer {
	position:relative;
	display:grid;
	grid-template-columns:3fr 1fr 1fr;
	grid-template-rows:auto;
	background:url("../img/footer-bg.jpg") top left no-repeat;
	background-size:cover;
	padding:3% 8%;
	font-size:90%;
}

footer .addr li { display:inline-block; }

footer .link { color:#999; }
footer .link a { color:#0e6c93; }
footer .link a:is(:hover, :focus) { color:var(--red); }

footer p { width:12vw; max-width:258px; }
footer span { font-size:80%; }

@media screen and (max-width:1000px) {
	footer { grid-template-columns:100%; text-align:center; font-size:80%; padding:6% 8%;}
	footer .link { padding:20px 0 30px; }
	footer .link li { display:inline-block; }
	footer p { margin:0 auto; width:258px; }
}
@media screen and (max-width:680px) {
	footer { padding:12% 8%;}
	footer .link li { display:block; }
}






/* btn
------------------------------------------------------------------------------ */
.btn {
	width:100%;
	border-top:#ccc 1px solid;
	margin-top:2vw;
	padding-top:2vw;
	text-align:center;
}
.btn a {
	display:inline-block;
	border-radius:99rem;
	padding:0.8vw 1.5vw;
	color:#FFF;
	font-family:"Noto Sans TC", "Meiryo UI", sans-serif;
	font-weight:600;
	font-size:120%;
}
.btn a i { padding-right:3px; opacity:0.6; }
.btn a:is(:hover, :focus) { background:#333; text-decoration:none; }


.btn_br { background:var(--brown); }
.btn_b { background:var(--blue); }

.btn_1 a { width:25%; }
.btn_2 a { width:25%; margin:0 1%; }



@media screen and (max-width:1000px) {
	.btn { margin-top:30px; padding-top:30px; }
	.btn a { padding:15px; }
	.btn_1 a { width:50%; }
	.btn_2 a { width:45%; margin:0 1%; }
}
@media screen and (max-width:680px) {
	.btn_1 a { width:100%; }
	.btn_2 a { width:46%; font-size:105%; }
}






/* color
------------------------------------------------------------------------------ */
:root {
	--blue:#2d707a;
	--blue_bg:#c2e6ed;
	--red:#ae3900;
	--green:#246548;
	--brown:#a86216;
}



/* youtube 比例自動縮放
-------------------------------------------------------------------------- */
.iframe-16x9 {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 35px;
    height: 0;
    overflow: hidden;
	margin:0.8vw 0; 
}
.iframe-16x9 iframe {
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 展開
------------------------------------------------------------------------------ */
.accordion-content { padding:1.5vw; }
.accordion-content p { padding:0!important; margin:0!important; }
.accordion-content table { width:100%; }
.accordion-content td, .accordion-content th { border:#ccc 1px solid; padding:0.5vw; }
.accordion-content ol li { border:none!important; }
.accordion-content ol { list-style:decimal!important; padding-left:2em; }
.accordion-content ol li ol { list-style:disc!important; padding-left:2em; }