@charset "utf-8";

/*		Contents
---------------------------------------------------------------------------

	HOME							[ / ]
	会社概要						[ /company/ ]
	お問い合わせ					[ /contact/ ]
	プライバシーポリシー			[ /privacy/ ]

------------------------------------------------------------------------ */

/* ========================================================================
	HOME							[ / ]
======================================================================== */
#home h2{
	position:relative;
	font-size:5.5rem;
	font-weight:900;
}

#home h2 img{
	display:block;
	margin:0 auto 14px;
}

#home h2 span:not(.underline){
	color:var(--color_01);
}

@media screen and (max-width:767px){
#home h2{
	font-size:2.4rem;
}

#home h2 img{
	width:216px;
	margin:0 auto 10px;
}
}


/* ------------------------------------------------------------
	box
------------------------------------------------------------ */
#home .box{
	position:relative;
	background:#ffffff;
	border-radius:20px;
}

#home .box h3.head{
	margin:0;
	padding:32px 0;
	background:url(../../img/home/bg_head.png);
	border-radius:20px 20px 0 0;
	font-size:4.4rem;
	font-weight:900;
}

#home .box h3.head span{
	color:#e60012;
}

@media screen and (max-width:767px){
#home .box h3.head{
	padding:16px 20px;
	font-size:2.0rem;
}
}


/* ------------------------------------------------------------
	hero［キービジュアル］
------------------------------------------------------------ */
#home .hero{
	text-align:center;
}

#home .hero .key{
	padding:0 20px;
	background:url(../../img/home/bg_hero.png) no-repeat center;
	background-size:cover;
}

#home .hero p{
	padding:17px 0;
	background:#fff100;
	font-size:4.2rem;
	font-weight:900;
	line-height:4.8rem;
	letter-spacing:0.05em;
}

#home .hero p span.color{
	color:#0ba29a;
}

#home .hero p span.underline{
	background:linear-gradient(transparent 0% 65%, #ff7023 65% 100%, transparent 100% 100%) no-repeat center bottom 6px;
}

@media screen and (max-width:767px){
#home .hero .key{
	margin:0 -10px 0 0;
	padding:0 0 0 10px;
}

#home .hero p{
	padding:16px 20px;
	font-size:2.0rem;
	line-height:2.8rem;
}

#home .hero p span.underline{
	background-position:center bottom 2px;
}
}


/* ------------------------------------------------------------
	service［カウントアップのサービスのご案内］
------------------------------------------------------------ */
#home .service{
	position:relative;
	padding:120px 0;
	background:#fffbe5;
}

#home .service::after{
	content:"";
	position:absolute;
	bottom:-134px;
	left:0;
	border-style:solid;
	border-width:134px 100vw 0px 0px;
	border-color:#fffbe5 transparent transparent transparent;
}

#home .service ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:42px;
}

#home .service ul li{
	overflow:hidden;
	width:372px;
	padding:0 0 24px 0;
	background:#ffffff;
	border:4px solid #0ba29a;
	border-radius:20px;
}

#home .service ul li h3{
	margin:0 0 28px 0;
	padding:16px 0;
	background:url(../../img/home/bg_green03.png);
	font-weight:900;
	color:#ffffff;
}

#home .service ul li p{
	padding:0 20px;
	font-weight:700;
	line-height:3.0rem;
}

#home .service ul li p img{
	display:block;
	margin:0 auto 20px;
}

#home .service ul li p.note{
	padding-bottom:2px;
	font-size:1.6rem;
	line-height:2.4rem;
}

@media screen and (max-width:767px){
#home .service{
	padding:20px 0;
}

#home .service::after{
	bottom:-60px;
	border-width:60px 100vw 0px 0px;
}

#home .service ul{
	display:block;
}

#home .service ul li{
	width:auto;
	margin:0 0 20px 0;
	padding:0 0 20px 0;
}

#home .service ul li h3{
	margin:0 0 20px 0;
}

#home .service ul li p.note{
	font-size:1.4rem;
}
}


