/*#hero { position: relative; width: 100%; background: url(../img/top/bg1.jpg) right top no-repeat; background-size: cover; }*/
#hero:after { content: ""; position: absolute; top: 0; width: 100%; height: 100svh; background:url(../img/top/bg-overlay.png) right bottom no-repeat; background-size: cover; }
#hero .inner { width: 100%; max-width: 1600px; position: relative; height: 100svh; }
#hero h2 { position: absolute; right: 30px; bottom: 210px; z-index: 1; }
#hero p { position: absolute; right: 30px; bottom: 120px; z-index: 1; font-size: 18px; font-weight: 700; line-height: 30px; }

#news { position: relative; margin-top: -120px; }
#news .inner { width: 50%; margin: 0; display: flex; padding: 30px; border-radius: 0 20px 0 0; background: #FFF; }
#news h3 { margin-right: 30px; }
#news h3 b { display: block; font-family: 'Noto Sans JP', sans-serif; font-size: 32px; font-weight: 900; line-height: 40px; color: #323232; }
#news h3 small { display: block; font-size: 18px; line-height: 20px; color: #4BB347; }
#news ul { width: 100%; margin-top: -10px; }
#news ul li { }
#news ul li a { height: 50px; display: flex; align-items: center; color: #323232; border-bottom: solid 2px #EDEDED; }
#news ul li time { font-size: 16px; margin-right: 15px; }
#news ul li b { font-size: 18px; }

#about { padding: 120px 0; }
#about .inner { position: relative; display: flex; justify-content: space-between; }
#about .inner:after { content:""; width: 600px; height: 530px; background:url(../img/top/bg-contents.png) no-repeat; position: absolute; top: -60px; right: -60px; }
@media only screen and (max-width: 1200px) {
	#about .inner:after { right: 0; }
}
#about .inner div { width: 600px; order: 2; z-index: 1; }
#about figure { width: 520px; height: 520px; display: flex; justify-content: center; align-items: center; border-radius: 20px; overflow: hidden; z-index: 1; }
#about figure img { height: 520px; }
#about h4 { font-size: 28px; line-height: 40px; color: #26B58E; margin-top: 30px; }
#about p { font-size: 18px; font-weight: 700; line-height: 30px; margin-top: 30px; }

#work { padding: 120px 0; background-image: linear-gradient(#4bb44822, #26b58e22); }
#work .inner { position: relative; }
#work .inner:after { content:""; width: 600px; height: 530px; background:url(../img/top/bg-contents.png) no-repeat; position: absolute; top: -60px; left: -60px; }
#work .inner div { display: flex; width: 1200px; margin: 0 auto; justify-content: space-between; position: relative; z-index: 1; }
@media only screen and (max-width: 1200px) {
	#work .inner:after { left: 0; }
	#work .inner div { width: 100%; }
}
#work .inner div p { font-size: 18px; line-height: 30px; font-weight: 700; }
#work section { display: block; width: 1000px; margin: 60px auto 0; padding: 60px; background: #FFF; border-radius: 20px; box-shadow: 0 0 20px #0002; box-sizing: border-box; position: relative; z-index: 1; }
#work section figure img { width: 420px; height: 280px; border-radius: 20px; }
#work section h4 { font-size: 28px; line-height: 40px; color: #26B58E; }
#work section p { margin-top: 30px; }
#work section ul { margin-top: 30px; }
#work section ul li { font-size: 18px; line-height: 30px; margin-top: 5px; }
#work section ul li h5 { margin: 0; font-size: 18px; line-height: 30px; }
#work section ul li h5 b { color: #FFE93B; margin-right: 5px; }
#work .work { display: flex; padding: 30px; justify-content: space-between; }
#work .inner section div { display: block; width: 490px; margin: 0; }
#work .work2 div, #work .work4 div { order: 2; }

