#home { background:#fff; color:#202020; padding-bottom:90px; }
#home h1, #home h2, #home h3 { line-height:1.25; font-weight:800; word-break:keep-all; }
#home p { line-height:1.75; color:#666; word-break:keep-all; }
.home-inner { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.home-kicker { display:block; margin-bottom:14px; font-size:12px; font-weight:800; color:#e35d35; text-transform:uppercase; }
.home-link { display:inline-flex; align-items:center; justify-content:center; height:42px; margin-top:28px; padding:0 22px; border:1px solid #202020; font-size:14px; font-weight:700; transition:background .2s, color .2s; }
.home-link:hover { background:#202020; color:#fff; }
.home-placeholder { display:flex; align-items:center; justify-content:center; min-height:180px; background:#f1f1ef; border:1px solid #e1e0dc; color:#9b9a94; font-size:12px; font-weight:800; text-transform:uppercase; }
.home-visual { padding:72px 0 76px; background:#f8f8f6; }
.home-visual-grid { display:grid; grid-template-columns:0.92fr 1.08fr; gap:54px; align-items:center; }
.home-visual-copy h1 { max-width:570px; font-size:48px; }
.home-visual-copy p { max-width:520px; margin-top:22px; font-size:17px; }
.home-visual-box { min-height:420px; background:url("../img/_bg.png") center/cover no-repeat; }
.home-visual-box span, .home-img span { display:none; }
.home-img { background-position:center; background-size:cover; background-repeat:no-repeat; }
.home-img-1 { background-image:url("../img/item-1.png"); }
.home-img-2 { background-image:url("../img/item-2.png"); }
.home-img-3 { background-image:url("../img/item-3.png"); }
.home-img-4 { background-image:url("../img/item-4.png"); }
.home-img-5 { background-image:url("../img/item-5.png"); }
.home-img-6 { background-image:url("../img/item-6.png"); }
.home-img-7 { background-image:url("../img/item-7.png"); }
.home-about { padding:86px 0; }
.home-split { display:grid; grid-template-columns:0.82fr 1.18fr; gap:70px; align-items:start; }
.home-split h2 { font-size:36px; }
.home-about-text { padding-top:8px; }
.home-note-list { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin-top:28px; }
.home-note-list li { padding:18px 16px; background:#fafafa; border:1px solid #ededed; font-weight:700; text-align:center; }
.home-services { padding:86px 0; background:#f7f5f1; }
.home-section-head { max-width:620px; margin:0 auto 34px; text-align:center; }
.home-section-head h2 { font-size:34px; }
.home-service-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:22px; }
.home-service-grid article { background:#fff; border:1px solid #ece8df; padding:18px; }
.home-service-grid .home-placeholder { min-height:170px; }
.home-service-grid h3 { margin-top:20px; font-size:20px; }
.home-service-grid p { margin-top:10px; font-size:15px; }
.home-portfolio { padding:86px 0 0; }
.home-portfolio-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:22px; }
.home-portfolio-grid article { min-width:0; }
.home-portfolio-grid article.wide { grid-column:auto; }
.home-portfolio-grid .home-placeholder { min-height:250px; }
.home-portfolio-grid h3 { margin-top:14px; font-size:17px; }
@media (max-width:900px){
	.home-visual-grid { grid-template-columns:1fr; gap:34px; }
	.home-visual-copy h1 { font-size:38px; }
	.home-visual-box { min-height:320px; }
	.home-split { grid-template-columns:1fr; gap:28px; }
	.home-note-list { grid-template-columns:1fr; }
	.home-service-grid { grid-template-columns:1fr; }
	.home-portfolio-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
	#home { padding-bottom:64px; }
	.home-inner { width:calc(100% - 28px); }
	.home-visual { padding:54px 0 58px; }
	.home-visual-copy h1 { font-size:32px; }
	.home-visual-copy p { font-size:15px; }
	.home-visual-box { min-height:240px; }
	.home-about, .home-services, .home-portfolio { padding:60px 0; }
	.home-split h2, .home-section-head h2 { font-size:28px; }
	.home-portfolio-grid { grid-template-columns:1fr; }
	.home-portfolio-grid article.wide { grid-column:auto; }
	.home-portfolio-grid .home-placeholder { min-height:210px; }
}