/* title
------------------------------------------------------------ */
#home .service .title{
	position:relative;
	text-align:center;
}

#home .service .title > img{
	position:absolute;
	top:-80px;
	left:40px;
}

#home .service .title h2{
	display:inline-block;
	padding:3px 0 4px 0;
}

#home .service .title h2::before,
#home .service .title h2::after{
	content:"";
	position:absolute;
	top:0;
	left:-80px;
	width:54px;
	height:108px;
	background:url(../../img/home/h2_service.png) no-repeat center;
}
#home .service .title h2::after{
	left:auto;
	right:-80px;
	transform:scale(-1, 1);
}

#home .service .title h2 span.size{
	display:block;
	margin:0 0 16px 0;
	font-size:3.0rem;
	color:#333333;
}

#home .service .title h2 span.color{
	color:#0a8478;
}

@media screen and (max-width:767px){
#home .service .title > img{
	display:block;
	position:static;
	width:126px;
	margin:0 auto 20px;
}

#home .service .title h2{
	padding:0;
	line-height:1;
}

#home .service .title h2::before,
#home .service .title h2::after{
	top:0;
	left:-47px;
	width:27px;
	height:54px;
	background-size:cover;
}
#home .service .title h2::after{
	left:auto;
	right:-47px;
}

#home .service .title h2 span.size{
	margin:0 0 10px 0;
	font-size:2.0rem;
}
}


/* ------------------------------------------------------------
	example［カウントアップの事例紹介！］
------------------------------------------------------------ */
#home .example{
	padding:194px 0 254px 0;
	background:url(../../img/home/bg_green01.png) center;
}

#home .example h2{
	padding-top:134px;
	color:#ffffff;
}
#home .example h2 span{ color:var(--color_02); }

#home .example h2::before{
	content:"";
	position:absolute;
	top:0;
	left:28px;
	width:234px;
	height:180px;
	background:url(../../img/home/illust_example01.png) no-repeat center;
}

#home .example ul{
	padding:0 70px 50px;
}

#home .example ul li{
	padding:70px 0;
	background:url(../../img/home/line.png) repeat-x left bottom;
}
#home .example ul li:last-child{
	background:none;
}

#home .example h4{
	display:flex;
	align-items:center;
	position:relative;
	min-height:80px;
	margin:0 0 40px 0;
	padding:0 0 0 45px;
	border-left:9px solid #3baea7;
	font-size:2.6rem;
	font-weight:900;
	line-height:4.0rem;
}

#home .example .flex{
	justify-content:center; 
	gap:20px 60px;
}

#home .example .flex > div{
	width:500px;
	padding:24px 35px 30px;
	background:url(../../img/home/bg_orange.png);
	border-radius:10px;
	text-align:center;
	font-size:2.4rem;
	font-weight:900;
	color:#ffffff;
	line-height:1
}
#home .example .flex .before{
	background:#ededed;
	border:2px solid #e0e0e0;
	color:#333333;
}

#home .example .flex > div > img{
	display:block;
	margin:20px auto 0;
	border:2px solid #ffffff;
}

@media screen and (max-width:767px){
#home .example{
	padding:160px 0 100px 0;
}

#home .example h2{
	padding:0;
}

#home .example h2::before{
	top:-100px;
	left:50%;
	transform:translateX(-50%);
	width:117px;
	height:90px;
	background-size:cover;
}

#home .example ul{
	padding:0 20px;
}

#home .example ul li{
	padding:40px 0;
}

#home .example h4{
	min-height:auto;
	margin:0 0 30px 0;
	padding:6px 0 6px 20px;
	border-left:5px solid #3baea7;
	font-size:1.8rem;
	line-height:2.8rem;
}

#home .example .flex{
	flex-direction:column;
}

#home .example .flex > div{
	width:auto;
	padding:20px;
	font-size:1.8rem;
}
}


/* box
------------------------------------------------------------ */
#home .example .box::before{
	content:"";
	position:absolute;
	top:-164px;
	right:58px;
	width:162px;
	height:272px;
	background:url(../../img/home/illust_example02.png) no-repeat center;
}

