@media all and (max-width:1400px){
	
	.container {max-width:inherit; width:100%; padding:70px 10px 0 10px}

	nav.sub_menu ul li a {font-size:18px; transition:all 0.3s; position:relative; display:flex; align-items:center; justify-content:center; line-height:1.5; width:100%; height:100%}
	nav.sub_menu ul li a:after {content:''; display:inline-block; width:0; height:50%; vertical-align:middle}
	
	.sub_visual {margin-top:169px}
	.sub_visual > div h2 {padding-left:50px}
	
}

@media all and (max-width:1300px){

	.about .organization::after {left:62.5%; width:25%}
	.about .organization .o2 {right:10%}
	.about .organization .o4::before {width:43.5%}
	.about .organization .o4 > div {width:30%}
	
	.about .affiliated .box .mv3 ul {flex-wrap:wrap}
	.about .affiliated .box .mv3 ul li {width:calc(33.333% - 20px); text-align:center}
	.about .affiliated .box .mv3 ul li:nth-child(n+4) {margin-top:10px}
	
	.zelkova .organization .o4::before {width:65%}
	
	.divide .title {padding:0 40px 0 40px}
	
	.divide .how > li .txt {padding-left:20px; box-sizing:border-box}

}

@media all and (max-width:1200px){
	
	.sub_visual {margin-top:80px}
	
	.nav_tab1 {margin-bottom:40px; flex-wrap:wrap}
	.nav_tab1 a {font-size:17px; height:60px; flex-basis:unset; width:calc(33.333% - 1px); box-sizing:border-box}
	.nav_tab1 a:nth-child(n+4) {margin-top:1px}
	.nav_tab1 a.active:before {display:none}
	
	.nav_tab2 {margin-bottom:40px; flex-wrap:wrap}
	.nav_tab2 a {font-size:17px; height:60px; flex-basis:unset; width:calc(50% - 1px); box-sizing:border-box}
	.nav_tab2 a:nth-child(n+3) {margin-top:1px}
	.nav_tab2 a.active:before {display:none}
	
	.about .affiliated {grid-template-columns:1fr}
	.about .affiliated .box .bottom .img {width:20%; text-align:center; padding:15px}
	.about .affiliated .box .bottom .txt {width:80%; border-left:none; padding:20px 20px 20px 10px}
	.about .affiliated .box .bottom.b2 .img {border-right:none}
	
	.zelkova .sv .value {grid-template-columns:1fr 1fr 1fr}
	
}

