/* ------------------------------ Tablet ------------------------------ */
@media screen and (max-width:1023px){
	.header .btn_menu,
	.header.on .btn_menu {transform:none !important;}
	.langs_top .btn_menu {display:none;}
	.header .btm .btn_menu {opacity:1; pointer-events:auto; user-select:auto;}

	.footer #topset {top:calc(-100vh + 52px);}
	.footer.unfixed .gotop {bottom:calc(100% - 32px);}

	.mvisual_langs .txt {padding:0 10px 0 0;}
	.mvisual_langs p {font-size:20px;}
	.mvisual_langs .img {padding-left:10px;}

/* sub */
	.svisual.in_d {margin-bottom:100px;}
	.svisual.in_d .aside .s:after,
	.svisual.in_d .aside .d:after {display:none;}
	.svisual.in_d .aside .d {position:absolute; bottom:-48px; left:0; width:100%; background:#fff;}
	.svisual.in_d .aside .d dt {line-height:46px; border:#ddd 1px solid;}
	.svisual.in_d .aside .d dd {border:#ddd 1px solid; border-top:0;}

	.tel_box .i1 dt {width:110px;}
	.tel_box .i1 dd {width:calc(100% - 110px);}
	.tel_box .i2 dt {width:110px;}
	.tel_box .i2 dd {width:calc(100% - 110px);}

	.organizational .box.long {height:auto;}
	.organizational .box.long dl {padding:10px 0 10px 15px;}
	.organizational .box dd {font-size:15px;}
}

/* ------------------------------ Mobile ------------------------------ */
@media screen and (max-width:767px){
/* header */
	.header .langs_top a {font-size:12px; line-height:30px;}
	.header .langs_top .home {width:14px; height:30px;}
	.header .btm .right .home {width:32px; height:32px;}
	.header .langs {display:block;}
	.header .btm .langs dt button {width:80px; height:32px; line-height:30px; padding:0 12px; font-size:13px;}
	.header .btm .langs dt button:after {right:5px; width:20px;}
	.header .langs dd a {padding:4px 12px;}
	.header .sitemap {top:0; height:100%; padding-top:60px;}
/* footer */
	.footer .address .right {gap:30px;}
	.footer .family {right:0; bottom:0;}
	.footer #topset {top:calc(-100vh + 45px);}
	.footer.unfixed .gotop {bottom:calc(100% - 25px);}

/* main */
	.mvisual_langs {margin-top:60px;}
	.mvisual_langs .inner {flex-direction:column; justify-content:center; gap:20px; padding-top:40px; padding-bottom:40px;}
	.mvisual_langs .inner > * {width:100%; height:auto; padding:0;}
	.mvisual_langs .txt {text-align:center; gap:15px;}
	.mvisual_langs .txt img {width:240px; margin:0 auto;}
	.mvisual_langs .tit .anumate {left:50%; margin-left:30px; width:34px; height:34px;}
	.mvisual_langs p {font-size:15px;}
	.mvisual_langs .img img {width:100%; max-width:400px;}
	.lang_mc01 .inner {flex-wrap:wrap; gap:20px 0;}
	.lang_mc01 a {width:50%; font-size:15px; line-height:1.3;}
	.lang_mc01 a:before {height:40px;}
	.lang_mc01 .i1:before {background-size:auto 30px;}
	.lang_mc01 .i2:before {background-size:auto 30px;}
	.lang_mc01 .i3:before {background-size:auto 100%;}
	.lang_mc01 .i4:before {background-size:auto 34px;}
	.lang_mc02 {padding:40px 0 60px;}
	.lang_mc02 .tit {font-size:20px; line-height:24px; margin-bottom:20px;}
	.lang_mc02 .links {flex-direction:column; gap:20px;}
	.lang_mc02 .links a {width:100%;}
	.lang_mc02 .links .txt {padding:12px 16px;}
	.lang_mc02 .links .tt {font-size:14px;}
	.lang_mc02 .links p {font-size:13px;}

/* sub */
	.svisual.in_d {margin-top:90px;}
	.svisual .aside dl.g,
	.svisual .aside dl.s {max-width:50%; flex-basis:50%;}
}