@media screen and (max-width:767px){
#home .example .box::before{
	content:none;
}
}


/* ------------------------------------------------------------
	section［お問い合わせ・お見積り・ご相談 随時受付中！］
------------------------------------------------------------ */
#home .section{
	position:relative;
	padding:100px 0 40px 0;
	background:#f1f1f1;
}

#home .section::before,
#home .section::after{
	content:"";
	position:absolute;
	top:-134px;
	left:0;
	border-style:solid;
	border-width:0 0 134px 100vw;
	border-color:transparent transparent #f1f1f1 transparent;
}
#home .section::after{
	top:auto;
	bottom:-134px;
	border-width:134px 100vw 0px 0px;
	border-color:#f1f1f1 transparent transparent transparent;
}

@media screen and (max-width:767px){
#home .section{
	padding:40px 0 20px 0;
}
#home .section::before{
	top:-60px;
	border-width:0 0 60px 100vw;
}
#home .section::after{
	bottom:-60px;
	border-width:60px 100vw 0px 0px;
}
}


/* ------------------------------------------------------------
	solution［『カウントアップ』がお悩み解決！］
------------------------------------------------------------ */
#home .solution{
	padding:308px 0 254px 0;
	background:url(../../img/home/bg_green01.png) center;
}

#home .solution h2{
	margin:0 0 70px 0;
	color:#ffffff;
}
#home .solution h2 span{ color:var(--color_02); }

#home .solution h2::before{
	content:"";
	position:absolute;
	top:-140px;
	left:50%;
	transform:translateX(-50%);
	width:114px;
	height:110px;
	background:url(../../img/home/illust_solution.png) no-repeat center;
}

#home .solution .flex{
	gap:0 60px;
	padding:0 0 75px 0;
}
#home .solution .flex:last-child .block{ order:2; }

#home .solution .flex > img{
	margin:0 0 25px 0;
	border:10px solid #ffffff;
	box-sizing:content-box;
	box-shadow:0 0 9px 0 rgba(149,149,149,0.6);
}

@media screen and (max-width:767px){
#home .solution{
	padding:132px 0 100px 0;
	background:url(../../img/home/bg_green01.png) center;
}

#home .solution h2{
	margin:0 0 42px 0;
}

#home .solution h2::before{
	top:-65px;
	width:57px;
	height:55px;
	background-size:cover;
}

#home .solution .flex{
	display:block;
	padding:0 0 40px 0;
}

#home .solution .flex > img{
	display:block;
	margin:0 auto;
	border:5px solid #ffffff;
	box-sizing:border-box;
}
}


/* box
------------------------------------------------------------ */
#home .solution .box{
	padding:100px 70px 0;
}

#home .solution .box::before{
	content:"";
	position:absolute;
	top:-43px;
	left:50%;
	transform:translateX(-50%);
	border-style:solid;
	border-width:0px 105px 43px 105px;
	border-color:transparent transparent #ffffff transparent;
}

@media screen and (max-width:767px){
#home .solution .box{
	padding:40px 20px 0;
}

#home .solution .box::before{
	top:-22px;
	border-width:0px 50px 22px 50px;
}
}


/* block
------------------------------------------------------------ */
#home .solution .block h3{
	margin:0 0 17px 0;
	padding:22px 0 15px 0;
	border-bottom:2px solid #3baea7;
	text-align:left;
	font-size:3.6rem;
	font-weight:900;
	line-height:4.8rem;
}

#home .solution .block h3 span{
	color:#3baea7;
}

#home .solution .block p{
	margin:0 0 25px 0;
	font-weight:500;
	line-height:3.2rem;
}

#home .solution .block ul{
	margin:0 0 25px 0;
	padding:23px 0 23px 30px;
	background:#fffbbe;
}

#home .solution .block ul li{
	font-size:2.4rem;
	font-weight:900;
	line-height:3.2rem;
}

@media screen and (max-width:767px){
#home .solution .block h3{
	margin:0 0 20px 0;
	padding:0 0 15px 0;
	font-size:2.0rem;
	line-height:3.0rem;
}

