@media screen and (max-width: 870px) {
.filter-list{
    display: flex;
    flex-wrap:wrap;
	column-gap: 20px;
	row-gap: 20px;
}
.filter-list li{
	width:45%;
}
}
@media screen and (max-width: 768px) {
.main{
	height:calc(100vh - 115px);
}
 .wrap{
	padding:35px 15px 40px;
}
header .inner h1 img{
	height:40px;
}
header .inner{
	padding:0;
}
.pc_on{
	display:none;
}
.sp_on{
	display:block;
}
	.news-grid {
		grid-template-columns: 1fr; /* スマホでは1カラム（縦並び）にする */
		column-gap: 0;
	}
	.n_area_1 {
		padding: 80px 0px 80px;
	}
	.n_area_1 .logo_h3{
		margin-bottom:70px;
	}
	.news-thumb {
		width: 100px; /* スマホ時は少し画像を小さく */
	}
	.s_area_1 .section-white,
	.s_area_1 .section-gray {
		padding: 60px 0;
	}
	.s_area_1 .row,
	.s_area_1 .row.reverse {
		flex-direction: column;
		gap: 40px;
	}
	.s_area_1 .col-image,
	.s_area_1 .col-text {
		width: 100%;
	}
	.s_area_1 .col-text {
		padding: 20px;
	}
	.c_area_2 .concept-block,
	.c_area_2 .concept-block.reverse {
		flex-direction: column;
		gap: 30px;
		margin-bottom: 60px;
		align-items:flex-start;
	}
	.concept-image{
		width:100%;
		text-align:center;
	}
	.c_area_2 .concept-image img{
		max-width:408px;
		display:inline-block;
	}
	.c_area_2 .concept-text {
		padding-top: 0;
	}
	.c_area_2 .number-img {
		width: 45px;
	}
	.c_area_2 .concept-block.three{
		margin-top:0;
		align-items:flex-start;
	}
	.c_area_2 .concept-text h2{
		font-size:24px;
	}

	.gallery-grid {
		grid-template-columns: repeat(2, 1fr); /* タブレットでは2カラム */
		column-gap: 20px;
		row-gap: 40px;
	}
	.filter-list li a {
		padding: 8px 16px;
		font-size: 12px;
	}
.area_1 .inner .big{
	font-size:20px;
}
.logo_title>div>div:first-child *{
	font-size:20px;
}
.logo_title>div>div:last-child{
	font-size:15px;
}
.logo_title>div {
	transform: translate(0%, -13%);
}
.basic_text{
	font-size:12px;
}
.area_2{
	padding-bottom:100px;
}
.area_2 .inner{
	padding:100px 30px 50px;
}
.area_2 .flex {
	flex-wrap:wrap;
}
.area_2 .flex figure{
	width:100%;
	order:2;
	height:300px;
}
.area_2 .flex .text{
	padding:0 30px 100px;
	width:100%;
}
.area_2 .flex .text .basic_text{
	margin-bottom:50px;
}
.area_4 .inner{
	padding:100px 30px 80px;
}
.area_4 .inner .gallery-grid, .w_area_2 .inner .gallery-grid{
	grid-template-columns: repeat(1, 1fr);
	max-width:400px;
	width:100%;
	margin:0 auto;
}
.area_4 .inner .gallery-grid{
	margin:0 auto 50px;
}

.area_5 .inner{
	padding:100px 30px 80px;
}
.area_5 .news-grid{
	margin-bottom:50px;
}
.area_5 .head_flex{
	margin-bottom:50px;
}
.footer_top .inner .flex .tel .items{
	width:100%;
	margin-bottom:0;
}
.footer_top .inner .flex .tel{
	display:block;
	text-align:center;
}
.footer_top .inner .flex .tel a.contact{
	display:inline-block;
	margin-top:20px;
}
.footer_top .logo_title{
	margin-bottom:80px;
}
.footer_top .inner{
	padding:100px 30px 120px;
}
.footer-sitemap .sitemap-container{
	display:block;
	width:240px;
	margin:0 auto 50px;
}
.sitemap-column{
	margin-bottom:30px;
	text-align:center;
}
.sitemap-column-right{
	min-height:auto;
	height:auto;
	text-align:center;
}
.sitemap-title{
	text-align:center;
}
.list-with-dash li{
	padding-left:0;
}
.list-with-dash li::before{
	display:none;
}
.sitemap-column, .sitemap-column-right{
	padding:0;
}
.footer-sitemap .logo{
	display:block;
	width:100%;
}
.concept .main,
.news .main,
.works .main,
.service .main,
.company .main{
	height:400px;
}
.logo_h3 .big{
	font-size:24px;
}
.logo_h3 .big *{
	font-size:24px;
	font-weight:bold;
}
.logo_h3 .small{
	font-size:10px;
}
.company_area_2 .img{
	display:none;
}
.company_area_2 .text_area{
	padding-right:0;
	margin-bottom:40px;
	width:100%;
}
.company_area_3 .flex{
	flex-wrap:wrap;
}
.company_area_3 .img{
	order:2;
	width:100%;
	height:500px;
}
.company_area_3 .text_area{
	width:100%;
	padding:0 30px 60px;
}
.c_area_1 .inner .flex{
	display:block;
}
.c_area_1 .inner .flex .left{
	width:100%;
	padding:0;
	margin-bottom:50px;
	text-align:center;
	font-size:24px;
}
.c_area_1 .inner .flex .right{
	width:100%;
	padding:0;
	text-align:center;
}
.c_area_1 .logo_h3{
	margin-bottom:80px;
}
.c_area_2 .head_text,
.c_area_3 .head_text{
	padding:50px;
}
.c_area_2 .head_text p,
.c_area_3 .head_text p{
	font-size:24px;
}
.c_area_2{
	background-size:auto 280px;
}
.c_area_3{
	background:none;
}
.c_area_3 .inner.one{
	background:url(./images/concept/c_img_bk_2.jpg);
	background-size:cover;
	background-repeat:no-repeat;
	background-position:center top;
	height:480px;
	padding:120px 80px 80px;
}
.c_area_3 .inner.two p{
	font-size:24px;
}
.s_area_1 .row{
	flex-wrap:wrap;
}
.s_area_1 .col-text{
	width:100%;
	order:1;
}
.s_area_1 .reverse .col-text{
	padding:20px;
}
.s_area_1 .col-image{
	width:100%;
	order:2;
}
.s_area_1 .col-image img{
	width:812px;
	height:auto;
}
.company_area_ayumi h2,.company_area_2 h2, .company_area_3 h2, .s_area_1 .col-text h2{
	text-align:center;
	font-size:24px;
}
.company_area_ayumi h2 span,.company_area_2 h2 span, .company_area_3 h2 span, .col-text h2 span{
	font-size:12px;
}
.s_area_1 .col-text p{
	text-align:left;
	margin-bottom:50px;
}
.s_area_1 .col-text{
	text-align:center;
}
.s_area_1 .row, .s_area_1 .row.reverse{
	gap:70px;
}
.s_area_1 .logo_h3{
	margin-bottom:80px;
}
.company_area_ayumi .inner .right{
	width:100%;
}
.company_area_ayumi h2{
	margin-bottom:80px;
}

}

