@charset "utf-8";

.sans-en{
	font-family: 'Outfit', sans-serif;
}

.zen{
	font-family: 'Zen Maru Gothic', sans-serif;
}

.serfi{
	font-family: 'Noto Serif JP', serif;
}

.form div:first-of-type p:last-of-type{
	position: relative;
}

.form div:first-of-type p:last-of-type::after {
	content: "";
	display: block;
	position: absolute;
	right: 37px;
	top: 50%;
	transform: translatey(-50%);
	width: 13px;
	height: 7px;
	background-size: cover;
	background-repeat: no-repeat;
	background-image: url(../img/common/arrow.svg);
}

/* パンくずリスト-----------------------*/

.Pankuzu {
	font-size: 12px;
	position: relative;
	white-space: nowrap;
	overflow: hidden;
}

.inner_pankuzu{
	padding: 0 10% 20px;
	border-bottom: 1px solid #F1F6FB;
}

.PankuzuList a {
	color: #989898;
	padding-right: 25px;
	margin-right: 15px;
	position: relative;
}

.PankuzuList li:first-of-type a{
	font-weight: 600;
}

.PankuzuList a:after {
	content: 'ー';
	color: #989898;
	position: absolute;
	right: 0;
}

.Pankuzu::after {
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff);
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

@media screen and (max-width:768px) {
	.Pankuzu {
		padding: 10px 0;
	}

	.inner_pankuzu {
		padding: 0 6% 20px;
	}

	.PankuzuList a {
		padding-right: 20px;
		margin-right: 10px;
	}
}


/* ---------------------------------------
* blog
------------------------------------------ */

.blog_list{
	width: 31.4%;
	border-radius: 10px;
	transition: all .3s;
}

.blog_list:hover{
	box-shadow: 0 6px 10px rgba(0,0,0,.05);
}

.blog_list a{
	display: block;
	outline: none;
	padding: 0 0 30px;
}

.blog_list_img_wrap{
	border-radius: 10px 10px 0 0;
	border: unset;
}

.blog_list_txt{
	padding: 20px 10px 0;
}

.company{
	font-size: 12px;
	padding-bottom: 5px;
}

.blog_list_txt h3{
	font-size: 18px;
	font-weight: 600;
	padding-bottom: 20px;
}

.category span{
	display: inline-block;
	font-size: 12px;
	color: #8A8EAF;
}

.category span:not(:first-of-type){
	padding-left: 5px;
	margin-left: 5px;
	position: relative;
}

.category span:not(:first-of-type)::before{
	content:"|";
	display: block;
	font-size: 12px;
	letter-spacing: normal;
	position: absolute;
	left: -5px;
	top: 0;
}

/* ---------------------------------------
* common
------------------------------------------ */

.MainWrap{
	position: relative;
}


.access{
	text-decoration: underline;
	display: block;
}


.headerLogo a{
	display: block;
	/* overflow: hidden;
	line-height: 0;
	white-space: nowrap;
	text-indent: 100%; */
	width: 248px;
}

/* .headerLogo a p{
font-size: 12px;
line-height: 100%;
padding-bottom: 10px;
} */

.headerLogo a h1{
	font-size: 18px;
	font-weight: 500;
	line-height: 100%;
	width: 100%;
	/*height: 49px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/logo.png); */
}

.footer_logo{
	/* display: block;
	overflow: hidden;
	line-height: 0;
	white-space: nowrap;
	text-indent: 100%; */
	width: 254px;
}

.footer_logo h2{
	width: 100%;
	/* height: 48px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/footer-logo.png); */
	font-size: 18px;
	letter-spacing: 100%;
	color: #fff;
}

.btn.sp{
	display: none;
}



/* --------------------------------
* Top ページ
----------------------------------- */

.top_works{
	position: relative;
	padding-top: 213px;
}

.btn-works{
	display: block;
	width: 246px;
	margin: 40px auto 0;
}

.mv-txt{
	padding-bottom: 40px;
}

.mv-txt h2{
	font-weight: 100;
	font-size: 100px;
	letter-spacing: normal;
	line-height: 120%;
	padding-bottom: 40px;
	position: relative;
}

.mv-txt h2 span{
	display: block;
}

.mv-txt h2 span:nth-of-type(2){
	padding-left: 150px;
}

.mv-txt h2 span:first-of-type{
	position: absolute;
	left: 0;
	top: 20px;
}

.mv-txt p{
	font-size: 18px;
	letter-spacing: normal;
	line-height: 180%;
}

.mv-img{
	position: relative;
}