#home .solution .block p{
	margin:0 0 20px 0;
}

#home .solution .block ul{
	margin:0 0 20px 0;
	padding:20px;
}

#home .solution .block ul li{
	font-size:2.0rem;
	line-height:2.8rem;
}
}


/* ------------------------------------------------------------
	trouble［こんなお悩みはございませんか？］
------------------------------------------------------------ */
#home .trouble{
	position:relative;
	padding:40px 0 0 0;
	background:#fffbe5;
}

#home .trouble::before{
	content:"";
	position:absolute;
	top:-134px;
	left:0;
	border-style:solid;
	border-width:0 0 134px 100vw;
	border-color:transparent transparent #fffbe5 transparent;
}

#home .trouble h2{
	margin:0 0 70px 0;
}

#home .trouble h2::before{
	content:"";
	position:absolute;
	top:-22px;
	left:50px;
	width:196px;
	height:246px;
	background:url(../../img/home/illust_trouble.png) no-repeat center;
}

#home .trouble > p{
	margin:0 0 50px 0;
	text-align:center;
	font-size:2.8rem;
	font-weight:700;
	line-height:4.8rem;
}

#home .trouble > p span{
	color:#e60012;
}

#home .trouble ul{
	display:flex;
	flex-wrap:wrap;
	gap:54px 56px;
	margin:0 0 90px 0;
}

#home .trouble ul li{
	overflow:hidden;
	display:flex;
	justify-content:space-between;
	position:relative;
	width:572px;
	padding:0 0 0 36px;
	background:#ffffff;
	border:5px solid #3baea7;
	border-radius:20px;
}

#home .trouble ul li > img{
	order:2;
	object-fit:cover;
}

#home .trouble ul li p{
	position:relative;
	padding:30px 0;
	font-size:2.6rem;
	font-weight:700;
	line-height:4.8rem;
}

#home .trouble ul li p span{
	color:#ea5404;
}

@media screen and (max-width:767px){
#home .trouble{
	padding:143px 0 0 0;
}

#home .trouble::before{
	top:-60px;
	border-width:0 0 60px 100vw;
}

#home .trouble h2{
	margin:0 0 30px 0;
}

#home .trouble h2::before{
	top:-143px;
	left:50%;
	margin:0 0 0 -30px;
	width:98px;
	height:123px;
	background-size:cover;
}

#home .trouble > p{
	margin:0 20px 20px;
	font-size:1.8rem;
	line-height:3.8rem;
}

#home .trouble ul{
	display:block;
	margin:0 0 20px 0;
}

#home .trouble ul li{
	align-items:center;
	width:auto;
	margin:0 0 20px 0;
	padding:0 0 0 20px;
}

#home .trouble ul li > img{	
	width:160px;
}

#home .trouble ul li p{
	padding:0;
	margin:0 -3em 0 0;
	font-size:1.8rem;
	line-height:2.8rem;
}
}


/* figure
------------------------------------------------------------ */
#home .trouble figure{
	text-align:center;
}

#home .trouble figure img{
	margin:0 0 -40px 0;
}

#home .trouble figcaption{
	padding:60px 0 65px 0;
	background:url(../../img/home/bg_green01.png) center;
	text-align:center;
	font-size:5.5rem;
	font-weight:900;
	color:#ffffff;
	line-height:1;
}

#home .trouble figcaption span{
	color:#fff100;
}

@media screen and (max-width:767px){
#home .trouble figure{
	padding:0 20px;
}

#home .trouble figure img{
	width:318px;
	margin:0 0 -20px 0;
}

#home .trouble figcaption{
	margin:0 -20px;
	padding:30px 20px;
	font-size:2.4rem;
	line-height:3.2rem;
}
}


/* ------------------------------------------------------------
	reason［カウントアップが選ばれる理由！］
------------------------------------------------------------ */
#home .reason{
	padding:100px 0 254px 0;
}