@media all and (max-width:1024px){
		
	.sub_visual {margin-bottom:0}
		
	nav.sub_menu {height:50px; margin-top:0}
	nav.sub_menu a.m1 {display:block; height:50px; line-height:50px; border:none}
	nav.sub_menu ul {position:relative; z-index:999; display:none; width:100%; margin-left:0; border-radius:0; box-shadow:none}
	nav.sub_menu ul li {display:block !important; width:100% !important; background-color:#f3f1ed; line-height:50px; text-align:left; padding:0; padding-left:20px; height:50px; border:none; border-bottom:1px solid #e0dfdb; margin-left:0; box-sizing:border-box}
	nav.sub_menu ul > li+li:before {display:none}
	nav.sub_menu ul li a {font-size:16px; transition:none; position:relative; display:table; width:100%; height:100%; color:#888; background:none; border:none; padding:0}
	nav.sub_menu ul li a:after {height:100%}
	nav.sub_menu ul li a > span {height:50px}
	nav.sub_menu ul li:hover {background:#69b2e7}
	nav.sub_menu ul li a:hover:before {display:none}
	nav.sub_menu ul li:hover a {color:#fff}
	nav.sub_menu ul li.active {background:#4496d1; border-bottom:none}
	nav.sub_menu ul li.active a {background:none; border:none; color:#fff; border-radius:0}
	nav.sub_menu ul li.active a:before {display:none}
	nav.sub_menu ul li a span br {display:none}	
	
	.about .organization .o4::before {width:47%}
	.about .organization .o4 > div {width:40%}
	
	.about5 .mv {flex-wrap:wrap}
	.about5 .mv .left {height:150px; margin:0 auto 60px}
	.about5 .mv .right {width:100%; margin-left:0}
	.about5 .mv .right::before {width:30px; top:-30px; left:48.5%; transform:rotate(90deg)}
	
	.zelkova .organization .o4::before {width:65%}
	.zelkova .organization .o4 > div {width:30%}
	
	.zelkova .program {flex-wrap:wrap; padding:30px 40px 0}
	.zelkova .program .left {width:100%; text-align:center; padding-right:0}
	.zelkova .program .left br {display:none}
	.zelkova .program .right {width:100%; margin-top:30px}
	
	.zelkova .sv .title br {display:none}
	
	.divide .title {flex-wrap:wrap; justify-content:center; padding:30px 20px}
	.divide .title .txt {text-align:center; word-break:keep-all}
	
	.divide .how {grid-template-columns:1fr}
	.divide .how > li .img {width:13%}
	.divide .how > li .txt {width:87%}

}

@media all and (max-width:900px){

	.about5 .mv.navy .right > ul {flex-wrap:wrap}
	.about5 .mv.navy .right > ul > li {width:calc(50% - 20px)}
	.about5 .mv.navy .right > ul > li:nth-child(2)::before {display:none}
	.about5 .mv.navy .right > ul > li:nth-child(3) {margin-left:0}
	.about5 .mv.navy .right > ul > li:nth-child(n+3) {margin-top:40px}
	
	.zelkova .history {flex-wrap:wrap; padding:20px 0 30px}
	.zelkova .history::before {left:0}
	.zelkova .history .year {width:100%; padding-left:20px; margin-bottom:15px}
	.zelkova .history .txt {width:100%}
	
	.zelkova .sv .value {grid-template-columns:1fr 1fr}
	
	.zelkova .sv .principles > li > ul {grid-template-columns:1fr 1fr}

}

@media only screen and (min-width : 761px){

	.calendar > ul {display:table; width:100%; font-size:0px; margin-bottom:15px}
	.calendar > ul > li {display:table-row; width:100%}
	.calendar > ul > li > div {padding:5px; display:table-cell; width:14%; min-height:140px; height:140px;border-right:1px solid #ececf1; border-bottom:1px solid #ececf1; background:#fff}
	.calendar > ul > li > div:last-child {border-right:0px;}
	.calendar > ul > li.cal_header > div {height:30px; line-height:30px; min-height:0px; border-top:1px solid #dfd8c6; border-right:1px solid #dfd8c6; border-bottom:1px solid #dfd8c6; background:#fbfaf7; color:#777777; font-weight:bold; text-align:center; font-size:16px}
	.calendar > ul > li.cal_header > div:last-child {border-right:0px}
	.calendar > ul > li.cal_header > div.Sun {color:#cc2220}
	.calendar > ul > li.cal_header > div.Sat {color:#2453a5}
	.calendar > ul > li > div > time {display:block; padding:3px; min-height:15px;  font-size:14px}
	.calendar > ul > li > div > time span {display:none;}
	.calendar > ul > li > div > time p {font-weight:normal; margin-top:5px; color:#333; text-align:center; font-size:16px; padding-bottom:10px}
	.calendar > ul > li > div > time p div {background:#F00}
	.calendar > ul > li > div.today{background:#f4f4f4;}

}


@media only screen and (max-width : 760px){
	
	.calendar {margin-bottom:30px;}
	.calendar > p span {font-size:20px}
	.calendar > p a img {width:25px}
	.calendar > ul {width:100%; display:block; border-top:2px solid #dfd8c6; margin-bottom:15px}
	.calendar > ul > li {display:block}
	.calendar > ul > li > div {width:50%; background:#fff; border-bottom:1px solid #ececf1; padding:5px 0 5px 10px; min-height:256px; box-sizing:border-box; float:left}
	.calendar > ul > li > div:last-child {border-right:1px solid #ececf1}
	.calendar > ul > li.cal_header {display:none}
	.calendar > ul > li > div.empty {display:none}
	.calendar > ul > li > div > time {display:block; vertical-align:middle; width:100%; padding:10px 5px 10px 0; font-weight:bold; color:#000; font-size:14px}
	.calendar > ul > li > div > time span.Ym {font-size:10px; display:none; margin-bottom:5px}
	.calendar > ul > li > div > time span.W {margin-left:5px;}
	.calendar > ul > li > div > time p {font-weight:normal; line-height:20px; margin-top:5px; font-size:14px; text-align:center; line-height:1.5}
	.calendar > ul > li > div.today {background:#f4f4f4}
	
}

@media all and (max-width:768px){

	.about .num_box {grid-template-columns:1fr; gap:10px}
	
	.about .organization .o4::before {width:48.2%}
	.about .organization .o4 > div {width:45%}
	
	.about4 .history {padding-left:20px}
	.about4 .history::before {left:10px; transform:translateX(0)}
	.about4 .history .box {flex-wrap:wrap; flex-direction:column-reverse}
	.about4 .history .box .no_txt {padding:0; text-align:center}
	.about4 .history .box .no_txt > div {margin-bottom:40px; text-align:left}
	.about4 .history .box .no_txt > div:nth-child(2) {text-align:right; margin-bottom:0}
	.about4 .history .box::before {left:-14px; transform:translateX(0)}
	.about4 .history .box > div {width:100%; padding:0 0 50px 0; box-sizing:border-box}
	
	.about4 .history .box.reverse {flex-direction:column-reverse}

	.about4 .history .box.reverse > div {padding:0 50px 50px 0}
	.about4 .history .box .no_txt > div.tr {text-align:left}
	.about4 .history .box.reverse > div.no_txt {padding:0}
	.about4 .history .box.reverse > div .tit {text-align:left}
	.about4 .history .box.reverse > div .txt {flex-direction:row}
	.about4 .history .box.reverse > div .txt .year {text-align:left}
	.about4 .history .box.reverse > div .txt .text {padding-left:10px; padding-right:0}
	.about4 .history .box.reverse > div .txt .text > li {text-align:left}
	
	.zelkova .organization .o4::before {width:65.2%}
	.zelkova .organization .o4 > div {width:31%; padding:10px 15px}
	
	.zelkova .floor .photo_list {flex-wrap:wrap}
	.zelkova .floor .photo_list li {width:calc(50% - 20px); margin-left:20px}
	.zelkova .floor .photo_list li:nth-child(n+3) {margin-top:10px}
	
	.divide .how > li {padding:25px 30px}
	
}


@media all and (max-width:640px){

	.sub_page {font-size:15px; padding-bottom:40px}
	.sub_page .section {margin-bottom:40px}
	
	.sub_visual > div {height:120px; padding-top:30px; background:none}
	.sub_visual > div h2 {font-size:30px; margin-bottom:20px}
	
	.sub_visual > div .page_navigation span {background-size:15px; padding-left:20px; font-size:15px; line-height:15px; height:15px}
	
	nav.sub_menu {height:40px}
	nav.sub_menu a.m1 {height:40px; line-height:40px; font-size:16px}
	nav.sub_menu ul li {line-height:40px; height:40px}
	nav.sub_menu ul li a {font-size:15px}
	nav.sub_menu ul li a > span {height:40px}
	nav.sub_menu ul li a.long {line-height:40px}
		
	.container {padding-top:50px}
	
	h3.tit {font-size:27px; margin-bottom:50px}
	h4.tit {font-size:22px; margin-bottom:30px}
	h4.tit:before {top:5px}
	h5.tit {font-size:18px; margin-bottom:20px}
	
	.nav_tab1 {margin-bottom:40px; flex-wrap:wrap}
	.nav_tab1 a {font-size:16px; height:40px; flex-basis:unset; box-sizing:border-box}
	
	.nav_tab2 {margin-bottom:40px; flex-wrap:wrap}
	.nav_tab2 a {font-size:16px; height:40px; flex-basis:unset; width:calc(50% - 1px); box-sizing:border-box}
	.nav_tab2 a:nth-child(n+3) {margin-top:1px}
	
	.s_tab {margin-bottom:40px; flex-wrap:wrap}
	.s_tab li {height:40px; flex-basis:unset; width:calc(50% - 1px)}
	.s_tab li>a {height:40px}
	.s_tab li:nth-child(n+3) {margin-top:1px}
	
	.inquiry {display:block}
	.inquiry div {display:inline-block; font-size:16px; height:auto}
	.inquiry div i {font-size:24px}
	.inquiry div label {display:block}
	.inquiry div span {margin-right:0; display:block}
	.inquiry div span strong {display:block; margin-left:0; font-size:18px}
	
	.sub_page .btn_area {margin-left:-5px}
	.sub_page .btn_area a,
	.sub_page .btn_area input,
	.sub_page .btn_area button {margin-left:5px}
	
	.about .greeting .sign {margin-top:20px}
	
	.about .tit_box {padding:25px 30px}
	
	.about .organization {padding:60px 20px}
	.about .organization::before {top:135px; height:28.1%}
	.about .organization::after {top:185px}
	.about .organization .o2 {right:6%; top:165px}
	.about .organization .o3 {margin:0 auto 30px}
	.about .organization .o4 {margin-top:80px}
	.about .organization .o4::before {top:-30px}
	.about .organization .o4 > div {padding:15px 20px}
	.about .organization .o4 > div::before {top:-32px; height:31px}
	.about .organization .o4 > div p {margin-bottom:15px}
	
	.about4 .history {padding-top:30px}
	.about4 .history .box > div {padding:0}
	.about4 .history .box.reverse > div {padding:0}
	.about4 .history .box > div .tit {font-size:2.5em}
	
	.about5 .mv {margin-bottom:50px}
	.about5 .mv .left {width:130px; height:130px}
	.about5 .mv .right {padding:30px 15px}
	
	.about5 .mv_bottom .content {flex-wrap:wrap}
	.about5 .mv_bottom .content .img {width:100%; text-align:center}
	.about5 .mv_bottom .content .text_list1 {width:100%; padding-left:0; margin-top:20px}
	
	.about .affiliated .box .bottom {flex-wrap:wrap}
	.about .affiliated .box .bottom .img {width:100%; text-align:center; padding:15px 10px 7.5px}
	.about .affiliated .box .bottom .txt {width:100%; border-left:none; padding:7.5px 10px 15px}
	.about .affiliated .box .mv2 ul li {padding:0 0 7px 32px}
	.about .affiliated .box .mv2 ul li label {width:22px; height:22px; padding:2px 7px}
	
	.about .map_txt {grid-template-columns:1fr}
	
	.zelkova .sv .title {font-size:1.3em; word-break:keep-all}
	
	.zelkova .sv .slogan {font-size:2.3em}
	
	.zelkova .organization .o1 {margin:0 auto 70px}
	.zelkova .organization::before {top:110px}
	.zelkova .organization .o2 {top:127px}
	.zelkova .organization::after {top:147px}
	
}

@media all and (max-width:553px){
	
	.about .organization {padding:30px 20px}
	.about .organization::before {top:85px}
	.about .organization::after {top:140px}
	.about .organization .o1 {margin:0 auto 75px}
	.about .organization .o2 {top:120px; right:3%}
	.about .organization .o3 {margin:0 auto 20px}
	.about .organization .o4 {flex-wrap:wrap; margin-top:40px}
	.about .organization .o4::before {display:none}
	.about .organization .o4 > div {width:100%}
	.about .organization .o4 > div+div {margin-top:20px}
	
	.zelkova .organization::before {top:50px}
	.zelkova .organization::after {top:117px}
	.zelkova .organization .o2 {top:100px}
	.about .organization .o4 > div:nth-child(1)::before {display:none}
	
}

@media all and (max-width:530px){
	
	.inquiry li {padding:10px 0 10px 70px}
	.inquiry li+li {margin-top:5px}
	.inquiry li label {padding-right:0; display:block}
	.inquiry li i {top:5px}
	
}

@media all and (max-width:500px){
	
.sub_visual > div h2 {margin-top:10px; padding-left:10px; padding-right:10px; text-align:center}

}

@media all and (max-width:480px){
	
	.sub_page .mb50 {margin-bottom:30px}
	.sub_page .mb80 {margin-bottom:40px}

	nav.sub_menu .inner div {width:100%; padding-left:20px}
	nav.sub_menu .inner div.m1 {display:none}
	nav.sub_menu .inner div a.mm i {width:15px; height:7px; background-size:15px; right:20px}
	nav.sub_menu .inner div > ul li a {padding-left:20px}
	
	.sub_page .tab1 a {width:calc(50% - 10px); height:40px}
	.sub_page .tab1 a:nth-child(n+3) {margin-top:10px}
	
	.about5 .mv.navy .right > ul > li {width:100%}
	.about5 .mv.navy .right > ul > li:nth-child(2)::before {display:block}
	.about5 .mv.navy .right > ul > li::before {top:calc(100% + 25px); left:50%; transform:translateX(-50%)}
	.about5 .mv.navy .right > ul > li+li {margin-left:0; margin-top:80px}
	.about5 .mv.navy .right > ul > li:nth-child(n+3) {margin-top:80px}
	
	.zelkova .history .year {font-size:3em}
	.zelkova .history .txt li {padding-left:0}
	.zelkova .history .txt li label {position:relative; display:block}
	
	.zelkova .sv .value {grid-template-columns:1fr}

}

@media all and (max-width:460px){

	.about .organization .o2 {right:50%; transform:translateX(50%)}
	.about .organization::after {display:none}
	
	.about .affiliated .box .img.logo {padding:30px 20px}
	.about .affiliated .box .mv3 ul li {width:calc(50% - 15px)}
	.about .affiliated .box .mv3 ul li:nth-child(3) {margin-top:10px}
	
	.divide .how > li {padding:20px}
	.divide .how > li .img {width:20%}
	.divide .how > li .txt {width:80%}

}

@media all and (max-width:420px){
	
	.nav_tab1 a {width:calc(100% - 1px); border:1px solid #eee}
	.nav_tab1 a:nth-child(n+2) {margin-top:1px}
	
	.nav_tab2 a {width:calc(100% - 1px); border:1px solid #eee}
	.nav_tab2 a:nth-child(n+2) {margin-top:1px}	
	
	.about .greeting .sign {word-break:keep-all}
	
	.zelkova .sv .principles > li > ul {grid-template-columns:1fr}
	
}

@media all and (max-width:401px){
	
	.zelkova .organization .o1 {margin:0 auto 100px}
	.zelkova .organization .o4 {margin-top:30px}
	
}

@media all and (max-width:350px){
	
	.divide .how {gap:15px}
	.divide .how > li {flex-wrap:wrap}
	.divide .how > li .img {width:100%; text-align:center; margin-bottom:20px}
	.divide .how > li .txt {width:100%; padding-left:0}
	
}