@media screen and (max-width: 1440px) {
	
	.wrap { width: 94%; margin: 0 auto; }
	.sidebar .wrap { width: 100%; }

	/* popup */
	.hd_pops { left: 2% !important; top: 80px !important; }	
	.hd_pops { left: 2% !important; max-width: 96%; height: auto; }
	.hd_pops_con { max-width: 100% !important; width: auto !important; height: auto !important; }
	.hd_pops_con a { display: inline-block; }

	/* main */
	.nav { display: none; }

	.main_con02_textbox { margin-top: 50px; }

}

@media screen and (max-width: 1280px) {
	
	/* head */
	.menu_inr { gap: 0 40px; }

	/* main */
	.two-col { grid-template-columns: minmax(40%, 15vw) 1fr; }

	.cards { display: grid; grid-template-columns: repeat(1, minmax(240px, 1fr)); gap: 0; }
	.card { margin-bottom: 30px; }
	.card:last-child { margin-bottom: 0px; }
	.card:nth-child(even) { top: 0px; }

}

@media screen and (max-width: 1024px) {
	
	body { font-size: 16px; }

	/* head */
	.head { height: 60px; }
	.head .logo img { height: 45px; }
	.menu { display: none; }

	nav.mobile_menu { position: fixed; top: -100vh; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; height: 100vh; z-index: 9001; background: rgba(0, 0, 0, 0.9); border-bottom-right-radius: 100%; border-bottom-left-radius: 100%; transition: all 650ms cubic-bezier(1,0,0,1); }
	nav.mobile_menu.open { top: 0; padding: 80px 0px; border-radius: initial; }

	.nav-inner { display: flex; width: 100%; flex-wrap: wrap; justify-content: space-between; align-items: center; }
	.nav-list { display: flex; justify-content: center; align-items: flex-start; flex-direction: column; width: 100%; height: 100%; }
	.nav-list li { margin-bottom: 20px; width: 100%; text-align: center; }
	.nav-list li:last-child { margin-bottom: 0px; }
	.nav-list li a { position: relative; color: #fff; font-size: 1.3em; font-weight: 400; }

	.nav-link { padding: 1rem; font-size: 2rem; }
	.nav-link:hover, .nav-link:focus { color: #fff; }

	.menu-toggler { position: absolute; top: 20px; right: 2%; width: 30px; height: 19px; display: flex; flex-direction: column; justify-content: space-between; z-index: 9999; /* transition: all 650ms ease-out; */ cursor: pointer; }
	.scrolled .menu-toggler { position: fixed; top: 20px; } 
	.menu-toggler.open { position: fixed; top: 30px; right: 20px; z-index: 9999; transform: rotate(-45deg); }

	.bar { background-color: #fff; width: 100%; height: 2px; border-radius: 0.8rem; }
	.open .bar { background-color: #fff; }

	.scrolled .bar { background-color: #000; }

	.bar.half { width: 50%; }
	.bar.top { transform-origin: right; transition: transform 650ms cubic-bezier(0.54, -0.81, 0.57, 0.57); }
	.open .bar.top { transform: rotate(-450deg) translateX(0.45rem); }
	.bar.bottom { align-self: flex-end; transform-origin: left; transition: transform 650ms cubic-bezier(0.54, -0.81, 0.57, 0.57); }
	.open .bar.bottom { transform: rotate(-450deg) translateX(-0.45rem); }

	.nav-inner ul ul { display: none; margin-top: 10px; }
	.nav-inner ul ul li { margin-bottom:0px; }
	.nav-inner ul ul li a { display: inline-block; padding: 0px; color: rgba(255, 255, 255, 0.7); font-size: 1.1em; font-weight: 300; line-height: 1.8; text-decoration: none; -webkit-transition: all 0.5s; -moz-transition: all 0.5s; -o-transition: all 0.5s; -ms-transition: all 0.5s; transition: all 0.5s; }
	.nav-inner ul ul li a:hover { color: rgba(255, 255, 255, 1); }
	.nav-inner ul ul li a:before { display: none; height: 1px; }

	/* footer */
	.footer { padding: 0; }
	.footer:after { display: none; }
	.footer .wrap { width: 100%; }
	.footer_left { flex-direction: inherit; align-items: center; width: 100%; padding: 50px 20px; background: #004ea1; }
	.footer_right { width: 100%; padding: 60px 20px; }
	.ft_logo a img { height: 40px; }
	.ft_sns a img { height: 30px; }

	/* main */
	.main_text { padding-top: 60px; }
	.main_text h2 { font-size: 38px; }
	.main_text p { font-size: 15px; }

	.main_con { padding: 100px 0; }
	.main_con01, .main_con02 { padding-bottom: 0px; }
	
	.main_con_title { margin-bottom: 50px; }
	.main_con_title h2 span.en_stitle { font-size: 15px; }
	.main_con_title h2 span.title { margin-top: 20px; font-size: 42px; }
	.main_con_title p { margin-top: 30px; font-size: 18px; }

	.main_con01_deco img { width: 400px; }

	.main_con01 .main_con_title p { word-break: keep-all; }
	.main_con01 .main_con_title p br{ display: none; }
	
	.flex-slide-title { justify-content: space-between; }
	.flex-slide-title h2 { margin-bottom: 0px; width: 50px; font-size: 32px; }
	.flex-slide-title p { display: none; }
	.flex-slide .flex-slide-title a.view_more02 { width: 50px; text-indent: -9999px; }
	.flex-slide .flex-slide-title a.view_more02 i { position: absolute; left: 0; top: 0; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 50px; height: 50px; margin-left: 0; text-indent: 0; font-size: 20px; }

	.main_con02_textbox { font-size: 18px; }
	
	.main_con03_deco img { width: 300px; }

	/* sub */
	.sub_vis { height: 350px; }
	.sub_title h2 { font-size: 40px; }

	.introduce_imgbox { width: 40%; height: auto; }
	.introduce_textbox { width: 60%; padding-left: 50px; }
	
	.introduce_list { justify-content: center; gap: 20px 2%; width: 80%; margin: 0 auto; }
	.introduce_list li { flex: none; width: 32%; }
	
	.member_imgbox .member_sinfo { left: 30px; top: 30px; }
	.member_imgbox .member_sinfo dt { margin-bottom: 15px; }
	.member_imgbox .member_sinfo dd { font-size: 25px; letter-spacing: 0.3em; }
	
	.business_inr_in { width: 100%; }
	.business_left { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-content: center; align-items: center; margin-bottom: 30px; }
	.business_inr_in h4 { text-align: center; }
	.business_inr_in dl { width: auto; }
	.business_inr_in dl dd { text-align: center; padding-left: 0px; }
	.business_inr_in dl dd:after { display: none; }
	
	.contribution_left { margin-bottom: 30px; }
	.contribution_inr_in { text-align: center; width: 100%; }
	.contribution_banner { gap: 0 20px; }

}

@media screen and (max-width: 768px) {
	
	/* footer */
	.footer_right { padding: 40px 20px; font-size: 14px; }

	/* main */
	.main_text { text-align: center; }
	.main_text h2 { font-size: 32px; }
	.main_vis .swiper-pagingbox { justify-content: center; }

	.main_con04_form ul li input.frm_input, .main_con04_form ul li textarea { width: 100%; padding: 10px 20px; font-size: 1em; }
	.main_con04_form ul li label { width: 100%; margin-bottom: 10px; font-size: 1.1em; }	
	.main_con04_form ul li input.frm_input { height: 50px; }
	.main_con04_form ul li textarea { height: 250px; padding: 20px; }

	/* sub */
	.sub_contents { margin: 60px 0; }
	
	.introduce_inr { margin-bottom: 50px; }

	.introduce_imgbox { overflow: hidden; text-align: center; max-width: 100%; width: 100%; height: 400px; margin: 0 auto 30px; }
	.introduce_imgbox img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; object-position: top center; }
	.introduce_textbox { width: 100%; padding-left: 0px; text-align: center; font-size: 18px; }
	.introduce_list { width: 100%; }

	.introduce_list li .introduce_cont h4 { font-size: 20px; }
	.introduce_list li .introduce_cont .icon img { max-width: 100%; width: 60px; }
	
	.member_list { gap: 30px 0%; }
	.member_inr { width: 100%; }

	.business_inr_in h4 { margin: 20px 0 30px; font-size: 36px; }
	.business_inr_in dl dd { text-align: center; padding-left: 0px; font-size: 1.2em; line-height: 1.7; }

	.advice_textbox { margin-bottom: 30px; padding: 30px; }
	.advice_textbox strong { font-size: 1.2em; }

	.advice_form ul li label { width: 100%; margin-bottom: 10px; font-size: 1.1em; }
	.advice_form ul li input.frm_input, .advice_form ul li textarea { width: 100%; padding: 10px 20px; font-size: 1em; }
	.advice_form ul li input.frm_input { height: 50px; }
	.advice_form ul li textarea { height: 250px; padding: 20px; }
	
	.contribution_inr { margin-bottom: 60px; }
	.contribution_inr:last-child { margin-bottom: 0px; }
	.contribution_inr_in span.eng_stitle { font-size: 15px; }
	.contribution_inr_in h4 { margin: 20px 0 30px; font-size: 36px; }
	.contribution_inr_in p { font-size: 1.2em; line-height: 1.7; }
	.contribution_textbox { margin-bottom: 30px; padding: 30px; font-size: 1.1em; }
	.contribution_banner { gap: 0 10px; }
	.contribution_banner_inr h5 { margin: 20px 0; font-size: 1.2em; }

}

@media screen and (max-width: 575px) {
	
	/* main */
	.main_text h2 { margin-bottom: 30px; font-size: 25px; line-height: 1.5; }
	.main_text h2 span { margin-bottom: 10px; font-size: 16px; }
	.main_vis .swiper-pagingbox { margin-top: 50px; }
	
	.main_deco p { display: none; }

	.main_con_title h2 span.title { font-size: 36px; }
	.main_con_title p { font-size: 16px; }
	
	.pin-wrap { height: auto; }
	.pin { position: relative; top: 0px; height: auto; min-height: auto; }
	.two-col { display: flex; flex-wrap: wrap; justify-content: center; height: auto; }
	
	.cards { display: flex; flex-wrap: wrap; gap: 20px 2%; }
	.card { width: 49%; margin-bottom: 0px; }

	.profile_inr { height: 330px; }
	.profile_inr > img { max-width: 100%; width: 320px; }
	.profile_inr .profile_info { left: 30px; top: 30px; }
	.profile_inr .profile_info dt { margin-bottom: 20px; }
	.profile_inr .profile_info dt img { width: 40px; }
	.profile_inr .profile_info dd span { margin-bottom: 10px; font-size: 16px; letter-spacing: 0.03em; }
	.profile_inr .profile_info dd { font-size: 24px; letter-spacing: 0.3em; }
	
	.flex-container { height: 80vh; }
	.flex-slide { padding: 10% 0; }
	.flex-slide:hover .flex-slide-inr { align-content: center; justify-content: center; align-items: center; text-align: center; }
	.flex-slide-title h2 { width: 30px; margin-bottom: 0px; font-size: 25px; }
	.flex-slide-inr h3 { margin-bottom: 30px; font-size: 30px; word-break: keep-all; }
	.flex-slide-inr p { font-size: 15px; }

	.flex-slide a.view_more02 { width: 130px; height: 40px; font-size: 14px; }
	.flex-slide .flex-slide-title a.view_more02 { width: 40px; }
	.flex-slide .flex-slide-title a.view_more02 i { width: 40px; height: 40px; font-size: 16px; }

	.main_con03_deco img { width: 200px; }

	.main_con04_btn { width: 180px; height: 50px; font-size: 1.1em; }

	/* sub */
	.sub_vis { height: 250px; }
	.sub_title h2 { font-size: 32px; letter-spacing: 0.1em; }
	
	.sidebar .depth_1 { width: calc(100% - 60px); }

	.member_imgbox .member_sinfo dt img { width: 40px; }

	.advice_btn { width: 180px; height: 50px; font-size: 1.1em; }
	
	

}

@media screen and (max-width: 480px) {
	
	body { font-size: 14px; }
	
	.scroll_on { opacity: 1; }
	.scroll_on.type_top {transform: translate(0, 0px);}
	.scroll_on.type_bottom {transform: translate(0, 0px);}
	.scroll_on.type_left {transform: translate(0px, 0);}
	.scroll_on.type_right {transform: translate(0px, 0);}

	/* footer */
	.footer_left { justify-content: center; padding: 40px 10px; }
	.ft_logo { text-align: center; width: 100%; margin-bottom: 15px; }
	

	/* main */
	.main_con { padding: 60px 0; }
	.main_con01, .main_con02 { padding-bottom: 0px; }

	.main_con_title { margin-bottom: 30px; }

    .card { width: 100%; }
	.cards { gap: 20px 0%; }

	.flex-container { height: 60vh; }
	.flex-slide:hover { -webkit-flex-grow: 5; flex-grow: 5; }

	.main_con02_textbox { margin-top: 30px; font-size: 1.1em; }

	/* sub */
	.member_list { margin-bottom: 30px; }

	.introduce_list li .introduce_cont .icon { margin-bottom: 10px; }

}

@media screen and (max-width: 430px) {

	/* sub */
	.introduce_inr { margin-bottom: 30px; }
	.introduce_textbox { font-size: 16px; }
	.introduce_imgbox .sign { right: 20px; bottom: 20px; font-size: 35px; }

	.introduce_list { gap: 10px 2%; }
	.introduce_list li .introduce_cont .icon img { width: 40px; }
	.introduce_list li .introduce_cont h4 { font-size: 15px; }

	.contribution_banner { gap: 20px 0px; }
	.contribution_banner_inr { flex: auto; }
	
}