#home .reason h2 span.underline{
	padding:0 0 0 0.5em;
	background:linear-gradient(transparent 0% 56.25%, #fff100 56.25% 100%, transparent 100% 100%) no-repeat center bottom 6px;
}

#home .reason ul{	
	display:flex;
	gap:0 24px;
	padding:82px 0 0 0;
}

#home .reason ul li{
	position:relative;
	width:384px;
	padding:17px 17px 40px;
	background:url(../../img/home/bg_blue02.png) center;
	border-radius:20px;
}

#home .reason ul li > img{
	display:block;
	margin:0 auto;
	border:5px solid #ffffff;
	border-radius:20px;
	box-sizing:content-box;
}

#home .reason ul li h3{
	margin:0;
	padding:20px 0;
	font-size:2.6rem;
	font-weight:900;
	line-height:3.6rem;
	color:#fff100;
}

#home .reason ul li h3 > img{
	position:absolute;
	top:-82px;
	left:50%;
	transform:translateX(-50%);
}

#home .reason ul li p{
	padding:0 10px;
	font-weight:500;
	color:#ffffff;
	line-height:3.2rem;
}

@media screen and (max-width:767px){
#home .reason{
	padding:40px 0 100px 0;
}

#home .reason h2 span.underline{
	padding:0 0 0 0.5em;
	background-position:center bottom;
}

#home .reason ul{	
	display:block;
	padding:35px 0 0 0;
}

#home .reason ul li{
	width:auto;
	margin:0 0 55px 0;
	padding:20px 20px 40px;
}
#home .reason ul li:last-child{ margin:0; }

#home .reason ul li > img{
	border-radius:10px;
	box-sizing:border-box;
}

#home .reason ul li h3{
	font-size:2.0rem;
	line-height:3.0rem;
}

#home .reason ul li h3 > img{
	top:-35px;
	width:auto;
	height:50px;
}

#home .reason ul li p{
	padding:0;
	line-height:3.0rem;
}
}


/* ------------------------------------------------------------
	contact［お気軽にお問い合わせください］
------------------------------------------------------------ */
#home .contact{
	position:relative;
	padding:54px 0 120px 0;
	background:#15a69e;
}

#home .contact::before{
	content:"";
	position:absolute;
	top:-134px;
	left:0;
	border-style:solid;
	border-width:0 0 134px 100vw;
	border-color:transparent transparent #15a69e transparent;
}

#home .contact::after{
	content:"";
	position:absolute;
	bottom:-164px;
	left:0;
	border-style:solid;
	border-width:164px 100vw 0px 0px;
	border-color:#15a69e transparent transparent transparent;
	z-index:1;
}

#home .contact h2{
	padding-right:140px;
	color:#ffffff;
}
#home .contact h2 span{ color:var(--color_02); }

#home .contact h2 > img{
	position:absolute;
	top:-104px;
	right:30px;
}

@media screen and (max-width:767px){
#home .contact{
	padding:0 0 40px 0;
}

#home .contact::before{
	top:-60px;
	border-width:0 0 60px 100vw;
}
#home .contact::after{
	bottom:-80px;
	border-width:80px 100vw 0px 0px;
}

#home .contact h2{
	padding-right:0;
}

#home .contact h2 > img{
	position:static;
	width:97px;
}
}


/* box
------------------------------------------------------------ */
#home .contact .box{
	box-shadow:0 0 9px 0 rgba(0,126,114,0.6);
}


/* call
------------------------------------------------------------ */
#home .contact .call .flex{
	justify-content:center;
	gap:0 14px;
	margin:0 0 40px 0;
}

#home .contact .call dl{
	width:510px;
	padding:24px 28px 28px;
	background:#ffe8ea;
	border:1px solid #e60012;
}

#home .contact .call dl dt{
	margin:0 0 20px 0;
	text-align:center;
	font-size:3.0rem;
	font-weight:900;
	color:#e60012;
	line-height:1;
}

#home .contact .call dl dd{
	font-size:2.2rem;
	font-weight:700;
	line-height:3.0rem;
}

