@media (max-width: 999px){
	#pc_test{
		display: none;
	}
	#pad_test{
		display: block;
	}
	section{
		position: relative;
		height: 1024px;
	}
	.visible-md{
		display: block !important;
	}
	.hidden-md{
		display: none !important;
	}
	.animebg1, .animebg2{
		background-size: auto 120%;
	}
	
	/* header */
	.header_menu{
		padding-top: 100px;
		background-image: url(../img/menu_bg_stone_m.png);
		background-size: 184px auto;
    	background-position: bottom 50px right -30px;
	}
	.main_menu{
		margin-bottom: 40px;
	}
	.hmenu_div{
		width: 100%;
	}
	.hmenu_box{
		flex: 0 0 100%;
		text-align: center;
	}
	.hmenu_box a{
		margin-bottom: 10px;
	}
	.hmenu_title{
		display: none;
	}
	.hmenu_aicon{
		display: block;
	}
	.hmi_left{
		float: none;
	}
	.hmi_right{
		display: none;
	}
	.right_menu{
		display: none;
	}
	.m_right_menu{
		display: block;
		right: 5px;
	}
	.menu_shadow{
		display: block;
	}
	header.active .menu_shadow{
		background-image: url(../img/menu_shadow.png);
	}
	.hmenu_abtn{
		display: block;
	}
	
	/* kv */
	#kv{
		height: 100vh;
	}
	.kv_video{
		height: 100%;
	}
	.kv_video iframe{
		position: relative;
	}
	.kv_down{
		bottom: 150px;
	}
	
	/* lifefunction */
	#lifefunction{
		height: 1024px;
	}
	.title_type_lr{
		width: 100%;
	}
	.title_type_lr .title{
		float: none;
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
		margin-bottom: 15px;
		letter-spacing: 3px;
	}
	.tlr_text .sub_title{
		text-align: center;
	}
	.tlr_text{
		float: none;
		width: 100%;
		padding-left: 30px;
		padding-right: 30px;
	}
	.lf_photo{
		width: 100%;
		height: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.lf_photo img{
		width: auto;
		height: 100%;
	}
	.lf_photo .lf_photo_text{
		width: auto;
		height: 100%;
	}
	.lf_shadow{
		height: 250px;
	}
	
	/* lifefunction2 */
	#lifefunction2{
		height: auto;
		
	}
	.lf2_page_text{
		top: 70px;
		left: 30px;
	}
	.lf_title_span{
		letter-spacing: 20px;
	}
	.lf2_page{
		position: relative;
		height: 760px;
		opacity: 1;
	}
	.lf2_page_sub{
		display: none;
	}
	h1{
		font-size: 40px;
	}
	.lf2_page{
		padding-right: 0;
	}
	.lf2_slick_div{
		height: 600px;
	}
	.lf2_slick{
		height: 100%;
	}
	.lf2s_unit{
		height: 600px;
		padding-right: 0;
	}
	.lf2_page_text h1{
		font-size: 32px;
		line-height: 40px;
	}
	.lf2s_page_info{
		position: relative;
		width: 100%;
		height: 160px;
		background-image: none;
		background: linear-gradient(45deg, #156e74, #1e9191, #156e74);
	}
	.lf2sp_info_unit{
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.lf2sp_info_title{
		margin-bottom: 5px;
		height: auto;
		text-align: left;
	}
	.lf2sp_info_title > div{
		writing-mode: horizontal-tb;
		display: block;
		font-size: 26px;
		height: auto;
		padding-left: 35px;
		padding-right: 15px;
		margin-bottom: 10px;
	}
	.lf2sp_info_title > div br{
		display: none;
	}
	.lf2sp_info_text > div{
		writing-mode: horizontal-tb;
		height: auto;
		display: block;
		font-size: 18px;
		line-height: normal;
		padding-left: 35px;
		padding-right: 15px;
	}
	.lf2sp_info_title img{
		display: inline-block;
	}
	.lf2_menu{
		display: none;
	}
	.slick-dots{
		bottom: 20px;
	}
	.lf2_slick .slick-dots{
		text-align: right;
		padding-right: 15px;
	}
	.btn_mouse_prev{
		width: 40px;
		height: auto;
		top: 50%;
		transform: translateY(-50%);
		cursor: pointer;
		display: block;
	}
	.btn_mouse_next{
		width: 40px;
		height: auto;
		top: 50%;
		transform: translateY(-50%);
		cursor: pointer;
		display: block;
	}
	.btn_mouse_prev img, .btn_mouse_next img{
		width: 100%;
		display: block;
	}
	/* plan */
	#plan{
		height: auto;
		padding-bottom: 100px;
	}
	.plan_video{
		position: relative;
		width: 100%;
		padding-bottom: 56.25%;
		height: 0;
		overflow: hidden;
	}
	.plan_video iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	/* landscape */
	#landscape{
		height: auto;
		background-image: url(../img/mobile_bg.jpg);
		background-repeat: no-repeat;
		background-size: cover;
	}
	.ls_m_pat{
		padding-top: 450px;
	}
	.landscape_slick{
		position: relative;
	}
	.lss_unit{
		height: auto;
		object-fit: none;
	}
	.lss_unit_mask{
		display: none !important;
	}
	#ls_prev{
		top: 850px;
	}
	#ls_next{
		top: 850px;
	}
	
	/* public_utilities */
	#public_utilities{
		height: auto;
		
	}
	/* barrier_free */
	#barrier_free{
		height: 1024px;
	}
	.bfs_unit_main{
		width: 600px;
		margin-left: auto;
		margin-right: auto;
		padding: 0;
		padding-top: 140px;
	}
	.bfu_right{
		position: relative;
		width: 100%;
		top: 0;
		right: 0;
	}
	.bfu_p2_img01{
		display: none !important;
	}
	.bfu_p2_right{
		display: none;
	}
	.bf_m_2img{
		display: block;
	}
	.bfu_con{
		padding-left: 0;
	}
	.bfu_design{
		width: 330px;
		margin-left: auto;
		margin-right: auto;
	}
	.bfu_p2_left{
		margin-left: auto;
		margin-right: auto;
	}
	.bfu_sul{
		margin-left: auto;
		margin-right: auto;
	}
	#bfs_unit_01{
		background-image: url(../img/barrier_free/bf01_mbg.jpg);
		background-position: bottom center;
	}
	.img_bf_m01{
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
	}
	#bfs_unit_03{
		background-image: url(../img/barrier_free/bf03_m.jpg);
	}
	/* news */
	#news{
		padding-top: 150px;
	}
	.news_div{
		width: 100%;
		padding-left: 50px;
		padding-right: 50px;
	}
	.bsm_sub{
		font-size: 26px;
	}
	/* team */
	#team{
		height: auto;
		
	}
	.team_pc{
		display: none;
	}
	.team_mobile{
		display: block;
	}
	#tmb_photo_03 img{
		width: 300px;
	}
	/* evaluation */
	#evaluation{
		height: 860px;
	}
	.eva_main{
		width: 100%;
	}
	.eva_video{
		width: 100%;
		margin: 0 auto;
		
	}
	.eva_slick{
		width: 100%;
	}
	.eva_slick .slick-list{
		width: 768px;
		margin: 0 auto;
		overflow-x: hidden;
	}
	.es_unit{
		position: relative;
		width: 100%;
		height: auto;
	}
	
	.eva_video .slick-dots{
		bottom: -180px;
	}
	
	
	.eva_slick_info{
		transform: translateY(-15px);
		padding-left: 20px;
		padding-right: 20px;
	}
	.esi_title{
		font-size: 18px;
	}
	.es_info p{
		font-size: 16px;
		margin-top: 10px;
		margin-bottom: 0;
	}
	.esi_slick .slick-dots{
		bottom: -40px;
	}
	/* home_type */
	.home_type{
		height: auto;
	}
	.home_type_left{
		float: none;
		width: 100%;
		background-color: #fff;
		padding-top: 30px;
		padding-right: 0;
	}
	.ht_abtn{
		display: none;
	}
	.home_type_right{
		float: none;
		width: 100%;
		padding-top: 50px;
		padding-left: 0;
		padding-bottom: 50px;
	}
	.ht_slogan_div{
		width: 440px;
		margin-left: auto;
		margin-right: auto;
	}
	.ht_slogan{
		flex: 0 0 100%;
		font-size: 20px;
		text-align: center;
	}
	.ht_room{
		transform: translateX(0);
		margin-left: auto;
		margin-right: auto;
		width: 420px;
	}
	.ht_slick_m_div{
		display: block;
	}
	.ht_mcon{
		padding-left: 15px;
		padding-right: 15px;
	}
	.ht_mcont{
		padding-left: 90px;
		padding-right: 90px;
	}
	.ht_abtn2{
		display: block;
		width: 100%;
	}
	/* news */
	#news{
		height: 850px;
	}
	/* brand */
	.brand_mobile{
		display: block;
		height: 100%;
	}
	.brand_pc{
		display: none;
	}
	.bdm_p1{
		height: 100%;
	}
	.bdm_p2{
		display: block;
	}
	.bdm_p2 .img_title_hr{
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.bs_case_box.active{
		flex: 0 0 50%;
	}
	.bdm2_m_slick{
		width: 280px;
	}
	.bdm2_mbox_pad{
		padding-left: 30px;
	}
	/* contact */
	#contact{
		height: auto;
		padding-bottom: 40px;
	}
	.contact_main{
		padding-top: 120px;
	}
	.contact_form{
		margin-top: 30px;
	}
	/* map */
	#map{
		height: auto;
		
	}
	.mf_logo{
		display: none;
	}
	.mf_main{
		flex: 100%;
		padding: 20px;
	}
	.map_footer{
		height: auto;
	}
	.mf_ul{
		flex: 0 0 100%;
	}
	.map{
		display: none;
	}	
	.map_mobile{
		display: block;
	}
	.mf_main{
		padding: 0px;
		padding-top: 10px;
	}
	.mf_con{
		padding-left: 30px;
		padding-right: 30px;
	}
	.mf_info{
		margin-bottom: 20px;
		text-align: center;
	}
	.mfli_title{
		font-size: 14px;
	}
	.mfli_text{
		font-size: 15px;
	}
	/* popup */
	.eva_pcon{
		width: 100%;
		height: auto;
	}
	.eva_iframe_div{
		position: relative;
		width: 100%;
		padding-bottom: 56.25%;
		height: 0;
		overflow: hidden;
	}
	.eva_iframe_div iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.ad_pc{
		display: none;
	}
	.ad_mobile{
		display: block;
	}
	.popup_ad{
		width: 480px;
	}
	.clause_main{
		width: calc(100% - 30px);
	}
}