@media screen and (max-width: 480px) {
	.gallery-grid {
		grid-template-columns: 1fr; /* スマホでは1カラム */
	}
.area_1 .inner{
	padding:80px 30px;
}
.area_2 .inner{
	padding:80px 30px 50px;
}
.area_2 .flex .text{
	padding:0 30px 80px;
}
.area_2 .flex .text .title{
	font-size:18px;
}
.area_2{
	padding-bottom:80px;
}
.area_3 .inner{
	padding:0 30px 80px;
}
.area_3 .links.one,
.area_3 .links.two,
.area_3 .links.three,
.area_3 .links.four,
.area_3 .links.five,
.area_3 .links.six,
.area_3 .links.seven,
.area_3 .links{
	background-size:cover;
	background-image:url(./images/top/top_service_1.jpg);
	animation: none;

}
.area_3 .links .flex:last-child,
.area_3 .links .flex{
	height:auto;
}
.area_3 .links .flex .box{
	width:50%;
	height:175px;
	padding:50px 20px;
}
.area_3 .links .flex .box p{
	font-size:12px;
	margin-bottom:10px;
	font-weight:bold;
}
.area_3 .links .flex .box p:last-child{
	margin-bottom:0px;
	font-size:10px;
}
.area_3 .links .flex:last-child{
	flex-wrap:wrap;
}
.area_3 .links .flex:last-child .box:last-child{
	width:100%;
	border-top: 1px solid #fff;
}
.area_3 .links .flex .box{
	flex:auto;
}
.footer_top .inner .flex .tel a.tel_num{
	font-size:40px;
}
.footer_top .inner .flex .tel a{
	width:100%;
}
.area_3{
	padding-bottom:80px;
}
.area_4 .inner{
	padding:60px 30px 80px;
}
.area_5 .inner{
	padding:80px 30px 80px;
}
.footer_top .logo_title{
	margin-bottom:45px;
}
.company_area_1 .inner{
	padding:80px 30px 70px;
}
.company_area_2 .inner{
	padding:80px 30px 80px;
}
.company_area_3 .inner{
	padding:80px 30px 0px;
}
.company_area_3 {
	padding-bottom:100px;
}
.logo_h3 .big{
	margin-bottom:5px;
}
.logo_h3 img{
	height:20px;
	margin-bottom:0;
}
.company_area_ayumi h2,.company_area_2 h2, .company_area_3 h2, .s_area_1 .col-text h2{
	font-size:24px;
}
.c_area_1 .inner{
	padding:80px 30px 100px;
}
.c_area_2 .head_text p, .c_area_3 .head_text p{
	font-size:17px;
}
.c_area_3 .inner.two{
	padding:110px 30px;
}
.c_area_3 .inner.two p{
	font-size:17px;
}
.w_area_1 .inner{
	padding:80px 30px 70px;
}
.concept .main, .news .main, .works .main, .service .main, .company .main{
	height:200px;
}
.contact_area .inner table{
	display:block;
	margin-bottom:40px;
}
.contact_area .inner table{
/*	border-top:1px solid #eee;*/
}
.contact_area.entry_form .inner table.first_table th,
.contact_area.mid_entry_form .inner table.first_table th,
.contact_area .inner th{
	display:block;
	padding:30px 0 0;
	border:0;
	width:100%;
}
.contact_area.entry_form .inner table.first_table th,
.contact_area.entry_form .inner table.first_table td,
.contact_area.mid_entry_form .inner table.first_table th,
.contact_area.mid_entry_form .inner table.first_table td{
	border-top:none;
}
.contact_area .inner th .flex .item{
	width:auto;
}
.contact_area .inner th .flex .item br{
	display:none;
}
.contact_area .inner th .flex .hissu {
    font-size: 10px;
    color: #fff;
    padding: 7px 10px;
    border-radius: 6px;
}
.contact_area .inner tbody,
.contact_area .inner tr{
	display:block;
	width:100%;
}
.contact_area .inner td{
	display:block;
	line-height:1.7;
	padding:15px 0 30px;
	font-size:12px;
	width:100%;
}
.contact_area .inner td .tel_short{
	width:100%;
}
.contact_area .inner td .zip_area{
	margin-bottom:20px;
	padding-top:5px;
}
.contact_area .inner td .zip_text input{
	margin-bottom:20px;
}
.contact_area .inner .tel_flex .tel_num_area .border{
	font-size:15px;
}
.contact_area .inner .tel_flex .tel_num_area a{
	font-size:43px;
}
.contact_area .logo_h3{
	margin-bottom:60px;
}
input[type="submit"]:nth-child(2){
	margin-top:10px;
}
.contact_area .inner td .short{
	width:100%;
}
.company_area_ayumi .inner .ayumi .year{
	width:97px;
}
.company_area_ayumi .inner .ayumi .basic_text{
	font-size:12px;
	width:calc(100% - 180px);
}
.company_area_ayumi .inner .ayumi .circle{
	padding-top:0;
}
.sidebar{
	width:40px;
	top:auto;
	bottom:50px;

}
.sidebar .side_line_btn,
.sidebar .side_tel_btn{
	padding:10px 4px 10px 9px;
	border-radius:7px 0 0 7px;
	width:40px;
}
header.is-fixed .wrap{
	padding:20px 15px 20px;
}
.news_detail .inner .title{
	font-size:23px;
}
}