@media screen and (max-width:767px){
#home .contact .call .flex{
	display:block;
	margin:0;
	padding:0 20px 10px;
}

#home .contact .call dl{
	width:auto;
	margin:0 0 20px 0;
	padding:20px;
}

#home .contact .call dl dt{
	margin:0 0 10px 0;
	font-size:2.0rem;
}

#home .contact .call dl dd{
	display:flex;
	justify-content:center;
	font-size:1.6rem;
}
}


/* -------------------- tel -------------------- */
#home .contact .call .tel{
	padding:42px 0;
	text-align:center;
}

#home .contact .call .tel a{
	display:inline-block;
	font-size:10.5rem;
	color:#e60012;
	line-height:1;
	text-decoration:none;
}

#home .contact .call .tel img{
	margin:0 34px 0 0;
}

@media screen and (max-width:767px){
#home .contact .call .tel{
	padding:30px 0;
}

#home .contact .call .tel a{
	font-size:3.0rem;
}

#home .contact .call .tel img{
	width:30px;
	margin:0 10px 0 0;
}
}


/* common_other
------------------------------------------------------------ */
#home .contact .common_other{
	padding:60px 0 70px 0;
	background:#f1f1f1;
	border-radius:0 0 20px 20px;
}
#home .contact .common_other::before{ content:none; }

@media screen and (max-width:767px){
#home .contact .common_other{
	padding:20px 20px 30px;
}
}


/* ------------------------------------------------------------
	flow［不用品回収の流れ］
------------------------------------------------------------ */
#home .flow{
	position:relative;
	padding:224px 0 60px 0;
	background:#f7f7f7;
}

#home .flow::after{
	content:"";
	position:absolute;
	bottom:-164px;
	left:0;
	border-style:solid;
	border-width:164px 100vw 0px 0px;
	border-color:#f7f7f7 transparent transparent transparent;
}

#home .flow h2::before{
	content:"";
	position:absolute;
	top:48px;
	right:150px;
	width:146px;
	height:138px;
	background:url(../../img/home/illust_flow.png) no-repeat center;
}

#home .flow h3{
	position:relative;
	margin:0;
	padding:24px 0 24px 154px;
	background:url(../../img/home/bg_green02.png) center;
	border-radius:10px;
	text-align:left;
	font-size:3.0rem;
	font-weight:900;
	color:#ffffff;
	line-height:1;
}

#home .flow h3 > span{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:-15px;
	left:16px;
	width:108px;
	height:108px;
	padding:4px 0 0 0;
	background:#ffffff;
	border:5px solid #26ada5;
	border-radius:26px;
	font-size:1.8rem;
	color:#333333;
}

#home .flow h3 span span{
	padding:2px 0 0 0;
	font-size:4.8rem;
}

#home .flow p{
	padding:50px 0 60px 154px;
	font-weight:500;
	line-height:3.2rem;
}

#home .flow ol li{
	position:relative;
}

#home .flow ol li::before{
	content:"";
	position:absolute;
	top:0;
	left:64px;
	width:12px;
	height:100%;
	background:#d5d5d5;
}
#home .flow ol li:last-child::before{ content:none; }

@media screen and (max-width:767px){
#home .flow{
	padding:169px 0 0 0;
}

#home .flow::after{
	bottom:-80px;
	border-width:80px 100vw 0px 0px;
}

#home .flow h2::before{
	top:-89px;
	left:50%;
	transform:translateX(-50%);
	width:73px;
	height:69px;
	background-size:cover;
}

#home .flow h3{
	display:flex;
	align-items:center;
	height:70px;
	padding:0 20px 0 90px;
	font-size:1.8rem;
	line-height:2.6rem;
}

#home .flow h3 > span{
	top:0;
	left:0;
	width:70px;
	height:70px;
	padding:4px 0 0 0;
	border:3px solid #26ada5;
	border-radius:10px;
	font-size:1.6rem;
	line-height:1;
}

#home .flow h3 span span{
	font-size:2.8rem;
}

#home .flow p{
	padding:20px 0 20px 58px;
	line-height:3.0rem;
}