#space { padding: 120px 0; }
#space .inner { position: relative; display: flex; justify-content: space-between; }
#space .inner:after { content:""; width: 600px; height: 530px; background:url(../img/top/bg-contents.png) no-repeat; position: absolute; top: -60px; right: -60px; }
@media only screen and (max-width: 1200px) {
	#space .inner:after { right: 0; }
}
#space .inner div { width: 600px; order: 2; z-index: 1; }
#space iframe { width: 520px; height: 520px; border: 0; border-radius: 20px; z-index: 1; }
#space h4 { font-size: 28px; line-height: 40px; color: #26B58E; margin-top: 60px; }
#space table { width: 100%; margin-top: 30px; border-collapse: collapse; border-top: solid 2px #EDEDED; }
#space table th { padding: 10px 20px; font-size: 16px; line-height: 30px; text-align: left; font-weight: 400; border-bottom: solid 2px #EDEDED; }
#space table td { padding: 10px 20px; font-size: 18px; line-height: 30px; font-weight: 700; border-bottom: solid 2px #EDEDED; }
#contact { padding: 120px 0; background-image: linear-gradient(#4bb44866, #26b58e66); }
#contact h3 { text-align: center; }
#contact form { width: 1000px; margin: 60px auto 0; padding: 60px; background: #FFF; border-radius: 20px; box-shadow: 0 0 20px #0002; box-sizing: border-box; }
#contact form table { width: 100%; border-collapse: collapse; border-top: solid 2px #EDEDED; }
#contact form table th { width: 300px; background: #FFFDEB; padding: 10px 20px; font-size: 20px; line-height: 30px; text-align: left; border-bottom: solid 2px #EDEDED; }
#contact form table th span { display: block; width: 40px; font-size: 14px; line-height: 20px; text-align: center; background: #FFE93B; color: #F08200; border-radius: 10px; float: right; }
#contact form table td { padding: 10px 20px; font-size: 18px; line-height: 30px; font-weight: 700; border-bottom: solid 2px #EDEDED; }
#contact form input[type=text],#contact form input[type=tel],#contact form input[type=email] { width: 520px; font-size: 16px; line-height: 20px; border-radius: 8px; padding: 8px; border: solid 2px #D6D6D6; }
#contact form label+input[type=text] { width: 400px; }
#contact form select { font-size: 16px; line-height: 20px; border-radius: 8px; padding: 8px; border: solid 2px #D6D6D6; }
#contact form input[type=checkbox] { width: 20px; height: 20px; margin-right: 5px; }
#contact form label { display: inline-block; font-size: 18px; line-height: 20px; margin: 0 30px 15px 0; }
#contact form textarea { width: 520px; height: 10em; font-size: 16px; line-height: 20px; border-radius: 8px; padding: 8px; border: solid 2px #D6D6D6; }
#contact form input[type=submit] { display: block; width: 320px; line-height: 80px; background: #F08200; color: #FFF; border-radius: 40px; margin: 30px auto 0; font-size: 32px; font-weight: 700; transition: .3s; }
#contact form input[type=submit]:hover { opacity: 0.6; }
.wpcf7-list-item { margin: 0 !important; }

@media only screen and (max-width: 1000px) {
	#hero:after { height: 50svh; min-height: 400px; }
	#hero .inner { height: 50svh; min-height: 400px; }
	#hero h2 { bottom: 45px; }
	#hero h2 img { width: 525px; }
	#hero p { display: none; }

	#news { position: relative; margin-top: 0; }
	#news .inner { width: calc(100% - 40px); margin: -60px auto 0; display: block; padding: 20px 0 0; border-radius: 20px 20px 0 0; }
	#news h3 { margin-right: 0; margin-left: 20px; }
	#news h3 b { display: inline-block; margin-right: 10px; }
	#news h3 small { display: inline-block; }
	#news ul { margin-top: 20px; border-top: solid 2px #EDEDED; }
	#news ul li a { padding: 0 20px; }
	#news ul li time { font-size: 16px; margin-right: 15px; }
	#news ul li b { font-size: 18px; }

	#about .inner { position: relative; display: block; padding: 0 20px; }
	#about .inner:after { right: 50%; margin-right: -300px; }
	#about .inner div { width: 100%; }
	#about figure { width: 100%; height: auto; display: block; margin-top: 30px; text-align: center; }
	#about figure img { width: 100%; max-width: 520px; height: auto; border-radius: 20px; }
	#about h3 { text-align: center; }

	#work .inner { padding: 0 20px; }
	#work .inner:after { left: 50%; margin-left: -300px; }
	#work .inner div { display: block; width: 100%; }
	#work h3 { text-align: center; }
	#work .inner div p { margin-top: 30px; }
	#work section { display: block; width: 100%; margin: 30px 0 0; }
	#work section figure img { width: 300px; height: auto; }
	#work .work { padding: 20px; }
	#work .inner section div { width: calc(100% - 320px); }

	#space .inner { padding: 0 20px; display: block; }
	#space .inner:after { right: 50%; margin-right: -300px; }
	#space .inner div { width: 100%; }
	#space h3 { text-align: center; }
	#space iframe { width: 100%; height: 400px; margin-top: 30px; }
	#space h4 { margin-top: 30px; }

	#contact .inner { padding: 0 20px; }
	#contact form { width: 100%; margin: 30px auto 0; padding: 20px; }
	#contact form table { width: 100%; }
	#contact form table th { width: 240px; }
	#contact form input[type=text],#contact form input[type=tel],#contact form input[type=email] { width: 400px; }
	#contact form label+input[type=text] { width: 280px; }
	#contact form textarea { width: 400px; }

}


