@media (max-width: 767px){
	#mobile_test{
		display: block;
	}
	.animebg1, .animebg2{
		background-size: auto 120%;
	}
	section{
		height: 667px;
	}
	.visible-sm{
		display: block !important;
	}
	.hidden-sm{
		display: none !important;
	}
	
	.load_img{
		top: 450px;
	}
	/* header */
	.header{
		height: 60px;
	}
	.btn_menu{
		top: 10px;
	}
	.btn_menu span{
		display: none;
	}
	.header_logo{
		top: 10px;
	}
	.hmi_left{
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}
	.hmi_box .title{
		flex: 0 0 65px;
		font-size: 13px;
		letter-spacing: 0px;
	}
	.hmi_box .title span{
		margin-left: 5px;
	}
	.hmi_box .tel{
		font-size: 30px;
		letter-spacing: 5px;
	}
	.hmi_box .address{
		font-size: 16px;
	}
	.hmi_box .icon{
		flex: 0 0 30px;
		text-align: right;
	}
	.m_right_menu{
		top: 10px;
	}
	.m_hlbtn{
		width: 40px;
		height: 40px;
	}
	header.active .m_hlbtn img{
		top: -40px;
	}
	.hmenu_info{
		width: 375px;
		margin-left: auto;
		margin-right: auto;
	}
	/* kv */
	.kv_main{
		top: 0;
		transform: translateY(0);
		padding-top: 220px;
	}
	.kv_logo{
		max-width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	.kv_title{
		font-size: 20px;
		letter-spacing: 5px;
	}
	/* spzone */
	#spzone{
		height: 650px;
	}
	.spz_main{
		padding-top: 100px;
	}
	.spz_title{
		font-size: 28px;
		letter-spacing: 5px;
		margin-bottom: 15px;
	}
	.spz_sub{
		font-size: 20px;
		letter-spacing: 7px;
	}
	.spz_treel{
		width: 300px;
	}
	.spz_treer{
		width: 300px;
	}
	/* lifefunction */
	#lifefunction{
		height: 667px;
	}
	.lf_photo{
		width: 100%;
		height: 100%;
		overflow-x: auto;
	}
	.lf_photo img{
		width: auto;
		height: 667px;
		padding-top: 67px;
	}
	.lf_photo .lf_photo_text{
		width: auto;
		height: 667px;
	}
	.lf_shadow{
		height: 250px;
	}
	.lf_main{
		padding-top: 80px;
	}
	.tlr_text{
		padding-left: 15px;
		padding-right: 15px;
	}
	.title_type_lr .title{
		font-size: 32px;
	}
	.tlr_text .sub_title{
		font-size: 18px;
	}
	.lf_title_span{
		letter-spacing: 15px;
	}
	/* lifefunction2 */
	.lf2_page{
		height: 560px;
	}
	.lf2_page_text{
		top: 70px;
		left: 20px;
	}
	.lf2_slick_div{
		height: 400px;
	}
	.lf2_slick{
		height: 100%;
	}
	.lf2s_unit{
		height: 400px;
	}
	.lf2sp_info_title > div{
		padding-left: 15px;
	}
	.lf2sp_info_text > div{
		font-size: 16px;
		padding-left: 15px;
	}
	/* plan */
	.plan_title{
		padding-top: 90px;
		font-size: 22px;
		letter-spacing: 2px;
	}
	.plan_hr{
		width: 100%;
	}
	.plan_hr img{
		width: 100%;
	}
	.plan_sub{
		font-size: 16px;
		letter-spacing: 1px;
		margin-bottom: 40px
	}
	/* plan2 */
	#plan2{
		height: 500px;
	}
	.plan2_main{
		padding-top: 60px;
	}
	.plan_treel{
		width: 300px;
	}
	.plan_treer{
		width: 300px;
	}
	/* landscape */
	#landscape{
		height: auto;
		background-image: url(../img/mobile_bg.jpg);
		background-repeat: no-repeat;
		background-size: cover;
	}
	.ls_m_pat{
		padding-top: 350px;
	}
	.landscape_slick{
		position: relative;
	}
	.landscape_main{
		padding-top: 40px;
	}
	#landscape .title_type_lr .title{
		margin-bottom: 15px;
	}
	#landscape .tlr_text .sub_title{
		margin-bottom: 15px;
		font-size: 18px;
	}
	.landscape_main .tlr_text .text{
		display: block;
	}
	.lss_unit{
		height: auto;
		object-fit: none;
	}
	.lss_unit_mask{
		display: none !important;
	}
	.landscape_slick_nav{
		bottom: 15px;
	}
	.lss_btn{
		font-size: 16px;
		padding: 3px 15px;
		margin-left: 3px;
		margin-right: 3px;
	}
	.btn_prev{
		width: 30px;
		left: 10px;
	}
	.btn_next{
		width: 30px;
		right: 10px;
	}
	#ls_prev{
		width: 40px;
		left: 0;
		top: 550px;
	}
	#ls_next{
		width: 40px;
		right: 0;
		top: 550px;
	}
	/* barrier_free */
	#barrier_free{
		height: 667px;
	}
	.bfs_unit{
		height: 667px;
	}
	.bfs_unit_main{
		padding-top: 90px;
		padding-left: 15px;
		padding-right: 15px;
		width: 375px;
	}
	.bfu_con{
		padding-left: 0;
		margin-top: 20px;
	}
	.bfu_right{
		top: 0;
		right: auto;
		left: 0;
		width: 100%;
		padding-left: 15px;
	}
	.bfu_design{
		width: 100%;
	}
	.bf_m_2img{
		width: 100%;
	}
	.bfu_sub{
		font-size: 20px;
		letter-spacing: 6px;
	}
	.bfs_unit h2{
		font-size: 26px;
	}
	.bfu_p2_left{
		flex: 100%;
	}
	.bfu_sul{
		width: 100%;
	}
	.bfu_sli{
		padding: 7px 4px;
	}
	.bfu_sli .icon{
		flex: 0 0 30px;
	}
	.bfu_sli .title{
		flex: 0 0 35px;
		font-size: 14px;
	}
	.bfu_sli .separate{
		flex: 0 0 10px;
	}
	.bfu_sli .text{
		font-size: 14px;
	}
	.bfu_sli .title2{
		flex: 0 0 50px;
		padding-left: 15px;
		font-size: 14px;
	}
	.bf_slick_nav{
		bottom: 30px;
	}
	.bfs_btn{
		font-size: 16px;
		padding: 3px 15px;
		margin-left: 3px;
		margin-right: 3px;
	}
	/* team */
	.team_mbox{
		height: 180px;
	}
	.tmb_con{
		padding-top: 40px;
		padding-left: 25px;
	}
	.tmb_photo img{
		right: 0;
	}
	.team_mbox:nth-child(odd) .tmb_photo img{
		left: 0;
	}
	.tmb_photo img{
		width: 270px;
	}
	#tmb_photo_03 img{
		width: 230px;
	}
	.tmb_title{
		font-size: 14px;
	}
	.tmb_name{
		font-size: 24px;
	}
	.tmb_company{
		font-size: 16px
	}
	#tmb_cml{
		font-size: 24px;
	}
	/* evaluation */
	#evaluation{
		height: auto;
		padding-bottom: 20px;
	}
	#evaluation h1{
		font-size: 36px;
	}
	.img_title_hr{
		width: 100%;
		margin: 10px 0;
	}
	.eva_sub{
		letter-spacing: 10px;
	}
	.eva_slick{
		width: 100%;
	}
	.eva_slick .slick-list{
		width: 100%;
	}
	.esi_slick{
		width: 100%;
	}
	.es_unit .icon_play{
		width: 50px;
		height: 50px;
	}
	/* home_type */
	.home_type_right{
		padding-top: 30px;
	}
	.ht_mcont{
		width: 375px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 15px;
		padding-right: 15px;
	}
	.ht_slick2 .slick-dots{
		bottom: 20px;
	}
	.ht_abtn2{
		width: 100%;
	}
	.ht_mcon{
		padding-left: 15px;
		padding-right: 15px;
	}
	.ht_room{
		width: 100%;
	}
	.ht_room img{
		margin-left: auto;
		margin-right: auto;
	}
	/* news */
	#news{
		height: 560px;
		padding-top: 80px;
	}
	.news_title{
		text-align: left;
		padding-left: 20px
	}
	.news_slick{
		display: none;
	}
	.news_mobile{
		display: block;
	}
	/* brand */
	.bdm_p1_main{
		padding-top: 70px;
	}
	.bdm_p1_main .bs_info{
		padding-left: 20px;
	}
	.bdm_p1_main p{
		padding-left: 15px;
		padding-right: 15px;
		line-height: 30px;
	}
	.bs_info{
		margin-bottom: 10px;
		letter-spacing: 3px;
	}
	.bdm_p1_main .sub_title{
		margin-bottom: 20px;
	}
	.bdm2box .title{
		letter-spacing: 2px;
	}
	.bdm2box .title span{
		letter-spacing: 0;
	}
	.bdm2box p{
		letter-spacing: 1px;
	}
	/* contact */
	#contact{
		height: auto;
	}
	.ctf_title{
		padding-left: 0;
	}
	/* map */
	#map{
		height: auto;
	}
	.map{
		display: none;
	}
	.map_mobile{
		display: block;
	}
	.mf_main{
		padding: 0px;
		padding-top: 10px;
	}
	.mf_con{
		padding-left: 10px;
		padding-right: 10px;
	}
	.mf_info{
		margin-bottom: 20px;
		text-align: center;
	}
	.mfli_title{
		font-size: 14px;
	}
	.mfli_text{
		font-size: 15px;
	}
	/* popup */
	.popup_ad{
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	.ad_mobile{
		width: 100%;
	}
	.popup_close{
		top: -35px;
		right: 20px;
		font-size: 16px;
	}
	.mf_info{
		letter-spacing: 0;
	}
	
	/* loading */
	.load_logo{
		max-width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	.load_text{
		font-size: 20px;
	}
}

@media (max-width: 575px){
	.ht_slick2{
		position: relative;
		width: 575px;
		left: 50%;
		transform: translateX(-50%);
	}
	/* team */
	.team_mtbox{
		height: 180px;
	}
	.team_title{
		top: 50px;
		left: 20px;
	}
	.team_title h1{
		font-size: 30px;
		letter-spacing: 3px;
	}
	.tmb_photo img{
		width: 220px;
	}
	#tmb_photo_03 img{
		width: 200px;
	}
	.ht_slogan_div{
		width: 100%;
	}
	.ht_slogan{
		font-size: 18px;
		letter-spacing: 1px;
	}
}
@media (max-width: 400px){
	/* contact */
	.contact_main{
		width: 375px;
	}
	.contact_title{
		top: 30px;
		font-size: 24px;
		letter-spacing: 2px;
		line-height: 30px;
	}
	.contact_info{
		margin-bottom: 5px;
	}
	.contact_info .title{
		flex: 0 0 80px;
		font-size: 13px;
		padding-left: 10px;
	}
	.contact_info .title span{
		padding-left: 5px;
	}
	.contact_info .tel{
		font-size: 33px;
		padding-left: 3px;
		letter-spacing: 3px;
	}
	.contact_info .address{
		font-size: 16px;
		padding-left: 5px;
	}
	.contact_main{
		width: 100%;
		padding-top: 70px;
	}
	.contact_info .icon{
		text-align: right;
		padding-right: 10px;
	}
	.contact_form input[type="text"]{
		padding-left: 0;
		height: 60px;
	}
	.contact_form select{
		padding-left: 0;
		height: 60px;
	}
	.contact_form{
		padding: 100px 50px 30px 50px;
		background-image: url(../img/form_bg_m.png);
		background-size: 95% auto;
		background-position: top center;
		height: 640px;
	}
}
@media (max-width: 374px){
	.bfs_unit_main{
		width: 100%;
	}
	.ht_mcont{
		width: 100%;
	}
	.ht_slogan{
		font-size: 14px;
	}
}