#home .flow ol li::before{
	left:32px;
	width:6px;
}
}


/* ------------------------------------------------------------
	faq［よくあるご質問］
------------------------------------------------------------ */
#home .faq{
	padding:208px 0 260px 0;
	background:url(../../img/home/bg_blue01.png) center;
}

#home .faq h2{ color:#ffffff; }
#home .faq h2 span{ color:var(--color_02); }

#home .faq dl dt,
#home .faq dl dd{
	position:relative;
	margin:0 0 24px 0;
	padding:25px 66px 25px 113px;
	background:#ffffff;
	border-radius:10px;
	font-size:2.6rem;
	font-weight:700;
}
#home .faq dl dt{ cursor:pointer; }
#home .faq dl dd{ display:none; }

#home .faq dl dt::before{
	content:"＋";
	position:absolute;
	top:50%;
	right:20px;
	transform:translateY(-50%);
	margin:-2px 0 0 0;
	color:#2e80c1;
	line-height:1;
}
#home .faq dl dt.close::before{ content:"－"; }

#home .faq dl dt span,
#home .faq dl dd span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:12px;
	left:18px;
	width:65px;
	height:65px;
	background:#004b87;
	border-radius:50%;
	color:#ffffff;
}
#home .faq dl dd span{
	background:#fff100;
	color:#333333;
}

@media screen and (max-width:767px){
#home .faq{
	padding:100px 0 100px 0;
}

#home .faq dl dt,
#home .faq dl dd{
	margin:0 0 20px 0;
	padding:21px 60px 21px 70px;
	font-size:1.8rem;
	line-height:2.8rem;
}
#home .faq dl dt::before{ font-size:2.0rem; }

#home .faq dl dt span,
#home .faq dl dd span{
	top:15px;
	left:15px;
	width:40px;
	height:40px;
}
}


/* ------------------------------------------------------------
	area［対応エリア］
------------------------------------------------------------ */
#home .area{
	position:relative;
	padding:80px 0 120px 0;
	background:#fffbe5;
}

#home .area::before{
	content:"";
	position:absolute;
	top:-164px;
	left:0;
	border-style:solid;
	border-width:0 0 164px 100vw;
	border-color:transparent transparent #fffbe5 transparent;
}

#home .area .inner{
	overflow:hidden;
	background:#ffffff;
	border:5px solid #26ada5;
	border-radius:20px;
}

#home .area h2{
	margin:0;
	padding:33px 0;
	background:url(../../img/home/bg_green02.png) center;
	font-size:4.4rem;
	color:#ffffff;
}

#home .area figure{
	display:flex;
	align-items:flex-start;
	padding:26px 65px 26px 55px;
}

#home .area figcaption{
	position:relative;
	width:452px;
	margin:124px 0 0 58px;
	padding:38px 0 38px 66px;
	background:#e8e8e8;
	border-radius:20px;
	font-size:2.6rem;
	font-weight:700;
	line-height:4.6rem;
}

#home .area figcaption::before{
	content:"";
	position:absolute;
	top:52px;
	left:-30px;
	border-style:solid;
	border-width:17px 30px 17px 0;
	border-color:transparent #e8e8e8 transparent transparent;
}

@media screen and (max-width:767px){
#home .area{
	padding:40px 20px;
}

#home .area::before{
	top:-80px;
	border-width:0 0 80px 100vw;
}

#home .area .inner{
	padding:0;
}

#home .area h2{
	padding:20px 0;
	font-size:2.0rem;
}

#home .area figure{
	display:block;
	padding:30px 20px 40px;
}

#home .area figure > img{
	display:block;
	margin:0 auto 20px;
}

#home .area figcaption{
	display:flex;
	justify-content:center;
	width:auto;
	margin:0;
	padding:20px;
	border-radius:10px;
	font-size:1.8rem;
	line-height:2.8rem;
}
#home .area figcaption::before{ content:none; }
}


/* ========================================================================
	会社概要						[ /company/ ]
======================================================================== */
#company .inner > section{
	padding:0 0 120px 0;
}

