@charset "utf-8";

@import url('reset.css');
@import url('layout.css');

@media (min-width: 1024px) {
}

@media (max-width: 1023px) and (min-width: 768px) {
}

@media (min-width: 768px) {
	#gnb > li > a{height: 90px;}
	#gnb .sub_depth{display:none;position: absolute;background-color: #fff;z-index: 10;top:100%;left:50%;transform: translateX(-50%);border: 1px solid #eee;border-top: 1px solid #D9D9D9;border-bottom-left-radius: 8px;border-bottom-right-radius: 8px;box-shadow: 0px 1px 3px 0 rgba(0, 0, 0, .1);}
	#gnb .sub_depth ul{padding-top: 10px;padding-bottom: 10px}
	#gnb .sub_depth a{padding: 5px 24px;text-align: center;white-space: nowrap;}
	#gnb .sub_depth a:hover{color: #3E3E45;font-weight: 500}
	#gnb > li:hover .sub_depth{display: block}

	.program_swiper{height: 484px;}
	.program_swiper .swiper-slide{width: calc((100% - 16px) / 2); height: calc((100% - 16px) / 2);}
	.program_swiper .thumb{height: 196px;}
}

@media (max-width: 1200px) {
	.program_list{flex-wrap: wrap;}
	.program_list > .item{flex: 0 1 calc(50% - 1rem);}
}