.mv-shape{
	position: absolute;
	right: 60px;
	top: -80px;
}

.mv-img .img{
	border-radius: 20px;
	height: 600px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/mv.png);
}

.sec01{
	padding-bottom: 250px;
	position: relative;
}

.bottom{
	position: absolute;
	left: 0;
	bottom: 0;
}

.sec01-l{
	width: 55.55%;
}

.sec01-l h2{
	font-size: 64px;
	line-height: 140%;
	letter-spacing: 0.2em;
}

.sec01-l p{
	padding-left: 60px;
	padding-top: 60px;
}

.sec01-r{
	width: 38.88%;
}

.sec02{
	padding-top: 40px;
	padding-bottom: 60px;
	background-color: #fff;
}

.sec02-listItem:not(:last-of-type){
	padding-bottom: 120px;
}

.sec02-listTtl{
	border-bottom: 1px #D2D2D2 solid;
	margin-bottom: 60px;
}

.sec02-listTtl .num{
	font-size: 160px;
	line-height: 100%;
	letter-spacing: normal;
	color: #D2D2D2;
	font-weight: 100;
}

.reverse{
	flex-direction: row-reverse;
}

.sec02-listImg{
	width: 50%;
}

.sec02-listTxt{
	width: 44.444%;
}

.sec02-listTxt>p{
	padding: 40px 0;
}

.sec02-listTxt .btn{
	display: block;
	margin-left: auto;
	width: 246px;
}

/* ----------------------------
* company
------------------------------- */

.info-defList{
	padding: 30px 0;
	border-bottom: 1px solid #D2D2D2;
}

.info-defList:first-of-type{
	border-top: unset;
	padding-top: 0;
}

.info-defTitle{
	width: 240px;
	flex: 0 0 240px;
}

.info-defDesc{
	flex: 1 1 auto;
}

.info-defDesc p:not(:last-of-type){
	padding-bottom: 30px;
}

.info-defDesc p span{
	display: block;
}

.info-defDesc p span:first-of-type{
	font-weight: 700;
}

.maps-wrapper{
	padding-bottom: 20px;
}

.info-defDesc a{
	display: inline-block;
	outline: none;
	text-decoration: underline;
	color: #000;
}

/* ----------------------------
* garden
------------------------------- */
.page-mv{
	margin-bottom: 80px;
	padding-bottom: 96px;
	border-bottom: solid 1px #D2D2D2;
}

.page-mv .img{
	border-radius: 20px;
	height: 380px;
	background-repeat: no-repeat;
	background-size: cover;
}

.page-mv-ga .img{
	background-image: url(../img/gardening/mv.png);
}

.page-mvTxt h2{
	font-size: 40px;
	line-height: 140%;
	letter-spacing: 0.2em;
	width: 50%;
}

.page-mvTxt p{
	width: 50%;
}

.section-trouble{
	position: relative;
	padding-bottom: 90px;
}

.trouble-ttl{
	font-size: 32px;
	line-height: 140%;
	letter-spacing: 0.2em;
	padding-left: 46px;
	position: relative;
}

.trouble-ttl::before{
	content: "";
	width: 26px;
	height: 26px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/gardening/shape.png);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.trouble-listItem{
	width: 47.22%;
}

.trouble-listItem:nth-of-type(-n+2){
	margin-bottom: 30px;
}

.trouble-listImg{
	width: 31.3%;
}

.trouble-listTxt{
	width: 62.7%;
}

.trouble-listTxt h3{
	font-weight: 600;
	padding-bottom: 20px;
	font-size: 20px;
	line-height: 140%;
	letter-spacing: 0.2em;
	color: #009474;
}

.video-wrapper{
	width: 77.77%;
	margin: 0 auto;
}

.txt-banner p{
	font-size: 145px;
	font-size: 12vw;
	letter-spacing: 0.02em;
	line-height: 120%;
	font-weight: 100;
	color: #FFFFFF;
}

.section-feature{
	background-color: #1E322F;
}

.col-w{
	color: #fff;
}

.feature-listItem:not(:last-of-type){
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: 1px solid #D2D2D2;
}

.feature-l{
	width: 37.5%;
}

.feature-r{
	width: 56.25%;
}

.feature-txt{
	padding-top: 30px;
}

.feature-txt p:not(:first-of-type){
	padding-top: 30px;
}

.section-price{
	position: relative;
	padding-top: 255px;
}

.top{
	position: absolute;
	left: 0;
	top: 0;
}

.price-contents{
	margin-top: 60px;
	padding: 60px 120px;
	background-color: #fff;
	border-radius: 20px;
	border: solid 1px #009474;
}