/* pad only */
@media (min-width: 768px) and (max-width: 999px){
	/* header */
	.main_menu{
		margin-bottom: 10px;
	}
	.hmenu_box{
		padding-left: 90px;
		padding-right: 90px;
		margin-bottom: 10px;
	}
	.hmenu_cla{
		font-size: 20px;
	}
	.hmenu_box a{
		font-size: 20px;
	}
	.hmenu_box hr{
		margin-bottom: 15px;
	}
	.hmi_left{
		padding-left: 0;
		margin-left: auto;
		margin-right: auto;
	}
	#landscape .tlr_text{
		padding-left: 90px;
		padding-right: 90px;
	}
	/* landscape */
	.landscape_main .tlr_text .text{
		font-size: 22px;
	}
	/* barrier_free */
	
	.bfs_unit{
		height: 1024px;
	}
	.bfs_unit h2{
		font-size: 42px;
	}
	.bfu_design{
		margin-top: 70px;
	}
	.bfu_p1_rdiv{
		padding-left: 0;
	}
	.bfu_p1_rtitle{
		font-size: 24px;
	}
	.bfu_p1_dtext{
		font-size: 26px;
	}
	.bfu_p1_icon{
		flex: 0 0 60px;
	}
	.bfu_con{
		margin-top: 40px;
	}
	.bfu_sul{
		width: 550px;
	}
	.bfu_sli .title{
		font-size: 21px;
	}
	.bfu_sli .separate{
		font-size: 21px;
	}
	.bfu_sli .text{
		font-size: 21px;
	}
	.bf_m_2img{
		margin-top: 50px;
	}
	.bfu_sli .title2{
		font-size: 21px;
		padding-left: 25px;
	}
	/* team */
	.team_title h1{
		font-size: 42px;
	}
	.tmb_title{
		font-size: 20px;
	}
	.tmb_name{
		font-size: 30px;
	}
	.tmb_company{
		font-size: 26px;
	}
	#tmb_cml{
		font-size: 30px;
	}
	/* home_type */
	.home_type_right hr{
		max-width: 100%;
	}
	.ht_sub{
		font-size: 24px;
	}
	.ht_sub span{
		font-size: 40px;
	}
	.home_type_right p{
		font-size: 20px;
	}
	.ht_abtn2{
		padding: 20px 0;
		font-size: 24px;
	}
	/* brand */
	.bdm_p1_main{
		width: 600px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 160px;
	}
	.bdm_p1_main h1{
		font-size: 56px;
	}
	.bdm_p1_main .sub_title{
		font-size: 30px;
	}
	.bdm_p1_main p{
		font-size: 24px;
	}
	.bdm_p1_main .bs_info{
		padding-left: 30px;
	}
	.bs_info img{
		width: 50px;
	}
	.bs_info{
		font-size: 30px;
	}
	.bs_info span{
		font-size: 48px;
	}
	.bdm_p2 h1{
		font-size: 40px;
	}
	.bdm_p2 .subtitle{
		font-size: 22px;
		letter-spacing: 6px;
	}
	.bdm2box .title{
		font-size: 16px;
	}
	.bdm2box .title span{
		font-size: 24px;
	}
	.bdm2box p{
		font-size: 16px;
	}
	/* map */
	.mf_title{
		font-size: 24px;
	}
	.mf_li{
		height: 40px;
	}
	.mfli_title{
		flex: 0 0 100px;
		font-size: 20px;
	}
	.mfli_text{
		font-size: 20px;
	}
	.mfli_pos a{
		width: 30px;
	}
}