@media (max-width: 1023px) {
	.main_basic{display: block}
	.main_basic > .col{width: 100%;margin-bottom: 4.5rem}
	.main_basic > .col:last-child{margin-bottom: 0}
	
	.goal_tbl{flex-direction:column;border-radius: 2rem}
	.goal_tbl .title_grid{width: 100%}
	.goal_tbl .card_grid .item{flex: 1 1 50%;border-bottom: 1px solid #D5D5D5}
	.goal_tbl .card_grid .item:nth-child(even){border-right: 0}
	.goal_tbl .card_grid .tit{border-bottom-style: dashed}
	.goal_tbl .title_grid .cont{height: 42px}
	.goal_tbl .card_grid .item:nth-child(3),
	.goal_tbl .card_grid .item:nth-child(4){border-bottom: 0}
	
	.history_area .item .col.right{padding-top: 10px;padding-bottom: 10px;padding-left: 80px}
	.history_area .item .col.right:before{left:42px}
	.history_area .month .dot{left: -48px;}
	
	.facility_item{width: calc((100% - 4rem) / 3);flex: none;}
	
	.space_area{column-gap: 1rem;row-gap: 2rem;}
	.space_area .card{width:calc(50% - 1rem);}
	
	 .gallery_list01 > li{width: calc((100% - 3rem) / 2);}
}

@media (max-width: 767px) {
	.pc,
	.pc.inline{display: none !important;}
	.mo{display: block !important;}
	.mo.inline{display: inline !important;}
	.mo.iblock{display: inline-block !important;}
	.mo.iflex{display: inline-flex !important;}
	
	colgroup.pc,
	col.pc,
	th.pc,
	td.pc{display: none !important;}
	
	colgroup.mo{display: table-column-group !important;}
	
	:root {
	  --headH: 62px;
	  --leftRightMargin: 2.6rem;
	}
	
	#wrap{font-size: 1.8rem}
	
	#header .util_bar{display: none}	
	.hamburger{display: block}
	#header .head{display:flex;align-items: center;justify-content: space-between;height: 70px;}
	/* #lnb{display: none} */
	
	.total_nav{visibility:hidden;position: fixed;width: 100%;height: 100%;top:0;left:0;transform: translateX(100%);background-color: #fff;z-index: 1000;margin-left: 0;}
	.total_nav.open{visibility:visible;transform: translateX(0);transition: 0.5s cubic-bezier(0.77, 0, 0.175, 1);}
	.total_nav .total_inner{padding: 100px 40px 20px;width: 100%;min-height: 100%;display: flex;flex-direction: column;overflow-y: auto}
	#header .total_nav .util_bar{background-color: #fff;margin-bottom: 4rem;padding-bottom: 1.5rem;border-bottom: 1px solid #eee;}
	#header .util_bar a{font-size: 1.7rem;color: #3E3E45;}
	#header .util_bar a.point{font-weight: 600;color: var(--primaryColor)}
	#header .util_bar .bar{margin: 0 1.2rem;}
	.hamburger.show {z-index: 1001;}
	#gnb{display: block}
	#gnb > li{margin-bottom: 2.8rem;opacity: 0;transform: translateX(30px);transition: 0.5s;}
	.total_nav.open #gnb > li{opacity: 1;transform: translateX(0);}
	#gnb > li > a{font-size: 2.8rem;font-weight: 700;color: #222;}
	#gnb li:nth-child(1) { transition-delay: 0.2s; }
    #gnb li:nth-child(2) { transition-delay: 0.3s; }
    #gnb li:nth-child(3) { transition-delay: 0.4s; }
    #gnb li:nth-child(4) { transition-delay: 0.5s; }
    #gnb li:nth-child(5) { transition-delay: 0.6s; }
     #gnb .sub_depth ul{padding-top: 10px;}
    #gnb .sub_depth li{margin-bottom: 4px;}
    #gnb .sub_depth li:last-child{margin-bottom: 0;}
    #gnb .sub_depth a{padding: 6px 0;padding-left: 15px;font-size: 1.9rem;}
	
	#footer{padding-top: 5.2rem;padding-bottom: 6rem;font-size: 1.8rem;}
	#footer .resp_inner{display: block;text-align: center}
	#footer .logo{margin-bottom: 3.6rem;}
	#footer .logo img{margin: 0 auto}
	#footer address{margin-bottom: 2.3rem;top: auto;line-height: 1.5}
	#footer .copy {font-size: 1.6rem;line-height: 1.65;}
	.btn_top{position: relative;top: auto;right:auto;margin-top: 4.5rem;}
	
	.scpd01{padding-top: 4.1rem;padding-bottom: 0;}	
	.scpd02 {padding-top: 4.2rem;padding-bottom: 3.1rem;}
	
	.title_wrap01.mb01{margin-bottom: 2.2rem;}
	.title_wrap02{margin-bottom:3rem}
	
	.program_swiper{overflow: visible;}
	.program_swiper .title{font-size: 2rem}
	
	.main_basic > .col.left{margin-bottom: 4rem}
	.main_basic > .col.right{width: auto;margin: 0 calc(var(--leftRightMargin) * -1);padding: 4rem var(--leftRightMargin) 4.6rem;background-color: #F5F5F5}
	
	.notice_list{border-top:0;}
	.notice_list > li{height: 9.4rem;border-bottom:0;margin-bottom: 1.3rem;border-radius: 1.2rem;display:flex;align-items: center;padding: 0 2.2rem;padding-top: 1px;}
	.notice_list > li > a{height: auto;display: block;width: 100%;padding-left:2.7rem;background: url(../images/icon_caution.svg) no-repeat 0 4px;}
	.notice_list .title{display:block;max-width:100%;font-weight: 600;font-size: 1.85rem;}
	.notice_list .date{display: block;margin-top: 0.4rem;}
	
	.btn_quick{gap: 2.3rem;margin-top: 1.3rem;font-size: 1.6rem;height: 9.5rem;border-radius: 1.2rem;border: 0;padding: 0 2.5rem 0 3rem;}
	.btn_quick .title01{font-size: 2.1rem;}
	.btn_quick .icon{width: 41px;}
	.btn_quick.no1 .icon img{max-width: 34px}
	.btn_quick.no2 .icon img{max-width: 41px}
	.btn_quick .arrow{right:2.4rem}
	
	.program_guide{background-color: #fff;}
	.program_guide .title01.a_center{text-align:left !important}
	.program_list{display: block;margin-top: 2.2rem;}
	.program_list > .item{margin-bottom: 1.3rem;height: 22rem;padding: 2.6rem 2.6rem 2.7rem;width: 100%;font-size: 1.7rem;}
	.program_list .title{font-size: 2.2rem;margin-bottom: 1rem;}
	
	.btns.t1{min-width: 12.3rem;height: 4rem;font-size: 1.8rem;}
	
	#sub_container{padding-top: 0}
	.sub_visual{height: 155px}
	.sub_visual .subtitle{font-size: 2.9rem;}
	
	.snb_area{display: none}
	
	.breadcrumb .resp_inner{padding: 0;height: 52px}
	.breadcrumb .home,
	.breadcrumb .item:not(.current){display: none}
	.breadcrumb .item{flex: 1;}
	.breadcrumb .label{width: 100%;border-right: 0;padding: 0 var(--leftRightMargin);font-size: 1.8rem;}
	.breadcrumb .label span{background-size: 9px auto}
	
	.int, 
	.sel, 
	.file_box .file_name,
	.file_box .btn_file{height: 5rem;font-size: 1.9rem;}
	.textarea{height: 214px;}
	.file_box .btn_file{width: 110px;}
	
	.check label{font-size: 1.8rem}
	
	.title01.mb01{margin-bottom: 2rem;}
	
	.explain_box{display: block}
	.explain_box .col{margin-bottom: 22px;display: block}
	.explain_box .col:last-child{margin-bottom: 0}
	.explain_box .box{min-height: 90px;padding: 2rem;}
	
	.greeting_area{display: block}
	.greeting_area .img{margin: 0 auto}
	.greeting_area .cont{padding-top: 3.5rem}
	.greeting_area .title02{font-size: 2.6rem;padding: 0 3.4rem;margin-bottom: 2rem}
	.greeting_area .title02 .quote.right{position:absolute;right: 0;top:0;margin-left: 0}
	.greeting_area .cont p {margin-bottom: 2rem;line-height: 1.5;}
	.greeting_area .sign {margin-top: 3rem;padding-top: 3rem;}
	
	.goal_area{margin-top: 6.5rem;padding-top: 4.1rem;padding-bottom: 5rem;}
	
	.goal_tbl{border-radius: 0}
	.goal_tbl,
	.goal_tbl .card_grid{display: block}
	.goal_tbl .title_grid,
	.goal_tbl .card_grid .item{display: table;table-layout: fixed;width: 100%;padding: 0}
	.goal_tbl .title_grid .tit,
	.goal_tbl .card_grid .item .tit,
	.goal_tbl .title_grid .cont,
	.goal_tbl .card_grid .item .cont{display: table-cell;vertical-align: middle;height: 42px;line-height: 1.25}
	.goal_tbl .title_grid .tit,
	.goal_tbl .card_grid .item .tit{width: 120px;border-bottom: 0;position: relative}
	.goal_tbl .title_grid .tit:after,
	.goal_tbl .card_grid .item .tit:after{display: block;content: '';width: 1px;height: 80%;background-color: #D9D9D9;position: absolute;right:0;top:50%;transform: translateY(-50%);}
	.goal_tbl .title_grid .tit:after{background-color: #fff}
	.goal_tbl .card_grid .item{border-right: 0}
	.goal_tbl .card_grid .item:nth-child(3), 
	.goal_tbl .card_grid .item:nth-child(4){border-bottom: 1px solid #D5D5D5}
	.goal_tbl .title_grid .cont,
	.goal_tbl .card_grid .item .cont{padding: 5px 8px;letter-spacing: -0.05em}
	
	.org_chart{margin-top: 0}
    .leader_group::after, 
    .middle_group::before, 
    .bottom_group::before,
    .team_node::before {display: none;}
    .bottom_group,
    .middle_group{flex-direction:column;margin-bottom:30px;gap:10px}
	.committee_box{flex-direction:column;gap:10px;align-items:center}
	.committee_node,
	.node_head,
	.node_sub,
	.team_node{width:100%!important;max-width:100%!important}
	.leader_group .node_head{margin-bottom: 10px}
	.team_content {padding: 15px 20px;}
	.team_content li{padding-left: 15px}
	.org_chart .leader_group,
	.org_chart .middle_group{margin-bottom: 25px}
	
	.history_area .image_box{max-width: 400px;margin-left: auto;margin-right: auto;border: 1px solid rgba(0, 0, 0, 0.1);}
	.history_area .item{display: block;padding-top: 0}
	.history_area .item .col.left{width: 100%;margin-bottom: 75px}
	.history_area .item .col.right:before{left:15px}
	.history_area .item .col.right{padding-top: 0;padding-bottom: 0;padding-left: 40px;display: block}
	.history_area .year{font-size: 34px;margin-bottom: 2px;top: -54px;left: 12px;text-shadow: 2px 3px #ee}
	.history_area .month{font-size: 28px;}
	.history_area .month span{font-size: 16px}
	.history_area .month .dot{width:10px;height:10px;border-width: 3px;left: -32px;}
	.history_area li{font-size: 18px;margin-bottom: 30px}
	.org_chart .bottom_group{gap: 25px;margin-bottom: 10px;}
	
	.history_area .txt{font-size: 1.6rem;line-height: 1.4;display: block;margin-top: 4px}
	
	.facilities_info{margin-bottom:5rem;flex-wrap:wrap;display: grid;grid-template-columns: 1fr;grid-auto-rows: 1fr;}
	.facilities_info .info_card{padding: 2.8rem 3rem}
	.facility_grid{row-gap: 2rem;}
	.facility_item{width: calc((100% - 2rem) / 2);flex: none;border: 1px solid #e0e0e0;border-radius: 1rem;}
	.facility_item .thumb{aspect-ratio: 3 / 2;}
	.facility_info{padding:1.6rem;}
	
	.tbl_info,
	.tbl_info tbody,
	.tbl_info tr,
	.tbl_info th,
	.tbl_info td{display: block}
	.tbl_info th,
	.tbl_info td{padding: 20px var(--leftRightMargin);}
	.tbl_info th{width:110px;font-size: 1.8rem;border-bottom: 0;padding-bottom: 11px}
	.tbl_info td{font-size: 1.7rem;line-height: 1.65;color: #475569;padding-top: 0}
	.tbl_info .zip{display:block;}
	.tbl_info th .icn{gap: 0.8rem;}
	.tbl_info th .icn img{width: 18px}
	.tbl_info .badge{border-radius:4px;font-size:1.5rem;margin-right:6px}
	.tbl_info .warning_text{margin-top: 0.4rem;gap:0.5rem;font-size: 1.5rem;line-height: 1.5}
	.tbl_info .warning_text img{top:2px}
	
	.map_area{margin: 0 calc(var(--leftRightMargin) * -1);}
	.map_area .map_box{width: 100%;height: 280px;border-radius: 0;border-left: 0;border-right: 0}
	
	.program_area{padding-top: 0;margin: 0 calc(var(--leftRightMargin) * -1);}
	.program_area .item {padding: 0 var(--leftRightMargin) 4rem;margin-bottom: 5.4rem;}
	.program_area .program_info{display: block}
	.program_area .image_box{border-radius: 1.4rem;}
	.program_area .program_info .img{width: 100%}
	.program_area .program_info .cont{padding: 3rem 0 0}
	.program_area .title02 {margin-bottom: 1.4rem;font-size: 2.6rem}
	.program_area .program_info .cont p{line-height: 1.45;margin-bottom: 2.4rem;}
	.program_area .program_info .info{padding-top: 2.5rem;}
	.program_area .info th, 
	.program_area .info td{padding: 4px 0}
	.program_area .info td{padding-left: 1.6rem;padding-top: 6px;line-height: 1.5}
	
	.list01 > li::before{top: -1px}
	
	.gallery_list01 .tit{font-size: 2rem}
	.gallery_list01 .date{font-size: 1.6rem}
	.viewType1 .top .line .box{display: block;padding-left: 10px;padding-right: 10px}
	.viewType1 .top .line .box .tit{text-align: left;font-size: 15px;min-width: 100%;padding-bottom: 8px;}
	.file-grid-item .file-meta{font-size: 13px}
	.viewType1 .top .line.double{display: block}
	.viewType1 .top .line.double .box{width: 100%;display: flex}
	.viewType1 .top .line.double .box + .box{margin-top: 10px}
	.viewType1 .top .line.double .box .tit{min-width: 90px;padding-bottom: 0;}
	.viewType1 .bottomText{padding: 15px 10px}
	
	.board_view01 .top_row .info{font-size: 1.6rem;gap: 1rem}
	.board_view01 .top_row .info span{padding-right: 1.2rem;}
	.board_view01 .top_row .info span:before{height: 1.4rem;margin-top: -0.6rem;}
	.board_view01 .tbl_summary th{width: 9.4rem;}
	.board_view01 .cont_row{min-height: 20rem;}
	
	.btn_center{margin-top: 5rem;}
	
	.space_area .card{width:100%;}
	.space_area .info_row{padding: 14px 20px 12px;}
	.space_area .img_box{height: 240px;}
	.space_area .title{font-size: 1.9rem}
	
	.table_container th, 
	.table_container td{padding: 1.5rem 2rem;}
	
	.text_notice,
	.text_warning.fs01{font-size:1.5rem;}
	.text_notice.mt01,
	.text_warning.mt01{margin-top: 0.1rem}
	
	.card_box .tit{width: 100%;margin-right: 0}
	
	.status_area{padding-top: 0;}
	
	.tbl_type01,
	.tbl_type01 tbody,
	.tbl_type01 tr,
	.tbl_type01 th,
	.tbl_type01 td{display: block;padding-left: 0;padding-right: 0}
	.tbl_type01 th{background-color: #fff;border-bottom: 0;padding-bottom: 0;width: 100%;}
	.tbl_type01 .unit_text{font-size: 1.6rem}
	
	.search_zone,
	.search_zone .flex_wrap{flex-wrap: wrap;}
	.search_zone .pos_right{flex-grow: 1;}
	.search_zone .search_box{width: 100%;}
	.search_zone .has_btn{width: 100%}
	.search_zone .btn_search{flex-grow: 1;}
	
	.board_list01 > table .pc,
	.board_list01.chg > table colgroup,
	.board_list01.chg > table thead{display: none !important}
	.board_list01 > table th, 
	.board_list01 > table td{padding:0.5rem;font-size: 1.8rem;height: 46px}
	.board_list01.chg > table th, 
	.board_list01.chg > table td{height: auto;font-size: 1.6rem;}
    .board_list01.chg > table tr{display:block;padding:12px 0 15px;width:100%;border-bottom:1px solid #dfdfdf;}
    .board_list01.chg > table td{display:block;border:none;text-align:left;}
    .board_list01.chg > table td.number:before{content:attr(data-name)'.';display:inline-block;vertical-align:top;}
    .board_list01.chg > table td a:hover{text-decoration:none;}
    .board_list01.chg > table td.title{font-size:2rem;}
    .board_list01 > table td .ellipsis{max-width: 80%}
    .board_list01 > table td .icn_new{top: 0}
    .board_list01 .bar{display: inline-block;height: 1.4rem;background-color: #ccc;margin: 0 1rem}
}

@media (max-width: 500px) {
	.facility_item{width: 100%;}
	.facility_info h4{font-size:1.8rem;}
	
	.gallery_list01 > li{width: 100%;}
	
	.search_zone .search_box{flex-wrap: wrap;}
	.search_zone .sel{width: 100%;margin-bottom: 10px;}
	.search_zone .search_box > * + *{margin-left: 0}
}