.price-l{
	width: 35.7%;
}

.price-l p{
	font-size: 32px;
	line-height: 140%;
	letter-spacing: 0.2em;
}

.price-r{
	width: 74.7%;
}

.price-r p:first-of-type{
	font-weight: 600;
}

.price-r p:first-of-type span{
	display: inline-block;
	font-size: 64px;
	line-height: 160%;
	letter-spacing: normal;
}

.caution{
	padding-top: 10px;
	font-size: 14px;
}

.flow_wrapper{
	background-color: #fff;
	padding: 60px;
	margin-top: 60px;
	border-radius: 20px;
	border: solid 1px #009474;
}

.flow_listItem{
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: 1px solid #D2D2D2;
}

.flow_listItem:last-of-type{
	margin-bottom: 0;
	padding-bottom: 0;
	border: unset;
}

.flow_num{
	width: 8.1%;
	text-align: center;
}

.flow_num span{
	display: block;
	font-weight: 500; 
	text-transform: uppercase;
	letter-spacing: 0.02em;
	line-height: 160%;
}

.flow_num span:first-of-type{
	font-size: 18px;
}

.flow_num span:last-of-type{
	font-size: 32px;
}

.flow_txt{
	width: 79.4%;
}

.flow_txt h3{
	font-weight: 600;
	font-size: 22px;
	line-height: 160%;
	letter-spacing: 0.02em;
}

.flow_txt p{
	padding-top: 20px;
	letter-spacing: 0.08em;
}