@media only screen and (max-width: 600px) {
	#hero h2 img { width: 240px; }

	#about { padding: 60px 0; }
	#about h3 img { width: 300px; }
	#about .inner:after { width: 300px; height: 265px; background-size: 300px; top: -30px; right: 50%; margin-right: -150px; }
	#about h4 { font-size: 20px; line-height: 30px; }
	#about p { font-size: 14px; line-height: 25px; margin-top: 15px; }

	#news ul li a { height: 40px; }
	#news ul li time { font-size: 12px; margin-right: 15px; }
	#news ul li b { font-size: 14px; }
	
	#work { padding: 60px 0 30px; }
	#work h3 img { width: 300px; }
	#work .inner:after { width: 300px; height: 265px; background-size: 300px; top: -30px; left: 50%; margin-left: -150px; }
	#work .inner section div { width: 100%; margin-bottom: 20px; }
	#work .inner div p { font-size: 14px; line-height: 25px; margin-top: 15px; margin-bottom: 30px; }
	#work section h4 { font-size: 20px; line-height: 30px; }
	#work section ul { margin-top: 15px; }
	#work section ul li { font-size: 14px; line-height: 25px; }
	#work section ul li h5 { font-size: 14px; line-height: 25px; }
	#work section ul li h5 b { }
	#work section figure { position: absolute; }
	#work section figure img { width: 300px; height: 200px; }
	#work .work { display: block; padding: 20px 20px 40px; position: relative; margin: 0 0 190px; }
	#work .work1, #work .work33 { left: -20px; border-radius: 0 20px 20px 0; }
	#work .work1 figure, #work .work3 figure { position: absolute; right: -20px; }
	#work .work2, #work .work4 { right: -20px; border-radius: 20px 0 0 20px; }
	#work .work2 figure, #work .work4 figure { position: absolute; left: -20px; }

	#space { padding: 60px 0; }
	#space h3 img { width: 300px; }
	#space .inner:after { width: 300px; height: 265px; background-size: 300px; top: -30px; right: 50%; margin-right: -150px; }
	#space h4 { font-size: 20px; line-height: 30px; margin-top: 30px; }
	#space table { margin-top: 15px; }
	#space table th { font-size: 14px; line-height: 25px; padding: 10px; }
	#space table td { font-size: 14px; line-height: 25px; padding: 10px; }
	#space iframe { margin-top: 15px; }
	
	#contact { padding: 60px 0; }
	#contact h3 img { width: 300px; }
	#contact form table { width: 100%; }
	#contact form table th { width: 100%; display: block; box-sizing: border-box; border: 0; padding: 10px 0 0; background: none; font-size: 14px; line-height: 25px; }
	#contact form table td { width: 100%; display: block; box-sizing: border-box; padding: 10px 0; font-size: 14px; line-height: 25px; }
	#contact form input[type=text],#contact form input[type=tel],#contact form input[type=email] { width: 100%; box-sizing: border-box; }
	#contact form label+input[type=text] { width: 100%; box-sizing: border-box; }
	#contact form textarea { width: 100%; box-sizing: border-box; }
	#contact form input[type=submit] { width: 240px; line-height: 60px; font-size: 24px; }
}