@media screen and (max-width:767px){
#company .inner > section{
	padding:0 0 60px 0;
}
}


/* ------------------------------------------------------------
	greeting
------------------------------------------------------------ */
#company .greeting .flex > img{
	order:2;
	margin:0 0 0 60px;
}

#company .greeting .flex p{
	font-size:2.4rem;
	font-weight:500;
	line-height:4.4rem;
}

@media screen and (max-width:767px){
#company .greeting .flex{
	display:block;
}

#company .greeting .flex > img{
	display:block;
	margin:0 auto 20px;
}

#company .greeting .flex p{
	font-size:1.8rem;
	line-height:3.8rem;
}
}


/* ------------------------------------------------------------
	overview
------------------------------------------------------------ */
#company .overview .table{
	margin:0 0 120px 0;
	font-size:2.4rem;
	line-height:4.4rem;
}

@media screen and (max-width:767px){
#company .overview h3{
	margin-bottom:20px;
}

#company .overview .table{
	margin:0 0 40px 0;
	font-size:1.6rem;
	line-height:2.6rem;
}
}


/* map
------------------------------------------------------------ */
#company .overview .map{
	overflow:hidden;
	border-radius:20px;
}

@media screen and (max-width:767px){
#company .overview .map iframe{
	width:100%;
	height:300px;
}
}


/* ========================================================================
	お問い合わせ					[ /contact/ ]
======================================================================== */
#contact{
	padding:0 0 60px 0;
}

#contact p{
	margin:0 0 60px 0;
	line-height:3.8rem;
}

@media screen and (max-width:767px){
#contact{
	padding:0 0 30px 0;
}

#contact p{
	margin:0 0 30px 0;
	line-height:3.2rem;
}
}


/* ------------------------------------------------------------
	table
------------------------------------------------------------ */
#contact .table .must{
	margin:0 0 0 0.5em;
	vertical-align:bottom;
	font-size:1.4rem;
	color:#dd0000;
}

#contact .table .size{
	width:200px;
}

#contact .table th{
	padding:38px 40px;
}

#contact .table ul li{
	display:flex;
	align-items:center;
	margin:0 0 20px 0;
}
#contact .table ul li:last-child{ margin:0; }

#contact .table ul li input{
	margin:0 0 0 20px;
}

@media screen and (max-width:767px){
#contact .table th{
	padding:15px 20px;
}

#contact .table ul li{
	margin:0 0 10px 0;
}

#contact .table label{
	line-height:3.8rem;
}
}


/* ------------------------------------------------------------
	privacy
------------------------------------------------------------ */
#contact .privacy{
	margin:0 0 40px 0;
	text-align:center;
}

#contact .privacy p{
	margin:0 0 20px 0;
}

#contact .privacy label{
	font-size:2.0rem;
	font-weight:500;
	line-height:4.0rem;
}

@media screen and (max-width:767px){
#contact .privacy{
	margin:0 0 30px 0;
}

#contact .privacy label{
	font-size:1.8rem;
	line-height:3.8rem;
}
}


/* ------------------------------------------------------------
	error
------------------------------------------------------------ */
#contact .error{
	margin:0 0 60px 0;
	text-align:center;
}

#contact .error p{
	margin:0;
	font-weight:500;
	color:#dd0000;
}

@media screen and (max-width:767px){
#contact .error{
	margin:0 0 30px 0;
}
}


/* ------------------------------------------------------------
	thanks
------------------------------------------------------------ */
@media screen and (max-width:767px){
#contact .thanks p{
	text-align:left;
}
}


/* ========================================================================
	プライバシーポリシー			[ /privacy/ ]
======================================================================== */
#privacy dl{
	padding:0 0 80px 0;
	line-height:3.2rem;
}

#privacy dl dt{
	font-weight:700;
}

#privacy dl dd{
	margin:0 0 40px 0;
}

@media screen and (max-width:767px){
#privacy dl{
	padding:0 0 30px 0;
}

#privacy dl dd{
	margin:0 0 30px 0;
}
}