.page-mv-mo .img{
	background-image: url(../img/movie/mv.png);
}
@media screen and (max-width:768px) {

	.top_works {
		position: relative;
		padding-top: 100px;
	}

	.form div:first-of-type p:last-of-type::after {
		right: 20px;
		top: 29px;
		transform: unset;
	}
	/* ---------------------------------------
	* common
	------------------------------------------ */
	body {
		font-size: 14px;
	}

	.btn.sp{
		display: block;
	}

	.btn.pc{
		display: none;
	}

	.headerLogo a{
		width: 248px;
	}


	.headerLogo a h1{
		font-size: 16px;
	}

	.footer_logo{
		width: 254px;
	}

	.btn{
		display: block;
		margin: 0 auto;
	}

	/* --------------------------------
	* Top ページ
	----------------------------------- */

	.mv-txt{
		padding-bottom: 40px;
	}

	.mv-txt h2{
		font-size: 48px;
		padding-bottom: 20px;
	}

	.mv-txt h2 span:nth-of-type(2){
		padding-left: 80px;
	}

	.mv-txt h2 span:first-of-type{
		width: 100px;
		height: 60px;
		top: 0;
	}

	.mv-txt h2 span:first-of-type svg{
		width: 100%;
		height: auto;
	}

	.mv-txt p{
		font-size: 14px;
	}

	.mv-shape{
		width: 80px;
		position: absolute;
		right: 20px;
		top: -30px;
	}

	.mv-img .img{
		height: 320px;
		background-position: center;
	}

	.sec01{
		padding-bottom: 120px;
	}

	.sec01 .inner_l{
		display: flex;
		flex-direction: column-reverse;
	}


	.sec01-l{
		width: 100%;
		padding-top: 30px;
	}

	.sec01-l h2{
		font-size: 38px;
	}

	.sec01-l p{
		padding-left: 0;
		padding-top: 30px;
	}

	.sec01-r{
		width: 100%;
	}

	.sec02{
		padding-top: 40px;
		padding-bottom: 60px;
	}

	.sec02-listItem:not(:last-of-type){
		padding-bottom: 60px;
	}

	.sec02-listTtl{
		margin-bottom: 30px;
		padding-bottom: 10px;
	}

	.sec02-listTtl .num{
		font-size: 80px;
	}

	.reverse{
		flex-direction: row-reverse;
	}

	.sec02-listImg{
		width: 100%;
	}

	.sec02-listTxt{
		width: 100%;
		padding-top: 30px;
	}

	.sec02-listTxt>p{
		padding: 30px 0 40px;
	}

	.sec02-listTxt .btn{
		display: block;
		margin-left: auto;
		width: 246px;
	}

	/* ----------------------------
	* company
	------------------------------- */

	.info-defList{
		padding: 30px 0;
		border-bottom: 1px solid #D9D9D9;
	}


	.info-defTitle{
		width: 100%;
		flex: unset;
	}

	.info-defDesc{
		flex: unset;
		width: 100%;
	}

	.info-defDesc p:not(:last-of-type){
		padding-bottom: 30px;
	}


	.maps-wrapper{
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.maps-wrapper iframe{
		width: 100%;
	}

	/* ----------------------------
	* garden
	------------------------------- */
	.page-mv{
		margin-bottom: 60px;
		padding-bottom: 60px;
	}

	.page-mv .img{
		height: 200px;
		background-position: center;
	}


	.page-mvTxt h2{
		font-size: 32px;
		width: 100%;
	}

	.page-mvTxt p{
		width: 100%;
		padding-top: 30px;
	}

	.section-trouble{
		padding-bottom: 30px;
	}

	.trouble-ttl{
		font-size: 20px;
		padding-left: 30px;
	}

	.trouble-ttl::before{
		width: 20px;
		height: 20px;
	}

	.trouble-list{
		padding-top: 40px;
	}

	.trouble-listItem{
		width: 90%;
		margin: 0 auto;
	}

	.trouble-listItem:nth-of-type(-n+2){
		margin-bottom: 30px;
	}

	.trouble-listItem:not(:last-of-type){
		margin-bottom: 30px;
	}

	.trouble-listImg{
		width: 100%;
	}

	.trouble-listTxt{
		width: 100%;
		padding-top: 20px;
	}

	.trouble-listTxt h3{
		font-size: 16px;
		padding-bottom: 10px;
	}

	.trouble-listTxt p{
		font-size: 14px;
	}

	.video-wrapper{
		width: 100%;
		margin: 0 auto;
	}

	.txt-banner p{
		font-size: 42px;
		font-size: 11.2vw;
	}

	.bottom {
		bottom: -1px;
	}

	.feature-list{
		padding-top: 40px;
	}

	.feature-listItem:not(:last-of-type){
		padding-bottom: 40px;
		margin-bottom: 40px;
	}

	.feature-l{
		width: 100%;
	}

	.feature-r{
		width: 100%;
		padding-top: 30px;
	}

	.feature-txt{
		padding-top: 30px;
	}

	.feature-txt p:not(:first-of-type){
		padding-top: 20px;
	}

	.section-price{
		padding-top: 100px;
	}

	.top{
		top: -1px;
	}

	.price-contents{
		margin-top: 40px;
		padding: 40px 30px;
	}

	.price-l{
		width: 100%;
		text-align: center;
	}

	.price-l p{
		font-size: 24px;
		padding-bottom: 10px;
	}

	.price-r{
		width: 100%;
	}

	.price-r p:first-of-type span{
		font-size: 38px;
	}

	.price-movie p:first-of-type span{
		font-size: 35px;
	}

	.caution{
		padding-top: 20px;
		font-size: 12px;
	}

	.flow_wrapper{
		padding: 40px 30px;
		margin-top: 40px;
	}

	.flow_listItem{
		align-items: flex-start;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	.flow_num{
		width: 13%;
	}

	.flow_num span:first-of-type{
		font-size: 14px;
		line-height: 100%;
	}

	.flow_num span:last-of-type{
		font-size: 24px;
		line-height: 120%;

	}

	.flow_txt{
		padding-top: 8px;
		width: 80%;
	}

	.flow_txt h3{
		font-size: 18px;
	}

	.flow_txt p{
		font-size: 12px;
		padding-top: 20px;
	}
	.page-mv-mo .img{
		background-image: url(../img/movie/mv.png);
	}


}

.contact-banner{
	padding-bottom: 180px;
}

.contact-banner a{
	border-radius: 20px;
	padding: 100px 60px 132px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/common/contact-bg.png);
}

.contact-banner a svg circle,.contact-banner a svg path{
	transition: all .3s;
}

.contact-banner a:hover svg circle{
	fill: #009474;
}

.contact-banner a:hover svg path{
	stroke: #fff;
}

.contact-l h2{
	font-size: 64px;
	font-weight: 100;
	padding-bottom: 10px;
	line-height: 140%;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #fff;
}

.contact-l p{
	font-weight: 600;
	color: #fff;
}

@media screen and (max-width:768px) {

	.contact-banner{
		padding-bottom: 100px;
	}

	.contact-banner a{
		text-align: center;
		padding: 80px 30px;
		background-position: center;
	}

	.contact-l{
		padding-bottom: 40px;
	}

	.contact-l h2{
		font-size: 60px;
		text-align: center;
	}

	.contact-l p{
		text-align: center;
	}

	.contact-r{
		width: 80px;
		height: 80px;
		margin: 0 auto;
	}

	.contact-r svg{
		width: 100%;
		height: 100%;
	}
}